ディープフェイクと生成ディープラーニング

Download (PDF)

1 導入


GANによって生成された架空の人物の写真[1]


上の画像は本物の人間の写真のように見えるが、実は、写真に写っているのはすべて実在しない人物だ。全てGANと言われるディープラーニング技術を用いて生成された人物写真である。GANは2014年に当時モントリオール大学で研究をしていたIan Goodfellow氏やYoshua Bengio氏らの研究グループによって、最初のモデルが発表された[2]。その後、ディープラーニング向けのGPUの計算能力が大幅に向上する中で、世界中の研究者がモデルの改良を進め、GANの技術は指数関数的な勢いで進化した。現在では、人間が識別できないほど高精細でリアルな画像を生成できるだけでなく、リアルタイムで動画を変換したり、テキストから画像を生成することも可能だ。ディープラーニングの権威の一人であるYann LeCun氏は、「GANはこの10年間で最も興味深いアイデアである」と語っている。その一方で、急激な技術の進化は、様々な社会現象や問題を引き起こしている。

「ディープフェイク」は、近年急速に進化したAI技術の中でも、特に大きな社会問題を起こしつつある技術の一つだ。2020年8月の「犯罪科学(Crime Science)」誌に掲載されたUniversity College London(UCL)の研究グループによるレポート「AIが可能にする未来の犯罪(AI-enabled future crime)」[3]によると、ディープフェイクは、数あるAI犯罪の中でも、最も深刻かつ差し迫った脅威の一つであると結論付けられている。実際、ディープフェイクという言葉が2017年に登場して以降、ネット空間におけるフェイク動画の数が急激に増加し、2020年9月にはFacebook社が「AIによって操作(生成)されたフェイク動画を排除する」といった運営ポリシーを発表するなど、社会的な影響や懸念は大きくなる一方だ。

このディープフェイク技術が急速に進化した背景には、オートエンコーダーGANと呼ばれる、本物のようなデータを生成できる技術の進展が大きく関係している。これらの技術は、汎用性の高い有用な技術であり、様々な産業に変革をもたらすことが期待されている一方で、その人が行っていない発言を、実際に行ったかのように見せることができるなど、使い方によっては悪用されうる技術で、すでにそのような事例がいくつも出てきている。本ホワイトペーパーでは、ディープフェイクとその基盤となっている技術について、技術の進化を振り返りつつ、今後の社会変化・技術動向について考察する。


2 ディープフェイク概要


ディープフェイク技術によって作成されたオバマ大統領の偽動画[4]


「トランプ大統領は救いようのないマヌケだ」──。2018年初めにYouTubeで公開された動画で、バラク・オバマ前大統領(当時)が発言するビデオが公開され、話題になった。オバマ前大統領の日頃の言葉遣いや態度から考えると驚くような内容だが、動画を見ると本人に思える。しかし、このビデオは、「BuzzFeed」と俳優兼監督のJordan Peele氏が作成した偽動画であり、急速に進化する技術が社会にもたらす問題について警告することを目的として作成されたものであった。このように、その人が実際は行っていない動作を行っているように見せたり、発言しているかのように見せることを目的として合成された動画は、「フェイク動画」と呼ばれ、大きな社会問題を引き起こしつつある。「ディープフェイク」とは、このようなフェイク動画をディープラーニング(深層学習)の技術を利用して高精度に作り出す技術の総称だ。

ディープフェイクは、いくつかの要素から構成される合成技術だが、大きく分けると「顔画像処理」と「音声処理」の2つの技術的要素から構成される技術だと言える[5]。これら2つの技術は、どちらもディープラーニング技術の進化によって大きく進化してきた。以下、この2つの技術について詳述する。

生成深層学習とディープフェイク技術の関係


2.1 顔画像処理と分類


