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
'AI & Data Science' 카테고리의 다른 글
2022년 제 1회 k-ium 의료 인공지능 경진대회 후기(최우수상 수상) (0) | 2022.10.30 |
---|---|
BoostCourse AI Pre-Course) RNN(Recurrent Neural Network) (0) | 2022.08.03 |
BoostCourse AI Pre-Course) 조건부 확률 & 베이즈 통계학 (0) | 2022.08.03 |
BoostCourse AI Pre-Course) 통계학 (0) | 2022.08.02 |
BoostCourse AI Pre-Course) Matplotlib (0) | 2022.08.02 |