メインコンテンツへスキップ
見出し画像

書記が数学やるだけ#885 GNMT(Google Neural Machine Translation)

    自然言語処理のニューラルネットワークモデルの復習として,GNMT(Google Neural Machine Translation)の構造を見ていく。


    問題

    画像


    説明

    GNMT(Google Neural Machine Translation)は、Googleが開発した大規模なニューラル機械翻訳モデルであり,エンコーダ・デコーダ構造にLSTMとアテンション機構を組み合わせており,従来のフレーズベースの翻訳モデルよりも自然で正確な翻訳を実現した。

    エンコーダでは,スタックされたLSTM層(第1層のみ双方向LSTM)を使って,入力文を隠れ状態の系列に変換する。デコーダも複数層のLSTMであり,アテンション機構を用いながら1単語ずつ翻訳文を生成する。

    さらにGNMTは,残差接続(residual connection),Beam Searchによるデコーディングなどを導入しており,翻訳品質を高めるために,サブワード分割(BPE),長さの正規化(length normalization),カバレッジペナルティ(coverage penalty)といった工夫も行っている。

    Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation [Yonghui Wu, last: Jeffrey Dean, arXiv, 2016/09]

    画像


    解答

    まずエンコーダの工夫について。エンコーダの第1層では双方向接続の構造をとっており,これにより前後の文脈を加味できるようにする。


    画像


    次にデコーダの工夫について。Residual connection(残差接続)とは,ある層の入力を出力に足すという仕組み(右図)であり,これによって深いニューラルネットでも学習が安定しやすくなり,勾配消失を防ぐことができる。

    画像


    Residual connectionの仕組みについて,ResNetが有名である。

    画像


    Beam Search(ビーム探索)は、翻訳のときに最も確率が高い複数の候補を残して次に進む方法であり,1つだけを選ぶ貪欲法よりもより良い翻訳が得られる。

    画像


    スコア関数の補正について。Length Normalizationは、文が短いとスコアが高くなりやすい問題を防ぐために、文の長さに応じて翻訳スコアを調整する方法である(式lp(Y))。また,Coverage Penaltyは、翻訳時に入力文の一部を無視するのを防ぐために導入される罰則である。

    画像


    Subwordは、単語をより小さい単位(例:plaing→「play」+「ing」)に分けたものであり,GNMTでは未知語や珍しい単語に対応するために単語を分割してよくあるパターンで扱えるようにする。


    本記事のもくじはこちら:


    あなたへのおすすめ