Hatena::ブログ(Diary)

shi3zの長文日記 RSSフィード Twitter

2016-11-12

Google翻訳の精度がニューラル・ネットワーク導入で劇的に向上!これはすごい 05:50

 タイムラインがざわついていた。

 ついにGoogle翻訳の英日翻訳にもニューラルネットが採用されたらしい。

 https://translate.google.co.jp/#au


 さっそく、いつものMoon speechを訳してみる

原文

We choose to go to the moon. We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win, and the others, too.


 まず、従来のGoogle翻訳で訳すとこうなる

従来のGoogle翻訳

私たちは月に行くことを選択します。私たちは、その挑戦が1であるため、その目標は、私たちのエネルギーやスキルの最高のを整理し、測定するために役立つので、彼らは簡単ですが、彼らは困難であるためではないので、この10年で月に行くと他のことを行うことを選択します私たちも、私たちが延期に消極的である1つ、そして我々は勝つつもり1、および他の人を受け入れて喜んでであること。


 何言ってんだこいつ、という感じ。

 叙情的なスピーチは翻訳するのが難しいんです。

 これを新しくニューラル・ネットワーク翻訳で訳すとこんな感じ

新しいGoogle翻訳

私たちは月に行くことを選択します。 私たちはこの10年間で月に行くことを選択し、他のことをやっています。なぜなら、それは簡単だからではなく、難しいからです。その目標は、私たちのエネルギーとスキルを最大限に体系化し、 我々が受け入れる意思がある、私たちが延期したくない、そして勝つつもりである、そして他の人たちも。


 すごい。

 日本語として多少変だけど、従来の翻訳とは雲泥の差を見せています。これだけ難しい文章をあるていどちゃんと訳せているというのは驚きです。


 せっかくなので有名なコピペも試してみましょう。

Yesterday, I went to a nearby Yoshinoya. Yoshinoya.

Then some people are so messed up that I can not sit down.

So, if you look closely, something is going down, the 150 yen discount is written, and so on.

Already with Ahka. With a fool.

You guys, I did not come to Yoshinoya, which I did not normally come by as much as 150 yen off, there is a blur.

It's 150 yen, 150 yen.

Somehow there are parents and children. Yoshinoya with four family members. Congratulations.

I'm telling you that I'm asking for Yoshi Papa Karimori. I can not see it anymore.

You guys, since I will make 150 yen, leave that seat.

Yoshinoya should not be killed more.

It is not amusing to quarrely start fighting with a guy sitting opposite the U-shaped table,

Does it get stabbed or stabbed, does not it make such an atmosphere? Female Children should be squatting.

So, if I thought that I could sit at the end, the next guy said that he was Takaya Takayuki.

So again I am stout.

Well, it is not fashionable today. A blur.

What is it, with a touch of good looking face.

I would like to ask if you really want to eat tsuyu. I want to question. I would like to ask about a small hour.

I guess you just want to tell a piece of soup.

As you can say from me in Yoshinoya dori, the latest epidemic between Yoshinoya Dori is still there,

Negative, this is it.

Large popularity lettuce. This is how to ask Tsutomu.

There are a lot of onions onions. Instead, we have less meat. this.

And it is a great gyeoku (egg) on ​​it. This is the strongest.

However, it is also a sword of swords accompanied by the danger of asking this and marking the shop clerk next.

I can not recommend it for amateurs.

Well you guys Da Amito said you should also eat settle with beef salmon.


 すごすぎない?

 これ吉野家コピペだよ

 忘れた人のために原文

昨日、近所の吉野家行ったんです。吉野家。

そしたらなんか人がめちゃくちゃいっぱいで座れないんです。

で、よく見たらなんか垂れ幕下がってて、150円引き、とか書いてあるんです。

もうね、アホかと。馬鹿かと。

お前らな、150円引き如きで普段来てない吉野家に来てんじゃねーよ、ボケが。

150円だよ、150円。

なんか親子連れとかもいるし。一家4人で吉野家か。おめでてーな。

よーしパパ特盛頼んじゃうぞー、とか言ってるの。もう見てらんない。

お前らな、150円やるからその席空けろと。

吉野家ってのはな、もっと殺伐としてるべきなんだよ。

Uの字テーブルの向かいに座った奴といつ喧嘩が始まってもおかしくない、

刺すか刺されるか、そんな雰囲気がいいんじゃねーか。女子供は、すっこんでろ。

で、やっと座れたかと思ったら、隣の奴が、大盛つゆだくで、とか言ってるんです。

