😺

AI活用(マルチモーダルAI)で面白いものを調べてみた

2024/02/26に公開

今回はマルチモーダルAIを調べてみました。今まで概念的にはわかるんだけど、イマイチ面白いなと思う事例に出会ったことがなかったので、そういうものを調べて集めてみました。最後に実装方法についても簡単に触れていきます。

漫画の自動翻訳

はじめに、マルチモーダルAIを調べていて、以下の記事を読みました。

Multimodal Learning: Benefits & 3 Real-World Examples in 2024
https://research.aimultiple.com/multimodal-learning/

そもそもマルチモーダルって何?という疑問を持つかもしれないので記事を引用しながら簡単に解説します。この記事の定義としては、

Multimodal learning for AI is an emerging field that enables the AI/ML model to learn from and process multiple modes and types of data (image, text, audio, video) rather than just one.

と書かれてます。要は、1つのAIモデルで処理するのではなく、複数のAIモデルと複数のデータを処理する使い方です。だから「マルチ」。マルチモーダルではなく、ユニモーダル(ユニ=1つ)のAIの例としては、顔認証が挙げられています。一方でマルチモーダルの例としては、医師が診察する時にAIのサポートを受けて、過去の医療報告書、患者の症状、病歴など情報を複合的に判断方法が紹介されています。

マルチモーダルを活用することに、今まで以上に機能性が向上し、精度が向上するのですが、イメージとしては伝わりますか?このブログではイメージの理解でいいのですが、もう少し知りたければマルチモーダルAIで検索すると解説してくれるサイトは沢山あるので、一度見ていただければと思います。

さて記事に戻りますが、事例としては、3つ書かれていて、3つ目が面白いなと思ったので紹介します。上記の記事は英語の記事ですが、日本の東大の論文が紹介されていました。

Towards Fully Automated Manga Translation
https://arxiv.org/pdf/2012.14271.pdf

ここからは論文をかなり簡単にですが紹介していきます。

単なる翻訳はユニモーダルですが、漫画の翻訳はそんな簡単ではありません。漫画は絵と文字が一緒になっているので、まずは漫画自体を画像として読み込んで、それぞれのコマを認識して順番も把握する必要があります。みなさん無意識のうちにそうやって漫画を読んでますよね?

さらに1つのコマの中に「話すこと」や「考えること」を複数の吹き出しで表現することもあります。複数の吹き出しで1つのことを言っていることも多いです。加えて翻訳を考えると文の構造上、日本語と英語だと主語、述語の位置も異なります。

そのため、単に吹き出しごとに翻訳する(ユニモーダルで実行する)とうまくいきません。絵とコマを認識しつつ、シーンを解釈し、翻訳していく必要があります。

また、漫画の吹き出しでは主語も目的語も無いことがあります。目的語がなくても読み手はわかりますが、それは絵の情報で補完できるからです。ただ、英語に翻訳する場合、目的語が補完されるので(特に他動詞は英語的に自然にならないことが多い)、意味的に間違ってしまう(別の人を指してしまう)ことがあります。

それを防ぐためにコマごとの登場人物の特徴を捉える事例が紹介されています。例として書かれているのは「複数人の少女」、「制服を着ている」、「服はセーラー服」、「長い髪」、「髪型はツインテール・ショートカット」というような情報を抜き出してコマにタグをつけていきます。それらを加えてAIで解釈しつつ、翻訳を進めるという記事でした(論文にはもっといろいろ書かれています)。

ここからわかることは、1つのページであっても、漫画の場合いろいろな情報を持っていて、それらを総合的に解釈して私たちは読んでいるんだなということです。AIでそれを再現するのは難しいのでマルチモーダルになるんだなと思いました。

OCRの認識

次はOCRについてです。OCRの認識っていうと昔からある話なのでイマサラ感がありますが、一歩踏み込んでいるのでなるほどなと思いました。1つ目の東大とは全然違う業界ですが、

DOCLLM: A LAYOUT-AWARE GENERATIVE LANGUAGE MODEL FOR MULTIMODAL DOCUMENT UNDERSTANDING
https://arxiv.org/pdf/2401.00908.pdf

