4. CNN(합성곱신경망) 1강. CNN 원리
학습목표
- CNN의 개념과 구조를 설명할 수 있다.
- CNN 은닉 계층에 대해 설명할 수 있다.
학습내용
- CNN 개념과 구조 - CNN 은닉 계층
1. CNN 개념과 구조 (1) CNN 개념
∙ Convolutional Neural Network(합성곱 신경망)
∙ 컬러 사진을 수치 데이터로 변경하면 데이터의 크기가 커짐
∙ 대상에 대한 특징을 인식하는 방식을 모델링
∙ 이미지 데이터를 다양한 방법으로 필터링하여 학습
∙ 이미지 학습을 위한 효율적인 알고리즘
(2) CNN 구조
∙주로 입력 부근 계층들을 합성곱 계층으로 구성, 출력 부근 층들을 완전 연결 계층으로 구성
[출처] 한빛미디어-코딩셰프의 3분 딥러닝, 케라스맛
2. CNN 은닉 계층
(1) 합성곱(Convolution) Layer ① 합성곱(Convolution) 연산
∙ 입력 데이터에 필터를 적용해 일정 간격으로 이동해가며 입력 데이터에 적용
∙ 합성곱(Convolution) 연산 결과
② 채널(Channel)
∙ 컬러 이미지는 각 픽셀을 RGB 3개의 실수로 표현한 3차원 데이터로 3개의 채 널(Channel)로 구성
[출처] https://upload.wikimedia.org/wikipedia/en/4/4c/Channel_digital_image_RGB_color.jpg
③ 차원 데이터 합성곱
∙ 주어진 채널 수만큼 각각의 다른 필터를 적용하여 연산
④ 패딩(Padding)
∙ Convolution Filter → 출력 이미지의 사이즈가 작아지게 됨
∙ Padding → 출력 이미지 사이즈를 그대로 유지 가능
④ 스트라이드(Stride)
∙ 입력 데이터에 필터를 적용할 때 이동할 간격을 조정하는 것
∙ Max Pooling
- 각 Pixel에서 최댓값을 뽑아내는 과정
∙ Average Pooling
- 각 Pixel에서 평균값을 뽑아내는 과정
∙ 평탄화(Flatten)
- 2차원/3차원의 행렬 구조를 1차원의 Vector로 변환하는 과정
(3) 완전 연결(Fully-connected) 계층
∙ 이전 계층의 모든 노드가 다음 계층의 모든 노드에 연결된 계층
학습정리
1. CNN 개념과 구조
∙ 이미지로부터 필요한 특징을 스스로 학습할 수 있는 능력을 갖춘 신경망
2. CNN 은닉 계층
∙ Convolution Layer
∙ Pooling Layer
∙ Fully-connected Layer 평가하기
1. 연산을 통해 이미지로부터 필요한 특징을 스스로 학습할 수 있는 능력을 갖춘 신경망을 고르시오.
① ANN
② DNN
③ CNN
④ RNN
- 정답 : ③번
해설 : CNN은 Convolution 연산을 통해 이미지로부터 필요한 특징을 스스로 학습할 수 있는 능력을 갖춘 신경망이다.
2. 일정 영역의 정보를 최대 값으로 축약하는 계층을 고르시오.
① Convolution Layer
② Average Pooling
③ Flatten
④ Max Pooling
- 정답 : ④번
해설 : 일정 영역의 정보를 최대 값으로 축약하는 계층을 Max Pooling 계층이다.