そこでまたぶち切れですよ。

あのな、つゆだくなんてきょうび流行んねーんだよ。ボケが。

得意げな顔して何が、つゆだくで、だ。

お前は本当につゆだくを食いたいのかと問いたい。問い詰めたい。小1時間問い詰めたい。

お前、つゆだくって言いたいだけちゃうんかと。

吉野家通の俺から言わせてもらえば今、吉野家通の間での最新流行はやっぱり、

ねぎだく、これだね。

大盛りねぎだくギョク。これが通の頼み方。

ねぎだくってのはねぎが多めに入ってる。そん代わり肉が少なめ。これ。

で、それに大盛りギョク(玉子)。これ最強。

しかしこれを頼むと次から店員にマークされるという危険も伴う、諸刃の剣。

素人にはお薦め出来ない。

まあお前らド素人は、牛鮭定食でも食ってなさいってこった。



 「大盛りギョク(玉子)これ最強。」が「And it is a great gyeoku (egg) on ​​it. This is the strongest.」と訳されている。すごすぎる。


 ボケが「blur」と訳されているのもなんか面白い。そういう意味じゃないんだけど伝わりそうで笑える。

 「おめでてえな」が「Congratulations」になっとる。


 誤訳は吉野家を知らないと翻訳できない「よーしパパ特盛頼んじゃうぞー」が「Yoshi Papa Karimori.」になったり、「隣の奴が、大盛つゆだくで、とか言ってるんです」が「the next guy said that he was Takaya Takayuki.」と、「おいおいタカヤタカユキってだれだよ」とツッコまざるを得ませんがそれでもこの精度、すごくない?


 歌もやってみましょう。もちろん名曲「We are the world

私たちがあるコールに耳を傾ける時が来ます

世界がひとつにならなければならない時

人々が死んでいる

人生に手を貸す時です

すべての最大の贈り物

私たちは毎日ふりをすることができません

誰かがすぐにどこかに変更を加えるだろう

私たちは皆神の偉大な大家族の一員です

そして真実は、あなたが知っている、

愛は私たちが必要とするすべてであります

[コーラス:]

私たちは世界です、私たちは子供たちです

私たちはより明るい日を作る人です

さあ始めましょう

私たちが作っている選択肢があります

私たちは自分の命を救っている

本当に良い一日を過ごすことは間違いありません

あなたと私だけ

 詩の翻訳は本来とても難しい仕事です。

 しかしかなり正確に意味を捉えているのに驚きます。

 微妙なニュアンスは違いますが、人間が少し手を加えるだけで完璧な訳にできるのは驚きですね。


 もっと沢山学習すればもっと沢山のことができるようになるし、アルゴリズムは徐々に改善されていくので将来的にはもっと精度があがるでしょう。


 画像認識以外の成果としてはとてもわかりやすい精度向上ですね。



 ちなみに自動翻訳でよくやるあそび、日本語→英語→日本語をやってみました。

 桃太郎の場合

かつてある場所に老人と老婆が住んでいました。祖父は山に行って茂みを掃除し、老婆は洗濯のために川に行きました。

老婦人がそれを洗うと、大きな桃が上流からトンボに流れ込んできた。

私が桃で家に帰ったとき、山から帰ってきた祖父と食べようとすると、赤ちゃんの赤ちゃんが二人に分かれて出てきました。

子供がいない私の祖父と祖母は桃太郎と名づけてとても喜んでくれました。

大人になった桃太郎は悪鬼を征服するために大金島へ行くようになり、古いひな祭りの餃子を作った。

鬼ヶ島に向かう途中、犬が出てきます。「ワンショット」サイキビ餃子。一緒に続けましょう。次回はサルが来て、「私にもう一度カニの餃子をくれて」と言った。今回はキジバエが来ました。

3匹の犬、猿、キジが桃太郎の召使になり、船に乗り、鬼ヶ島に向かった。

鬼ヶ島で酒を飲んでいた悪霊には、犬が刺され、サルの傷がついていて、キジがついた。

桃太郎は悪魔の将軍をバーで追い払った。 "もう悪くはしないでください。" "私はもうそれをやりません"。

悪魔が車を積んで、꿩がロープを引っ張って、猿が押し戻され、悪魔が悪いことをした宝物を扱った後で家に帰った


 「ワンショット」と言う犬の台詞がファンキーでイイですね。

 ほかにも

久しぶりに、漁師の浦島太郎が釣りに行って、子供たちが海岸で虫を弄っていた。浦島太郎は亀を助け、海に戻しました。

