Abstract

Deep learning techniques have become the method of choice for researchers working on algorithmic aspects of recommender systems. With the strongly increased interest in machine learning in general, it has, as a result, become difficult to keep track of what represents the state-of-the-art at the moment, e.g., for top-n recommendation tasks. At the same time, several recent publications point out problems in today’s research practice in applied machine learning, e.g., in terms of the reproducibility of the results or the choice of the baselines when proposing new models. In this work, we report the results of a systematic analysis of algorithmic proposals for top-n recommendation tasks. Specifically, we considered 18 algorithms that were presented at top-level research conferences in the last years. Only 7 of them could be reproduced with reasonable effort. For these methods, it however turned out that 6 of them can often be outperformed with comparably simple heuristic methods, e.g., based on nearest-neighbor or graph-based techniques. The remaining one clearly outperformed the baselines but did not consistently outperform a well-tuned non-neural linear ranking method. Overall, our work sheds light on a number of potential problems in today’s machine learning schol- arship and calls for improved scientific practices in this area.


딥러닝 기술은 많은 추천 시스템 연구자들에게 선택받기 시작했다.

최근 머신러닝에 관한 관심이 급격하게 증가하면서 상위 n개를 추천하는 작업과 같은 분야에서 SOTA 방법을 추적하기 굉장히 어려워졌다.

이와 동시에 새로운 모델을 제안할 때 baseline을 선택하는 과정에서 최근 논문들은 재생산성 부분에서 문제를 제기하고 있다.

이번 논문에서는 top-n 추천 작업에서 사용되는 다양한 분석 방법들을 리뷰한다.

작년에 주로 연구된 18 가지 알고리즘을 고려해보았지만, 그 중 7개 방법만이 재생산성을 실현할 수 있었다.

또한, 이 중 6개 방법이 기존에 사용되던 NN이나 graph-based와 같은 휴리스틱 알고리즘보다 더 나은 성능을 보여주었다.

그 외 나머지 방법은 baseline보다 나은 성능을 보여주긴 했지만, 잘 조정된 비신경망 선형 방법의 성능을 일관성있게 뛰어넘지는 않는 것을 보여주었다.

따라서 우리는 추천 시스템 분야에서 활발하게 사용되고 있는 머신러닝 방법에서 나타날 수 있는 잠재적 문제를 다루고, 과학적으로 실현할 수 있는 방법을 제안한다.


요약

  • 이미지나 자연어 처리에서 딥러닝이 성공적인 모습을 보여주고 있는만큼 추천시스템에서도 딥러닝 관련 논문이 다양하게 publish되고 있긴 하지만, 실질적인 진전이 일어나고 있는지는 의문이라고 합니다.
  • 현재 추천시스템에서 진전이 일어나지 않는 이유는 세 가지로 표현해볼 수 도 있는데, 다음과 같습니다. 1) basline의 부재 2) 새로운 방법론으로 채택하기엔 너무 빈약한 방법들 3) 결과의 재생산성과 비교의 어려움
  • baseline 문제는 publish 논문에서 비교하기엔 너무 쉬운 수준의 데이터셋이나 성능을 baseline으로 잡는 경우가 있고, 특히 제공된 baseline이 적절하게 fine-tune 되지 않아 문제가 되는 경우가 있습니다. 특히, 이 문제는 딥러닝 방법을 채택했을 때 다른 딥러닝 baseline을 비교하고자 하는 경우에 주로 발생한다고 합니다.
  • 특히 이 논문에서는 재생산성(Reproducibility)와 진전성(Progress)를 중점적으로 리뷰하고자 합니다.
  • 또 논문의 저자들은 선정한 논문(총 18편)을 직접 구현해보거나 실행해보았는데, 그 중 딥러닝 관련 논문은 대부분이 추천 시스템에서 사용되는 nearest-neighborhood 방법들보다 일관적으로 outperform하지 않다는 점을 발견했다고 합니다. 또한, 18편 중 단 7편만이 재생산성을 실현할 수 있었다고 합니다.
  • 이 논문에서 사용한 baseline은 다음과 같습니다. TopPopular, itemKNN, UserKNN, ItemKNN-CBF, ItemKNN-CFCBF, graph-based 방법
  • 이 다음 내용부터는 논문에서 저자가 위의 baseline 방법과 publish된 deep learning류의 방법들과 비교한 방법들입니다. 저는 이를 검증할 방법이라고 표현하겠습니다.

