Abstract

This paper focuses on style transfer on the basis of non-parallel text. This is an instance of a broad family of problems including machine translation, decipherment, and sentiment modification. The key challenge is to separate the content from other aspects such as style. We assume a shared latent content distribution across different text corpora, and propose a method that leverages refined alignment of latent representations to perform style transfer. The transferred sentences from one style should match example sentences from the other style as a population. We demonstrate the effectiveness of this cross-alignment method on three tasks: sentiment modification, decipherment of word substitution ciphers, and recovery of word order.


이 논문은 non-parallel text에 기초한 style transfer에 대해 다루고 있다.

이것은 기계 번역, 해독 및 감정 변화를 포함한 광범위의 문제를 다룬다.

주요 도전 관점은 컨텐츠를 스타일과 같은 다른 측면과 분리하는 것이다.

우리는 서로 다른 텍스트 corpora를 사용하여 latent content distribution의 공유를 가정하고, style transfer을 위한 잠재 표현의 정렬을 활용하는 방법을 제안한다.

한 가지 스타일로부터 전송된 문장은 모집단으로서 다른 스타일의 예제 문장과 일치해야 한다.

우리는 다음 세 가지 작업에 대해서 교차 정렬 방법의 효율성을 증명한다: 감정 변화, 단어 해독, 단어 순서 복구


요약

  • parallel data이라는 것은 positive한 문장이 있을때 negative 문장에서 정반대의 문장이 존재하는 것을 의미한다. 예를 들어서 '나는 차가 좋다' 라는 문장이 있으면 negative에서 '나는 차가 싫다'라는 문장이 있어야하는 것이다. non-parallel은 이와 다르게 '나는 차가 좋다'라는 문장이 있지만, negative에서는 '나는 차가 싫다'라는 문장이 명시적으로 없는 것을 의미한다. 즉, 대칭되는 문장이 없는 것을 의미한다.
  • 이 논문은 주로 AE + GAN의 방법을 사용한다.
  • 이 논문은 VAE가 좋지 않다고 주장하며 사용하지 않는데, 그 이유는 사용하는 분포를 제한하지 않고 모든 변수를 사용하고 싶다고 한다. 분포를 제한하는 것은 non-parallel 데이터에 부정적인 영향을 끼친다고 설명한다.
  • 먼저 제안하는 Aligned AE는 다음 loss를 최소화한다.

  • 또, encoder E와 generator G, RNN 1개의 층을 사용하여 학습한다.
  • Cross-aligned AE의 구조는 다음 그림과 같다.

  • 위의 그림은 x1 -> x2가 먼저 수행되고, 다음으로 x2에서 x1으로 다시 넘어오게 되면서 스타일이 변형된다.

Reference

Shen, T., Lei, T., Barzilay, R., & Jaakkola, T. (2017). Style transfer from non-parallel text by cross-alignment. In Advances in neural information processing systems (pp. 6830-6841).
https://www.youtube.com/watch?v=w-P2V2LlrHg&list=PLWKf9beHi3Tg50UoyTe6rIm20sVQOH1br&index=59

Abstract

We present a conceptually simple, flexible, and general framework for object instance segmentation. Our approach efficiently detects objects in an image while simultaneously generating a high-quality segmentation mask for each instance. The method, called Mask R-CNN, extends Faster R-CNN by adding a branch for predicting an object mask in parallel with the existing branch for bounding box recognition. Mask R-CNN is simple to train and adds only a small overhead to Faster R-CNN, running at 5 fps. Moreover, Mask R-CNN is easy to generalize to other tasks, e.g., allowing us to estimate human poses in the same framework. We show top results in all three tracks of the COCO suite of challenges, including instance segmentation, bounding-box object detection, and person keypoint detection. Without tricks, Mask R-CNN outperforms all existing, single-model entries on every task, including the COCO 2016 challenge winners. We hope our simple and effective approach will serve as a solid baseline and help ease future research in instance-level recognition. Code will be made available.


우리는 간단하고 융통적이며 일반적인 객체 사물 분할 프레임워크를 소개한다.

우리의 접근법은 각 인스턴스에 대해 높은 수준의 분할 마스크를 동시다발적으로 생성하여 객체를 효율적으로 탐지한다.

Mask R-CNN은 bbox 인식을 위해 기존 브랜치와 병렬로 객체 마스크를 예측하기 위한 브랜치를 ㅊ누가하여 Faster R-CNN의 개념을 확장한다.

