사진에서 고양이를 판별할 때,
2차원 사진을 1차원으로 바꿔야했다.
데이터가 일자가 되었기 때문에 공간적인 관점이 사라진다.
하지만 사람은 공간적으로 물체를 인식한다.
그래서, AI도 공간적으로 인식할 수 있게 하려고 CNN을 구상해냈다.
CNN의 주요 아이디어는 사진에서 선, 모서리를 우선 인식하고, 입과 눈을 인식하고, 마지막으로 전체적인 인상을 보는 것이다.
사람은 작은 영역의 특징을 인식하는 "수용장"이라는 시각 처리 방식을 가지고 있다.
수용장을 이용해서 점진적으로 크게 인식하는 사람의 방식을 모사한게 CNN이다.

위와 같이 "필터"가 있다.
한 사진에 저 작은 필터들을 대조해본 후에 필터패턴이랑 비슷한 부분을 추출한다.
그 부분이 특징부분이 된다.
필터에는 저런 것도 있고, 뭉게지는 것처럼 사진을 바꿀 수 있는 평균 필터와 중심가중치를 둬서 선명하게 사진을 바꿀 수 있는 가우스 필터도 있다.
이렇게 얻은 이미지를 특성 맵이라고 한다.
DNN처럼 한 층에는 여러 필터가 있고, 특성 맵을 얻은 다음에 또 여러 필터들을 대입해서 특성 맵을 얻는다.
그 과정에서 점점 이미지가 작아진다는 문제점이 있다.
합성곱을 하면 가장자리 부분은 계산이 안된다.
그래서 원래 이미지의 가장자리에 0을 채워주는 패딩방식을 사용한다.
0 대신에 바로 옆에 있는 숫자를 넣는 방식도 있다.
한 번 필터를 적용할 때 원래 이미지에서 적용되는 영역을 윈도우라고 한다.
기존에는 한 픽셀씩 윈도우를 이동하는 방식을 썼었는데 너무 오래 걸려서 3칸씩 껑충껑충 이동하는 방식을 사용하기도 한다.
이동하는 간격을 스트라이드라고 한다.
스트라이드가 클 수록 특성 맵은 작아진다.
특징추출하면서 메모리도 아낄겸 요샌 스트라이드를 2로 하는 모델이 많아졌다.
합성곱층에서 추출한 특성 맵은 정보가 많다.
이를 대비해서, 합성곱 대신 최대값을 가져오는 풀링층이라는 게 있다.
가장 일반적인 풀링은 최대값풀링이지만 평균값(아까 말한 평균필터와 작동방식은 비슷하지만 쓰는 위치랑 목적이 다름)을 쓰는 것도 풀링이다.
풀링의 장점은 앞서 말했듯 정보를 줄여주는 역할도 있지만 "과대적합을 막아준다"는 강력한 강점이 있다.
과대적합은 주어진 데이터에 너무 꼭 맞춰서 학습된 경우를 말한다.
과대적합이 되면 픽셀값을 일부만 변경해도 결과값이 바뀐다.
풀링은 중요한 정보만 요약해주기 때문에 이러한 과대적합을 예방할 수 있다.
'딥러닝' 카테고리의 다른 글
| 분류기 성능, 제대로. 재기. (Recall, Precision, F1) (0) | 2025.04.18 |
|---|---|
| 선형회귀 해보기 (0) | 2025.04.18 |
| IRIS 데이터 사용해보기 (0) | 2025.04.18 |
| 시작해보기 (0) | 2025.04.18 |