Slide 1

Slide 1 text

GDG Tokyo 生成 AI 論文をわいわい読む会 紹介論文 A Van Den Oord,et. al., “Neural discrete representation learning”, NeurIPS, 2017 中井 悦司 AI Solutions Architect, Google Cloud この資料はコミュニティイベント「GDG Tokyo 生成 AI 論文をわいわい読む会」での発表スライドです

Slide 2

Slide 2 text

紹介の趣旨 2 ● 2018 年の比較的古い論文で、 日本語での解説ブログも散見さ れます。 ● それでも原論文にあたること で、「筆者が何を考えてこの論 文を書いたのか」など新しい発 見があるはず。--- ということを 伝えたくて選びました。

Slide 3

Slide 3 text

なにはともあれ・・・ 3 ● まずは、VAE (Variational Auto Encoder)の知識が必要そう・・・

Slide 4

Slide 4 text

事前準備( VAE の復習)

Slide 5

Slide 5 text

オートエンコーダ ● エンコーダとデコーダを接続して、 同じデータを再現する様に学習した モデルがオートエンコーダです。 ● エンコーダとデコーダの接続部分の 低次元空間を「潜在空間」、もしく は、「埋め込み空間」と言います。 ● 潜在空間には、画像の「種類」を表 す抽象化された情報が埋め込まれて いると考えられます。 ● エンコーダ/デコーダは、画像デー タの「不可逆圧縮アルゴリズム」と 捉えることもできます。 5 潜在空間

Slide 6

Slide 6 text

オートエンコーダの学習例 ● 32 × 32 ピクセルの画像を 2 次元の潜 在空間に埋め込むオートエンコーダを 定義します。 ● つまり、1 つの画像は、2 次元平面の 1 つの点に対応づけられます。 ● エンコーダ部分は畳み込みフィル ター、デコーダ部分は転置畳み込み フィルターを使用します。 6 32 × 32 × 1 16 × 16 × 32 4 × 4 × 128 8 × 8 × 64 2 次元の 潜在空間

Slide 7

Slide 7 text

オートエンコーダの学習例 ● Fashion MNIST の画像データで学習した結果、 潜在空間には、10 種類の画像に対応したクラス ターができていることが分かります。 ● デコーダを使用すると、潜在空間の点から新し い画像を生成することができます。 7 学習データに対する エンコーダの出力値

Slide 8

Slide 8 text

オートエンコーダの課題点 8 この隙間の部分を学習する データが存在しない 潜在空間 学習データ エンコーダ ● 学習データに対応した潜在空間の点は、まばらに存在 します。 ● 隙間の部分からは、まわりの学習データの「中間状 態」の画像が生成されますが、多くの場合、人間から 見て「自然な画像」にはなりません。 ● 現実世界の画像は連続ではなく、「飛び飛び」に存在 するという事実をモデルに取り込む必要があります。 ● この問題の解決を目指して、ある工夫を加えたモデル が変分オートエンコーダ(VAE)です。

Slide 9

Slide 9 text

変分オートエンコーダ(VAE)の特徴 ● 潜在空間上で、「自然な画像」が生成される点 は、標準正規分布に従って分布します。 ● 言い換えると、デコーダへの入力値を標準正規 分布で選ぶと、高確率で自然な画像が生成でき ます。 ● 理想的には、標準正規分布でサンプリングした 値の集合から画像を生成すると、学習データと 同じ画像セットが再現されます。 9

Slide 10

Slide 10 text

事前分布 p(z) と事後分布 q(z|x) について ● 論文内で「事前分布 prior p(z)」「事後分布 posterior q(z|x)」という言葉が登場します。 ● 学習データをエンコーダで潜在空間にマッピン グした分布を事後分布 q(z|x) と呼びます。 ● 潜在空間から事前分布 p(z) で集めた値からデ コーダで画像を生成すると、(理想的には)学 習データの集合が再現されます。 ● 理想的な学習ができた場合、事後分布と事前分 布は一致します。 ● VAE の場合は、標準正規分布が事後分布/事前 分布になります。 10 学習 データ 学習 データ 事前 分布 デコーダ エンコーダ 事後 分布

