1 / 26

신경망 (Neural Networks) (Lecture Note #23)

Modified from the slides by SciTech Media. 신경망 (Neural Networks) (Lecture Note #23). 인공지능 2002 년 2 학기 이복주 단국대학교 컴퓨터공학과. Outline. 개요 Biological Motivation 역사 정의 및 특징 종류 Hopfield NN Perceptron 다층 perceptron 경쟁 학습 Self Organizing Map ART NN 응용. 단층 퍼셉트론 (Perceptron).

Download Presentation

신경망 (Neural Networks) (Lecture Note #23)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Modified from the slides by SciTech Media 신경망 (Neural Networks)(Lecture Note #23) 인공지능 2002년 2학기 이복주 단국대학교 컴퓨터공학과

  2. Outline • 개요 • Biological Motivation • 역사 • 정의 및 특징 • 종류 • Hopfield NN • Perceptron • 다층 perceptron • 경쟁 학습 • Self Organizing Map • ART • NN 응용

  3. 단층 퍼셉트론 (Perceptron) • 눈의 망막을 모델화함 (Rosenblatt) • 지도학습, 이진 & 아날로그 입력처리 • 알고리즘: 전체 출력뉴런들에 대하여 계산된 출력값과 목표값과의 차이를 최소화시킴 (Widrow-Hoff 규칙(델타규칙)이 유명) • 만일 계산된 출력값과 목표값 간에 차이가 없으면 연결 가중치는 변경되지 않으며, 차이가 있으면 차이를 줄이는 방향으로 가중치를 변경. • 학습단계 • 1단계. 가중치(Wi(0))와 임계치()를 초기화. • 2단계. 새로운 입력패턴(X0, X1, … )과 목표출력 패턴(d(t))을 제시 • 3단계. 하드리미터 함수를 사용하여 실제 출력값(y(t))을 계산 • 4단계. 가중치를 갱신 • 5단계. 2단계로 분기하여 반복 수행

  4. 단층 퍼셉트론 (Perceptron) • AND, XOR 예제 • 뉴런에 입력되는 가중치의 합이 임계치를 초과하면 1, 아니면 0 • AND • 을 만족하는 W0, W1은? W0 = 0.4, W1 = 0.2 • f 함수의 경우: W0 = -0.3, W1 = 0.6 입력 출력 X0 X1 AND f XOR X0 W0 0 0 0 0 0  = 0.5 Y 0 1 0 1 1 입력 출력 1 0 0 0 1 X1 W1 1 1 1 0 0

  5. 단층 퍼셉트론 (Perceptron) • XOR의 경우 → 만족하는 W0, W1는 존재하지 않음 → 간단한 XOR 문제도 해결하지 못함

  6. 단층 퍼셉트론 (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 얻음

  7. 단층 퍼셉트론 (Perceptron) • 프로그램 (p. 241)

  8. 단층 퍼셉트론 (Perceptron) • 선형 분리성 (linear separability): 그림 9.10 • (a) 2X0 + X1 = 2.5 • 이러한 문제를 해결하기 위해서 2개 또는 3개의 층(layer)을 사용 • 다층 퍼셉트론: 3층 퍼셉트론으로 어떤 문제도 해결가능 • 퍼셉트론은 다층 퍼셉트론 및 오류역전파 알고리즘의 기반 모델이 됨

  9. 다층 퍼셉트론 (Multi-Layer Perceptron) • 입력층과 출력층 사이에 하나 이상의 은닉층을 가지는 전방향 신경회로망 • 단층 퍼셉트론의 문제점을 해결 → 효과적인 학습 알고리즘이 없어서 60-70년대 사용되지 않았다 • 80년대 중반 오류 역전파 (EBP) 알고리즘 학습규칙(Rumelhart) → 일반화된 델타 규칙 (generalized delta rule) • 알고리즘: 원하는 목표값(d)과 실제 출력값(o) 사이의 오차제곱합으로 정의된 비용함수(cost function) E의 값을 경사하강추적법(gradient-descent method)에 의해 최소화 하는 방향으로 학습 dpj: p번째 패턴에 대한 j번째 요소 opj: 실제 출력의 j번째 요소 p: p번째 학습 패턴 Ep: p번째 패턴에 대한 오차

  10. 다층 퍼셉트론 • 2층 퍼셉트론 Opk dpk 0 k M-1 …… …… pk Wkj k Opj 임계치 0 j pj L-1 j 임계치 Wji 0 i N-1 …… …… Xp0 Xpi XpN-1

  11. 다층 퍼셉트론 • 학습 규칙 • 활성화 함수: 시그모이드 함수 • f(x) = 1/(1+e-x) • 1단계. 가중치와 임계치를 초기화 • 2단계. 입력과 목표 출력을 제시

  12. 다층 퍼셉트론 • 3단계. 제시된 입력벡터를 이용하여 은닉층 j번째 뉴런으로 입력값 계산 • 4단계. 시그모이드 함수를 사용하여 은닉층의 출력(Opj)을 계산 • Opj = fj(netpj) Opk dpk 0 k M-1 …… …… pk Wkj k Opj 임계치 0 j pj L-1 j 임계치 Wji 0 i N-1 …… …… Xp0 Xpi XpN-1

  13. 다층 퍼셉트론 • 5단계. 은닉층의 출력을 이용하여 출력층 뉴런 k로의 입력값을 계산 • 6단계. 시그모이드 함수를 사용하여 출력층의 출력(Opk)을 계산 • Opk = fk(netpk) Opk dpk 0 k M-1 …… …… pk Wkj k Opj 임계치 0 j pj L-1 j 임계치 Wji 0 i N-1 …… …… Xp0 Xpi XpN-1

  14. 다층 퍼셉트론 Opk dpk • 7단계. 입력패턴의 목표출력(dpk)과 실제 출력 (Opk) 과의 오차값(pk)을 계산하고 출력층 오차합(E)을 학습패턴의 오차(Ep)로 누적 시킨다. 0 k M-1 …… …… pk Wkj k Opj 임계치 0 j pj L-1 j 임계치 Wji 0 i N-1 …… …… Xp0 Xpi XpN-1

  15. 다층 퍼셉트론 • 8단계. 출력층 오차값(pk)과 은닉층과 출력층의 가중치값(Wkj)을 이용하여 은닉층의 오차(pj)를 계산한다. Opk dpk 0 k M-1 …… …… pk Wkj k Opj 임계치 0 j pj L-1 j 임계치 Wji 0 i N-1 …… …… Xp0 Xpi XpN-1

  16. 다층 퍼셉트론 • 9단계. 4단계와 7단계에서 구한 은닉층 뉴런 j의 출력값(Opj)과 출력층의 오차 값(pk)을 사용하여 출력층의 가중치(Wkj)를 갱신한다(임계치도 조정) Opk dpk 0 k M-1 …… …… pk Wkj k Opj 임계치 0 j pj L-1 j 임계치 Wji 0 i N-1 …… …… Xp0 Xpi XpN-1

  17. 다층 퍼셉트론 Opk dpk • 10단계. 출력층에서와 마찬가지로 입력층과 은닉층의 가중치 값과 임계치값을 갱신한다. 0 k M-1 …… …… pk Wkj k Opj 임계치 0 j pj L-1 j 임계치 Wji 0 i N-1 …… …… Xp0 Xpi XpN-1

  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-1pkWkjOpj(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. Summary • 개요 • Biological Motivation • 역사 • 정의 및 특징 • 종류 • Hopfield NN • Perceptron • 다층 perceptron • 경쟁 학습 • Self Organizing Map • ART • NN 응용

More Related