その後、亀は援助を受けて宮城竜に案内されたので、浦島太郎に言った、背中に乗ってください。

竜城に着いたときは美しい場所でした。乙女さまは美しい姫さまがおいしいお祭りをしました。

漁師達もダンスを披露し、とても楽しい日々が続き、3年も経っていない。

浦島太郎はすぐに家に帰ることにしました。 Otome ___ SAFETOKEN ___ SAFETOKEN ___ 0 ___ SAFETOKEN ___ 0 ___ SAFETOKEN ___ SAFETOKEN ___ 0浦島太郎が帰ってくると、周囲の様子が完全に変わった。誰が海岸にいるのか分からない人。

浦島太郎は、浦島さんが竜口を逃して、乙女姫が開くことができないと言ったボールケースを開いた。白い煙が箱の中から浮かび上がって、浦島太郎は白髪と白いひげの老人になった。


 __SAFETOKEN__はなにかのバグでしょう。でも意味はとれますね。驚きです。

 ちなみにむかしのgoogle翻訳だとこうなります

むかしむかし、太郎浦島という名前の漁師であり、釣りに出かけ、ビーチでの子供たちが亀をいじめていました。太郎浦島は亀を助け、それが槍が海に起因しました。

その後、私はあなたの助けと引き換えに宮城竜に案内するようにしたいのでカメは、私は喜ばせるために言ったと太郎浦島は彼の背中に乗って。

私はドラゴンの宮殿に到着したとき、それはそれは美しいです、非常に美しい姫その乙姫様で、おいしいごちそうをしました。

魚たちはすぐに私が合格した3年間、日々の非常に楽しいが継続し、誇示するためにも私を踊ります。

太郎浦島は、すぐに返すことにしました。乙姫は太郎浦島のように、私たちは、宝箱を渡すと、言った、 "このボックスは開けてはいけません。」。太郎浦島は、振り返ってみるとき、あたりは完全に変わったのか。でもビーチにいる人を知らない人だけ。

 こっちも捨てがたいですね。特にドラゴンの宮殿あたりがワクワクします

  

 arxivにあった最新の深層強化学習論文のabstractを訳してみました。これならサマリーとして使えそうです

深い強化学習(深いRL)は、洗練された行動を自動的に学習するのに成功しています。しかし、学習プロセスには膨大な試行が必要です。これとは対照的に、動物は世界についての以前の知識から恩恵を受け、わずかな試行で新しい仕事を習得することができます。このペーパーは、このギャップを埋めようとしています。 「高速」強化学習アルゴリズムを設計するのではなく、それをリカレントニューラルネットワーク(RNN)として表現し、それをデータから学習することを提案します。提案された方法RL2では、アルゴリズムはRNNの重みに符号化され、RNNは汎用(「遅い」)RLアルゴリズムによってゆっくり学習される。 RNNは、観察、行動、報酬、および終了フラグを含む典型的なRLアルゴリズムが受け取るすべての情報を受信する。それは所与のマルコフ決定プロセス(MDP)においてエピソード全体にわたってその状態を保持する。 RNNの活性化は、現在の(以前は見えなかった)MDP上の "高速" RLアルゴリズムの状態を記憶する。我々は、RL2を小規模問題と大規模問題の両方について実験的に評価する。小規模な面では、無作為に生成された複数武装の禁止問題と有限のMDPを解決するように訓練します。 RL2が訓練された後、新しいMDPでの性能は、最適性が保証された人間が設計したアルゴリズムに近くなります。大規模な側面では、RL2をビジョンベースのナビゲーションタスクでテストし、高次元の問題までスケールアップすることを示します。

https://arxiv.org/pdf/1611.02779.pdf

なんかのフィルタを使って、ですますだけでも修正したらもっと使えるかも

もういっちょ

