일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- linux
- ubuntu 명령어
- 말해보시개 딥러닝
- git commit
- 말해보시개 Linux
- Image to image translation
- AnoGAN
- AWS EC2
- ubuntu
- autoencoder
- F-AnoGAN
- ubuntu grep
- ubuntu mount
- bash 명령어
- CycleGAN
- AWS Certificate
- git log
- ubuntu zsh
- 쏴아리 딥러닝
- AWS
- aws rds
- pix2pix
- unsupervised learning
- ubuntu pipe
- anomaly detection
- gan
- docker
- EC2
- DCGAN
- bash vs zsh
- Today
- Total
쏴아리의 딥러닝 스터디
Meta-Transfer Learning for Zero-Shot Super-Resolution(CVPR 2020) 본문
Meta-Transfer Learning for Zero-Shot Super-Resolution(CVPR 2020)
말해보시개 2021. 9. 11. 17:19Meta-Transfer Learning for Zero-Shot Super-Resolution(CVPR 2020)
Abstract
CNN은 large-scale external samples를 사용한 single image super-resolution(SISR)에서 큰 성능 향상을 이루어 냈습니다. 하지만 위와같은 연구들은 다음의 관점에서 한계점이 있습니다.
- CNN은 특정 이미지 내부에 있는 internal information을 활용하지 못합니다.
- 오직 그들이 supervised에서 경험한 specific condition에만 적용기 가능합니다.
- 예: low-resolution(LR) image는 high-resolution(HR) image로 부터 "bicubic" downsampled noise-free image 여야 합니다.
이러한 문제를 해결하기 위해 flexible internal learning을 수행하는 zero-shot super-resolution(ZSSR)이 제안되었지만, ZSSR은 추론시간이 굉장히 오래 걸린다는 한계점이 있습니다(수천번 gradient updates를 필요로 함).
본 연구에서는 Meta-Transfer Learning for Zero-Shot Super-Resolution(MZSR)을 제안합니다.
- MZSR은 internal learning을 위한 initial parameter를 발견합니다.
- 즉, MZSR은 external과 internal information을 함께 사용하여, 추론 단계에서 단 한번의 업데이트만 수행하고 quite considerable results를 생성할 수 있습니다.(Figure 1)
- MZSR은 network가 주어진 image condition에 빠르게 적응이 되게 하여, large spectrum of image conditions에 적용이 가능하다는 장점이 있습니다.
1. Introduction
SISR은 LR image로 부터 plasible HR image를 찾는 task로, low-level vision area의 long-standing problem이었습니다.
- 최근 CNNs의 성공에 따라서, CNN-based SISR methods는 큰 성능 향상을 이루어 냈습니다.
- 대부분의 최근 연구들은 "bicubic" downsampling과 같이 known degradation model로 부터 self-supervised setting으로 구성된 external training dataset을 기반으로하고 있습니다.
- 그러나 real-world situations에서는 최근 연구된 방법론들이 undesirable artifacts를 만들고 domain gap 때문에 더 열등한 results를 보여준다는 한계점이 있습니다.
최근 ZSSR이 zero-shot super resolution을 위한 방법론으로 제안되었고, 이 방법론은 CNN을 zero-shot setting 하에서 쉽게 test image condition에 적용되도록 합니다.
- ZSSR은 test image의 internal non-local structure를 학습합니다(예: deep internal learning)
- ZSSR은 recurrence가 salient한 some regions에서 external-based CNN을 outperform 합니다.
- 또한 ZSSR은 매우 flexible하다는 장점이 있어 any blur kernels도 다룰수 있고, 쉽게 test images의 조건에 적응 도힐 수 있습니다.
하지만, ZSSR도 몇가지 한계점이 있습니다.
- 첫째, test time에서 thousands of backpropagation gradient updates를 필요로 하여, 추론을 하는데 시간이 많이 소요가 됩니다.
- 둘째, external dataset을 전혀 사용하지 않고 오직 internal structure와 pattern에만 의존하여 external patterns와 관련된 region에서는 external-based methods에 비해 열등한 성능을 낼 수 있습니다.
최근 meta-learning or learning to learn fast 분야가 많은 연구자로부터 주목을 받았습니다.
- Meta-learning은 artificial intelligence가(human intelligence와는 달리) new concepts에는 약간의 examples만으로는 빠르게 학습하기 어렵다는 문제를 해결하고자 합니다.
- 이중, Model-Agnostic Meta-Learning(MAML)은 optimal initial state of the model을 학습하고, base-learner가 새로운 task로 빠르게 학습할 수 있도록 하는 연구로 최근 SotA performance를 달성하여 큰 impact을 보여주었습니다.
본 연구에서는 MAML과 ZSSR의 연구에 영감을 받아 Meta-Transfer Learning for Zero-Shot Super-Resolution(MZSR)을 제안합니다.
- ZSSR은 오직 meta-test만 있는 반면, 본 연구에서는 meta-training step을 추가하여 model이 새로운 blur kernel scenarios에 빠르게 적응 할 수 있도록 하였습니다.
- 또한 external samples를 활용한 transfer learning을 통해 성능 향상을 이루어 낼 수 있었습니다.
본 연구의 기여점은 다음 3가지 입니다.
- meta-transfer learning에 기반하여, 새로운 task에 빠르게 적응이 가능한 효과적인 initial weight를 학습하는 새로운 훈련 방법을 제안하였습니다.
- external과 internal samples를 함께 활용하여, internal and external learning의 장점을 이용할 수 있습니다.
- fast, flexible, lightweight, unsupervised at meta-test time을 통해 real-world scenarios에 적용이 가능합니다.
2. Related Work
2.1. CNN-based Super-Resolution
SISR은 image degradation model에 기반을 두고 있습니다.
- $I_{HR}$: HR image
- $I^k_{LR}$: LR image
- $k$: blur kernel
- $*$: convolution
- $\downarrow_{s}$: decimation with scaling factor of s
- $n$: Gaussian noise
known downsampling kernel로 만들어진 LR image를 super-resolve 하기 위해 많은 CNN-based networks가 제안되었습니다. 이러한 연구들은 "bicubic" downsampling scenarios에서 큰 성과를 이루어 냈지만, non-bicubic cases에서는 domain gap에 의해서 큰 성과를 내지 못하고 있습니다.
반면, ZSSR은 image specific internal structure를 학습하기 위한 CNN으로 제안되었고, real world scene에 적용될 수 있다는 flexibility가 있는 것을 보여줏었습니다.
2.2. Meta-Learning
최근 다양한 meta-learning algorithms 들이 제안되었고, 크게 3가지 그룹으로 구분됩니다.
- 첫번째 그룹은 metric based methods로 a few samples 내에서 효율적인 metric space를 학습합니다.
- 두번째 그룹은 memory network based methods로, network는 task knowledges를 넘나들어 학습하고 unseen tasks를 잘 generalize합니다.
- 마지막 그룹은 optimization based methods로, gradient descent가 meta-learner optimization으로 역할을 합니다. MAML은 research community에 큰 영향을 미쳤고 다양한 variants가 제안되었습니다.
본 연구에서는 MAML을 zero-shot super-resolution의 fast adaptation을 위한 scheme으로 활용합니다.
3. Preliminary
self-supervised zero-shot super-resolution과 meta-learning scheme을 notation과 함께 소개합니다.
Zero-shot Super-Resolution
ZSSR은 totally unsupervised 혹은 self-supervised 입니다. 두 단계의 training and test는 모두 runtime에 수행됩니다.
- training 단계에서 test image $I_{LR}$은 desired kernel에 의해 downsampled 되어 "LR son" $I_{son}$을 generate합니다. $I_{HR}$은 HR supervision인 "HR father"가 됩니다. 그 뒤, CNN은 single image로 부터 generated된 LR-HR paires로 학습됩니다. 학습은 오직 test image에 의존적이고, 주어진 image statistics에 특정된 internal information을 학습합니다.
- test 단계에서 test input image가 trained CNN에 입력되어 super-resolved image $I_{SR}$을 얻게 됩니다.
Meta-Learning
Meta-learning 은 두가지 단계로 구분됩니다: meta-training and meta-test. model $f_\theta(\cdot)$를 inputs $x$를 outputs $y$로 map하는 모델(parameterized by $\theta$)이라고 고려해 보겠습니다.
meta-training의 목적은 a large number of different tasks에 적응이 가능한 모델을 만드는 것입니다.
- meta-training을 위해 task $T_i$는 task distribution $p(T)$으로 부터 추출됩니다.
- task 내에서, training samples는 task-specific loss를 $L_{T_i}$갖는 base-learner를 최적화 하기 위해 사용되고, test samples는 meta-learner를 optimize 하는데 사용됩니다.
- meta-test 단계에서, model $f_\theta(\cdot)$은 meta-learner의 도움으로 빠르게 새로운 task $T_{new}$로 적응합니다.
MAML은 simple gradient descent algorithm을 meta-learner로서 사용하고 initial transferable point를 발견하는 기를 추구하여, a few gradient updates가 새로운 테스크로 모델이 fast adaptation할 수 있도록 합니다.
- 본 연구에서는 input $x$와 output $y$가 각각 $I^k_{LR}$, $I_{SR}$입니다.
- 또한 다양한 blur kernels가 task distributions가 됩니다.
- 각 task는 specific blur kernel로 degraded된 image를 위한 super-resolution이 됩니다.
4. Method
제안된 MZSR의 전반적인 scheme은 Figure 2에 제시되어 있습니다. MZSR은 3가지 step으로 구성되어있습니다: large-scale training, meta-transfer learning, meta-test
4.1. Large-Scale Training
large-scale training step은 object detection을 위한 large-scale ImageNet의 pre-training과 유사합니다. 본 연구에서는 high-quality dataset $D_{HR}$인 DIV2K를 채택하였습니다.
- 가장 먼저 known "bicubic" degradation을 활용하여, large number of paired dataset $(I_{HR}, I^{bic}_{LR})$, D를 구성합니다.
- 그 뒤, 식(2)에 정의되어있는 loss를 최소화 하기 위한 network를 훈련시켜 "bi-cubic" degradation model이 super-resolution을 수행하도록 학습시킵니다.
- 식 (2)는 prediction과 ground-truth간 pixel-wise L1 loss를 의미합니다.
large-scale training은 두가지 측면에서 기여점이 있습니다.
- 첫째, super-resolution tasks와 유사하게 efficient representation을 학습하여, high-resolution images의 natural image priors를 암시적으로 표현합니다.
- 둘째, MAML이 some unstable training을 보여주는데, well pre-trained feature representation을 도와줌으로써, meta-learning의 training phase를 쉽게 합니다.
4.2. Meta-Transfer Learning
Meta-transfer learning 단계에서는 약간의 gradient update를 통해 large performance improvements를 달성할 수 있도록 sensitive and transferable initial point를 발견하는 것이 목적입니다.
MAML에 영감을 받아서, MZSR은 MAML을 대부분 따르지만 약간의 수정사항이 있습니다. 본 연구에서는 MAML과 다르게, meta training과 meta-test를 위한 다른 세팅을 채택하였습니다.
- 특히 본 연구의 meta-training에는 external dataset을 활용하고, meta-test에서는 internal learning을 채택하였습니다.
- 이는 large-scale dataset의 도움을 통해 meta learner가 더욱 kernel-agnostic property에 집중하기 위한 의도입니다.
meta-transfer learning의 dataset을 $D_{meta}$로 정의하였습니다.
- D_{meta}는 다양한 kernel setting과 관련된 $(I_{HR},I^k_{LR})$ pairs로 구성이 되어있습니다.
- 구체적으로, blur kernel을 위해 isotropic과 anisotropic Gaussian kernel을 사용하였습니다.
- 각 kernel이 covariance matrix $\Sigma$ 로 결정되는 kernel distribution $p(k)$를 고려합니다.
- random angle: $\theta \sim U[0,\pi]$
- two eigenvalues: $\lambda1 \sim U[1,2.5s], \lambda2 \sim U[1,\lambda1]$
- $s$: scale factor
covariance matrix는 식 3와 같이 표현됩니다.
$D_{meta}$에 기반하여 mata-learner를 학습합니다. $D_{meta}$는 그 두룹으로 구성됩니다.
- $D_{tr}$ for task-level training
- $D_{te}$ for task-level test
본 연구에서는 parameters $\theta$를 갖고 새로운 task $T_{i}$에 적용하여 1회 혹은 그 이상의 gradient updates를 수행합니다.
- one gradient update를 위하여, new adapted parameters $\theta_{i}$는 식(4)와 같습니다.
- $\alpha$: task-level learning rate
model parameters $\theta$는 minimal test error of $D_{meta}$를 최소화 하기 위하여 최소화 됩니다.
meta-objective는 식 (5), (6)과 같습니다.
Meta-transfer optimization은 식 6을 이용하여 수행되고, 이는 knowledge across task를 학습합니다.
어떠한 gradient based optimization도 meta-transfer training에 사용될 수 있습니다.
- stochastic gradient descent를 위한 parameter update rule은 식 (7)과 같이 표현됩니다.
4.3. Meta-Test
meta-test step은 정확히 zero-shot super-resolution 입니다. model이 single image내에 있는 internal information을 학습하게 합니다.
- 주어진 LR image를 갖고, corresponding down sampling kernel을 통해 downsample을 수행하여 $I_{son}$을 generate합니다.
- 그리고 single pair of "LR son"과 주어진 image에 대해 model parameter과 관련된 약간의 gradient update를 수행합니다.
- 그 뒤, 주어진 LR image를 model에 적용하여 super resolved image를 얻습니다.
4.4 Algorithm
Algorithm 1은 meta-transfer training procedure를 묘사하고 있습니다.
- Lines 3-7: large-scale training stage
- Lines 11-14: inner loop of meta-transfer learning where base-learner is updated to task-specific loss
- Lines 15-16: meta-learner optimization
Algorithm 2는 meta-test step(zero-shot super-resolution)을 묘사하고 있습니다.
- 약간의 gradient updates(n)이 meta-test 동안 수행됩니다.
- super-resolved image는 final updated parameters에 의해 획득됩니다.
5. Experiments
5.1. Training Details
ZSSR를 따라서 residual learning으로 이루어진 8-layer CNN arthitecture를 채택하였습니다.
- parameters 수: 225K
meta-transfer training을 위해 DIV2K를 high-quality dataset으로 활용하였습니다($\alpha=0.01, \beta=0.0001)$.
- inner loop에서 5 gradient updates를 수행
- training patches : 64*64
- ADAM optimizer as out meta-optimizer
5.2. Evaluations on "Bicubic" Downsampling
최근 supervised, unsupervised 방법론을 포함한 SotA SISR 방법론들을 포함하여 비교하였습니다.
- Dataset: Set5, BSD100, Urban100
- Metric: PSNR, SSIM, Y-channel of YCbCR colorspace
ZSSR과 MZSR은 supervised와 비교하여 좋은 성능을 달성하지 못하였는데, 이는 MZSR과 ZZSR이 unsupervised of self-supervised regime이기 때문입니다.
- MZSR은 one single gradient descent updates로 ZSSR과 필적할 성능을 보여주었습니다.
5.3. Evaluations of Various Blur Kernels
다양한 blur kernel conditions에서 성능을 평가하였습니다.
- 4 scenaios: severe aliasing, unisotropic Gaussian, and isotropic Gaussian followed by bicubic subsampling.
"bicubic" scenario에서 훈련된 SoTA method RCAN은 domain discrepancy와 flexibility의 부족 때문에 열등한 성능을 보여주었습니다.
- ZSSR은 flexibility 때문에 향상된 성능을 보여주었지만 thousands of gradient updates를 요구하기 때문에 시간이 오래 소요됩니다.
- 반면, MZSR은 one single gradient update로 ZSSR과 필적할 만한 성능을 보여줍니다.
6. Discussion
6.1. Number of Gradient Updates
ablation investigation을 위해 다양한 configurations에서 여러 모델을 훈련하였습니다. Set5에서의 average PSNR을 평가한 결과가 Figure 3에 기술되어있습니다.
흥미롭게도 initial point of our methods는 worst performance를 보여주었지만 오직 one iteration으로 빠르게 image condition에 적응하여 best performance를 보여 주었습니다.
6.2. Multi-scale Models
본 연구에서는 추가적으로 multi-scale model을 훈련하였으며, x2의 결과는 Table 3에 기술되어있습니다.
- x2의 결과는 single-scale model과 비교하여 worse results를 보여줍니다.
- multiple scaling factors로는 task distribution이 더욱 복잡해지고, meta-learner가 fast adaptation을 위한 적절한 regions를 capture하기 위해 struggles함을 의미합니다.
- 게다가, larger scaling factor로 meta-testing을 수행할 경우 $I_{son}$의 크기가 너무 작아져서 CNN에게 충분한 information을 전달하기 어렵습니다.
- 따라서, CNN은 very small LR son image의 information을 거의 활용하기가 어렵습니다.
중요한 점은 marge scaling factors를 활용한다고 하더라도 CNN이 internal information of CNN을 학습하기 때문에, multi-scale recurrent patterns를 갖고있는 images들은 plausible results를 보여준다는 것입니다(Figure 5).
6.3. Complexity
본 연구에서는 전반적인 model과 time complexities를 비교하였습니다.
- CARN과 RCAN은 parameters의 수가 굉장히 큽니다.
- ZSSR은 totally unsuperviseed 방법론으로 훨씬 적은 parameter를 갖고 있지만, 너무 많은 시간이 소요되고 practical 하지 않다는 단점이 있습니다.
- MZSR은 single gradient update를 사용하면 가장 적은 시간이 소요되며, 10 iterations를 수행한다고 하더라도 CARN과 상응하는 시간만이 소요된다는 장점이 있습니다.
7. Conclusion
본 연구에서는 빠르고, 유연하고, 가벼우며(lightweight), external and internal samples롤 모두 활용하는 self-supervised super-resolution 방법론을 제안하였습니다. 구체적으로 optimization-based mata-learning과 transfer learning을 함께 활용하여 다양한 조건의 blur kernel에 적응가능한 initial point를 찾은 과정을 채택하였습니다.
같이 보시면 좋아요.
2021.07.18 - [Image Generation] - “Zero-Shot” Super-Resolution Using Deep Internal Learning(2018)
2021.07.11 - [Image Generation] - Noise2Void - Learning Denoising from Single Noisy Images(2019)
포스팅 내용이 도움이 되었나요? 공감과 댓글은 큰 힘이 됩니다!