본문 바로가기
책&강의 학습/올인원 패키지 :딥러닝&인공지능

[패스트캠퍼스 수강 후기] 인공지능강의 100% 환급 챌린지 36회차 미션

by 소한보 2020. 8. 3.

Part4-33. 합성곱 신경망(CNN) - 03. (STEP 1) 기본적인 합성곱 신경망

합성곱 신경망의 기본구조

합성곱계층, 풀링계층, 활성화함수를 N번 반복

합성곱계층(Convolutional Layer)


input영상(h,w,c)의 크기는 변하지 않음
채널의 개수가 변경(늘어나거나 줄거나)
커널사이즈, 입력과 아웃의 채널수만큼의 필터가 필요

합성곱계층에 의해서 추출된 결과는 공간적 특징이 있으며, Feature Map이라 함

풀링계층(Pooling Layer)


영상의 크기를 줄이는 역할을 함
영상의 크기를 줄여서 정보를 종합하는 특징이 있기 때문

Max_pooling
높은 값하나만 가져오는 형태
Average_pooling
평균값을 가져오는 형태
여러가지 방법이 있으나 위 2개의 방법을 자주 사용함
classification에서는 Max_pooling이 잘 사용됨

평탄화(Flatten)

입력된 특징맵의 모든 화소를 나열해서 하나의 백터를 만드는 것
아무런 연산이 일어나지 않고 벡터화하는 것이 목표
합성곱계층과 전결합계층을 연결

전결합계층

2개의 전결합 계층을 사용해서 최종출력을 내어준다.
합성곱신경망에서 피쳐들을 뽑고 얕은 신경망의 입력으로 사용하는 것과 같음

softmax

다중클래스 분류문제의 경우 softmax를 자주 사용

왜 이런구조를 사용?


합성곱계층에서 피쳐맵을 계속해서 만듬
합성곱계층에서 채널을 늘리고,
풀링계층에서 크기를 줄이는 형태를 반복하여
영상의 크기는 줄어들고 채널의 크기는 증가하게 됨

같은 크기의 필터가 영상에서 더 넓은 범위를 커버

Receptive Field


풀링을해서 절반의 크기로 줄인다면 똑같은 크기의 풀링을해도 원래영상에서는 더 큰 범위를 차지하게됨
같은 크기의 필터여도, 풀링에 의해 작아진 특징맵에 적용되면 원본 영상에서 차지하는 범위가 넓다

LeNet-5


32x32 -> 6@ 28x28 -> 6@ 14x1x ->16@ 10x10 -> 16@ 5x5 -> 120 -> 84 -> 10
Gaussian connection은 softmax이전에 사용되던 활성화 함수이므로 softmax로 이해해도 무난

VGG-16


2014년에 화려하게 등장한 알고리즘
224x224x3 -> 224x224x64->112x112x128-> .... 7x7x512 -> 4096 -> 1000
기본적인 구조가 반복되는 구조라는 점을 염두해둘것

Part4-34. 합성곱 신경망(CNN) - 04. (STEP 2) 합성곱 신경망의 수식적 이해

합성곱 계층의 필요성

전결합계층으로 하려면 모든 픽셀을 나열해놔야만 함
하지만 합성곱계층으로 하게되면 더 적은 연산으로 해결 가능
영상입력은 전결합계층으로 할것이 못됨

전결함계층의 수학적 표현

y = a(Wx +b)

합성공계층의 수학적 표현

입력의 채널의 개수, 출력의 채널의 개수만큼 커널이 생김
Weight tensor 3차원 이상으로 되어 있는 경우 (tensorflow의 tensor개념으로 이해)
Yij = a(Wij * Xi +bj)
입력채널의 수 X 출력채널의 수 번의 합성곱 연산으로 이뤄짐

padding의 필요성


필터의 크기에 따라서 가장자리에 있는 데이터가 누락되게되는 문제가 있음
패딩을 사용해서 상하좌우에 N개만큼 더 추가해줘 데이터 누락을 방지

Stride


몇번씩 건너뛰면서 진행하는 것을 말함
Stride가 크면 영상의 크기가 줄어듬
subsample대신 사용하여 영상크기를 줄일 수 있음

합성곱 계층의 특징 맵


작은개념에서 큰개념으로 학습해나가는 특징이 있음
이것이 CNN을 사용하는 이유임

딥러닝/인공지능 올인원 패키지 Online

댓글