CNN의 주요 용어 정리
채널(Channel)
- 이미지 픽셀 하나하나는 실수이며, 이미지 형태는 (높이, 폭, 채널)로 구성
- 컬러 사진은 RGB 형태로 되어있음 ( 빨강, 초록, 파랑 )
- 흑백 사진은 흑백 명암만을 표현하는 2차원 데이터로 1개 채널로 구성
합성공 (Convolution)
- 데이터 추출 과정으로 필터를 사용하여 인접 데이터를 조사해 특징을 파악하여
한 장으로 도출
- 필터와 활성화함수로 구성되어 있음
- 필터는 특징(feature)이 데이터에 있는지 없는지 검출하여 가중치 부여
- 활성화 함수는 특징 유무를 수치화하기 위해 비선형 값으로 바꿔주는 함수
- 커널은 sliding window 하는 영역에서의 크기
- 스트라이드는 필터를 적용하는 간격을 의미 (스트라이드를 높일수록 언더피팅, 출력의크기가 작아짐)
- 패딩은 합성곱층의 출력 데이터 사이즈를 조절하는 기능이다
패딩값을 지정하면 입력 데이터 외곽까지 손실없이 학습할 수 있다.
- 풀링의 역할은 합성곱층에서 받은 최종 출력 데이터의 크기를 줄이거나 특정 데이터를 강조
풀링층은 학습대상 파라미터가 필요없으며, 풀링층을 통과하면 행렬의 크기가 감소,
풀링층을 통한 채널 수 변경없음
- 드랍아웃은 AlexNet에서 선보인 과대적합을 막기 위한 방법
이미지 증강을 하기 어렵거나 하면 안되는 경우!!
1) 크롭이나 확대 => 노이즈를 확대하거나 크롭하면 더 문제가 될 수 있겠죠!
2) 회전, 반전 => 6을 180도 돌리면 완전히 다른 의미인 9가 되기 때문에 이런 숫자 이미지는 돌리지 않습니다.
3) 색상 변경 => 만약 장미꽃이라면 다양한 색상이 있기 때문에 색상을 변경해도 상관이 없지만, 신호등이라면 안전과 직결되기 때문에 변경하면 안 됩니다.
3) 데이터셋 => 증강할 때 train 에만 해줍니다. test에는 해주지 않습니다. 왜냐하면 현실세계 문제를 푼다고 가정했을 때 현실세계 이미지가 들어왔을 때 증강해주지는 않고 들어온 이미지로 판단하기 때문에 train에만 사용합니다.
4) 결론 => 증강을 할 때는 현실세계 문제와 연관해서 고민해 봐야 합니다.