- 검증할 방법: CMN(Collaborative Memory Networks)
    - Attention mechanism을 활용한 방법입니다.
- 데이터셋: CiteULike-a, Pinterest, Epinions
- 평가지표: HR@5, NDCG@5, HR@10, NDCG@10

  • CiteLike-a와 Pinterest 데이터셋에서는 적어도 두 가지 이상의 baseline이 CMN보다 우수한 성능을 보여주었습니다.
  • 놀라운 점은 Epinions 데이터셋에서 개인화에 집중되지 않은 TopPopular baseline이 다른 모든 방법보다 훨씬 우수한 성능을 보여주었다는 것입니다.
  • 뿐만 아니라 Epinion 데이터셋에서는 CMN이 TopPopular 방법을 제외한 다른 모든 baseline의 성능을 뛰어넘었는데요. 
    CMN이 다른 baseline 성능을 뛰어넘은 이유는 다음과 같습니다.
    1) 데이터셋이 비교적 작은 경우
    2) 데이터셋이 sparse한 경우
    3) 데이터셋에 포함되어 있는 데이터의 분포가 고르지 않은 경우

- 검증할 방법: MCRec(Metapath based Context for RECommendation)
- 데이터셋: MovieLens100k, LastFm, Yelp
- 평가지표: Precision, Recall, NDCG

  • ItemKNN 방법이 가장 좋은 성능을 보여주었으며, 그 외에 방법들은 MCRec 방법이 outperform 했습니다. MCRec 논문을 보면 모든 방법에 있어서 최고 성능을 낸다고 발표하고 있지만, 실제로는 그렇지 않은 것으로 보아 부적절한 test-set, epoch 선택이 있었던 것 같습니다.

- 검증할 방법: CVAE(Collaborative Variational AutoEncoder)
    - content와 rating을 고려한 unsupervised 방법입니다.
- 데이터셋: CiteULike 135k(sparse version) and 205k(dense version)
- 평가지표: REC@50, REC@100, REC@300

  • 짧은 길이의 추천 항목에 있어서는 기존 CF 방법이 우수한 성능을 보여주었으며, 긴 길이의 추천 항목에서는 ItemKNN-CFCBF가 우수한 성능을 보여준다고 합니다.
  • 추천 항목의 길이가 100이거나 그 이상인 경우 CVAE가 대부분의 방법보다 outperform한다고 합니다.

- 검증할 방법: CDL(Collaborative Deep Learning)
    - stacked denoising AE(SDAE)와 CF를 혼합한 방법이라고 합니다.
- 데이터셋: CiteULike-a
- 평가지표: REC@50, REC@100, REC@300

  • content의 deep representation을 학습하기 위해 deep learning 기법을 사용합니다. CDL은 추천 항목의 길이가 100이 넘는 경우 higher Recall 성능을 보여준다고 합니다.
  • 하지만 표와 같이 대부분의 CF 방법이 CDL 방법보다 우수하며, CVAE 방법이 항상 CDL 방법보다 뛰어납니다.

- 검증할 방법: NCF(Neural Collaborative Filtering)
    - 추천시스템에서 흔히 사용되는 Matrix Factorization을 Neural Architecture로 대체함으로써 다양한 표현을 배우도록 한 방법입니다.
- 데이터셋: MovieLens1M, Pinterest
- 평가지표: HR@5, NDCG@5, HR@10, NDCG@10

  • 이 방법은 Pinterest 데이터셋은 대부분 CF 방법의 성능이 좋았지만, MovieLens1M 데이터셋에는 완벽하게 NCF 방법이 우수한 성능을 보여주고 있음을 알 수 있습니다. 
  • 추가 평가를 위해 저자는 Simple Linear Model(SLIM, 여기서는 scikit-learn에서 사용할 수 있는 ElasticNet을 뜻함)을 평가에 사용했는데, MovieLens1M 데이터셋에서 NCF보다 우수한 성능을 보여주었다고 합니다.

- 검증할 방법: SpectralCF(Spectral Collaborative Filtering)
    - Spectral Graph Theory를 사용하며, cold start 문제를 해결하기 위해 고안된 방법입니다.