これは、JPMorgan AI Researchのメンバーが書いたものです。アプローチとしては漫画の翻訳に似ていて、例えば請求書などを読み込むときに内容をブロック化します。そのままだと解釈できないのでブロックごとの意味づけ、依存関係をつけていきます。論文では空間情報と書かれていますが、要するに記載されている座標情報も解析のために使っていくイメージです。

こうして見てみると、人間は文字情報だけでなく、他の情報もかなりの部分で補っていると思います。漫画であれば絵が補完してくれますし、請求書であれば書かれている位置でどういう情報なのかがなんとなくわかった前提で文字を読んでいます。こんな感じでマルチモーダルを見てみると、今現在のAIで実現できそうなことがイメージできますよね。

それでは他の例も見ていきます。

有害情報のフィルタリング

この記事はMeta社(Facebook)のものです。

Multimodal generative AI systems
https://ai.meta.com/tools/system-cards/multimodal-generative-ai-systems/

サングラスで有名なRay -Banが開発したスマートグラス(要はカメラ付きサングラス)の記事です。
https://www.meta.com/jp/smart-glasses/

個人的に好きなCasey Neistatが2年前くらいに動画を出していて、知っていましたので、あーあれかって感じでした。やれることはそれほど多くはないですが、レンズが付いているので、「Hey Meta」と言いながら見ているものを聞けたりします。Googleレンズとほぼ一緒で、それがサングラスに付いている感じです。

ただ、記事を見て興味を持ったのが、2番目処理される「Safety mechanisms」の起動です。内容としてはそこまで難しいものでは無いですが、有害や不適切なコンテンツでないか、Meta社のガイドラインに照らしてチェックされます。まーそういうことやってるんじゃない?って思いますが、こういう動きはいろいろと応用も効きそうです。

マルチモーダルの事例を調べていると医療分野での活用もよく出てきます。その際にはいろいろなチェック機構が必要でしょうし、この事例のようにMeta社のガイドラインのようなものを適用してミスも減らせると思います。いろいろな会社にはそれぞれガイドやルールがあるでしょうし、その適用をフレームワーク化できれば活用の幅はかなりありそうです。

金融系分野適用のワークショップ

次は、去年にアメリカのワシントンDCで行われた金融向けワークショップの内容です。

The AAAI-2023 Workshop On Multimodal AI For Financial Forecasting
https://muffin-aaai23.github.io/shared_task.html

2つのタスクが記載されています。

Task-1: Financial Prediction From Conference Call Videos

まずは1つ目です。金融市況の方向性を予測するにはいくつかの重要な指標があります。例えば、インフレ指数、雇用統計、物価指数、金利などです。これらの指標は各国の中央銀行が発表することが多いです。

このタスクでは、これらの発表の裏に潜むものを解析し、「T 日後の株式市場指数、金、為替レート、債券価格のボラティリティと価格変動を予測すること」を目的としています。T日後というのは金融ではよく使う表現ですが、何日後と読み替えてください。

まず、このタスクではこれらの内容を探るために、2009-2022年までに公開されたアメリカ、カナダ、EU、イギリス、ニュージーランド、南アフリカの主要英語圏の中央銀行の動画を使用して分析します。分析方法としては、実際に発表されたテキスト内容に加え、動画残されている発表者の「目の動き」、「表情」、「姿勢」、「歩き方」、「言語の複雑さ」、「声の調子」、「表情」などを非構造化データとして分析に加えます。これらを分析することで、発表している内容の裏側に潜む、言葉にはできない感情を拾っていくというタスクでした。

ここまで読んでみて、かなり恐ろしいレベルでマルチモーダルAIが使われていると思います。人間の深層心理に潜む内容を読み取って真実を把握するのですから。。。応用方法はいくらでもありそうな気はしますが、AIの議論に倫理の話がよく出てくるのもわかる内容ですね。

詳しくはこちらを参照してください。
MONOPOLY: Financial Prediction from MONetary POLicY Conference Videos Using Multimodal Cues
https://dl.acm.org/doi/abs/10.1145/3503161.3548380

