딥러닝과 CNN 이해 (Part1)
다층신경망(FNN)의 근본적인 문제점
- 계층의 개수가 커지면 신경망의 학습이 제대로 이뤄지지 않음.
- 원인은 기울기 소실(gradient vanishing) 또는 기울기 폭증(gradient explosion)현상
- 실제로는 기울기 폭증은 잘 안일어남. 기울기 소실이 주로 일어남.
딥러닝 등장 배경
- 2006년 힌튼(Hinton) 교수가 심층신경망(Deep Neural Netowork)의 학습 가능성 데모
- (층이 많은 경우에도 기울기 소실 문제를 잘 하면 회피할 수 있다는 가능성을 보여줬다.)
딥러닝 개요
딥러닝이란?
다층 구조의 신경망
딥러닝의 장점
End to End 학습
Raw data를 입력으로 특징 자동추출 -> 전문가 개입 배제.
초기 딥러닝의 기반 모델
- 다양한 망구조 조합 활용
- 컨볼루젼망(Convolutional) == CNN
- 여러 노드가 가중치 공유를 통한 계산량 축소
- 위치와 위상적 특징 추출 효율화
- 서브 샘플링으로 공간 축소
- 순환망(Recurrent)
- 노드의 출력값, 상태값을 되돌려 입력으로 사용
- 일종의 상태(메모리) 유지 효과
- RNN과 개선 모델일 LSTM
딥러닝 활성화 배경
- 혁신 알고리즘
- 공개 개발환경
- 고성능 컴퓨팅 환경 (GPU, 클라우드)
- 풍부한 대규모 학습 데이터
컴퓨터 비전 소개
개요
전통적인 컴퓨터 비전 -> 방대한 도메인 -> 막대한 수작업 처리 필요
특징 추출과 필터
Linear Filtering
- 연산 유형: Cross-correlation, Convolution
- 각 필셀을 주변 픽셀의 선형결합(내적)으로 나타냄
- 선형 결합을 위한 오퍼레이터는 커널(kernel), 마스크(mask) 또는 필터(filter)라 부름
CNN 개요
CNN의 역사
CNN은 오랜 역사를 지니고 있으며, 최근 딥러닝의 붐을 일으키는 데 중추 역할
컴퓨팅 필요량의 최소화를 통해 주로 영상/비전 영역에 큰 장점을 지님
CNN의 기술적 특징
전통적인 일반 신경망과 비교한 CNN의 특징 추출 차별화
- 부분 연결 방식의 계층 사용
- 필터를 학습 대상으로 삼음
CNN의 기본 구조
CNN은 주로 Convolution, Polling(Subsampling), Fully-connected 계층으로 구성
(N개의 Conv+Pooling)