- 데이터셋: MovieLens1M, HetRec, Amazon Instant Video
- 평가지표: Recall, MAP(Mean Average Precision)

  • spectralCF는 실제 논문에서는 모든 측면에서 baseline보다 나은 성능을 보여줬다고 합니다.
  • 이를 검증하기 위해 실제로 저자가 직접 결정한 하이퍼파라미터와 data split을 통해 결과를 확인해보니 오히려 반대의 결과를 만나볼 수 있었다고 합니다. 그 이유는 train/test data의 distribution이 굉장히 다르기 때문이라고 하네요.
    (그럼 spectralCF 원 논문에서는 좋은 감만 따서 썻다는 말이 되겠군요.....;;)

- 검증할 방법: Mult-VAE(Variational Autoencoders for Collaborative Filtering)
- 데이터셋: binarized datasets(movie ratings or song play counts)
- 평가지표: REC, NDCG

  • 저자가 직접 방법을 실행시켜보니 꽤나 좋은 성능, 그리고 일관적인 성능을 얻을 수 있는 방법 중 하나였고, SLIM 모델을 튜닝해서 사용해본 결과 성능이 우수하진 않았지만 비슷한 결과를 얻을 수 있었다고 합니다.
  • 저자가 추가로 실험한 부분에선 조금이나마 SLIM이 우수한 평가지표도 존재했는데, 이는 평가지표 선택에 따라 SLIM과 mult-VAE의 성능 차이가 결정될 수 있다고 언급합니다.
  • 이를 제가 다시 해석해보면, 역시 논문 특성상 Mult-VAE도 SLIM이 좋을만한 평가지표는 빼고 제공해주었다는 점이 되겠네요.

  • 위의 결과처럼 추천 시스템을 논문을 보고 직접 구현할때는 반드시 재생산성을 확인해봐야 한다고 합니다.
  • 학회 요구에 따라 모델 구조 등은 공유될 수 있겠지만, 데이터 전처리, 하이퍼파라미터 최적화 과정, 평가 방법 등은 아직 많은 논문이 공유하고 있지 않습니다.
  • 많은 딥러닝 방법들을 살펴보았지만, 여전히 신경망 기반의 방법들은 아직 기존 방법을 뛰어넘지 못하고 있습니다.
  • 최근들어 많은 딥러닝을 활용하여 추천시스템을 구현한 논문들이 NCF(Neural Collaborative Filtering) 방법을 baseline으로 사용하고 있는데, 이는 적절치 않다고 합니다. 그 이유는 단 한 가지 데이터셋에서만 성능이 좋다는 것을 확인할 수 있었고, 다른 데이터셋에서는 좋은 성능을 보여주지 못했다고 합니다.
  • 추천 시스템 논문들은 평가지표와 public dataset(무려 20개)이 너무도 많아 baseline을 확실히 결정하기가 어렵다고 합니다.

Reference

Dacrema, M. F., Cremonesi, P., & Jannach, D. (2019, September). Are we really making much progress? A worrying analysis of recent neural recommendation approaches. In Proceedings of the 13th ACM Conference on Recommender Systems (pp. 101-109).

 

Abstract

Convolutional Neural Networks (CNNs) are commonly thought to recognise objects by learning increasingly complex representations of object shapes. Some recent studies suggest a more important role of image textures. We here put these conflicting hypotheses to a quantitative test by evaluating CNNs and human observers on images with a texture-shape cue conflict. We show that ImageNet-trained CNNs are strongly biased towards recognising textures rather than shapes, which is in stark contrast to human behavioural evidence and reveals fundamentally different classification strategies. We then demonstrate that the same standard architecture (ResNet-50) that learns a texture-based representation on ImageNet is able to learn a shape-based representation instead when trained on ‘Stylized-ImageNet’, a stylized version of ImageNet. This provides a much better fit for human behavioural performance in our well-controlled psychophysical lab setting (nine experiments totalling 48,560 psychophysical trials across 97 observers) and comes with a number of unexpected emergent benefits such as improved object detection performance and previously unseen robustness towards a wide range of image distortions, highlighting advantages of a shape-based representation.


CNN은 일반적으로 복잡한 object shape representation을 점차 학습하면서 객체를 인식하는 것처럼 생각할 수 있다.

최근 연구는 image texture가 더욱 중요한 규칙이라고 제안하고 있다.

이 연구는 texture와 shape가 존재하는 이미지에서 사람과 CNN을 평가하여 이러한 상충되는 가설을 검증하는 정량적 테스트를 수행한다.

