역전파 10

자기조직화지도(SOM, Self-Organizing Map)

자기조직화지도(SOM, Self-Organizing Map)는 인공신경망(Artificial Neural Network)의 한 종류로, 비지도 학습을 통해 입력 데이터를 시각적으로 표현하고, 그 데이터의 특성에 따라 유사한 패턴을 그룹화하는 데 사용된다. 이 기법은 주로 데이터의 차원을 축소하거나, 데이터를 클러스터링할 때 활용된다. 이를 처음 제안한 사람은 핀란드의 코호넨(Teuvo Kohonen) 교수이며, SOM을 '코호넨 지도(Kohonen Map)'라고 부르기도 한다.논문: Self-Organized Formation of Topologically Correct Feature Maps 주요 특징 및 원리:비지도 학습: SOM은 입력 데이터에 대한 레이블이 없을 때 사용된다. 즉, 지도 학습처럼 ..

인공지능 구현을 위해 기본적인 질문들

1. 신경망에서 운영 중에 노드들을 어떻게 신규로 연결할까?인간의 뇌는 학습을 통해 뉴런 간의 연결이 강화된다. 여기에는 어떤 법칙이 존재할까? SOM에서 제기하는 주변 뉴런의 활성화 방법은 참고가 될만 하다. 2. 역전파없이 어떻게 학습할까?대부분의 신경망은 역전파를 이용하여 훌륭하게 결과를 내고 있다. 하지만 우리의 뇌에는 이러한 역전파는 없을 것 같다. 그럼 어떻게 역전파없이 학습을 할 수 있을까? 이와 비슷한 신경망으로 BM(볼츠만 모델)이 있기는 하지만 아직까지는 초기 단계라서 아직 성공여부를 알 수 없다. 3. 시간에 따라 연속적인 데이터를 처리하는 모델은 무엇일까?우리의 뇌는 시간에 따라 들어오는 연속적인 데이터를 처리하고 학습한다. 아직까지 이런 모델의 신경망은 없는 것 같다. 4. 여러 ..

RNN을 자세히 이해하기

RNN을 좀더 자세히 이해하기 위해 간단한 RNN 신경망을 구성해 보았다. 아래 RNN 신경망은 두개의 입력을 순차적으로 받는 신경회로이다. 1. 순전파순전파 시 사용하는 활성화함수는 tanh를 사용하고 출력을 위해 softmax를 사용하는 예이다. 2. 손실함수손실함수는 Cross-Entropy를 이용한다.3. 역전파가장 중요한 역전파 기울기를 계산해야 한다.RNN에서는 가중치를 3개(U, V, W)를 사용하므로 3개의 가중치에 대한 편미분을 구해야 한다.계산된 가중치는 아래와 같다.1) V로 미분하기2) W로 미분하기3) U로 미분하기이렇게 구해진 방정식을 이용하여 U, V, W의 가중치를 조정할 수 있다.다음에는 이를 이용해서 구현을 해보도록 하겠다.

컴퓨터공학/RNN 2024.08.29

손실함수(loss function)

손실함수(loss function)는 신경망(또는 다른 머신러닝 모델)에서 모델의 예측값과 실제 값 간의 차이를 측정하는 함수이다. 이 함수는 모델이 얼마나 잘 수행하고 있는지를 정량적으로 평가하기 위해 사용된다. 모델의 출력이 실제 값과 얼마나 가까운지를 평가하여, 모델의 파라미터를 업데이트하고 최적화하는 과정에서 중요한 역할을 한다.손실함수의 역할신경망에서 학습이 이루어지는 과정은 다음과 같다.예측(Prediction): 신경망은 주어진 입력 데이터를 바탕으로 예측값을 생성한다.손실 계산(Calculate Loss): 손실함수는 예측값과 실제 값(타겟) 간의 차이를 계산한다. 이 값이 클수록 모델의 예측이 부정확한 것이다.역전파(Backpropagation): 손실함수의 값을 최소화하기 위해 역전파 ..

컴퓨터공학/NN 2024.08.28

Forward-Forward Algorithm

