はじめに
知識を得るために、この記事を書いてみた。背景
現在の深層ニューラルネットワークが直面する課題
上の図を見ればわかると思うが、簡潔に解説すると、物体を識別するために設計されたアルゴリズムは、テキストなどの別のモダリティ (modality)に直接適用できない。テキスなどを解析するために設計されたアルゴリズムは、物体の認識には直接適応できない。
そこで、Data2vecの誕生により、前述の問題を解消できる。
※モダリティ (modality)とは、話している内容や聞き手に対する話し手の判断や態度(attitude)に関する言語表現の概念体系である。例えば、「きっと雨が降るだろう」という文では、「雨が降る」ということに対する話し手の推測が「きっと~だろう」によって表されているので、この部分がモダリティ形式であるといえる。モダリティには「きっと~だろう」で表されるような事柄に対する対事モダリティと「おいしいね」「おもしろいよ」の「ね」や「よ」のような形式で表される聞き手に対する対人モダリティとがある。
「Data2vec」とは
Data2vecとは、Meta AIチームが開発した「画像、テキスト、音声」に関する自己監視型ディープラーニングのための統合フレームワークである。
Baevski氏らによれば、Data2vecでは、GoogleのAshish Vaswani氏らが2017年に開発したニューラルネットワーク「Transformer」を採用し、自己教師あり学習を用いて、同じ構造で、画像、音声、テキストのすべてを訓練できる。
No. | 特徴 |
---|---|
1 | ラベル付きデータに頼らず、与えられたデータの表現方法(画像、テキスト、音声)を予測する方法を学習することで、さまざまな種類のデータを扱うことを学ぶ。 |
2 | 画像が与えられた場合は次のピクセルを、音声の場合は次の発話を、文章の場合は単語を埋めることを推測しなければならないことを知っている。 |
Baevski氏らがData2vecに関する論文の執筆者。
論文詳細は「参考文献」まで
「Data2vec」における訓練の仕組み
下記の図は、Data2vecが異なるモダリティに対して同じ学習プロセスを踏む様子を示す。
(1)まず、学習タスクの入力例(教師側)の表現を生成する。
例えば、図の「Original」の入力データ「犬」を画像の表現、「発話」を音声の表現、「I like tea with milk」をテキストの表現でそれぞれ生成する。(2)次に、学習させるデータの一部を黒塗りにして伏せる作業を行わせる。
例えば、図の「Masked」の入力データは、それぞれの一部を黒塗りにしている。(3)生徒側が伏せられた部分を予測して埋める。
(4)(3)の作業を繰り返すことで自己学習を深めていく。
「Data2vec」の汎用性
Data2vecの誕生により、より一般的な教師あり学習への道が開かれ、モダリティを組み合わせて、複雑なテーマを学習するマルチタスクAIモデルを構築することが可能になると期待されている。さらに、将来的には、匂い、3Dオブジェクトなどの概念をモデル化するために、より広範囲のデータを取り込むことができる(Baevski,2022)。「Data2vec」を試してみた
モデル自体はdata2vecのREADMEに記載のリンクからダウンロードできる。
データセットや環境構築は時間がかかりそなので、今回は利便性と再現性のために、以下のツールで試してみた。
参考文献
1、Alexei Baevski, Wei-Ning Hsu, Qiantong Xu, Arun Babu, Jiatao Gu, Michael Auli, Data2vec: A General Framework for Self-supervised Learning in Speech, Vision and Language, arXiv - CS - Computation and Language, 2022
2、Alexei Baevski, Arun Babu, Wei-Ning Hsu, Michael Auli, Efficient Self-supervised Learning with Contextualized Target Representations for Vision, Speech and Language, arXiv - CS - Computation and Language, 2022