분류하는 과정에 있어서 ImageNet으로 학습된 CNN은 사람이 사물을 판단하는 것과 다르게 shape보다 texture 인식에 편향되어 있다.

 ImageNet에서 texture-based representation을 학습하는 ResNet-50과 같은 표준 아키텍쳐가 이 논문에서 제안하는 'Stylized-ImageNet'을 학습하면 shape representation을 학습할 수 있다는 것을 보여줍니다.

이는 연구실에서 잘 통제된 연구 환경에서 사람이 사물을 구분하는 것처럼 모델이 잘 구분할 수 있, 이보다 더 나은 성능을 보여줄 수 있음을 다양한 실험을 통해 증명한다. 또, object detection 성능이나 이전에 보지 못한 이미지를 잘 구분하는 견고함과 같은 이점을 shape-based representation을 학습함으로써 얻을 수 있음을 보여준다.


요약

  • 사람은 global object shape에 편향되어 사물을 추측하고, 이와 다르게 CNN은 texture로 사물을 판단한다
  • 결국 성능 향상을 위해 논문에서 제시한 style-based ImageNet과 base Image를 함께 학습시킴
  • 사람이 noise가 포함된 이미지를 잘 인식하는 이유는 shape-based이기 때문이다
  • 나머지 내용은 참조의 유튜브 동영상 보는 것을 추천합니다. 매우 설명을 잘해주고 있으십니다..!

 

Reference

Geirhos, R., Rubisch, P., Michaelis, C., Bethge, M., Wichmann, F. A., & Brendel, W. (2018). ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness. arXiv preprint arXiv:1811.12231.

www.youtube.com/watch?v=oBapZTL8LsE&list=PLWKf9beHi3TgstcIn8K6dI_85_ppAxzB8&index=49

Abstract

The central building block of convolutional neural networks (CNNs) is the convolution operator, which enables networks to construct informative features by fusing both spatial and channel-wise information within local receptive fields at each layer. A broad range of prior research has investigated the spatial component of this relationship, seeking to strengthen the representational power of a CNN by enhancing the quality of spatial encodings throughout its feature hierarchy. In this work, we focus instead on the channel relationship and propose a novel architectural unit, which we term the “Squeeze-and-Excitation” (SE) block, that adaptively recalibrates channel-wise feature responses by explicitly modelling interdependencies between channels. We show that these blocks can be stacked together to form SENet architectures that generalise extremely effectively across different datasets. We further demonstrate that SE blocks bring significant improvements in performance for existing state-of-the-art CNNs at slight additional computational cost. Squeeze-and-Excitation Networks formed the foundation of our ILSVRC 2017 classification submission which won first place and reduced the top-5 error to 2.251%, surpassing the winning entry of 2016 by a relative improvement of ∼25%. Models and code are available at https://github.com/hujie-frank/SENet.


CNN 구성에서 핵심 기능은 각 layer의 receptive field에서 공간적, 채널별 정보를 혼합하는 체계로 구성하는 것이다.

이전에 수행한 광범위한 연구는 두 가지 관계의 공간적 요소를 조사했고, 계층적 특징 전반에 걸쳐 공간 인코딩의 품질을 향상시킴으로써 CNN의 표현력을 강화하고자 했다.

이 논문은 채널별 관계를 살펴보는 것 대신에 채널 간의 상호의존성을 명시적으로 모델링하여 채널별로 추출하는 특징을 재조정하는 새로운 아키텍쳐 단위인 SE(Squeeze-and-Excitation) block을 소개한다.

우리는 이 block을 쌓은 SENet 아키텍처가 서로 다른 데이터셋에서 효율적으로 일반화할 수 있다는 것을 확인했다.

게다가 SE block은 약간의 계산비용이 추가되지만 SOTA 모델에 적용했을 때, 성능적으로 주요한 향상을 보여주었다.

ILSVRC 2017에서 우승을 차지했고, 2016년 우승자보다 25%의 차이를 보여주었다.


