- Today
- Total
목록Deep Learning (32)
작심삼일

My Summary & Opinion CNN의 층을 더 깊게 쌓을수록, SR에 대한 성능이 좋아지는 추세였다. 하지만 너무 깊어지면 long-term dependency 때문에 더 이상 성능이 높아지지 않는 경향이 있는데, 이를 memory block으로 해결했다. Memory block 안의 gate unit으로 long-term 하게, recursive unit으로 short-term 하게 학습이 되도록 했다. 개인적으로는 memory block이라는 컨셉을 사용한 것은 좋지만, 이 논문의 마지막에 언급한 DenseNet이 간단하면서 획기적인 구조를 가진다고 생각한다. MemNet은 뭔가 이것저것 좋은 것들을 다 합친 느낌이랄까... 물론 이런 것들을 잘 합치는 것도 좋지만, 간단하면서 획기적인 구조..

My Summary & Opinion ResNet의 구조에서 BN을 제거해 사용했다. BN이 feature map을 normalize해서 blur효과가 나타나기도 하고, 학습할 때 메모리를 많이 먹기 때문이다. Residual scaling 방법을 통해 큰 feature map에서도 안정적으로 학습되도록 했다. Scale-specific pre-processing / up-sampling과 shared network 구조를 통해 multi-scale 네트워크를 제안했다. BN이 여러 영역에서 사용되지만, normalization 때문인지 SR영역에서는 자주 배제되는 것 같다. Residual scaling 방법이나 scale-specific layer, shared network같은 구조의 컨셉을 잘 알..

My Summary & Opinion MSE처럼 기존의 pixel-wise 한 방식은 high-frequency 성분을 제대로 살리지 못한다. PSNR과 SSIM도 human visual system과 비례하는 것이 아니다. 이 논문에서는 이런 문제들에 대한 해법으로 GAN을 사용해서 더 realistic한 이미지를 생성하도록 했다. 또한, loss도 기존의 MSE가 아닌 perceptual loss(content loss + adversarial loss)를 사용했다. MSE는 평균을 내는 방식이므로 over-smoothing 된다. 하지만 content loss는 VGG network의 feature map을 이용한 euclidean distance를 사용하기 때문에 pixel의 정확도보다 perce..

Image Restoration Using Very Deep Convolutional Encoder-Decoder Networks with Symmetric Skip Connections My Summary & Opinion RED-Net에서 계속 반복적으로 말하고 있는 두 가지 특징이 있다. 첫째, convolution과 deconvolution을 symmetric 하게 쌓았다는 점이고, 둘째, symmetric 하게 쌓았으니 그에 대응하는 conv와 deconv 사이에 skip-connection을 사용한 것이다. Conv와 deconv를 symmetric 하게 쌓은 것은 인코더-디코더의 역할을 한다. Skip-connection은 다른 논문에서도 그렇듯이 feature map을 pass 시켜줘서 d..

My Summary & Opinion SRCNN을 만든 저자가 그 성능을 높이기 위해 만든 것이 FSRCNN(Fast-SRCNN)이다. 이름이 '빠른 SRCNN'인 것에서부터 알 수 있다시피 SRCNN의 속도를 높이는 데 중점을 뒀다. ESPCN처럼 LR 이미지를 그대로 네트워크의 입력으로 넣고, 마지막에 upsampling 한다. 하지만 ESPCN이 Sub-Pixel Convolution layer를 사용한 것과 달리, deconvolution layer를 사용했다. Convolution을 반대로 진행한다는 아이디어는 괜찮아 보이지만, Sub-Pixel Convolution의 콘셉트가 더 효율적으로 다가온다. 그 외에 shrinking & expanding layer도 시간을 줄이는데 효과적이겠지만, ..

My Summary & Opinion SRCNN의 실험을 기반으로 성능을 더 높이기 위해 층을 많이 쌓아 깊은 네트워크를 제안했다. 깊은 네트워크는 그 깊이 때문에 gradient가 끝에서 끝까지 전달되기가 힘든데, 이 문제를 residual-learning으로 해결했다. 또한 학습 속도를 높이기 위해 높은 learning rate를 사용했고, 20 epoch마다 업데이트를 함으로써 vanishing/exploding gradient 문제를 예방했다. 그리고 한 네트워크가 multi-scale을 다룰 수 있도록 학습했다. 단순히 깊게 쌓은 네트워크로 기억하기 보다는 학습 테크닉 위주로 보면 좋을 것이다. Introduction 이전 글에서 소개했던 SRCNN은 SR 문제에 딥러닝을 잘 사용했지만 세 가지..

Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network My Summary & Opinion 기존의 다른 SISR network와는 다른 upscaling layer를 사용했다. 이전 네트워크들은 네트워크로 하여금 image enhancement 하는 과정을 배우게 하기 위해 네트워크의 시작 전이나 앞부분에서 upscaling을 진행한다. 하지만 이렇게하면 계산량이 증가한다는 단점이 생긴다. 이 문제를 해결하기 위해 sub-pixel layer를 제안한다. Sub-pixel layer는 그림 1만 보면 이해할 수 있을 정도로 간단하게 구성되어 있다. 제일 마지막에 나오..

My Summary & Opinion SRCNN은 3개의 conv layers만 사용했기에 구조는 매우 간단하고 그 속도가 빠름에도 불구하고 그 성능이 이전 SOTA들과 비교했을 때 뛰어나다. 흥미로운 점은 필터들을 봤을 때, 필터들마다 edge detector 등 각각의 특색을 보인다. 이 논문에 적힌 실험에 따르면 이미지의 양이 많아질수록, 필터의 크기를 키울수록 성능이 향상되지만 층을 깊게 쌓을수록 항상 성능이 향상되는 것은 아니다. Layer를 3개만 사용해서 이미지 양을 많이 사용해도 over-fitting이 되기 어렵기 때문에 꽤 많은 양의 데이터를 사용해도 성능이 향상될 것이라 예상하지만, 이 모델의 크기가 작기 때문에 너무 많은 데이터를 다 학습하기에는 어려울 것 같다. 필터의 크기를 키울..