自然言語で対話的に画像を編集する | 知能コミュニケーション研究室

知能コミュニケーション研究室助教の品川政太朗です。知能コミュニケーション研究室では、音声機械翻訳や対話システムなど、人と人、人と機械のコミュニケーションを支援する技術についての研究を進めています。コミュニケーションを重視しているということで、話し言葉を中心とした音声処理や言語処理、表情や身振り手振りなどのパラ言語情報を扱うための画像処理など、さまざまな情報処理を扱っています。

私が注目しているのは、言葉を使って、機械が人間とコミュニケーションをとりながら問題を解決するような課題です。現在は特に新しい画像の生成を行う対話システムの研究に取り組んでいます。画像生成は、近年著しく技術が進歩している技術です。広告やイラストの作成には高い技術が求められる上に、非常に手間がかかります。このような画像を自動的に生成できれば(または、実際に商用利用できる程でないにしろ、そこそこ良い画像を思い通りに生成できるようになれば)広告やイラストなど、画像の作成を専門にしている方が補助的に利用したり、画像を作成する技術がなくても、自分の欲しい画像の大まかなイメージを専門家に伝えたりなどして、コミュニケーションの齟齬を減らすことが可能だと考えています。よりイメージしやすい身近な例としては、探し人や探し物がある場合に、言葉で伝えるよりも画像を共有しながらお互いが頭で考えているイメージを擦り合わせていくことで、探し人や探し物を効率的に見つけるといったことができると考えています(図1)。

図1:画像が対話に有効に利用される例(機械が目撃証言を元に、対話しながら画像を編集して目撃者の見た顔を生成する)

このように、画像情報と言葉(言語情報)を組合わせて問題解決をするという研究分野は、まとめてVision & Languageと呼ばれており、世界的に盛り上がりを見せている研究トピックの一つとなっています。言葉でコミュニケーションをとれる、という要素は、将来的に機械が人間の役に立てる範囲を拡大するために、重要な要素だと考えられています。人間にとって最も頻繁に用いられる情報伝達の手段は言葉(言語情報)です。機械が言葉を理解し、扱えるようになれば、様々な作業を機械に言葉で頼むだけでできるようになる利点があります。

一方で、言葉というのは多様な表現が許されます。また、個人によっても、同じ言葉でも意図が異なる場合があります。たとえば、「この画像を格好良くしてほしい」というお願いをユーザが行った時、「格好良い」に紐づいている具体的な結果のイメージは、人によって様々です。人間同士の場合は、このような場合に「あなたの言う格好良いとはこういうことですか?」などと聞き返したり、対話することによってお互いの意図の擦り合わせを行えます。私は、このような対話の能力を機械が得られるようにし、個人に合わせて問題解決を行う機械を作りたいと考えています。

深層学習による、元画像と編集要求の文から目的の画像に編集するニューラル画像編集モデル

今回は、私の博士での研究と、その展望について簡単に紹介したいと思います。私が行った研究は、まさに図1にあるような、ユーザが言葉を使って、ユーザの思い浮かべている画像に向かって、段階的に画像を編集するシステムの研究です。編集する方法には、深層学習という方法を用いています。ニューラルネットワークという用語でも有名かと思います。深層学習では、画像と言葉のように、異なる情報源をベクトルとして表現し、ニューラルネットワークと呼ばれるネットワークを利用して、画像と言葉のデータからその対応関係を結びつけることができ、これを利用して、編集元の画像(元画像)と編集要求の文から、目的の画像への編集を行っています(図2)。

具体的には、画像を編集するのに向いている、敵対的生成ネットワーク(Generative Adversarial Networks; GAN)というニューラルネットワークを利用しました。編集要求の文の情報は、時系列情報を抽出するのに向いているLong-short term memory (LSTM)、編集対象の元画像の情報は、画像情報を抽出するのに向いているConvoluation Neural Networks (CNN)というニューラルネットワークを利用しました。元画像と編集要求の文の情報を組合わせて、GANで生成するという仕組みです。

図2:元画像と編集要求の文から目的の画像に編集するニューラル画像編集モデル

このモデルを学習するには、編集前の元画像、編集後の目標画像、そして両者の変換に対応する編集要求の文の3つの組で構成されるデータが必要になります。このようなデータはこれまでに存在しなかったので、アバター画像の作成が可能なウェブサイトを利用して、少し異なる画像の組をつくり、それぞれ元画像、目標画像とし、これらの画像の組をクラウドワーカーに見せて、2つの画像の違いを言葉で表現してもらいました(実際には英語を利用しています)(図3)。

