글 수 117

합성곱신경망의 패딩에 관한 질문

조회 수 33 추천 수 0 2019.01.10 13:41:46


합성곱 연산을 수행하면 그 결과로 나오는 특징맵의 크기가

원본 이미지보다 작아지죠.

그래서 패딩이라는 과정을 합성곱 레이어 앞에 추가합니다.

패딩은 원본 이미지의 테두리에 0으로 채워서 임의로 크기를 늘리는겁니다.

 

 

GBlLErX.png

테두리에 0으로 채워서 원본 이미지의 크기가 커졌다.

 

 

여기까진 교과서에도 나오는 내용입니다.

패딩한 이미지를 합성곱레이어에 넣는다... <- 순전파 과정이죠?

 

 

MNeiNYR.png

순전파 과정

 

 

자... 이제 저의 질문...

그럼 패딩의 역전파는 어떻게 하는거죠???

 

기울기의 역전파 과정 및 가중치 업데이트는 저도 알고 있습니다.

기울기의 역전파를 묻는 것이 아니라 

패딩 과정의 역전파는 어떻게 해야 하느냐는거죠.

 

패딩의 순전파는 원본이미지에 0으로 채워서 임의로 크기를 늘린것이죠?

그렇다면 역전파는 단순히 그 반대로 하면 되나요?

합성곱 레이어로부터 역전파 받은 이미지의 테두리 부분을 깍아서 제거해버리면 되나요?

 

 

5WnZg56.png

 

 

아마... 이걸 알고 계신분은 별로 없을 것이라 생각됩니다만...

왜냐하면 im2col 함수가 이 과정을 다 해주기 때문에 구체적인 구현은 몰라도 되니까요.

 

사실 이와 같이 합성곱레이어로부터 역전파 받은 이미지의 테두리를 깍아내 버리는 방법을 사용해서 합성곱 신경망을 제가 만들어 봤습니다만... 잘 되긴 잘 됩니다. mnist 데이터셋의 정확도가 90%까지 나와요.

하지만 어느 책을 보아도 패딩의 역전파 과정에 대한 설명이 없어서... 심지어 구글 검색으로도 안나와요.

늘 마음 한구석이 찝찝한 느낌이 들어서...

엮인글 :

깊은바다

2019.01.11 00:10:08
*.207.106.177

완전연결 신경망에서 역전파는 모든 연결의 가중치를 구합니다. 반면에 컨볼루션에서 역전파는 필터(커널)의 가중치만 구하기 때문에 계산량이 줄어듭니다. 패딩으로 늘린 부분은 컨볼루션 연산을 하고 난 후 특성 맵(feature map)의 크기에만 영향을 줍니다. 역전파와 패딩은 크게 상관이 없을 것 같은데요. 저도 어떤 문제인지 정확히 모르겠네요^^;

List of Articles
제목 글쓴이 날짜 조회 수
안녕하세요, 카카오 i 오픈빌더에 대해서 질문이 있습니다. [2] 아라하타마하 2019-01-19 34
Transformer 구조에 대해서 질문하나 드립니다. [1] 김만수 2019-01-15 47
합성곱신경망의 패딩에 관한 질문 [1] 디쁘러닝 2019-01-10 33
딥러닝으로 빵의 가격을 자동으로 계산하는 인공지능 깊은바다 2019-01-06 73
케라스 창시자에게 배우는 딥러닝 카미오레오 2018-12-07 70
Seq2Seq에 Attention 구현 성공했습니다! [2] NeuroWhAI 2018-12-04 119
어텐션 매커니즘 구현하기 너무 힘드네요 ㅠ [1] NeuroWhAI 2018-12-02 71
한국어 구사 데이타 사이언티스트 채용 실력? 뜨자떠야한다 2018-11-28 68
서지민의 인공신경망 라이브러리 업데이트 1.1 [2] 사지방컴 2018-11-27 52
간단하게 제가 접근해본 방법 공유합니다. [1] 맛동산 2018-11-13 81
안녕하세요 그나마 이사이트 국내에서는 제일 좋은듯 합니다. [1] 맛동산 2018-11-13 132
[질문] Mnist가 아닌 제가 가진 이미지셋으로 GAN 구현 중 질문 드립니다 file [1] 하얀천사 2018-10-31 57
카테고리 자동분류 [1] 와니와니 2018-10-24 82
영화 패신저스의 대화 인터페이스 깊은바다 2018-10-03 103
안녕하세요 [1] 불새의전설 2018-09-10 94