뉴로 컴퓨터 개론 제 13 장 제 13 장 오류 역전파 알고리즘 제 13 장 오류 역전파 알고리즘.

Download Report

Transcript 뉴로 컴퓨터 개론 제 13 장 제 13 장 오류 역전파 알고리즘 제 13 장 오류 역전파 알고리즘.

뉴로 컴퓨터 개론
제 13 장
1
제 13 장
오류 역전파 알고리즘
2
제 13 장 오류 역전파 알고리즘
차례
13.1 BP 알고리즘
13.2 학습인자
3
제 13 장 오류 역전파 알고리즘
BP 알고리즘
4
오류 역전파 알고리즘
BP 알고리즘
Error Back Propagation
 순방향 다층 신경망의 학습
 다양한 분야에 널리 활용
5
제 13 장 오류 역전파 알고리즘
BP 알고리즘
순방향 다층 신경망
입력층
은닉층
v
x1
z1
출력층
w
y1
.
.
xi
.
.
xn
1
zj
yk
zp
ym
1
6
제 13 장 오류 역전파 알고리즘
BP 알고리즘
은닉층의 출력
NETz 
Z 
XV T
f ( NETz )
1

1  e  NETz
7
제 13 장 오류 역전파 알고리즘
BP 알고리즘
출력층의 출력
NETy
 ZW T
y 
f ( NETy )
1

 NET y
1 e
8
제 13 장 오류 역전파 알고리즘
BP 알고리즘
BP 알고리즘 학습 절차(1)
단계 1 연결 강도 초기화 및 학습 패턴쌍 선정
단계 2 학습률과 오차의 한계치 결정
단계 3 학습 패턴 입력
단계 4 은닉층의 출력 구함
단계 5 출력층의 출력 구함
단계 6 목표치와 출력을 비교하여 오차 계산
9
제 13 장 오류 역전파 알고리즘
BP 알고리즘
BP 알고리즘 학습 절차(2)
단계 7 출력층의 오차 신호 구함
단계 8 은닉층에 전파되는 오차 신호 구함
단계 9 출력층과 은닉층의 연결 강도 변경
단계 10 학습 패턴쌍 반복 입력하여 연결 강도 변경
단계 11 오차가 특정 범위보다 작아지면 학습 종료
10
제 13 장 오류 역전파 알고리즘
BP 알고리즘
오차 신호
출력층의 오차 신호
 y  d  yy1 y
은닉층의 오차 신호
m
 z  z1  z    y w
I 1
11
제 13 장 오류 역전파 알고리즘
BP 알고리즘
연결 강도 변경
출력층의 연결 강도 갱신
W   y Z
Wk 1  Wk  W
은닉층의 연결 강도 갱신
V   z X
Vk 1  Vk  V
12
제 13 장 오류 역전파 알고리즘
BP 학습 알고리즘(1)
BP 알고리즘
Step 1 : Initialize weights and counter
V, W  small random value
p  number of training pattern pairs
k1
E0
Step 2 : Set learning rate  and Emax
Step 3 : For each training pattern pair
do Step 4-10 until k = p
Step 4 : Compute output of hidden layer
NETz  XV T
1
Z 
1  e  NETz
13
제 13 장 오류 역전파 알고리즘
BP 알고리즘
BP 학습 알고리즘(2)
Step 5 : Compute output
NETy  ZW T
1
y 
 NETy
1 e
Step 6 : Compute output error
1
2
E  d  y   E
2
Step 7 : Compute error signal of output layer
 y  d  y y1  y 
Step 8 : Compute error signal of hidden layer
m
 z  z1  z   zW
i 1
14
제 13 장 오류 역전파 알고리즘
BP 알고리즘
BP 학습 알고리즘(3)
Step 9 : Update weights
W  W   y Z
V  V   z X
Step 10 : Increase counter and goto Step 3
k  k 1
Step 11 : Test stop condition
If E  Emax stop
else, E  0 and goto Step 3
15
제 13 장 오류 역전파 알고리즘
두 클러스터 분류하는 3계층 신경망의
BP 알고리즘 학습
학습 패턴 A를 입력할 때의 오차는?
BP 알고리즘
초기 연결 강도
0.1 0.2  0.5
V 