図3:学習データ(元画像、目標画像、編集要求の文)の収集方法
図4:画像編集モデルによる編集で、編集要求の文にない編集が起きてしまった例

実際に画像編集モデルを学習させてみると、面白いことが分かりました(図4)。確かに入力である編集要求の文に沿った編集はできているものの、要求していない部分まで編集されてしまいました。多様な表現が許される言葉と画像の編集操作を結びつけることは、簡単にはいかなかったのです。この新たな問題に対して、本研究ではさらに、元画像のどの部分が編集するべき領域なのかを明示的に分けるマスク機構を提案して、マスク機構なしの場合より優れた編集が可能であることを明らかにしました(図5)。

図 5:マスク機構により、編集要求にない部分が意図せず変化してしまう問題を抑制した

システムからユーザへの確認戦略の導入

もう一つの研究は、システムが自信がない時に、ユーザに対して確認を行うという対話戦略をシステムに取り入れて、対話的に画像を編集するという研究に取り組みました。ユーザの多様な要求には、システムが苦手にしている入力も当然含まれます。深層学習のモデルは、限られたデータセットを用いて学習されるため、一つのモデルで多様な入力のすべてに対応することは困難です。例えばマスクありモデルは、髪の毛など大きな領域の編集を苦手としています。そのような場合に、複数のモデル(マスクあり・なし)による出力をユーザに見せて選んでもらい、より目標を達成できそうな方の画像を選んでもらうという対応策が考えられます。かといって、毎回確認するのはユーザの負担となります。そこで本研究では、生成されたマスクのエントロピーを基準として、必要な時だけユーザに確認することで、冗長な対話を削減できることを明らかにしました(図6)。

図6:システムが編集に自信のない時には、ユーザに確認をする対話戦略を導入して効率的に対話して画像を編集できるようになった

今後の展望

本研究では、「ユーザが言葉で画像を編集できる」という点に注目して研究を進めてきましたが、現実的に役に立つものを実現するには、まだまだたくさんの課題あります。例えば、実際のユーザは、一部なら自分で絵を描いたりできるかもしれません。言葉だけでなく、他の入力方法も考慮することで、どのような時に言葉を使うのが有用であるのか、明らかにしていく必要があります。また、どの編集も気に入らなかった場合に、どのようにユーザに働きかけると、ユーザにとって好ましいのかも、明らかにしていく必要があります。そして、言葉は本来、ユーザの文化的な背景などによって、指す意味が異なることが自然です。よって、対話を通して個人に適応するといった要素も必要になってきます。これらの面白い課題を一つ一つ解決していき、機械が様々な課題で人間とコミュニケーションをとりながら、より人間にとって心地よく、問題を解決できるような方法を模索していきたいと考えています。

著者紹介

品川 政太朗(しながわ せいたろう)

札幌出身。東北大学で学士・修士を取得後、博士後期課程から奈良先端大知能コミュニケーション研究室に所属。2020年9月に博士(工学)を取得後、現在は同研究室の助教として対話班を主導している。専門は画像と言語を組合わせて問題を解決するVision & Languageという分野で、特に対話的なコミュニケーションを行えるシステムの研究に従事。
🔗 Webサイト:
https://seitaroshinagawa.github.io/

大学院の授業を翻訳する 〜 自ら使う音声自動翻訳技術へ | 知能コミュニケーション研究室

奈良先端大知能コミュニケーション研究室准教授の須藤です.今回は当研究室で開発している授業アーカイブ自動翻訳システムと,そこで用いられている深層学習の技術について簡単に紹介します.

プレスリリース:日本語授業映像に付ける英語字幕をAIで自動作成 深層学習技術活用のシステムを開発 ~留学生らの自習支援など国際化に期待~

大学教育の国際化の進展と留学生の増加により,情報科学領域でも約半数の授業は英語で行われています.日本語で行われる授業については英語のスライド資料を利用するなどしていますが,日本語が分からない学生は資料だけで授業内容を理解しなければなりません.他方,本学では講義室の授業映像を録画・保存し,学内で閲覧できる「授業アーカイブシステム」を運用しています.私たちは,知能コミュニケーション研究室で取り組んでいる技術によって日本語の授業を英語に翻訳し,授業アーカイブシステムで字幕として見せることで日本語が分からなくても授業アーカイブシステムを用いて復習・自習できるような仕組みを作っています.日本語および英語の字幕が表示された授業アーカイブはこのような画面で表示されます.

