Adaptive deconvolutional networks for mid and high level feature learning
Matthew D. Zeiler, Published 2011
요약
- 합성곱 계층과 맥스 풀링을 수정하여 이미지 분해를 학습하는 계층적 모델 소개
- 일반 이미지 학습시 우리 모델의 레이어는 이미지 정보를 캡처함
ex. 저 층 : 에지, 중층 : 에지 교차, 고층 : 물체 일부 혹은 완전한 물체
- 계층 출력을 아래로 내리는게 아닌, 각 레이어들이 입력을 복원시키는 모델을 개발.
- 이렇게 하여 여러 층을 표현들을 배울수 있음.
- 그리고 4계층의 모델을 보여주고자함. 이미지는 칼텍 101, 256 데이터셋으로 학습.
- 이 모델로 추출된 특징들은 SIFT이나 다른 특징 학습 방법들보다 더 좋은 결과를 보였음.
소개
- 비전 분야에 좋은 이미지 표현법을 찾는것이 중요한 문제임.
- SIFT와 HOG같은 영상기술자들이 매칭과 물체인식에서 급격한 진보를 가져왔지만, 여전히 성공적인 영상 표현은 적음.
- 저 수준 이미지 구조를 캡처하는 것보다 코너와 물체 일부같은 이미지를 이해하는데 중요한 중, 고레벨 구조적 표현을 찾는게 중요해짐.
- 이 문서는 저수준 에지서부터 고수준 물체 일부까지 구조 정보를 갖는 이미지 표현법들을 소개할 것이고,
- 이미지 계층화와 관련된 두 구조적 문제를 해결한 새로운 방법을 소개하고자 함.
- 첫 번째 문제는 불변성에 대한것으로 에지가 방향과 스케일따라 다양한 반면에, 큰 스케일의 구조들은 더 다양한 형태라는점.
- 모든 교차, 코너에 대해서 기록한다고 하면 이 모델은 지수적으로 커지게 될것임. 중, 고레벨 구조까지 모델링시에 불변성을 다루기는 힘듬.
- 두 번째 문제는 계층적 모델에서 사용하는 계층 별 학습 정책이라 할수 있는데, 각 입력에 대해 모든 레이어를 효율적으로 학습 시키는 방법의 부족함. 보통 모델들은 바텀업 방식으로 훈련됩니다.
- 여기서 주요 문제는 이미지 빅셀들이 다음 레이어로 가면 사라져, 모델의 고층으로 갈수록 입력과의 연결성이 희박해 집니다. 이는 층을 깊게 만들지 못하게 만듭니다.
- 이 두 이슈에 대한 해결방법으로 스위치 변수 소개.
- 스위치 변수는 각 이미지들을 계산해서 모델의 필터를 적응 시킴.
- 간단한 모델은 다양한 이미지 구조를 캡처할 수 있음.
- 스위치 변수들은 이전 층의 입력을 받는게 아니라 입력 통로로서 각 계층이 이미지에 대해 학습할수 있게됨.
- 이를 통해 학습이 더 강건해지고, 효율적인 모델을 만들수 있게 됨.
관련 연구
1. 컨브넷
- 컨브넷은 학습된 필터들로 특징맵들의 계층을 만듬.
- 바텀업으로 이미지가 처리되면서, 판별하며, 순수 지도적으로 훈련하게 됨.
- 우리의 방식은 탑다운 방식이고, 비지도적
2. 예측적 희소 분해 Predictive Sparse Decomposition
- PSD는 희소 코딩 요소 sparse coding component를 컨브넷에 추가한 것으로 비지도 학습을 할수있게함.
- 우리 방식은 각 레이어의 바로 아래만 수정한 것임.
3. DBN Deep Belief Networks
- 제한 볼츠만 머신 RBM과 비교되는 DBNs 모델도 이 한계를 가지고 있음.
- 각 RBM레이어는 입력에 의존적이며, 직접적으로 설명할수 없는 인자화된 표현을 가짐.
- 학습 과정도 느림.
- 우리 모델은 이미지 분해를 수행.
- 전체 픽셀 보다 이미지 일부 구조만을 구하는 다른 계층적 모델과는 다름.
2. 연구 방법
- 우리 모델은 일반 물체 분류기에 입력으로 쓸수 있는 이미지 표현을 만듦
- 이미지로 학습하고, 새 이미지가 주어지고, 추론을 수행합니다.
- 우리 모델은 이미지를 컨벌루션 희소 코딩(디컨벌루션)과 맥스풀링으로 계층적 형태로 분해시킵니다.
- 각 디컨볼루션 레이어들은 입력 이미지의 복원 오차를 최소화 시킵니다.
디컨볼루션
- 모델의 첫번째 레이어는 fig.2(a)에서 볼 수 있음.
- 복원 hat_y_1은 특징 맵 z_k_1과 필터 f_k,1^2를 컨볼루션 연산을 하여 구할수 있음.
그림 2.a 모델의 2 레이어 층
- 각 레이어는 디컨벌루션과 맥스 풀링으로 구성.
- 디컨벌루션 레이어는 희소 코딩이 컨벌루션 형태로 입력 이미지 y를 피처맵 z1과 학습된 필터 f1으로 분해함.
* 이 둘을 컨볼루션하면 y로 복원됨.
- 이 필터는 c 개의 평면들을 가지는데, 각각은 입력 이미지의 채널을 복원하는데 사용됨.
풀링
- 각 컨볼루션 레이어의 위에서 특징 맵 z에 대해 3차원 맥스 풀링 연산이 수행됨
- 레이어의 특징맵이 현재 레이어보다 큰 스케일에서의 구조를 캡처 할수 있도록 함.
- 풀링은 3차원이므로 공간적으로 수행되며, Fig.3에서 보여주고 있음.
그림 3. 3차원 맥스풀링의 예시.
- 풀링연산 P가 특징 지도 z에 수행하여 풀된 지도 p와 스위치 변수 s를 생성.
- 스위치 변수는 풀링 영역의 최대점 위치를 가짐.
- 주어진 풀된 지도와 스위치로 언풀링 연산 U_s를 수행할 수 있음.
다중 레이어
- 이 아키택처는 고층에서도 동일하지만, 특징 지도의 개수 K_l은 다를수 있습니다.
- 각 레이어에서 우리는 필터와 레이어의 스위치 변수로 입력을 복원시키고 아래로 보냅니다.
- 복원 연산자 R_l를 사용하는 레이어 l의 특징 맵 z_l을 정의. 컨벌루션 F, 언풀 연산 U_s를 입력으로함.
- l 레이어의 복원 hat_y_l은 특징 맵 z_l에 의존.
- 복원 연산자 R_l은 풀링 스위치 변수에 의존.
- 사영 연산자 R_l^T는 신호를입력으로 받아, 주어진 스위치 변수 들에 대해 특징맵들을 사영합니다.
- 우리 모델에서 중요한 점은 스위치 변수 s가 주어질때,
복원 연산자 R_l과 사영 연산자 R_l^T가 선형이며, 그라디언트를 쉽게 구할수 있음.
- 그림 2(a)에서 두 레이어에서의 디컨벌루션과 풀링을 보여주고있고,
- 그림 2(b)에서 어떻게 복원과 연산이 필터링, 풀링, 언풀링 연산을 통해 수행되는지 알수있다.
그림 2.(b) 2레이어 2에서 추론 연산에 대한 블록 다이어그램
3. 물체 인식에서의 응용
우리 모델은 완전이 비지도적이므로, 물체 인식을 수행하는 분류기가 추가되어야 함.
- 단순하고, 성능 좋은 Spatial Pyramid Matching SPM을 사용함.-
- 새 이미지를 주면, 우리 모델로 다층 레이어의 특징 맵과 스위치 컨피그로 분해했다.
- 이제 SPM 분류기와 분해를 사용한 방법을 설명함.
- 필터들은 이미지들끼리 공유되지만, 스위치 설정들은 그렇지 않음.
- 그래서 두 이미지의 특징 맵은 다른 R_l을 사용하여 바로 비교할수는 없습니다.
그림 1. 적응정 디컨벌루션 신경망을 이용한 이미지 분해 기반 탑다운 파츠.
- 각 컬럼은 서로 다른 입력 신호로
- 첫번째 행은 4번쨰 레이어의 특징 지도 활성을 이미지 공간으로 사영한 것
- 레이어의 활성 정도에 따라 5, 25, 125개 활성 특징들을 찾음(3, 2, 1 레이어)
- 행 2-4에서 이미지 공간상으로 보여줌.
- 활성을 보면서 우리의 모델로 중, 고수준의 특징들을 찾아낼 수 있었음.
- 그림 1의 예시. 4층 레이어에서 탑다운 분해를 시작하였으나 상당히 다른 복원 결과를 얻었습니다.
- 이것으로 2가지 중요한 점을 보여주는데
- 비슷한 클래스사이 분해시 비슷한 부분들을 공유하고, 특정 영역을 위주로 하고 있습니다.
- 스위치 설정의 적응성에 따라 이 모델은 다른 클래스와도 복잡성을 배울수 있었습니다.
4.1 모델 시각화
- 탑다운으로 보면 이해하기 쉬운데, 그림 5에서 모델의 필터들을 시각화 하였습니다.
그림 5.
a-d) 각 레이어마다 학습된 필터의 시각화 (해당 특징의 변화를 보기위해 줌인)
e) 필드 사이즈 비교
f) 각 레이어의 이미지 복원
- 레이어 1(그림 5a)에선 DC필터와 서로다른 주파수의 방향들을 볼수 있음.
- 레이어 2는 교차 에지와 커브를 볼수 있음. 1레이어 필터 내용물들의 조합.
- 레이어3 그림 5c. 조금더 큰 범위를 보여주고 있음.
- 레이어 4 그림 5d는 해당 그룹에 속하는 물체에 대해 거의 완전히 복원한 결과를 보여줌.
- 레이어별 상대적인 사영 크기를 이해하려면 그림 5e참고
- 4개의 입력 이미지의 이 모델에서 각 레이어로부터 복원은 그림 5.f
정리
- 많은 레이어를 갖는 모델을 살펴볼수 있는 방법을 소개.
- 스위치 변수로 필터가 입력의 패턴에 더 적응적으로 됨.
- 우리 모델은 중, 고 수준 특징들을 캡처할 수 있음.
- 이 렇게 구한 특징들로 일반 분류기를 사용한 결과 칼텍-101, 칼텍-256에서 좋은 성능을 보임.
- 다른 데이터셋에서도 성능을 보일만큼 일반화할만한 모델임.
------------------
내가 2시간 동안 이 논문을 정리하면서 얼마나 이해햇느냐 하면
2~30프로 될가 모르겟다.
여전히 이해하려고 해도 문맥을 다 파악하지를 못하내 의역이 아닌 직역을 하면서
이해하기엔 어색한 부분들이 너무 많다.
일단 내가 이 논문을 본게 합성곱 신경망의 시각화와 이해에서
디컨볼루션에 대한 이야기가 나와서 보기는 했는데,
디컨볼루션에 대한 개념은 조금 더 이해는 가긴 했다.
기존의 컨볼루션 연산이
입력 이미지와 가중치의 콘볼루션 연산으로 특징 맵들을 만들어 냈다면,
특징맵(언풀링 과정을 거친)과 가중치들의 컨볼루션으로 영상을 복원시키는게 초점이 아닌가 싶다.
1층이 기존 영상을 복원한다면
층을 내려갈수록
입력으로 사용한 특징맵을 복원하는 개념인것 같다.
이 내용들을
그냥 특징맵을 시각화 해주면 되지 왜 이런 디컨브넷을 쓰는지
그리고 그림 1에서 왜 레이어 4층에서 탑다운을 시킨건지 등
여전히 이해되지 않는 부분들이 너무 많다.
디컨브넷의 원리는 이해햇으니
다시 아까보던 논문으로 돌아가야되나 싶다.
빅데이터 공부해야되는데 ㅠㅠ
이분 처럼 잘 정리할 수 있어야되는데 참 힘들다.
ref : dambaekday.tistory.com/3
'그외 > 논문' 카테고리의 다른 글
Backpropagation applied to handwritten zip code recognition (0) | 2021.01.23 |
---|---|
물체 인식을 위한 선택적 탐색 (0) | 2020.11.19 |
합성곱 신경망의 시각화와 이해 (0) | 2020.11.17 |
ORB-SLAM 대강 (0) | 2020.08.16 |
ORB SLAM 개요 (0) | 2020.08.16 |