0
.
3
0
.
1

0
.
3


W  0.1 0.2
16
제 13 장 오류 역전파 알고리즘
BP 알고리즘
3계층 신경망과 학습 패턴
연결 강도
입력층
x1
x2
x3
0.1
0.3
0.2
0.1
-0.5
-0.3
A
B
C
D
V
은닉층 연결 강도출력층
z1
W
0.1
0.2
y
z2
-1 (클러스터 1)
+1 (클러스터 2)
+1 (클러스터 2)
-1 (클러스터 1)
17
제 13 장 오류 역전파 알고리즘
BP 알고리즘
은닉층 첫 번째 뉴런의 출력
NET  XV T
 0.1
 0 0 1  0.2


 0.5 
  0.5
z1  f  NET 
1

1  e  NET
1

1  e 0.5
 0.38
18
제 13 장 오류 역전파 알고리즘
BP 알고리즘
은닉층 두 번째 뉴런의 출력
NET  XV
T
 0.3
 0 0 1  0.1


 0.3
  0.3
1
z2 
1  e 0.3
 0.43
19
제 13 장 오류 역전파 알고리즘
BP 알고리즘
출력층 뉴런의 최종 출력
NET  ZWT
0.1
 0.38 0.43  
0.2
 0.12
1
y 
1  e 0.12
 0.53
20
제 13 장 오류 역전파 알고리즘
BP 알고리즘
패턴 A의 오류
1
2
E  d  y 
2
1
2
  1  0.53
2
 1.17
21
제 13 장 오류 역전파 알고리즘
BP 알고리즘
학습 패턴 A를 입력할 때
은닉층과 출력층간의 연결 강도 변화량은?
학습률 1
입력층
x1
x2
x3
연결 강도
0.1
0.3
0.2
0.1
-0.5
-0.3
A
B
C
D
V
은닉층 연결 강도출력층
z1
W
0.1
0.2
y
z2
-1 (클러스터 1)
+1 (클러스터 2)
+1 (클러스터 2)
-1 (클러스터 1)
22
제 13 장 오류 역전파 알고리즘
BP 알고리즘
출력층의 오차 신호
출력층의 출력
은닉층의 출력
y = 0.53
Z = [0.38 0.43]
학습 패턴 A의 목표치
d = -1
 y  d  y  y  1  y 
  1  0.53  0.53   1  0.53
  0.38
23
제 13 장 오류 역전파 알고리즘
은닉층과 출력층간의
연결 강도 변화량
BP 알고리즘
은닉층의 출력
Z = [0.38 0.43]
출력층의 오차 신호
y = -0.38
W  a y Z
 1  0.38  0.38 0.43
  0.14  0.16
24
제 13 장 오류 역전파 알고리즘
학습 패턴 A를 입력할 때
BP 알고리즘
입력층과 은닉층간의 연결 강도 변화량은?
학습률 1
연결 강도
입력층
x1
x2
x3
0.1
0.3
0.2
0.1
-0.5
-0.3
A
B
C
D
V
은닉층 연결 강도출력층
z1
W
0.1
0.2
y
z2
-1 (클러스터 1)
+1 (클러스터 2)
+1 (클러스터 2)
-1 (클러스터 1)
25
제 13 장 오류 역전파 알고리즘
은닉층의 첫 번째 뉴런에 전파되는
오차 신호
출력층의 오차 신호
y = -0.38
은닉층의 출력
Z = [0.38 0.43]
BP 알고리즘
z  z1 1  z1  y w1
 0.38  1  0.38   0.38  0.1
  0.01
26
제 13 장 오류 역전파 알고리즘
은닉층의 첫 번째 뉴런의
연결 강도 변화량
BP 알고리즘
V  a z X
 1  0.01  0 0 1
 0 0  0.01
27
제 13 장 오류 역전파 알고리즘
은닉층의 두 번째 뉴런에 전파되는
오차 신호
출력층의 오차 신호
y = -0.38
은닉층의 출력
Z = [0.38 0.43]
BP 알고리즘
 z  z 2 1  z 2  y w2
 0.43  1  0.43   0.38  0.2
  0.02
