Neural network Perceptron과 ADALINE

Perceptron 이란?

frank rosenblatt 박사가 1950년 발표한 내용으로 McCulloch-pitts 모델의 확장 개념이다.
통계적으로 구분된 이론이다.(확률적, 거시적)

photo perceptron의 예

photo perceptron의 예

Perception Convergence Theorem

두개의 패턴을 학습하는 과정에서, 유한번의 사이클 내에 두 개의 패턴을 구분할 수 있다.

perceptron learning algorithm

여기서 N과 P는 각각 Negative, Positive를 의미한다.
P와 N에서 랜덤하게 벡터를 뽑아서 Weight와 곱해준 값이
P의 경우 Positive 해 질때 까지 계속 덧셈을 하고
N의 경우 Negative 해 질때까지 계속 뺄셈을 하여 Positive 하고 Negative 함을 맞추어 준다.

problems in perceptron (single layer) - XOR 문제

single layer perceptron에서는 XOR 함수를 만족하는 weight를 찾을 수 없는 문제가 발생한다.

problems in perceptron

problems in perceptron2

problems in perceptron3

하이퍼 플레인과 hidden node

하이퍼 플레인이란 n차 공간에서 TLU(Threshold Logic Unit)역할을 하는 n-1차 공간이다.

hidden node란 xor 문제를 해결하는 mid-layer들을 의미한다.

하이퍼 플레인과 hidden node

multi layer perceptron을 이용한 XOR 문제의 해결

멀티레이어 퍼셉트론을 이용하여 XOR 문제를 해결할 수 있다.
multi layer perceptron solving XOR Problems

weight vector는 왜 hyper plane과 수직을 이루는가?

weight vector는 hyper plane과 수직을 이룬다.

weight vector is perpendicular to hyper plane

ADALINE(ADAptive LInear NEuron)이란 무엇이며 perceptron 과의 차이점은 무엇인가?

ADALINE이란 adaptive signal processing을 수행한다.

다음과 같은 면에서 perceptron과 차이점을 가진다.

  1. dc 바이어스와 그에 대한 weight가 포함되어 있다.
  2. perceptron은 0, +1의 출력을 가지는데 반해 -1 +1의 bipolar 출력을 가진다.
  3. TLU가 단지 선형함수이다.

perceptron and ADALINE

ADALINE

ALC: Adaptive Linear Combiner
adaline

Least Mean Squares(LMS)

L개의 입력값을 통한 출력값과 L개의 desired output을 비교하여 mean of square error가 가장 작은 weights를 구한다.

ADALINE LMS

solution
ADALINE LMS Solution

RLMS(Relative Least Mean Squares)

학습되어야 할 데이터의 숫자가 증가하거나 벡터의 사이즈가 증가하는 경우에 문제가 생긴다.
모호한 방정식을 풀어야 하거나, 방정식의 개수가 weight보다 많은 경우 문제가 생긴다.
또한 inverse matrix를 구해야 하는 경우도 문제가 되는데, 데이터의 숫자가 많아짐에 따라 Determination이 0이 되는 값이 있을 수 있다.
이 경우 LMS를 줄여주는 방향으로 weight를 스스로 변화시키는 방법으로 weight를 조절해 갈 수 있는데 이를 RLMS라고 한다.

RLMS image

RLMS process

Neural network 설계 프로세스

perceptron의 경우 TLU가 non-linear하기 때문에 계산하기 어려우므로 ADALINE을 이용한다.

1. 학습되어야 할 데이터쌍이 몇개인가?
문제의 복잡도에 따라 다르다. 학습되어야 할 데이터가 많을 수록 더 많은 learning cycle을 필요로 한다.
neural net의 저장용량에 따라 cross-talk 없이 효과적인 학습과 재현이 가능해야 한다.
최종적으로, incremental learning이 필요하다.

2. 각 학습 입력쌍의 기대되는 출력값은 무엇인가?
GMP(Genralized Modus Ponens)와 밀접한 관련이 있다.
학습 쌍이 학습 알고리즘 상의 weight에 저장되어 있다면, 같은 입력 패턴이 들어갔을ㄷ대 반드시 같은 결과 패턴이 나와야 한다.

3. weight vector의 차원은 무엇이며 초기 추측값은 무엇인가?
센서의 개수와 잘 정의된 입력값에 관계가 있다.
초기 추측값은 랜덤하게 선택하거나 대충 선택한다.

4. bias weight이 필요한가? 필요하다면 언제 필요한가?
어떤 필터에서는 필요가 없다.
hyper plane이 원점과 거리가 매우 멀다면 필요하다.

5. pattern의 통계적 성질이 시간에 따라 변하면 어떠한가?
일반적으로 시간에 따른 변수들의 통계적 특성이 불변한다고 가정한다.
만약에 변한다면 학습 주기는 처음부터 다시 시작되어야 한다.

incremental learning을 한다면 하나의 패턴쌍을 제거할 수 있는가? 어떤것이 변하는가?

6. learning coefficient 적합한 값은 얼마인가?
학습계수는 최저값과 최고값이 있어야 한다. 학습에서 이 크기는 매우매우 중요하다.
작은 학습계수는 학습의 수렴이 천천히 일어나게 하고, 큰 학습 계수는 가끔 매우 긴 수렴 주기로 가게 하거나 혹은 발산하게 할 수 있다.

learning coefficient

7. learning cycle의 종료 규칙을 어떻게 정하는가?
출력 조건과 관련이 있다. 만약 기대값과 실제 출력값이 허용치 안에서 계속 머문다면 학습 주기를 종료한다.


angular와 nodejs를 활용한 socket.io 사용하기 Neural Network의 기본 개념

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×