요약

  • 최근 CNN에서의 연구는 특정 아키텍처를 통해 공간 정보를 손실하지 않고 특징을 잘 포착할 수 있도록 도와주는 다양한 아키텍처를 모델에 통합하고 있다. 예를 들면, inception module은 다양한 크기의 컨볼루션을 사용하였다.
  • SE block의 사용을 통해 채널별 상호의존성을 모델링하여 CNN의 표현을 강화하고, 성능을 향상시키는 것이 목표이다. 또, 유용한 정보를 선택적으로 강조하기 위한 전역 정보를 다시 생성해내는 작업을 수행하는 메커니즘을 소개한다.
  • SE block은 밑의 그림과 같으며, 매우 단순하고, 다른 SOTA 모델의 모듈과 대체하여 사용할 수 있고, 성능을 향상시킬 수 있다.(squeeze --> excitation)

SE Block

  • 컨볼루션을 통과한 output U는 먼저 squeeze 연산을 수행하게 되는데, squeeze 연산은 GAP(Global Average Pooling)을 통해 전역 공간 정보를 다룰 수 있게 한다. (여기서는 GAP를 사용했지만, 다른 channel descriptor를 사용해도 된다고 논문에 언급되어 있다) 단순하게 생각하자면 GAP를 사용하는 이유를 떠올려보자.

squeeze

  • excitation 연산은 시그모이드 함수를 활용한 게이트 메커니즘을 사용하는데, 여기서 차원 감소를 위해 reduction ratio r을 적용한 두 개의 Fully connected layer를 사용한다. squeeze와 excitation 연산을 거친 최종 output U는 rescaling된 결과로 반환된다. reduction ratio default value는 16이다.

excitation

  • 최종적으로 논문에서 제안된 순서는 [GAP -> FC -> ReLU -> FC -> Sigmoid]가 된다. 논문에 나와있는 SE-Inception module은 다음 그림에서 볼 수 있다.

SE-Inception Module

  • 위와 같이 SE-block은 유명한 Inception 계열 또는 ResNet 계열에도 적용할 수 있어 매우 유연하다는 점을 강조한다.
  • SE block을 적용한 ResNet, Inception 등 모델에서는 base 모델보다 향상된 성능을 보여주었으며, 아주 약간의 complexity 증가로 매우 효율적인 구조임을 증명한다.

Performance and Complexity

또, CIFAR-10, CIFAR-100 등 데이터셋에서의 성능 실험과 SE block이 가지는 여러 가지 파라미터에 대해 추가 실험을 진행하여 해당 결과를 논문에서 공유하고 있다.

GAP 부분을 1x1 컨볼루션으로 교체하고(이를 NoSqueeze라고 한다) 실험한 결과 GAP가 더 우수한 결과를 보여주었다.

마지막으로 논문의 끝에서 사용한 SE block의 activation의 상태변화를 보여주는데, 모델의 후반부로 갈수록 SE block의 의미가 감소하는 것을 보여준다. 밑의 그림에서 SE_5_2와 SE_5_3은 클래스별로 그래프의 모양이 거의 다르지 않은 것에서 이를 생각해볼 수 있다.
SE block은 Input을 추론하기 위한 중요한 특징을 추출하는 channel에 scale weight를 부여해서 더욱 강조하겠다는 의미기 때문에 전자 그래프처럼 클래스마다 activation 그래프의 모양이 서로 달라야 정상적으로 작동하고 있음을 알 수 있다. 따라서, 이를 생각해보면 모델 후반부에 SE block을 사용하지 않음으로써 성능은 그대로 유지하되 model complexity는 감소시킬 수 있음을 알 수 있다(모델 파라미터가 더 줄어든다는 의미).

Excitation Activation

 

Abstract

Data-augmentation is key to the training of neural networks for image classification. This paper first shows that existing augmentations induce a significant discrepancy between the size of the objects seen by the classifier at train and test time: in fact, a lower train resolution improves the classification at test time! We then propose a simple strategy to optimize the classifier performance, that employs different train and test resolutions. It relies on a computationally cheap fine-tuning of the network at the test resolution. This enables training strong classifiers using small training images, and therefore significantly reduce the training time. For instance, we obtain 77.1% top-1 accuracy on ImageNet with a ResNet50 trained on 128⇥128 images, and 79.8% with one trained at 224⇥224. A ResNeXt-101 32x48d pre-trained with weak supervision on 940 million 224⇥224 images and further optimized with our technique for test resolution 320⇥320 achieves 86.4% top-1 accuracy (top-5: 98.0%). To the best of our knowledge this is the highest ImageNet single-crop accuracy to date.


이미지 분류를 위한 신경망의 학습에서 Data Augmentation은 필수이다. 

