Re:ゼロから始めるML生活

どちらかといえばエミリア派です

Transformer周りを勉強するときの情報源のメモ

自然言語処理の世界から登場したTransformerですが、最近では自然言語処理以外のところでも使用されるようになっていると個人的に感じています。 そんなTransformerですが、細かいところをあんまり知らなかったのでチョットずつ勉強してました。

Transformerやその周辺に関しては、すでに多くの方が解説記事を書かれているのでそちらを参照すればよいのですが、なにぶん内容が複雑なのでわかりやすい記事がどれなのかを特定するのが大変でした。

今回は、勉強がてらいろんな記事を見たので、その中でTransformerをあまり詳しくない人が勉強するときの情報源をメモしていきます。

Transformer

元論文

とりあえず元論文はこちらです。

arxiv.org

解説記事

個人的に、こちらの記事はイラストで直感的に説明されているため、数ある解説記事の中でもかなりわかりやすい記事だと思います。

tips-memo.com

実装解説

上の記事で、Transformerの動作の概要を理解したら、次は実際に実装していくことを考えます。

こちらは英語ですが、論文に沿ってPytorchを使用した実装の解説記事になります。

nlp.seas.harvard.edu

自然言語処理の研究における歴史的位置づけ

歴史的背景を知っておくと理解が進むことがあり、自然言語処理の歴史を学ぶときはこちらの記事がわかりやすかったです。

aru47.hatenablog.com

data-analytics.fun

書籍

書籍で学ぼうとした際には、おそらくこちらの書籍が該当するかと思います。

上の実装解説が英語でどうしても嫌だという人はこちらの書籍で学ぶのもひとつの手段かと思います。 こちらの書籍には、Transformer以外の内容も書かれていますし、損はしないかと思います。

周辺

画像×Transformer

すでにTransformerはNLPだけでなく、画像に対しても有効性が確認され始めているようです。

openreview.net

日本語でも解説記事が書かれています。

qiita.com

時系列×Transformer

Transformerのモデルを使用して、時系列予測を行った研究も行われています。 自然言語も系列データではありますが、言語でない系列データに適用した例も登場してきています。

arxiv.org

arxiv.org

音声×Transformer

音声も系列データですから、Transformerが使用されるケースがあるようです。 まずはこちら。

arxiv.org

こちらは、2019年時点で多くのベンチマークでTransformerを使用したモデルとstate-of-the-artを比較した論文。 この時点で、だいたいTransformerを使ったケースのほうが優れているという結果ですね。

arxiv.org

その他、実際にコンペでも使用され、優勝したモデルもあるそうです。

engineering.linecorp.com

感想

自分の調査のメモなんで特に感想はありませんが、NLPである無しに関係なく「とりあえずTransformer使ってやってみるか」って雰囲気はありますね。 モデルを考えるときには、Transformerを使うことが有望な選択肢になる時代になってきたんでしょうね。