Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SYNTHETIC AND NATURAL NOISE BOTH BREAK NEURAL MACHINE TRANSLATION [ICLR, 2018] #6

Open
Sosuke115 opened this issue Aug 28, 2020 · 1 comment

Comments

@Sosuke115
Copy link
Owner

Sosuke115 commented Aug 28, 2020

論文リンク

https://arxiv.org/pdf/1711.02173.pdf

ひとことで言うと

文字ベースNMTにおいて人工ノイズの影響を調べた論文

概要

人間は例えば以下のような文字レベルのノイズがあっても文を解釈できる
Screen Shot 2020-10-23 at 15 49 44

しかし単語レベルのNMTはそのような文字レベルのノイズに対応できない(全てunseenになってしまうため)
→文字レベル・サブワードレベルでのNMTが登場
stem and 形態学的情報により、未知語や活用後を予測できる
しかしこれらの綺麗なデータで学習したモデルは広範囲なノイズには対応できない

En-De翻訳にて(1)ランダムシャッフル rand(2)隣り合う文字の入れ替え swap(3)人間がよく間違えるミス Natural
を割合を変えて入れてみた結果が以下のグラフである。

Screen Shot 2020-10-23 at 15 55 32

多少のノイズであっても精度がかなり下がっていることがわかる

本論文ではこれらの問題に対応するため、structure-invariant representationとノイズデータ学習する手法を提案した。
いろいろなノイズで学習したCNN表現は全てのノイズにロバストであることを示した。

実験モデル

以下の3つのモデルで実験
char2char: a sequence-to-sequence model with attention that is trained on characters to characters
Nematus: seqtoseq (subword)
charCNN: attentional sequence-to-sequence model with a word representation based on a character convolutional neural network

ノイズの種類

Natural ノイズ
コーパス内のすべての単語を、データセット内にエラーが存在する場合にエラーで置き換えることで、対訳で0たのソース側にこれらのエラーを挿入する。選択する可能性のある置換が複数ある場合は,一様に標本化する.誤りのない単語はそのまま保存される.

Syntheticノイズ
Swap 4文字以上の単語に対して最初と最後以外の文字で隣合う文字を入れ替える
Middle Random 4文字以上の単語に対して最初と最後以外全てシャッフル
Fully Random 全ての単語に対して全てシャッフル
Keyboard Typo ランダムに1文字選びキーボードで近い文字と置換

Screen Shot 2020-10-23 at 16 37 44

ノイズへの対応

Screen Shot 2020-10-23 at 16 54 14

STRUCTURE INVARIANT REPRESENTATIONS
文字表現の平均を単語ベクトルとして扱って単語レベルでのseq2seqモデルを利用する
(文字の入れ替えにロバストになる)
�NatやKeyにはあまり効かなかった

BLACK-BOX ADVERSARIAL TRAINING

Screen Shot 2020-10-23 at 17 01 14

ノイズデータを学習データとして学習する。
完全にクリーンデータをそのノイズデータに置き換えて学習
学習したノイズに対応するテストデータで良い精度を出す
複数ノイズで学習したモデルは、単種ノイズで学習したモデルの精度より個々のノイズに対する精度は弱い
が全体の平均としてはよくなる

ノイズ学習に関する分析

CNNのフィルターごとに異なるノイズを学習していることを検証

Future work

natural ノイズに強いMT
ノイズを知らないでもノイズに頑健なモデル

知見メモ

  • Nematus(seq2seqサブワードモデル)ではマルチノイズ学習での効果が示されていない
    →うまく行ってないのではないか。
    →CNNがあるからうまくいってる説

  • Moses tokenizerでトークナイズしている

  • ノイズ生成コードは公開されている(https://github.com/ybisk/charNMT- noise)

  • 関連研究等参考になる

  • スペルチェッカー等によるチェックでも精度はそんなに変わらない

  • どの程度の置換で精度を下げた→ルールに従って罹患できるものは置換している

関連記事

http://hihan.hatenablog.com/entry/2018/05/15/124528

関連論文

Training on Synthetic Noise Improves Robustness to Natural Noise in Machine Translation

Ensemble Adversarial Training: Attacks and Defenses

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant