Upload
deeplearningjp2016
View
54
Download
0
Embed Size (px)
Citation preview
Tree-Structured Variational Autoencoder
16/12/16野中 尚輝
Richard Shin, Alexander A. Alemi, Geoffrey Irving, Oriol Vinyals
目次• 書誌情報• イントロダクション• モデル• 実験• 過去のモデルとの比較• 結論・まとめ
05/02/2023 2
書誌情報
• ICLR 2017 (Submitted)– UC Berkeley– Google Research, Google Brain,
Google DeepMind
05/02/2023 3
背景• 深層生成モデルが大きな成果を出している– VAE や GAN など–解析的に求めることのできない複雑な同時分布
をニューラルネットワークにより近似–画像、文章、音声などの生成において成果を
出している↓
• 木構造のデータに適用したい– Computer grammar や自然言語は木構造で
表現できる05/02/2023 4
背景• 木構造データは系列データとして扱い、
系列モデルを用いることも可能
• 木構造を考慮したモデルの方が、長い依存関係を捉えることができる可能性がある–系列データでは距離があっても木構造では
近い場合もある
05/02/2023 5
背景• 木構造に含まれる各ノードの identity を
決定する分散表現を親ノードに対する相対位置と分散表現の関数として計算
↓• 木構造の様々な特徴を潜在空間で学習し、
top-down Recursive NN に入力として与え、生成を行う
05/02/2023 6
関連研究• 木構造のニューラルネットワーク– Bottom up と Top down の二種類が存在
• Variational Autoencoder
05/02/2023 7
Recursive Neural Network
05/02/2023 8
http://www.iro.umontreal.ca/~bengioy/talks/gss2012-YB6-NLP-recursive.pdf
Recursive Neural Network
05/02/2023 9
Context free grammar• 文脈自由文法
05/02/2023 10
Context free grammar
05/02/2023 11
Context free grammar
05/02/2023 12
P9~11 (https://www.jaist.ac.jp/~uehara/course/2009/ti118/11cfg-n.pdf)
提案モデル(木の構造)• 各ノードにはタイプと、子ノードまたは
terminal value が存在– terminal: 何らかの値を持つ– non-terminal: 0 以上の子ノードを持つ
NT: タイプ T のノード05/02/2023 13
Type: terminalTerminal value
Type: non-terminal...child child
提案モデル(木の構造)• T = terminal–取りうる値のリストを持ち、その中から値を
返す• T = non-terminal– NT は子ノードを持つことが可能
• Singular child– SINGULARCHILD(T, i) に含まれるタイプの子ノード– SINGULARCHILDCOUNT(T) 個の子ノード– (タイプ T ごとに取りうる子ノードの数が固定)
• Repeated children– 任意の数の REPEATEDCHILDREN に属するタイプの
子ノードを持つ05/02/2023 14
提案モデル( Decoder )• GENERATENODE(T, h)–入力としてノードのタイプ T および
隠れ状態 h を与える– T = terminal• WHICHTERMINALVALUET(h)• 取りうる値に対する確率分布からサンプリング
された値を返す– T = non-terminal• タイプ T にしたがってノードとそのノードにおけ
る隠れ状態 h’ を出力
05/02/2023 15
提案モデル( Encode )• ENCODE(n)– ノード n が与えられたとき、それ以下の
木構造を表現するベクトルを返す– T = terminal
• 入力として与えられた値 v についての k 次元ベクトル表現を返す
– T = non-terminal• T の子ノードについて ENCODE(ni) を出力
• 子ノードについて得られた ENCODE(ni) を統合
ENCODE(nroot) = hroot は木構造全体の情報を表す k 次元のベクトルを返す05/02/2023 16
提案モデル• ニューラルネットワークによ
り、 ENCODE(n) および GENERATENODE(T, h) におけるベクトルを変換– SPLIT, MERGE, WHICH の 3 つの関数が存在– SPLIT, MERGE を合わせた COMBINE を置く
• SPLIT: • MERGE: • COMBINE:
–WHICH• K 次元の入力から d 次元の出力を得る
05/02/2023 17
提案モデル(用いる関数)• 用いる関数– SPLIT
• SPLIT と SPLITREPEATED を統合–MERGE
• MERGE と MERGEREPEATED を統合–WHICH
• WHICHTERMINALVALUET(h)• WHICHCHILDTYPET,i(gi)• WHICHCHILDTYPET,repeated(gcur)
• その他– Gating と Layer Normalization を使用
05/02/2023 18
実験• Type-aware sequential model• Synthetic arithmetic data• First-order logic proof of clause
05/02/2023 19
Synthetic Arithmetic Data• Grammar– 2 種の non-terminal type• PLUS と MINUS が存在• それぞれ 2 つの子ノードが存在• 子ノードは PLUS, MINUS, NUMBER のいずれか
– 1 種の terminal type• NUMBER が存在• 0 から 9 までの値を取る
05/02/2023 20
Synthetic Arithmetic Data• Data generation– Root ノードから terminal ノードまでの最大
の距離により深さを定義–和を定めた上で学習
–深くなると TreeVAE の尤度が Sequential model を上回る05/02/2023 21
First-order Logic Proof• Grammar–各 literal には、下記のいずれかが含まれる• 一つの predicate
– 決められた数の argument を決定する name• 二つの expressions が等しいことを示す assert
– Expression は、 function, number, variable のいずれか
05/02/2023 22
First-order Logic Proof• 結果
– Sequential model における対数尤度が提案手法をわずかに上回った
– Tree no VAE と比較して精度が向上した
05/02/2023 23
結論・まとめ• 木構造のデータに対する VAE を提案• 精度は系列データとして扱った場合の
LSTM と同程度• 今後の課題–規模の大きなデータに適用するためには改善
が必要–対数尤度の値を改善する必要がある
05/02/2023 24