모두를 위한 딥러닝 - ML Lec 11

Dylan·2022년 8월 7일
0

모두를 위한 딥러닝

목록 보기
11/12
post-thumbnail

lec11-1 ConvNet의 Conv 레이어 만들기

'The only limit is your imagination'

전체가 연결되어있다고 해서 FC 풀릿 커넥티드

입력을 여러개로 나눈다음 하나로 합치고 앞으로 내보내는걸 생각해볼 수 있는데
컴포셔널 뉴럴 네트워크 - CNN

preview

하나의 이미지가 있게 되면 이미지를 잘라서 넘기게되는데 이 창을 컴보셔널레이어 라고 한다.

중간에 RELU창을 넣고 중간에 POOL을 넣고 반복하면서 마지막에 풀릿 커넥티드를 한다

Start with an image (width * hight * depth)

32x32x3 의 이미지를 가지고 있다고 가정해보자

Let's focus on a small area only

고양이 실험에서 한 것 처럼 전체 이미지를 하나의 입력으로 받지않고 이미지 일부분만 처리하고 싶을때 여기서 처리한다는것을 필터라는 개념을 가지고 설명한다

Let's focus on a small area only (5 * 5 * 3)

색깔은 항상 같이 처리해서 끝에 3은 같다
필터는 항상 5 x 5 에 해당되는 값들 읽어들임

Get one number using the filter

필터는 궁극적으로 한 값을 만들어 낸다. 5, 5를 x라 했을때 x를 입력받아서 어떤 처리를 한 다음에 한 점만 뽑아 낸다.

Get one number using the filter

처음부터 많이 얘기했던 Wx + b 라는 폼을 사용한다. 무슨 이야기냐면 x값이 5개가 있다 가정했을 때 가설을 계산했던 식 처럼 계산하면 된다.

Let's look at other areas with the same filter (w)

그러면 이것을 가지고 이 똑같은 필터 w의 값은 같을 때 다른부분의 이미지도 보아야 한다

A closer look at spatial dimensions

한 칸씩 옆으로 움직일 때 이 값을 Stride 라고 부른다 Stride:1일땐 한칸씩 2일땐 2칸씩 움직인다는 뜻으로 보면 된다.

Stride: 2일때 3x3의 output이 생김

전반적으로 봤을 때 n x n 의 입력이 있다고 했을 때 필터 사이즈를 F 라 했을 때 총 몇개의 값이 뽑아 질 수 있을 것인가?

In practice: Common to zero pad the border

보통 실제적으로 사용할 때 Pad이란 개념을 사용한다. 테두리에다가 0으로 감싸는 하나의 입력을 가상적으로 있다고 만들어주는 것이다.
그림이 급격하게 작아지는것을 방지하기 위함이고, 다른 하나는 모서리다 라고 어떤형태로든 알려주고싶어서

그래서 padding을 해서 입력의 이미지와 출력의 이미지가 같아지게 만들어주는 것을 일반적으로 사용하고 있다.

Swiping the entire image

Convolution layers

lec11-2: ConvNet Max pooling 과 Full Network

Pooling layer (sampling)


pooling이라는건 간단하게 볼때 샘플링이라고 하면 된다
깊이는 몇개의 필터를 쓰느냐에 따라서 달라진다.
사이즈를 작게 만드는것을 풀링이라 한다

MAX POOLING

4 x 4 라는 이미지가 있을때 MAX POOL 하면 2 x 2 가되는데 그 4 x 4 이미지의 값들 중에서 제일 큰값만 따로 빼서 2 x 2 샘플링을 하면 된다.

Fully Connected layer (FC layer)

lec11-3 ConvNet의 활용예

Case Study : AlexNet

알렉스넷에서 렐루를 처음 만들어서 사용했었다.

Case Study: GoogLeNet

Inception module : 어지럽다ㅏㅏㅏㅏㅏㅏ

Case Study: ResNet

에러율 3.6%로 떨군 유명한 Case

알렉스넷이였을땐 8개의 레이어를 사용했는데 ResNet은 152개의 레이어를 사용했다.

CNN for Sentence Classification

2014년도에 윤 김 박사님께서 CNN을 가지고 자연어 처리

0개의 댓글