Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AdaNet
Search
Shuhei Fujiwara
June 26, 2019
Research
430
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AdaNet
Shuhei Fujiwara
June 26, 2019
More Decks by Shuhei Fujiwara
See All by Shuhei Fujiwara
数理最適化を知ろう
shuheif
2
1.5k
Model Building in Mathematical Programming #2
shuheif
0
91
Nesterov #2
shuheif
0
96
TensorFlow Docs Translation Proofreading
shuheif
0
950
Model Building in Mathematical Programming #1
shuheif
0
150
Nesterov
shuheif
2
210
tbf07-seat-optim.pdf
shuheif
1
10k
Google Cloud Next Extended 2019 ML Day
shuheif
4
1.2k
TensorFlow Docs Translation JA
shuheif
1
1k
Other Decks in Research
See All in Research
2025年度秋葉原ウォーカブルプロジェクト調査報告 「アキバらしいウォーカブル」とは何か
izumiyama_lab
1
160
kintone リサーチ副部/UXリサーチャー 業務紹介
cybozuinsideout
PRO
0
130
Anthropic が提案する LLM の内部状態を自然言語で説明可能にした Natural Language Autoencoders / Natural Language Autoencoders Produce Unsupervised Explanations of LLM Activations
shunk031
0
160
【Zozo Research 技術共有会】三次元領域の現在と展望
mickey_0226
3
540
ros2-perf-multihost: 分散システムにおける客観的なアーキテクチャ評価フレームワーク
takasehideki
0
180
SoftMatcha 2: 1兆語規模コーパスの超高速かつ柔らかい検索
e869120_sub
7
3.7k
JICA QUEST 共創×革新プログラム Impact Report(海ノ向こうコーヒー)
ontheslope
0
310
Fukui Shibiten 39 - AI Art
butchi
0
170
第12回人と環境にやさしい交通をめざす全国大会/熊本都市圏「車1割削減、渋滞半減、公共交通2倍」をめざして
trafficbrain
0
140
SAKURAONE:An Open Ethernet-based AI HPC System And Its Observed Workload Dynamicsin a Single-Tenant LLM Development Environment
yuukit
1
510
LLM Compute Infrastructure Overview
karakurist
2
1.6k
Visual SLAM未来予測 / Future Prediction in Visual SLAM
koide3
1
840
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.5k
Believing is Seeing
oripsolob
1
180
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
So, you think you're a good person
axbom
PRO
2
2.1k
Building AI with AI
inesmontani
PRO
1
1.1k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
890
Site-Speed That Sticks
csswizardry
13
1.4k
Leo the Paperboy
mayatellez
8
2.1k
Done Done
chrislema
186
16k
Transcript
論文紹介 AdaNet: Adaptive Structural Learning of Artificial Neural Networks @shuhei_fujiwara
2019-06-26 1
What’s AdaNet? ▶ ICML 2017 ▶ http://proceedings.mlr.press/v70/cortes17a.html ▶ Google AI
Blog: ▶ https://ai.googleblog.com/2018/10/introducing-adanet-fast-and-flexible.html ▶ AutoML Table の裏で使われている (という噂の) 手法 ▶ https://cloud.google.com/automl-tables/docs/features ▶ TensorFlow implementation ▶ https://github.com/tensorflow/adanet 2
Basic Idea of AdaNet
The Goal of AdaNet Feed forward network よりも一般的なネットワーク構成の中から良いものを探す ▶ 後ろの任意の層の任意のノードに対して辺を繋げる
▶ 実際には汎化誤差の上界を保証するためにもう少し制約を入れる 3
Basic Idea ▶ 最初は小さいネットワークで普通に学習 この時点での目的関数 (正則化項は省略) 1 m m ∑
i=1 Φ (1 − yif1(xi)) ▶ yi ∈ {−1, +1}: label, Φ(·): loss function ▶ f1(·): 1 反復目のモデルの出力 ▶ 汎化誤差の上界を保証するには 最後の層への重みに L1 正則化が必要 Input Output 4
Basic Idea ▶ 真の値と現時点でのモデルの output の差を 予測するようなネットワークを継ぎ足す 新しい subnetwork の出力を足し込む
F(w, u) = 1 m m ∑ i=1 Φ (1 − yif1(xi) − yiw · u(xi)) ▶ −yiw · u(xi): 赤い subnetwork の出力 Input Output 5
How to Add Subnetwork Subnetwork の候補 以下の 2 種類を試して良かった方をくっつける: ▶
以下の 2 種類を試して良かった方を使う ▶ 今のネットワークと同じ深さのもの ▶ 今のネットワークより 1 段深いもの ▶ Subnetwork の制約 ▶ 1 つ前の層としか結合しない (汎化誤差の上界を保証するのに必要) Input Output 6
Algorithm 1. 2 種類の subnetwork を作る ▶ 今と同じ深さのやつと 1 段深いやつ
2. それぞれくっつけて学習させてみる 3. より性能が良い方の subnetwork を採用する ▶ 性能は正則化なども込みの目的関数で測る ▶ 本当はこの部分に Rademacher complexity (の推定値) とかが隠れているので 結構重要 ▶ 改善しなかったらアルゴリズム終了 4. 1 へ戻る 7
Generalization Bound
汎化誤差の上界に関する議論の定石 手持ちのサンプルに対する誤判別率を使って持っていない母集団に対する 誤判別率を評価したい ▶ S = ((x1, y1), . .
. , (xm, ym)): 持っているサンプル ▶ R(f) = E(x,y)∼D [ 1yf(x)≤0 ] : 母集団に対する誤判別率の期待値 ▶ ^ RS,ρ(f) = 1 m ∑ m i=1 1yif(xi)≤ρ : 持っているサンプル集合 S に対する誤判別率 ▶ マージン ρ だけ余裕を持って判別させるのがミソ R(f) ≤ ^ RS,ρ(f)+「十分サンプル数を大きくすれば定数に近付く何か」 という形がゴール 8
Formal Formulation 仮説集合 (アルゴリズムで探索対象となる関数の集合) を定義 今回はノードや層ごとに分けて定義するところが少し特徴的 入力から最初の層への仮説集合 H1 = {
x → u · Ψ(x) : u ∈ Rn0 , ∥u∥p ≤ Λ1,0 } ▶ Ψ(·): 入力データからベクトルへの写像 (たとえば文章と BoW) ▶ h1,j ∈ H1 : x ∈ X から 1 層目のノード j に渡る値への写像 9
Formal Formulation 2 層目以降の (k 層目の各ノードを構成する) 仮説集合 Hk = {
x → k−1 ∑ s=1 us · (φs ◦ hs)(x) : us ∈ Rns , ∥us∥p ≤ Λ1,0, hk,s ∈ Hs } ▶ hs : ネットワークの s 層目 ▶ φ: 活性化関数 ▶ u: s 層目全ノードから k 層目のある 1 ノードへ繋がる重み 10
Rademacher Complexity 汎化誤差の上界を議論するための道具で、仮説 (関数) 集合の複雑さの指標 ^ RS(G) = 1 m
Eσ [ sup h∈G m ∑ i=1 σih(xi) ] R(G) = ES∼D [ ^ RS(G) ] ▶ ランダムにラベルを付与したデータに対してどれくらい正しく判別できる 関数が仮説内に存在するか ▶ R が大きすぎる ==> 関数が複雑すぎて過学習する 11
Theorem 1 のお気持ち Theorem 1 R(f) ≤ ^ RS,ρ(f) +
4 ρ l ∑ k=1 ∥wk∥1Rm( ˜ Hk) + 2 ρ √ log l m + ˜ O ( 1 ρ √ log l m ) where ˜ Hk = Hk ∪ (−Hk) ▶ サンプル数 m を十分大きく取れば右の 2 項はゼロ ▶ Rademacher complexity と正則化項でおさえられる 12
Lemma 2 のお気持ち ▶ Rademacher complexity って具体的にどれくらいの大きさ? ▶ 仮説集合 Hk
をちょっと狭めると議論できる ▶ H∗ k : Hk に「1 つ前の層にしか接続しない」という制約を加えた版 Lemma 2 ^ RS(H∗ k ) ≤ r∞ΛkN 1 q k √ log(2n0) 2m ▶ r∞ = maxi∈[1,m] ∥Ψ(xi)∥∞ 13
Objective Function
Objective Function 汎化誤差の上界を踏まえて目的関数を次のように設定 F(w) = 1 m m ∑ i=1
Φ 1 − yi N ∑ j=1 wjhj + N ∑ j=1 Γj|wj| where Γj = λRm(Hkj ) + β, hj ∈ H∗ = ∪l k=1 ˜ H∗ k Rademacher complexity は lemma 2 の上界で代用する 14
Iterations 各反復では次のような部分問題を解けば良い Ft(w, u) = 1 m m ∑ i=1
Φ 1 − yi N ∑ j=1 wjhj − yiw · u(xi) + N ∑ j=1 Γu∥w∥1 ▶ u: Subnetwork の最後の層 ▶ 裏にそこまでのネットワークの重みが変数として隠れている ▶ w: Subnetwork の最後の層から出力への重み ▶ Γu : Subnetwork の深さで R が変わる (ので u が添字) 15
Numerical Experiments
Experiments with CIFAR-10 詳しくは論文参照 ▶ 普通のニューラルネットや Logistic Regression と比べて高精度 ▶
Subnetwork のくっつけ方は工夫の余地があるので AdaNet 同士でも比較 ▶ AdaNet.R: L1 正則化を追加 ▶ AdaNet.P: 新しい subnetwork は前回加えたものにだけ接続 ▶ AdaNet.D: 前回加えたものとの接続に dropout を入れる ▶ 疎結合にしても精度は落ちない 16
Implementation
TensorFlow Implementation ▶ TensorFlow での実装 ▶ https://github.com/tensorflow/adanet ▶ 研究の実験用コードじゃなくてマジでちゃんと API
整えられたやつ ▶ とても嬉しい ▶ TensorFlow の Estimator API として作られている 17
Conclusions
Conclusions ▶ 論文ではきちんと汎化誤差の上界など理論的な面が議論されている ▶ 実装はマジでそのまま使えるやつが公開されてる ▶ Estimator の流儀で書くだけなので、最悪地雷を踏んでも 別の手法にすぐ逃げられる ▶
AutoML Table みたいなサービスにも投入された 研究 ==> 実用化の流れが芸術点高い 18