brunch

You can make anything
by writing

C.S.Lewis

by 서진호 Mar 31. 2020

뉴럴 탄젠트가 있는 더빠르고 쉬운 무한 와이드 네트워크

2020년 3월 13일(금)-구글 AI 리서치 블로그

자연어 처리, 대화 에이전트 및 커넥토믹스와 같은 다양한 영역에서 딥러닝의 광범위한 성공은 머신러닝의 연구 환경을 변화시켰으며 연구자들에게 다음과 같은 흥미롭고 중요한 공개 질문을 남겼습니다. 오버 파라미터화(overparametered) 되었지만 심층 신경망(DNN)이 일반화되는 이유는 무엇입니까? 딥 네트워크에 대한 아키텍처, 훈련 및 성능 간의 관계는 무엇입니까? 딥러닝 모델에서 두드러진 특징(feature)을 어떻게 추출할 수 있습니까?


최근 몇 년간 발전을 이룰 수 있었던 주요 이론적 통찰력 중 하나는 DNN의 폭이 증가하면 더 규칙적인 행동을 취하고 더 이해하기 쉽게 만든다는 것입니다. 최근의 많은 결과에 따르면 infinite-wide 할 수 있는 DNN은 가우시안 프로세스(Gaussian Process)라고 하는 또 다른 더 단순한 모델 클래스로 수렴합니다. 이 한계에서 복잡한 현상(예: 베이지안 추론 또는 컨볼루션 신경망경사 하강 역학)은 단순한 선형 대수 방정식으로 귀결됩니다. 이러한 무한 와이드 네트워크(infinite-width network)의 통찰력은 종종 유한 복사본에게 전달됩니다. 따라서, 무한 와이드 네트워크는 딥러닝을 연구하는 렌즈로 사용될 수 있을 뿐만 아니라 자체적으로 유용한 모델로도 사용될 수 있습니다.


[그림 1]

[그림 1] 상세 설명 - 왼쪽: 심층 신경망이 무한대로 넓어짐에 따라 간단한 입력/출력 맵을 유도하는 방법을 보여주는 개략도. 오른쪽: 신경망의 너비(width)가 증가함에 따라 네트워크의 다른 임의 인스턴스화에 대한 출력 분포가 가우스(정규화)가 됨을 알 수 있습니다.


불행히도, 유한 네트워크의 무한 너비 제한을 얻으려면 상당한 수학적 전문 지식이 필요하며 연구 한 각 아키텍처마다 별도로 해결해야 합니다. 무한 너비 모델이 도출되면 효율적이고 확장 가능한 구현을 위해서는 상당한 엔지니어링 능력이 필요합니다. 유한 너비 모델을 해당 무한 너비 네트워크로 가져오는 과정에는 몇 개월이 걸릴 수 있으며 연구 논문의 주제 일 수도 있습니다.


이 문제를 해결하고 딥러닝의 이론적 진보를 가속화하기 위해 JAX로 작성된 새로운 오픈 소스 소프트웨어 라이브러리인 뉴럴 탄젠트(Neural Tangents)를 소개합니다. 연구원은 유한 신경망만큼 쉽게 무한한 신경망을 구축하고 훈련할 수 있습니다. 뉴럴 탄젠트(Neural Tangents)의 핵심은 유한 및 무한 너비 버전의 신경망을 동시에 구축하는 사용하기 쉬운 신경망 라이브러리를 제공하는 데 있습니다.


신경 탄젠트 유틸리티를 예를 들자면, 일부 데이터에 대해 완전히 연결된 뉴럴 네트워크(fully-connected neural network)를 훈련시키는 것을 상상해 보십시오. 일반적으로 신경망은 무작위로 초기화된 다음 경사 하강을 사용하여 학습됩니다. 이러한 많은 신경망을 초기화하고 훈련하면 앙상블(ensemble)이 됩니다. 종종 연구원과 실무자들은 더 나은 성능을 위해 앙상블의 다른 구성원의 예측을 평균화합니다. 또한 앙상블 멤버 예측의 분산을 사용하여 불확실성을 추정할 수 있습니다. 단점은 네트워크 앙상블을 훈련하는 데 상당한 계산 예산이 필요하기 때문에 종종 회피됩니다. 그러나 신경망이 무한대로 넓어지면 앙상블은 computed throughout training을 통해 계산될 수 있는 평균과 분산을 가지는 가우시안 프로세스에 의해 설명됩니다. 


뉴럴 탄젠트(Neural Tangents)를 사용하면 5줄의 코드만 사용하여 이러한 무한 와이드 네트워크의 앙상블을 한 번에 구성하고 훈련할 수 있습니다! 결과 훈련 과정이 아래에 표시되며 이 실험을 진행하는 대화형 공동 작업 노트북은 여기에서 찾을 수 있습니다.

[그림 2]

