8.1 더 깊게
8.1.1 더 깊은 신경망으로
- 3x3의 작은 필터 사용한 합성곱 계층
- 활성화 함수는 ReLU
- 완전연결 계층 뒤에 드롭아웃 계층 사용
- Adam을 사용해 최적화
- 가중치 초깃값은 He 초깃값
-> 정확도 99.38%까지 올라감
8.1.2 정확도를 더 높이려면
- 데이터 확장 (data augmentation) : 입력 이미지를 알고리즘을 동원해 '인위적'으로 확장
- 입력 이미지를 회전하거나 세로로 이동
- crop: 이미지 일부를 잘라냄
- filp: 좌우를 뒤집음
- 밝기 등의 외형 변화
- 확대, 축소 등의 스케일 변화
8.1.3 깊게 하는 이유
- 신경망의 매개변수 수가 줄어든다.
- 층을 깊게 한 신경망은 깊지 않은 경우보다 적은 매개변수로 같은 수준의 표현력 달성 가능
-> 넓은 수용 영역 소화 가능 - 층을 거듭하면서 활성화 함수를 합성곱 계층 사이에 끼움으로써 신경망의 표현력 개선
-> 활성화 함수가 신경망에 비선형 힘을 가함 => 복잡한 표현 가능
- 층을 깊게 한 신경망은 깊지 않은 경우보다 적은 매개변수로 같은 수준의 표현력 달성 가능
- 학습의 효율성 ↑
- 학습 데이터의 양을 줄여 학습 고속으로 가능
8.2 딥러닝의 초기 역사
8.2.1 이미지넷
ImageNet: 100만 장이 넘는 이미지를 담고 있는 데이터셋
ILSVRS : 이미지넷을 사용하는 이미지 인식 기술 대회
2021년 이후 딥러닝 방식을 사용하면서 오류율이 크게 낮아짐
8.2.2 VGG
: 합성곱 계층과 풀링 계층으로 구성되는 기본적인 CNN
- 합성곱과 완전연결 계층 같이 비중 있는 층을 모두 16층 (혹은 19층)으로 심화한 게 특징
- 3x3의 작은 필터를 사용한 합성곱 계층을 연속으로 거침
- 2~4회 연속으로 풀링 계층을 두어 크기를 절반으로 줄이는 처리 반복
- 마지막에는 완전연결 계층을 통과시켜 결과 출력
- 성능 면에서는 GoogLeNet에 뒤지지만 구성이 간단해서 응용하기 좋음
8.2.3 GoogLeNet
: 세로 방향 깊이 뿐만 아니라 가로 방향도 깊다는 점이 특징
- 가로 방향에 '폭'이 있음 -> 인셉션 구조
- 크기가 다른 필터를 여러 개 적용하여 그 결과를 결합
- 1x1 크기의 필터를 사용한 합성곱 계층을 많은 곳에서 사용
-> 채널 쪽으로 크기를 줄임
=> 매개변수 제거와 고속 처리에 기여
8.2.4 ResNet
: 마이크로소프트 팀이 개발한 네트워크
- 스킵 연결을 도입하여 층의 깊이에 비례해 성능을 향상시킴
- 스킵 연결 : 입력 데이터를 합성곱 계층을 건너뛰어 출력에 바로 더하는 구조
-> 기울기 소실 문제 해결
+) 전이학습 : 학습된 가중치를 다른 신경망에 복사한 다음, 그 상태로 새로운 데이터셋으로 재학습(fine tuning)을 수행
-> 보유한 데이터셋이 적을 때 유용한 방법
8.3 더 빠르게 (딥러닝 고속화)
- GPU
- 분산 학습
- 비트 정밀도 감소
- 딥러닝은 사물 인식 뿐 아니라 사물 검출과 분할에도 이용할 수 있음
- 응용 분야로는 사진의 캡션 생성, 이미지 생성, 강화학습 등이 있음
- 최근에는 자율 주행에도 딥러닝을 접목하고 있음
책 참고 : 밑바닥부터 시작하는 딥러닝 (한빛미디어)
'딥러닝 > 밑바닥부터 시작하는 딥러닝' 카테고리의 다른 글
7장 : 합성곱 신경망(CNN) (0) | 2023.09.17 |
---|---|
6장 : 학습 관련 기술들 (0) | 2023.09.15 |
5장 : 오차역전파법 (0) | 2023.09.13 |
4장 : 신경망 학습 (0) | 2023.09.06 |
3장 : 신경망 (0) | 2023.09.05 |