빅데이터 서비스 교육/딥러닝

CNN

Manly 2022. 7. 21. 12:49
반응형

CNN: Convolutional Neural Network

 

MLP(Mutlilayer perceptrone) 다층퍼셉트론이 이미지의 위치에 따라 다른 이미지로 판단하는 문제

 

5가 한픽셀 왼쪽으로 갔는데 인식은 전부 흰색으로 하게된다.

 

문제들을 해결하기위한 CNN모델

모든 데이터를 확인하는게 아니라 특징이 되는 부분만 확인하는 CNN

 

 

 

이미지의 특징을 보고 

부각시키는 -> conv Layer

 

 

특징이외의 필요없는 부분

삭제하는 역할 -> Pooling Layer

 

 

 

 

특징외의 필요없는 부분을 제거하면서 이미지의 특징점만 가지고 크기가 점점 작아진다

 

 

MLP

뉴런(연산 후 활성화함수에 값을 넘겨줄 것인지 판단)->활성화함수

 

 

CNN

Conv(연산 후 활성화함수에 값을 넘겨줄 것인지 판단) -> 활성화함수 ->Pooling (불필요부분 제거) -> MLP 

 

 

필터가 2x2이고 이미지가 4x4이면  이미지의 2x2부분씩 필터의 값(필터의 좌상단x이미지의 좌상단)과 곱하고 더해서

값을 3x3 형태에 넣는다   이 값들이 모여서 또 다른 이미지를 생성(일반적으로 합성곱 연산 후에는 크기가 작아진다)

 

필터 안의 값 하나하나가 각각 w값이 된다.

 

RGB : 총 3개의 색상가지고 섞어서 색을 표현한다

빨강, 초록, 파랑의 픽셀값이 겹쳐서 그 정도에 따라 색이 정해진다 (ex red:255, green:255, blue=0  --> 주황)

 

층을 많이 쌓을 수록 특징들을 세세하게 찾을 수 있다.  특징을 찾는 과정에서 이미지의 크기가 작아지는데

입력부터 작은 이미지는 특징을 찾기 힘들어서 가장자리 부분을 0을 채워(패딩) 필터 연산을 진행

 -> 결과적으로 입력과 출력 이미지 크기가 같아질 수 있다.

 

 

필터가 3x3

실제 이미지는 4x4로

출력이 2x2가 나오는데

 

 

패딩을 통해 4x4가 출력으로

나온다

 

 

 

 

 

주로 풍경사진에 스트라이드가 쓰인다 -> 큰 특징이 없는 이미지를 빠르게 줄여나갈때

 

 

 

기본 : 1

 

 

스트라이드: 2

 

필터시 2픽셀씩 이동

 

 

 

 

 

 max pooling이 효과가 좋아서 주로 사용한다

 

역전파에서 중간층 뉴런을 비활성화 시킨다   Dropout(0.25) -> 전체중 25% 비활성화

 

 

반응형