顔画像処理(Face Manipulation)は、ディープラーニングおよびGANなどのデータを生成する技術の進化と密接に関わっており、相互に進化を促してきた側面がある。車や動物などの幅広い画像の識別を行う「一般物体認識」などの問題設定に比べると、顔画像の処理はデータの対象を大幅に限定している問題設定であり、かつ大量にデータを収集しやすいという特徴がある。また、同一人物であると特定されたデータ(同じ属性を持つデータ)をWeb検索などを利用することで比較的容易に収集することが可能であるため、データとしての質・量ともに、技術を高度化させるための好材料が揃っていたといえる。ディープラーニングなどの機械学習系の技術は、モデルに与えるデータの質が出力結果や成果の質に直結するため、質の高いデータが揃っていることは技術の進化に大きな役割を果たす。顔画像処理の分野では技術が進化することでさらに多くの研究者やエンジニアがデータを整備し、さらに技術の進化が促される、という好循環が生まれ、短い時間で技術が急速に進化した。また、そこで生まれた技術の一部は、汎用性の高い技術として顔画像処理以外の分野でも活用されている。

「DeepFakes and Beyond: A Survey of Face Manipulation and Fake Detection」[6]によると、顔画像処理は技術や用途に基づいて、1)顔の生成(Entire Face Synthesis)、2)顔の入れ替え(Identity Swap)、3)特徴変更(Attribute Manipulation)、4)表情操作(Expression Swap)の4つのカテゴリに分類できることが示されている。「ディープフェイク」という言葉を広義に捉えた場合、実在しないデータを作り出すという意味ではこれら全ての技術が含まれるが、このうち、ディープフェイクの技術として最も良く知られ、社会的に大きな問題を引き起こしているのは、「顔の入れ替え(Identity Swap)」である。以下、各カテゴリの技術について説明する。


2.1.1 顔の生成(Entire Face Synthesis)


1つ目のカテゴリは、実在しない架空の人間の顔を生成することができる「顔の生成」技術だ。産業的な応用としては、ゲームでのキャラクター作成や、広告用の架空モデルの起用などの面で期待されている。このような、キャラクターや写真は、著作権、肖像権の面で自由度が高く、制作コストや撮影コストを抑えながら目的に合う制作が可能になると期待されている。一方で、SNSにおいて、偽のプロフィールを作成するために利用されるといった危険性もある。


生成された顔画像(「This person does not exist」[7])



2.1.2 顔の入れ替え(Identity Swap)


2つ目のカテゴリは、画像や動画の中にいる人物の顔を別の人物の顔と入れ替えることを目的とした技術だ。一般的に「ディープフェイク」と呼ばれる技術としては、このカテゴリの技術が多用されている。アプローチとしては、大別すると1)古典的なコンピュータグラフィックス(CG)の技術を使う方法と、2)ディープラーニング技術を使う方法の2通りのアプローチがある。古典的なアプローチではCGなどの高度な専門的知識と設備に加え、多くの労力を要するが、ディープラーニング技術を利用することで、容易に自然な画像や動画を作成することが可能になった。産業的な応用としては、映画や映像作品といった製作の現場で利用することが期待されている。しかし、技術が進化する一方で、証拠動画の捏造、詐欺、ポルノ動画の生成といった用途で悪用されつつある技術であり、すでに日本を含むいくつかの国で逮捕者が出ている。


Identity Swapによって顔を入れ替えた画像(Celeb-DFデータセット[8])


本物の動画(画像)とフェイク動画を大量に集めた「データセット」(Dataset、データ集合)は、顔の入れ替え技術の進化に大きく貢献している。フェイク動画としては、古典的な手法で作成されたものや、当時のディープフェイク技術を利用して作成されたものなどが集められている。[6]によると、フェイク動画のデータセットは第一世代と第二世代の2種類に分類することができる。第一世代のビデオは、第二世代に比べると不自然さが目立つ。顔画像の合成の質が低いことや、元々の肌と合成された顔の肌の色が違うことの違和感、生成された顔と元々の顔の境界線が浮かび上がるなどの不自然さ、元々の画像の一部の要素が不自然に残ってしまうこと、フレーム間で不自然な結果になってしまう、といった問題があった。