Slide 11

Slide 11 text

論文紹介

Slide 12

Slide 12 text

12 VQ-VAE の本質的なアイデア VAE の事前・事後分布 は正規分布 VQ-VAE の事前・事後分布は、 埋め込みテーブルをインデックス するカテゴリカル分布???

Slide 13

Slide 13 text

13 離散的な潜在変数とは・・・? 数学記号の使い方がわりと適当 (記号の正確な説明がない) のでツラい・・・

Slide 14

Slide 14 text

14 離散的な潜在変数とは・・・? この絵とあわせて読むと なんとか理解できる!

Slide 15

Slide 15 text

離散的な潜在変数とは! 15 ● VQ-VAE では、潜在空間を「画像の各部位の役割を示すベクトル値の集合」に置き換えるこ とで、画像の特徴をダイレクトに表現します。 1 つの画像に対応した 「潜在空間の値」のイメージ ・・・ コードブック 空 空 空 海 海 海 雲 雲 海 海 船 船 海 島 島 海 海 海 島 島 ○ 「各部位の役割を示すベクトル値」は一定数の ベクトル値を事前に用意します。これを「コー ドブック」と呼びます。コードブックの個々の ベクトル値は、直感的には、「空」「雲」 「海」などの意味を表すと考えます。 ○ コードブックの値のみを組み合わせることで、 「自然な画像に対応する潜在空間の値」が構成 しやすくなります。 空 海 雲 島 海 海 島 島 島 コードベクトルが個別の意味を 持つ点は論文の後半の例で 明らかになります。

Slide 16

Slide 16 text

VQ-VAE の学習処理 16 ● エンコーダは、元の画像に対して「画像サイズを縮小して(縦横のピクセル数を 減らして)各ピクセル値をベクトル値に置き換える」という処理を行います。さ らに、各ベクトル値をコードブックに載っているベクトル値(値が一番近いも の)に置き換えてからデコーダに入力します。

Slide 17

Slide 17 text

VQ-VAE による学習例 17 ● 入力画像:128 × 128 ピクセルのカラー画像 ○ 画像は 256 階調(RGB の各レイヤーのピクセル値は 256 = 28 通りの値を取る)なので、1 つの画 像の情報量は 128 × 128 × 3 × 8 ビット ● コードブック:512 個の 1 次元ベクトル(つまり、512 = 29 種類の離散値) ● 潜在空間のサイズ:32 × 32 ピクセル ○ 潜在空間の情報量は 32 × 32 × 9 ビットなので、画像の情報量は約 1/40 に削減 https://arxiv.org/abs/1711.00937 デコーダからの出力 エンコーダへの入力

Slide 18

Slide 18 text

音声データへの適用 18 ● コードブックに登録された個々の「コードベクトル」は何を表しているのでしょ うか? ・・・ コードブック ? ? ? ? ? ? ? ? ・・・ コードベクトルの時系列 エンコーダ デコーダ 出力波形は入力波形と 大きく異なる・・・

Slide 19

Slide 19 text

潜在空間に抽出される情報 声の抑揚や声質は異なるが 話している内容(文章)は 変わっていない! 潜在空間には「話している 内容(文章)」の情報が 抽出されている

Slide 20

Slide 20 text

コードベクトルは音素に対応? 20 ● コードブックに登録された個々の「コードベクトル」は何を表しているのでしょ うか? ・・・ コードブック ? ? ? ? ? ? ? ? ・・・ コードベクトルの時系列 エンコーダ デコーダ コードベクトルは音素 (「あ・い・う」などの 音の最小単位)を表して いるのでは?!

Slide 21

Slide 21 text

コードベクトルは音素に対応? 128個のコードベクトル を41個の音素に対応させ ると49.3%の一致率 ● 「音声」の概念を明示的に学習させていない(モデルから見れば入力データは意味のない時系列データ) にもかかわらず、このモデルは音声の最小構成要素である「音素」を発見することに成功した!

Slide 22

Slide 22 text

Thank you.