SlideShare une entreprise Scribd logo
1  sur  27
Neural Tangents:
Fast and Easy Infinite Neural Networks in Python
Ryuichi Kanoh (Mobility Technologies*DeNAより出向)
Twitter
ICLR2020オンライン読み会
無限の幅を持つニューラルネットワークを実装する話
Introduction
2
Over-parameterization
近年のニューラルネットワークは、(パラメータ数)>>(学習データ数)
• CIFAR10: 5万枚の訓練画像
• ResNet152: 約6000万個のパラメータ
• 正則化やData Augmentationなしでも、ある程度うまくいく
疑問
(パラメータ数) >> (学習データ数)の学習が、なぜうまくいくのか?
3
経験的に得られている事実
局所解にはまらずに学習は大域収束する
パラメータ数が増え続けても汎化する
論文リンク (ICLR2020)
4
(興味を持ってもらうための)
関連実験紹介 [1]
学習データを増やすほど性能が劣化するレンジが存在
• 二重降下の山の位置がデータ数に依存することに起因
• あなたもこの罠にはまっているかも?
論文リンク (ICLR2020)
5
(興味を持ってもらうための)
関連実験紹介 [2]
アンサンブルに適切なパラメータ数は、二重効果の山を少し超えたところ
• シンプルな定式化ではこの効果は現れず、よくわかっていない 論文リンク (ICML2020)
論文リンク
増やしすぎると劣化
6
課題提起:
無限への興味
無限にパラメータを増やすと、何が起こるか気になりませんか?
• 有限の議論が無限に拡張できるか(逆も然り)は理論研究にとって重要
• 単純に、機械学習モデルとして強力なものになりうる
?
7
無限幅ネットワークに対するアプローチ
Neural Tangent Kernel [定式化]
パラメータ(w)空間での学習の定式化
*勾配法 (w: パラメータ, η: 学習率, L: 誤差関数)
式変形
η→0
*誤差関数は二乗誤差とする
関数(y)空間での学習の定式化
Neural Tangent Kernel (NTK)
8
無限幅ネットワークに対するアプローチ
Neural Tangent Kernel [不変性]
隠れ層の幅が広いと、ひとつひとつの重みの変化が微小でも推論結果は大きく変化する
• 実験的/理論的に、幅が広いと重みと は変化しなくなることが示されてきた
論文リンク (NeurIPS 2019)
(証明が気になる方はこちら)
幅と共にNTKの変化が小さく
9
無限幅ネットワークに対するアプローチ
Neural Tangent Kernel [解の獲得]
が時間依存しないとすると、上式は単純な微分方程式となり、解を解析的に得られる
NTK
幅が無限の場合は時間依存しない
10
NTKの活用にあたっての障壁
の計算方法は、モデルの構成ごとに変わる
• 例えば、L層の(全結合層+活性化)のモデルは、以下のように定式化できる
• これらをパラメータで微分し、積をとることでNTKは計算できる
f: pre-activation
g: post-activation
W: NNの重み
σ: 活性化関数
cσ: 規格化定数
dh: h層目の幅
11
NTKの活用にあたっての障壁
の計算方法は、モデルの構成ごとに変わる
• 例えば、L層の(全結合層+活性化)のモデルは、以下のように定式化できる
• これらをパラメータで微分し、積をとることでNTKは計算できる
f: pre-activation
g: post-activation
W: NNの重み
σ: 活性化関数
cσ: 規格化定数
dh: h層目の幅
• 畳み込み層が入ったら?
• Pooling層が入ったら?
• グラフニューラルネットワークは?
• 活性化関数が変わったら?
• Skip Connectionを導入したら?
• …
• 初見での計算は厳しいのでキャッチアップが必要
• 具体的な計算が気になる方はこちら
• Dense (NeurIPS 2018)
• CNN, Pooling (NeurIPS 2019)
• GNN (NeurIPS 2019)
• などなど
12
NTKの活用にあたっての障壁
の計算方法は、モデルの構成ごとに変わる
• 例えば、L層の(全結合層+活性化)のモデルは、以下のように定式化できる
• これらをパラメータで微分し、積をとることでNTKは計算できる
f: pre-activation
g: post-activation
W: NNの重み
σ: 活性化関数
cσ: 規格化定数
dh: h層目の幅
• 畳み込み層が入ったら?
• Pooling層が入ったら?
• グラフニューラルネットワークは?
• 活性化関数が変わったら?
• Skip Connectionを導入したら?
• …
• 初見での計算は厳しいのでキャッチアップが必要
• 具体的な計算が気になる方はこちら
• Dense (NeurIPS 2018)
• CNN, Pooling (NeurIPS 2019)
• GNN (NeurIPS 2019)
• などなど
13
参入障壁が高い!
計算ミスや実装ミスが怖い…
使われる数学も難しい…
ここまでのまとめ
無限の幅を持つモデルを調べることは面白そう
• 有限の議論が無限まで拡張できるかどうか(逆も然り)は、理論的に事柄を示す際に重要な観点
• 単純に、機械学習モデルとして強力なものになりうる
NTKなど、無限幅のモデルを扱う理論も整備されてきている
• それらを用いれば、理論解析と数値実験を交えながら議論が展開できそう
• 中心極限定理や大数の法則が使えるので、かえって有限幅より議論しやすいこともある
モデルを変えるたびに複雑な定式化を行ってNTKを実装するのは大変
• 先行研究がいくつも存在しているが、実装が各論文でバラバラで読み解くのや横展開が大変
• CUDA, numpy, pytorch…
• NTKの計算は重いので、hardware-friendlyな形での実装を考える必要もある
14
How to implement
infinite neural network
15
neural-tangents
neural-tangents (ICLR2020)というライブラリを使用すると簡単。 (pipで入る)
• JAXというGoogleのライブラリをラップしている
• JAXは、numpyに自動微分とJITがくっついたようなもの。GPUやTPUでも動く
• numpy-likeな記法で、低レベルな部分も自分で実装しやすいのが特徴らしい
16
実装例 (NTKの獲得)
JAXの中のstaxというモジュールをラップする形で使用されることが多い
• モデルさえ定義すれば、モデル構造ごとに変わる面倒な設計は、全部ライブラリが内包してくれる
17
無限の幅を持つネットワークのカーネル関数
(Denseで定義している512というパラメータはこの関数に影響しない)
対応するNTKが格納された配列
実装例 (NTKを使用した推論)
カーネル関数とデータを渡せば、推論結果を得ることができる
18
ドキュメント類
初見でも、きちんと情報やハンズオンが整備されているので、使いやすい
ドキュメント
• https://neural-tangents.readthedocs.io/en/latest/#
Gitリポジトリ
• https://github.com/google/neural-tangents
Colab Notebook
• https://colab.research.google.com/github/google/neural-
tangents/blob/master/notebooks/neural_tangents_cookbook.ipynb
19
Experiments
20
有限の幅を持つモデルとの比較
Wide-ResNetなど幅の広いモデルの挙動は、かなり近い振る舞いが模擬できている
• tが大きくなるとズレ始めることにも注意
21
論文リンク (NeurIPS 2019)
機械学習モデルとしての性能
(小スケール)
UCIなどの小さなデータセット(N~5,000)では、既存のモデルを上回る性能が出ている
• 小さなデータを扱うKaggleコンペティションなどで活躍する未来もあり得るかも?
22
論文リンク (ICLR2020)
機械学習モデルとしての性能
(中スケール)
CIFAR10を分類させてみると、深いモデルでは有限幅のモデルの方が性能が良い
• この性能差が意味するところは何なのか?NTKの変化が重要? (論文リンク)
• 深さに対しての依存性も異なりそう
• ギャップを埋めていければ、理論と実践の壁は薄れていき、進化の方向性のヒントを得られるかもしれない
23
論文リンク (NeurIPS 2019)
処理時間
24
ICLR2020プレゼン資料より引用
ImageNet規模の大スケールの対象は厳しい
• 計算の高速化を考えることにも、大いに価値がある
並列処理性能
ほぼ並列処理数に対して線形に処理時間が減っていっていく
25
Summary
26
まとめ
Over-parameterizationについて考えるのは面白い
• 汎化性能、最適化の性質についてなど、不思議なことがたくさん
極限である無限幅のモデルを扱う手法が幾つも出てきている
• これらの活用は理論、実践共に今まさに盛り上がっているところ
• 一方、必要な手法は多岐にわたり、理解や実装が大変
neural-tangentsを使用すると、簡単に無限幅のモデルの実験ができる
• NTKは有限幅モデルでも扱うことはできるので、有限幅モデルを研究するためのツールにもなる
• NTKを利用して二重降下を説明する研究例
27

