응용분야 : 이미지 인식, 음성 인식
전체 구조//
- 신경망의 종류
1) (Affine 계층 + ReLU계층) * N + (Affine + SoftMax)
-> 완전 연결 계층 (인접하는 계층의 모든 뉴런들과 결합되어 있음)
2) (Conv + ReLU + Pooling) * N + (Affine+ReLU) * M + (Affine+SoftMax)
-> 합성곱 계층
합성곱 계층//
- 완전연결 계층의 문제점 : 데이터의 형상이 무시됨 (모두 1차원으로 평탄화 해줘야됨)
-> 합성곱 계층은 입출력 모두 원래의 차원으로 유지함
- 특징맵 : 합성곱 계층의 입출력 데이터
1) 입력 특징 맵 : 입력 데이터
2) 출력 특징 맵 : 출력 데이터
- 합성곱 연산 : 필터(커널) 연산
- 필터의 윈도우를 일정 간격 이동 -> 입력 데이터에 적용 (단일 곱셈 누산)
- 맨 마지막에 편향도 더해줘야 함
패딩//
- 정의 : 합성곱 연산 이전에, 입력데이터 주변을 특정 값으로 채움
- 목적 : 출력 크기를 조정하기 위함
why? 출력 크기가 계속해서 작아진다면, 학습을 할 수 없음 (반복 연산이 불가능함)
스트라이드//
- 정의 : 필터를 적용하는 위치 간격
-> 필터의 윈도우를 얼만큼의 위치를 이동할 것인가?
3차원 데이터의 합성곱 연산//
- 주의점 : 입력 데이터와 필터 데이터의 차원 수는 일치해야 한다
블록으로 생각하기//
- 여러 개의 출력을 내보내고 싶으면?
-> 열 개의 필터를 적용하면 됨
- 편향의 경우, 길게 늘여서 출력데이터에 더함.
풀링 계층//
- 정의 : 세로/가로 방향의 공간을 줄이는 연산
- 특징 :
1) 학습해야 할 매개변수 없음 : 대상 영역에서만 관찰하면 되므로
2) 채널 수가 변하지 않음 : 입력 데이터의 채널 수 그대로 출력데이터로 내보냄(블록이랑 다름)
3) 입력의 변화에 영향을 적게 받는다
합성곱, 풀링계층 구현하기// CNN 방식에 있는 구현 단계임
- 사용하는 방식 : im2col 함수의 활용
- 원리 : 4차원 배열의 값들을 2차원의 모습으로 펼쳐서 계산함
(2차원 배열간의 계산이 훨씬 빠름. 4차원 계산은 시간이 오래 걸림)
- 합성곱 구현 방식
1) 입력데이터의 정보를 저장해둠 (나중에 결괏값을 원래 차원으로 돌려놓기 위해)
2) 입력데이터를 im2Col을 이용해서 2차원 변환시킴
3) 필터 데이터(가중치 데이터)를 im2col 이용해서 2차원으로 변형시킴
4) 변환시킨 두 행렬을 곱합
5) 결괏값을 1)에서 저장해둔 정보를 기준으로, 원래 배열 차원으로 변형
- 풀링 구현방식 : 채널이 여러 개인 경우, im2col 함수를 이용해서 2차원 배열로 변형 후 계산
(채널이 한 개일 경우에는 변형 안 해도 됨)
1) 입력 데이터를 전개 (im2col)
2) 행별 최댓값 구하기
3) 적절한 모양으로 바꾸기
CNN 시각화하기//
- 필터 설정 : 어떤 필터를 택하는지에 따라, 합성곱의 결과가 다르게 처리됨 -> 시각화가 가능
-> 이 과정을 통해, 원시적 정보 추출 가능 (에지, 블롭 등)
- 층 깊이에 따른 추출 정보 변화 : 층이 거듭될수록, 추상화된 정보가 생겨남
-> 처음엔 사물의 일부에만 반응하나, 겹겹이 통과하면서 '고급'정보가 된다.
대표적인 CNN//
- 종류 : LeNet, AlexNet
- LeNet
- 구성 방식 : (합성곱 + 풀링) * N + ([마지막] 완전연결 계층)
-> 과거엔 활성화함수를 시그모이드 함수 사용. 지금은 ReLU 함수 사용함
- AlexNet
- 구성방식 : LeNet과 거의 유사. 옃 가지 변화 있음
- LeNet과의 차이점 :
1) 활성화 함수로 ReLU 사용
2) LRN 이라는 국소적 정규화 실시 계층 이용
3) 드롭 아웃 사용
- 딥러닝 방식의 발전 원동력
1) GPU : 대량의 병렬 연산을 고속 수행 가능
2) 빅데이터 : 학습이 훨씬 좋아짐
'기계학습 > [밑바닥부터 시작하는 딥러닝]' 카테고리의 다른 글
3장 신경망 코드들 모음 (0) | 2019.08.06 |
---|---|
2장 퍼셉트론 코드들 모음 (0) | 2019.08.06 |
6장 정리 - 학습관련 기술들 (0) | 2019.08.06 |
4장 정리 - 신경망 학습 (0) | 2019.08.06 |
1장-3장 정리 - 퍼셉트론~신경망 (0) | 2019.08.06 |