일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 합성곱 신경망
- mnist
- CNN
- 소수
- 전처리
- Python
- 냥코 센세
- Convolutional Neural Network
- c#
- Autoencoder
- 딥러닝
- 오일러 프로젝트
- Gram matrix
- backpropagation
- neural network
- bayesian
- deep learning
- 히토요시
- 비샤몬당
- 신경망
- 베이지안
- 역전파
- 오토인코더
- 역전파법
- project euler
- SQL
- 자전거 여행
- 수달
- A Neural Algorithm of Artistic Style
- 소인수분해
- Today
- Total
통계, IT, AI
딥러닝: 화풍을 모방하기 (12) - 연습: CNN 구현 본문
1. 개요
CNN으로 Mnist 데이터를 학습해보자. 먼저 대략적인 구조는 그림 <1.1>과 같다.
<그림 1.1 Mnist 데이터를 적합하기 위한 CNN 구조>
입력 데이터의 사이즈는
합성곱층Convolution Layer에서 필터는
완전연결 신경망과 비교하기 위하여 은닉층이 없는 모형, 1개의 은닉층을 갖는 모형, 2개의 은닉층일 갖는 모형도 적합한다. 기타 자세한 설정은 이곳에서 확인할 수 있다. CNN 구현은 <밑바닥부터 시작하는 딥러닝>을 참고하였다.
2. 학습 결과
<그림 2.1>은 CNN을 비롯한 4개의 신경망에 대한 accuracy이다. 붉은색이 CNN, 파란색이 1개, 주황색이 2개의 은닉층을 갖는 완전연결 신경망 그리고 검은색이 은닉층이 없는 신경망이다. CNN의 성능이 우위에 있다는 것을 알 수 있다.
<그림 2.1 CNN 등 4개 신경망 적합 결과>
CNN의 구조상 다른 신경망보다 오랜 학습시간이 필요하지만, 더 나은 성능을 보인다. CNN이 다른 신경망보다 압도적인 우위를 보이지않는 이유는 Mnist 데이터가 크게 복잡하지 않은 데이터이기 때문이라고 생각한다.
한편, <그림 2.2>는 학습 전 합성곱 계층의 필터를, <그림 2.3>은 학습 후의 필터를 시각화 한 것이다. 학습 후의 필터가 규칙성을 보이는 것을 확인할 수 있다. 1
<그림 2.2 학습 전 합성곱 계층의 필터>
<그림 2.3 학습 후 합성곱 계층의 필터>
- <딥러닝 제대로 시작하기>의 그림 7-24를 재현하고자 하였으나 그 그림만큼 극적이지 않아 아쉽다. [본문으로]
'머신러닝' 카테고리의 다른 글
딥러닝: 화풍을 모방하기 (13) - 논문 구현 (0) | 2019.10.10 |
---|---|
딥러닝: 화풍을 모방하기 (11) - 책요약: 6. CNN (0) | 2017.11.30 |
[머신러닝] 나이브 베이즈 분류 Naive Bayes Classification에 대하여 (2) | 2017.08.01 |
딥러닝: 화풍을 모방하기 (10) - 연습: 자기부호화기(Autoencoder) (0) | 2017.04.30 |
딥러닝: 화풍을 모방하기 (9) - 책 요약: 5. 자기부호화기 (0) | 2017.04.17 |