본문 바로가기

AI/딥러닝

CNN

CNN

    -이미지의 공간적, 지역적 정보를 포함한 Feature들의 계층을 빌드업

    - 전체보다는 부분의 feature를 보고 한 픽셀과 주변 픽셀의 연관성을 고려

    ex) 새 사진 데이터가 있으면 새의 전체 이미지가 아닌 부리, 날개, 눈 등 부분 부분의 이미지를 캐치하여 효율적이게 계산 

 

기본개념

생략 (kernel, zero padding, stride 등)

 

CNN의 네트워크 구조

 

 

Convolutional Layer

    1. 입력으로 주어진 이미지를 커널을 사용하여 output을 만듦(feature maping)

    2. output을 활성화함수를 적용

 

------------------------------------------------------------------------------

Parameter 개수 계산법

3*3 커널을 128채널로 찍게 되면 output의 채널 한 개가 나오게 되고 64 채널이 있으니 

parameter 개수는 3*3*128*64가 된다.

 

1x1 Convolution

    -Channel 수 조정

    -파라미터 감소

    -비선형성

1x1 Convolution을 통해 채널수를 줄여주면 레이어를 더 깊게 쌓으며 동시에 파라미터를 줄일 수 있다. 

https://hwiyong.tistory.com/45

-----------------------------------------------------------------------------

Pooling Layer 

    -대표적으로 Max Pooling과 Average Pooling이 있으며 Pool사이즈로 준 값들 중 각각 최댓값, 평균값만 가져와 사이즈를

      줄여준다.

추론 하는데 있어서 Convolutional Layer를 거처 나온 모든 결과 data가 필요하지 않기 때문에 pooling 과정을 통해 요소를 줄여준다.

 pooling을 통해 overfitting을 억제할 수 있고 복잡도를 줄여줄 수 있다.

 

 

Flatten(Vectorization)

    - Convolution과 pooling을 거쳐 나온 값을 일자로 늘려 벡터로 바꿔준다.

          *4x4x10이 output이라면  160 dimension의 벡터로 만들어준다.

 

Fully-Connected Layer(Dense Layer)

    -분류를 하거나 회귀를 해서 원하는 출력 값을 얻는 Layer

        ***최근에는 없어지거나 최소화되는 추세(parameter를 줄여 성능을 높이기 위해)

 

     1. Flatten

    2. 활성화 함수 적용

    3. Softmax함수로 분류

 

 

 

 

참고

https://halfundecided.medium.com/딥러닝-머신러닝-cnn-convolutional-neural-networks-쉽게-이해하기-836869 f88375

                

 

'AI > 딥러닝' 카테고리의 다른 글

1*1 convolution  (0) 2023.02.21
Manifold learning  (0) 2022.02.14
딥러닝 Mean Square Error (MSE) / Cross Entropy(CE)  (0) 2022.02.14
1-3 신경망  (0) 2022.01.23
1-2 경사하강법  (0) 2022.01.22