28
제 13 장 오류 역전파 알고리즘
은닉층의 두 번째 뉴런의
연결 강도 변화량
BP 알고리즘
V  z X
 1  0.02 0 0 1
 0 0  0.02
29
제 13 장 오류 역전파 알고리즘
BP 알고리즘
모멘텀 BP 알고리즘
연결 강도 변화량 Vk , Wk
Vk   z X  Vk 1
Wk   z Z  Wk 1
α 학습률
β 모멘텀 상수
z 은닉층의 오차 신호 y 출력층의 오차 신호
30
제 13 장 오류 역전파 알고리즘
학습 인자
31
학습 인자
학습 인자

초기 연결 강도

신경망의 구조

학습 패턴

학습률
32
제 13 장 오류 역전파 알고리즘
학습 인자
초기 연결 강도

일반적으로 –0.5 ~+0.5 범위의 값

오차의 국부 최소점
33
제 13 장 오류 역전파 알고리즘
학습 인자
오차의 국부 최소점
오차
E
A
C
D
B
Emin
연결 강도
W
W1
W2
W
34
제 13 장 오류 역전파 알고리즘
학습 인자
신경망의 구조

신경망을 구성하는 뉴런 수가 많으면
연결 강도 수가 많아져서 학습 느림

입출력층의 뉴런 수는 응용 분석시 결정

최적의 은닉층 뉴런 수 결정이 중요
35
제 13 장 오류 역전파 알고리즘
학습 인자
신경망의 연결 강도 수
전체 연결 강도 수
nppm
n 입력층의 뉴런수
p 은닉층의 뉴런수
m 출력층의 뉴런수
36
제 13 장 오류 역전파 알고리즘
학습 인자
입력 패턴의 표현
X1
X2
X3
x1 x2 x3 x4 x5 x6 x7 x8 x9
ㄱ : X 1  1 1 1 0 0 1 0 0 1 
ㄴ : X 2  1 0 0 1 0 0 1 1 1 
ㄷ : X 3  1 1 1 1 0 0 1 1 1 
37
제 13 장 오류 역전파 알고리즘
학습 인자
출력 패턴의 표현
ㄱ : d1 
ㄴ : d 
2
ㄷ : d3 
1
0
0
0 0
1 0
0 1
ㄱ : d1  [ 0 1]
ㄴ : d 2  [1 0]
ㄷ : d 3  [1 1 ]
38
제 13 장 오류 역전파 알고리즘
학습 인자
한글 인식 3계층 신경망(1)
입력층 63개 뉴런
은닉층 20개 뉴런
출력층
5개 뉴런
ㄱ
ㄴ
ㄷ
ㄹ
ㅁ
: d1  1 0 0 0 0
: d 2  0 1 0 0 0
: d 3  0 0 1 0 0
: d 4  0 0 0 1 0
: d 5  0 0 0 0 1
39
제 13 장 오류 역전파 알고리즘
학습 인자
한글 인식 3계층 신경망(2)
입력층
은닉층
y1
x1
z1
x2
y2
y3
z20
x63
출력층
y4
y5
40
제 13 장 오류 역전파 알고리즘
학습 인자
한글 인식 3계층 신경망(3)
입력층 63개 뉴런
은닉층 20개 뉴런
출력층
3개 뉴런
ㄱ
ㄴ
ㄷ
ㄹ
ㅁ
: d1 
: d2 
: d3 
: d4 
: d5 
0
0
0
1
1
0 1
1 0
1 1
0 0
0
1
41
제 13 장 오류 역전파 알고리즘
학습 인자
한글 인식 3계층 신경망(4)
입력층
은닉층 출력층
x1
x2
y1
z1
y2
z20
x63
y3
42
제 13 장 오류 역전파 알고리즘
학습 인자
학습 패턴
E. Baum과 D. Haussler 이론
N
p 
1 a
p 학습 패턴의 수
a 정확도
N 연결 강도의 수
 양극성 데이터를 사용하면 학습이 빠름
43
제 13 장 오류 역전파 알고리즘
학습 인자
학습률
 일반적으로 0.001∼10 값 사용
 학습률이 크면 학습이 빠름
 학습률이 작으면 학습이 느림
44
제 13 장 오류 역전파 알고리즘