>100 Views
November 16, 18
スライド概要
2018/11/16
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Papers] GraphSeq2Seq: Graph-Sequence-to-Sequence for Neural Machine Translation Atsushi Kayama M3, Inc
書誌情報・概要 ❏ ICLR 2019 under double blind review ❏ GraphSeq2Seq モデルを提案 ❏ 単語間の依存関係グラフ構造を ecode した上で,Seq2Seqモデルで翻訳を行う ❏ グラフ構造の情報を用いることで翻訳タスクSoTAを達成 ❏ これまでも, 入力センテンスのグラフ構造を抽出して翻訳を行うモデルがいくつか提案されて いたが,従来の翻訳モデルと比べてパフォーマンスは低かった. ❏ 小規模対訳データセット IWSLT においてBLEUスコア SOTA ❏ En -> De :30.66pt ❏ De -> En: 27.32 pt
グラフ構造からSequence を生成する研究 ❏ 構文情報を活用した翻訳, ❏ ❏ Graph Convolutional Encoders for Syntax-aware Neural Machine Translation (2017) Graph-to-Sequence Learning using Gated Graph Neural Networks (2018) ❏ Abstract Meaning Representaion からのテキスト生成 ❏ A Graph-to-Sequence Model for AMR-to-Text Generation (2018) ❏ グラフ構造からの情報抽出 (最短経路抽出, SQLからの文章生成等) ❏ Graph2Seq: Graph to Sequence Learning with Attention-Based Neural Networks (2018) Bastings et al. (2017) Kun Xu et al. (2018)
GraphSeq2Seq モデル ❏ グラフ構造の情報を Seq2Seqモデルへの入力としたモデル ❏ 従来はノード毎のグラフ構造情報を平均したベクトル等をdecoder へ入力していた
モデル概要
sub graph encoder ❏ 各単語をノード,依存関係をエッジとした有向グラフを作成 ❏ spaCy : https://spacy.io/usage/linguistic-features を用いて英文の依存関係を解析 ❏ 各単語 Embedding をノードベクトル,依存関係を one hot なエッジベクトルとする e1 x1 x4 e3 e2 x2 x3
sub graph encoder ❏ Graph state LSTM を用いて各ノードの隠れ状態を再帰的に計算 ❏ ノードベクトル xi , エッジベクトル el に加えて,ノード n のサブグラフ g(n) に対して,入力ベク トル xinn , xoutn を定義 ❏ gin(n) :ノード n へ入力しているエッジと入力元ノードの集合 ❏ gout(n) :ノード n から出力しているエッジと出力先ノードの集合 x1 e1 x4 e3 e2 x2 x3
sub graph encoder ❏ Graph state LSTM を用いて各ノードの隠れ状態を再帰的に計算 ❏ ノードベクトル xi , エッジベクトル el に加えて,ノード n のサブグラフ g(n) に対して,入力ベク トル xinn , xoutn を定義 ❏ 各ノードへの入力,出力 隠れ状態 hinn(t) , houtn(t) も同様に定義 ❏ 各ノードの初期状態 h(0) はハイパーパラメータで初期化
sub graph encoder ❏ Graph state LSTM を用いて各ノードの隠れ状態を再帰的に計算 ❏ 各ノードに対して定義した xinn , xoutn , hinn(t) , houtn(t) を入力として,新たな隠れ状態 h(t) を それぞれのノードに対してLSTMを用いて計算 Gildea et al. (2018)
sub graph encoder ❏ LSTM t ステップ後の隠れ状態から,各ノードごとにグラフ情報を表現するベク トル rn を作成 ❏ t ステップ後の各ノード, サブグラフの隠れ状態ベクトル hinn(t) , houtn(t), h(t), と初期入力 xn の情報を保持したベクトル Hn を Concat してグラフ表現ベクトル rn を作成 Highway network (Srivastava et al., 2015),を用いて計算した各ノードの初期 入力 xn の情報を保持したベクトル
sub graph encoder ❏ LSTMのステップを重ねるほど,グラフ内で各ノードの情報が伝達され,生成 される各ノードの隠れ状態はグラフ全体の情報を含む ❏ 論文では デフォルト 9 ステップとした ❏ Highway ネットワークで入力単語 embedding の情報も考慮
モデル概要
双方向Encoder, Attention 付き Decoder ❏ 各単語のグラフ表現ベクトル rn を入力とした Seq2Seqモデル ❏ 特に工夫はなく従来通り r1 r4 r2 r3 r1 r2 r3 r4 Apple is looking at
双方向Encoder, Attention 付き Decoder ❏ 各単語のグラフ表現ベクトル rn を入力とした Seq2Seqモデル ❏ 特に工夫はなく従来通り ❏ rn に concat する前の hinn(t) , houtn(t), Hn それぞれを双方向Encoder に入れる亜種も検討 ❏ 3種類の encoder 隠れ状態をCocat したものを各単語の隠れ状態とする
実験 ❏ TED で作成された対訳データセット(IWSLT) で実験・評価 ❏ 比較的小規模なデータ(サイズ詳細は下記) ❏ 翻訳タスクでよく用いられる大規模データセットWMT’17 English-to-German は 5.9M対 ❏ IWSLT 2014 German-to-English, English-to-German ❏ train: 153K, valid: 7K, test: 7K ❏ IWSLT 2015 English-to-Vietnamese ❏ train: 13.3k, valid: 1.5k, 1.3k
実験 モデル設定 ❏ graph LSTM のステップ数 = 9 ❏ 隠れ状態次元数 = 300 ❏ 各エッジのラベルベクトル次元数 = 50 ❏ Sequence encoder : 1層双方向LSTM, decoder : 2層双方向LSTM, ❏ 隠れ状態次元数 = 500 ❏ Word Embedding : 学習済みWord2Vec 200次元ベクトル ❏ 学習詳細 ❏ dropout rate = 0.5 ❏ Adam init lr = 0.001 ❏ batch size = 32 ❏ beam size = 10
実験 IWSLT En->De, De->En ❏ 提案手法が最も高いBLEU スコアを示した ❏ BPE ではなく 単語毎の encoding で高いパフォーマンスを示している ❏ これまで SoTA であった NPMT に比べて学習収束までの時間が 1 / 8 になった. ❏ 他論文においては Transformer En->De : 25.4pt
実験 IWSLT En -> Vi ❏ より少ないデータセットに対しても提案手法が最も高いパフォーマンス ❏ これまで SoTA であった NPMT に比べて学習収束までの時間が 1 / 8 になった.
実験 モデルの要素検証 ❏ 単語の情報を伝える Highway layer の調整は重要 + 0.9pt ❏ 各ノードへの入・出力隠れ状態を足し合わせる重みの学習も重要 + 1~2pt
まとめ ❏ 依存関係グラフ構造をEncode し,Seq2Seqモデルで翻訳を行うことで,小規模 データセットに対して SoTA ❏ ❏ グラフの情報を用い,翻訳タスクにおいて精度を大きく向上 グラフ構造情報から直接 decode するのではなく Seq2Seqモデルの encoder 入力としたこと で高いパフォーマンスを示した ❏ より大きなデータセット (WMT等)に適用した際に,他のSoTAモデルに対してど れくらいのパフォーマンスを示せるかは不明 ❏ 付加的な情報を与えるEncoder として他のモデルで活用する方向もあるか ❏ 依存関係グラフを構築する解析器の性能も重要になりそう