이 논문은 첫 번째로 학습과 테스트 과정에서 classifier가 보는 객체가 상당히 불일치함을 보여줍니다. 

사실 매우 낮은 학습 데이터의 resolution은 테스트 과정에서 분류를 향상시킵니다!

그리고 나서 classifier의 성능을 최적화하는 간단한 전략을 소개합니다. 전략은 학습과 테스트 과정에서 다른 resolution을 사용하는 것입니다. 테스트 resolution에서 계산적으로 매우 효율적인 fine-tuning을 이용합니다. 

이 방법은 작은 개수의 학습 이미지를 사용할 때도 매우 강력한 분류 성능을 보여주며, 학습 시간을 상당히 감소시킵니다.

예를 들어, ResNet-50, ImageNet을 사용한 top-1 accuract가 128x128 해상도에서는 77.1%의 정확도를 얻었다면, 224x224 해상도를 사용한 것에서는 79.8%의 해상도를 얻을 수 있었습니다.

(224, 224) 해상도로 학습한 ResNetXt-101을 테스트 시에 (320, 320) 해상도를 사용했더니 86.4%의 top-1 accruacy와 98.0%의 top-5 accuracy를 얻었습니다. 이는 현재까지 가장 높은 성능입니다.


요약

  • 여러 가지 문제를 해결할 수 있는 CNN을 학습시킬 때, 더 나은 성능을 위해서 학습과 테스트 데이터의 분포는 매치되어야 한다.
  • CNN에 데이터를 입력시킬 때 이미지를 crop한다던지, fixed size 크기를 사용하여 입력하는 것을 이 논문에서는 RoC(Region of Classification)이라고 표현한다.
    (AlexNet은 224X224로 crop하여 input으로 사용한다)
  • 분포가 매치되어야 함에도 불구하고, 학습과 테스트 과정에서 data augmentation 등에 생성된 학습 이미지와 테스트를 위해 사용되는 테스트 이미지의 크기는 같을지라도, RoC가 달라지기 때문에 서로의 분포가 왜곡될 수 있다.

  • 이 논문은 학습과 테스트 과정에서 최적화된 resolution과 scale을 선택함으로써 RoC를 유지하면서도 분포가 왜곡되는 문제를 해결하려 한다.
  • 테스트 과정에서 resolution 크기를 늘려서 사용하면, 학습에서 랜덤하게 샘플링되는 이미지들의 RoC를 보장할 수 있다.
    그 예로, 학습 때 (160, 160) 크기를 사용하고 테스트 때 (224, 224)를 사용하였더니 성능이 향상하였다.
  • 이 방법은 GPU 메모리를 더욱 효율적으로 사용하게 할 뿐만 아니라 큰 배치크기를 사용할 수 있도록 한다.
  • 이미지 데이터는 CNN에 (1) size 변화를 예측할 수 없다. (2) 선택되는 다양한 이미지 크기에 따라 Global Pooling 이후의 파라미터에 영향을 준다.
  • 논문에서는 왜 scale이 CNN에 영향을 주는지, 왜 분포가 되는지 수식으로 설명한다. 먼저 scale factor 시그마와 aspect ratio 알파에 의해 resize 분포는 다음과 같이 정의할 수 있다.

  • 단순한 가정을 위해 (1) H=W와 (2) 알파=1이라고 가정하면 다음과 같이 식이 한번 더 정리된다.

  • 위의 식을 보기전에 논문에서 카메라를 가지고 사진 찍는 위치에 관한 이야기를 볼 수 있는데, 일단 여기서는 생략하고. 다음 식에서 r은 카메라에 관한 함수이다. H(Image Height)나 W(Image Width)는 Image size에 dependent하지만 r은 카메라에 dependent하지 H나 W에는 그렇지 않다는 것이다. 실제로 카메라를 찍어보았으니 알 것이다. 이 때문에 CNN의 대표적 특징인 scale-invariant이 손상을 입을 수 있다. 

training-time

  • 그리고 test-time의 식을 보면, 차이를 알 수 있다. train에서의 scale factor 시그마때문에 object 크기가 달라진다.

