View
66
Download
0
Embed Size (px)
Citation preview
Preferred Networks (PFN)
ミッション:
IoT時代に向けた新しいコンピュータを創造するあらゆるモノに知能をもたせ、分散知能を実現する
設 立:2014年3月
所在地:東京都千代田区大手町(日本)、バークレー(米国)
事業内容: IoT(Internet of Things) + 分散機械学習
— 交通システム
— 産業用ロボット
— バイオヘルスケア
2
Our Strategic Partners
and Collaborators
ディープラーニングの最前線
ディープラーニング(深層学習)とは
層が深く、幅も広いニューラルネットワークを利用した機械学習手法
2012年の大ブレーク以来、研究コミュニティのみならず産業界に多く使われてきた
画像認識、音声認識、強化学習、自然言語処理などで劇的な精度向上を果たし、その多くが既に実用化されている
5
2014年の一般画像認識コンテストで優勝した22層からなるのGoogLeNetの例 [Google 2014]
*http://memkite.com/deep-learning-bibliography/
ディープラーニングの基本計算
6
下層の入力xを重み付きで足した後に活性化関数hをかけて出力
– wiがモデルパラメータであり、重みと呼ばれる
x1
x2
x3
+1
w1
w2
w3
w4
h = a(x1w1+x2w2+x3w3+w4)
h
aの例 ReLU: h(x) = max(0, x)
a : 活性化関数
バイアス項活性化関数には、ReLUなど勾配消失問題を回避できる区分線形関数が多く使われる
ディープラーニングの基本計算
7
先ほどの基本計算を何層にも繰り返して出力yを求める
x1
x2
x3
+1
+1 +1
y
深いレイヤーはパーツを組み合わせた総合的かつ抽象的な情報
例 入力でみると、各層毎に入力が変形されていく
8
https://colah.github.io/posts/2014-03-NN-Manifolds-Topology/
ディープラーニングの学習 (1/4)
正解ラベルとの違いからエラーLを求める
— 例:回帰:l(y, y*)= (y – y*)2
Iが小さくなるように各パラメータ{wi}を調整する(=最適化問題)
問題:各重みをどのように調整すればよいか? → 誤差逆伝播法
x1
x2
x3
+1
+1 +1 正解の出力
ly
y*
w1
w2
w3
w4
9
10
ディープラーニングの学習 (2/4)
歯車の例(誤差逆伝播法を理解するため)
問: Aを1回転させるとDは何回転するか?
Cを1回転させるとDは16/12回転
— これを dD / dC = 16/12 と書く(Cをd動かすとDは16/12d動く)
Bを1回転させると,dC / dB = 8/16のため,dD/dB = (16/12)(8/16)=8/12
dD/dA = (dD/dC)*(dC/dB)*(dB/dA) =10/12 答え: 10/12回転
—
AB C
歯の数が10
8
16
D
12
ディープラーニングの学習 (3/4) 誤差逆伝播法
出力からエラーの勾配をデータの流れとは逆方向に流す
– 出力を変えたら、最終目標lがどのように変わるか
– 各パラメータについての勾配を正確に求められる
x1
x2
x3
+1
r s
ly
y*
yを動かしたらlがどのように変わるのか
sを動かしたらlがどのように変わるのか
wを動かしたらlがどのように変わるのか
w
=r
12
ディープラーニングの学習 (4/4)
確率的勾配降下法
目的関数L(θ)のθについての勾配 v = ∂L(θ)/∂θ
は誤差逆伝播法で効率的に求められる
— Lはタスクを間違えた時に正の値、正しい時0をとる関数
— -vはL(θ)を最も急激に小さくできる方向
データ毎に θt+1 := θt – αvt と更新
— α>0 は学習率
— 目的関数の曲率を考慮したAdamやRMSpropなどが使われる
パラメータ空間
目的関数の等高線
-αv1
θ1
θ2
13
誤差逆伝播法(後ろ向き自動微分)は強力
誤差逆伝播法は最終的な目的関数の各パラメータや入力についての勾配を正確に求められる
— ある目的関数の値を変えるために各パラメータをどれだけ動かせばよいかが正確にわかる
誤差逆伝播法は前向き計算と同じ計算量
— スケーラブル、パラメータ数に対し線形にスケール
どれだけ複雑な計算グラフであっても計算できる
— 1000層を超えても,ループがあっても、分岐があっても大丈夫
確率変数のサンプリングがあっても誤差逆伝播法を使って勾配を求められる
— 変数変換トリック、REINFORCE
なぜディープラーニングがうまくいくのか?
解明されていない謎が徐々に解けつつある
NNの最適化問題は非凸であり極小解にはまる→大きなNNでは殆ど全ての極小解は最適解 [Nguyen+ 17]
なぜDNNの汎化性能が高いか?パラメータ数が学習事例に対し多いのに過学習しないのか?
→SGDによる最適化はベイズ最適化に対応し、見つかる解は幅広な領域で良い汎化性能を持つ [Hoffman+ 17]
パラメータ数が多い方が汎化性能がむしろ高い
自然界にみられるデータが備える特徴とDNNのモデルが一致する
[Lin+ 16]
— 低次性、局所相互作用性、対称性、マルコフ性
14
深層学習 = 表現学習、一貫学習(end-to-end学習)
データをどのように表現するか(表現学習)
全モジュールを誤差逆伝播法で一貫して学習
— モジュール毎の局所最適化の問題がない
— 信用割り当て問題(誰に間違った責任があるか)を自然に解く
15
特徴設計
ルール・
プログラム
タスクの学習
ルールベース浅い機械学習(決定木、RF、SVM、ロジスティク回帰など)
深層学習
タスクの学習
表現学習(特徴設計)
人手 データから自動獲得
一貫学習
深層学習の特徴マルチモーダル、マルチタスク学習が容易に
マルチモーダル*
— 異なる種類の入力を統合
— 統合の仕方はNNが学習する
マルチタスク
— 異なるタスクを一緒に扱う
— 共通する特徴を学習できる
画像 テキスト ゲノム 入力データ
タスクA B C
*注:データで全モーダルが揃っている必要はない c.f. DropOut
17
CityScape Dataset
18
19
20
「ぶつからない車」 トヨタ自動車様との共同展示@CES2016
21
Amazon Picking Challenge 2016, won 2nd prize
22
ロボットにインタラクティブに指示をする
23
二足歩行ロボットの強化学習による制御
24
強化学習によるドローンの制御 [CEATEC 2016]
25
PaintsChainer (#PaintsChainer)
Neural network colorize line arts.
Released Jan. 2017, and already painted about one
million line images
http://free-illustrations.gatag.net/2014/01/10/220000.html
Taizan Yonetsuji
乳がん検査の精度
90%
99%
80%マンモグラフィー
リキッドバイオプシー(血液中のmicroRNA)[Shimomura+ Cancer Science 2016]
リキッドバイオプシー+
Deep Learning
元画像
Brain tumor segmentation
Prediction Annotation by DoctorInput
教師なし学習
28
29
代表的な学習手法
教師あり学習
— 入力xから出力yへの写像 y=f(x)を獲得する
— 学習データは正解のペア{(x, y)}
強化学習
— 環境において将来期待報酬を最大化する行動を獲得する
— 学習データは自分がとった状態とその時の報酬{(x, ri)}
教師なし学習
— 学習データはデータの集合{(xi)}、教師シグナルはそれ以外無い
— 観測情報はいくらでも得られる
[Doya 99]
30
予測学習
次にどのようになるのかを予測する
— 予測結果が正しいかどうかの結果は時間差でタダで得られる
物体の属性、ダイナミクス、物理モデルなど多くのことを知っていないと予測できない
?
31
教師なし学習予測学習の情報量は教師あり学習や強化学習に比べると非常に大きい
Yann Lecunの講演資料より引用
32
教師なし学習/予測学習
「脳のシナプスは1014個あるが,人は109秒しか生きられない。サンプル数よりパラメータ数の方がずっと多いことになる。(これらのシナプスの重みを決定するためには)1秒あたり105個の制約が必要となり,多くの教師無し学習をしているとの考えに行き着く」https://www.reddit.com/r/MachineLearning/comments/2lmo0l/ama_geoffrey_hinton/clyjogf/
1年間に観測できる視覚情報は10フレーム/秒*36000秒/日*365日=1.3億フレームこれは教師あり学習で使われるImageNetの100倍
33
教師なし学習/予測学習の役割
データのもつれを解く最適な表現方法を獲得する(disentanglement)
— 階層的な構造を理解する
抽象化(認識)ができるようになる
— 情報を分解、縮約し、余計な情報を除く
具体化(生成)ができるようになる
— データを異なった条件で新しくサンプリングできる
物理モデル、ダイナミクスを理解し予測を可能にする
なぜ生成モデルを扱うのか
より正確な認識,推論をするため
— 生成過程が分かっていれば、認識、推論をより正確にできる
— 「作ってみせることができなければ理解したとはいえない」リチャード・ファインマン
— 「画像認識をしたければまずレンダリングを勉強せよ」ジェフリー・ヒントン
そして、大量の教師なしデータxを活用することができる
— 生成過程の学習(獲得)はxだけを使って実現可能
— その過程を逆向きにたどれば,xからzを推定できる
34
認識と生成 (1/2)
データxが未知の因子zに基づいて生成され観測される
生成と認識は対の問題である
z
x
例:画像の場合
z:物体の形状, カメラの位置, 光源の情報(ドラゴン, [10, 2, -4], white)
x:画像
生成
z
x
認識(または推論)
推論:狭義には事後確率P(z|x)を求めること
認識と生成(2/2)
因子は必ずしも1つではなく複数ある場合が一般的
— 分析対象以外の因子(図中c)は共変量ともよばれる
— 潜在変数の誤差として撹乱変数とよばれる場合も
世の中のデータの生成過程は非常に複雑
— 生成過程の多くは非線形
— ノイズは様々な場所で加わり、それらは非正規分布
そして、生成過程は一般に未知
— 生成過程のモデルは現実の生成過程の近似である
— 例:CGの生成には数十のステップが必要
36
z1
x
c
h
z2
h
表現学習
データxのそのままの表現ではなく、因子zの表現で扱うと様々なタスクが簡単に学習できる
— さらに特徴設計とタスクの学習をつなげてend-to-endでできる
37
特徴設計
ルール・
プログラム
タスクの学習
ルールベース 浅い機械学習(決定木、SVM、ロジスティク回帰など)
深層学習
タスクの学習
表現学習(特徴設計)
人手 データから自動獲得
End-
to-End
多様体仮説:高次元空間に低次元空間が埋め込まれる
観測されるデータがとりうる値の組み合わせは高次元空間に埋め込まれる低次元の多様体として表される
38
xが表現されている高次元空間
1点1点がありうるデータの組み合わせ
x上で近くても意味は全然違う
なぜ低次元かというと、低次元の因子から観測データが複雑さを上げずにに高次元の入力空間に生成されるため
局所的に低次元の座標系が埋め込まれる
表現学習:元の表現から単純な潜在(因子)表現への変換
39
生成
認識
潜在表現
元の表現の近さと意味上の近さは違う場合が多い因子上の表現では意味上で遠いものは遠く、近いものは近くにマッピングする
単純な表現では学習が簡単
40
生成
認識
因子上の単純な表現
多くのタスクは因子と関係しており、因子上では単純な分類面となる → 学習データは少なくて済む
複雑な分類面を学習するために教師データはたくさん必要
単純な分類面のため教師データは少量で十分
41
例:VAE(後述)により手書き文字データを2次元上の因子にマッピングした結果
元々の手書き文字データは高次元(784次元)であり,曲がっているが,その因子を求めると,以下のような低次元の表現に変換できる
もし,数字の1を分類したいならこの分類面を求めれば良い
42
顔の潜在空間での遷移の場合引用: “Progressive Growing of GANs for Improved Quality, Stability, and Variation”
x=Gen(z) のzを遷移
43
一般物体の潜在空間での遷移の例引用: “Progressive Growing of GANs for Improved Quality, Stability, and Variation”
深層生成モデル
深層生成モデル
— ニューラルネットワークを使った非線形なモデルを使ってデータを生成できるようなモデル
以下のモデルを詳しく説明
— VAE:変分自己符号化器
— GAN:敵対的生成モデル
44
45
深層生成モデルとして望ましい性質
P(x)に従ってxを高速にサンプリングできる
— 例えば,ボルツマンマシンなどはサンプリング時はMCMCが必要で遅いためサンプリング目的に使えない
尤度 P(x)を計算できる
— P(x)を陽に計算できない場合や下限L(x)しか計算できない場合も
生成されるデータのサポートが低次元多様体である
— P(x) > 0であるようなxが低次元空間に広がっている
— 生成の直前にノイズを載せない(ガウシアンでモデル化しない)
— 最尤推定は直接使えない
log P(xi)が発散してしまう
46
潜在変数モデル
P(x) = ∑z P(x | z)P(z)
xは観測変数
zは観測できない潜在変数
データセット D={x1, x2, …, xN}
— log P(D) = ∑i log P(xi)
= ∑i log ∑z P(x | z)P(z)
z
x
47
VAE 変分自己符号化器 [Kingma+ 13]
z
μ
(μ, σ) = Dec(z; φ)x〜N(μ, σ)
σ
x
平均と分散を出力する復号ネットワーク(μ, σ) = Dec(z; φ)を用意する
次の手順でxを生成する
(1) z 〜 N(0, I)でサンプリングする(2) (μ, σ) = Dec(z; φ)を計算する(3) x 〜 N(μ, σI)でサンプリングする
確率分布はp(x) = ∫p(x|z)p(z)dz
48
VAE 変分自己符号化器
p(x|z)p(z)の一つ一つの分布はガウシアンだが、全体p(x) = ∫p(x|z)p(z)dz は複雑な分布を扱える
— ニューラルネットワークが非線形で複雑な変換を扱えるため
49
VAE 変分自己符号化器
学習は対数尤度最大化で行う積分があるため直接最大化は困難次の下限(ELBO: Evidence lower bound)の最大化を行う
提案分布q(z|x)は真の事後確率p(z|x)
に近いほど良いが,違っても良い
自由エネルギー c.f. [Friston 2010]
このq(z|x)についての最大化はKL(q(z|x) || p(z|x)) の最小化に対応
= 符号化器を学習できる
50
VAE 変分自己符号化器の学習 (1/4)
z
μ
復号化器(μ, σ) = Dec(z; φ)x〜N(μ, σI)
σ
x
z
μ σ
x
符号化器(μ, σ) = Enc(x; θ)z〜N(μ, σI)
提案分布q(z|x)を表すxからzを生成する符号化器を用意する
決定的な関数(逆誤差伝播可能)
確率的な関数(逆誤差伝播できない)
51
VA3 変分自己符号化器の学習 (2/4)
μ σ
x'
z
μ σ
x
この二つが合うように学習する
xからzを符号化器でサンプリングし、そのzを使ってx’をサンプリングし、xとx’が合うように学習する=さきほどの変分下限の最大化
KL(q(z|x)||p(z))の最小化も同時にする
52
VAE 変分自己符号化器の学習 (3/4)
この計算グラフはサンプリング( )があるため誤差逆伝播法が使えない
ここはサンプリングも含めて((x-μ)/σ)2
で評価可能のため問題ない
μ σ
x'
z
μ σ
x
ここが問題
53
VAE 変分自己符号化器の学習 (4/4)
変数変換トリックを使う確率的な計算を,逆誤差伝播可能な等価な決定的な計算に置き換える
μ σ
x'
z
μ σ
x
ε
全体が逆誤差伝播可能なグラフに!
潜在変数μにノイズεσを加えた自己符号化器とみなせる
54
VAEの学習結果(再掲)
zの空間の二次元上へのマッピング
VAEの拡張:条件付き生成
[Kingma+ 14]
55
μ σ
x'
z
μ σ
x
y
yは0から9の数字の情報
zはスタイルの情報
実際の数字 yだけ変えて生成された数字
56
VAEの問題点
生成の最後にノイズを入れるため、生成されたデータがぼやけやすい
尤度を直接出せず下限のみ求まる
— 但し、重点サンプリングをしてサンプリング数を増やせば尤度に収束する
57
β-VAE [Higgins+ ICLR 17]
モデルの尤度の変分下限のKLダイバージェンスの重みβをβ>1とすることで情報のdisentanglementが達成できる
— 潜在表現をq(z|x)を各次元が独立な分布p(z)に近づけるのを強める
— Information Bottleneckの変分最適化と同じ [Alemi 2017]
階層VAE [Zhao 2017]
因子の階層的な分解を実現する
— 階層的な潜在変数モデルは実は1層の潜在変数モデルと等価
— 代わりに生成過程でノイズを段階的に加える c.f. 撹乱変数
c.f. 撹乱変数
1層目: 幅の変化 2層目 : 傾き 3層目 : 数字
各層の潜在変数が異なる意味に対応する
59
GAN(Generative Adversarial Net)敵対的生成モデル[Goodfellow+14]
二人のプレイヤーが競い合うことで学習する
偽金を作る人(Generator)
— 目標はDiscriminatorを騙すこと
— 本物そっくりのお金を作るように学習されていく
偽金を見破る人(Discriminator)
— 目標はGeneratorの嘘を見破ること
— ほんのわずかな違いも見抜けるように学習されていく
Generator
本物のお金Discriminator
本物かな ?偽物のお金
1/2でどちらか選ばれる
60
GAN 敵対的生成モデル
z
x = G(z)
x
次の手順でxを生成する
(1) z 〜 U(0, I)でサンプリングする(2) x = G(z)を計算する
最後にサンプリングがないことに注意p(z)がGaussianでなく
一様分布Uを使うのも特徴高次元の一様分布の場合隅が離れた表現を扱える
61
GAN 敵対的生成モデルの学習
偽物かを判定するD(x)を用意
— 本物なら1, 偽物なら0を返す
Dは上式を最大化するように学習しGは最小化するように学習する
— この学習はうまく進めば∫p(z)G(z)dz=P(x), D(x)=1/2という均衡解にたどり着ける
z
x'
x = G(z)
{1(本物), 0(偽物)}
y = D(x)
x
GANの学習過程のデモhttp://www.inference.vc/an-alternative-update-rule-for-generative-adversarial-networks/
62
動画それぞれの点は勾配∂D/∂θにしたがって動く
63
GANの特徴
zがxに比べて低次元であり場合、生成されるデータxは低次元多様体上に広がる
— 尤度が計算できない
最尤推定はできないので、代わりに識別器Dからの勾配情報を元に最適化する
識別器Dがリプシッツ連続である場合(|D(x)-D(y)|< L|x-y|)、GAN最適化問題はは最適輸送問題(の双対)と等価
— 二つの確率分布を重ねるように学習する
G(z) xの空間
64
GANによる条件付き生成
条件cをつけt上で様々な生成ができる
— G(x, c) D(x, c)
特定クラスの生成
— c: クラス(のone-hot表現)
質問応答
— c: 質問をRNNで読んだ分散表現
超解像
— c:低解像度の画像
65
GANの最先端
Spectral Normalization + Projection Discriminator
はじめて一つのニューラルネットワークで1000クラスを超える様々な物体の生成が可能に
Spectral Normalization
— 各層の変換のリプシッツを抑える
Projection Discriminator
— Discriminatorの最後に条件yとの内積をとる
— D(y|x)は簡単な形になるという事前知識を利用
σ(W)はWの最大特異値
Takeru Miyato
x=Gen(z, y)
z: 潜在因子y: ラベル
yを遷移
犬の間での遷移
68
画像の異なるクラス間のモーフィング
zを固定したまま、yだけを変化
— 概念を保ったまま、クラスだけを変化
— 犬の頭とキノコの頭が対応している
— 犬の頭と塔が対応している
異なるクラス間の遷移別の例
70
cGANによる超解像
条件を低解像度の画像とした上で超解像を行う
予測モデル
72
予測モデル
時系列データには大量の情報が埋め込まれている
— 1年間で10時間/日*3600秒/時*365日*10Hz=1.3億回の画像を観察
次の時刻の観測を予測できるように学習すると様々な認識ができるようになる
— オプティカルフロー
— 物体の形状
— 物体のダイナミクス
— 物体の属性(未来を予測できるように)
73
動画のモデリングはチャレンジング
1フレームP(x)のモデルは困難、その条件付き確率P(xt+1|xt)のモデル化は困難
— 予測可能な部分と不可能な部分をどのように区別するかc.f. [Pathak+ 2017]
高次元の情報をうまく低次元に落としさえすれば、予測は比較的簡単である
— 低次元ベクトルをRNN(LSTMなど)を使ってモデル化する
— 人の場合、ボーンモデル、メッシュモデル
— しかし、事前知識を使ってしまっており未知の物体は対応不可能
一般物体をどのように低次元に落とせるのか?
教師なし学習でどこまで学習できるか
75
教師なし学習を適切に設計し順番に学習すれば多くの視覚能力が得られる(はず)
ビデオフレーム補間[Liu+ ICCV 2017]
オプティカルフロー インスタンスセグメンテーション
[Pathak+ CVPR 2017][He+ ICCV 2017]
Dense Equivalent Labelling (キーポイント認識の一般化)
深さ情報自己動き推定 [Zhou+ CVPR 2017]
物体のダイナミクス推定
物体の三次元構造推定
76
言語能力の予想(こちらはさらに野心的な予想)
言語能力も教師なし学習で獲得できるだろう
— 隠れ状態は談話/心理空間をランダムウォークしていて、そこから単語が生成されているモデルと考えられる[Arora+ 2015, Ferrer-i-Cancho+ 2017]
— 多くのRNNは遷移に決定的な関数を使っておりBPTTが可能だが表現力が大きく落ちている
— 隠れ状態は今あつかっているサイズ(数千ニューロン)よりはるかに多く(数百万ニューロン)かつスパース、パラメータ数は数百億のオーダー
言語生成の能力と運動制御の能力はおそらく共通している
— 確率的制御。自分と相手の隠れ状態を目的の状態に達するためにどのようにたどり着くかを求める
77
まとめ
深層学習は教師あり学習で大きな成功を収めている
— 認識、検出、分類、生成、制御
一方、次の大きな躍進をおこすためには膨大な情報が得られる教師なし学習で成功する必要がある
— 生成は成功しつつある
GANによる画像生成、Wavenetによる音声合成
— 情報の分解(Disentanglement)も徐々に成功している
物体、属性、
教師なし学習の大部分はまだ未解決
— 予測学習
78
参考文献
[Pathak+ 2017] Curiosity-driven Exploration by Self-supervised Prediction, ICML 2017, D. Pathak and et. al.
[Arora+ 2015] RAND-WALK: A Latent Variable Model Approchto Word Embeddings, S. Arora and et. al.
[Ferrer-i-Cancho+ 2017] The origins of Zipf's meaning-frequency law, R. Ferrer-i-Cancho and et. al.