Chap 6. 콘벌루션 신경망
이미지와 같은 고차원 데이터는 차원별로 크기가 조금씩 커져도 전체 데이터 크기, 모델의 파라미터 수가 기하급수적으로 증가
--> 순방향 신경망은 이미지 데이터를 처리하기에 비효율적
6.1 시각 패턴 인식을 위한 신경망 모델
쿠니히코 후쿠시마 - 동물 시각 시스템의 계층적 모델은 인공 신경망으로 모델링
네오코그니트론, 콘벌루션 신경망이 탄생하는 데 영향을 미침
생체 신경망의 계층적 시각 정보 처리 by 데이비드 허블 & 토르스텐 닐스 비셀
<실험 결과>
1. 뉴런은 아주 좁은 영역의 자극에 반응
2. 뉴런마다 다른 모양의 특징을 인식하도록 뉴런의 역할이 나뉨
3. 뉴런은 계층 구조를 이루며 시각 정보를 계층적으로 처리
허블 & 비셀 모델에 영감을 받은 네오코그니트론
- 위쪽: 생체 신경망이 시각 신호를 계층적으로 처리하는 단계
- 아래쪽: 네오코그니트론의 신호 처리 단계 (생체 신경망과 대응됨)
네오코그니트론 구조는 다음과 같은 특징을 가진다.
- 생체 신경망의 처리 경로 모방 --> 여러 계층으로 쌓은 신경망 구조
- 단순 세포 계층: 시각 정보의 다양한 특징을 학습
- 복합 세포 계층: 특징의 크기를 줄이는 방식으로 수용 영역 넓히고 특징에 대한 위치 불변성 제공
- 비지도 학습이 결합한 자체 알고리즘
콘벌루션 신경망의 탄생 by 얀 르쿤
- 네오코그니트론의 영향을 받은 것
- 최초의 콘벌루션 신명망 모델: 르넷-5
- 이를 활용하여 우편물에 필기체로 쓰인 우편번호를 인식하는 데 성공
- 르넷-5는 콘벌루션 계층 & 서브샘플링 계층으로 이루어짐
- 각각 생체 신경망의 시각 영역을 모델링한 것
- 완전 연결 계층으로 연결하여 생체 신경망의 연관 영역을 모델링
6.2 콘벌루션 신경망의 구조
- 콘벌루션 계층과 서브샘플링 계층으로 이루어짐
- 두 계층이 번갈아 가면서 반복되고 완전 연결 계층으로 이어짐
- 두 계층의 연산이 더 많이 실행될수록 뉴런의 수용 영역은 점점 넓어짐
--> 작은 영역의 단순한 특징부터 넓은 영역의 특징까지 계층적으로 인식
콘벌루션 계층
- 콘벌루션 연산을 통해 이미지의 다양한 특징 학습
서브 샘플링 계층
- 풀링 연산을 통해 이미지의 크기를 줄여서 특징의 작은 이동에 대한 위치 불변성을 갖도록 함
6.3 콘벌루션 신경망의 가정 사항
- 뉴런이 지역 연결을 갖는 모델이므로 파라미터를 일부만 사용
콘벌루션 연산의 성질
- 일부 파라미터를 사용하지 않는 매우 강한 사전 분포 가정
- 희소연결
콘벌루션 필터는 입력 데이터와 겹치는 영역에만 연결
나머지 영역에서는 연결이 없음
- 파라미터 공유
동일한 콘벌루션 필터로 콘벌루션을 하므로 같은 계층의 모든 뉴런은 파라미터를 공유함
- 이동등변성
위치에 상관없이 동일한 지역 특징을 인식할 수 있음
풀링 연산의 성질
- 매우 강한 사전 분포 가정
- 수용 영역 외의 파라미터 미사용
- 위치불변성
- 입력이 아주 작게 이동했을 때 출력이 바뀌지 않음
- 특징의 정확한 위치보다 특징의 존재에 대해 관심이 많을 때 유용
- 주로 인식 모델에서 활용
6.4 개선된 콘벌루션 연산
팽창 콘벌루션
- 파라미터 수와 계산량을 늘리지 않고 공간 특성 유지 & 수용 영역 넓히기
- 콘벌루션 필터의 수용 픽셀 간격을 띄워서 필터를 넓게 만듬
- 장점: 공간 특징을 잘 유지 가능
- 단점: 액티베이션 맵의 크기가 줄어들지 않기 때문에 메모리 사용량 증가
점별 콘벌루션
- 가로 X 세로 크기가 1 X 1 콘벌루션 필터 사용
- 가로 X 세로 크기 불변, 채널 수만 달라짐
그룹 콘벌루션
- 채널을 여러 그룹으로 나눠서 콘벌루션하는 방식
- 파라미터와 계산이 절약
- 채널 간에 상관관계 갖는 구조 학습 가능
- 장점: 과적합 방지되는 정규화 효과, 파라미터 수 감소(상관관계 낮은 채널 간에 연결 X)
깊이별 콘벌루션
- 각 채널의 공간 특징을 학습할 수 있도록 채널별로 콘벌루션 연산 수행하고 결과를 재결합
깊이별 분리 콘벌루션
- 깊이별 콘벌루션 + 점별 콘벌루션 결합
- 표준 콘벌루션보다 계산량이 8-9배 정도 감소
셔플 그룹 콘벌루션
- 채널 그룹 간에 정보 교환 --> 표현 강화
- 주기적으로 그룹 간에 채널 섞어서 정보 교환되도록 함
공간 분리 콘벌루션
- 정사각형 콘벌루션 필터를 가로 방향 필터와 세로 방향 필터로 인수분해
- 장점: 계산량 낮추기 가능
- 단점: 최적해가 아닌 준최적해 탐색
6.5 업샘플링 연산
- 업샘플링 연산이란?
- 이미지 크기를 키우는 연산
- 주로 이미지 생성 모델이나 세그멘테이션 모델에서 사용
언풀링
- 풀링의 반대 연산
- 요약된 통계 데이터를 요약하기 전 크기의 데이터로 복구하는 연산
바늘방석 언풀링
- 2 X 2 영역의 첫 번째 픽셀은 원래의 값으로 채우고 나머지 픽셀은 0으로 채우는 방법
최근접 이웃 언풀링
- 2 X 2 영역을 모두 원래의 픽셀값으로 채우는 방법
맥스 언풀링
- 최댓값의 위치를 기억해 두었다가 언풀링을 할 때 기억해둔 위치로 값을 복원하고 나머지는 0으로 채움
트랜스포즈 콘벌루션
- 콘벌루션 필터를 학습하듯이 업샘플링 필터도 학습하도록 만든 방식