このシステムは,授業で話される日本語を文字起こしする「音声認識」と,日本語を英語に自動的に翻訳する「機械翻訳」の二つの技術で実現されています.それぞれ長い歴史を持つ技術ですが,最近の深層学習(ディープラーニング)技術によって大きく性能が向上しました.今回は須藤の専門である機械翻訳(コンピュータを用いて自動的に翻訳を行う技術をこう呼びます)の技術を紹介します.

深層学習技術で用いられる計算の仕組みをニューラルネットワークと呼びます。詳細な説明は省きますが、ニューラルネットワークでは単語や音声、画像といった処理の対象をすべて数値を使って表します。数値といっても一つの数ではなく、数百個の数を使ったベクトルという形で表します。模式的な例として、X軸・Y軸を用いた2次元の平面で単語を表した例を次の図に示します。

この図では、man、woman、king、queenという単語が、2次元の平面上の別々の点として書かれています。それぞれの点には対応するX,Yの2つの数があり、この例では2つの数を使って単語を表現していると言えます(実際の研究では500次元、1000次元等より複雑な空間を使います)。さらにこの図では、manとwomanを結ぶ矢印つきの線とkingとqueenを結ぶ線がとてもよく似ています。このmanとwomanを結ぶ線は、manの座標をv(man)、womanの座標をv(woman)と表すとv(woman) – v(man)と書くことができます。それを使うとqueenの座標 v(queen) がkingの座標 v(king)を使ってv(king) – v(man) + v(woman)と表すことができるのです。実際には多少誤差があって完全に等しくなることはないのですが、単語をベクトル(座標)で表すときの例としてよく用いられます。

ニューラルネットワークを使った機械翻訳のことをニューラル機械翻訳と呼びます。単語を数で表現する考え方を上で説明しましたが、ニューラル機械翻訳では一つの単語だけでなく、複数の単語の並びや文もベクトルで表現します。ニューラル機械翻訳の処理を非常に単純に表現した図を以下に示します。

日本語を英語に翻訳しようとするときに、まず日本語の単語をベクトルに変換して、そのベクトルを一つずつコンピュータに読み込ませます。読み込ませるときには、今持っているベクトル(左下の青い四角)と新しく読み込むベクトル(「入力単語のベクトル表現」と書かれたもの)にある決まった計算をして、新しいベクトルを求めます。例えば、「機械」という単語を読み込み終わった時点では、そのベクトルは「これ」「は」「機械」という3つの単語を読み込んで記憶できると考えてください。すべての単語を読み込み終えると、今度は英語に翻訳した文を出すために、英語の単語を一つずつ読み出します。読み出す仕組みもベクトルを用いた計算によるもので、ベクトルにある決まった計算をして、英語の単語に対応するベクトルと、これから出力する単語の情報を持つベクトルの二つを得ます。この処理を繰り返して、単語に対応するベクトルを一つ一つ単語に変換することで、最終的に英語の文が得られるというわけです。

上の説明で「決まった計算をして」と書きましたが、当然正しい結果が得られるように計算をする必要があります。ベクトルの中の数に対する掛け算や足し算を組み合わせて、ベクトルから別のベクトルを得るような計算をするのですが、ここでどういう数(パラメータ,と呼びます)を掛けたり足したりすれば正しい結果が得られるのか、を対訳(異なる言語の同じ意味の文の組,例えば日本語と英語)を使って調整するのです。その方法の詳細はここでは説明しませんが、最初はランダムな値から始め、正しい翻訳結果が出てくるようにするにはこのパラメータの値を大きくすればよいのか、小さくすればよいのか、を調べながら、少しずつ調整をしていくのです。

このようにして、機械翻訳や音声認識は大量のデータを使って、正しい結果が得られるパラメータの値を「学習」することで実現されています。このようにデータから何かの問題の解き方をコンピュータが身につけるための技術を「機械学習」と呼びます。機械翻訳や音声認識はその一例ですが、最近のコンピュータはそうした技術によって様々なことができるようになってきているのです。