일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 3d
- pytorch
- ML
- web
- Vision
- clean code
- FineGrained
- Front
- Torch
- SSL
- algorithm
- REACT
- cs
- 알고리즘
- classification
- 자료구조
- nlp
- dl
- Python
- Depth estimation
- PRML
- computervision
- 머신러닝
- nerf
- CV
- math
- Meta Learning
- FGVC
- GAN
- 딥러닝
- Today
- Total
KalelPark's LAB
[ 논문 리뷰 ] Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles 본문
[ 논문 리뷰 ] Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles
kalelpark 2023. 1. 3. 20:27
GitHub를 참고하시면, CODE 및 다양한 논문 리뷰가 있습니다! 하단 링크를 참고하시기 바랍니다.
(+ Star 및 Follow는 사랑입니다..!)
https://github.com/kalelpark/Awesome-ComputerVision
Abstract
Self Supervision 원칙을 따름으로써, 우리는 pretext task를 따름으로써, jigsaw puzzles solve를 해결하기 위한
Convolutional Neural Network(CNN)를 구축합니다. 또한 이러한 방법론은 object classification과
detection을 해결하기 위한 방법으로 제안됩니다.
우리는 Classification과 jigsaw patch문제를 해결하기 위해 Context-free network를 도입합니다.
(siamese-ennead CNN이라고도 합니다.) CFN은 Image를 tiles로써 input으로 받으며,
early processing units의 수용 필드를 한 번에 한번씩 받도록 제한합니다.
또한 CFN은 AlexNet보다 적은 parameter를 가지고, 동일한 의미론적 학습능력을 보존합니다. Jigsaw puzzle을 해결하기 위해,
CFN을 training함으로써, 우리는 object parts의 feature mapping을 학습할 뿐만 아니라, 올바른 공간적 부분까지 학습합니다.
Introduction
최근에 Self Supervised Learning이라고 불리는 unsupervised learning을 위한 novel paradigm을 연구하였습니다.
주된 연구는, Image data 또는 아닌 데이터 내에서 자유롭게 사용할 수 있는 다양한 labeling을 활용하는 것이다.
그리고, 이러한 방법들은 general-puporse feature를 학습하기 위한 intrinsic reward signals로써 사용됩니다.
또한 이러한 것들은 이미지 내에서 패치의 상대적인 공간적 위치를 Patch의 Label로 활용됩니다.
feature를 얻기 위한 이러한 방식들은 classfication과 detection task로 전이하는데 매우 성공적이였다.
일반적으로 biological agents가 여러 이미지를 사용하고, 추가적인 정보를 통합한다는 것도 사실이지만,
single snapshot이 지금까지 추출할 수 있었던 것보다 더 많은 정보를 추출할 수 있다는 것 또한, 사실이다.
본 논문에서는 jigsaw puzzles를 해결하는 것이 객체가 어떤 부분으로 구성되어있는지 확인하는 system을 가르치는데
활용될 수 있다고 주장합니다.
Related work
위의 작업은 감독되지 않은 학습 문제인 표현/기능 학습 영역에 속합니다.
Representation Learning은 즉각적으로 data의 표현을 만들어, machine learning task를 해결하는데 상당히 유용합니다.
jigsaw puzzle을 해결함으로써 repurpose features은 object Classification 혹은 Detection에 재활용될 수 있습니다.
이러한 방법론은 Jigsaw Patches와 같다고 말할 수 있습니다.
Self-Supervised Learning
jigsaw puzzle 문제는 모든 타일을 동시에 관찰함으로써, 문제를 해결합니다. 이러한 방법론은 모든 모호한 세트를 교차하고,
singleton으로 줄이는 것이 가능합니다.
입력으로 3개의 Patch가 활용되고, Video를 추적하는 것에서 2개의 patch가 일치하고, 3번째 패치가 임의로 선택됩니다.
이러한 방법론의 주된 장점은 라벨링이 추적하는 방법을 사용하기만 하면 된다는 것이다.
일치하는 패치는 조명, 폐섹, 방향, 혼란 요인의변화로 인하여, 클래스 내 변동성을 갖습니다. 그러나 기본 Object가 동일하게 때문에,
추정된 feature는 동일한 객체를 두개의 다른 instance로 cluster를 할 필요가 없습니다.
이러한 방법론은 여러 다른 sensor에 의해 추출된 labeling을 활용합니다. 장점은 labeling이 매우 자유롭다는 것과 Labeling을 빠르게
할 수 있다는 장점이 있습니다. two image frame으로부터, 추정된 egomotion을 위한 siamese network를 학습하고,
측정된 egomotion sensor과 egomotion과 비교합니다. 학습된 features는 불변된 유사성을 구축할 것입니다.
하지만, intraclass variability는 상당히 제한적입니다. 높은 수준의 구조보다는 색상과 괕은 유사성을 기반으로 학습을 하기에
상당히 제한적입니다.
하지만, Jigsaw puzzle은 tiles 사이에서의 유사성을 무시합니다. 그들은 localization을 도우며, 차이점에 집중합니다.
Solving Jigsaw Puzzles
본 논문에선은 범용적인 기능을 학습하면서, 어떻게 Jigsaw puzzle을 해결할 수 있는지에 논의를 제공합니다.
jigsaw Puzzle을 해결하기 위한 직접적인 접근 방법은 채널에 따라 Puzzle의 tile을 쌓는 것이다.
그리고, 첫 번째 layer의 filter에서 depth를 증가시키는 것이다.
이러한 Network는 높은 수준의 관계보다는 타일 간의 낮은 수준의 texture 통계간의 상관관계를 식별하는 것을 선호한다는 것이다.
The Context-Free Architecture
본 논문에서는 첫 번째 완전 연결 계층까지 각 행이 공유 가중치를 가진 AlexNet Architecture를 사용하여,
Siamese-enned Convolutional Network를 공유 가중치를 가지는 구축합니다.
모든 fc_6의 layer의 출력은 fc_7에 입력으로 연결되어 활용됩니다. 행의 모든 레이어는 fc_6을 포함하여,
동일한 가중치를 공유합니다. 각각의 patch의 data flow는 명시적으로 FCN과 분리됩니다.
그리고, last fully connected layer내에서 다뤄집니다. 이러한 모델을 Context-free Network(CFN)라고 부릅니다.
본 모델은 탐지 및 분류를 포함한 다양한 작업에 대해 상호 교환적으로 활용될 수 있습니다.
Training the CFN
CFN의 출력은 part Model의 Object 부분의 공간 밀도 함수(PDF)로 볼 수 있습니다.
우리의 목적은 CFN을 학습하는 것입니다. 그리하여, feature F는 parts사이에서 상대적인 위치를 분류하기 위한 기여가 가능합니다.
제한된 데이터로 높은 차원의 pdf를 만든다는 것을 고려하여, 훈련 전략에 상당한 주의를 기울여야 합니다.
우리의 문제는 CFN가 각각의 apperance A를 abosulte position과의 연관성을 학습시킬 때이다.
해당 case에서는 feature는 Semantic meaning을 가져오는 것이 아니라, 단지 2D에 대한 임의의 정보를 가져옵니다.
CFN은 puzzle내에 절대적 위치에 기반하여, patches들을 cluster하는 방법을 학습합니다.
일반적으로 Self-supervised Learning system은 pre-text task를 해결하기에 적한한 표현을 lead합니다.
중요한 표현을 학습하기 위한 중요한 요소는 모델이 바람직하지 않는 solution을 갖는 것을 방지합니다.
(shortcuts가 같은 방식을 활용합니다.)
apperance를 absoulte position에 Mapping하는 것을 방지하기 위해,
우리는 같은 이미지의 Jigsaw Puzzle을 CNN에 공급합니다. 그리고, 충분히 인간이 보는 것과는 거리를 갖도록 설정을 함으로써,
tile을 섞습니다. 이러한 방식으로 same tile은 multiple position에 배정 받는다. 이후로, Fi를 임의의 절대 위치에 동일하게
매핑합니다. 또한, shortcut을 회피하기 위해서, tiles내에서 random gap을 넣습니다.
학습하는 동안 Original aspect ratio를 유지하면서, 각각의 Input 이미지를 resize합니다.
Experiment
Conclusion
본 논문에서는 Context-free Network(CFN)을 도입합니다.
CFN은 detection/classification 과 Jigsaw puzzle 사이에서 쉽게 전환되는 것이 가능합니다.
Network는 Jigsaw Puzzle을 사용함으로써, 비지도 학습과 같은 방식으로 학습됩니다. 본 논문에서의 주된 아이디어는,
Object parts로써, 각각의 tile을 식별하기 위해 CFN을 학습하여, Jigsaw Puzzle을 해걸하는 것과 어떤 부분이 객체와 유사한지
파악하는 것이다.
learned feature는 classfication과 detection으로 평가될 수 있습니다. 무엇보다도, 이러한 feature들의 performance는
supervised manner와 같은 learned와 gap이 상당히 유사합니다.