Slide 1

Slide 1 text

情報工学科 教授 杉浦孔明 [email protected] 慶應義塾大学理工学部 機械学習基礎 第11回 深層生成モデル

Slide 2

Slide 2 text

深層生成モデル - - 4

Slide 3

Slide 3 text

生成モデルと深層生成モデル - - 5 ■ 生成モデル(generative model) ■ データがどのように生成されているかを表すモデル ■ 深層生成モデル(deep generative model) ■ DNNを用いた生成モデル ■ 画像、音声、テキスト等の高品質な生成を可能にした https://www.whichfaceisreal.com/ Tacotron2 GPT-2 https://demo.allennlp.org/next-token-lm

Slide 4

Slide 4 text

深層生成モデルの例 - - 6 一部説明済 ■ 自己回帰モデル(autoregressive model) 本日の内容 ■ 自己符号化器(autoencoder, AE) ■ 変分自己符号化器(variational autoencoder; VAE) ■ 敵対的生成ネットワーク(generative adversarial network; GAN) その他 ■ 正規化フロー(normalizing flow) ■ 拡散モデル(diffusion model)

Slide 5

Slide 5 text

【実習】 自己回帰型の言語モデル - - 7 ■ https://colab.research.google.com/drive/1vwGOMaj05vB0AGl0494l UHhSSAFy7ZUJ?usp=sharing ■ GPT-2 ■ 2019年2月にOpenAIが発表した言語モデル ■ rinna社が日本語GPT-2を公開 ■ GPT-3, ChatGPT等派生もある 確実に目的意識を持って、やることを掴 むということです。何事も、最初の動機 が明確なほど、充実した時間を過ごせる はずです。例えば… “高校生活で大事なことは” Radford, Alec, et al. "Language models are unsupervised multitask learners." OpenAI blog 1.8 (2019): 9.

Slide 6

Slide 6 text

自己符号化器 - - 8

Slide 7

Slide 7 text

自己符号化器(Autoencoder, AE) - - 9 ■ 背景 ■ 実応用データはしばしば次元 数が大きいが、全ての次元が 重要な訳ではない ■ 例:MNISTでは784次元、 4000x3000白黒画像では 1200万次元 ■ データの特性に応じて偏って 分布しているので、コンパク トな表現に変換したい 応用例: ■ 次元削減(dimensionality reduction) ■ 異常検出(anomaly detection) ■ 可視化(visualization) https://douglasduhaime.com/posts/visualizing-latent-spaces.html

Slide 8

Slide 8 text

自己符号化器(autoencoder: AE) - - 10 入力の再構成を学習 ■ 教師なし学習の一種(決定的) ■ エンコーダは入力を特徴量に変換する関数 ■ デコーダは特徴量を入力の再構成に変換する関数 入力 出力: 入力の再構成 再構成誤差 (reconstruction error) エンコーダ (符号化器) デコーダ (復号化器) 特徴量 (潜在表現)

Slide 9

Slide 9 text

自己符号化器の例: 2層ニューラルネット - - 11 ■ 重みW、バイアスb、潜在表現h を用いた2層ニューラルネット ■ 符号化(encode): ■ 復号化(decode): の次元数より小さい 符号化器 (encoder) 復号化器 (decoder)

Slide 10

Slide 10 text

自己符号化器の例: 実数値入力に対する活性化関数と誤差関数 - - 12 ■ 重みW、バイアスb、潜在表現h を用いた2層ニューラルネット ①入力が実数値の場合 ■ 活性化関数:恒等写像 ■ 誤差関数:二乗誤差 の次元数より小さい 符号化器 (encoder) 復号化器 (decoder)

Slide 11

Slide 11 text

自己符号化器の例: 2値入力に対する活性化関数と誤差関数 - - 13 ■ 重みW、バイアスb、潜在表現h を用いた2層ニューラルネット ①入力が実数値の場合 ■ 活性化関数:恒等写像 ■ 誤差関数:二乗誤差 ②入力が2値(0または1)の場合 ■ 活性化関数:シグモイド関数 ■ 誤差関数: ■ 交差エントロピー誤差 自己符号化器の誤差は入力をどれだけ 再現できたかを表すため、再構成誤差 (reconstruction error)とも呼ばれる

Slide 12

Slide 12 text

自己符号化器の例: 重み共有 - - 14 ■ 重みW、バイアスb、潜在表現h を用いた2層ニューラルネット ■ と の構造が対 称であれば、 をすべて 学習可能とする必要はない →以下の重み共有を行う より小さい次元 符号化器 (encoder) 復号化器 (decoder) 仮に学習可能としたとしてもこの形が最適なので、学習可能 とする必要がない(=過剰なモデルとならないようにする)

Slide 13

Slide 13 text

準備 - - 15

Slide 14

Slide 14 text

