Download presentation
Presentation is loading. Please wait.
1
3장. 다층 퍼셉트론
2
PREVIEW 신경망 기계 학습 역사에서 가장 오래된 기계 학습 모델이며, 현재 가장 다양한 형태를 가짐
1950년대 퍼셉트론 1980년대 다층 퍼셉트론 3장은 4장 딥러닝의 기초가 됨
4
3.1 신경망 기초 3.1.1 인공신경망과 생물신경망 3.1.2 신경망의 간략한 역사 3.1.3 신경망의 종류
5
3.1.1 인공신경망과 생물신경망 사람의 뉴런 두뇌의 가장 작은 정보처리 단위
세포체는cell body 간단한 연산, 수상돌기는dendrite 신호 수신, 축삭은axon 처리 결과를 전송 사람은 1011개 정도의 뉴런을 가지며, 뉴런은 1000개 가량 다른 뉴런과 연결되어 있어 1014개 정도의 연결
6
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] 참조
7
3.1.3 신경망의 종류 신경망에는 아주 다양한 모델이 존재함 전방 신경망과 순환 신경망 얕은 신경망과 깊은 신경망
결정론 신경망과 스토캐스틱 신경망
8
3.2 퍼셉트론 3.2.1 구조 3.2.2 동작 3.2.3 학습 퍼셉트론은 노드, 가중치, 층과 같은 새로운 개념을 도입하고 학습 알고리즘을 창안함 퍼셉트론은 원시적 신경망이지만, 딥러닝을 포함한 현대 신경망은 퍼셉트론을 병렬과 순차 구조로 결합하여 만듬 현대 신경망의 중요한 구성 요소
9
3.2.1 구조 퍼셉트론의 구조 입력층과 출력층을 가짐 입력층은 연산을 하지 않으므로 퍼셉트론은 단일 층 구조라고 간주
입력층의 i번째 노드는 특징 벡터 𝐱= 𝑥 1 , 𝑥 2 ,⋯, 𝑥 𝑑 T 의 요소 𝑥 𝑖 를 담당 항상 1이 입력되는 바이어스 노드 출력층은 한 개의 노드 i번째 입력 노드와 출력 노드를 연결하는 에지는 가중치 𝑤 𝑖 를 가짐
10
3.2.2 동작 퍼셉트론의 동작 해당하는 특징값과 가중치를 곱한 결과를 모두 더하여 s를 구하고, 활성함수 𝜏를 적용함
활성함수 𝜏로 계단함수를 사용하므로 최종 출력 y는 +1 또는 -1
11
3.2.2 동작
12
3.2.2 동작 행렬 표기 바이어스 항을 벡터에 추가하면, 퍼셉트론의 동작을 식 (3.4)로 표현할 수 있음
13
3.2.2 동작 [그림 3-4(b)]를 기하학적으로 설명하면, 결정 직선 𝑥 1 + 𝑥 2 −0.5=0
결정 직선 𝑥 1 + 𝑥 2 −0.5=0 𝑤 1 과 𝑤 2 는 직선의 방향, 𝑤 0 은 절편을 결정 결정 직선은 전체 공간을 +1과 -1의 두 부분공간으로 분할하는 분류기 역할 d차원 공간에서는 2차원은 결정 직선decision line, 3차원은 결정 평면decision plane, 4차원 이상은 결정 초평면 decision hyperplane
14
3.2.3 학습 학습 문제 지금까지는 학습을 마친 퍼셉트론을 가지고 동작을 설명한 셈
[그림 3-6]은 학습 문제: 𝑤 1 과 𝑤 2 , 𝑤 0 이 어떤 값을 가져야 100% 옳게 분류할까? [그림 3-6]은 2차원 공간에 4개 샘플이 있는 훈련집합이지만, 현실 세계는 d차원 공간에 수백~수만 개의 샘플이 존재 (예, MNIST는 784차원에 6만개 샘플)
15
3.2.3 학습 목적함수 설계 퍼셉트론의 매개변수를 𝐰= 𝑤 0 , 𝑤 1 , 𝑤 2 ,⋯ ,𝑤 𝑑 T 라 표기하면, 매개변수 집합은 Θ= 𝐰 목적함수를 𝐽(Θ) 또는 𝐽(𝐰)로 표기함 목적함수의 조건 식 (3.7)은 세 가지 조건을 만족하므로, 퍼셉트론의 목적함수로 적합 Y는 w가 틀리는 샘플의 집합
16
3.2.3 학습 그레이디언트 계산 식 (2.58)의 가중치 갱신 규칙 𝚯=𝚯−𝜌𝐠를 적용하려면 그레이디언트 𝐠가 필요
식 (3.7)을 편미분하면, 편미분 결과인 식 (3.8)을 식 (2.58)에 대입하면,
17
3.2.3 학습 퍼셉트론 학습 알고리즘 식 (3.9)를 이용하여 학습 알고리즘을 쓰면,
훈련집합의 샘플을 모두 맞출(즉 𝑌=∅) 때까지 세대epoch(라인 3~9)를 반복함
18
3.2.3 학습 퍼셉트론 학습 알고리즘의 스토캐스틱 버전 샘플 순서를 섞음. 틀린 샘플이 발생하면 즉시 갱신
19
3.2.3 학습 행렬 표기 선형분리 불가능한 경우에는 무한 반복 행렬을 사용하여 간결하게 표기:
행렬 표기로 [알고리즘 3-1]을 수정하면, 행렬 표기로 [알고리즘 3-2]를 수정하면, 선형분리 불가능한 경우에는 무한 반복 until(𝑌=∅) 또는 until(quit)를 until(더 이상 개선이 없다면)으로 수정해야 함
20
3.3 다층 퍼셉트론 3.3.1 특징 공간 변환 3.3.2 활성함수 3.3.3 구조 3.3.4 동작
21
3.3 다층 퍼셉트론 퍼셉트론은 선형 분류기라는 한계 [그림 3-7(b)]의 선형 분리 불가능한 상황에서는 일정한 양의 오류
예) XOR 문제에서는 75%가 정확률 한계 1969년 민스키의 『Perceptrons』 퍼셉트론의 한계를 지적하고 다층 구조를 이용한 극복 방안 제시. 당시 기술로 실현 불 가능 1974년 웨어보스는 박사 논문에서 오류 역전파 알고리즘 제안 1986년 루멜하트의 저서 『Parallel Distributed Processing』 다층 퍼셉트론 이론 정립하여 신경망 부활
22
3.3 다층 퍼셉트론 다층 퍼셉트론의 핵심 아이디어
23
3.3.1 특징 공간 변환 퍼셉트론 2개를 사용한 XOR 문제의 해결
퍼셉트론①과 퍼셉트론②가 모두 +1이면 부류이고 그렇지 않으면 부류임
24
3.3.1 특징 공간 변환 퍼셉트론 2개를 병렬로 결합하면, 원래 공간 𝐱= 𝑥 1 , 𝑥 2 T 를 새로운 특징 공간 𝐳= 𝑧 1 , 𝑧 2 T 로 변환 새로운 특징 공간 𝐳에서는 선형 분리 가능함 사람이 수작업으로 특징 학습을 수행한 셈
25
3.3.1 특징 공간 변환 퍼셉트론 1개를 순차 결합하면, 새로운 특징 공간 𝐳에서 선형 분리를 수행하는 퍼셉트론③을 순차 결합하면, [그림 3- 10(b)]의 다층 퍼셉트론이 됨 이 다층 퍼셉트론은 훈련집합에 있는 4개 샘플 을 제대로 분류하나?
26
3.3.1 특징 공간 변환 다층 퍼셉트론의 용량 [그림 3-11]처럼 3개 퍼셉트론을 결합하면, 2차원 공간을 7개 영역으로 나누고 각 영역을 3차원 점으로 변환 활성함수 𝜏로 계단함수를 사용하므로 영역을 점으로 변환 일반화하여, p개 퍼셉트론을 결합하면 p차원 공간으로 변환 1+ 𝑖=1 𝑝 𝑖 개의 영역으로 분할
27
3.3.2 활성함수 딱딱한 공간 분할과 부드러운 공간 분할
계단함수는 딱딱한 의사결정(영역을 점으로 변환). 나머지 활성함수는 부드러운 의사결정( 영역을 영역으로 변환)
28
3.3.2 활성함수 신경망이 사용하는 다양한 활성함수 로지스틱 시그모이드와 하이퍼볼릭 탄젠트는 a가 커질수록 계단함수에 가까워짐 모두 1차 도함수 계산이 빠름 (특히 ReLU는 비교 연산 한 번) 퍼셉트론은 계단함수, 다층 퍼셉트론은 로지스틱 시그모이드와 하이퍼볼릭 탄젠트, 딥러 닝은 ReLU를 주로 사용
29
3.3.3 구조 [그림 3-14(a)]는 입력층-은닉층-출력층의 2층 구조
d+1개의 입력 노드 (d는 특징의 개수). c개의 출력 노드 (c는 부류 개수) p개의 은닉 노드: p는 하이퍼 매개변수(사용자가 정해주는 매개변수) p가 너무 크면 과잉적합, 너무 작으면 과소적합 5.5절의 하이퍼 매개변수 최적화 [그림 3-14(b)]는 입력층-은닉층-은닉층-출력층의 3층 구조
30
3.3.3 구조 다층 퍼셉트론의 매개변수(가중치) 입력층-은닉층을 연결하는 𝐔 1 ( 𝑢 𝑗𝑖 1 은 입력층의 i번째 노드를 은닉층의 j번째 노드와 연결) 은닉층-출력층을 연결하는 𝐔 𝟐 ( 𝑢 𝑘𝑗 2 는 은닉층의 j번째 노드를 출력층의 k번째 노드와 연결) 일반화하면 𝑢 𝑗𝑖 𝑙 은 l-1번째 은닉층의 i번째 노드를 l번째 은닉층의 j번째 노드와 연결하는 가 중치 입력층을 0번째 은닉층 , 출력층을 마지막 은닉층으로 간주
31
3.3.4 동작 특징 벡터 x를 출력 벡터 o로 매핑하는 함수로 간주할 수 있음 깊은 신경망은 4장의 주제(딥러닝)
32
3.3.4 동작 노드가 수행하는 연산을 구체적으로 쓰면, 다층 퍼셉트론의 동작을 행렬로 표기하면,
𝐮 𝑗 1 은 j번째 은닉 노드에 연결된 가중치 벡터 (식 (3.11)의 𝐔 1 의 j번째 행) 𝐮 𝑘 2 는 k번째 출력 노드에 연결된 가중치 벡터 (식 (3.11)의 𝐔 𝟐 의 k번째 행) 다층 퍼셉트론의 동작을 행렬로 표기하면,
33
3.3.4 동작 은닉층은 특징 추출기 은닉층은 특징 벡터를 분류에 더 유리한 새로운 특징 공간으로 변환
현대 기계 학습에서는 특징 학습이라feature learning 부름 (딥러닝은 더 많은 단계를 거쳐 특징 학습을 함)
34
3.4 오류 역전파 알고리즘 3.4.1 목적함수의 정의 3.4.2 오류 역전파 알고리즘 설계
3.4.3 오류 역전파를 이용한 학습 알고리즘
35
3.4.1 목적함수의 정의 훈련집합 특징 벡터 집합 𝕏= 𝐱 1 , 𝐱 2 ,⋯, 𝐱 𝑛 과 부류 벡터 집합 𝕐= 𝐲 1 , 𝐲 2 ,⋯, 𝐲 𝑛 부류 벡터는 원핫 코드로 표현됨. 즉 𝐲 𝑖 = 0,0,⋯,1,⋯,0 T 설계 행렬로 쓰면, 기계 학습의 목표 모든 샘플을 옳게 분류하는(식 (3.17)을 만족하는) 함수 f를 찾는 일
36
3.4.1 목적함수의 정의 목적함수 평균 제곱 오차로MSE(mean squared error) 정의
37
3.4.2 오류 역전파 알고리즘의 설계 식 (3.19)의 목적함수를 다시 쓰면,
2층 퍼셉트론의 경우 Θ= 𝐔 1 , 𝐔 2 𝐽 Θ =𝐽( 𝐔 1 , 𝐔 2 )의 최저점을 찾아주는 경사 하강법
38
3.4.2 오류 역전파 알고리즘의 설계 식 (3.21)을 알고리즘 형태로 쓰면,
39
3.4.2 오류 역전파 알고리즘의 설계 오류 역전파의 유도
[알고리즘 3-3]의 라인 6을 위한 도함수 값 𝜕𝐽 𝜕 𝐔 1 와 𝜕𝐽 𝜕 𝐔 2 의 계산 과정 먼저 𝐔 2 를 구성하는 𝑢 𝑘𝑗 2 로 미분하면,
40
3.4.2 오류 역전파 알고리즘의 설계 오류 역전파의 유도 𝐔 1 을 구성하는 𝑢 𝑗𝑖 1 로 미분하면,
41
3.4.2 오류 역전파 알고리즘의 설계 지금까지 유도한 식을 정리하면,
오류 역전파error back-propagation 알고리즘 식 (3.22)~(3.25)를 이용하여 출력층의 오류를 역방향(왼쪽)으로 전파하며 그레이디언트를 계산하는 알고리즘
42
3.4.3 오류 역전파를 이용한 학습 알고리즘 식 (3.22)~(3.25)를 이용한 스토캐스틱 경사 하강법
43
3.4.3 오류 역전파를 이용한 학습 알고리즘 임의 샘플링 방식으로 바꾸려면,
44
3.4.3 오류 역전파를 이용한 학습 알고리즘 행렬 표기: GPU를 사용한 고속 행렬 연산에 적합
45
3.5 미니배치 스토캐스틱 경사 하강법 미니배치 방식 한번에 t개의 샘플을 처리함 (t는 미니배치 크기)
t=n이면 배치 경사 하강법 미니배치 방식은 보통 t=수십~수백 그레이디언트의 잡음을 줄여주는 효과 때문에 수렴이 빨라짐 GPU를 사용한 병렬처리에도 유리함 현대 기계 학습은 미니배치를 표준처럼 여겨 널리 사용함
46
3.5 미니배치 스토캐스틱 경사 하강법
47
3.6 다층 퍼셉트론에 의한 인식 예측 (또는 테스트) 단계
학습을 마친 후 현장 설치하여 사용 (또는 테스트 집합으로 성능 테스트) 라인 6을 수식으로 표현하면, 전방 계산 한번만 사용하므로 빠름 (표 3-2 참조)
48
3.7 다층 퍼셉트론의 특성 3.7.1 오류 역전파 알고리즘의 빠른 속도 3.7.2 모든 함수를 정확하게 근사할 수 있는 능력
3.7.3 성능 향상을 위한 휴리스틱의 중요성
49
3.7.1 오류 역전파 알고리즘의 빠른 속도 연산 횟수 비교
오류 역전파는 전방 계산보다 약 1.5~2배의 시간 소요 빠른 계산 가능 하지만 학습 알고리즘은 수렴할 때까지 오류 역전파를 반복해야 하므로 점근적 시간 복잡 도는 𝛩( 𝑑𝑝+𝑝𝑐 𝑛𝑞) (n은 훈련집합의 크기, q는 세대epoch 수)
50
3.7.2 모든 함수를 정확하게 근사할 수 있는 능력 호닉의 주장[Hornik1989]
은닉층을 하나만 가진 다층 퍼셉트론은 범용근사자universal approximator 은닉 노드를 무수히 많게 할 수 없으므로, 실질적으로는 복잡한 구조의 데이터에서는 성능 한계
51
3.7.3 성능 향상을 위한 휴리스틱의 중요성 순수한 최적화 알고리즘으로는 높은 성능 불가능 휴리스틱 개발에서 중요 쟁점
데이터 희소성, 잡음, 미숙한 신경망 구조 등의 이유 성능 향상을 위한 갖가지 휴리스틱을 개발하고 공유함 예) 『Neural Networks: Tricks of the Trade』 [Montavon2012] 휴리스틱 개발에서 중요 쟁점
52
3.7.3 성능 향상을 위한 휴리스틱의 중요성 실용적인 성능 하지만 한계 노출 딥러닝은 이들 한계를 극복함
1980~1990년대에 다층 퍼셉트론은 실용 시스템 제작에 크게 기여 인쇄/필기 문자 인식으로 우편물 자동 분류기, 전표 인식기, 자동차 번호판 인식기 등 음성 인식, 게임, 주가 예측, 정보 검색, 의료 진단, 유전자 검색, 반도체 결함 검사 등 하지만 한계 노출 잡음이 섞인 상황에서 음성인식 성능 저하 필기 주소 인식 능력 저하 바둑에서의 한계 딥러닝은 이들 한계를 극복함
Similar presentations