一方で、第二世代のデータセットでは大幅にクオリティが向上し、シーンのバリエーションも豊富になった。屋内で撮影したものと屋外で撮影したものなど様々なシナリオを用意しており、ビデオに登場する人物の光の当たり方や、カメラからの距離、そしてポーズなど、様々なバリエーションのビデオが存在する。また、いくつかのフェイク動画を判別するAIで検証した結果、第一世代のデータセットより第二世代のデータセットの方が、フェイク動画を見破るのが困難である、という結果になった。


フェイク動画のデータベースの第一世代と第二世代の比較(第一世代の写真はFaceForensics++[9]、第二世代の写真はCeleb-DFデータセット[8])


2.1.3 特徴変更(Attribute Manipulation)


3つ目のカテゴリは、髪型や性別、年齢など、顔を特徴づける属性を変更・修正する技術だ。産業的な応用としては、美容・整形外科でのシミュレーションで利用することで、手術前に完成像を想像することなどが可能になると期待されている。また、映画やドラマにおいて、年齢や属性を自在に変化させることなどができるため、特殊メイク主体の制作プロセスを変革することなどが期待されている。


Attribute Manipulationによって特徴が修正された画像(元の人物の画像はFFHQデータセット[10]を利用し、FaceApp[11]を利用して特徴を変更して画像を作成)


2.1.4 表情操作(Expression Swap)


4つ目のカテゴリは、動画や画像において人間の表情を操作・変更する技術だ。産業的な応用としては、動画製作、編集、オンラインミーティングやYouTubeのアバター操作といった用途で産業的に期待されている技術だ。一方、詐欺や不正な意見誘導に使われる可能性も示唆されており、有名なMark Zuckerberg氏のフェイク動画もこの技術が利用されている[12][6]。


Expression Swapによって表情が操作された顔画像(FaceForensics++[9])


2.2 音声処理と分類


前述の通り、ディープフェイクは動画の合成と音声の合成、2つの技術を組み合わせて実現される技術だ。ここでは、後者の音声合成技術について説明する。

音声の合成技術も、動画の合成技術と同様に、ディープラーニング技術の進化に伴ってここ数年で急速に進化した技術領域だ[13]。一般的に、音声処理(Speech Processing)は、音声をテキストに変換する音声認識(Speech-to-text)とその逆にテキストから音声データを作成する音声合成(Text-to-speech)の2分野に大きく分かれ[13][14]、両分野で長く研究が行われている。この2分野に加え、特定の人物の音声を複製する音声クローニングという技術領域がここ数年で急速に発達し、ディープフェイクの技術として多用されている。以下、各カテゴリの技術について説明する。


音声処理技術の分類


2.2.1 音声認識


音声認識は、音声データの内容をコンピュータが認識する技術の総称であり、主に人間の音声をテキストに変換させる技術を指す。音声認識はスマート家電やスマートフォン、コンピュータの入力など、様々な場面で活用されている。従来の音声認識技術は、1) 音響分析、2) デコーダといった各種処理と、3) 音響モデル、4) 言語モデルなどのデータ(辞書)等、多くの構成要素を組み合わせて実現されることが一般的だった。各々の構成要素は別々に研究・開発されることが多かったため、音声認識全体としての性能を向上させるためには、各処理の性能を向上させる他に、これらの技術を適切に統合(連結)する技術も必要だった。その結果、前の処理が後続の処理の性能に影響を及ぼすことも多く、全体として高い性能を実現することは一般的に技術的に難易度の高い問題として知られていた。

一方、近年急成長してきたディープラーニングをベースとした手法は、上記の処理のうち、複数もしくは多数の処理を統合的に処理する。これにより、処理全体としてのパイプラインがシンプル化され、柔軟性が高まったと同時に、データ量の増加と計算機技術の発展の後押しもあり、音声認識の精度は飛躍的に向上した。ディープラーニングをベースとしたアプローチが採用されている製品としては、“Alexa Conversations” [15]などがある。