또한, 학습이 쉬우며, 5 fps로 수행되는 Faster R-CNN에 작은 오버헤드만 추가된다.

게다가 동일한 프레임워크에서 사람 포즈를 인식하는 것과 같은 다른 task에 일반화하기 쉽다.

인스턴스 분할 문제가 포함된 COCO 챌린지, bbox 객체 탐지, 사람 특정 포인트 탐지와 같은 3개의 작업에서 모두 최상의 결과를 보여준다.

어떠한 트릭도 없이 Mask R-CNN은 COCO 2016 대회의 우승을 포함하여 모든 task에서 outperform 하였다.

우리는 간단하고 효과적인 접근 방식이 훌륭한 baseline이 되고, 향후 인스턴스 수준의 인식에 대한 연구를 용이하게 하기를 희망한다.


요약

  • 이 논문은 Instance Segmentation 문제를 다루고 있는데, 이와 동일한 분야로 bbox를 통한 분류, semantic segmentation이 존재한다. 각가은 객체를 찾을 수 있지만 seg 할 수 없는 문제와 seg를 할 수 있지만 각각의 객체를 분할할 수 없는 단점을 가지고 있다. 하지만 Instance Segmentation은 seg도 할 수 있으면서 객체 분류까지 다뤄보는 문제이다.
  • 기존의 방법ㅇ은 clasfication 과 bbox regression 브랜치를 사용하는데, 이 방법은 단순하게 원래의 방법에 더하여서 mask brarnch를 추가한 방법이다. mask branch는 물체가 어떤 물체인지에 대한 판단을 상관하지 않고, 해당 물체의 mask만 학습한다. 
  • fully connected나 pooling을 사용하면 translation-equivariant가 깨지게 되는데, Faster R-CNN이나 본 논문에서 사용하는 구조는 Fully Convolution Network로 구성되어 있기 때문에 위의 공식이 깨지지 않는다.
  • 기존의 Fast R-CNN은 bbox reg, cls를 위해 fully connected를 거치게 되는데, 이를 위해 추론된 모든 field를 동일한 크기로 맞춰주기 위해 ROI pooling을 사용한다. Mask R-CNN은 이와 거의 동일하게 ROI Align을 사용하는데, 일단 기존의 ROI pooling에서 사용되는 크기인 7x7로 통일되는 feaeture의 크기가 너무 작아서 사용한다.
  • 또 기존의 ROI pooling은 실수값으로 region pixel을 예측하는데, 이를 대충 자른 후 큰 값을 찾고 이를 통해 공통된 크기로 통일하게 된다. 이때 약간 비대칭적인 또는 정렬되지 않는 문제가 발생한다. 그래서 이를 align하게 가져가기 위해 ROI align을 사용한다. 
  • ROI align은 field에서 각각의 걸쳐있는 부분의 interpolation을 통해 pixel의 최종 값을 구하게 된다.
  • ROI를 할때 zeropadding을 하게 되는데, 그 이유는 학습 과정에서 객체가 겹칠 수 있기 때문이다.

  • backbone으로는 ResNet과 FPN 구조를 사용하였다.

 

Reference

He, K., Gkioxari, G., Dollár, P., & Girshick, R. (2017). Mask r-cnn. In Proceedings of the IEEE international conference on computer vision (pp. 2961-2969).
https://www.youtube.com/watch?v=RtSZALC9DlU&list=PLWKf9beHi3Tg50UoyTe6rIm20sVQOH1br&index=57

Abstract

A capsule is a group of neurons whose activity vector represents the instantiation parameters of a specific type of entity such as an object or an object part. We use the length of the activity vector to represent the probability that the entity exists and its orientation to represent the instantiation parameters. Active capsules at one level make predictions, via transformation matrices, for the instantiation parameters of higher-level capsules. When multiple predictions agree, a higher level capsule becomes active. We show that a discrimininatively trained, multi-layer capsule system achieves state-of-the-art performance on MNIST and is considerably better than a convolutional net at recognizing highly overlapping digits. To achieve these results we use an iterative routing-by-agreement mechanism: A lower-level capsule prefers to send its output to higher level capsules whose activity vectors have a big scalar product with the prediction coming from the lower-level capsule.


