Abstract

Rectified activation units (rectifiers) are essential for state-of-the-art neural networks. In this work, we study rectifier neural networks for image classification from two aspects. First, we propose a Parametric Rectified Linear Unit (PReLU) that generalizes the traditional rectified unit. PReLU improves model fitting with nearly zero extra computational cost and little overfitting risk. Second, we derive a robust initialization method that particularly considers the rectifier nonlinearities. This method enables us to train extremely deep rectified models directly from scratch and to investigate deeper or wider network architectures. Based on the learnable activation and advanced initialization, we achieve 4.94% top-5 test error on the ImageNet 2012 classification dataset. This is a 26% relative improvement over the ILSVRC 2014 winner (GoogLeNet, 6.66% [33]). To our knowledge, our result is the first1 to surpass the reported human-level performance (5.1%, [26]) on this dataset.


정류한 활성화 유닛은 최고 성능의 신경망에서 필수적으로 사용된다.

이 논문에서는 두 가지 관점의 이미지 분류에서 rectifier neural network에 대해 연구했다.

첫번째로, 기존에 사용하던 rectified unit을 일반화한 PReLU를 제안한다.

PReLU는 오버피팅의 위험이 적고, 추가 계산 비용이 들지 않게끔 모델을 향상시킨다.

두번째로, 특히 rectifier 비선형성을 고려한 견고한 초기화 방법을 제안한다.

이 방법은 네트워크 구조를 깊게 또는 넓게 사용하게 해주고, 초기 모델에서부터 깊게 구성하여 학습시킬 수 있게 한다.

학습 가능한 활성화 함수와 향상된 초기화에 기반하여, 우리는 2012 ImageNet 분류 데이터셋에서 top-5 test error 4.94%를 달성했다.

이는 ILSVRC2014 우승자에 비해 상대적으로 26%의 향상을 이끌었다는 의미이다.

위의 결과는 2012 ImageNet 데이터셋에서 인간 수준의 성능을 첫번째로 뛰어넘은 것이다.


요약

  • Relu를 parametric하게 변화시킨 점과 Relu에 맞게 가중치를 초기화하는 방법
  • 기본 Relu보다는 성능이 좋았다. 특징으로는 밑의 첫번째 그림에서 a가 학습 가능한 변수인데, CNN이 깊어지도록 작은 값을 가진다는 것
  • Relu의 특성을 이용하여 normal distribution을 구한 것이 kaiming init이다.
  • Relu를 사용할 떄, Xavier보다 더 좋은 성능이 나왔다.
  • 기존 활성화 함수보다 100% 좋은 점은 아니다(다른 연구자들의 사견, 논문 내용은 아님)
  • 하지만 이 이후에 Batch-Normalization이 나오면서 성능면에서 바로 뒤쳐진 논문...?

 

Reference

He, K., Zhang, X., Ren, S., & Sun, J. (2015). Delving deep into rectifiers: Surpassing human-level performance on imagenet classification. In Proceedings of the IEEE international conference on computer vision (pp. 1026-1034).

Abstract

Relational reasoning is a central component of generally intelligent behavior, but has proven difficult for neural networks to learn. In this paper we describe how to use Relation Networks (RNs) as a simple plug-and-play module to solve problems that fundamentally hinge on relational reasoning. We tested RN-augmented networks on three tasks: visual question answering using a challenging dataset called CLEVR, on which we achieve state-of-the-art, super-human performance; text-based question answering using the bAbI suite of tasks; and complex reasoning about dynamic physical systems. Then, using a curated dataset called Sort-of-CLEVR we show that powerful convolutional networks do not have a general capacity to solve relational questions, but can gain this capacity when augmented with RNs. Thus, by simply augmenting convolutions, LSTMs, and MLPs with RNs, we can remove computational burden from network components that are not well-suited to handle relational reasoning, reduce overall network complexity, and gain a general ability to reason about the relations between entities and their properties.


관계 추론은 일반적으로 지능적 행동에 있어서 중요한 요소이지만, 신경망에게 있어서 매우 어려운 명제 중 하나이다.

이 논문에서는 관계 추론이 가지는 문제점을 해결하기 위한 간단한 plug-and-play 모듈을 사용한 RN을 어떻게 사용할지에 대해 설명한다.

우리는 RN 네트워크를 3가지에서 실험했다. visual question answering(CLEVR 데이터 셋 사용, SOTA 달성), text-based question answering(bAbl), complex reasoning about dynamic physical systems.

Sort-of-CLEVR이라는 데이터 셋을 사용한 경우에, CNN은 relational question을 해결하기 힘들었지만, RN같은 경우엔 가능했다.

CNN, LSTM, MLP를 RN과 함께 사용하면서 관계 추론을 다루기 적합하지 않은 네트워크 요소에 대한 비용적 부담, 전반적인 네트워크 복잡성을 제거할 수 있고, 요소와 특성간의 관계에 대해 추론할 수 있는 능력을 얻었다.


요약

  • RN의 장점은 다음과 같다
    • 관계를 잘 추론한다, 유연하다.
    • g 함수만 사용하기 때문에 효율적이다.
    • Object set을 사용하기 때문에 order invariant하다
  • CNN에서는 마지막에 나오는 filter를 모호하게 object라고 생각한 뒤, 질문을 뒤에 붙여서 g함수에 통과시킨다.


 

Reference