2.2.2 テキストからの音声合成(Text-to-speech)


音声認識とは逆に、合成された音声を出力する技術は、音声合成(Speech Synthesis)と呼ばれる。その中でも、テキストを入力として音声を合成する技術は、テキスト音声合成(Text-to-speech, TTS)と呼ばれる。従来の技術では不自然なイントネーションや単語間のつながりなどが目立っていたが、近年、ディープラーニングをベースにした手法が一般的になる中で、この分野の技術は性能が飛躍的に向上している。長い文章の抑揚を表現することができるようになり、自然な音声を合成することが可能になった他、複数話者の切り替え、トーンや感情などをコントロールすることも可能になった。その後の改良版が様々なところで実用化されており、GoogleアシスタントやGoogle Cloudの多言語対応の音声合成サービスなどに実用化されている。

テキストからの音声合成技術の産業的応用の例としては、音声読み上げがあげられる。運転中のユーザへの音声でのガイド、バーチャルアシスタント、視覚障害者などに対するインタフェースなど、応用は多岐に渡り、既に多くのサービスや製品が上記のような技術によって実現されている。


2.2.3 音声クローニング(Voice Cloning)


音声合成技術の発展形として、テキストに加えて、特定の話者の音声も入力として同時に受け取り、あたかもその人物が喋っているかのような音声を合成して出力することができる技術が誕生した。このような技術は 音声クローニング(Voice Cloning)と呼ばれ、ディープフェイクで多用されている。従来、高度な技術とクローン先の話者の音声データを大量に集める必要があるなど、扱いの難しい技術だったが、現在の技術では変換先の話者の音声サンプルが数秒程度あればクローンが可能となっている。

音声クローニング技術は、産業的に既にいくつか応用例があり、(その是非は議論されるべきとしても)故人の音声で重要なメッセージを伝える動画を作成することや、ブログからのウェブラジオ自動作成・配信といった用途で既に利用されている。また、ALS患者などの声を失ってしまった人々の声を復元してコミュニケーションを支援したり、吹き替え動画の制作などへの応用も期待されている。さらに、ラジオや配信のために録音された長い音声データや、再録が難しい音声データなどについて、部分的に修正するような編集目的の用途でも利用されている。

その一方で、詐欺などの用途で悪用された事例も既に発生しており、悪用されることで社会的に大きな損失を与えうる技術でもある。


3 生成ディープラーニング(Generative Deep Learning)


ディープフェイク技術の進化に大きく貢献した技術はいくつかあるが、その中でも特に重要なものとして、生成モデル(Generative Models)という技術領域がある。機械学習の実応用という面では、データを分類するための識別モデルが広く利用されているが、生成モデルは識別モデルとは異なり、データの分布をモデル化するアプローチであり、人工的にデータを生成できることが特徴である[16]。生成モデルの中でも、ディープラーニングなどのニューラルネットワーク技術を利用したものは深層生成モデル[17][18]と呼ばれ、(変分)オートエンコーダGANがその代表例となる。また、音声やテキストなどの系列データを生成するために適した技術として、エンコーダ・デコーダモデルと呼ばれる技術がある。本ホワイトペーパーでは、これらデータを生成することが可能な3つの技術を含む大きな技術領域をまとめて「生成ディープラーニング」と呼ぶ。


識別モデルと生成モデル


これらの技術は、非常に汎用性が高く、可能なことは画像の生成だけではない。実写の写真を絵画風の画像に変換するようなスタイル変換(Style Transfer)や、低解像度の画像を高解像度の画像にする、超解像(Super Resolution)といった技術、テキストや音声を生成する技術なども開発されている。本節では、これらの技術について、技術進化の歴史も振り返りながら説明する。


ディープフェイクと生成ディープラーニングに関する年表


