단층 퍼셉트론(Perceptron)
눈의 망막을 모델화함(Rosenblatt)
지도학습, 이진 & 아날로그 입력처리
알고리즘 : 전체 출력뉴런들에 대하여 계산된 출력값과 목표값과의 차이를 최소화시킴(Widrow-Hoff 규칙(델타규칙)이 유명)
→만일 계산된 출력값과 목표값간에 차이가 없으면 연결 가중치는 변경되지 않으며,차이가 있으면 차이를 줄이는 방향으로 가중치를 변경.
학습단계
1단계. 가중치(Wi(0))와 임계치()를 초기화.
2단계. 새로운 입력패턴(X0, X1, … )과 목표출력 패턴(d(t))을 제시
3단계. 하드리미터 함수를 사용하여 실제 출력값(y(t))을 계산
4단계. 가중치를 갱신
5단계. 2단계로 분기하여 반복 수행
10
( ) ( ) )
( )
(
Ni i i
h
W t X t
f t
y
) 1 0
( ), ( )]
( ) ( [ )
1
( t W d t y t X t i N
W
i i
i AND, XOR 예제
뉴런에 입력되는 가중치의 합이 임계치를 초과하면 1, 아니면 0
AND
→
W
0, W
1:
0.3 or 0.4 = 0.5 X
0X
1W
0W
1Y
출력 입력출력 입력
X
0X
1AND XOR 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0
5 . 0 1
1
5 . 0 0
1
5 . 0 1
0
5 . 0 0
0 0
1 0
1 0
0 1
0
1 1
0
1 0
W W
W W
W W
W
W W
W
W
W
XOR의 경우
→ 만족하는
W
0, W
1 는 존재하지 않음 → 간단한 XOR 문제도 해결하지 못함 이러한 문제를 해결하기 위해서 2개 또는 3개의 층(layer)을 사용
다층 퍼셉트론: 3층 퍼셉트론으로 어떤 문제도 해결가능
퍼셉트론은 다층 퍼셉트론 및 오류역전파 알고리즘의 기반 모델이 됨
5
. 0 1
1
5 . 0 0
1
5 . 0 1
0
5 . 0 0
0 0
1 0
1 0
0 1
0
1 1
0
1 0
W W
W W
W W
W
W W
W
W
W
입력층과 출력층 사이에 하나 이상의 은닉층을 가지는 전방향 신경 회로망
단층 퍼셉트론의 문제점을 해결 → 효과적인 학습 알고리즘이 없어 서 60-70년대 사용되지 않았다.
80년대 중반 오류 역전파(EBP)알고리즘 학습규칙(Rumelhart) → 일반화된 델타 규칙(generalized delta rule)
알고리즘 : 원하는 목표값(d)과 실제 출력값(o) 사이의 오차제곱합으 로 정의된 비용함수(cost function) E의 값을 경사하강추적법
(gradient-descent method)에 의해 최소화 하는 방향으로 학습
) ) 2 (
( 1
,
2
j
pj pj
p p
p
E d o
E E
p: p번째 학습 패턴
E
p: p번째 패턴에 대한 오차
d
pj: p번째 패턴에 대한 j번째 요소
o
pj: 실제 출력의 j번째 요소
2층 퍼셉트론
0 k M-1
0 j L-1
0 i N-1
…… ……
…… ……
임계치
임계치
X
p0X
piX
pN-1W
jiW
kj
k
j 학습 규칙(초기화->전방향진행->오류역전파에 의한 수정->제어) 활성화 함수: 시그모이드 함수
1단계. 가중치와 임계치를 초기화 2단계. 입력과 목표 출력을 제시
3단계. 제시된 입력벡터를 이용하여 은닉층 j번째 뉴런으로 입력값 계산
4단계. 시그모이드 함수를 사용하여 은닉층의 출력(Opj)을 계산 5단계.은닉층의 출력을 이용하여 출력층 뉴런 k로의 입력값을 계산
6단계. 시그모이드 함수를 사용하여 출력층의 출력(Opk)을 계산
7단계. 입력패턴의 목표출력(dpk)과 실제 출력 (Opk) 과의 오차값(pk)을 계 산하고 출력층 오차합(E)을 학습패턴의 오차(Ep)로 누적 시킨다.
10 N
i ji pi j
pj
W X
net
10 L
j kj pj k
pk
W O
net
) (
,
) (
) (
1 1
2 '
M
k pk
p p
pk k
pk pk
pk
E E
E E
net f
O d
8단계. 출력층 오차값(pk)과 은닉층과 출력층의 가중치값(Wkj)을 이용하여 은닉층의 오차(pj)를 계산한다.
9단계. 4단계와 7단계에서 구한 은닉층 뉴런 j의 출력값(Opj)과 출력층의 오차 값(pk)을 사용하여 출력층의 가중치(Wkj)를 갱신한다(임계치도 조 정)
10단계. 출력층에서와 마찬가지로 입력층과 은닉층의 가중치 값과 임계치 값을 갱신한다.
11단계. 모든 학습패턴에 대하여 전부 학습 할 때까지 2단계로 분기하여 반복 수행한다.
12단계. 출력층의 오차합 E가 허용값 이하이거나 최대 반복회수보다 크면 종료, 그렇지 않으면 2단계로 가서 반복한다.
kj M
k pk
pj j
pj
f net
1W
0
'
( )
pk k
k
pj pk kj
kj
t t
O t
W t
W
) ( )
1 (
) ( )
1 (
pj j
j
pi pj
ji ji
t t
X t
W t
W
) ( )
1 (
) ( )
1
(
오류역전파(error backpropagation) 개념
은닉층의 학습을 위해 출력층에서 발생한 오류를 이용하여 은닉층 오차 계산
다시 이 값을 입력층으로 역전파시켜 출력층의 오차가 원하는 수준이 될 때까지 반복
실제 적용시 고려사항
최소평균제곱 비용함수의 국부 최적해를 위해 뉴런수를 증가
이득항(, )을 낮출 필요 있음
초기 가중치를 다르게 하여 여러 번 학습하는 방법
문제점
상위층의 목표값과 실제 출력값 간의 오류를 하위층으로 역전파시키는 것은 생물학적으로 타당하지 않음 (목표를 알지 못함)
오류 수렴까지 많은 회수의 학습 반복
지도학습에서 효율성 나타냄 → 보편적으로 많이 사용
다층망 예제
함수 근사화(function approximation) 문제 (예제 9.5)
x NN
) 8 . 0 4
sin 8
(cos 5
.
0
x x x
y
y
0 .1 0 .2 0 .3 0 .4 0 .5 0 .6 0 .7 0 .8 0 .9
0 0 .1 0 .2 0 .3 0 .4 0 .5 0 .6 0 .7 0 .8 0 .9
F u n c tio n A p p ro x im a tio n
In p u t
Output:-,Target:+
0 .1 0 .2 0 .3 0 .4 0 .5 0 .6 0 .7 0 .8 0 .9
0 0 .1 0 .2 0 .3 0 .4 0 .5 0 .6 0 .7 0 .8 0 .9 1
F u n c tio n A p p ro x im a tio n
In p u t
Output:-,Target:+
0 .1 0 .2 0 .3 0 .4 0 .5 0 .6 0 .7 0 .8 0 .9
0 0 .1 0 .2 0 .3 0 .4 0 .5 0 .6 0 .7 0 .8 0 .9
F u n c tio n A p p ro x im a tio n
In p u t
Output:-,Target:+
주어진 데이터로 1,000회학습후
10,000회학습후 20,000회학습후
-1.05
x y
1.34
-8.43 11.02
3.22 11.23
1.67
0.27 7.54 -2.09 -2.63 -6.67 1.53