Contenu connexe

Tendances

Tendances (20)

ELBO型VAEのダメなところ
ELBO型VAEのダメなところELBO型VAEのダメなところ
ELBO型VAEのダメなところ
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
 
[DL輪読会]Learning Latent Dynamics for Planning from Pixels
[DL輪読会]Learning Latent Dynamics for Planning from Pixels[DL輪読会]Learning Latent Dynamics for Planning from Pixels
[DL輪読会]Learning Latent Dynamics for Planning from Pixels
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
 
[DL輪読会]1次近似系MAMLとその理論的背景
[DL輪読会]1次近似系MAMLとその理論的背景[DL輪読会]1次近似系MAMLとその理論的背景
[DL輪読会]1次近似系MAMLとその理論的背景
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理
 
[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
 
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
 
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について
 
【DL輪読会】Domain Generalization by Learning and Removing Domainspecific Features
【DL輪読会】Domain Generalization by Learning and Removing Domainspecific Features【DL輪読会】Domain Generalization by Learning and Removing Domainspecific Features
【DL輪読会】Domain Generalization by Learning and Removing Domainspecific Features
 
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
 
[DL輪読会]Glow: Generative Flow with Invertible 1×1 Convolutions
[DL輪読会]Glow: Generative Flow with Invertible 1×1 Convolutions[DL輪読会]Glow: Generative Flow with Invertible 1×1 Convolutions
[DL輪読会]Glow: Generative Flow with Invertible 1×1 Convolutions
 
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
 
【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model
【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model
【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 

Similaire à ICLR2020読み会 (neural-tangents)

[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
de:code 2017
 
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
kunihikokaneko1
 

Similaire à ICLR2020読み会 (neural-tangents) (20)

Getting Started with Deep Learning using Scala
Getting Started with Deep Learning using ScalaGetting Started with Deep Learning using Scala
Getting Started with Deep Learning using Scala
 
MySQLで学ぶ機械学習ことはじめ.pdf
MySQLで学ぶ機械学習ことはじめ.pdfMySQLで学ぶ機械学習ことはじめ.pdf
MySQLで学ぶ機械学習ことはじめ.pdf
 
Deep Learning技術の最近の動向とPreferred Networksの取り組み
Deep Learning技術の最近の動向とPreferred Networksの取り組みDeep Learning技術の最近の動向とPreferred Networksの取り組み
Deep Learning技術の最近の動向とPreferred Networksの取り組み
 
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
 
Using Deep Learning for Recommendation
Using Deep Learning for RecommendationUsing Deep Learning for Recommendation
Using Deep Learning for Recommendation
 
【CVPR 2020 メタサーベイ】Efficient Training and Inference Methods for Networks
【CVPR 2020 メタサーベイ】Efficient Training and Inference Methods for Networks【CVPR 2020 メタサーベイ】Efficient Training and Inference Methods for Networks
【CVPR 2020 メタサーベイ】Efficient Training and Inference Methods for Networks
 
経済学のための実践的データ分析 5.特許データの分析
経済学のための実践的データ分析 5.特許データの分析経済学のための実践的データ分析 5.特許データの分析
経済学のための実践的データ分析 5.特許データの分析
 
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
 
[DL輪読会]Measuring abstract reasoning in neural networks
[DL輪読会]Measuring abstract reasoning in neural networks[DL輪読会]Measuring abstract reasoning in neural networks
[DL輪読会]Measuring abstract reasoning in neural networks
 
ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題
 
2018年01月27日 Keras/TesorFlowによるディープラーニング事始め
2018年01月27日 Keras/TesorFlowによるディープラーニング事始め2018年01月27日 Keras/TesorFlowによるディープラーニング事始め
2018年01月27日 Keras/TesorFlowによるディープラーニング事始め
 
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
 
Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Laye...
Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Laye...Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Laye...
Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Laye...
 
No-Ops で大量データ処理基盤を簡単に実現する
No-Ops で大量データ処理基盤を簡単に実現するNo-Ops で大量データ処理基盤を簡単に実現する
No-Ops で大量データ処理基盤を簡単に実現する
 
No-Ops で大量データ処理基盤
No-Ops で大量データ処理基盤No-Ops で大量データ処理基盤
No-Ops で大量データ処理基盤
 
経済学のための実践的データ分析 4.SQL ことはじめ
経済学のための実践的データ分析 4.SQL ことはじめ経済学のための実践的データ分析 4.SQL ことはじめ
経済学のための実践的データ分析 4.SQL ことはじめ
 
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
 
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
 
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
 
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hareDAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
 

ICLR2020読み会 (neural-tangents)