1 / 64

Neural Networks

Neural Networks. 개요. 신경회로망 (Neural Networks) 생물학적 계산 체계를 이용하여 생물학적 정보체계 와 심리학 , 신경과학 , 인지과학 , 시스템 이론 병합한 예측 , 분류 , 최적화 등 문제해결을 위한 도구로 이용 기본 작업 학습 (learning ): 패턴 분류에 따라 신경망의 연결가중치 조정 재생 (recall ): 학습된 가중치와 입력벡터와의 거리 계산하여 가장 가까운 클래스로 분류 → 사람과 같은 학습 능력 : 패턴 분류 , 인식 , 최적화 , 예측

Download Presentation

Neural Networks

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. Neural Networks

  2. 개요 • 신경회로망(Neural Networks) • 생물학적 계산 체계를 이용하여 생물학적 정보체계 와 심리학,신경과학, 인지과학, 시스템 이론 병합한 예측, 분류, 최적화 등 문제해결을 위한 도구로 이용 • 기본 작업 • 학습(learning): 패턴 분류에 따라 신경망의 연결가중치 조정 • 재생(recall): 학습된 가중치와 입력벡터와의 거리 계산하여 가장 가까운 클래스로 분류 → 사람과 같은 학습 능력: 패턴 분류, 인식, 최적화, 예측 → 기존 인공지능 문제 해결의 새로운 계산 틀 제공 • (인공)신경회로망 • 인간의 두뇌작용을 신경 세포들간의 연결관계로 모델링 → 인간의 학습을 모델링

  3. A part of Machine Learning Learning algorithm Trained Machine(Model) TRAINING DATA Answer ? Query

  4. Attrib1 Attrib2 Attrib3 Class Tid No 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K Yes 5 No Large 95K No 6 No Medium 60K No 7 Yes Large 220K Yes 8 No Small 85K No 9 No Medium 75K Yes 10 No Small 90K 10 Apply Model Attrib1 Attrib2 Attrib3 Class Tid ? 11 No Small 55K ? 12 Yes Medium 80K ? 13 Yes Large 110K ? 14 No Small 95K ? 15 No Large 67K 10 ANN leaning Task Learning algorithm Learn Model Model Training Set Test Set

  5. Successful Story Example Problem:Handwritten Digit Recognition • Handcrafted rules will result in large no. of rules and Exceptions • Better to have a machine that learns from a large training set Wide variability of same numeral

  6. Successful Story • Learning to drive an autonomous vehicle – Train computer-controlled vehicles to steer correctly – Drive at 70 mph for 90 miles on public highways – Associate steering commands with image sequence – 1200 computer-generated images as training examples • Half-hour training An additional information from previous image indicating the darkness or lightness of the road

  7. Successful Story • Learning to recognize spoken words – Speech recognition/synthesis – Natural language understanding/generation – Machine translation

  8. 개요 • 생물학적 뉴런 • 신경기능 탐구 • 생물학적 신경회로망: 인간의 생체 기능 연구(생물, 생리, 신경과학자) →동물 생체 실험 → 학습능력의 원천 밝힘 • 인공신경회로망  신경회로망의 기능, 구조를 H/W, S/W적으로 실현 → 기존의 시뮬레이션으로 구현된 알고리즘을 H/W화 핵 세포체 신경절 수상돌기 축색돌기

  9. 역사 • (1943) McCulloch와 Pitts - 신경세포들을 단순 연결한 신경회로망은 산술 및 논리연산을 수행할 수 있다. • (1949) Hebb의 법칙 • 최초의 인공 신경회로망의 학습규칙 제안 • 신경회로망이 학습을 수행함을 증명 • 50, 60 년대 • 단층의 인공세포의 신경회로망 • Rosenblatt, Widrow의 Perceptron- 일기예보, 심전도 해석, 인공시각 • 69년 Minsky 등에 의해 한계 지적(퍼셉트론은 XOR 문제해결 불가) • 신경망 연구 침체 → 기호주의 AI 활성화 • 80 년대 중반이후 • 기호주의 AI 한계 • Hopfield: 신경회로망  에너지 개념 • 오류역전파 학습 알고리즘(Rumelhart, McCleland): 다층 퍼셉트론 학습 → 신경회로망 연구 부흥

  10. 신경망(Neural Network) • 과거에 수집된 데이터로부터 반복적인 학습과정을 거쳐 데이터에 내재되어 있는 패턴을 찾아내는 모델링 기법 • 주택가격 예측모형을 구축하는데 사용된 데이터 Backpropagation Input Layer Hidden Layer Output Layer • Hidden Layer의수가 많아지면 분류능력이 향상되어 더 많은 패턴을 인식할 수 있지만 Overfitting될 수도 있다.

  11. 신경망(Neural Network) • 신경망을 이용한 주택가격 평가모형 방수 연도 1) 마디를 연결하는 고리에 임의로 초기 강도(Weight)값을 지정하여 초기 모형설정 2) 입력 값 및 출력 값 변환 3) 데이터 입력 후 실제 값과 비교 4) 실제 값과 차이를 최소화 하도록 Weight 조절 5) 시험용 데이터를 이용하여 모형의 예측 정확도 검증 6) 업무현장에 적용 7) 출력 값 변환 난방 주차공간 거실 층 수 가격 크기 방향(동) 방향(서) 방향(남) 방향(북) 팔린 시기

  12. 인공 신경망의 특징 • 신경망은 새로운 데이터의 예제를 통해 학습한다. 쉽게 예측능력을 증가시킬 수 있다 • 데이터들이 선형적인 관계와 비 선형적인 관계인지를 모르거나, 둘 다의 특징을 갖고 있는 것에 대해서 모델을 만들기 편리하다. • 잡음(noisy)이 섞이거나 또는 불완전하고 일관성 없는 데이터를 다루기에 적합하다. • Neural Network 모델은 이론적인 기초를 가지고 있지 않다. 결과에 대해서 명백한 이유를 제시 어려움. • 효과적인 Neural Network모델을 만들기 위해서는 넓은 범위의 변수를 포함하는 학습 데이터를 필요로 한다. • 만약에 학습데이터의 범위 밖의 입력 데이터가 들어 올 경우에는 예측능력이 현저히 떨어질 수 있다.

  13. 신경망(Neural Network) • 장점 • 입력, 출력마디에 이산형, 연속형 변수 모두 사용 가능하며 기법을 적용할 수 있는 문제의 영역이 Decision Tree나 통계에 비해 넓다. • 상용화된 데이터마이닝 제품이 많으며 제품 선택의 폭이 넓다. • 단점 • 분류나 예측 결과만을 제공할 뿐 결과에 대한 근거를 설명하지 못한다. • 복잡한 학습과정을 거치기 때문에 모형 구축 시 많은 시간이 소요된다. 따라서 입력변수의 수가 너무 많으면 통계나 Decision Tree를 이용하여 변수를 선별 후 신경망을 구축하는 대안을 고려 할 수 있다. • 다양한 Parameter값을 설정하는 작업이 전문성을 필요로 하기 때문에 비전문가들이 사용하기에 어려움이 따른다.

  14. Function Learning • Map categorisation learning to numerical problem • Each category given a number • Or a range of real valued numbers (e.g., 0.5 - 0.9) • Function learning examples • Input = 1, 2, 3, 4 Output = 1, 4, 9, 16 • Here the concept to learn is squaring integers • Input = [1,2,3], [2,3,4], [3,4,5], [4,5,6] • Output = 1, 5, 11, 19 • Here the concept is: [a,b,c] -> a*c - b • The calculation is more complicated than in the first example • Neural networks: • Calculation is much more complicated in general • But it is still just a numerical calculation

  15. 인공 신경망의 원리 Output Y is 1 if at least two of the three inputs are equal to 1.

  16. 인공 신경망의 원리

  17. 인공 신경망의 원리 • Model is an assembly of inter-connected nodes and weighted links • Output node sums up each of its input value according to the weights of its links • Compare output node against some threshold t Perceptron Model or

  18. General Structure of ANN Training ANN means learning the weights of the neurons

  19. Algorithm for learning ANN • Initialize the weights (w0, w1, …, wk) • Adjust the weights in such a way that the output of ANN is consistent with class labels of training examples • Objective function: • Find the weights wi’s that minimize the above objective function • e.g., backpropagation algorithm

  20. 정의 및 특징 • 신경회로망이 커지고 복잡해질수록 더 나은 기능 수행 • 다층 신경회로망: 입력층과 출력층 사이에 새로운 층 추가 → 은닉층(hidden layer) 또는 중간층(internal layer) • 예를 통한 학습, 일반화, 연상기억, 결함 허용성의 특징을 보인다 • 예를 통한 학습- 예를 계속적으로 제시함으로써 원하는 형태의 사상(mapping)을 만듦 : 지도 학습/비지도 학습 • 일반화- 학습이 완료된 신경회로망은 학습되지 않은 입력에 대해서도 올바른 결과를 출력 • 연상기억- 새로운 입력, 일부 유실된 정보 → 유사한 출력 • 결함 허용성- 일부 뉴런 고장, 단절 → 남아 있는 뉴런들에 의해 작동 보장 • 연결가중치 조정방법 • 지도학습: 입력이 주어짐에 따라 원하는 출력값이 활성화 되도록 가중치를 조절 (Hopfield 학습규칙, 델타규칙, 오류 역전파 학습규칙) • 비지도학습: 목표값 없이 학습 데이터만 입력, 스스로 연결가중치들을 학습미리 결정된 해가 불필요(경쟁학습, ART 모델)

  21. 종류 • 신경회로망 모델 종류 입력형식 신경회로망 모델 학습방식 지도 학습 Hopfield network Counter propagation network 지도 학습 및 비지도 이진입력 학습을 결합한 학습 비지도 학습 ART model Perceptron Multilayer Perceptron 지도 학습 실수입력 Competitive learning SOM 비지도 학습

  22. Hopfield 신경회로망 • 신경회로망의 동작: energy + dynamic system • 조직 • 모든 뉴런이 양방향으로 연결(자신 제외) • 전달(활성화)함수 : hard limiter 함수 사용 • 입력 : 2진수 • 출력 : +1, -1(양과 음의 에너지 상태를 표시) 0 1 2 N-1 I0 I1 I2 IN-1

  23. Hopfield 신경회로망의 동작 규칙 • 1단계 : M개의 패턴을 이용하여 N개 뉴런 사이의 연결 가중치를 지정 • wij: 뉴런 i에서 뉴런 j로의 연결가중치 • Xsi: s 클래스에 속하는 학습패턴의 i번째 요소값(+1 or -1) • 2단계 : 미지의 입력패턴을 신경회로망에 제시 • 3단계 : 뉴런들의 출력과 가중치를 곱한 값을 합하여 전달함수를 통과 • 4단계 : 수렴(출력의 변화가 없음)할 때까지 3단계를 계속 반복 • 5단계 : 2단계로 분기

  24. Hopfield 신경회로망의 예 • 예제 1) (1, 1, -1, -1)을 입력 하면 P0 , P1 중 어느 패턴에 수렴 할까? P0 = ( 1, 1, 1, -1), P1 = (1, -1, 1, -1)

  25. Hopfield 신경회로망의 예 • 예제 1) 다음 2개의 4차원 학습패턴벡터의 경우 wij는 ? [1단계] X00, X01, X02, X03 P0 = ( 1, 1, 1, -1), X10, X11, X12, X13 P1 = (1, -1, 1, -1)

  26. Hopfield 신경회로망 • 예제 1) (1, 1, -1, -1)을 입력 하면 P0 , P1 중 어느 패턴에 수렴 할까? P0 = ( 1, 1, 1, -1), P1 = (1, -1, 1, -1) [2단계] 주어진 패턴 (1, 1, -1, -1) 에 대해 Hopefield 알고리즘의 2단계에서 5단계까지를 실행한다 [3단계] i(0) : (1, 1, -1, -1) 0(1) = fh( w000(0) + w101(0) + w202(0) + w303(0) ) = fh(0×1 + 0×1 + 2×-1 + (-2)×-1) = 1 같은 방법으로 반복하여1(1) = 1, 2(1) = 1,3(1) = 1 i(1) : (1, 1, 1, 1)

  27. Hopfield 신경회로망 [3단계-반복] i(1) : (1, 1, 1, 1) 0(2) = fh( w000(1) + w101(1) + w202(1) + w303(1) ) = fh(0×1 + 0×1 + 2×1 + -2×1) = 1 같은 방법으로 반복하여1(2) = 1, 2(2) = 1,3(2) = -1 i(2) : (1, 1, 1, -1)

  28. Hopfield 신경회로망 [3단계-반복] i(2) : (1, 1, 1, -1) 0(3) = fh( w000(2) + w101(2) + w202(2) + w303(2) ) = fh( 0×1 + 0×1 + 2×1 + (-2)×-1 ) = 1 같은 방법으로 반복하여1(2) = 1, 2(2) = 1,3(2) = -1 i(3) : (1, 1, 1, -1)

  29. Hopfield 신경회로망 - 비고 • 예제 2개의 4차원 학습패턴벡터: P0=(1,1,1,-1), P1=(1,-1,1,-1)일때 wij는? • w00 = w11 = w22 = w33 = 0 • w01=X00X01+X10X11=1x1+1x(-1) = 0 • 예제: 각 패턴 크기: (5x5) 대상 : {ㄱ, ㄴ, ㄷ, ㄹ}으로 학습 • 테스트 패턴: {ㄱ, ㄴ, ㄹ}으로 테스트 • 테스트 결과 • ㄱ, ㄴ: 제대로 인식 • ㄹ: ㄷ으로 오인식 • → 회로망 크기 vs 저장 가능한 패턴수 문제 • → Hopfield에서는 뉴런 수가 N인 경우, 0.15N개의 패턴 저장 가능 • (이 예제의 경우 25x0.15 = 3.75 → 4개 미만의 패턴 인식) • 수렴결과가 최적인지 보장 안됨 i(0) : (1, 1, -1, -1) i(1) : (1, 1, 1, 1) i(2) : (1, 1, 1, -1) i(3) : (1, 1, 1, -1)  입력: (1,1,-1,-1)  수렴

  30. 숫자를 인식하는 패턴 인식의 예 • IF – Then 으로 패턴 인식 • 물론 숫자 7을 인식하기 위해서 if - then으로 구성할 수도 있고, table 형식으로 구성할 수도 있다. x = GetBinaryFromImage();if( x == 111101001001 ) then return 7; • - 노이즈로 인해 이진수가 111001001001로 바뀌었다면 모든 경우의 수를 표현하기 어렵다. . • 숫자 7과 신경망 패턴 인식 • - 3 × 4 픽셀(pixel)로 구성된 이미지와 숫자 7과 신경망 구성이다. • 노이즈 처리가 용이 • 하나의 알고리즘으로 분류(classification)가 가능하다.

  31. 숫자를 인식하는 패턴 인식을 신경망 구축 • 이미지로부터 신경망의 노드가 처리할 수 있는 데이터로 변환 • 각 입력 노드 값을 설정하고 가중치(weight)가 적절히 설정 • 가장 큰 값인 7이 출력 노드에 표현될 것임 (즉, 임의의 이미지를 입력으로 하였을 때 가장 큰 값의 출력 노드가 그 이미지가 가리키고 있는 숫자인임) • "어떻게 가중치값을 설정할 것인가 ?“ 초기 신경망의 Weight 값은 보통 -1.0 ~ 1.0의 임의 값으로 설정하는 것이 보통임

  32. 숫자를 인식하는 패턴 인식을 신경망 구축 • 신경망에서의 학습이란 원하는 결과의 노드가 최대값이 나오도록 적절히 가중치를 설정하는 과정이다. 예) 111101001001이나 111001001001의 입력이 들어가도 출력 노드 7이 최대값이 되 도록 가중치를 설정하면 된다. • 학습에 사용되는 대표적인 알고리즘이 바로 역전파(back propagation) 알고리즘이다.

  33. Perceptrons • Multiple input nodes • Single output node • Takes a weighted sum of the inputs, call this S • Unit function calculates the output for the network • Useful to study because • We can use perceptrons to build larger networks • Perceptrons have limited representational abilities • We will look at concepts they can’t learn later

  34. Unit Functions Sigma Function Step Function • Linear Functions • Simply output the weighted sum • Threshold Functions • Output low values • Until the weighted sum gets over a threshold • Then output high values • Equivalent of “firing” of neurons • Step function: • Output +1 if S > T (Threshold) • Output –1 otherwise • Sigma function: • Similar to step function but differentiable (next lecture)

  35. Example Perceptron • Categorisation of 2x2 pixel black & white images • Into “bright” and “dark” • Representation of this rule: • If it contains the no. of white pixels >= 2, it is “bright” • Otherwise, it is “dark” • Perceptron architecture: • Four input units, one for each pixel • One output unit: +1 for white, -1 for dark {

  36. Example Perceptron • Example calculation: x1=-1, x2=1, x3=1, x4=-1 • S = 0.25*(-1) + 0.25*(1) + 0.25*(1) + 0.25*(-1) = 0 • 0 > -0.1, so the output from the ANN is +1 • So the image is categorised as “bright”

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

  38. AND 예제 • 뉴런에 입력되는 가중치의 합이 임계치( = 0.5 )를 초과하면 1, 아니면 0 • AND →W0, W1 : 0.3 or 0.4 입력 출력 X0 X1 AND f XOR X0 W0 0 0 0 0 0  = 0.5 Y 입력 출력 0 1 0 1 1 X1 W1 1 0 0 0 1 1 1 1 0 0

  39. XOR 예제 X0 W0 입력 출력 → 만족하는 W0, W1는 존재하지 않음 → 간단한 XOR 문제도 해결하지 못함 • 이러한 문제를 해결하기 위해서 2개 또는 3개의 층(layer)을 사용 • 다층 퍼셉트론: 3층 퍼셉트론으로 어떤 문제도 해결가능 • 퍼셉트론은 다층 퍼셉트론 및 오류역전파 알고리즘의 기반 모델이 됨  = 0.5 Y X0 X1 AND f XOR 입력 출력 0 0 0 0 0 X1 W1 0 1 0 1 1 1 0 0 0 1 1 1 1 0 0 참고. XOR 는 배타적 논리합, 입력된 2개 중 1개만 참일 때 참이 된다.

  40. Weight update Input Output calculation 역전파 (back propagation) • 오류역전파(error backpropagation) 개념 • 은닉층의 학습을 위해 출력층에서 발생한 오류를 이용하여 은닉층 오차계산 • 다시 이 값을 입력층으로 역전파시켜 출력층의 오차가 원하는 수준이 될 때까지 반복 • 이런 이유로 역전파 알고리즘이라고 한다. • 신경망의 처리 : 입력층 → 은닉층 → 출력층 • Weight 갱신의 학습방향: 출력층 → 은닉층 오차(e = y - d) Error(e) = y – d y: 데이터 입력에 대한 결과 값 d: 원 하는 값

  41. Weight update Input Output calculation 역전파 (back propagation) • Back propagation은 다층(multilayer)이고, feedforward 신경망에서 사용되는 학습 알고리즘이며, 학습의 방법은 지도 학습 (supervised learning)이다. • 즉, 학습을 하기 위해서는 입력 데이터와 원하는 출력(d) 데이터가 있어야 한다. • 입력이 신경망의 가중치(weights)와 곱하고 더하는 과정을 몇 번 반복하면 입력의 결과값인 출력(y)이 나온다. 이 때 출력(y)은 학습 데이터에서 주어진 원하는 출력(d)와 다르다. 결국, 신경망에서는 (y - d)만큼의 오차(e = y - d)가 발생하며, 오차에 비례하여 출력층의 가중치를 갱신하고, 그 다음 은닉층의 가중치를 갱신한다. • 가중치를 갱신하는 방향이 신경망의 처리 방향과는 반대 방향이다. • 이런 이유로 역전파 알고리즘이라고 한다. • 신경망의 처리 : 입력층 → 은닉층 → 출력층 • 가중치 갱신의 학습방향: 출력층 → 은닉층 오차(e = y - d) y: 입력에 대한 결과 값 d: 원 하는 값 Error(e) = y – d

  42. 역전파 (back propagation) • 실제 적용시 고려사항 • 최소평균제곱 비용함수의 국부 최적해를 위해 뉴런수를 증가 • 이득항(, )을 낮출 필요 있음 • 초기 가중치를 다르게 하여 여러 번 학습하는 방법 • 문제점 • 상위층의 목표값과 실제 출력값 간의 오류를 하위층으로 역전파시키는 것은 생물학적으로 타당하지 않음 (목표를 알지 못함) • 오류 수렴까지 많은 회수의 학습 반복 • 지도학습에서 효율성 나타냄 → 보편적으로 많이 사용

  43. 역전파 (back propagation Algorithm) • step1: present input to network • step2: propagate forward the activation • compute network output and compare with target • step3: propagate backward the error • compute "error signal" d • step4: update weights • step5: repeat steps 1 ~ 4 for each training pattern • until the stopping condition is met.

  44. 역전파 (back propagation Algorithm)

  45. .3 .1 1 3 5 -.1 .3 2 -.1 2 4 6 1 .5 Input Hidden Output 역전파 (back propagation Algorithm) Example

  46. Error Backpropagation (계속) Step 3: Backward Propagation of error (<=) Output layer Hidden layer Step 4: Modify Weights

  47. 다층 퍼셉트론 • 신경망의 가장 일반적인 모델은 multilayer perceptron (MLP) 으로, 학습을 통한 지정된 출력을 요구하므로 supervised network 으로 알려져 있다. 이 모델의 목적은 출력의 지속적인 검증 및 학습을 통하여 기대되는 결과를 얻을 수 있도록 하는 것이다. .

  48. Ex) Image를 scan 하는 OCR s/w • 원본 문서가 scan된 후 image 형태로 컴퓨터에 저장이 된다. OCR s/w 는 각각의 문자의 image format을 binary format (0, 1)으로 변경한 후, 신경망으로 전달되어 진다. 신경망에서는 가중치 값 및 function 에 의하여 새롭게 구성되는 output을 나타내게 된다. (ASCII 형태)

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

  50. 2층 퍼셉트론 0 k M-1 …… …… k Wkj 임계치 0 j L-1 j 임계치 Wji 0 i N-1 …… …… Xp0 Xpi XpN-1

More Related