24
Tree-Structured Variational Autoencoder 16/12/16 野野 野野 Richard Shin, Alexander A. Alemi, Geoffrey Irving, Oriol Vinyals

[DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

Embed Size (px)

Citation preview

Page 1: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

Tree-Structured Variational Autoencoder

16/12/16野中 尚輝

Richard Shin, Alexander A. Alemi, Geoffrey Irving, Oriol Vinyals

Page 2: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

目次• 書誌情報• イントロダクション• モデル• 実験• 過去のモデルとの比較• 結論・まとめ

05/02/2023 2

Page 3: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

書誌情報

• ICLR 2017 (Submitted)– UC Berkeley– Google Research, Google Brain,

Google DeepMind

05/02/2023 3

Page 4: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

背景• 深層生成モデルが大きな成果を出している– VAE や GAN など–解析的に求めることのできない複雑な同時分布

をニューラルネットワークにより近似–画像、文章、音声などの生成において成果を

出している↓

• 木構造のデータに適用したい– Computer grammar や自然言語は木構造で

表現できる05/02/2023 4

Page 5: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

背景• 木構造データは系列データとして扱い、

系列モデルを用いることも可能

• 木構造を考慮したモデルの方が、長い依存関係を捉えることができる可能性がある–系列データでは距離があっても木構造では

近い場合もある

05/02/2023 5

Page 6: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

背景• 木構造に含まれる各ノードの identity を

決定する分散表現を親ノードに対する相対位置と分散表現の関数として計算

↓• 木構造の様々な特徴を潜在空間で学習し、

top-down Recursive NN に入力として与え、生成を行う

05/02/2023 6

Page 7: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

関連研究• 木構造のニューラルネットワーク– Bottom up と Top down の二種類が存在

• Variational Autoencoder

05/02/2023 7

Page 8: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

Recursive Neural Network

05/02/2023 8

http://www.iro.umontreal.ca/~bengioy/talks/gss2012-YB6-NLP-recursive.pdf

Page 9: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

Recursive Neural Network

05/02/2023 9

Page 10: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

Context free grammar• 文脈自由文法

05/02/2023 10

Page 11: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

Context free grammar

05/02/2023 11

Page 12: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

Context free grammar

05/02/2023 12

P9~11 (https://www.jaist.ac.jp/~uehara/course/2009/ti118/11cfg-n.pdf)

Page 13: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

提案モデル(木の構造)• 各ノードにはタイプと、子ノードまたは

terminal value が存在– terminal: 何らかの値を持つ– non-terminal: 0 以上の子ノードを持つ

NT: タイプ T のノード05/02/2023 13

Type: terminalTerminal value

Type: non-terminal...child child

Page 14: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

提案モデル(木の構造)• T = terminal–取りうる値のリストを持ち、その中から値を

返す• T = non-terminal– NT は子ノードを持つことが可能

• Singular child– SINGULARCHILD(T, i) に含まれるタイプの子ノード– SINGULARCHILDCOUNT(T) 個の子ノード– (タイプ T ごとに取りうる子ノードの数が固定)

• Repeated children– 任意の数の REPEATEDCHILDREN に属するタイプの

子ノードを持つ05/02/2023 14

Page 15: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

提案モデル( Decoder )• GENERATENODE(T, h)–入力としてノードのタイプ T および

隠れ状態 h を与える– T = terminal• WHICHTERMINALVALUET(h)• 取りうる値に対する確率分布からサンプリング

された値を返す– T = non-terminal• タイプ T にしたがってノードとそのノードにおけ

る隠れ状態 h’ を出力

05/02/2023 15

Page 16: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

提案モデル( Encode )• ENCODE(n)– ノード n が与えられたとき、それ以下の

木構造を表現するベクトルを返す– T = terminal

• 入力として与えられた値 v についての k 次元ベクトル表現を返す

– T = non-terminal• T の子ノードについて ENCODE(ni) を出力

• 子ノードについて得られた ENCODE(ni) を統合

ENCODE(nroot) = hroot は木構造全体の情報を表す k 次元のベクトルを返す05/02/2023 16

Page 17: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

提案モデル• ニューラルネットワークによ

り、 ENCODE(n) および GENERATENODE(T, h) におけるベクトルを変換– SPLIT, MERGE, WHICH の 3 つの関数が存在– SPLIT, MERGE を合わせた COMBINE を置く

• SPLIT: • MERGE: • COMBINE:

–WHICH• K 次元の入力から d 次元の出力を得る

05/02/2023 17

Page 18: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

提案モデル(用いる関数)• 用いる関数– SPLIT

• SPLIT と SPLITREPEATED を統合–MERGE

• MERGE と MERGEREPEATED を統合–WHICH

• WHICHTERMINALVALUET(h)• WHICHCHILDTYPET,i(gi)• WHICHCHILDTYPET,repeated(gcur)

• その他– Gating と Layer Normalization を使用

05/02/2023 18

Page 19: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

実験• Type-aware sequential model• Synthetic arithmetic data• First-order logic proof of clause

05/02/2023 19

Page 20: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

Synthetic Arithmetic Data• Grammar– 2 種の non-terminal type• PLUS と MINUS が存在• それぞれ 2 つの子ノードが存在• 子ノードは PLUS, MINUS, NUMBER のいずれか

– 1 種の terminal type• NUMBER が存在• 0 から 9 までの値を取る

05/02/2023 20

Page 21: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

Synthetic Arithmetic Data• Data generation– Root ノードから terminal ノードまでの最大

の距離により深さを定義–和を定めた上で学習

–深くなると TreeVAE の尤度が Sequential model を上回る05/02/2023 21

Page 22: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

First-order Logic Proof• Grammar–各 literal には、下記のいずれかが含まれる• 一つの predicate

– 決められた数の argument を決定する name• 二つの expressions が等しいことを示す assert

– Expression は、 function, number, variable のいずれか

05/02/2023 22

Page 23: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

First-order Logic Proof• 結果

– Sequential model における対数尤度が提案手法をわずかに上回った

– Tree no VAE と比較して精度が向上した

05/02/2023 23

Page 24: [DL輪読会]TREE-STRUCTURED VARIATIONAL AUTOENCODER

結論・まとめ• 木構造のデータに対する VAE を提案• 精度は系列データとして扱った場合の

LSTM と同程度• 今後の課題–規模の大きなデータに適用するためには改善

が必要–対数尤度の値を改善する必要がある

05/02/2023 24