ViLBERT
この論文は、
- ジョージア工科大学
- Facebook AI
- オレゴン州立大学
が著者になっている論文です。(私の叔父がジョージア州に住んでいて、叔父の友人でジョージア工科大学OBの達と食事に行ったことがありますが、みなさん聡明で技術力の高い方が勢揃いで楽しかった思い出があります。)
実装も、事前学習済みモデルも公開されていました
pre-trainは英語で行われているため、日本語をそのまま使うことはできないので自前データを使って手元で動作検証する際は工夫が必要です。
論文内では
このFig.4のようなことが、ViLBERTを用いることでできるタスクらしいです
- VQA、VCR:画像に関する自然言語の質問に答える
- Referring Expressions:文章に合致しそうな被写体の検出
- Caption-Based Image Retrieval:文章と画像の合致度を比較する
どれも面白いタスクですね!
より人間の感覚に近い質問の方法で画像を探したりもできそうな気がします
「街中で大きなプラモデルが写っている」
とかで、ガンダムの実寸台展示の写真とかが探せるんだろうなぁ
公開されているコードを実際に動作させるための環境構築はちょっと骨が折れましたが、なんとか自前で学習回すことができるようにはなって嬉しい今日この頃です。
データ用意
一方で、このようなモデルを学習させられるようなデータが蓄積しているのはかなり珍しいんじゃないかなとも思います
原則、画像 + テキストのペアのデータセットが必要なので この組み合わせのデータが大量に蓄積しているのはかなりレアでしょう。
しかし、逆にそのようなデータが集まっているとこのような一般的な機械学習とは一風違った面白い実験ができます。実証実験(PoC、概念検証)からスタートすることもできるので、お気軽にお問い合わせいただければと思います。
ちなみに、日本語での公開データセットでは stair captionsというMS COCOの日本語キャプション版を千葉工業大学の研究室の方々が作成してくださっています。 こちらでモデルを学習させるのを試してみるとかも選択肢にはなり得ますね。
おまけ
どうやらこの分野で、大規模データをpre-trainしてfine tuningするというモデルのデファクトスタンダードはViLBERTなのかなぁという印象を持っています。
例えば12-in-1: Multi-Task Vision and Language Representation Learningも、ViLBERTを改善してより便利に使えるための研究なので、自然言語処理でいうところのBERTみたいなのかもしれませんね。
また、InterBERTというモデルも提案されています。
こちらはアリババグループの公開している論文で、画像と自然言語のembedderのストリームが前半から繋がっているモデルです。ViLBERTは、それぞれのストリームがある程度の長さあるのですが、interBERTでは入力に近いところから繋がっています。
またhard negativeを用いた学習も論文内で提案されていました。
hard negative自体はわりと前からあったそうですが、VL Taskで導入したのはかなり早い段階だったのかと思います。
(ViLBERTもhard negativeに関する言及がありますが、ViLBERTの論文はなどか書き直されているので最初からhard negativeを導入していたかは確認できませんでした。知っている方いたらコメントで教えてください)
愛媛大学で開催されたセミナーにて
2021年8月24日(火)16:30~18:00 に愛媛大学で開催された第10回愛媛大学DS研究セミナーに参加してきました。 https://www.cdse.ehime-u.ac.jp/
牛久 祥孝さんをお招きして、「マルチモーダル理解~Vision and Languageとその先へ」というテーマで貴重なお話をたくさん聞けました。
私は最近このVision and Languageに関する論文調査をし始めたばかりだったので、近年の手法ばかり目にしていたのですが、このセミナーで歴史的な背景から学び直すことができました。
さらに、質疑応答の時間で
「英語pre trainモデルが大半を占めている中で、日本語で利用する際にどのような選択肢があるのでしょうか」と質問しました。
質問前に僕が思いついていたのは
- 日本語でデータを集めて日本語で学習を回す
- 日本語のデータを英訳して学習を回す
の2つだったのですが、先生の回答では
「英語で学習し獲得した表現は日本語でも再利用できるかもしれない」というものです。 このアイデアはメジャー言語で学習した自然誤処理モデルをマイナー言語に転用する際に利用されるテクニックとしてこれまでもあったそうで、それをVision and Languageでも利用できる可能性があるということです。
これはぜひ、実験でどの程度利用できるか試してみたいですね。
ちょうど、メジャー言語のマイナー言語の潜在空間を近づける研究をしている方がインターンで来てくれているので、教えを乞いたいと思います。
Ryu Ishibashi
機械学習/Vue/React/Laravelとかやってます