신경망 (Neural Networks) (Lecture Note #23)
-
Upload
kalia-cantrell -
Category
Documents
-
view
140 -
download
0
description
Transcript of 신경망 (Neural Networks) (Lecture Note #23)
1
신경망 신경망 (Neural Networks)(Neural Networks)(Lecture Note #23)(Lecture Note #23)
인공지능2002 년 2 학기
이복주단국대학교 컴퓨터공학과
Modified from the slidesby SciTech Media
2
OutlineOutline
개요 Biological Motivation 역사 정의 및 특징 종류 Hopfield NN Perceptron 다층 perceptron 경쟁 학습 Self Organizing Map ART NN 응용
3
단층 퍼셉트론 단층 퍼셉트론 (Perceptron)(Perceptron) 눈의 망막을 모델화함 (Rosenblatt) 지도학습 , 이진 & 아날로그 입력처리 알고리즘 : 전체 출력뉴런들에 대하여 계산된 출력값과
목표값과의 차이를 최소화시킴 (Widrow-Hoff 규칙 ( 델타규칙 ) 이 유명 )
만일 계산된 출력값과 목표값 간에 차이가 없으면 연결 가중치는 변경되지 않으며 , 차이가 있으면 차이를 줄이는 방향으로 가중치를 변경 .
학습단계– 1 단계 . 가중치 (Wi(0)) 와 임계치 () 를 초기화 .– 2 단계 . 새로운 입력패턴 (X0, X1, … ) 과 목표출력 패턴 (d(t)) 을 제시– 3 단계 . 하드리미터 함수를 사용하여 실제 출력값 (y(t)) 을 계산
– 4 단계 . 가중치를 갱신
– 5 단계 . 2 단계로 분기하여 반복 수행
1
0))()(()(
N
i iih tXtWfty
)10(),()]()([)1( NitXtytdWtW iii
4
단층 퍼셉트론 단층 퍼셉트론 (Perceptron)(Perceptron) AND, XOR 예제
– 뉴런에 입력되는 가중치의 합이 임계치를 초과하면 1, 아니면 0– AND
– 을 만족하는 W0, W1 은 ? W0 = 0.4, W1 = 0.2– f 함수의 경우 : W0 = -0.3, W1 = 0.6
= 0.5
X0
X1
W0
W1
출력Y
입력
출력입력
X0 X1 AND f
0 0 0 0
0 1 0 1
1 0 0 0
1 1 1 0
5.0115.0015.0105.0000
1010
010
110
10
WWWWWWWWWW
WW
XOR
0
1
1
0
5
단층 퍼셉트론 단층 퍼셉트론 (Perceptron)(Perceptron)
– XOR 의 경우
→ 만족하는 W0, W1 는 존재하지 않음 → 간단한 XOR 문제도 해결하지 못함
5.0115.0015.0105.0000
1010
010
110
10
WWWWWWWWWW
WW
6
단층 퍼셉트론 단층 퍼셉트론 (Perceptron)(Perceptron)
OR 예제– 임계치 에 대한 다른 view: 그림 9.9
• y(t) = fh(i=0..NWi(t)Xi(t)), WN(t) = , XN(t) = -1
– 1 단계 : 가중치 임의로 초기화• W0 = 0.2, W1 = -0.1, W2 ( 즉 ) = 0.3
– 2 단계 : 패턴 제시 , W 계산• X = (0, 0, -1), d = 0• X = (0, 1, -1), d = 1• X = (1, 0, -1), d = 1• X = (1, 1, -1), d = 1
– 3 단계 : W0 = 0.2, W1 = 0.1, W2 = 0.1 얻음)10(),()]()([)1( NitXtytdWtW iii
7
단층 퍼셉트론 단층 퍼셉트론 (Perceptron)(Perceptron)
프로그램 (p. 241)
8
단층 퍼셉트론 단층 퍼셉트론 (Perceptron)(Perceptron)
선형 분리성 (linear separability): 그림 9.10– (a) 2X0 + X1 = 2.5
이러한 문제를 해결하기 위해서 2 개 또는 3 개의 층 (layer) 을 사용– 다층 퍼셉트론 : 3 층 퍼셉트론으로 어떤 문제도 해결가능– 퍼셉트론은 다층 퍼셉트론 및 오류역전파 알고리즘의 기반 모델이
됨
9
다층 퍼셉트론 다층 퍼셉트론 (Multi-Layer Perceptron)(Multi-Layer Perceptron)
입력층과 출력층 사이에 하나 이상의 은닉층을 가지는 전방향 신경회로망
단층 퍼셉트론의 문제점을 해결 → 효과적인 학습 알고리즘이 없어서 60-70 년대 사용되지 않았다
80 년대 중반 오류 역전파 (EBP) 알고리즘 학습규칙 (Rumelhart) → 일반화된 델타 규칙 (generalized delta rule) 알고리즘 : 원하는 목표값 (d) 과 실제 출력값 (o) 사이의
오차제곱합으로 정의된 비용함수 (cost function) E 의 값을 경사하강추적법 (gradient-descent method) 에 의해 최소화 하는 방향으로 학습
))(2
1(,
2 j
pjpjpp
p odEEE
p: p 번째 학습 패턴
Ep: p 번째 패턴에 대한 오차
dpj: p 번째 패턴에 대한 j 번째 요소
opj: 실제 출력의 j 번째 요소
10
다층 퍼셉트론다층 퍼셉트론
2 층 퍼셉트론
0 k M-1
0 j L-1
0 i N-1
………… …………
………… …………
임계치
임계치
Xp0 Xpi XpN-1
Wji
Wkj k
j
Opj
Opk
pk
pj
dpk
11
다층 퍼셉트론다층 퍼셉트론
학습 규칙– 활성화 함수 : 시그모이드 함수
• f(x) = 1/(1+e-x)
– 1 단계 . 가중치와 임계치를 초기화– 2 단계 . 입력과 목표 출력을 제시
12
다층 퍼셉트론다층 퍼셉트론
– 3 단계 . 제시된 입력벡터를 이용하여 은닉층 j번째 뉴런으로 입력값 계산
– 4 단계 . 시그모이드 함수를 사용하여 은닉층의 출력 (Opj)을 계산
• Opj = fj(netpj)
1
0
N
i jpijipj XWnet
0 k M-1
0 j L-1
0 i N-1
………… …………
………… …………
임계치
임계치
Xp0 Xpi XpN-1
Wji
Wkj k
j
Opj
Opk
pk
pj
dpk
13
다층 퍼셉트론다층 퍼셉트론
– 5 단계 . 은닉층의 출력을 이용하여 출력층 뉴런 k 로의 입력값을 계산
– 6 단계 . 시그모이드 함수를 사용하여 출력층의 출력 (Opk)을 계산
• Opk = fk(netpk)
1
0
L
j kpjkjpk OWnet
0 k M-1
0 j L-1
0 i N-1
………… …………
………… …………
임계치
임계치
Xp0 Xpi XpN-1
Wji
Wkj k
j
Opj
Opk
pk
pj
dpk
14
다층 퍼셉트론다층 퍼셉트론
– 7 단계 . 입력패턴의 목표출력 (dpk) 과 실제 출력 (Opk) 과의 오차값 (pk) 을 계산하고 출력층 오차합 (E) 을 학습패턴의 오차 (Ep) 로 누적 시킨다 .
)(,
)1()()()(1
1
2
'
M
k pkpp
pkpkpkpkpkkpkpkpk
EEEE
OOOdnetfOd
0 k M-1
0 j L-1
0 i N-1
………… …………
………… …………
임계치
임계치
Xp0 Xpi XpN-1
Wji
Wkj k
j
Opj
Opk
pk
pj
dpk
15
다층 퍼셉트론다층 퍼셉트론
– 8 단계 . 출력층 오차값 (pk) 과 은닉층과 출력층의 가중치값 (Wkj) 을 이용하여 은닉층의 오차 (p
j) 를 계산한다 .
)1()(1
0
1
0
'pjpjkj
M
k pkkj
M
k pkpjjpj OOWWnetf
0 k M-1
0 j L-1
0 i N-1
………… …………
………… …………
임계치
임계치
Xp0 Xpi XpN-1
Wji
Wkj k
j
Opj
Opk
pk
pj
dpk
16
다층 퍼셉트론다층 퍼셉트론
– 9 단계 . 4 단계와 7 단계에서 구한 은닉층 뉴런 j 의 출력값 (Opj) 과 출력층의 오차 값 (pk) 을 사용하여 출력층의 가중치(Wkj) 를 갱신한다( 임계치도 조정 )
pkkk
pjpkkjkj
ttOtWtW
)()1()()1(
0 k M-1
0 j L-1
0 i N-1
………… …………
………… …………
임계치
임계치
Xp0 Xpi XpN-1
Wji
Wkj k
j
Opj
Opk
pk
pj
dpk
17
다층 퍼셉트론다층 퍼셉트론
– 10 단계 . 출력층에서와 마찬가지로 입력층과 은닉층의 가중치 값과 임계치값을 갱신한다 .
pjjj
pipjjiji
ttXtWtW
)()1()()1(
0 k M-1
0 j L-1
0 i N-1
………… …………
………… …………
임계치
임계치
Xp0 Xpi XpN-1
Wji
Wkj k
j
Opj
Opk
pk
pj
dpk
18
다층 퍼셉트론다층 퍼셉트론
– 11 단계 . 모든 학습패턴에 대하여 전부 학습 할 때까지 2단계로 분기하여 반복 수행한다 .
– 12 단계 . 출력층의 오차합 E 가 허용값 이하이거나 최대 반복회수보다 크면 종료 , 그렇지 않으면 2 단계로 가서 반복한다 .
19
다층 퍼셉트론다층 퍼셉트론
XOR 를 풀 수 있는 2 층 퍼셉트론의 예 : 그림 9.13
– X1 = 1, X2 = 0 일 때 출력 • f(x) = 1/(1+e-x)• 숨김 neuron 의 출력 : 1/(1+ e6.4 + 2.2) = a• 출력 neuron 의 출력 : 1/(1+e4.2 +9.4*a + 6.3) = 0.877 1 에 근사하므로 1 이 출력된다고 봄
20
다층 퍼셉트론다층 퍼셉트론
XOR 문제를 풀기 위한 2 층 퍼셉트론 디자인 : 그림 9.12
– 초기치는 그림처럼 설정됨– 입력 = (1, 1), 목표 출력 = 0 일 때 임계치와 가중치
• O4 = O5 = 1• O2 = 1/(1+ e-(0.2*1 + 0.3*1 + 0.1*(-1)) = 0.6• O3 = 1/(1+ e-((-0.1)*1 + 0.1*1 + (-0.2)*(-1)) = 0.55• O1 = 1/(1+ e-(0.2*0.6 + (-0.3*0.55) + 0.4*(-1)) = 0.391 1 = (dpk – Opk)Opk(1-Opk) = (0-0.391)*0.391*(1-0.391)= -0.093 2 = k=0..M-1pkWkjOpj(1-Opj) = (-0.093)*0.2*0.6*(1-0.6) = -0.004 3 = (-0.093)*(-0.3)*0.55*(1-0.55) = 0.007
21
다층 퍼셉트론다층 퍼셉트론
• Wkj(t+1) = Wkj(t) + pkOpj • W12 = 0.2 + 0.3*(-0.093)*0.6 = 0.2 – 0.017 = 0.183• W13 = -0.3 + 0.3*(-0.093)*0.55 = -0.3 – 0.315 = -0.315• Wji(t+1) = Wji(t) + pjOpi • W24 = 0.2 + 0.3*(-0.004)*1 = 0.2 – 0.001 = 0.199• W25 = 0.3 + 0.3*(-0.004)*1 = 0.3 – 0.001 = 0.299• W34 = -0.1 + 0.3*0.007*1 = 0.1 + 0.002 = -0.098• W35 = 0.1 + 0.3*0.007*1 = 0.1 + 0.002 = 0.102
22
다층 퍼셉트론다층 퍼셉트론 예제 9.5: y = 0.5(cos(8x) + sin(4x) –x + 0.8) 인 시스템
– 입력 값을 0.1 에서 0.95 까지 변화 시키면서 출력 관측 후 얻어진 데이터 이용하여 퍼셉트론 학습
• Internal layer 에 6 개의 뉴론을 배치
– 학습된 퍼셉트론이 위의 함수와 같은 행동을 보이는지 조사– 그림 9.14: (a) 1000 회 (d) 20000 회
– Function approximation
23
다층 퍼셉트론다층 퍼셉트론
예제 9.5: y = 0.5(cos(8x) + sin(4x) –x + 0.8) 인 시스템 ( 계속 )– 20000 번 반복 후 얻어진 퍼셉트론 : 그림 9.15
• 학습에 사용 안된 0.23 을 입력 : 0.547 출력 실제 함수값 =0.55
24
다중 퍼셉트론다중 퍼셉트론
특징– 실수 데이터 학습– 학습에 사용되지 않은 데이터에도 근사값 출력
오류역전파 (error backpropagation) 개념– 은닉층의 학습을 위해 출력층에서 발생한 오류를 이용하여 은닉층
오차계산– 다시 이 값을 입력층으로 역전파시켜 출력층의 오차가 원하는
수준이 될 때까지 반복 문제점
– 결과 해가 최적 보장 안됨• Local optimum vs. global optimum• 이유 : 경사하강 추적 ( 그림 9.16)
25
다층 퍼셉트론다층 퍼셉트론 문제점 ( 계속 )
– 신경망 구조에 대한 기준 없음• 몇 개의 은닉층 , 은닉층에서 몇 개의 뉴런• 너무 적으면 학습 능력 떨어짐• 너무 많으면 학습 시간 오래 걸림 ; overfitting 문제
– 초기 가중치 문제– 학습률– 데이터의 개수– 상위층의 목표값과 실제 출력값 간의 오류를 하위층으로 역전파시키는 것은 생물학적으로 타당하지 않음 ( 목표를 알지 못함 )
– 오류 수렴까지 많은 회수의 학습 반복 실제 적용시 고려사항
– 최소평균제곱 비용함수의 국부 최적해를 위해 뉴런수를 증가– 이득항 (, ) 을 낮출 필요 있음– 초기 가중치를 다르게 하여 여러 번 학습하는 방법
지도학습에서 효율성 나타냄 → 보편적으로 많이 사용
26
SummarySummary
개요 Biological Motivation 역사 정의 및 특징 종류 Hopfield NN Perceptron 다층 perceptron 경쟁 학습 Self Organizing Map ART NN 응용