shimopino / papers-challenge

Paper Reading List I have already read
30 stars 2 forks source link

S2IGAN: Speech-to-Image Generation via Adversarial Learning #116

Open shimopino opened 4 years ago

shimopino commented 4 years ago

論文へのリンク

[arXiv:2005.06968] S2IGAN: Speech-to-Image Generation via Adversarial Learning

著者・所属機関

Xinsheng Wang, Tingting Qiao, Jihua Zhu, Alan Hanjalic, Odette Scharenborg

投稿日時(YYYY-MM-DD)

2020-05-14

1. どんなもの?

本研究ではテキスト情報を使用せず、音声情報のみから対応する画像を生成する新たなモデルSI2GANを提案した。本手法は画像に対応する音声情報をベクトルに変換するSENモジュールと、この音声ベクトルから意味のあう画像を生成するRDGモジュールで構成されている。

2. 先行研究と比べてどこがすごいの?

3. 技術や手法の"キモ"はどこにある?

本研究では既存のText-to-Imageタスクで使用されているCUBやOxford-102データセットにある文章をtacotron2を使用して音声情報に変換している。

得られた音声と画像のペアデータを以下のSI2GANに入力し、対応する画像を生成する。

image

3.1 Speech Embedding Network (SEN)

SENでは音声と画像の両方のモダリティを反映した特徴空間の学習を行い、この空間上でのモダリティギャップを最小化することで音声と画像間に対応した特徴ベクトルが獲得できることを目指す。

3.1.1 Encoder

Image Encoder

画像に対してはInception-V3を適用して画像ベクトルを抽出し、得られた画像ベクトルを線形結合層を利用して画像と音声の両方に対応する特徴空間に変換させる。

Speech Encoder

音声情報は既存研究[D. Merkx. et al, 2019]で提案されているモデルを使用し、2層の1次元畳み込み層と2層のGRU、自己注意機構を使用して画像と音声の両方に対応する特徴空間に変換する。

image

3.1.2 Objective Function

音声ベクトルを変換する際には2つの損失関数を考える。1つ目は音声ベクトルと画像ベクトルが同じ特徴空間上での距離が近くなるよう学習させることでモダリティの違いを小さくすることを目的にしており、2つ目では同じ特徴空間に投影されたベクトルが正しくクラス分類ができる識別能力を有するように学習させる。

Matching Loss

共通の特徴空間に投影された画像ベクトルと音声ベクトルに対してベクトル間の距離が最小化するように学習を進めていく。

では音声ベクトルAとそれに対応する画像ベクトルVである確率を以下のように定義する。ベクトル間の距離を測定する関数Sにはコサイン類似度を使用する。

image

なおバッチサイズをnとした際に、音声と画像のペアは1つしかないと仮定しているため、計算時には以下のようなマスク行列を使用している。

image

あとは得られた確率に対して負の対数尤度で表現される損失関数を最小化していく。

image

なおこの計算は画像と音声に関して、両方の条件付確率に対して計算を行う。

image

Discriminative Loss

同一の特徴空間に投影された音声ベクトルと画像ベクトルが、正しくクラスの識別が可能である特徴量であることを保証するために、これらの特徴ベクトルからクラス分類を行った際のクロスエントロピーを最小化する。

image

SEMでの損失関数はこれら2つの損失関数の和を計算する。

3.2 Relation-supervised Densely-stacked Generative Model (RDG)

得られた音声ベクトルをRDGモジュールに入力する。このモジュールはDGとRSの2つで構成される。

3.2.1 Densely-Stacked Generator (DG)

RDGでは高解像度な画像を生成するためにStackGANなどと同様に多階層構造のGeneratorを採用している。計算の流れは以下の図を見るがわかりやすい。

音声ベクトルを文ベクトルに置き換えれば、Conditioning Augmentationや得られた特徴量を次にGeneratorに渡す部分など、そっくりそのままStackGANである。

image

3.2.2 Relation Supervisor (RS)

生成された画像は音声ベクトルと意味的な一貫性を有している必要があり、そのために生成された画像が音声に対応する実画像と似たものになるようにペア同士の識別を行っている。

image

このペアを計算することで実画像と生成画像が似たものになるように学習するが、多様性を保持するために完全に実画像と同じ画像が生成されないように制限を設ける必要がある。

image

R[j]はRSによって計算された関係を示すベクトルである。R[GT-FI]は実画像と生成画像のペアを計算しており、これは生成画像との関係を1つ目の正例のように同一クラスからの画像になるように学習を促進することができる。

3.2.3 Objective Function

Generatorの損失関数は2つの要素から構成され、生成画像が実画像に近づくようにする敵対的損失関数と生成された画像が正しく音声とのペアだと認識できるようにする正則化項にになる。

image

image

Discriminatorの損失関数は生成された各解像度の画像に対して計算を行う。また最後の2項は先行研究[Tao, et. al, 2016]で提案された損失関数であり、画像と文章のペアを判定するmatching-aware discriminatorを音声ベクトルに転用したものである。

image

3.3 Evaluation Metrics

ISによって生成画像の多様性を計算し、FIDによって学習したデータ分布が実データの分布とのどの程度の距離があるのかを計算する。

画像と音声の一貫性を検証するために、実画像と生成画像での画像検索を行った際のmAPによって評価している。具体的には、実画像から同じクラスの2つの画像をクエリとして用意し、同じクラスに属する生成クラスが検索できるか検証している。

4. どうやって有効だと検証した?

結果として文章から画像を生成するStackGANv2よりも高品質な画像を生成していることが評価指標からわかる。音声はデータのdurationが長く、単語間が別れているわけでもないので文章よりも難しいとかんがられるが、文章の場合よりも高い評価指標を示している。

image

生成結果を見てみると他の手法と遜色ない生成結果である。なんとなく音声のほうがより高品質な画像を生成できているような気がしなくもない。

image

次の画像は入力される音声のうち色に関する情報のみを変化させた場合の生成結果であり、本手法が音声の意味を補足できており、またその意味に合う画像を生成できていることがわかる。

image

SENの効果を見てみると以下の表を見るとわかるように、SENを使用していない場合に各指標が大幅に悪化していることがわかる。

また精度を向上させるためにはSENの事前学習が必要となり、end-to-endの場合には評価指標はそれほどよくない。

image

5. 議論はあるか?

注意点としては本研究で使用しているデータは、あくまでも合成音声であり本物の発話データで同様の結果が得られるかどうかはわからない。

shimopino commented 4 years ago

project page

実際の音声と対応する生成画像が見れるのでぜひ参照しよう!!

shimopino commented 4 years ago

StackGANの音声版

本手法で使用しているSpeech Encoder