シーケンスモデルは、監視学習と次のステップの予測目的を使用して訓練することができます。しかしながら、このアプローチは既知の故障モードに悩まされている。例えば、多段階で生成された配列が一貫性のあるグローバル構造を有することを保証することは非常に困難である。適切な報酬関数を選択することにより、強化学習(RL)が生成されたデータに任意の特性を課すことができるという事実に基づいて、本稿では、ML(Maximum Likelihood)とRL訓練を組み合わせた新しいシーケンス訓練手法を提案する。我々は、データから学んだ良い予測特性を維持しながら、いくつかの報酬関数を最適化することによってシーケンス予測子を改良する。我々は、クロスエントロピー報酬による深いQ-learningを増強し、確率的最適制御(SOC)からRNNsのための新しいオフ・ポリシー法を導くことによって、これを解決する効率的な方法を提案する。我々は、音楽制作の文脈における我々のアプローチの有用性を探る。 LSTMは、音楽の大部分のコーパスで訓練され、音楽シーケンスの次の音符を予測します。このNote-RNNはRLを使用して精緻化され、ここで報酬関数は音楽理論のルールに基づく報酬の組み合わせであり、別の訓練されたNote-RNNの出力である。 MLとRLを組み合わせることにより、このRLチューナー方法は、より楽しいメロディーを生み出すだけでなく、不要なRNNの動作や故障モードを大幅に削減できることを示しています。

https://arxiv.org/pdf/1611.02796.pdf


 んー、チュートリアルはどうだろう

CNTK 203:強化学習の基礎

強化学習(RL)は、ソフトウェアエージェントが累積的な報酬の概念を最大限にするために環境内で行動を起こさなければならないことに関わる、行動主義者の心理学に触発された機械学習の領域です。機械学習では、このコンテキストのための多くの強化学習アルゴリズムが動的プログラミング技術を利用するので、環境は一般にマルコフ決定プロセス(MDP)として定式化される。

一部の機械学習設定では、ラベルにすぐにアクセスすることができないため、教師なし学習に頼ることはできません。しかし、我々が以前に行った行動が良いかどうかにかかわらず、私たちがやりとりすることができる何らかのフィードバックがある場合は、RLを使って行動を改善する方法を学ぶことができます。

教師あり学習とは異なり、RLでは、ラベル付けされた正しい入出力ペアは決して提示されず、準最適なアクションは決して明示的には訂正されない。これは、(以前には学習されなかった条件や行動の)探索と(既に学習された条件や過去の遭遇からの行動の)習得との間のバランスを見つけることを含むオンライン学習のパラダイムの多くを模倣する。マルチアームの積荷問題は、探査と開発のトレードオフが完全に研究されたRLアルゴリズムのカテゴリの1つです。参考までに下の図を参照してください。

(中略)

問題

私たちは、OpenAIのジムシミュレータのCartPole環境を使って、ポールのバランスをとるカートを教えます。上のリンクで説明したように、CartPoleの例では、ポールは非作動関節によって摩擦のない軌道に沿って移動するカートに取り付けられています。システムは、カートに+1または-1の力を加えることによって制御される。ポールが直立したままのタイムステップごとに+1の報酬が与えられます。エピソードは、ポールが垂直から15度を超えると終了するか、またはカートが中心から2.4ユニット以上移動すると終了します。参考までに下の図を参照してください。

ゴール我々の目標は、ポールを起立状態(カートに垂直)で始動状態としてカートが移動するときに、ポールが転倒するのを防ぐことです。より具体的には、ポールが垂直から15度未満であり、カートがセンターの2.4単位内にある場合、報酬を集める。このチュートリアルでは、過去50回分の平均報酬が200以上になるアクション(ポリシー)のセットを学ぶまでトレーニングを行います。

RLの用語では、いくつかの環境(この場合は極がカート上でバランスが取られている)とのやりとりを通じて報酬$ r $(フィードバック)を最大化するポリシー$ a $を見つけることが目標です。そこで、$$ s \ xrightarrow {a} r、s '$$という一連の経験を与えられて、与えられた状態$ s $での行動$ a $を選択して、時間の経過とともに蓄積された報酬$ r $を最大にする方法を学ぶことができます。 $ \ begin {align}

Q(s、a)& = r_0 + \ gamma r_1 + \ gamma ^ 2 r_2 + \ ldots \ newline

& = r_0 + \ gamma \ max_a Q ^ *(s '、a)

\ end {align} $$ここで、[0,1] $の$ \ gamma \は報酬をどれくらいの価値があるかを調整する割引率です。これは$ Bellmann $方程式と呼ばれます。

このチュートリアルでは、状態空間をモデル化する方法、受け取った報酬を使って将来の最高報酬をもたらす行動を把握する方法を示します。

ここでは2つの異なるアプローチを紹介します。

https://github.com/Microsoft/CNTK/blob/v2.0.beta2.0/bindings/python/tutorials/CNTK_203_Reinforcement_Learning_Basics.ipynb

 誰も訳さないであろうCNTKの深層強化学習チュートリアルの冒頭。読める。これなら読めなくはない。

 数式とかもそのうちいい感じにやってくれるのがでるだろう。

 これは捗るなあ