4 장. 신경망
들어가는말 신경망 1940년대개발 ( 디지털컴퓨터와탄생시기비슷 ) 인간지능에필적하는컴퓨터개발이목표 4.1 절 일반적관점에서간략히소개 4.2-4.3 절 패턴인식의분류알고리즘으로서구체적으로설명 4.2 절 : 선형분류기로서퍼셉트론 4.3 절 : 비선형분류기로서다층퍼셉트론
4.1.1 발상과전개 두줄기연구의시너지 컴퓨터과학 계산능력의획기적발전으로지능처리에대한욕구의학 두뇌의정보처리방식연구 얼마간의성과 ( 뉴런의동작이해등 ) 뇌의정보처리모방하여인간에필적하는지능컴퓨터에도전 인공신경망 (ANN; Artificial Neural Network) 이대표적
4.1.1 발상과전개 컴퓨터와두뇌의비교 폰노이만컴퓨터 순차명령어처리기두뇌 뉴런으로구성 ( 약 1011 개, 약 1014 연결 ( 시냅스 )) 고도의병렬명령어처리기
4.1.1 발상과전개 간략한역사 1943, McCulloch 과 Pitts 최초신경망제안 1949, Hebb 의학습알고리즘 1958, Rosenblatt 퍼셉트론 Widrow 와 Hoff, Adaline 과 Madaline 1960 대, 신경망의과대포장 1969, Minsky 와 Papert, Perceptrons 라는저서에서퍼셉트론한계지적 퍼셉트론은선형분류기에불과하고 XOR 도해결못함 이후신경망연구퇴조 1986, Rumelhart, Hinton, 그리고 Williams, 다층퍼셉트론과오류역전파학습알고리즘 필기숫자인식같은복잡하고실용적인문제에높은성능 신경망연구다시활기찾음 현재가장널리활용되는문제해결도구
4.1.2 수학적모델로서의신경망 신경망특성 학습가능뛰어난일반화능력병렬처리가능현실적문제에서우수한성능다양한문제해결도구 ( 분류, 예측, 함수근사화, 합성, 평가, ) 절반의성공 인간지능에필적하는컴퓨터만들지못함 제한된환경에서실용적인시스템만드는데크게기여 ( 실용적인수학적모델로서자리매김 )
4.2 퍼셉트론 새로운개념들등장 층노드와가중치학습활성함수 비록분명한한계를가지지만 MLP 의초석이됨
4.2.1 구조와원리 구조 입력층 : d+1개의노드 ( 특징벡터 x=(x 1,,x d ) T ) 출력층 : 한개의노드 ( 따라서 2-부류분류기 ) 에지와가중치
4.2.1 구조와원리 노드의연산 입력노드 : 받은신호를단순히전달출력노드 : 합계산과활성함수계산 퍼셉트론은선형분류기
4.2.1 구조와원리 예제 4.1 이퍼셉트론은 w=(1,1) T, b=-0.5 따라서결정직선은 d x) = x + x 0.5 ( 1 2 샘플 c 를제대로분류함
4.2.2 학습과인식 퍼셉트론학습이란? 예 ) AND 분류문제 a=(0,0) T b=(1,0) T c=(0,1) T d=(1,1) T t a = -1 t b = -1 t c = -1 t d =1 c d 1? x 1?? y a b x 2
4.2.2 학습과인식 패턴인식에서일반적인학습알고리즘설계과정 단계 1: 분류기구조정의와분류과정의수학식정의단계 2: 분류기품질측정용비용함수 J(Θ) 정의단계 3: J(Θ) 를최적화하는 Θ를찾는알고리즘설계 단계 1 과 2 단계 3
4.2.2 학습과인식 단계 1: 분류기구조정의와분류과정의수학식정의 식 (4.2) 매개변수집합 Θ={w, b} 단계 2: 분류기품질측정용비용함수 J(Θ) 정의 분류기품질을측정하는 J(Θ) 를어떻게정의할것인가? Y: 오분류된샘플집합 J(Θ) 는항상양수 Y 가공집합이면 J(Θ)=0 Y 가클수록 J(Θ) 큼
4.2.2 학습과인식 단계 3: J(Θ) 를최적화하는 Θ를찾는알고리즘설계 J(Θ)=0인 Θ를찾아라. 내리막경사법 (Gradient descent method) 현재해를 / Θ 방향으로이동 학습률 ρ를곱하여조금씩이동 J 는음의값을가짐 θ θ값이더큰곳에최적점이존재하므로 J θ를양의값으로하기위해선 - 로해야함 θ
4.2.2 학습과인식 알고리즘스케치 초기해를설정한다. 멈춤조건이만족될때까지현재해를 / Θ 방향으로조금씩이동시킨다. 알고리즘에필요한수식들 퍼셉트론학습규칙 ( 델타규칙 )
4.2.2 학습과인식
4.2.2 학습과인식 예제 4.2 1 2 w(0)=(-0.5,0.75) T, b(0)=0.375 d(x)= -0.5x 1 +0.75x 2 +0.375 Y={a, b} 0.5 0 1 0.1 w(1) = w(0) + 0.4( t a a + tb b) = 0.4 = 0.75 + 0 0 0.75 + b(1) = b(0) + 0.4( t + t ) = 0.375 + 0.4*0 = 0.375 d(x)= -0.1x 1 +0.75x 2 +0.375 Y={a} a b 0.1 0 0.1 w(2) = w(1) + 0.4( t aa) = 0.4 0.75 + = 0 0.75 b(2) = b(1) + 0.4( t ) = 0.375 0.4 = 0.025 a 학습율
4.2.2 학습과인식 인식알고리즘
4.2.2 학습과인식 구현 초기값어떻게? w 와 b 의초기화는? 일반적으로작은난수를생성하여설정함 학습률어떻게? 고정된학습율사용 세대수에따라적응적학습율사용 패턴모드와배치모드 ρ( h) = ρ ( ρ ρ )* h/ H s s e ρ : 시작학습율 배치모드 : 오분류된모든샘플을모은다음, 이들을가지고한꺼번에가중치갱신함 패턴모드 : 샘플을하나입력하고틀리게인식하면곧바로가중치를갱신함 s ρ : 종료시학습율 e h : 세대수 H: 최대세대수
4.2.2 학습과인식 구현 초기값어떻게? 학습률어떻게? 패턴모드와배치모드 패턴모드학습알고리즘
4.2.2 학습과인식 포켓알고리즘 선형분리불가능한상황 J(Θ)=0( 모든샘플을올바르게분류하고자함 ) 이라는목표를버리고, J(Θ) 를최소화하는목표로수정 새로운 w 를계산한후, 이것이이전것보다좋은지검사함 더좋으면이를사용함
4.3 다층퍼셉트론 선형분리불가능한상황 퍼셉트론의한계 그림 4.5(b) 에서퍼셉트론으로최대몇개까지맞출수있을까?
4.3.1 구조와원리 XOR 문제 퍼셉트론은 75% 정인식률이한계 이한계를어떻게극복? 두개의퍼셉트론 ( 결정직선 ) 사용
4.3.1 구조와원리 두단계에걸쳐문제해결 단계 1: 원래특징공간을새로운공간으로매핑단계 2: 새로운공간에서분류 단계 1: 새로운공간으로매핑 b,c 는 (1,1) 로변환됨 a (-1,1) d (1,-1) 단계 2: 새로운공간에서분류
4.3.1 구조와원리 다층퍼셉트론 (MLP; Multi-layer perceptron) 두개의퍼셉트론 1,2 를사용하여, 특징벡터를새로운공간으로매핑함 이후, 새로운공간에서하나의퍼셉트론을사용하여, 최종분류함
4.3.1 구조와원리 다층퍼셉트론의아키텍처 입력층, 은닉층, 출력층을가짐입력을위한 d개의노드, 1개의 bias를위한노드 ( 총 d+1) 개의노드 P+1 개의은닉층노드수 (+1 은 bias 값 ) 가중치 : u 와 v
4.3.1 구조와원리 신경망은일종의함수 (4.10) (4.11) 입력 x 입력층에서은닉층매핑함수 ( p(.)) 은닉층출력 z 은닉층에서출력층매핑함수 ( q(.)) 출력벡터 o
4.3.1 구조와원리 전방계산 (forward computation) : 신경회로망에서왼쪽에서오른쪽으로계산이이뤄짐 (4.12) (4.13) 활성함수 (activation function) 입력 x 입력층에서은닉층매핑함수 ( p(.)) 은닉층출력 z 은닉층에서출력층매핑함수 ( q(.)) 출력벡터 o
4.3.1 구조와원리 활성함수 (activation function) 시그모이드라는비선형함수사용
4.3.1 구조와원리 예제 4.3 다층퍼셉트론의공간분할능력 활성함수에따른공간분할 αα 값이줄어들수록 w1 class 영역이줄어들고있음
4.3.1 구조와원리 FFMLP (Feed-Forward MLP) 의아키텍처 은닉층은몇개로? 층간의연결은어떻게? 각층의노드는몇개로? 어떤활성함수사용할까?
4.3.2 학습 MLP 의학습이란? 패턴인식에서일반적인학습알고리즘설계과정 단계 1: 분류기구조정의와분류과정의수학식정의단계 2: 분류기품질측정용비용함수 J(Θ) 정의단계 3: J(Θ) 를최적화하는 Θ를찾는알고리즘설계
4.3.2 학습 단계 1: 분류기구조정의와분류과정의수학식정의 (4.12) 와 (4.13) 의전방계산이분류기의식 매개변수집합 Θ={u, v} 단계 2 ( 비용함수정의 ):
4.3.2 학습 단계 3 ( 최적해찾음 ): J(Θ) 를최적화하는 Θ 를찾는알고리즘설계 (4.16) 의오류를줄이는방향으로 Θ 를수정해나감 라인 5 를어떻게?
4.3.2 학습 v jk 를위한갱신값 Δv jk 의유도 은닉층노드 출력층노드 특정출력노드 k 에서 tt kk 는상수임 v jk 가미치는영향 출력 oo kk = ττ(oo_ssssss kk )
4.3.2 학습 출력층노드 u ij 를위한갱신값 Δu ij 의유도 입력노드 은닉층노드 출력 oo kk = ττ(oo_ssssss kk ) u ij 가미치는영향 vv jjjj = oo_ssssss kk zz jj
4.3.2 학습 다중퍼셉트로학습을위한오류역전파알고리즘 ( 패턴모드 ) uu iiii vv jjjj z_sum1 z1 o_sum1 o1 z_sum2 z2 o2
4.3.2 학습 예제 4.4 다층퍼셉트론의학습
4.3.2 학습 예제 4.4 uu iiii z_sum1 z1 vv jjjj o_sum1 o1 o1= -0.02239 z_sum2 z2 o2 o2= 0.15441
4.3.2 학습 예제 4.4 uu iiii z_sum1 z1 vv jjjj o_sum1 o1 o1= -0.02239 o2 z_sum2 z2 o2= 0.15441
4.3.2 학습 uu iiii z_sum1 z1 vv jjjj o_sum1 o1 예제 4.4 o2 z_sum2 z2
4.3.2 학습 예제 4.4 uu iiii z_sum1 z1 vv jjjj o_sum1 o1 z_sum2 z2 o2 0.3 0.32015
4.3.2 학습 오류역전파알고리즘의계산복잡도 Θ((d+m)pHN) H는세대수 많은시간소요 예 ) MNIST 필기숫자데이터베이스는 N=60000
4.3.3 인식 학습된다층퍼셉트론을사용하여, 입력에대해인식을수행 인식알고리즘 시간복잡도 Θ((d+m)p) N 에무관, 빠름
4.3.4 구현과몇가지부연설명 몇가지부연설명 네트워크아키텍처 ( 은닉노드개수등 ) 가중치초기화 언제종료할것인가? 목적벡터의표현과활성함수 ( 이진모드와양극모드 ) 샘플처리순서학습률국소최적점탈출
4.3.4 구현과몇가지부연설명 매개변수설정 일반적인경우에적용되는보편규칙은없다. 경험과실험을통해설정해야한다. 신경망성능이매개변수에아주민감하지는않기때문에어느정도의실험과경험을통해설정가능