test-time

  • 다음과 같이 정리하면 좀 더 명확하다.

  • 시그마가 [0.28, 1]의 범위를 가지기 때문에 test image에서의 object가 대략 3배정도 작게 나타난다.
  • 또, Global Pooling 이후의 Activation을 통과한 값의 statistics에서 (224, 224)로 학습시킨 모델에 (64, 64) test를 사용할 경우 존재하는 0의 비율이 0.5%에서 29.8%에서 늘어나면서 더욱 sparse해진다. 반대로 (448, 448) test를 사용하면 덜 sparse 해진다.
  • ResNet-50에서 test resolution의 실험결과는 다음과 같다.

  • 이러한 향상을 위해 두 가지 기본 방법을 제안한다. (1) 테스트 시에 이미지 resolution을 증가시킴으로써 학습과 테스트에 사용되는 이미지의 객체 크기의 차이를 현저히 줄일 수 있다. (2) global pooling 이후의 sparse한 문제를 줄이기 위해 global pooling 이전의 네트워크를 조금 변경합니다(Parametric Adaption, Adaption via fine-tuning).
  • fine-tune 방법은 resolution을 test에 해당하는 resolution으로 변경한 뒤, 동일한 학습 dataset으로 fine-tune하는 것이다. 이때 네트워크에는 BatchNormalization이 global pooling 이전에 포함되어 있어야한다. 다음 그림을 보면 fine-tuning을 수행한 것에서의 값의 분포가 원래 분포(reference)를 닮아간다는 것을 확인할 수 있다.

  • fine-tune의 정확한 방법은 원문을 보면 매우 깔끔하다.

(1) we initialize our network with the weights learned on ImageNet (using models from [1])
(2) we train it entirely for several epochs at a certain resolution
(3) we fine-tune with a higher resolution the last batch norm and the fully connected layer

 

 

Reference

Touvron, H., Vedaldi, A., Douze, M., & Jégou, H. (2019). Fixing the train-test resolution discrepancy. In Advances in Neural Information Processing Systems (pp. 8250-8260).

Abstract

In this article we focus on two supervised visual reasoning tasks whose labels encode a semantic relational rule between two or more objects in an image: the MNIST Parity task and the colorized Pentomino task. The objects in the images undergo random translation, scaling, rotation and coloring transformations. Thus these tasks involve invariant relational reasoning. We observed uneven performance of various deep convolutional neural network (CNN) models on these two tasks. For the MNIST Parity task, we report that the VGG19 model soundly outperforms a family of ResNet models. Moreover, the family of ResNet models exhibits a general sensitivity to random initialization for the MNIST Parity task. For the colorized Pentomino task, now both the VGG19 and ResNet models exhibit sluggish optimization and very poor test generalization, hovering around 30% test error. The CNN models we tested all learn hierarchies of fully distributed features and thus encode the distributed representation prior. We are motivated by a hypothesis from cognitive neuroscience which posits that the human visual cortex is modularized (as opposed to fully distributed), and that this modularity allows the visual cortex to learn higher order invariances. To this end, we consider a modularized variant of the ResNet model, referred to as a Residual Mixture Network (ResMixNet) which employs a mixture-of-experts architecture to interleave distributed representations with more specialized, modular representations. We show that very shallow ResMixNets are capable of learning each of the two tasks well, attaining less than 2% and 1% test error on the MNIST Parity and the colorized Pentomino tasks respectively. Most importantly, the ResMixNet models are extremely parameter efficient: generalizing better than various non-modular CNNs that have over 10x the number of parameters. These experimental results support the hypothesis that modularity is a robust prior for learning invariant relational reasoning.


이번 논문에서는 두 가지 이상의 객체에서 의미적 relational rule을 레이블로 인코딩하는 supervised visual reasoning 작업인 MNIST Parity, Colorized Pentomino에 대해 다룬다.

이미지에서의 각 객체는 회전, 크기, 색 변환이 랜덤하게 이루어진다.

이러한 작업들은 invariant relational reasoning이 포함된다.

두 가지 작업에서 CNN의 고르지 않으며, 다양한 성능을 발견했다.

MNIST Parity 작업에서는 VGG19 모델이 ResNet모델보다 우수한 성능을 보여주었다.

또한, ResNet 계열은 MNIST Parity 작업의 랜덤 초기화에서 민감하게 반응한다.

Colorized Pentomino 작업의 경우, VGG19와 ResNet 모두 최적화가 느리고 일반화가 약하며 약 30%의 테스트 오류를 보여준다.

우리가 테스트한 CNN 모델은 모두 완전히 분산된 계층적 구조를 학습하고, 이러한 표현을 인코딩합니다.

