일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 합성곱 신경망
- backpropagation
- 수달
- CNN
- 히토요시
- deep learning
- 비샤몬당
- 오토인코더
- Autoencoder
- 딥러닝
- 자전거 여행
- mnist
- Python
- 냥코 센세
- Convolutional Neural Network
- project euler
- 전처리
- neural network
- 오일러 프로젝트
- SQL
- Gram matrix
- A Neural Algorithm of Artistic Style
- 역전파
- 소수
- c#
- bayesian
- 베이지안
- 소인수분해
- 역전파법
- 신경망
- Today
- Total
통계, IT, AI
딥러닝: 화풍을 모방하기 (9) - 책 요약: 5. 자기부호화기 본문
5. 자기부호화기: Autoencoder
5.1. 개요
자기부호화기(Autoencoder)란 출력이 입력과 같도록 설계한 신경망이다. 예를 들어 그림 5-1과 같이 입력층과 출력층의 유닛의 수가 서로 같은 2층의 신경망을 생각해보자.
그림 5-1 2층 자기부호화기
1층에서는 입력
5.2. 자기부호화기의 설계
5.2.1 출력층의 활성화 함수와 오차함수
자기부호화기의 활성화 함수는 중간층의
5.2.2 가중치 공유
입력층과 중간층의 유닛 수를 각각
5.3 자기부호화기의 동작
5.3.1 데이터를 나타내는 특징을 학습
자기부호화기도 일반적인 신경망과 마찬가지로 오차함수를 최소화하는 과정을 통해 파라미터를 결정한다. 보통, 중간층의
5.3.2 주성분 분석과의 관계
내용이 어렵고 학습의 목적과 직접적인 관련이 없으므로 생략한다.
5.4 희소 규제화
5.4.1 데이터의 과완비한 표현
좋은 자질은 입력 데이터에서 소음을 제거하고 신호만 추출하는 것이다. 그렇다면 입력 데이터의 성분 수
희소 규제화는 입력
여기서
식 (1)의
이 식은 평균치가 각각
그림 5-2 쿨백-라이블러 발산의 예시
5.4.2 최적화
식 (3)의
식 (4)에서 첫 번째 미분은 다음과 같다.
두 번째 미분은 식 (2)의 정의에 의하여 다음과 같다.
따라서
이렇게 수정된
식 (7)에서
5.4.3 희소 규제화의 효과
지금까지 설명한 바와 같은 방법으로 자기부호화기에 희소 규제화 항을 추가하여 MNIST 데이터를 학습한 결과가 그림 5-3과 같다. 해당 학습에서는 1
그림 5-3 희소 규제화 항의 가중치에 따라 학습되는 자질의 차이
5.5 데이터의 백색화
내용이 어렵고 학습의 목적과 직접적인 관련이 없으므로 생략한다.
5.6 딥 뉴럴넷의 사전훈련
여러 층으로 구성된 신경망은 기울기 소실로 인하여 학습이 잘 되지 않는다. 이것을 해결할 수 있는 방법 중의 하나가 사전 훈련이다. 사전훈련은 학습을 진행하기 전 학습이 잘 일어날 수 있는 초기값을 설정하고자 하는 것이다. 자기부호화기를 이용한 방법이 가장 기본적이다.
그림 5-4 자기부호화기에 기초한 사전 훈련
구체적인 방법은 다음과 같다. 그림 5-4 (b)의 가장 왼쪽과 같은 단층 신경망으로 자기부호화기를 구성하고 훈련 데이터
그림 5-4 (c)와 같이 이렇게 사전훈련을 거쳐서 얻은 파라미터를 초기값으로 사용하면 기울기 소실 문제가 발생할 가능성이 훨씬 낮고 학습이 더 잘 진행되는 것으로 알려져 있다. 하지만 이것은 경험적인 지식일 뿐 왜 그렇게 되는지는 이론적으로 밝혀진 바가 없다. 다만, 데이터의 분포를 자기부호화기를 통하여 잘 포착했기 때문이라고 추측해 볼 수는 있다.
5.7 그외의 자기부호화기
5.7.1. 심층 자기부호화기
그림 5-4는 단층 자기부호화기이다. 자기부호화기도 여러층으로 구성할 수 있는데, 여러 층으로 구성된 신경망의 학습이 어려웠던 것과 마찬가지로 여러층으로 구성된 자기부호화기도 학습이 어렵다.
5.7.2. 디노이징 자기부호화기
자기부호화기와 같은 역할을 하는 것으로 RMB(Restricted Boltzman Machine)이 있다. RBM도 단층 구조의 신명망을 통해 비지도학습을 수행하지만, 자기부호화기와는 다르게 확률적 생성 모델을 학습하며 최적화 방법에도 확률적인 요소가 포함된다. RBM은 자기부호화기보다 우수하지만 자기부호화기의 학습에 확률적인 요소를 도입하여 RBM과 비슷한 성능을 갖게 할 수 있다. 이를 디노이징 자기부호화기(Denoising autoencoder)라고 한다.
지금까지 자기부호화기에서는 출력이 입력과 같았지만 디노이징 자기부호화기는 입력
- 책에서는 그림 5-6이다. [본문으로]
'머신러닝' 카테고리의 다른 글
[머신러닝] 나이브 베이즈 분류 Naive Bayes Classification에 대하여 (2) | 2017.08.01 |
---|---|
딥러닝: 화풍을 모방하기 (10) - 연습: 자기부호화기(Autoencoder) (0) | 2017.04.30 |
딥러닝: 화풍을 모방하기 (8) - 연습: 역전파법 (0) | 2017.03.01 |
딥러닝: 화풍을 모방하기 (7) - 책 요약: 4. 역전파법 (0) | 2017.02.16 |
딥러닝: 화풍을 모방하기 (6) - 연습: 다클래스 분류 문제 (1) | 2017.02.02 |