캡슐은 activity vector가 객체나 객체 부분과 같은 특정 유형의 인스턴스화 매개 변수를 나타내는 뉴런 그룹이다.

우리는 엔터티가 존재할 확률을 나타내는 activity vector의 길이와 인스턴스화 매개 변수가 나타내는 방향을 사용한다.

한 레벨의 활성 캡슐은 변환 매트릭스를 통해 상위 레벨 캡슐의 인스턴스화 매개 변수를 추론한다.

다수의 예측이 올바를 때, 하위 레벨 캡슐이 활성화된다.

차별적으로 훈련된 다층 캡슐 시스템이 MNIST에서 높은 성능을 달성하였고, 매우 많이 겹치는 숫자를 인식하는데 있어서 CNN보다 더 나은 성능을 보여주었다.

이러한 결과를 달성하기 위해 반복적 routing-by-agreement 메커니즘을 사용한다: 하위 레벨의 캡슐은 하위 레벨의 캡슐로부터 나오는 예측과 함께 큰 스칼라 곱을 가지는 activity vector를 갖는 상위 수준의 캡슐로 출력을 보내는 것을 선호한다.


요약

  • 기존의 CNN은 feature 학습에 있어서는 뛰어나지만, feature 간 특수 관게 학습에는 어려움이 존재한다. 또한, 기존에 사용되는 Data augmentation이나 max pooling 같은 경우는 상당히 비효율적 계산 비용을 발생하는 문제를 가지고 있다.
  • 우리가 원하는 것은 위치나 크기가 바뀌던 특징을 인식하여 그 물체가 동일한 물체라는 것을 인식할 수 있도록 하는 것이다.

  • 여기서 말하는 캡슐은 다수의 뉴런을 하나의 그릅으로 묶어놓은 형태이다. 이러한 다수의 뉴런은 위치, 회전, 크기 등의 특징을 학습하게 된다. 또, 캡슐이 내보내는 출력값을 activation vector라고 하는데, 뉴런의 활성화 정도로 객체를 판단하는게 아니라 벡터의 길이를 통해 객체를 판별해내는 방식이다.
  • ROUTING 알고리즘은 캡슐넷의 핵심 알고리즘이다. 
  • 캡슐넷의 출력으로는 activation vector의 길이로 판단한다고 하였는데, 이때 캡슐에 존재하는 예측된 값을 통해 벡터의 agreement의 정도를 판단하고 최종적으로 agreement가 높은 것이 활성화되어 다음 층의 입력으로 사용된다. agreement의 높고 낮음은 벡터의 방향에 의해 결정되며, 내부적으로 계산되는 가중치에 의해 중요성이 결정된다.
  • 캡슐넷의 구조에서 하위 레벨의 캡 슐들은 예를 들어 보트같은 경우 삼각형에 해당하는 돛이 있냐 없냐에 대한 것을 다루고, 상위 레벨 같은 경우는 전체적인 객체의 형태가 보트인지 또는 집인지에 대한 판단을 하게 된다.
  • 층의 마지막에 FCN을 사용하여 reconstruction 할 수 있도록 하여 훨씬 더 robust한 모델을 얻을 수 있었다고 한다.

  • routing 과정 때문에 학습 또는 추론 속도가 매우 느리다. 또한, 캡슐넷은 매우 동일한 객체가 겹쳐있을 경우, 하나만 인식하고 나머지 하나는 무시해버리는 문제가 있다.

 

Reference

Sabour, S., Frosst, N., & Hinton, G. E. (2017). Dynamic routing between capsules. In Advances in neural information processing systems (pp. 3856-3866).
https://www.youtube.com/watch?v=_YT_8CT2w_Q&list=PLWKf9beHi3Tg50UoyTe6rIm20sVQOH1br&index=56

Abstract

We introduce an extremely computation-efficient CNN architecture named ShuffleNet, which is designed specially for mobile devices with very limited computing power (e.g., 10-150 MFLOPs). The new architecture utilizes two new operations, pointwise group convolution and channel shuffle, to greatly reduce computation cost while maintaining accuracy. Experiments on ImageNet classification and MS COCO object detection demonstrate the superior performance of ShuffleNet over other structures, e.g. lower top-1 error (absolute 7.8%) than recent MobileNet [12] on ImageNet classification task, under the computation budget of 40 MFLOPs. On an ARM-based mobile device, ShuffleNet achieves ∼13× actual speedup over AlexNet while maintaining comparable accuracy.