3.1 オートエンコーダー


オートエンコーダ(Autoencoder, 自己符号化器)とは、ニューラルネットワークのモデルの一種であり、入力されたデータを復元(コピー)するようにモデルが訓練される[19]。入力されたものを出力する、という動作は一見すると、意味が無い処理のように思えるが、一旦、データを高密度に圧縮した潜在空間と呼ばれる情報空間に写像し、その後に復元するのがポイントだ。


オートエンコーダの概念図


このように、一度高密度に圧縮された小さな情報に変換することで、大きな情報量を持つデータ(画像など)を、より少ない情報量で表現したり、圧縮されたデータから元のデータ(画像など)を再構成するようなモデルを得ることが可能になる。1987年に、入力を再構成するニューラルネットワークのアイデア[20]が提案された後、2007年にBengio氏らが率いるモントリオール大学の研究グループが、データの中の重要な特徴を抽出するための技術として利用できることを示した[21]ことで、ディープラーニングのコンテキストで再び着目されるようになった。そして、2013年に「変分オートエンコーダー」(VAE: Variational Auto-Encoder)がKingma氏によって発表され、深層生成モデルの主要なアプローチとして幅広く認知されるようになった。現在、変分オートエンコーダの技術は、多くの後続のオートエンコーダーの手法の基盤となっている。

オートエンコーダは、今日では多くの目的で使われており、データから重要な特徴を抽出するだけでなく、与えられたデータが正常か異常かを判断する異常検知、これまでの購買データからユーザーが購入しそうな商品を提案する推薦システムなど、幅広い目的で利用されている[22]。


3.2 GAN


GAN(Generative adversarial network、敵対的生成ネットワーク)は、Ian Goodfellow氏らによって考案された、生成深層学習の代表的技術の一つである[2]。GANは、生成器(Generator)識別器(Discriminator)の2つのニューラルネットワークで構成されている。生成器は画像を生成する機能を担当し、識別器は、画像が生成されたものか、本物かどうかを識別する機能を担当する。生成器は、識別器に見破られないように、より本物に似た画像を生成するように訓練され、逆に識別器は、より精度良く本物の画像か偽物の画像かを判別するように訓練される。これら2つのニューラルネットワークのモデルが競い合いながら性能を上げ続けることで、相互に進化が促進され、最終的には生成器が本物に近いようなデータを生成する能力を得ることになる。


GANの概念図


生成器は潜在空間と呼ばれる、情報を高密度に圧縮した空間に作成されたランダムなデータを入力データとして受け取り、画像へ変換する。最初に生成器が生成する画像は全くのランダムな画像だが、モデルの訓練が進むにつれて、段々意味のある画像が出力されるようになり、最終的には潜在空間の情報をもとに、本物に近い画像を出力できるようになる。この際、最初に生成器から出力されるのは、意味の無いランダムな画像なので、識別器が本物か生成された画像かを判別することは比較的容易だが、訓練が進むと、生成器が出力する画像が高度化されるため、より高度な判別の仕組み(特徴)を見つけ出す必要がある。一方で、識別器は最初は判別性能が低いため、生成器としては偽物だと見破られない画像を生成することは比較的容易だが、訓練が進むと、識別器の判別能力が向上するので、画像を生成するための仕組みを高度化させる作る必要がある。GANでは、このように、2つのニューラルネットワークのモデルが競い合いながら性能を上げ続けることで、最終的には本物に近いようなデータを生成することができるようになる。

GANのアイデアの根幹は、ユニークながらもシンプルで強力なモデル訓練のメカニズムだ。その仕組みのシンプルさ故に、世界中の研究者やエンジニアが加速度的に様々な改良を加えることになり、結果、今日では多種多様なモデルが開発され、公開されている。GANの亜種を集めたサイト “The GAN Zoo”[23]によると、500種類以上のGANのバリエーションが存在している(2018年更新終了)。以下に、2014年から2018年までのGANを利用した顔画像生成技術の性能の進化を示す。[18]。


