deepfake

トランプ大統領が、ニュースメディアに向かって、君たちはフェイクニュースだと反論する。そんな時代。この場合は、本当にニュースがフェイクなのかリアルなのか知る由もないが、とにかく巷にフェイクが溢れ始めている。

フェイクの最先端を行くのがディープフェイク。特に画期的なのが、深層学習を使って人間の顔を生成する技術の進歩。GANと呼ばれる敵対的学習は、Generative Adversarial Network の略で、2014年にモントリオール大学の Ian Goodfellow が神経回路網国際会議NIPSで発表してから、多くの注目を集めている。GANの学習の仕方の特徴は、通常のニューラルネットと違って、画像を生成するGeneratorネットワークと画像がホンモノかニセモノかを見分けるDiscriminatorネットワークの2つを同時に学習していくところにある。Generatorは自分が生成するニセモノ画像が、Discriminatorにニセモノと検知されないように徐々に絵が上手くなっていく。Generatorはゼロから画像を生成しているので、どれがホンモノの画像かを教えられていない。何度も画像を生成するうちに、徐々にこんな画像ならDiscriminatorを騙せるということを学んでいく。Discriminatorもゼロから学習されるので、最初の検知力はゼロ状態からだんだん検知の腕を挙げていく。2つの敵対するニューラルネットワークが切磋琢磨するわけだ。このように説明するのは簡単だが、実際のGANの学習は、綱渡りの学習で、GeneratorとDiscriminatorが同じ強さで成長していくように学習を調整しないと良いGeneratorができない。学習に失敗すると、砂嵐のような画像を出すGeneratorが出来てしまう。

さて、話をディープフェイクに戻す。現在の顔生成の最先端を体験できるのが www.whichfaceisreal.com である。このサイトは、ワシントン大学のJevin West助教 と Carl Bergstrom教授が公開している、ゼロから生成された「この世に存在しない人の顔」と実在の人間の写真を顔を人間が見分けられるかをテストするサイト。ぜひディープフェイクの恐ろしさを体感するためにチャレンジしてほしい。かなりの場合、確信を持って見分けることは難しい。NVIDIA社のStyleGANを使って生成した画像と本当の写真を集めたFFHQ画像データセットから選んだ顔写真を2つ並べている。たとえば以下の2つのうち1つはニセモノ生成画像(上記サイトから引用)。

f:id:YutakaSasaki:20190726134850j:plain:w200
f:id:YutakaSasaki:20190726134845j:plain:w200

あまりに出来がいいので、モンタージュのような技術のように思うかもしれないが、実際は全然違う。ニセモノ画像のどの一部を切り取っても、マッチする元の画像は存在しない。白いキャンバスにGeneratorが顔の絵を描いているのである。これは明らかで、Generatorには、実際の写真画像はまったく見せていない。Generatorは、どう描くとDiscriminatorに見破られるかを学んでいくうちに、見破られないコツを学習して、ホンモノと見分けられない顔画像が描けるようになったのである。

さて、最後にホンモノとニセモノの見分け方があります。顔画像データから学習してい性質上、尤もらしい顔画像を生成するように学習しています。つまり、背景は特定のパターンがないので、ぼやけたり歪んだものになりがちです。背景に明瞭な直線や文字、明らかな風景が写っていれば、それはホンモノです。また、ニセモノ画像の一部に渦を巻いたような不自然なものが出やすいです。しかし、中には、たまたま背景がぼやけた(または単色)のホンモノ写真があります。この場合、背景では見分けられません。このような場合は、髪の毛で判定します。背景にはみ出してる、髪の毛、1本1本がきれいに出ている画像がホンモノです。これは、背景を生成するとき、髪の毛の物理モデルに持っているわけではないので、細い髪の毛1本をきれいに生成できないGANの宿命です。これはほとんど見分けられますが、まれにホンモノ画像の髪の毛もぼやけている場合があり、ニセモノもたまたま変な特徴が出ていない場合は、基本的には見分けられません。ニセモノ画像は、GANの学習の性質上、人物と背景の境界がホンモノよりぼやける傾向があるので、そこで分かるかもしれませんが、ホンモノも少しボケた写真のときは、多くの場合はどちらがホンモノかは分かりません。それぐらい顔画像の生成技術は高くなっています。

ちなみに女性の写真がホンモノ。