연산량에서 매우 제한적인 모바일 환경을 위해 비용 측면에서 매우 효과적인 CNN 아키텍처 ShuffleNet을 소개한다.

ShuffleNet은 pointwise group convolution과 channel shuffle을 통해 정확도를 유지하면서도 연산 비용을 훌륭하게 줄일 수 있다.

ImageNet 분류와 MS COCO 객체 탐지 문제에서 7.8% top-1 error와 40MFLOPs의 매우 낮은 연산 비용을 보여주는 것을 증명하였다.

ARM 기반의 모바일 환경에서 AlexNet보다 13배의 높은 속도를 보여주었으며, 비슷한 정확도를 기록하였다.


요약

  • 기존의 대표적인 CNN 아키텍처는 주로 대부분의 파라미터를 fcn에서 가져가는 경우가 많았는데, MobileNet이나 그 이후의 대표적 CNN 아키텍처들은 1x1 CNN을 사용하게 되면서, fcn이 차지하는 파라미터의 비중보다 1x1 CNN이 차지하는 파라미터의 개수가 더욱 지배적이게 됬다. 그렇다면 이제 1x1 CNN이 차지하는 파라미터를 감소시키는 방법이 없을까에 대한 내용을 다룬다.
  • AlexNet이 실제로는 GPU 2개를 사용하여 학습하였는데, 여기서 사용한 방법이 group convolution이다. 
  • ShuffleNet의 아이디어는 depthwise separable convolution과 channel shuffle을 수행하는 grouped convolution이다. group convolution은 전체 채널에서 컨볼루션 연산 시에 전체 채널을 보기보다는 특정 채널의 범위까지만 다루는 것이다. 이 방법의 문제는 이를 그대로 fcn까지 흘려보내주어 결과를 만들어낼 때, 해당 범위의 채널만 봤기 때문에 제대로 학습되지 않을 수 있는데, 이를 보완하기 위해 shuffle을 해주어 중간중간 해당 그룹이 모든 채널을 볼 수 있도록 도와주게 된다.

  • ShuffleNet unit은 다음과 같다.

  • ShuffleNet은 ResNext나 ResNet과 비교하여 연산량 측면에서 우월하다.
  • 연산량을 줄인 장점을 이용하여 채널 수를 늘려 성능면에서도 우수한 것을 보여주었다. group = 8일때 1536개의 채널까지 늘릴 수 있음을 보여주었다.
  • 실험을 통해 항상 그룹의 개수를 많이 가져가는게 좋지 않음을 보여주었지만, 그룹을 일정 수준 이상 나누는게 성능이 좋았고, shuffle을 항상 하는게 좋은 결과를 보여주었다.
  • MobileNet과의 비교에서 대부분 높은 성능을 보여주었으며, 기타 실험을 통해 모델의 깊이 때문이 아닌 모델 구조에 의해 좋은 성능을 얻음을 보여주고 있다.

 

 

Reference

Zhang, X., Zhou, X., Lin, M., & Sun, J. (2018). Shufflenet: An extremely efficient convolutional neural network for mobile devices. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 6848-6856).
https://www.youtube.com/watch?v=pNuBdj53Hbc&list=PLWKf9beHi3Tg50UoyTe6rIm20sVQOH1br&index=54

Abstract

We propose a technique for producing ‘visual explanations’ for decisions from a large class of Convolutional Neural Network (CNN)-based models, making them more transparent. Our approach – Gradient-weighted Class Activation Mapping (Grad-CAM), uses the gradients of any target concept (say logits for ‘dog’ or even a caption), flowing into the final convolutional layer to produce a coarse localization map highlighting the important regions in the image for predicting the concept. Unlike previous approaches, GradCAM is applicable to a wide variety of CNN model-families: (1) CNNs with fully-connected layers (e.g. VGG), (2) CNNs used for structured outputs (e.g. captioning), (3) CNNs used in tasks with multi-modal inputs (e.g. visual question answering) or reinforcement learning, without architectural changes or re-training. We combine Grad-CAM with existing fine-grained visualizations to create a high-resolution class-discriminative visualization, Guided Grad-CAM, and apply it to image classification, image captioning, and visual question answering (VQA) models, including ResNet-based architectures. In the context of image classification models, our visualizations (a) lend insights into failure modes of these models (showing that seemingly unreasonable predictions have reasonable explanations), (b) outperform previous methods on the ILSVRC-15 weakly-supervised localization task, (c) are more faithful to the underlying model, and (d) help achieve model generalization by identifying dataset bias. For image captioning and VQA, our visualizations show even non-attention based models can localize inputs. Finally, we design and conduct human studies to measure if Grad-CAM explanations help users establish appropriate trust in predictions from deep networks and show that Grad-CAM helps untrained users successfully discern a ‘stronger’ deep network from a ‘weaker’ one even when both make identical predictions. Our code is available at https: //github.com/ramprs/grad-cam/ along with a demo on CloudCV [2] 1 and video at youtu.be/COjUB9Izk6E.