[그림 2] 상세 설명 - 두 도표에서 유한 신경망의 앙상블 훈련과 동일한 아키텍처의 infinite-width 앙상블 훈련을 비교합니다. 유한 앙상블의 경험적 평균과 분산은 두 개의 점선으로 된 검은 선 사이에 검은 점선으로 표시됩니다. 무한 너비 앙상블의 closed-form 평균 및 분산은 채워진 색 영역 안에 단색 선으로 표시됩니다. 두 플롯에서 유한 및 무한 너비 앙상블은 매우 밀접하게 일치하며 구별하기가 어려울 수 있습니다. 왼쪽 : 훈련이 진행됨에 따라 입력 데이터(수평 x 축)에 출력(수직 f 축)을 출력합니다. 오른쪽 : 훈련 과정에서 불확실성으로 손실을 훈련하고 테스트합니다.


infinite-width 앙상블이 단순한 닫힌 형식 표현에 의해 지배된다는 사실에도 불구하고, 그것은 finite-width 앙상블과 현저한 일치를 보입니다. 그리고 infinite-width 앙상블은 가우스 프로세스이므로 자연스럽게 닫힌 형태의 불확실성 추정치(estimates)(위 그림에서 채색된 채색 영역)를 제공합니다. 이러한 불확실성 추정치는 유한 네트워크의 많은 다른 사본(점선)을 훈련할 때 관찰되는 예측의 변화와 밀접하게 일치합니다.


위의 예는 훈련 역학을 포착하는 infinite-width 신경망의 힘을 보여줍니다. 그러나 neural tangents를 사용하여 구축된 네트워크는 일반적인 신경망 네트워크를 적용할 수 있는 모든 문제에 적용될 수 있습니다. 예를 들어, 아래에서는 CIFAR-10 데이터셋을 사용한 이미지 인식에 관한 세 가지 다른 infinite-width 신경망 아키텍처를 비교합니다. 놀랍게도, 우리는 기울기 하강과 fully-Bayesian 추론(finite-width 체제에서 다루기 힘든 과제)에서 닫힌 형태의 wide residual networks와 같은 매우 정교한 모델의 앙상블을 평가할 수 있습니다.

[그림 3]

우리는 유한 신경망을 모방할 때 infinite-width 네트워크는 콘볼루션(convolutional) 네트워크보다 성능이 좋지 않은 fully-connected 네트워크와 유사한 성능의 계층 구조를 따른다는 것을 알 수 있으며 결과적으로 wide residual 네트워크보다 성능이 저하됩니다. 그러나 정기적인 훈련과 달리 이 모델의 학습 역학은 closed-form로 완전히 다루기 쉬워 전례 없는 그들의 행동에 대한 통찰력을 제공합니다.


뉴럴 탄젠트(Neural Tangents)를 사용하여 infinite-width 버전의 모델을 탐색하고 딥러닝의 블랙박스를 열도록 도와주십시오. 만일 여러분이 이것을 시작하려면 논문, Colab 노트북 자습서 및 Github 저장소를 확인하십시오. 기고, 기능 요청 및 버그 보고서는 매우 환영합니다. 이 작품은 ICLR 2020에서 주목을 받았습니다.


감사의 말

Neural Tangents는 Lechao Xiao, Roman Novak, Jiri Hron, 이재훈, Alex Alemi, Jascha Sohl-Dickstein 및 Samuel S. Schoenholz가 적극적으로 개발하고 있습니다. 또한 야사 만 바리와 그렉 양에게 도서관 개선에 대한 지속적인 기여와 Sergey Ioffe, Ben Adlam, Ravid Ziv, Jeffrey Pennington 그리고 빈번한 토론과 유용한 피드백에 감사드립니다. 마지막으로 첫 번째 그림에서 애니메이션을 만든 Tom Small에게 감사합니다.


원본 제목: 뉴럴 탄젠트가 있는 더 빠르고 쉬운 무한 와이드 네트워크(Fast and Easy Infinitely Wide Networks with Neural Tangents)
게시자 : Samuel S. Schoenholz, 수석 연구 과학자, Roman Novak, Google Research 연구원
원본 링크: https://ai.googleblog.com/2020/03/fast-and-easy-infinitely-wide-networks.html

Deep Neural Networks as Gaussian Processes 논문: https://arxiv.org/abs/1711.00165
Harnessing the Power of Infinitely Wide Deep Nets on Small-data Tasks 논문: https://arxiv.org/abs/1910.01663
Neural Tangent Kernel: Convergence and Generalization in Neural Networks 논문: https://arxiv.org/abs/1806.07572
Wide Neural Networks of Any Depth Evolve as Linear Models Under Gradient Descent 논문: https://arxiv.org/abs/1902.06720
Wide Residual Networks 논문: https://arxiv.org/abs/1605.07146
Neural Tangents: Fast and Easy Infinite Neural Networks in Python 논문: https://arxiv.org/abs/1912.02803 
Neural Tangents 오픈소스: https://github.com/google/neural-tangents
JAX(Autograd and XLA) 오픈소스: https://github.com/google/jax
Neural Tangents Cookbook Colab: https://colab.research.google.com/github/google/neural-tangents/blob/master/notebooks/neural_tangents_cookbook.ipynb
이 블로그는 2020년 3월 13일(금), Google AI Research Blog 기사를 영한 번역한 것입니다. 또한 이 번역 글은 정보 공유 목적으로만 작성했으므로 어떠한 상업용으로 사용할 수 없으며, 원본 저작물 모두 구글에게 저작권이 있음을 알려 드립니다. (First Draft Version
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari