Deep Learning: Practice and Trends

summary
practice

(Curtis Kim) #1

2017년 ##nips 에서 ##deepmind 에 의해 발표된 튜토리얼입니다.

발표 영상과 프리젠테이션 자료는 아래에 있습니다.

https://docs.google.com/presentation/d/e/2PACX-1vQMZsWfjjLLz_wi8iaMxHKawuTkdqeA3Gw00wy5dBHLhAkuLEvhB7k-4LcO5RQEVFzZXfS6ByABaRr4/pub?slide=id.p

아래는 제가 이해한 내용을 바탕으로 주요 키워드만 정리한 것입니다.


Part1 - Practice

Toolboxs

큰 관점에서는 플랫폼(gpu, 클라우드, …) + 프레임워크(텐서플로우, 케라스, …) + 데이터셋 의 모습으로 볼 수 있음.

Zooming-in 된 View에서보면 아래와 같은 큰 주제가 있다고 볼 수 있음.

  • Non-Linearities
    • Relu, Sigmoid, GRU, LSTM, …
  • Optimizer
    • SGD, Memtum, RMSProp, Second Order, …
  • Connectivity Pattern
    • Fully connected
    • Convolutional
    • Dilated
    • Recurrent
    • Skip
    • Random
  • Loss
    • Cross Entropy
    • Adversarial
    • Variational
    • Sparse
    • L2 Reg
    • Reinforce
  • Hyper Parameters
    • Learning Rate, Decay, Momentum, …

Images

크기가 28x28 --> 4k x 4k 까지도 발전.

Classification, Segmentation, Medical images, Generative Models, Art 등의 분야가 있음.

Sequences

Words, Letters, Speech, Videos, …

Vicious Cycle

Convolutions

이미지에 대해서는 위와 같은 툴박스의 구성을 가짐.

Locality and Translation inavriance 를 위해 Convolution은 Fully Connected layer를 locally connected 되도록 변형한 것으로 설명.

  • 어떤 위치에 있더라도 동일한 필터를 사용해서 동일한 결과를 위치에 따라 얻음.

Convolution, Pooling, FC를 조합해 위와 같은 Architecture로 모델을 만듦.

Depth(네트워크의 깊이)는 계속해서 증가

  • 증가함에 따라 성능도 증가한 추세
  • 무작정 깊이를 늘릴 수가 없는데
    • 연산량의 증가
    • 최적화 이슈 : 네트워크를 잘 트레이닝하기 어려움

Stacking 3x3 Kernels

  • 3x3 Convolution 필터를 여러번 쌓으면 Receptive Field가 커짐
  • Large Convolution을 한번 쓰는 것보다 파라미터 수가 적음

Tricks of the training

  • SGD with Momentum 추천
  • Batch Normalization
  • Normal(0, 0.01)의 초기화. 이후 수정.
  • 3x3 Conv를 Stacking해서 사용
  • Inception 추천

Residual Connections

Densenet

Recurrent and Attention

attention이라는 개념을 넣어서 네트워크 구조를 설계하는 추세. 최근에는 attention-only만 이용되기도 함.

State를 Vector로 표현하는 것이 핵심

Seq2Seq

기계 번역에서도 기존 방식을 이김.

그러나, Embedding이 고정된 크기이기 때문에, 길이가 긴 입력이나 길이가 긴 출력에 대해서는 잘 동작하지 않음.

그렇다고해서 메모리 크기를 늘리기 위해 Embedding을 늘리면, 성능이 떨어진다는 보고가 있었음.

Attention

Seq2Seq에서의 문제를 해결하기 위해 Attention이 도입됨.

마지막 State에서 모든 기억을 하는 것이 어려우므로, 위와 같이 주목해야할(Attention) 부분을 찾는 형태로 구성한 것으로 이해했음

Tricks of the trade

  • Long Sequence

    • Attention
    • Bigger State
    • Reverse Inputs
  • Overfit X

    • bigger hidden state
    • Deep LSTM + Skip Conn
  • Overfit O

    • Dropout + Ensembles
  • Tuning

    • Learning Rate ⇂
    • Initialization(like U(-0.05, 0.05))
    • Clip the gradients

Additional Toolbox


Part2 - Trends

Autoregressive Models

UAI 2017 Tutorial 추천 : http://auai.org/uai2017/media/tutorials/shakir.pdf

  • Wavenet, Parallel Wavenet
  • Bytenet
  • Causal Convolutions
  • PixelCNN
  • “Convolutional Sequence to Sequence Learning”
  • “Attention is All you need”

Domain Alignment

Image

  • “Learning Aligned Cross-Modal Representations from Weakly Aligned Data”
  • “Domain-Adversarial Training of Neural Networks”
  • “Unsupervised Cross-Domain Image Generation”
  • “Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks”
  • CycleGan
  • DiscoGan

Machine Translation

Learning to Learn / MetaLearning

  • Model / Metric / Optimization Based의 3가지 분야로 크게 나눔.

Graphs & Neural Networks

Conclusions