したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

NN系機械翻訳の調査

1karino2:2017/02/26(日) 12:07:16
Google Translateの論文を眺めていたら意外と読めそうだったので、関連する文献から真面目に見てみよう、と思い立つ。
少し調べてみると日本語のブログも結構あって、Google Translateに限らずNN機械翻訳全般で必要な事を学んでいく方が良さそう、と思い、そういう趣旨のスレを建てる事に。

2karino2:2017/02/26(日) 12:13:42
最初にして最終目標はこれ。

https://arxiv.org/abs/1609.08144
Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation


ざっと眺めた所、


1. Neural Machine Translationというのが基礎
2. attentionという改善を組み込むのが大きなステップだった
3. 使ってる要素技術としてはLSTMとTensorflow


という感じ。1だけ真面目に見ればどうにかなりそうかな、と思った。
でもその前に関連しそうな日本語ブログとかも眺めてみる。

3karino2:2017/02/26(日) 12:17:08
twitterで流れてきたのがこちら

http://deeplearning.hatenablog.com/entry/neural_machine_translation_theory
【前編】深層学習による自然言語処理 - ニューラル機械翻訳への理論 -

中編はChainer実装で後編が結果の分析的な内容っぽい。前編だけで良さそう。

で、なんとなく眺めているとRNNくらいまではまぁいいか、という気になる。
HMMとかこの前までPGMで散々やってた身としてはだいたい想像はつくので。
BPTTという計算手法がありこれは重要そうだけど、まぁなんかのアルゴリズムで計算出来るって事か、で先に進む。

で、LSTMあたりで良く分からなくなったので、リンクをたどる事にする。

4karino2:2017/02/26(日) 12:36:12
RNNの言語モデルのブログ記事へのリンクがあったので見てみる。

http://kiyukuta.github.io/2013/12/09/mlac2013_day9_recurrent_neural_network_language_model.html
これもある意味Deep Learning,Recurrent Neural Network Language Modelの話 [MLAC2013_9日目]

N-gramとかはトピックモデルでやったので前置き3はだいたい分かる。
前置き2のWord Embeddingsがもうちょっと良く知っておいた方が良さそうだな、と思う所。
word2vecとかの話でも似たようなの聞いたが、単純な単語をベクトル化するのではなく、似た物をそばに置くように学習する、という話。
間に行列を挟んでその行列をうまい事学習させると、ある程度単語が固まったような辞書が出来るのだろう。イメージは湧く。
これを次に調べよう、と心のスタックに積んで先に進む。

肝心のRNNLMの所が式がTeXの生テキストになってて心の中でコンパイルするのが辛い。
ただ上の図と式だけでだいたい意味は分かるので、まぁいいか。

さて、これは何か、というと、2-gramっぽいが、一つ前の単語の代わりに一つ前のhidden unitを使う訳だな。
こうする事で、これまでの記憶がなんとなく入る、という事になる。
このhidden unitが更新されていく事でなんとなく文脈的な系列が出来るのだと思うが、、、そんなうまく行くの?というのが率直な感想。
このhidden unitがどういう感じか、まったく想像出来ないな。

Analysisの先の文献にあたるのが良いかもな。
ただ、このブログは分かりやすいね。だいたい何をしているかは理解。

5karino2:2017/02/26(日) 12:47:04
Word Embeddingsを学ぶのは何を読むのか、良く分からない。
とりあえず先のブログでWord Embeddingsを学習する方法として参照されていた論文を眺めてみる。

http://machinelearning.wustl.edu/mlpapers/paper_files/BengioDVJ03.pdf
A Neural Probabilistic Language Model

6karino2:2017/02/26(日) 20:31:55
2のA Neural Modelを見てるが開幕から良く分からない。
nがunboundな気がするが、このnとはなんぞや?
右辺は厳密な言語モデルに見えるが、なんでそれがnグラム的な物で表現出来るのか。

7karino2:2017/02/27(月) 00:10:23
2を一通り理解。

式(1)は理解。本当に単なる行列の演算だね。
で、普通にここから尤度を微分して最尤法でパラメータを解く。
うへぇ、ちょー簡単。

で、単純に最適化の結果として行列Cが得られる。
これでdistributed featureとやらがいい感じになる、というのは驚きだなぁ。

3から先はまぁいいでしょう、という事でResultとFuture workだけ眺めて終わりとする。

この論文は素晴らしいね。
ニューラルネットで翻訳を扱う時のスタート地点だろう。

8karino2:2017/02/27(月) 00:21:55
次はLSTMについて軽く見ておくか。
以前軽く勉強した事があるが忘れたので、もう一回見直すくらいで。
まずこのブログを読んでみる。

http://colah.github.io/posts/2015-08-Understanding-LSTMs/

9karino2:2017/02/27(月) 01:27:05
ざっと読んだ。学習の事とか無いが、だいたい想像はつくしいいか。
2TBNを展開してDBNを解釈する練習を結構やった後なので、以前読んだ時よりは理解度が上がっているなぁ。

この辺の実際の計算は今はそんなに興味が無いので、必要になったら真面目に追う事にして今は先に進む。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板