LMS에서 간단히 언급만 되었던 퍼셉트론을 다루겠다.[인공지능 개론(한빛 미디어) 참조)



퍼셉트론은 신경망의 가장 간단한 형태로 위의 단층 퍼셉트론은 아래와 같은 식으로 표현할 수 있다.

○퍼셉트론의 목적

-입력의 분류(임계값을 넘는가 아닌가)

퍼셉트론을 이용하여 외부자극 x1,x2,...,xn을 두 개의 클래스 A1과 A2로 분류한다.

기본적인 퍼셉트론은 초평명(hyperplane)으로 n차원 공간을 두 개의 결정 영역으로 나눈다.

즉, 아래 식을 선형 분리함수로 정의할 수 있다.



아래의 그림을 보자

오른쪽 그림을 보면 초평명이 무엇을 의미하는지 직관적으로 알 수 있다. 왼쪽의 그림에서는 두 클래스를 나누는 선이 초평면이 된다. 초평면에 대한 식도 함께 게재되어 있다.


단층퍼셉트론의 분류 작업의 학습순서는 아래와 같다.

1.

목표값과 입력에 대한 출력값의 오차


2.

퍼셉트론의 학습 규칙(perceptron learning rule)


4.초기화

초기 가중치 w1~wn과 임계값 θ를 [-0.5,0.5]구간의 임의의 값으로 설정


5.활성화

입력에 대한 출력을 적용한 퍼셉트론의 활성화 함수


5.가중치 학습

매 반복마다의 가중치 갱신 rule


○퍼셉트론의 한계

에폭(epoch)을 반복한 학습 및 연산을 하여 AND, OR에 대한 수렴된 가중치를 구할 수 있다. 그러나 Exclusive-OR(XOR)연산자는 단층 퍼셉트론으로 학습할 수 없다. 단층 퍼셉트론은 어디까지나 선형 분리(linearly separable)만 가능하다. And, Or은 선형분리 이지만 비선형분리인 XOR은 학습할 수 없는 것이다.



'지능제어' 카테고리의 다른 글

역전파 알고리즘(BackPropagation)  (0) 2014.10.27
다층신경망[개념]  (0) 2014.10.26
LMS(Linear Mean Square) Algorithm  (0) 2014.10.26
신경회로망 간단개요  (0) 2014.10.26
인공신경망(1)  (0) 2014.10.06




1.Alpha-LMS algorithm의 에러정정 규칙

-현재 입력패턴에 대한 네트워크 출력의 에러를 수정한다.

-Alpha-LMS algorithm : Alpha-Linear mean square


k step에서 x1~xn까지의 입력이 들어오고 각 입력에 대하여 Wik의 가중치가 적용된다. 이들의 합에 대하여 계단함수를 통과하기 전에 목표값인 desiredY(Yd)와의 차이로 k step에서의 오차값 ε을 구한다.


 

dk는 k스탭에서의 목표값 Yd이고 sk는 k스탭에서의 각 가중치 Wik와 입력 Xik의 곱의 합이다. 따라서 해당 스탭에서의 오차 εk를 좌측식과 같이 나타낼 수 있다.


가중보정치△Wk는 좌측 맨 아래의 식과 같다.여기서 Alpha는 학습률을 뜻한다.이 학습률이 높을수록 결과도출에 걸리는 반복수는 줄어들겠지만 수렴하지 못하고 발산하는 경우도 있기 때문에 적절한 학습률의 선정이 필요하다.


가중보정치식을 보면 학습률과 오차ε는 공통이지만 각 입력에 대하여 

만큼 차등적용하고 있음을 알 수 있다.



2.Perceptron rule



 

 앞선 LMS와 다른것은

1.가중치보정식

2.가중치 보정식에 들어가는 sk가 yk가 되었다.

이 yk는 sk가 계단함수를 통과하면서 산출된다.


3. u-LMS Algorithm/ gradient descent algorithm

steepest descent algorithm이라고도 불리우는 이것은 함수 최적화 방법 중 하나이다. 미분의 개념을 최적화 문제에 적용한 방법중 하나로 함수의 local minimum을 찾는 방법중 하나이다.


네이버 백과사전을 찾아보면 아래와 같이 설명해준다.

gradient descent : 기울기 하강

현재의 위치에서 기울기(또는 근사 기울기)에 비례하여 단계적으로 함수의 최소 또는 최대값에 접근하는 점근적인 언덕 오르기(hill climbing)알고리즘


다른 블로그의 설명을 빌려보자

울창한 밀림에서 산 정상으로 가려면 어떻게 해야할까? 현재 위치에서 가장 경사가 가파른 방향으로 산을 오르다 보면 도달하게 되어있다. 반대로 깊은 골짜기로 가려면 가장 가파른 내리막 방향으로 내려가면 될것이다.

이처럼 어떤 함수의 극대점을 찾기 위해 현재 위치에서의 gradient 방향으로 이동해 가능 방법을 의미한다.




local minimum, local maximum을 찾아가는 알고리즘이며 에러가 최소가 되는 값을 찾아 가지만 최적을 해를 찾는다고는 보장할 수 없다.


u-LMS adaptation/ 기울기 적응

u-LMS 알고리즘은 미분의 개념과 통계의 기대값을 사용하므로, Alpha와는 다르게 오차제곱인 e^2가 0으로 수렴하는 것에 대한 모델식을 세워 해결해 나갈 수 있다.




우리는 이 오차제곱이 0으로 수렴하기를 기대하며 통계적으로 표현하면 아래와 같이 된다.


여기서 dk는 목표값으로 미리 알고있는 값이며 Xk역시 시간에 따른 함수의 형태를 나타낼 때 그 기대값을 추정할 수 있다. 우리가 모르며 알아내야 하는 값은 W가 되겠지.

오차제곱의 기대값을 J라고 하자.

u-LMS에서 가중치 W에 따른 기울기의 극소값을 찾아야 한다.

미소시간의 오차제곱의 기대값 J는 0인것이 이상적이고 그때의 가중치를 W*라 하자. 그때의 W*식은 위와 같다.


예시)






결과 가중치 W*를 적용시킨 그래프와 목표값의 그래프가 일치함을 알 수 있다.


'지능제어' 카테고리의 다른 글

역전파 알고리즘(BackPropagation)  (0) 2014.10.27
다층신경망[개념]  (0) 2014.10.26
퍼셉트론[개념]  (0) 2014.10.26
신경회로망 간단개요  (0) 2014.10.26
인공신경망(1)  (0) 2014.10.06

생각해보자



목표출력 Yd(Y-desire)가 있다. 입력 Xi를 넣고 목표출력 Yd를 출력하기를 바라지만 그러기 위한 중간층의 연산이 어떻게 이루어져야 하는지 모른다. 출력을 위한 입력에 따른 중간연산을 어떻게 구할 수 있을까?


우리는 어떤 목표가 있고 이를 위한 정답을 모를 때, 실험과 오차를 반복해나가며 정답을 찾아나갈 수 있다. 이와 비슷하게 입력과 목표출력이 정해졌을 때 이를 위한 중간연산을 설정하고 이에 대한 Try&Error를 반복해나가며 가중치 W를 수정해나가 정답에 가까운 W를 찾아나간다.





'지능제어' 카테고리의 다른 글

역전파 알고리즘(BackPropagation)  (0) 2014.10.27
다층신경망[개념]  (0) 2014.10.26
퍼셉트론[개념]  (0) 2014.10.26
LMS(Linear Mean Square) Algorithm  (0) 2014.10.26
인공신경망(1)  (0) 2014.10.06

+ Recent posts