[미래연구소] 딥러닝 17기 week8

qw4735·2022년 3월 10일

Convolutional Neural Network (CNN)

- 사람/동물의 시각자극 처리 방법
1) 뇌는 인접 정보를 읽는다. (간단한 점, 선들부터 뉴런이 반응)
-> 특정 feature를 detect하는 뉴런이 필요
2) 뇌는 인접 정보를 읽는다.
-> 인접 feature를 detect하는 뉴런이 필요
3) 뇌는 공간 정보를 계층적으로 학습
-> feature를 계층적으로 학습할 필요가 있다.

- Fully-Connected Layer의 문제점
1) 변형(이동)되면 인식 못하는 경우
-> 물체가 이동해도 변하지 않는 특징을 읽을 필요
2) 이미지의 모든 pixel간의 feature 추출 -> 비효율적

=> " 필요한 정보만, 조금씩 읽자! "

- Convolutional Layer
1) convolution 연산


filter가 어떤 값을 갖느냐에 따라서 얻어낼 수 있는 output이 달라진다.
즉, 어떤 filter를 주느냐에 따라 얻는 정보가 달라짐

5x5 ----> 3x3
1) stride : filter를 sliding하는 칸의 수
(stride가 클수록, output's shape는 줄어듬)
-> stride는 dimension을 낮추는 용도로 사용가능
2) padding : shape 변형 원치 않을 때


translation invariant를 가진 모델이 image분야에 best!
그렇다면, 어떤식으로 모델을 construction 해야하나?



내가 convolution을 적용하고자하는 대상의 depth를 따라간다.

아까 fully-connected layer의 2가지 문제점이 해결됨
1) 모든 pixel간의 feature 추출로 비효율적
-> locally-connected한 feature 추출
2) 물체가 이동하면 인식하지 못함
-> convolution filter는 움직이면서 feature를 추출

Dense layer의 필요성

  1. Convolution layer 자체는 feature를 효율적으로 추출
    -local-connected : 인접 정보 추출
    -Convolution : 인접 정보를 압축
    -Deep : 인접 정보를 계층적으로 학습
  2. 하지만 Convolution layer 자체가 classification 하지는 않는다.(Dense가 classification이 가능)
    -> Convolution layer를 거친 뒤, Flatten layer를 거쳐서, Dense layer를 거쳐야 한다.

0개의 댓글