CNN: computer vision에서 많이 사용됨(이미지 처리)
이미지의 공간 정보를 유지한 상태로 학습이 가능한 모델
이미지의 특징을 추출하는 부분 + 클래스를 분류하는 부분
특징 추출 영역: Convolution Layer와 Pooling Layer(optional)를 여러 겹 쌓는 형태로 구성됨.
CNN 마지막 부분에는 이미지 분류를 위한 Fully Connected Layer가 추가된다.
Convoution(합성곱) Layer?
이미지 --> 3D tensor로 표현 가능. 위치값(height, width) + 색(channel)
Filter 적용
하나의 convolution layer에는 입력되는 이미지의 채널 개수만큼 필터가 존재 -> 각 채널에 할당된 필터를 적용함으로서 convolution layer의 출력 이미지가 생성된다.
Stride: 이미지에 대해 필터를 적용할 때 필터의 이동량
Padding: 이미지에 대해 합성곱을 수행했을 때 출력 이미지의 크기가 입력 이미지의 크기보다 작아지는 것을 방지
주로 zero padding을 사용한다.
Pooling Layer:
이미지의 크기를 계속 유지한 채 Fully Connected layer로 가게 되면 연산량이 증가 -> 적당히 크기도 줄이고, 특징을 강조하기 위해 pooling layer 사용(노이즈가 감소하고 속도가 빨라지며 영상의 분별력이 좋아진다.)
Max pooling 예시
Fully Connected Layer: 이미지의 특징을 추출하여 이것이 무엇을 의미하는 데이터 인지 분류하는 작업
- Flatten Layer: 데이터 타입을 Fully Connected 네트워크 형태로 변경
- Softmax Layer: Classification 수행
'머신러닝 & 딥러닝' 카테고리의 다른 글
머신러닝 개요 및 Supervised Machine Learning (0) | 2023.06.26 |
---|