본문 바로가기
Computer Science/AI

Convolutional Neural Network

by yongmin.Lee 2020. 7. 18.

CNN 개요

컨볼루션 신경망은 입력된 이미지에서 “feature(특징)”을 추출하기 위해 filter(=mask)를 도입하는 기법

 

input의 다양성 : Trickier cases

translation : 치우침

scaling : 사이즈가 크고 작음

rotation : 회전

weight : 두께

input이 위와 같이 다양하기 때문에 부분을 나누어서 부분별 feature 파악

 

convolution layer

input filter(=kernel)를 합성곱을 하여 input 데이터의 feature를 추출한다.

여러개의 filter를 이용하여 많은 feature들을 추출 => feautre Map이 형성 됨

- 활성화함수로 ReLU를 이용 : 추출된 값들 중에 음수는 0으로 설정

cnn parameter : 입력채널 x 필터폭 x 필터 높이 x 출력 채널

 

pooling

convolution layer에서 추출한 feature의 사이즈를 축소시키는 과정을 poolig 이라고 한다.

average pooling : 정해진 구역 안에서 평균값을 도출

max pooling : 정해진 구역 안에서 최댓값을 도출

 

Deep stacking

convolution layer Pooling layer를 여러번 반복함으로써 처음에는 작은 부분의 특징을 찾고 점점 큰 부분의 특징을 찾을 수 있다.

 

Flatten

convolution layer, pooling layer를 지나 Fully connected layer에게 데이터를 전달해야 하는데,
convolution layer pooling layer 2차원 배열을 다루고 fully connected layer 1차원 배열을 다루므로
2차원 배열을 1차원 배열로 변환한다

 

CNN Architectures

AlexNet : ReLU dropout 사용

VGG Net : 3x3 filter 사용

GoogLeNet : inception 모듈을 사용하고, fully connecy layer 대신 average pooling layer를 사용하여 획기적으로 파라미터 수를 감소




'Computer Science > AI' 카테고리의 다른 글

Game Playing  (0) 2020.07.19
Heuristic Search  (0) 2020.07.19
신경망 개요 및 구현  (0) 2020.07.18
인공지능, 머신러닝, 딥러닝 개요  (0) 2020.07.18