시험 준비 및 공부 기록 아카이브 용으로 작성하는 글입니다.
다소 내용이 정제되어 있지 않을 수 있습니다.
컨볼루션 신경망 (CNN)

완전 연결 구조로 인해 높은 복잡도를 가져 학습이 느리고 과잉적합의 우려가 있는 DMLP와 달리, CNN은 컨볼루션 연산을 통해 연결을 일부만 해 복잡도를 크게 낮추고, 좋은 특징을 효과적으로 추출할 수 있음. CNN은 격자 구조를 가지는 영상 및 음성 데이터 학습에 적합하며, 가변 크기의 입력을 처리할 수 있음.

해당하는 요소끼리 곱하고 결과를 전부 더하는 선형 연산인 컨볼루션 연산을 통해 특징 맵을 추출함.


가장자리에서 입력이 줄어드는 효과를 방지하기 위한 덧대기(padding) 및 데이터 표현의 유연성을 극대화하기 위한 바이어스 추가 등의 기법 또한 사용됨.

모든 노드가 동일한 커널을 사용하므로 (가중치 공유) 매개 변수의 개수가 크게 감소함, 따라서 모델의 복잡도도 크게 낮아짐.

커널마다 추출하는 특징이 다르며, 커널을 하나만 사용하면 추출된 특징이 너무 빈약하기에 실제로는 커널을 수십~수백 개를 사용해 특징을 추출함. 이때, 커널은 사람이 설계하지 않고 학습으로 알아내며, DMLP와 마찬가지로 오류역전파를 통해 커널을 학습함.

CNN은 입력이 변하면 출력도 그에 맞춰서 변하는 이동 동변성 덕분에 영상 인식에서의 물체 이동이나 음성 인식에서의 발음 지연에 효과적으로 대처가 가능함

CNN은 각 노드의 계산은 독립적으로 병렬 처리되지만, 정보는 층을 거치며 전체에 분산되어 영향을 미치는 병렬분산 구조를 가짐

보폭(stride)를 1보다 큰 k로 설정하면 1칸씩 움직이던 커널이 k칸씩 움직여 다운샘플링 효과가 나타남.
2차원 데이터의 경우, 특징 맵의 전체 크기가 1/k²로 작아짐.

풀링 연산 또한 특징 맵의 크기를 줄이는 다운샘플링 효과를 주며, 매개변수가 없고 특징 맵의 수를 유지함. 최대/최소 풀링은 윈도우 내의 값 중 최댓값/최솟값 하나를 선택하고, 평균 풀링은 윈도우 내의 모든 값들을 평균냄.

풀링 연산의 결과는 작은 이동에 둔감해 입력 값이 바뀌어도 결괏값은 크게 바뀌지 않음.

CNN은 컨볼루션 층 -> 활성함수(주로 ReLU) -> 풀링 층으로 구성된 빌딩 블록 여러 개를 이어 붙여 깊은 구조를 만듦.
이때, 커널을 여러 개 사용해 다중 특징 맵을 추출함.
'학교 공부 > 인공지능' 카테고리의 다른 글
| 5. 다층 퍼셉트론 (0) | 2025.10.07 |
|---|---|
| 4. 딥러닝 주요 최적화 방법 (0) | 2025.10.07 |
| 3-2. 기계학습 수학 - 확률과 통계 (0) | 2025.10.06 |
| 3-1. 기계학습 수학 - 선형대수 (0) | 2025.10.06 |
| 2. 기계학습 (0) | 2025.10.06 |