GANを利用した顔画像生成技術の性能進化 (2014[2], 2015[24], 2016[25], 2017[26], 2018[1])


3.3 エンコーダ・デコーダモデル(Encoder-Decoder Models)


オートエンコーダに似た概念として、エンコーダ・デコーダモデル(Encoder-Decoder Models)という概念がある。エンコーダ・デコーダモデルは、ニューラルネットワークのモデル構造であり、ある系列のデータを別の系列のデータに変換するために適している。主に自然言語処理や音声処理などの領域で発達してきた。アプリケーションの具体例としては、機械翻訳(自動翻訳)が挙げられる。機械翻訳とは、ある言語で記述された文章を別の文章に変換する技術の総称であり、文章を文字や単語の系列として扱う。エンコーダ・デコーダモデルを利用した機械翻訳では、エンコーダと言われるニューラルネットワークで変換元の文章における単語の系列を解析し、デコーダと言われるニューラルネットワークで変換先の文章を生成するような構成になっている。ただし、オートエンコーダと同様にエンコーダとデコーダという概念や言葉が利用されているが、系列データを扱うために適した構造のニューラルネットワークが利用されることが多く、内部構造は大きく異なる。


エンコーダ・デコーダモデル


3.4 高精細な顔画像生成


画像の生成はGANの得意分野の一つだが、その中でも顔画像生成は、均質かつ良質なデータが大量に得やすいことや、適度に限定された問題設定であることなどが好材料となり、急速に進化した分野だ。高精細な顔画像を生成する技術の開発をリードしてきた研究グループの一つが、半導体メーカーであるNVIDIA社だ。ここでは、NVIDIA社の開発した2つのモデルを紹介する。

まず、高解像度の画像を生成できないという従来のGANの弱点を克服した画期的な手法が、Progressive GAN[26]だ。従来のGANでは高解像度の画像を生成するようなモデルを訓練することためには、莫大な時間とリソースを要する上に、性能が安定しないという問題があった。一方で、低解像度の画像を生成するモデルであれば、短時間で安定して訓練することが可能であることがわかっていた。そのため、Progressive GANでは、低解像度のモデルから開始し、徐々にモデルを大きくしながら高解像度の画像を出力できるように訓練させる、というように段階的にモデルを高度化させるこれにより、安定して高解像度の画像を生成できるようになった。


Progressive GANによって生成した画像[26]


NVIDIA社はその一年後、Progressive GANから発展させたGANである、StyleGAN[1]を発表した。StyleGANはマッピングネットワーク(Mapping Network)と合成ネットワーク(Synthesis network)という2つのネットワークを導入することで、年齢や性別などの属性が画像へ影響を及ぼす特徴量を抽出し、重要なスタイルとそうでないノイズを選り分けながらデータを訓練することができるようになった。これにより、従来のGANよりもさらに高品質な画像を生成することが出来るようになり、本ホワイトペーパー冒頭に示したような高精細な顔画像が生成できるようになった。


3.5 画像のスタイル変換


初期のGANにおいては、ランダムにデータが生成されるため、どのようなデータを出力するかといった制御ができなかった。2014年に発表されたConditional GAN(以降CGAN)[27]は、訓練時に画像に加えて属性情報を与えることで、属性を制御しながらデータを生成できる技術だ。これにより、例えば、年齢や顔の形などの属性を指定して顔画像を生成することが可能となった。その後発表されたPix2Pix[28]は、内部的にCGANを利用することで、ある種の画像を別の種の画像に変換する「スタイル変換」を実現する技術だ。Pix2Pixを利用することで、例えば線画を実写に変換することや、その逆の変換などが可能となった。


Pix2Pixを用いてスタイル変換した画像[28]


