본문 바로가기

AI & Data Science

BoostCourse AI Pre-Course) CNN

728x90
반응형

CNN(Convolutional Neural Network) 이란 Convolution 연산을 사용하는 인공 신경망의 일종이다.

사람은 사과를 몇 번 보고 다른 개체의 사과를 보더라도 이게 사과라는 것을 학습을 통해 알 수 있다.이처럼 CNN은 인공지능에서 영상이나 사진에서 물체의 인식을 위해 사용하는 기법이라고 볼 수 있다.

MLP는 각 뉴런들이 선형 모델과 활성 함수로 모두 연결된 구조였다.

h =Wx + b 이런 식으로 말이다.

그러나 Convolution 연산은 커널이 입력 벡터상에서 움직여가면서 선형 모델과 합성되는 것이다.

Covolution 연산에서 kernel의 값은 바뀌지 않는다.

2차원 Convolution 연산에서 커 놀 울 입력 벡터 상에서 움직여 가면서 선형 모델과 합성함수가 적용된다.

이때 행렬의 곱셈이 아닌 성분곱을 해주는 것에 유의한다.

3차원 입력의 경우 2차원 입력이 여러층으로 존재하는 것으로 볼 수 있다.

이에 커널을 1개만 적용하면 출력 결과는 3차원이 아니라 2차원 행렬로 나온다.

3차원 입력의 각 층에 커널의 개수를 c개만큼 곱해주면 출력 결과도 3차원으로(텐서라고 부른다) 출력된다. 

 

그림을 보면 순방향으로 전파가 될 때 x3는 결과 출력 값에 본인의 입력값과 각 커널의 입력값을 곱해서 전파를 했다.

따라서 역으로 하나의 값에서 해당 커널의 값을 모두 추론해낼 수 있다.

이를 각 입력값마다 구한 뒤 모두 더해주면 된다.

따라서 각 커널에 들어오는 모든 그레디언트를 더하면 convolution과 같아진다.

 

<CNN 알고리즘>

AlexNet) https://bskyvision.com/entry/CNN-알고리즘들-AlexNet의-구조?category=635506 

 

[CNN 알고리즘들] AlexNet의 구조

LeNet-5 => https://bskyvision.com/418 AlexNet => https://bskyvision.com/421 VGG-F, VGG-M, VGG-S => https://bskyvision.com/420 VGG-16, VGG-19 => https://bskyvision.com/504 GoogLeNet(inception v1) =>..

bskyvision.com

LeNet5) https://bskyvision.com/entry/CNN-알고리즘들-LeNet-5의-구조? category=635506 

 

[CNN 알고리즘들] LeNet-5의 구조

LeNet-5 => https://bskyvision.com/418 AlexNet => https://bskyvision.com/421 VGG-F, VGG-M, VGG-S => https://bskyvision.com/420 VGG-16, VGG-19 => https://bskyvision.com/504 GoogLeNet(inception v1) =>..

bskyvision.com

 

728x90
반응형