3 장. 다층퍼셉트론
PREVIEW 신경망 기계학습역사에서가장오래된기계학습모델이며, 현재가장다양한형태를가짐 1950년대퍼셉트론 1980년대다층퍼셉트론 3장은 4장딥러닝의기초가됨
3.1 신경망기초 3.1.1 인공신경망과생물신경망 3.1.2 신경망의간략한역사 3.1.3 신경망의종류
3.1.1 인공신경망과생물신경망 사람의뉴런 두뇌의가장작은정보처리단위 세포체는 cell body 간단한연산, 수상돌기는 dendrite 신호수신, 축삭은 axon 처리결과를전송 사람은 10 11 개정도의뉴런을가지며, 뉴런은 1000 개가량다른뉴런과연결되어있어 10 14 개정도의연결
3.1.2 신경망의간략한역사 신경망의역사 1943 년매컬럭과피츠의최초의신경망 1949 년헤브는최초로학습알고리즘제안 1958 년로젠블렛은퍼셉트론제안 3.2 절에서자세히다룸 위드로와호프의 Adaline 과 Madaline 1960 년대의과대평가 1969 년민스키와페퍼트의저서 Perceptrons 는페셉트론의한계를수학적으로입증 페셉트론은선형분류기에불과하여 XOR 문제조차해결못함 신경망연구퇴조 1986 년루멜하트의저서 Parallel Distributed Processing 은다층페셉트론제안 3.3~3.4 절에서자세히다룸 신경망연구부활 1990 년대 SVM(11 장의주제 ) 에밀리는형국 2000 년대딥러닝이실현되어신경망이기계학습의주류기술로자리매김 보다상세한신경망역사는 [Kurenkov2015] 참조
3.1.3 신경망의종류 신경망에는아주다양한모델이존재함 전방신경망과순환신경망 얕은신경망과깊은신경망 결정론신경망과스토캐스틱신경망
3.2 퍼셉트론 3.2.1 구조 3.2.2 동작 3.2.3 학습 퍼셉트론은노드, 가중치, 층과같은새로운개념을도입하고학습알고리즘을창안함 퍼셉트론은원시적신경망이지만, 딥러닝을포함한현대신경망은퍼셉트론을병렬과순차구조로결합하여만듬 현대신경망의중요한구성요소
3.2.1 구조 퍼셉트론의구조 입력층과출력층을가짐 입력층은연산을하지않으므로퍼셉트론은단일층구조라고간주 입력층의 i번째노드는특징벡터 xx = xx 1, xx 2,, xx T dd 의요소 xx ii 를담당 항상 1이입력되는바이어스노드 출력층은한개의노드 i번째입력층노드와출력층을연결하는에지는가중치 ww ii 를가짐
3.2.2 동작 퍼셉트론의동작 해당하는특징값과가중치를곱한결과를모두더하여 s 를구하고, 활성함수 ττ 를적용함 활성함수 ττ 로계단함수를사용하므로최종출력 y 는 +1 또는 -1
3.2.2 동작
3.2.2 동작 행렬표기 바이어스항을벡터에추가하면, 퍼셉트론의동작을식 (3.4) 로표현할수있음
3.2.2 동작 [ 그림 3-4(b)] 를기하학적으로설명하면, 결정직선 xx 1 + xx 2 0.5 = 0 ww 1 과 ww 2 는직선의방향, ww 0 은절편을결정 결정직선은전체공간을 +1과 -1의두부분공간으로분할하는분류기역할 d 차원공간에서는 2 차원은결정직선, 3 차원은결정평명, 4 차원이상은결정초평면
3.2.3 학습 학습문제 지금까지는학습을마친퍼셉트론을가지고동작을설명한셈 [ 그림 3-6] 은학습문제 : ww 1 과 ww 2, ww 0 이어떤값을가져야 100% 옳게분류할까? [ 그림 3-6] 은 2 차원공간에 4 개샘플이있는훈련집합이지만, 현실세계는 d 차원공간에수백 ~ 수만개의샘플이존재 ( 예, MNIST 는 784 차원에 6 만개샘플 )
3.2.3 학습 목적함수설계 퍼셉트론의매개변수를 ww = ww 0, ww 1, ww 2,, ww dd 목적함수를 JJ(Θ) 또는 JJ(ww) 로표기함 목적함수의조건 T 라표기하면, 매개변수집합은 Θ = ww 식 (3.7) 은세가지조건을만족하므로, 퍼셉트론의목적함수로적합 Y 는 w 가틀리는샘플의집합
3.2.3 학습 그레이디언트계산 식 (2.58) 의가중치갱신규칙 ΘΘ = ΘΘ ρρgg 를적용하려면그레이디언트 gg 가필요 식 (3.7) 을편미분하면, 편미분결과인식 (3.8) 을식 (2.58) 에대입하면,
3.2.3 학습 퍼셉트론학습알고리즘 식 (3.9) 를이용하여학습알고리즘을쓰면, 훈련집합의샘플을모두맞출 ( 즉 YY = ) 때까지세대 epoch ( 라인 3~9) 를반복함
3.2.3 학습 퍼셉트론학습알고리즘의스토캐스틱버전 샘플순서를섞음. 틀린샘플이발생하면즉시갱신
3.2.3 학습 행렬표기 행렬을사용하여간결하게표기 : 행렬표기로 [ 알고리즘 3-1] 을수정하면, 행렬표기로 [ 알고리즘 3-2] 를수정하면, 선형분리불가능한경우에는무한반복 until(yy = ) 또는 until(quit) 를 until( 더이상개선이없다면 ) 으로수정해야함
3.3 다층퍼셉트론 3.3.1 특징공간변환 3.3.2 활성함수 3.3.3 구조 3.3.4 동작
3.3 다층퍼셉트론 퍼셉트론은선형분류기라는한계 [ 그림 3-7(b)] 의선형분리불가능한상황에서는일정한양의오류 예 ) XOR 문제에서는 75% 가정확률한계 민스키의 Perceptrons 퍼셉트론의한계를지적하고다층구조를이용한극복방안제시. 당시기술로실현불가능 1974 년웨어보스는박사논문에서오류역전파알고리즘제안 1986 년루멜하트의저서 Parallel Distributed Processing 다층퍼셉트론이론정립하여신경망부활
3.3 다층퍼셉트론 다층퍼셉트론의핵심아이디어
3.3.1 특징공간변환 퍼셉트론 2 개를사용한 XOR 문제의해결 퍼셉트론 1 과퍼셉트론 2 가모두 +1 이면부류이고그렇지않으면부류임
3.3.1 특징공간변환 퍼셉트론 2 개를병렬로결합하면, 원래공간 xx = xx 1, xx 2 T 를새로운특징공간 zz = zz 1, zz 2 T 로변환 새로운특징공간 zz 에서는선형분리가능함 사람이수작업으로특징학습을수행한셈
3.3.1 특징공간변환 퍼셉트론 1 개를순차결합하면, 새로운특징공간 zz 에서선형분리를수행하는퍼셉트론 3 을순차결합하면, [ 그림 3-10(b)] 의다층퍼셉트론이됨 이다층퍼셉트론은훈련집합에있는 4 개샘플 0 0 0 1 1 0 1 1 을제대로분류하나?
3.3.1 특징공간변환 다층퍼셉트론의용량 [ 그림 3-11] 처럼 3 개퍼셉트론을결합하면, 2 차원공간을 7 개영역으로나누고각영역을 3 차원점으로변환 활성함수 ττ 로계단함수를사용하므로영역을점으로변환 일반화하여, p 개퍼셉트론을결합하면 p 차원공간으로변환 pp 1 + ii=1 ii 개의영역으로분할
3.3.2 활성함수 딱딱한공간분할과부드러운공간분할 계단함수는딱딱한의사결정 ( 영역을점으로변환 ). 나머지활성함수는부드러운의사결정 ( 영역을영역으로변환 )
3.3.2 활성함수 신경망이사용하는다양한활성함수 로지스틱시그모이드와하이퍼볼릭탄젠트는 a가커질수록계단함수에가까워짐 모두 1차도함수계산이빠름 ( 특히 ReLU는비교연산한번 ) 퍼셉트론은계단함수, 다층퍼셉트론은로지스틱시그모이드와하이퍼볼릭탄젠트, 딥러닝은 ReLU 를사용
3.3.3 구조 [ 그림 3-14(a)] 는입력층 - 은닉층 - 출력층의 2 층구조 d+1개의입력노드 (d는특징의개수 ). c개의출력노드 (c는부류개수 ) p개의출력노드 : p는하이퍼매개변수 ( 사용자가정해주는매개변수 ) p가너무크면과잉적합, 너무작으면과소적합 5.5절의하이퍼매개변수최적화 [ 그림 3-14(b)] 는입력층 - 은닉층 - 은닉층 - 출력층의 3 층구조
3.3.3 구조 다층퍼셉트론의매개변수 ( 가중치 ) 입력층-은닉층을연결하는 UU 1 (uu 1 jjjj 은입력층의 i번째노드를은닉층의 j번째노드와연결 ) 은닉층-출력층을연결하는 UU 22 (uu 2 kkjj 는은닉층의 j번째노드를출력층의 k번째노드와연결 ) 일반화하면 uu ll jjii 은 l-1번째은닉층의 i번째노드를 l번째은닉층의 j번째노드와연결하는가중치 입력층을 0 번째은닉층, 출력층을마지막은닉층으로간주
3.3.4 동작 특징벡터 x 를출력벡터 o 로매핑하는함수로간주할수있음 깊은신경망은 4 장의주제 ( 딥러닝 )
3.3.4 동작 노드가수행하는연산을구체적으로쓰면, uu jj 1 은 j 번째은닉노드에연결된가중치벡터 ( 식 (3.11) 의 UU 1 의 j 번째행 ) uu kk 2 는 k 번째출력노드에연결된가중치벡터 ( 식 (3.11) 의 UU 22 의 k 번째행 ) 다층퍼셉트론의동작을행렬로표기하면,
3.3.4 동작 은닉층은특징추출기 은닉층은특징벡터를분류에더유리한새로운특징공간으로변환 현대기계학습에서는특징학습이라 feature learning 부름 ( 딥러닝은더많은단계를거쳐특징학습을함 )
3.4 오류역전파알고리즘 3.4.1 목적함수의정의 3.4.2 오류역전파알고리즘설계 3.4.3 오류역전파를이용한학습알고리즘
3.4.1 목적함수의정의 훈련집합 특징벡터집합 XX = xx 1, xx 2,, xx nn 과부류벡터집합 YY = yy 1, yy 2,, yy nn 부류벡터는원핫코드로표현됨. 즉 yy ii = 0,0,, 1,, 0 T 설계행렬로쓰면, 기계학습의목표 모든샘플을옳게분류하는 ( 식 (3.17) 을만족하는 ) 함수 f 를찾는일
3.4.1 목적함수의정의 목적함수 평균제곱오차로 MSE(mean squared error) 정의
3.4.2 오류역전파알고리즘의설계 식 (3.19) 의목적함수를다시쓰면, 2 층퍼셉트론의경우 Θ = UU 1, UU 2 JJ Θ = JJ( UU 1, UU 2 ) 의최저점을찾아주는경사하강법
3.4.2 오류역전파알고리즘의설계 식 (3.21) 을알고리즘형태로쓰면,
3.4.2 오류역전파알고리즘의설계 오류역전파의유도 [ 알고리즘 3-3] 의라인 6 을위한도함수값 JJ 먼저 UU 2 를구성하는 uu 2 kkkk 로미분하면, 와 UU 1 UU 2 의계산과정
3.4.2 오류역전파알고리즘의설계 오류역전파의유도 UU 1 을구성하는 uu 1 jjjj 로미분하면,
3.4.2 오류역전파알고리즘의설계 지금까지유도한식을정리하면, 오류역전파 error back-propagation 알고리즘 식 (3.22)~(3.25) 를이용하여출력층의오류를역방향 ( 왼쪽 ) 으로전파하며그레이디언트를계산하는알고리즘
3.4.3 오류역전파를이용한학습알고리즘 식 (3.22)~(3.25) 를이용한스토캐스틱경사하강법
3.4.3 오류역전파를이용한학습알고리즘 임의샘플링방식으로바꾸려면,
3.4.3 오류역전파를이용한학습알고리즘 행렬표기 : GPU 를사용한고속행렬연산에적합
3.5 미니배치스토캐스틱경사하강법 미니배치방식 한번에 t개의샘플을처리함 (t는미니배치크기 ) t=1이면스토캐스틱경사하강법 ([ 알고리즘 3-4]) t=n이면배치경사하강법 미니배치방식은보통 t= 수십 ~ 수백 그레이디언트의잡음을줄여주는효과때문에수렴이빨라짐 GPU를사용한병렬처리에도유리함 현대기계학습은미니배치를표준처럼여겨널리사용함
3.5 미니배치스토캐스틱경사하강법
3.6 다층퍼셉트론에의한인식 예측 ( 또는테스트 ) 단계 학습을마친후현장설치하여사용 ( 또는테스트집합으로성능테스트 ) 라인 6 을수식으로표현하면, 전방계산한번만사용하므로빠름 ( 표 3-2 참조 )
3.7 다층퍼셉트론의특성 3.7.1 오류역전파알고리즘의빠른속도 3.7.2 모든함수를정확하게근사할수있는능력 3.7.3 성능향상을위한휴리스틱의중요성
3.7.1 오류역전파알고리즘의빠른속도 연산횟수비교 오류역전파는전방계산보다약 1.5~2 배의시간소요 빠른계산가능 하지만학습알고리즘은수렴할때까지오류역전파를반복해야하므로점근적시간복잡도는 ΘΘ( dddd + pppp nnnn)
3.7.2 모든함수를정확하게근사할수있는능력 호닉의주장 [Hornik1989] 은닉층을하나만가진다층퍼셉트론은범용근사자universal approximator 은닉노드를무수히많게할수없으므로, 실질적으로는복잡한구조의데이터에서는성능 한계
3.7.3 성능향상을위한휴리스틱의중요성 순수한최적화알고리즘으로는높은성능불가능 데이터희소성, 잡음, 미숙한신경망구조등의이유 성능향상을위한갖가지휴리스틱을개발하고공유함 예 ) Neural Networks: Tricks of the Trade [Montavon2012] 휴리스틱개발에서중요쟁점
3.7.3 성능향상을위한휴리스틱의중요성 실용적인성능 1980~1990년대에다층퍼셉트론은실용시스템제작에크게기여 인쇄 / 필기문자인식으로우편물자동분류기, 전표인식기, 자동차번호판인식기등 음성인식, 게임, 주가예측, 정보검색, 의료진단, 유전자검색, 반도체결함검사등 하지만한계노출 잡음이섞인상황에서음성인식성능저하 필기주소인식능력저하 바둑에서의한계 딥러닝은이들한계를극복함