우리는 CNN 모델이 결정하는 가장 큰 클래스를 시각적으로 설명하는 기술을 제안한다.

Grad-CAM은 이미지에서 어떠한 클래스를 예측할 때 중요한 지역을 지역화 맵으로 강조하는 것을 생성하기 위해 마지막 컨볼루션 층에서 흐르는 해당 타겟 클래스가 가지는 그래디언트를 사용한다.

이전 연구와는 다르게 Grad-CAM은 CNN 모델에서 매우 잘 동작한다. (1) fcn이 포함된 VGG와 같은 CNN 모델 (2) captioning과 같은 구조적 아웃풋이 요구되는 CNN (3) 재학습이나 어떠한 구조적 변화가 포함되지 않는 visual Q&A와 같은 multi-modal input을 요구하는 CNN 또는 강화학습

우리는 Grad-CAM에 기존 시각화 방법과 결합하여 고해상도 클래스 시각화 기법인 Guided Grad-CAM을 만들었고, 이를 ResNet 기반의 아키텍쳐를 포함한 VQG 모델, 이미지 캡셔닝, 이미지 분류에 적용해보았다.

이미지 분류문제에서 제안한 시각화는 (a) 비합리적인 예측에는 그만한 이유가 따른다는 것을 제공하여 모델을 설명할 수 있게 하고 (b) 이전 방법보다 우수하며 (c) 기본 모델에서 잘 동작하며 (d) 데이터셋의 편향을 식별하여 모델 일반화를 돕는다. 

이미지 캡셔닝과 VQA에서는 non-attention 모델에서도 입력을 지역화할 수 있음을 보여준다. 마지막으로 만약 Grad-CAM의 설명이 깊은 신경망에서의 예측이 적절한 신뢰를 구성할 수 있도록 사용자를 돕거나, Grad-CAM이 훈련되지 않은 사용자가 동일한 예측을 할 때 강한 깊은 신경망의 기능을 약한 깊은 신경망에서 성공적으로 식별할 수 있도록 도와주는 연구를 수행합니다.


요약

  • CAM(Class Activation Map)을 확인하는 이유는 모델이 문제를 얼마나 잘 해결하고 있는가를 확인하는 지표가 될 수 있기 때문이다.
  • 강한 신겸망은 사람의 결정이 더 나아질 수 있도록 도와줄 수 있는 모델이고, 약한 신경망은 식별을 실패하는 모델이다.
  • 기존 CAM은 GAP가 존재하지 않으면 사용할 수 없는 문제가 있기 때문에 다양한 CNN 모델에 사용하기 어려웠다.

  •  모델이 해당 클래스를 나타내기 위해서는 특정 클래스를 나타낼 때 클래스에 특징맵이 변화하는 비율을 구하고, 이를 다시 특징맵에 곱해주어 얼마나 영향을 끼치는지를 측정한다.

 

  • 해당 논문에서는 다양한 실험을 진행해서 보여주고 있다. 대표적으로 Grad-CAM을 통해 데이터셋의 편향을 체크할 수 있으며, 이미지에서 어떤 클래스를 선택했을 때 그게 왜 아닌지를 또한 체크해볼 수 있다.

Reference

Selvaraju, R. R., Cogswell, M., Das, A., Vedantam, R., Parikh, D., & Batra, D. (2017). Grad-cam: Visual explanations from deep networks via gradient-based localization. In Proceedings of the IEEE International Conference on Computer Vision (pp. 618-626).
https://www.youtube.com/watch?v=faGsrPX1yFM&list=PLWKf9beHi3Tg50UoyTe6rIm20sVQOH1br&index=53