다층 퍼셉트론에 은닉층을 여러 개 추가하면 깊은 신경망deep neural networks이 됨
심층학습은 깊은 신경망의 학습
심츠학습은 새로운 응용을 창출하고 인공지능 제품의 성능을 획기적으로 향상 -> 현대 기계학습을 주도
1980년대 이미 깊은 신경망 아이디어 등장
하지만 실현 불가능
1.경사소멸vanishing gradient문제
2.작은 훈련집합
3.과다한 연산과 시간 소요
일부 학자들은 실망스러운 상황에서도 지속적인 연구
1.학습률에 따른 성능 변환 양상
2.모멘텀과 같은 최적 탐색 방법 모색
3.은닉 노드 수에 다른 성능 변화
4.데이터 전처리의 영향
5.활성함수의 영향
6.규제기법의 영향 등에서 다양하게 시도
compute activations, forward prop : 예측하기까지
compute derivatives, back prop : 손실함수 값을 낮추는 과정
sigmoid함수는 미분하면 경사도가 0이 되는 지점이 존재해서 back prop를 할수록 gradient가 희석되는 경우가 생긴다.
혁신적 알고리즘의 등장
1.합성곱 신경망convolutional neural networks 구조 : 부분 연결과 가중치 공유를 통해서 효율적인 신경망 학습 구조를 제공
2.경사소멸 문제 해결을 위한 ReLU 활성함수
3.과잉적합을 방지하는데 효과적인 다양한 규제 기법
4.층별 예비학습pretraining 기법 개발
값싼 GPGPU의 등장
학습 데이터의 양과 질의 향상
1.전통적인 다층 퍼셉트론
은닉층은 특징 추출기
얕은구조(제한적 특징 추출)이므로 가공하지 않은 획득한 원래 패턴을 그대로 입력하면 낮은 성능 -> 따라서 사람이 수작업 특징을 선택feature selection하거나 추출feature extraction하여 신경망에 입력함
2.현대 기계학습(심층학습)
학습에 의해 자동적으로 데이터로부터 특징data driven features 추출 <- 표현학습representation learning
특징 벡터를 신경망의 입력 <- 종단간 학습 end-to-end learning
1방식은 사람이 개입해 특정한 feature를 사용한다면(특성공학, feature engineering)
2방식은 사람의 개입이 없이 모든 것을 기계에 맡긴다.(feature learning + Classification) -> 깊은 신경망을 통한 계층적, 추상적 학습
낮은 단계 은닉층은 선이나 모서리와 같은 간단한 특징 추출
높은 단계 은닉층은 추상적인 형태abstractive representation의 복잡한 특징 추출
가령 사람의 얼굴이 입력이라면, 낮은 은닉층에서는 선이나 모서리와 같은 엣지와 그 특징들의 집합을 만들고, 높은 은닉층에서는 형태가 추상화된 객체 모델을 만들게 된다.
표현 학습이 강력해짐에 따라 기존 응용에서 획기적인 성능 향상
1.영상인식, 음성인식, 언어 번역 등
2.새로운 응용 창출
분류나 회귀 뿐 아니라 생성 모델이나 화소 수준의 영상 분할segmentation
CNN LSTM의 혼합 학습 모델(자연 영상에 주석 달기 응용)등이 가능해짐
입력(d+1차원의 특징벡터)과 출력(c개 분류)
L-1개의 은닉층(입력층은 0번째, 출력층은 L번째)
입력층의 특징 벡터를 내부 표현으로 바꾸어 쓰면, z
l번째 층의 연산 zl = Tl(Ul@zl-1)
주요 알고리즘의 개선
퍼셉트론 -> 다층 퍼셉트론 -> 깊은 다층 퍼셉트론
계단함수 -> 시그모이드 함수 -> ReLU
MSE -> MSE -> 교차엔트로피 또는 로그 우도
합성곱 신경망CNN의 부상
고전적인 방법에서는 분할, 특징추출, 분류를 따로 구현한 다음 이어붙임, 사람의 직관에 따르므로 성능에 한계, 인식 대상이 달라지면 새로 설계해야 함
심층학습은 전체 깊은 신경망을 동시에 최적화
특징추출(저급 특징 + 고급 특징) + 분류 ->
결국엔 넓이보다는 깊이이다.(20개 노드 1은닉층보다 10개 노드 2은닉층)
깊은 신경망에서는 층의 역할이 잘 구분됨
반면 얕은 신경망은 하나 또는 두 개의 은닉층이 여러 형태의 특징을 모두 담당