視覚と自然言語の融合研究
視覚と自然言語の融合研究日本語での表記は複数存在し、「視覚と自然言語の融合研究」、「視覚と言語の融合研究」、「画像と自然言語処理の融合研究」、「CVとNLPの融合研究」などの他に"Vision and Language"と英語のままで呼ばれることもある。(Vision and Language"Vision and Language"の他に"Language and Vision"など表記に揺らぎはある。)とは、コンピュータビジョンと自然言語処理を融合した研究分野である。画像や動画からのキャプション生成、画像や動画を対象とした質問応答(VQA)などのタスクが含まれる。
1960年代からヒューマン・ロボット・コラボレーションの分野を中心に初期の研究が始められており、1990年代ごろから画像検索、2000年代から画像キャプション生成の研究も始められた。2010年代に深層学習の適用によってコンピュータビジョンと自然言語処理が大きく発展したことに伴い、融合研究も発展を遂げている。多くの研究が行われている一方で、データセットバイアスなどの研究課題も残されている。
視覚と自然言語の融合研究は、コンピュータビジョンと自然言語処理を融合した研究分野である。2つの分野は独立して研究されてきたが、視覚と自然言語を組み合わせることにより、ヒューマンコンピュータインタラクション、視覚障害者の支援、ヒューマン・ロボット・コラボレーション、自動運転、ナビゲーション、画像検索といった分野への応用が期待されることもあり、融合研究が注目されるようになった。
コンピュータビジョンは、コンピュータにや動画の内容を理解させる分野である。主なタスクとしては画像分類や物体検出などが含まれる。敵対的生成ネットワーク(GAN)などによる画像生成が含まれる場合もある。
自然言語処理は、人間が使用する言語(自然言語)をコンピュータに処理させる分野である。主なタスクとしては情報検索、質問応答、機械翻訳などが含まれる。
1968年から始められたSHRDLUというプロジェクトが、視覚と自然言語の融合における最初期の研究のひとつとされている。SHRDLUは人間が自然言語で指示をすることで、コンピュータ内の仮想空間の積み木を操作できるコンピュータプログラムである。これ以降の視覚と自然言語の融合研究では、ロボットを自然言語による対話で操作するという分野が多く研究されてきた。
画像検索も視覚と自然言語の融合研究における最初期のタスクのひとつである。従来は画像に人間がつけたキャプションを利用していたが、1990年代から画像の視覚情報も用いて検索を行う研究が行われるようになった。
画像キャプション生成は2000年代ごろから研究が行われており、主にテンプレートを用いた手法が提案されていた。テンプレートを用いて文章を生成するためにSIFT特徴量やHOG特徴量などの局所画像特徴量に対してサポートベクターマシン(SVM)などの分類器を適用するなどの手法が提案された。
2010年代の深層学習の適用によって、画像と自然言語処理の融合分野も大きな発展を遂げた。VQA(2014年)未知の物体なども対象とした(open-world)手法として初めて提案されたのがMalinowski et al. (2014)である。、マルチモーダル機械翻訳(2016年)、Visual Dialog(2017年)、視覚と言語を用いたナビゲーション(2017年)といったタスクの研究も2010年代に始まった。
深層学習が適用されるようになってからは、主に畳み込みニューラルネットワーク(CNN)を用いて画像や動画の特徴量を、回帰型ニューラルネットワーク(RNN)を用いて自然言語の特徴量を抽出して、2種類の特徴量を統合する手法が研究されてきた。2019年からはTransformerという共通のモデルを用いる手法が研究されている。
視覚と自然言語の融合研究の手法について、視覚情報や自然言語の特徴量を得る機構などには共通点が多く、2018年ごろまでの多くの手法は、(1)視覚情報処理、(2)自然言語処理、(3)二つの情報の統合を行う3個のサブシステムを持っていた。
視覚情報処理には、かつてはSIFTなどの局所画像特徴量が用いられていたが、深層学習が適用され始めてからは主にCNNが使用されてきた。2017年まではCNNが出力する特徴量をそのまま利用するモデルが多かったが、バウンディングボックスやグラフ構造を中間表現として利用する研究も行われるようになった。
自然言語処理には単語ベクトルが使われることが多かったが、深層学習が適用され始めてからは主にRNNで得られる文章全体の特徴量が使用されてきた。
これらの手法によって得られた画像や動画と自然言語の情報を統合するための手法は、タスクごとに様々なものが利用されている。CNNやRNNから得られた特徴量ベクトルを統合する最も単純な方法は、二つのベクトルを連結したりアダマール積をとることである。より高度な手法として、注意機構(Attention)という手法を適用して、画像や自然言語からそれぞれのクエリに対して重要な情報を自動的に選択して利用することが提案されている。
事前学習とは、機械学習のモデルを大規模なデータセットで学習することで、さまざまなタスクに用いることができる特徴量を抽出できるモデルを学習する手法である。大規模なデータセットで事前学習を行ったのちに、比較的小規模のデータセットを用いて個別のタスクにチューニングを行うことで、高い性能を持つモデルを学習できることが知られている。コンピュータビジョンにおいてはCNNをImageNetなどの大規模なデーセットで事前学習することは広く行われてきたが、RNNを用いた自然言語処理で事前学習を行うことは少なかった自然言語処理分野においては、単語ベクトルを事前学習することは広く研究されてきた。。2017年に発表された自然言語処理の新しいモデルであるTransformerに対して事前学習を行う手法が2018年に提案され、自然言語処理においても文章全体について事前学習を行う研究が行われるようになった(BERTなど)。2018年には動画にTransformerを適用する研究が提案され、2020年には画像にTransformerを適用する研究も始められた(Vision Transformer)。
視覚と自然言語の融合研究においても、2019年からTransformerを用いて画像・動画と自然言語の事前学習を同時に行う研究が行われている。
視覚と自然言語の融合研究のタスクには共通点があるが、タスクごとに異なる手法が研究されている。ここでは主なタスクの手法と評価手法を紹介する。
研究が始められた2000年代ごろには主にテンプレートを用いた手法が提案されていた。テンプレートを用いて文章を生成するためにSIFT特徴量やHOG特徴量などの局所画像特徴量に対してSVMなどの分類器を適用するなどの手法が提案された。
深層学習を用いた手法が発展した2010年代には、CNNとRNNを用いる方法が一般的になった。さまざまなモデルが提案されているが、単純かつ一般的に使用されている手法としては教師あり学習を用いたエンコーダ・デコーダモデルがある。これは、CNNを用いて画像特徴量を抽出して、画像特徴量をRNNに入力してキャプションを生成するという手法である。2019年には画像と自然言語の両方にTransformerを使用する手法も提案されている。
主に使用されているのは、生成された説明とデータセットに含まれる説明の類似度による評価である。BLEU (評価指標)、ROUGE、METEOR (評価指標)といった機械翻訳などの自然言語処理タスクで使用されている評価基準が使われている。
2014年に研究が始められた当初の手法は、あらかじめ定義された形式の回答に限定されたものだったが、2015年には回答の形式を限定しないような質問にも対応できるモデルが提案された。2015年に提案されたモデルのひとつは、CNNで抽出された画像の特徴量ベクトルと質問文章の単語ベクトルの両方をエンコーダのRNN(LSTM)に入力することで特徴量を統合し、デコーダのRNNで回答を生成する手法である。同時期には、特徴量の統合の方法を変更したり、注意機構(Attention)の適用や、データベースを利用する方法など、様々な手法が提案されている。2019年には自然言語処理にTransformerを使用するモデルや、Transformerを用いて画像と自然言語の特徴量を統合的に事前学習する手法が提案されている。
VQAの回答は画像キャプションなどよりは短いことが多いため、単純な評価手法が使用されることが多いが、高度な評価手法も研究されている。単純な手法のひとつは、生成された回答とデータセットに含まれる回答が厳密に一致しているかを評価することである。高度な手法としては、回答の意味の類似度を評価する手法が研究されている。
さまざまな種類のクエリに対する画像検索が研究されているが、文章か画像をクエリとする研究が多く研究されている。
文章をクエリとする検索について、2019年でもウェブ検索では人間がつけたキャプションなどの自然言語の情報を利用しているとされている。キャプションがない画像も検索するために、画像キャプション生成などを用いて自動的にアノテーションを行う手法を適用することが研究されている。
人間がつけたキャプションなどを利用しない方法として、1990年代から画像をクエリとして類似する画像を検索する研究が行なわれている。画像をクエリとした画像検索は、画像から特徴量を抽出して類似度を評価することで行なわれる。初期の研究として色、形、質感などを特徴量として使用する方法が研究されてきたが、それだけでは画像が表す意味の類似性を比較することができないことが課題だった。そのため、深層学習が適用される以前から、画像全体の意味も表すような特徴量も併用する試みが研究されてきた。深層学習を使用した方法も数多く提案されており、CNNを利用して画像検索に有用な特徴量を抽出する研究が行なわれている。
画像検索には情報検索の評価手法が用いられる。評価手法として様々なものがあり、想定される適用先などによって使い分けることが求められる。広く用いられているのは適合率と再現率、およびF値である。ここで、検索結果の上位k個の画像を「検出された」と判定するとする。また、評価の際には、検出されるべき正解の画像(複数の場合もある)が分かっているとする。下式のように、適合率(P)は検出された画像の中で、正解の画像(tp)の割合で表される(fpは誤って検出された画像の数)。再現率(R)は検出されるべき正解の画像の中で、実際に検出された画像(tp)の割合で表される(fnは正解の画像だが、検出されなかった画像の数)。
\mathsf{P} = \frac{tp}{tp+fp}, \mathsf{R} = \frac{tp}{tp+fn}
F値は適合率と再現率の調和平均で求められる。
2016年からGANを応用した手法が提案されていたが、文章で条件付けしない通常の画像生成と比較すると、生成される画像の質が低かった。画像の質を高めるために複数のGANを使用したり、文章全体の意味を画像に反映するために注意機構(Attention)を使用する研究が提案された。
GANなどのコンピュータビジョンにおける画像生成タスクで使用される評価指標が使われている。Inception Scoreという指標を用いて画像の質や多様性を評価できるが、Inception Scoreでは文章に対応した画像を生成できているかを評価することができないので、R-Precisionという指標も併用される。
大規模なデータセットを用いて学習することは、深層学習モデルの汎化性能を高める重要な要素のひとつである。視覚と自然言語の融合研究においても大規模なデータセットは重要な役割を果たしており、モデルの学習と評価に不可欠な存在である。写真の共有サイトであるFlickrなどから提供される画像データとクラウドソーシングによるアノテーションによって、大規模なデータセットを作ることが可能になった。このような既存の画像を収集するだけではなく、データセットのために作成されることもある。
さまざまなデータセットが提案されているが、データセットのサイズ(含まれる画像や文章の数)、画像の質や多様性、文章の長さ、文章に含まれる単語や構文の多様性、アノテーションの豊富さなどの異なる性質を持っており、それぞれのデータセットに利点と欠点がある。
本節では主なデータセットを紹介するサーベイ論文で挙げられているデータセットを中心に取り上げる。。
データセットには画像と説明文が含まれるが、データセットによってデータの数や質、収集方法などが異なる。
異なる特徴を持ったさまざまなデータセットが提案されている。実世界の画像を用いたデータセットが良く使われているが、画像認識の能力ではなく意味を理解できているかの評価に注目するために、クリップアートで作成された絵を用いたデータセットも提案されている。初期のデータセットは画像中の情報を理解できれば質問に答えられるものであったが、2015年に発表されたKB-VQAというデータセットなどは、画像中の情報だけでは質問に正しく回答することはできず、外部データベースの知識を用いることが求められる。2017年に発表されたVisual Genomeというデータセットでは、画像のシーングラフ(物体をノード、物体同士の関係(位置関係など)をエッジとするグラフ)が与えられている。
データセットバイアスとは、機械学習モデルの学習に使用したときに誤った結論を導く可能性がある、データセットの偏りのことである。例えば、画像データセットを用いて「自動車」を認識する機械学習モデルを学習するときに、ImageNetというデータセットでは「自動車」というラベルにスポーツカーを多く含むため、自家用車の検出性能が低くなってしまうという問題が起こることがある。逆に、学習データとテストデータは多くの場合は同じ条件で集められているため、学習データを記憶するだけでテストデータにも対応できてしまい、実際の性能よりも高く評価されてしまうという問題が起こることもある。
データセットバイアスはコンピュータビジョンや自然言語処理のそれぞれの分野でも問題となるが、両方の分野を対象とする融合研究ではより深刻な影響を受けるとされている。一例として、VQAのデータセットにおいて、質問に対する回答に偏りがあると画像を使わなくても一定の精度を達成できてしまうことが知られている。例えばデータセットに「画像中に〜がありますか」という形式の質問が複数あり、答えとして「はい」が多いという偏りがあるとする。機械学習モデルは画像の内容を確認して答えることが期待されるが、自然言語の質問だけを見て「画像中に〜がありますか」という形式の質問には常に「はい」と答えるように学習をされてしまうことが起こり得る。
解決方法としてデータセットからバイアスを取り除く方法が研究されているが、大規模なデータセットにおいてあらゆる要素のバイアスを取り除くことは不可能に近く、未解決の問題とされている。
評価手法はコンピュータビジョンと自然言語処理の各分野においても課題のひとつであるが、融合研究においてはさらに大きな問題となっているとされている。特に自然言語生成に関係するタスクにおける評価は難しいとされる。例えば画像キャプション生成において「男性が木の横を歩いている」と「男が木のそばを散歩している」という二つの文章はほとんど同じ意味を表しているが、自動的に類似度の評価を行うことは難しい。また、VQAにおいて「鳥」という答えが正解とされている問題に対して、「鷹」という答えが正しいのかどうかを自動的に評価することは難しい。
評価手法を改善する研究は行われているが、未解決の問題となっている。