Santoro, A., Raposo, D., Barrett, D. G., Malinowski, M., Pascanu, R., Battaglia, P., & Lillicrap, T. (2017). A simple neural network module for relational reasoning. In Advances in neural information processing systems (pp. 4967-4976).

Abstract

This paper describes InfoGAN, an information-theoretic extension to the Generative Adversarial Network that is able to learn disentangled representations in a completely unsupervised manner. InfoGAN is a generative adversarial network that also maximizes the mutual information between a small subset of the latent variables and the observation. We derive a lower bound of the mutual information objective that can be optimized efficiently. Specifically, InfoGAN successfully disentangles writing styles from digit shapes on the MNIST dataset, pose from lighting of 3D rendered images, and background digits from the central digit on the SVHN dataset. It also discovers visual concepts that include hair styles, presence/absence of eyeglasses, and emotions on the CelebA face dataset. Experiments show that InfoGAN learns interpretable representations that are competitive with representations learned by existing supervised methods. For an up-to-date version of this paper, please seehttps://arxiv.org/abs/1606.03657.


이 논문은 비지도 학습에서 각각의 분리된 표현을 학습할 수 있는 GAN에서 정보이론적 의미가 확장된 infoGAN을 소개한다.

InfoGAN은 잠재 변수와 관측 변수의 하위 집합 사이에서 상호 정보를 최대화하는 GAN이다.

우리는 효율적으로 최적화 시킬 수 있는 상호 정보 목표의 하한을 도출한다.

특히, InfoGAN은 SVHN 데이터셋에서 중요 표현과 백그라운드, 3D 렌더링 이미지에서의 명암, MNIST에서의 숫자의 스타일과 같은 표현들을 성공적으로 분리했다.

또한, CelebA 데이터셋에서 머리 스타일, 안경의 유무 그리고 감정과 같은 특징들을 포함한 시각적 개념들을 찾아낼 수 있다.

InfoGAN은 지도 학습의 방법에 의해 학습된 표현들과 달리 해석 가능한 표현을 학습할 수 있다는 장점을 가진다.


요약

  • Mutual Information은 두 확률 분포가 서로 얼머나 의존관계에 있는가에 대한 개념이다.
    • 의존적이면 높은 값, 의존적이지 않으면 0으로 수렴하게 된다.
  • disentangled의 의미는 분리된 표현을 의미하는데, MNIST를 예로 들면 글자의 두께, 선의 표현 등을 의미한다.
  • 성능을 높이려고 시도 한 논문들은 DiscoGAN, CycleGAN, DualGAN

 

Reference

Chen, X., Duan, Y., Houthooft, R., Schulman, J., Sutskever, I., & Abbeel, P. (2016). Infogan: Interpretable representation learning by information maximizing generative adversarial nets. In Advances in neural information processing systems (pp. 2172-2180).

Learn Git Branching이라는 사이트를 들어가면

다음과 같은 창이 뜨게 됩니다. 기초부터 레벨업을 해가는 방식입니다.

위의 그림과 같은 단계가 있는데, 종합선물세트부터는 조금 어렵습니다. 그 위에 기본적인 것만해도 개인적인 깃허브를 다루는데는 문제가 없을 겁니다.

 

Reference

https://learngitbranching.js.org
 

Learn Git Branching

An interactive Git visualization tool to educate and challenge!

learngitbranching.js.org

 

클래스 불균형(Class Imbalanced)

위의 그림처럼 우리의 데이터에서 클래스가 불균형하게 분포되어 있을 때 나타납니다. 주로 특이한 경우(은행 거래 사기,희귀 질병, 기계 불량음 등)가 포함되어 있는 데이터에서 두드러집니다. 이러한 문제들을 비정상 탐지(Anomaly Detection)이라고 부릅니다. 우리가 학습시킬 모델은 균형이 잡힌 많고, 다양한 클래스를 보는 것을 좋아합니다.


과소표집(UnderSampling)과 과대표집(OverSampling)

과소표집은 다른 클래스에 비해 상대적으로 많이 나타나있는 클래스의 개수를 줄이는 것입니다. 이를 통해 균형을 유지할 수 있게 되지만, 제거하는 과정에서 유용한 정보가 버려지게 되는 것이 큰 단점입니다. 

과대표집은 데이터를 복제하는 것입니다. 무작위로 하는 경우도 있고, 기준을 미리 정해서 복제하는 방법도 있습니다. 정보를 잃지 않고, 훈련용 데이터에서 높은 성능을 보이지만 실험용 데이터에서의 성능은 낮아질 수 있습니다. 대부분의 과대표집 방법은 Overfitting의  문제를 포함하고 있습니다. 이를 피하기 위해 주로 SMOTE(Synthetic Minority Over-sampling Technique)를 사용합니다. 간단히 설명하자면, 데이터의 개수가 적은 클래스의 표본(Sample)을 가져온 뒤에 임의의 값을 추가하여 새로운 샘플을 만들어 데이터에 추가합니다. 이 과정에서 각 표본은 주변 데이터를 고려하기 때문에 과대적합의 가능성이 낮아지게 됩니다.

 실제 현업에서는 특정 클래스의 데이터의 개수가 적은 경우가 대부분입니다. 제품을 예로 들면, 한 제품이 정상 제품일 확률이 불량품일 확률보다 현저히 높기 때문에 불량품에 대한 데이터는 상대적으로 적을 것 입니다.