우리는 인간의 시각 피질이 모듈화되고(완전히 분배되는 것과 대조해서), 이는 더 높은 수준의 invariance를 배울 수 있다고 인식하는 신경 과학의 가설에서 시작한다.

ResMixNet 모델을 제안한다. 이는 mixture-of-experts를 통해 더욱 특화되고, 모듈화된 표현을 동시에 사용할 수 있다.

우리는 매우 얕은 ResMixNet이 두 작업에서 각각 2%, 1%의 테스트 오류를 보여주며, 매우 잘 학습할 수 있다는 것을 확인했다.

더욱 중요한 것은, ResMixNet은 매우 효율적인 수의 파라미터를 가진다: 10배가 넘는 매개변수를 가진 모듈화되지 않은 CNN보다 더 좋다.

이러한 실험적 결과는 invariant relational reasoning를 학습하기 위해 모듈화가 중요한 요소라는 것을 보여준다.


요약

  • 기존의 CNN은 discriminative한 표현을 잘 학습하지만, i.i.d.의 조건때문에 adversarial한 공격에 취약하다.
  • 주요한 CNN은 분산된 feature를 계층적으로 매우 잘 학습할 수 있다. 이번 논문에서는 invariant relational rule을 살펴보기 위해 두 가지 데이터셋을 사용한다.
  • 먼저, MNIST Parity Dataset은 (64, 64)의 크기로 해당 이미지에 크기, 회전, 색깔을 랜덤으로 하여 숫자가 그려지게 된다. 이미지에 포함된 숫자가 만약 짝수이거나 홀수일 때, 같은 짝수(홀수)이면 1, 다르면 0을 레이블로 할당한다.

  • Colorized Pentomino Dataset은 동일하게 (64, 64)로 다음 그림과 같이 랜덤하게 그림을 생성한다. 만약 이미지에 포함된 도형의 모양이 같으면 0, 다르면 1을 레이블로 할당한다.

  • 두 가지 작업의 차이점은 MNIST는 curve한 특성이 있지만, Pentomino 같은 경우는 완전히 사각형의 특징만 가지고 있으며, 둘의 레이블은 각각 AND gate와 XOR gate 문제와 닮아있다. 학습 시에 MNIST의 curve한 특성이 매우 도움이 되기 때문에 Pentomino의 학습이 더 어렵다고 주장하고 있다.
  • 사용하는 모델은 이미지의 레이블이 변경되지 않는 상태에서 이미지 내부의 랜덤하게 생성된 도형을 잘 인식할 수 있어야 한다. 하지만 회전, 크기와 같은 invariant한 속성이 많을수록 inference problem이 존재한다.
  • 이러한 invariant한 속성을 모듈화시켜 각자 특화될 수 있도록 하는 ResMixNet을 제안한다.

  • 모델의 첫 단은 Conv로 구성하여 low-level의 feature를 공유할 수 있도록 한다. 다음으로는 M이라고 해서 Experts를 쌓아놓은 형태의 단순한 모델이다. G(Gater)는 단순히 4개의 Conv를 쌓고, 여기서 나온 가중치와 E(Experts)에서 나온 가중치를 matrix 곱해서 최종 결과를 만들어낸다.
  • MNIST Parity Dataset에서는 특이하게 VGG 모델이 다른 ResNet 계열보다 성능이 좋은 것을 확인할 수 있다.

  • Pentomino에서는 제안한 모델이 좋은 성능을 보여주었다.

  • CIFAR 데이터셋에서는 차이가 거의 나지 않거나, 떨어지는 현상을 보여주었다. 논문에서 그 이유로는 CIFAR-100은 비슷한 특징을 가지는 클래스가 많기 때문이라고 하면서, 제안한 모델은 high-level의 특징을 잘 학습하지 못하는 것 같다라고 한다.(비슷한 특징을 가지는 클래스일수록, 상당히 구체적인 특징을 잘 잡아낼 수 있어야한다.)

 

 

 

Reference

Jo, J., Verma, V., & Bengio, Y. (2018). Modularity Matters: Learning Invariant Relational Reasoning Tasks. arXiv preprint arXiv:1806.06765.
https://www.youtube.com/watch?v=dAGI3mlOmfw&list=PLWKf9beHi3Tg50UoyTe6rIm20sVQOH1br&index=93