Pix2Pixは、2つのスタイルの画像がペアで入手できる場合には有効だったが、現実にはこのようにペアとなっている画像を大量に含むデータセットを入手することは一般的には困難であり、用途が限定されてしまうという問題があった。CycleGAN[29]は、この課題を解決し、対となった画像が存在しないようなデータに対してもスタイル変換を可能にした。CycleGANでは画像間の関係を訓練するために、2組の生成器と識別器に異なるスタイルのデータセットを訓練させることに加え、変換→逆変換を一連の処理として実行して元の画像が復元できるようにモデルを訓練する。これによって、2つのスタイルに共通するペアの画像がなくても双方向に変換することができるようになった。


CycleGANによってスタイル変換した画像[29]


3.6 超解像(Super Resolution)


解像度が低い画像を高精細な画像に変換する技術として、「超解像(Super Resolution)」と呼ばれる技術がある。SRGAN[30]は超解像にGANを用いた先駆的な研究だ。高解像度の画像と低解像度の画像がペアになっているデータを用いて、モデルを訓練する。まず、生成器は、低解像度の画像から高精細な画像を生成しようと試みる。次に、あらかじめ用意した高解像度の画像と、生成器が生成した画像を識別器に渡し、生成された画像か本物かどうかを判定する。生成器はより本物の高精細な画像に近い画像を出力しようと訓練され、識別器は生成された画像が本物かどうか判断するというように、敵対的に学習される。この訓練プロセスを繰り返すことにより、最終的には生成器は低解像度の画像から高解像度の画像を生成できるようになる。以下の図に示すとおり、SRGANは、元の高精細な画像とほぼ見分けられない程度の高い質の超解像画像を生成できることがわかる。


低解像度の画像から超解像した画像の各手法の比較[30](左から双三次補間、SRResNet、SRGANを用いて超解像した画像と元の高解像度の画像)


SRGANの登場後、RankSRGAN[31]やPULSE[32]といった、より高性能な超解像技術が登場しており、これらの技術の一部はディープフェイクの実装に取り入れられている。


3.7 音声合成


代表的な音声合成に関する研究の一つは、WaveNet[14]だ。WaveNetは、2016年にDeepMind社から発表されたエンコーダ・デコーダモデルで、生の音声波形を生成することが可能だ。WaveNetは、当時画像処理の分野で高い性能を発揮していた畳み込みニューラルネットワーク(CNN: Convolutional Neural Network)を改良したアーキテクチャを採用することで、長い文章の抑揚を表現することができるようになり、自然な音声を合成することが可能になった他、複数話者の切り替え、トーンや感情などをコントロールすることも可能になった。その後の改良版が様々なところで実用化されており、GoogleアシスタントやGoogle Cloudの多言語対応の音声合成サービスなどに実用化されている。

この技術を発展させたのがTacotron[33][34]だ。上記のWaveNetは、1)テキスト分析、音響モデル、音声合成といったいくつかの構成要素を組み合わせて最終的に合成された音声を出力していたが、これらすべての処理を一つの大きなディープラーニングのモデルで構成したのがTacotronであり、その性能も飛躍的に向上している。このように、入力から出力まで、一つのモデルで多くの処理が行われるため、エンドツーエンド式の音声合成技術(End-to-End Speech Synthesis)と呼ばれている。

音声合成技術の発展形として、特定の話者の音声も入力として同時に受け取り、あたかもその人物が喋っているかのような音声を合成して出力する技術が発達してきた。これが 音声クローニング(Voice Cloning)であり、ディープフェイクで多用されている技術だ。「SV2TTS」[35]は、このような音声クローニング技術の代表例の一つで、WaveNetとTacotronを発展させた技術であり、変換先の話者の音声サンプルが5秒程度あればクローンが可能となっている。


4 ディープフェイクの作成プロセス


4.1 顔画像の生成


