목차
- CNN이란?
- 레이어란?
- 대표적인 레이어 종류와 역할
- 1. 합성곱 레이어
- 2. 활성화 레이어
- 3. 풀링 레이어
- 4. 플래튼 레이어
- 5. 완전 연결 레이어
- 6. 출력 레이어
CNN이란?
합성곱 신경망이란 이미지, 영상과 같이 공간적 구조를 가진 데이터로부터 특징을 자동으로 학습하기 위해 설계된 딥러닝 모델이다.
사람의 뉴런과 비슷하게, 이미지의 작은 영역에서 특징을 추출해내기도 하고 엣지→형태→객체와 같은 계층적 표현 학습이 이루어진다.
그래서 CNN은 이미지 분류, 객체 탐지, 얼굴 인식 등에서 많이 사용된다.
레이어란?
신경망을 구성하는 하나의 처리 단계
딥러닝 관련하여 필수적으로 알아야하는 용어 중 하나가 이 Layer이다.
CNN도 마찬가지로 다수의 레이어로 이루어져 있고, 각 레이어들은 입력을 받아서 특정 연산을 수행한 후, 그 결과를 다음 단계로 전달한다.
신경망은 이렇게 여러 레이어를 계층적으로 쌓음으로써, 단순한 특징에서 점점 복잡하고 추상적인 특징들을 학습하게 된다.
이제 레이어의 역할들을 살펴보자.
대표적인 레이어 종류와 역할
1. 합성곱 레이어
- 이미지의 특징을 추출.
- 필터(커널)을 사용하여 이미지의 지역적인 패턴(ex 선)을 감지하고, 특징 맵으로 만들어냄.
2. 활성화 레이어
- 합성곱 레이어의 출력에 비선형성을 부여해서, 모델이 더 복잡한 데이터 패턴을 학습할 수 있도록 함.
- 이 때, ReLU 함수가 많이 쓰임. (음수 값은 0으로 만들고 양수 값은 유지하는 방식)
3. 풀링 레이어
- 특징 맵의 차원을 축소하고, 세부 정보를 제거함으로써 복잡도를 낮춤.
- 이렇게 하여 작은 위치변화에 덜 민감하게 만들어 과적합을 방지하고 일반화 성능을 향상시킴
- 풀링에도 종류가 많은데, 보통 Max Pooling방식 많이 사용.
4. 플래튼 레이어
- (보통은 풀링 레이어를 통해 줄어든) 특징 맵을 1차원 벡터로 변환.
5. 완전 연결 레이어
- 플래튼 레이어에서 넘어온 1차원 벡터를 받아서, 최종적인 분류나 회귀 작업을 위한 추상적인 정보를 통합.
- “완전 연결”이라는 말과 같이, 모든 뉴런이 서로 연결되어 있음.
6. 출력 레이어
- 최종 예측값을 출력
- 분류 문제나 회귀 문제 등 상황에 따라 적절한 활성화 함수를 사용해서 원하는 형태의 출력을 내보냄.