【応用確率論の復習】 ベイズの定理(Bayes’ theorem) - - 16 ■ ベイズの定理 上記を忘れてもすぐ導出できる ■ 同時確率 は以下のよう に表せる ■ ■ ■ →以下の両辺をP(A)で割る

Slide 15

Slide 15 text

【機械学習基礎の復習】尤度とは - - 17 ■ 観測値 の同時確 率を最大化したい ■ サンプルは母集団から独立同分 布で抽出されたものとする (i.i.d.; independent and identically distributed) ■ 「 が既知で、 が未知」 から 「 が既知で、 が未知」に 見方を変える ■ 尤度(likelihood, ゆうど): ■ データが与えられたうえでの モデルの尤もらしさ ■ 規格化(=足して1)されて いないので確率ではない

Slide 16

Slide 16 text

KLダイバージェンス(カルバックライブラーダイバージェンス, Kullback–Leibler divergence; KLD) - - 18 離散 ■ ■ 二つの確率分布間の「近さ」を測り, のとき となる ■ 非対称であるため数学的な距離ではない 連続 ■ XとYの間の相互情報量 https://cdn-ak.f.st-hatena.com/images/fotolife/y/yusuke_ujitoko/20170507/20170507192925.png XとYが独立であればP(X,Y)=P(X)P(Y) 相互情報量がゼロ

Slide 17

Slide 17 text

付録 KLダイバージェンスの計算 - - 19 ■ https://colab.research.google.com/github/d2l-ai/d2l-pytorch- colab/blob/master/chapter_appendix-mathematics-for-deep- learning/information-theory.ipynb

Slide 18

Slide 18 text

変分自己符号化器 - - 20

Slide 19

Slide 19 text

変分自己符号化器(variational autoencoder: VAE) [Kingma & Welling 2014] - - 21 入力の再構成+潜在表現の分布を学習 ■ 教師なし学習の一種(確率的) ■ エンコーダは特徴量に関する確率分布(近似事後分布) ■ デコーダは入力に関する確率分布(条件付き分布:尤度関数) 入力 出力: 入力の再構成 再構成誤差 (reconstruction error) エンコーダ (符号化器) デコーダ (復号化器) 特徴量 (潜在表現)

Slide 20

Slide 20 text

VAEの学習:方針 - - 22 対数周辺尤度の最大化を目指す ■ 観測 がある未知の分布 から生成されたと仮定 ■ パラメータ をもつモデル で を近似 ■ 観測 の出現確率の最大化  対数周辺尤度 の最大化 ■ と の関係は :同時確率に対し特定 の確率変数に対して和 を取ることで消去でき るため 周辺化

Slide 21

Slide 21 text

VAEの学習:損失関数の導出 - - 23 対数周辺尤度 の最大化 ■ ■ を変分下限(evidence lower bound: ELBO)と呼ぶ ■ とりあえず変分下限を大きくすれば 対数周辺尤度も大きくなる!  分母分子に同じ項を導入  期待値の定義 イェンセンの不等式

Slide 22

Slide 22 text

VAEの学習:損失関数の導出 - - 24 変分下限 の最大化 ■ ■ 右辺第1項(対数尤度)を大きくし,第2項(KLD)を小さくすればよい ■ 補足:対数周辺尤度と変分下限の差は であること を示せる ■ 変分下限の最大化(対数周辺尤度に近づけること)は真の事後分布 を で近似することを意味する(変分推論:variational inference)

Slide 23

Slide 23 text

VAEの学習:再構成誤差と正則化項 - - 25 変分下限右辺第1項(対数尤度:再構成誤差) ■ 画像の各ピクセルが2値(ベルヌーイ分布)であると 仮定すれば負の交差エントロピーとなる ■ ■ 交差エントロピーは最小化(再構成誤差) ■ 負の交差エントロピーは最大化(対数尤度) 変分下限右辺第2項(KLD:正則化項) ■ に正規分布, に標準正規分布 を仮定すれば解析的に求まる ■ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

Slide 24

Slide 24 text

再パラメータ化トリック - - 26 再パラメータ化トリック(reparameterization trick) ■ 順伝播計算時に潜在状態 を からサンプリングすると 計算グラフが切れるため誤差逆伝播法を適用できない ■ とすることで解決 ■ は標準正規分布 からサンプリング

Slide 25

Slide 25 text

潜在(特徴量)空間の違い - - 27 ■ AEとVAEの潜在(特徴量)空間を比較 ■ VAEでは潜在空間が正規分布に近づいている https://towardsdatascience.com/intuitively-understanding-variational-autoencoders-1bfe67eb5daf AE VAE KLDのみ

Slide 26

Slide 26 text

潜在空間と出力画像の関係 - - 28 潜在状態の線形補完 ■ 0を出力する潜在状態から7を出力する潜在状態に連続的に変化 ■ 出力画像も連続的に変化