フェイク動画の作成自体は、ディープラーニング技術やGANの技術が普及する前から技術的には可能だったが、専門的な技術と多くの労力を要する大変な作業となることが一般的だった。特に、フレームごとに自然な形で合成することは、根気のいる大変な作業だった。また、人間が1フレーム毎に手作業で処理するため、どうしても不自然な部分が残ってしまう点が技術的な課題だった。しかし、ディープフェイク技術を利用することで、データとある程度のPCがあれば高画質で自然な動画を短い時間で簡単に作成できるようになった。

ディープフェイクの有名な実装としては、DeepFaceLab[36][37]、FaceSwap[38]、faceswap-GAN[39](2019年に開発停止)などがあるが、ここでは、DeepFaceLabを例に、ディープフェイクにおける顔画像処理プロセスについて説明する。

  1. 顔画像の抽出

  2. 顔画像変換のためのモデル訓練

  3. 顔画像変換処理

  4. 後処理


ディープフェイクの作成プロセス


まず、顔の場所と向きを特定して顔画像を抽出(ステップ1)するところから一連の処理は開始される。ここでは主にディープラーニング技術を画像認識用のモデルとして利用することで、画像の中から顔と各部位を検知し、顔の中から目や鼻などの目印を獲得し、顔の向きと大きさを特定する。この処理においては、セグメンテーションと呼ばれる技術を用いてピクセル単位で顔部分を特定し、顔画像を抽出する[36]。

次に、顔画像変換のためのモデル訓練(ステップ2)だ。変換する2人の顔画像をデータセットとして利用し、オートエンコーダーを用いて、二人の顔画像をそれぞれ生成(再構成)するようなモデルを訓練(ステップ2)する[36]。この際、入れ替え対象の顔データを大量に利用して訓練することができれば、性能が向上し、より自然な動画が作成可能になる。この部分については、DeepFaceLabとFaceSwapではオートエンコーダを、faceswap-GANではGANを主に利用している。

そして、顔画像変換処理(ステップ3)においては、学習の際に用いた顔生成用のモデルを用いて、入れ替え対象の場所に対して、対象の顔を生成する。最後に、後処理(ステップ4)として、ブレンディングとシャープニングの過程がある[36]。ブレンディングでは、入れ替えた顔のサイズ変更や背景の継ぎ目を調節したり、顔の輪郭をぼやかしたり、入れ替えた顔の継ぎ目がスムーズになるようにするといった処理施すことで、より自然な出力が得られる。そして、シャープニングでは、その出力を超解像などの技術を利用して、高精細な画像に変換する。


4.2 顔生成モデルの学習


ディープフェイクの一連の処理の中でも、ステップ2の「顔画像変換のためのモデル訓練」およびステップ3の「顔画像変換処理」は、中心的な処理となるので、さらに詳しく説明する。この部分の実装としては、GANを利用するものなど、いくつかの種類があるが、ここではいくつかの有名なディープフェイクの実装において採用されている、比較的一般的な方法として、オートエンコーダを利用する方法を例に説明する。


顔生成モデルの学習プロセス


まず、変換元の人物をA、変換先の人物をBとした際に、一つの共通したエンコーダと、それぞれの人物に対応する2つの異なるデコーダを用意する。次に、人物AおよびB、それぞれの顔画像を別々に生成できるように、デコーダを2つに分けつつも、一つのエンコーダを共有して利用する。前述の通り、オートエンコーダは入力された情報(画像)の重要な特徴を抽出することで、小さな情報量で表現し、最終的には再度復元できるような能力を持つモデルだ。人物の顔画像をエンコーダ・デコーダに大量に与えることで、それぞれの人物の顔画像を生成できるようなデコーダができる。この際、エンコーダは顔画像を小さな情報量で表現するための特徴として、重要な属性(顔の向きなど)を抽出するが、エンコーダを共有することで、共通の特徴を内部的に獲得し、対応する顔画像を生成できるようになる。変換元の人物Aの画像から抽出した特徴を元に、対応するような変換先の人物Bの画像を生成し、該当する箇所に顔を埋め込むことで、変換処理が実現されている。