Forward-Forward Algorithm(FF)은 딥러닝 및 인공지능 연구 분야에서 새로운 훈련 방법으로 제안된 알고리즘 중 하나이다. 주로 전통적인 역전파(Backpropagation) 알고리즘의 대안으로 연구되고 있다.전통적인 역전파에서는 순전파->역전파의 과정을 거치므로 역전파라는 실재 뇌에서는 존재하지 않을 것 같은 과정을 거치게 된다.반면 FF의 경우 손실계산을 위해 순전파를 사용하므로 좀더 적절?해 보일 수 있다. 다만 현재의 FF로는 역시 불필요한? 순전파가 있고 현재의 손실보정율이 역전파에 비해 떨어지는 문제가 있다.다만 딥러닝에 있어 역전파 외에도 순전파가 가능하다는 점을 보여주었고 향후 두번째 순전파를 손실보정과 결과출력, 손실계산을 동시에 사용한다면 좀더 좋은 모델이 되지 않을까..

컴퓨터공학/NN 2024.08.16

역전파(Backpropagation)

역전파(Backpropagation)는 인공 신경망에서 사용되는 핵심 알고리즘으로, 신경망의 가중치(weight)를 학습시키는 데 사용된다. 역전파 알고리즘은 신경망의 출력과 실제 값 사이의 오차를 기반으로 가중치를 업데이트하여 신경망의 성능을 향상시키는 과정이다.  이 과정을 통해 기존 퍼셉트온의 XOR미해결 문제를 해결할 수 있었다.1. 기본 개념신경망은 여러 개의 층(layer)으로 구성되어 있으며, 각 층에는 여러 개의 뉴런(neuron)이 있다. 각 뉴런은 입력 값을 받아 가중치와 곱한 후 비선형 활성화 함수를 통해 다음 층으로 전달한다. 신경망의 학습 과정은 주어진 입력에 대해 원하는 출력 값을 만들어내기 위해 가중치를 조정하는 과정이다.2. 순전파(Forward Propagation)입력 데..

컴퓨터공학/NN 2024.08.15

다층 퍼셉트론(MLP, Multi-Layer Perceptron)

다층 퍼셉트론(MLP, Multi-Layer Perceptron)은 인공 신경망의 한 형태로, 여러 개의 퍼셉트론 층으로 구성되어 있다. MLP는 입력층, 하나 이상의 은닉층, 출력층으로 이루어져 있으며, 각 층은 다수의 노드(뉴런)로 구성된다. MLP는 단순한 퍼셉트론으로 해결할 수 없는 비선형 문제(XOR 문제)를 해결할 수 있도록 고안되었다.다층 퍼셉트론의 구조입력층(Input Layer):네트워크의 첫 번째 층으로, 각 노드는 입력 데이터를 받아들인다. 이 층은 단순히 데이터를 다음 층으로 전달하는 역할을 한다.은닉층(Hidden Layers):하나 이상의 은닉층으로 구성될 수 있으며, 각 은닉층은 여러 개의 노드로 구성된다. 은닉층의 노드는 입력 데이터를 처리하고 특징을 추출하는 역할을 한다.은..

컴퓨터공학/NN 2024.08.06

NN(Neural Network)이란

인공 신경망(Neural Network)은 인간의 뇌에서 영감을 받아 개발된 계산 모델로, 데이터 패턴을 학습하고 인식하는 데 사용된다. 인공 신경망은 다양한 문제를 해결할 수 있는 유연한 모델로, 이미지 인식, 자연어 처리, 음성 인식 등 여러 분야에서 뛰어난 성능을 발휘한다. 신경망의 기본 개념, 구조, 작동 원리 및 주요 구성 요소를 설명하겠다. 인공 신경망의 기본 개념인공 신경망은 여러 개의 노드(뉴런)로 구성된 네트워크로, 입력 데이터를 처리하여 출력 값을 생성한다. 신경망은 데이터로부터 패턴을 학습하여 예측, 분류, 회귀 등의 작업을 수행한다.신경망의 구조입력층(Input Layer):네트워크의 첫 번째 층으로, 입력 데이터를 받아들인다. 입력층의 노드 수는 입력 데이터의 특성 수와 같다.은닉..

컴퓨터공학/NN 2024.08.05