UNSUPERVISED MACHINE TRANSLATION USING MONOLINGUAL CORPORA ONLY (論文メモ)
論文*1についてのメモや翻訳を残しておく。
Abstract
この論文は、教師あり機械翻訳で使う対訳コーパスを用いずにsingle parallel(monolingual)なコーパスを用いて機械翻訳機の学習を行う。
(原文)
We propose a model that takes sentences from monolingual corpora in two different languages and maps them into the same latent space.
(訳)
monolingualな文章を翻訳し、ターゲット文を元のソース文に再翻訳するという逆翻訳(back-translation)の事かな?
データセットはMulti30kとWMT English-French*2を使用している。
Multi30k*3
- 画像とその画像についての説明がセットになったもの。
- 説明が英語しかなかったので、それをドイツ語に翻訳した。
- Translation(31,014 pairs)とIndependent descriptions(155,070 pairs)に分かれている。
BLEUスコアは32.8(Multi30k)と15.1(WMT)
Introduction&Training
(原文)
The key idea is to build a common latent space between the two languages (or domains) and to learn to translate by reconstructing in both domains according to two principles.
(訳)
重要なアイデアは、2つの言語(またはドメイン)の間に共通の潜在的なスペースを構築し、2つの原則に従って両方のドメインで再構築することによって翻訳することを学ぶことです。
2つの原則
1つ目
(原文)
(i) the model has to be able to reconstruct a sentence in a given language from a noisy version of it, as in standard denoising auto-encoders (Vincent et al., 2008).
(訳)
(i) モデルは、標準的な雑音除去自動エンコーダ(Vincent et al。、2008)のように、雑音の多いバージョンから与えられた言語の文を(雑音のない文に)再構成できる必要があります。
2つ目
(原文)
(ii) The model also learns to reconstruct any source sentence given a noisy translation of the same sentence in the target domain, and vice versa.
(訳)
(ii) モデルはまた、ターゲットドメイン内で同じセンテンスの雑音のある変換を与えられたソース文を再構成することを学習し、逆もまた同様である。
正直読んだだけだと何のことかわらないが、画像が載せられていた。 左が1つ目の原則で右は2つ目だと解釈した。 2つの言語を別々に学習し(ノイズあり->ノイズなし)、そこで作られる潜在空間(latent space)を共有させるように学習していく。その学習済みモデルを使い(例: 日 -> 英(疑似ターゲット))、back-translation(逆翻訳)を行う(例: 日 -> 英(疑似ターゲット) -> 日(逆翻訳後のソース文))。逆翻訳後のソース文とソース文の誤差が最小になるように学習していく。 上の学習モデルがノイズ除去、下がback-trasnlation(逆翻訳)。 下のモデル(M)はノイズ除去を表している。
CourseraのMachine Learning(機械学習)の講義内容まとめ [Week 2]
Week 1では、線形回帰、目的関数、最急降下法の説明をしていた。Week 2では、さらにこれを深く掘り下げて説明されていました。
Linear Regression with multiple variables
複数の特徴を持つ教師データで線形回帰を行う方法を説明していく。
Multiple Features
Week 1では、仮説関数としてが使われていた。なぜなら、教師データとして与えられていたものにはパラメータ2つ(家の大きさ、値段)しかなかったためだ。では、ここに家の築年数、場所などのパラメータを追加したとき仮説関数は
このようになる。
画像: Coursera Machine Learning 画像: Coursera Machine Learning
また、便宜上これから現れる式は行列が用いられる。 画像: Coursera Machine Learning
Gradient descent for multiple variables
Week 1では、2つのパラメータ時の最急降下法を説明した。今回はより多くのパラメータではどのような挙動をするかを説明していく。といってもやることはさほど変わらない。
画像からもわかるとおり、それぞれのに対して同時に処理を行うだけだ。
Normal equation (正規方程式)
最急降下法以外で、最適解を求める方法が正規方程式です。
これは、ループをすることなく直接θを求めることが可能です。こちらのほうが良いと思われたかと思いますが欠点があります。
- Xのサイズが大きい場合にものすごく時間かかる。
サイズが100万以下なら使って問題ないそうです。
CourseraのMachine Learning(機械学習)の講義内容まとめ [Week 1]
自分は今、某大学院で翻訳システムの研究を行っています。しかし、学部4年の12月に機械学習系の研究室に移ったのですが、それまでに機械学習の勉強を全くしておりません。なので、何か良い教材はないかと探していたら友人がCourseraのMachine Learningコースを勧めてきたので、試しに受けてみたらとてもわかりやすく修了するまでやることを決意したので、アウトプットのため講義のまとめを残すことにします。
Introduction
イントロダクションでは機械学習入門としして、機械学習は大きく分けて2つに分かれることとそれぞれの説明がありました。
- 教師あり学習 (Supervised Learning)
- 線形回帰 (linear regression)
- ロジスティック回帰 (logistic regression)
- ニューラルネットワーク (neural networks)
- SVM (Support Vector Machine)
- 教師なし学習 (Unsupervised learning)
- K-mearnsクラスタリング
- 主成分分析
教師あり学習とは、予め答えが用意されたデータ(例えば、家のサイズと値段)などを用いる学習。Week 1では、家の大きさから値段を予測する問題が例として挙げられていた。 Coursera Machine Learning
線形回帰 (Linear regression)
線形回帰は教師あり学習の一つである。教師あり学習なので与えられるデータは答えがある。例として家のサイズから値段を予測する問題を考える。この問題に線形回帰を用いる理由は予測する値段が連続する値だからです。これがもし患者のデータから癌であるか否かを予測する問題の場合、予測する値は"である"か"でない"(1 or 0)となるのでクラスタリングが用いられるでしょう。
では、実際に先に述べた問題を考えてみましょう。 まずこの先必要となっていく用語、各種記号についてまとめまておきます。
- m: 教師データ(トレーニングデータ)のデータ数を表します。
- x: 入力データを表します。
- y: 出力データを表します。
- θ: 仮説関数の係数を表します。
- : 仮説関数を表します。
- : 目的関数を表します。
今回の問題の目的は家の大きさを入力データとして、家の値段を出力してくれる関数を求めることです。その関数を求めるのが目的関数(cost function)です。 画像: Coursera Machine Learning
目的関数 (cost function)
目的関数とはのθを求めてくれる関数です。今回求める関数(仮説関数)は大きさ(x)と値段(y)としたとき
という関数が考えられます。この関数をどれだけトレーニングデータに合わせるかを求める関数が目的関数となります。合わせるというのはトレーニングデータと関数の差が一番小さくなることです。
なので、目的関数は
となる。をかける意味は後で微分をするので、計算しやすくするためである。定数倍しても答えには何ら問題ない。 画像: Coursera Machine Learning
最急降下法 (Gradient Descent)
目的関数の式の形は決まったが、実際にどのようにθを求めていくかはわからない。その時に最適解を求める一つの手法として最急降下法がある。
求めるθをどのようにしたら、計算量を少なく最適解に導くかということである。式は単純で目的関数の微分ずつ引いていきそれを更新していくだけだ。
- α: 学習率(learning rate)を表す。
αは大きすぎると上記の画像の下のグラフのように永遠に最小値を見つける事ができるなくなるため、小さい値を選ぶようにする。
また、最急降下法には問題点があります。 画像: Coursera Machine Learning
目的関数が上記の画像のようになっていた場合に局所的な最小値は求まるが、全体の最小値にたどり着かない場合がある。