Task-2: Cryptocurrency Bubble Detection On Social Media

次に2つ目です。こちらの方は仮想通貨のバブルを検知するための方法です。あまり考えたことはなかったですが仮想通貨は、株式のように実態価値に重きを置いているタイプとは対照的に、ユーザー心理やソーシャルメディアの利用と強く結びついているそうです。確かに言われてみると、株式の場合、相場の状況も意識しますしバブルはありますが、個々の企業の実態を把握して投資判断をすると思います。一方で仮想通貨の場合そういう実態情報はないので、ユーザー心理やソーシャルメディアの内容に大きく依存しそうです。

このタスクではそういう危険性から守ることを目的にしていて、上位 9 つの仮想通貨取引所から、最も取引されている 50 の仮想通貨のデータセットを、5年分のデータを使用して解析しています。1つ目の方は少し恐怖を覚えるようなタスクでしたが、こちらの方もなかなか恐ろしいと思います。ソーシャルメディアと仮想通貨の変動がリンクできることがわかってしまえば、意図的にそこを変動させることすらできるかもしれません。もちろんそういうことを防止することを念頭に置いた研究だとも思いますが、一歩間違えばバブルを誘発・崩壊させて社会が混乱してしまいます。

研究論文はこちらになりますので、詳しくは参照してください。
https://aclanthology.org/2022.naacl-main.405.pdf

マルチモーダルのフレームワーク

さて、マルチモーダルを考える上で、どういう実装方法があるのかも調べて見ました。以下の論文では「2.5. Multimodal ML Available Frameworks」のところでフレームワークが紹介されています。(マルチモーダルを網羅的に論じられている2023年3月のものなので、外観を掴むにはオススメだと思います。難しい論文だと翻訳がうまく機能しませんが、この論文は比較的読みやすいので、Google Chromeの翻訳でもかなり対応できます)

https://www.mdpi.com/2079-9292/12/7/1558
・MMF (a framework for multimodal AI models)
・TinyM2Net (a flexible system, algorithm co-designed multimodal learning framework for tiny devices)
・A Unified Deep Learning Framework for Multimodal Multi-Dimensional Data
・HAIM (unified Holistic AI in Medicine)
・ML4VocalDelivery
・Specific Knowledge Oriented Graph (SKOG)

全部を見るのは厳しいので1つ目だけ見てみました。Facebook ResearchがGithub上に公開していました。
https://github.com/facebookresearch/mmf

このテックブログを書いている時点では、
・Python 3.7 以降
・PyTorch 1.6
・conda 環境
で動作するようです。

他にもマルチモーダルを実装できそうな環境がないか調べてみましたが、以前紹介した「LangChain」
https://zenn.dev/muit_techblog/articles/d0241be6f1305f

でも実装できそうです。

こちらはYoutubeの解説ですが、1:30くらいからウォークスルーで解説されています。
https://www.youtube.com/watch?v=6D9mpFCPeI8

まとめ

今回はマルチモーダルをテーマに調べてみて、面白かった実例などをピックアップしました。どうでしょうか?こんな使い方もあるのかぁって思ってもらえると嬉しいです。

ちなみに私の調査方法なんですが、Googleで論文検索しています。はじめはChatGPTに聞いてみたりしていたのですが、あまりいい回答が得られません。最近思うのですが、一般的な内容+αまでの調査だったりするとChatGPTは使えるのですが、かなり突っ込んだ内容を調べると全然役に立たないと思っています。プロンプトで工夫するよりも、自分で論文タイトル見て、中身をつまみ読みする方が全然早いんですよね。。。私の使い方が悪いのかもしれないのですが、もっとこうやって調べたらいいんじゃない?ってやり方を知っている方は教えてください。

あと、論文を見ていくとなると結局全部英語になってしまうんですよね。それも辛いところです。英語は得意ではないのでスピード重視で翻訳をかけてしまいますが、よくわからない部分は日本語と英語を見比べていってます。ただ、読みやすい英語って翻訳もうまくいくのですが、難しい英語は翻訳がメチャメチャになりがちです。知りたいところこそ時間がかかるのが最近の悩みです。それではまた。

Discussion