Slide 27

Slide 27 text

敵対的生成ネットワーク - - 33

Slide 28

Slide 28 text

敵対的生成ネットワーク(GAN; Generative Adversarial Network ) [Goodfellow+ 2014] - - 34 ■ 2つのDNNで構成 ■ Generator (G): 本物のサンプルと似た偽物を生成するように学習 ■ Discriminator (D): 本物と偽物のサンプルを見分けるように学習 ■ 画像生成、音声合成、データ拡張、等に応用 DCGAN [Radford+ 15] [Karras+ ICLR18]

Slide 29

Slide 29 text

GANの構成 - - 35 ■ Generatorは乱数 (ノイズ)を入力として偽物のサンプルを出力 ■ Discriminatorには、本物 OR 偽物のサンプルを入力 ■ 生成の際はGeneratorのみを使用 G (Generator) D (Discriminator) OR 本物 サンプルが与えられた うえで、そのサンプル の生成源Sが本物である 確率の推定値 偽物 乱数

Slide 30

Slide 30 text

GANの学習 - - 36 ■ 以下の損失関数を用いて DiscriminatorとGeneratorを交 互に更新(ミニマックス的) これまで登場した損失関数との 対応がわかりにくい

Slide 31

Slide 31 text

GANの学習における損失関数を書き直す - - 37 ■ 以下の損失関数を用いて DiscriminatorとGeneratorを交 互に更新(ミニマックス法) これまで登場した損失関数との 対応がわかりにくい ■ Discriminatorの損失関数 ■ 本物を本物と予測する確率が高く、 偽物を本物と予測する確率が低け れば損失が減る ■ Generatorの損失関数 符号を反転するゆえ「敵対的」↑

Slide 32

Slide 32 text

条件付けによる生成のコントロール - - 38 ■ GANの問題: 指定されたクラス(例:緑色のロゴ、数字の7)の みを生成するようにコントロールできない ■ Conditional GAN (CGAN) [Mirza+ 2014]: クラスラベルをGenerator への追加入力とする ■ Auxiliary classifier GAN (AC-GAN) [Odena+ 2017]: クラスラベルを 追加入力および追加出力とする https://arxiv.org/pdf/1810.10395.pdf

Slide 33

Slide 33 text

本講義全体の参考図書 - - 39 ■ ★機械学習スタートアップシリーズ これならわかる深層学習入門 瀧雅人著 講談 社(本講義では、異なる表記を用いることがあるので注意) ■ ★Dive into Deep Learning (https://d2l.ai/) ■ 深層学習 改訂第2版 (機械学習プロフェッショナルシリーズ) 岡谷貴之著 講談社 ■ ディープラーニングを支える技術 岡野原大輔著 技術評論社 ■ 画像認識 (機械学習プロフェッショナルシリーズ) 原田達也著 講談社 ■ 深層学習による自然言語処理 (機械学習プロフェッショナルシリーズ) 坪井祐太、 海野裕也、鈴木潤 著、講談社 ■ IT Text 自然言語処理の基礎 岡﨑直観、荒瀬由紀、鈴木潤、鶴岡慶雅、宮尾祐介 著、オーム社 ■ 東京大学工学教程 情報工学 機械学習 中川 裕志著、東京大学工学教程編纂委員会 編 丸善出版 ■ パターン認識と機械学習 上・下 C.M. ビショップ著 丸善出版

Slide 34

Slide 34 text

参考文献 - - 40 1. https://qiita.com/kenmatsu4/items/b029d697e9995d93aa24 2. Kingma, D. P., & Welling, M. (2013). Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114. 3. Kingma, D. P., & Welling, M. (2019). An introduction to variational autoencoders. arXiv preprint arXiv:1906.02691. 4. Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., ... & Bengio, Y. (2014). Generative adversarial nets. Advances in neural information processing systems, 27. 5. Mirza, M., & Osindero, S. (2014). Conditional generative adversarial nets. arXiv preprint arXiv:1411.1784. 6. Rezende, D., & Mohamed, S. (2015, June). Variational inference with normalizing flows. In International conference on machine learning (pp. 1530- 1538). PMLR.

Slide 35

Slide 35 text

参考文献 - - 41 1. Radford, A., Metz, L., & Chintala, S. (2015). Unsupervised representation learning with deep convolutional generative adversarial networks. arXiv preprint arXiv:1511.06434. 2. Karras, T., Aila, T., Laine, S., & Lehtinen, J. (2017). Progressive growing of gans for improved quality, stability, and variation. arXiv preprint arXiv:1710.10196. 3. Patashnik, O., Wu, Z., Shechtman, E., Cohen-Or, D., & Lischinski, D. (2021). Styleclip: Text-driven manipulation of stylegan imagery. In Proceedings of the IEEE/CVF International Conference on Computer Vision (pp. 2085-2094).