2016년 1월 8일 금요일

딥러닝의 10가지 트렌드 from NIPS 2015


(원문) "10 Deep Learning Trends at NIPS 2015by Coding in Paradaise
세계에서 가장 영향력있는 머신러닝 학회를 꼽으라면 그 중 하나로 NIPS (Neural Information Processing Systems)를 꼽을 수 있을텐데요, 최근 NIPS에선 아주 많은 논문들이 딥러닝과 관련하여 출판되고 있습니다. 이 글은 한 참석자가 NIPS2015에서 느낀 딥러닝에 대한 10가지 트렌드를 밝힌 글을 (대충) 번역한 글입니다.

캐나다 몬트리올에서 열린 NIPS 2015

1. 뉴럴넷의 구조가 점점 복잡해지고 고도화되고있다.

인식이나 언어번역 등을 위한 뉴럴넷의 아키텍쳐가 단순한 feed forward NN(neural network)나 convolutional NN을 넘어서고 있습니다. 특히 다양한 테크닉들(예를 들면 LSTM, convolutions, custum objective function, multiple cortical colums)이 서로 혼합되어 사용되고 있다는 것이 특징입니다.

2. 쩌는 작업들은 대부분 LSTM을 포함하고 있었다.

이번에 발표된 대부분의 쩌는 작업들은 반복된 패턴들을 메모리에 간직하기 위해 LSTM을 (부분적으로나마) 채용하고 있었다고 하네요.

3. 주목(attention) 모델이 나타났다.

어떤 작업들은 attention이란 개념을 사용하기 시작했는데요, 이를 통해 NN이 어떠한 곳에 "집중"해야하는지 배우기 시작했죠. 이것들은 아직 보통의 NN구조의 완벽히 편입된 것은 아니지만 여기저기서 (별도로) 이용되고 있었습니다.

4. Neural Turing Machine은 여전히 흥미롭지만 아직 실제 작업엔 잘 쓰이지 않았다.

NN을 다른 방식으로 트레이닝 하는 방법인 Neural Turing machine은 여전히 흥미로운 접근법이지만 이것이 실제 어플리케이션에 쓰인 경우는 거의 없었습니다. 이들은 여전히 복잡하였고 단지 아주 간단한 문제(toy problem)에서만 효용성을 보인 상태입니다.

5. 비전과 자연어처리는 더이상 다른 분야가 아니다.

convolutional NN은 원래 비전을 위해 발명되었지만 요즘엔 NLP(자연어처리)에도 많이 쓰인다. 처음엔 LSTM+RNN이 sequence-to-sequence와 같은 NLP 작업에서 좋은 성적을 보였지만 지금은 컴퓨터비전 작업과 비슷한 형태로 수렴하고 있다.

추가적으로, 컴퓨터비전과 NLP의 중간 지역인 "이미지 자막입히기" 작업과 같은 곳은 매우 유망한 분야 중 하나이다.

구글이 공개한 딥러닝 오픈 라이브러리 TensorFlow

6. 변수형태의(symbolic) 미분은 더욱 중요해졌다.

최근의 NN 구조와 그들의 목적함수는 매우 복잡해지고 있으며 따라서 손으로 이들의 gradient를 계산하는 것이 점점 어려줘지고 있다. (에러도 많이 발생시키고 말이다.) Google TensorFlow와 같은 최근의 툴킷은 자동 심볼릭 미분을 기본 기능으로 가지고 있어 당신이 만든 커스텀 구조나 목적함수에 대해서도 깔끔한 gradient 계산과 backpropagation을 가능하게 해준다.

7. 놀라운 결과는 뉴럴넷 모델 압축과 함께 일어난다.

다수의 팀들이 많은 양의 가중치 계산을 압축하는 방법을 보여줬다. (e.g. binarization, fixed floating point, iterative pruning, fine tuning steps, etc.)

이 방법들은 새로운 가능성들을 열었다: 예를 들면 모바일에서의 적용과 같이 말이다. 예를 들어 이것이 가능해진다면 굳이 모바일에서 클라우드에 대한 이야기를 꺼내지 않더라도 NN을 이용한 작업(e.g. 음성인식)이 가능해진다. 또한 만약에 우리가 예를 들어 30 fps (frame per sec)의 속도로 이미지를 처리할 수 있다고 생각해보면, 이것은 모바일에서 새로운 형태의 NN 트레이닝 방법을 만들어낼 것이며 또다른 혁신을 가져올 것이다. 이번 NIPS에선 아직 뛰어난 적용사례를 보진 못했지만 2016년을 기대해본다.

8. 딥러닝과 강화학습의 결합은 계속된다.

비록 이번 NIPS에서 이들 결합에 대한 매우 큰 혁신을 보여준 것은 아니었지만, 여전히 이번 Deep Reinforcement Learning 워크샵엔 높은 관심이 몰렸으며 여러 흥미로운 가능성들을 보였다.

흥미로웠던 적용분야 중에는 end-to-end 로보틱스가 있었는데, 이들은 deep reinforcement learning을 이용해 센서데이터와 모터 컨트롤을 직접 연결하려는 시도를 보였다. 이제 딥러닝은 단순한 classification을 넘어 어떻게 계획하고 행동할지를 위한 "방정식"들에 관여하고 있다. 하지만 여전히 갈 길이 멀었으며, 그럼에도 여러 가능성을 보여준 작업들이 매우 흥미로웠다.

9. 만약에 batch normalization을 하지 않고있다면, 꼭 해야한다.

이제 batch normalization은 NN의 필수 요소로 간주되고 있었으며, 대부분의 작업들이 이것을 기본으로 사용했다.

10. 뉴럴넷 연구는 상품화가 매우 긴밀히 연결되어 진행된다.

만약에 당신이 NN에 새로운 발전을 가져올 연구를 하였다면 이것을 빨리 scaling하여 실제 어플리케이션에 적용할 방법이 생겼다. 그 중 하나가 구글의 TensorFlow다. 연구자들은 그래프 등을 이용해 NN의 구조를 쉽게 만들 수 있으며 이를 파이썬 등의 언어를 이용해 싱글, 멀티플, 또는 모바일 디바이스 등에 적합하게 쉽게 스케일 할 수 있다.

하지만 아직 TensorFlow가 초기 단계라는 것은 기억해두자 - 아직은 그 자리에 Caffe도 있다. TensorFlow의 단일기기 성능은 아직 다른 프레임워크에 비해 좋지 않은 것으로 알려져있는데, 이는 추후 분산처리 버전으로 곧 업그레이드 될 것이라 발표되었다. TensorFlow의 미래가 기대된다.


[facebook] http://facebook.com/trobotics