TL; DR (要約)
AIが「分類する評論家」から、新しいデータを「創造する芸術家」へ。
データの本質を「設計図(潜在空間)」として学び、創造する2大生成モデルVAEとGANの比較です。
VAE (変分オートエンコーダ)
【安定志向の優等生】
仕組み: データを「平均」と「ばらつき」を持つ確率分布として潜在空間に要約。その地図から新しいデータを生成します。
特徴: 学習は安定していますが、生成する画像は少しぼやけがちです。
GAN (敵対的生成ネットワーク)
【天才肌の芸術家】
仕組み: 「偽物を作るAI」と「見破るAI」が競い合い、互いを高め合うことで、驚くほどリアルなデータを生成します。
特徴: 高品質な画像を生成できますが、学習は不安定になりがちです。
【使い分け】安定してデータの構造を学びたいならVAE、とにかくリアルな画像が欲しいならGAN。
この章の学習目標と前提知識
はじめに:AIは「創造」できるのか? Part 2
皆さん、こんにちは!「拡張編」もいよいよ佳境ですね。AIの「創造性」を探る旅の続きです。
前回の講義(第22回)では、現代AIの最高峰とも言えるTransformerモデルを徹底的に解剖しました。Transformerが、まるで熟練の職人のように、文脈を読みながら一単語ずつ、丹念に言葉を紡ぎ出していく「自己回帰モデル」の仕組み、そのパワフルさを実感いただけたのではないでしょうか。
しかし、AIの「創造」のアプローチは、一つではありません。もし、一つ一つの部品を組み立てていく職人のような方法だけでなく、全体像の「設計図」をまず頭の中に描き、その設計図から一気に作品を創造する、天才建築家のような方法があったとしたらどうでしょう?
この「設計図」の考え方を中核に据えるのが、今回学ぶ潜在変数モデル (Latent Variable Models) です。このアプローチでは、高次元で複雑な実データ(例えば、一枚のCT画像が持つ何十万というピクセル情報)を、その本質的な特徴だけを捉えた、非常にコンパクトな低次元の空間(潜在空間)に一度写し取ります。この潜在空間こそが、AIが理解したデータの「アイデア」や「設計図」が眠る場所なのです。
そして、この「設計図」さえ手に入れてしまえば、あとはその設計図の少しずつ異なるバージョンから、無数のバリエーションを持つ、新しいデータを自在に生成することが可能になります。
今回は、この潜在変数モデルというアプローチを代表する、二大巨頭とも言えるモデル、VAE (Variational Autoencoder) と GAN (Generative Adversarial Network) の両方をご紹介します。
この記事の構成について
…とはいえ、どちらも非常に奥深く、一度に全てを語るのは少し大変かもしれません。そこで、この記事ではまず第23回全体のダイジェストとして、二つのモデルの基本的な考え方と、その思想の「違い」に焦点を当て、全体像を一気通貫で掴んでいただくことを目指します。
そして、それぞれのモデルのより詳細な理論や具体的な実装については、続く23.1〜23.5の各記事で、じっくりと、徹底的に深掘りしていきます。まずは、AIによるもう一つの「創造」の世界へ、安心して足を踏み入れてみましょう!
1. 生成モデルとは何か? 〜AIは「世界」をどう学ぶのか〜
さて、いよいよ生成モデルの世界に足を踏み入れますが、その前に一つ、大切な区別をしておきましょう。それは、これまで私たちが主に扱ってきた「識別モデル」と、これから学ぶ「生成モデル」の違いです。この二つのアプローチの違いを理解することが、AIの可能性をより深く知るための鍵となります。
1.1 識別モデル vs 生成モデル 〜「評論家」と「芸術家」〜
この二つの違いを、アートの世界で例えてみましょう。
- 識別モデル (Discriminative Model):「優秀なアート評論家」 識別モデルは、データ間の「境界線」を見つけるのが得意です。この評論家は、ゴッホの絵とピカソの絵をたくさん見せられるうちに、両者の「違い」を学び、「これはゴッホの作品だ」「これはピカソだ」と高い精度で見分けることができます。しかし、彼自身がゴッホ風の絵を描くことはできません。
数式で言えば、入力データ \(x\) が与えられたときに、そのラベルが \(y\) となる条件付き確率 \(P(y|x)\) を学習しています。「この画像(\(x\))が、犬(\(y\))である確率」を計算する、という具合ですね。 - 生成モデル (Generative Model):「模写を極めた芸術家」 一方、生成モデルは、「模写を極めた芸術家」に似ています。この芸術家は、ゴッホの絵を何百枚も模写するうちに、「ゴッホらしさ」とは何か、その筆遣い、色使い、構図といった、絵の根底にあるスタイルやルールそのものを学び取ります。その結果、彼は「ゴッホの新作」と見紛うような、全く新しい、それでいてゴッホらしい絵を自ら描き出すことができるのです。
数式で言えば、データそのものが生まれる同時確率 \(P(x, y)\) や、データ自体の分布 \(P(x)\) を学習しようとします。「犬というものは、そもそもどんな形や色をしているのか」という、世界の仕組みそのものを理解しようとする、より野心的なアプローチと言えるかもしれません。
| モデルの種類 | 得意なこと | アナロジー | 学習対象 |
|---|---|---|---|
| 識別モデル | 分類・回帰(境界線を見つける) | アート評論家 | \(P(y|x)\) |
| 生成モデル | データの生成(分布を理解する) | 芸術家 | \(P(x)\) または \(P(x,y)\) |
1.2 潜在空間 (Latent Space) – アイデアの「設計図」が眠る場所
では、この「芸術家AI」は、どうやって新しい絵のアイデアを思いつくのでしょうか?その秘密が、潜在空間(Latent Space)という、非常に面白くて重要な概念に隠されています。
潜在空間は、高次元で複雑なデータの「本質的な特徴」だけを抜き出して、低次元の空間に整理整頓した、一種の「アイデアの地図」のようなものです。
例えば、AIにたくさんの「顔写真」を学習させたとします。AIは、それらの写真から「笑顔の度合い」「年齢」「顔の向き」「髪の色」といった、顔を構成する本質的な要素を自ら見つけ出します。そして、例えば「笑顔度」をX軸、「年齢」をY軸とするような、2次元の「顔のアイデア地図」(潜在空間)を作り上げるのです。
そして、ここからが創造のプロセスです。私たちは、この地図上のある一点(これは潜在変数 \(z\) (ゼット) と呼ばれる、ただの数値のベクトルです)を指差して、「この地点の顔を作って!」とAI(特にデコーダと呼ばれる部分)にお願いします。すると、AIはその座標値(設計図)を元に、対応するリアルな顔画像を「復元(生成)」してくれるのです。
この地図の面白いところは、地点が滑らかに繋がっていることです。地図上で「笑顔の地点」から「真顔の地点」へ少しずつ動けば、生成される顔も、だんだんと微笑みが消えていく、というように滑らかに変化します。これが、生成モデルで遊ぶ際の醍醐味の一つですね。
潜在空間の概念図
2. VAE (Variational Autoencoder) -「要約」から「創造」へ
さて、潜在空間という「アイデアの地図」から新しいデータを生成する、という考え方を見てきました。では、どうすればAIに、そんな都合の良い「きれいな地図」を作らせることができるのでしょうか?その一つのエレガントな答えが、VAE (Variational Autoencoder、変分オートエンコーダ) です(1)。
2.1 VAEを理解するための助走:オートエンコーダ (AE) とは?
VAEの巧妙な仕組みを理解するために、まずその原型であるオートエンコーダ(AE)というモデルから見ていきましょう。これは、それ自体が教師なし学習の強力な手法で、優秀な「要約家(エンコーダ)」と「復元家(デコーダ)」のペアだと考えてください。
- エンコーダ (Encoder): 入力された高次元のデータ(例えば、一枚の顔画像)を受け取り、その本質的な特徴だけを抜き出して、低次元のベクトル(潜在変数 \(z\))へとギュッと圧縮(要約)します。
- デコーダ (Decoder): エンコーダが作った要約文(潜在変数 \(z\))だけを頼りに、元の画像を可能な限り忠実に復元しようと試みます。
このAEはデータの圧縮や特徴抽出には有効ですが、新しいデータを「創造」する生成タスクにはあまり向きません。なぜなら、潜在空間の地図が「飛び地」だらけになってしまい、学習したデータに対応する点と点の「すき間」が意味を持たないからです。
2.2 VAEへの進化 〜潜在空間に「遊び」と「構造」を〜
VAEの革新的な点は、この問題を解決するために、エンコーダが要約を作る際に、「このデータは、だいたいこの辺りを中心とした、このくらいの範囲のどこかにあります」という、少し「遊び」のある確率的な情報として要約することです。具体的には、潜在空間における平均 \(\mu\) と分散 \(\sigma^2\) のペアを出力します。
VAEの構造イメージ
そして、この確率分布の「雲」の中からランダムに一点 \(z\) を取り出して(サンプリングして)、デコーダに渡します。この「毎回ちょっとズレる」という確率的な遊びがあるおかげで、潜在空間の「飛び地」が埋められ、全体が滑らかに繋がります。デコーダも、少しズレた入力にも対応できるように頑健になり、未知の点からでももっともらしいデータを生成できるようになるのです。これがVAEによる「創造」の源泉なんですね。
2.3 VAEの二つの「目標」:損失関数
VAEの学習は、二人の監督官からの、少し矛盾した二つの要求を同時に満たそうとする、絶妙なバランシングアクトです。
- 監督官A(再構成誤差): 「とにかく元の画像を忠実に復元しろ!」と要求します。入力 \(x\) と出力 \(x’\) がどれだけ似ているかを測り、モデルの「正確さ」を求めます。
- 監督官B(KLダイバージェンス): 「潜在空間の地図は、原点を中心にきれいに整理整頓しておけ!」と要求します。エンコーダが作る確率分布が、扱いやすい「標準正規分布」から離れすぎないようにペナルティを課し、「潜在空間のきれいさ」を求めます。
モデルは、この二人の監督官の両方を満足させるように学習を進めます。この綱引きが、VAEを強力な生成モデルたらしめているのです。
このVAEのより詳しい理論や、PyTorchを使った具体的な実装(手書き文字の生成など)については、続く「23.1 VAEの理論と潜在空間の役割」および「23.2 PyTorchによるVAE実装」で、じっくりと解説していきます。
3. GAN (Generative Adversarial Network) -「偽造者」と「鑑定士」のせめぎ合い
VAEが、確率的なアプローチで滑らかな潜在空間という「地図」を作ることで創造性を生み出したのに対し、これからお話しするGAN(敵対的生成ネットワーク)は、全く異なる、まるで人間社会の競争のようなメカニズムで、驚くほどリアルなデータを生成するモデルです(2)。
そのアイデアは、非常にユニークで、二人の専門家(二つのニューラルネットワーク)を競わせる「ゲーム」としてモデルを学習させる、という点にあります。
3.1 登場人物紹介:「偽造者」と「鑑定士」
GANの舞台には、二人のプレイヤーが登場します。
- 生成器 (Generator): 一人目のプレイヤーは、いわば「天才的な偽造職人」です。彼の仕事は、ランダムなノイズ(潜在変数\(z\)、アイデアの素)を入力として受け取り、それを使って本物そっくりの偽データ(例えば、偽の絵画や偽の診断画像)を作り出すことです。彼の唯一の目標は、次に紹介する「鑑定士」を完璧に騙すことです。
- 識別器 (Discriminator): 二人目のプレイヤーは、いわば「エリート鑑定士」です。彼の仕事は、本物のデータ(例えば、本物の絵画)と、生成器が作った偽のデータを見せられ、それが「本物」か「偽物」かを正確に見抜くことです。彼の唯一の目標は、偽造職人の嘘を見破ることです。
3.2 敵対的学習の仕組み 〜競い合うことで、共に成長する〜
この二人は、互いに競い合いながら、共に成長していきます。その学習プロセスは、まさに「矛と盾」のようにお互いを高め合う、絶え間ない「せめぎ合い」なのです。
GANの学習プロセスの概念図
この「騙し、見破る」というゲームを何千回、何万回と繰り返すことで、識別器はどんどん賢くなり、ほんの僅かな違和感も見抜けるようになります。すると、生成器は、その厳しい鑑定士をも騙すために、さらに精巧でリアルなデータを生成せざるを得なくなります。この終わりなき競争の果てに、生成器は驚くほど高品質なデータを「創造」する能力を身につけるのです。
3.3 (発展)Conditional GANによる「条件付き」生成
このGANの仕組みをさらに発展させたのが、Conditional GAN (cGAN) です。通常のGANがランダムな画像を生成するのに対し、cGANは「こんな画像を生成して」という条件(ラベル)を与えることができます。
これにより、例えば「70代男性、右肺に結節影あり」という条件を与えて、それに合致するリアルなCT画像を生成する、といった応用が可能になります。これは、希少疾患のデータ拡張や、若手医師のためのシミュレーション用教材作成など、医療分野で計り知れない可能性を秘めています。
GANのより詳しい理論や、PyTorchを使った具体的な実装、そしてcGANの仕組みについては、続く「23.3 GANの理論と競合的学習の仕組み」「23.4 PyTorchによるシンプルなGAN実装」「23.5 Conditional GANによる応用」で、じっくりと解説していきます。
4. VAE vs. GAN – どちらをいつ使う? 〜安定性のVAEか、品質のGANか〜
さて、VAEとGANという、二つの全く異なるアプローチを持つ生成モデルを見てきました。どちらも非常に魅力的ですが、「じゃあ、自分の研究ではどちらを使えばいいの?」と迷われるかもしれませんね。
この二つは、万能薬ではなく、それぞれに得意なこと、苦手なことがあります。どちらを選ぶかは、まさに「何を目的とするか」によって決まります。ここでは、両者の特徴を比較しながら、その使い分けのヒントを探っていきましょう。
VAEとGANの比較表
| 特徴 | VAE (変分オートエンコーダ) | GAN (敵対的生成ネットワーク) |
|---|---|---|
| 学習の安定性 | 比較的安定しやすい(明確な損失関数を最小化するため) | 不安定になりやすい(二つのネットワークのゲーム理論的な均衡点を探すため、バランスが難しい) |
| 生成物の質 | 少しぼやけた、平均的な画像が生成されがち | シャープで非常にリアルな画像の生成が得意 |
| 潜在空間の性質 | 滑らかで解釈しやすい。データの補間や異常検知に適する。 | 構造化されておらず、解釈が難しい場合がある。 |
| 評価のしやすさ | 損失関数が明確で、モデルの性能評価が比較的容易。 | 生成物の「良さ」を測る統一的な指標がなく、評価が難しい。 |
| 主な医療応用例 | 異常検知(健常者のデータ分布から外れたものを検出)、データ補完、特徴抽出 | 高品質な合成医療画像(CT, MRI, 病理画像など)の生成、データ拡張 |
この表を見ると、両者の性格の違いがよく分かりますね。
VAEは、学習が安定していて、データの本質的な構造を捉えた「きれいな」潜在空間を作ってくれる優等生タイプです。そのため、生成される画像は少しぼやける傾向にありますが、データが正常な分布からどれだけ外れているかを測る異常検知や、欠損したデータを補完するタスクには非常に向いていると言えます。
一方のGANは、非常にシャープでリアルな画像を生成できる、まさに「天才肌の芸術家」です。しかし、その学習は非常にデリケートで、生成器と識別器のバランスが少しでも崩れると、全くうまくいかなくなることがあります。高品質な合成医療画像(CT、MRI、病理画像など)を生成して、データ拡張(Data Augmentation)に使いたい、といった目的には、GAN(やその発展形)が第一候補になることが多いでしょう。
どちらのモデルを選ぶかは、皆さんが解決したい医療課題の性質によって決まります。「異常を見つけたい」のか、「本物そっくりのデータが欲しい」のか。目的を明確にすることが、適切なモデル選択の第一歩となるわけです。
5. まとめと次のステップへ
今回は、データの「設計図」が眠る潜在空間という考え方を学び、それを活用する二大生成モデル、VAEとGANの全体像を掴みました。これらのモデルは、データが限られ、かつプライバシーが重視される医療分野において、AIの応用可能性を大きく広げるものです。
VAEやGANが切り拓いた生成モデルの世界ですが、近年、これらとは全く異なるアプローチで、驚くほど高品質な画像を安定して生成できる、新しい王者が登場しました。
次回の第24回では、その拡散モデル(Diffusion Models)の驚くべき仕組みについて学んでいきます。
参考文献
- Kingma DP, Welling M. Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114. 2013.
- Goodfellow I, Pouget-Abadie J, Mirza M, Xu B, Warde-Farley D, Ozair S, et al. Generative adversarial nets. In: Advances in neural information processing systems 27. 2014.
- Beaulieu-Jones BK, Wu ZS, Williams C, Lee R, Landman BA, Riezman R, et al. The-potential-for-Synthetically-Augmented-Data-in-Clinical-Prediction-Tasks. In: Proceedings of the 2nd Machine Learning for Healthcare Conference. 2017. p. 320-337.
- Zhavoronkov A, Ivanenkov YA, Aliper A, Veselov MS, Aladinskiy VA, Aladinskaya AV, et al. Deep learning enables rapid identification of potent DDR1 kinase inhibitors. Nat Biotechnol. 2019;37(9):1038-1040.
- Mirza M, Osindero S. Conditional generative adversarial nets. arXiv preprint arXiv:1411.1784. 2014.
ご利用規約(免責事項)
当サイト(以下「本サイト」といいます)をご利用になる前に、本ご利用規約(以下「本規約」といいます)をよくお読みください。本サイトを利用された時点で、利用者は本規約の全ての条項に同意したものとみなします。
第1条(目的と情報の性質)
- 本サイトは、医療分野におけるAI技術に関する一般的な情報提供および技術的な学習機会の提供を唯一の目的とします。
- 本サイトで提供されるすべてのコンテンツ(文章、図表、コード、データセットの紹介等を含みますが、これらに限定されません)は、一般的な学習参考用であり、いかなる場合も医学的な助言、診断、治療、またはこれらに準ずる行為(以下「医行為等」といいます)を提供するものではありません。
- 本サイトのコンテンツは、特定の製品、技術、または治療法の有効性、安全性を保証、推奨、または広告・販売促進するものではありません。紹介する技術には研究開発段階のものが含まれており、その臨床応用には、さらなる研究と国内外の規制当局による正式な承認が別途必要です。
- 本サイトは、情報提供を目的としたものであり、特定の治療法を推奨するものではありません。健康に関するご懸念やご相談は、必ず専門の医療機関にご相談ください。
第2条(法令等の遵守)
利用者は、本サイトの利用にあたり、医師法、医薬品、医療機器等の品質、有効性及び安全性の確保等に関する法律(薬機法)、個人情報の保護に関する法律、医療法、医療広告ガイドライン、その他関連する国内外の全ての法令、条例、規則、および各省庁・学会等が定める最新のガイドライン等を、自らの責任において遵守するものとします。これらの適用判断についても、利用者が自ら関係各所に確認するものとし、本サイトは一切の責任を負いません。
第3条(医療行為における責任)
- 本サイトで紹介するAI技術・手法は、あくまで研究段階の技術的解説であり、実際の臨床現場での診断・治療を代替、補助、または推奨するものでは一切ありません。
- 医行為等に関する最終的な判断、決定、およびそれに伴う一切の責任は、必ず法律上その資格を認められた医療専門家(医師、歯科医師等)が負うものとします。AIによる出力を、資格を有する専門家による独立した検証および判断を経ずに利用することを固く禁じます。
- 本サイトの情報に基づくいかなる行為によって利用者または第三者に損害が生じた場合も、本サイト運営者は一切の責任を負いません。実際の臨床判断に際しては、必ず担当の医療専門家にご相談ください。本サイトの利用によって、利用者と本サイト運営者の間に、医師と患者の関係、またはその他いかなる専門的な関係も成立するものではありません。
第4条(情報の正確性・完全性・有用性)
- 本サイトは、掲載する情報(数値、事例、ソースコード、ライブラリのバージョン等)の正確性、完全性、網羅性、有用性、特定目的への適合性、その他一切の事項について、何ら保証するものではありません。
- 掲載情報は執筆時点のものであり、予告なく変更または削除されることがあります。また、技術の進展、ライブラリの更新等により、情報は古くなる可能性があります。利用者は、必ず自身で公式ドキュメント等の最新情報を確認し、自らの責任で情報を利用するものとします。
第5条(AI生成コンテンツに関する注意事項)
本サイトのコンテンツには、AIによる提案を基に作成された部分が含まれる場合がありますが、公開にあたっては人間による監修・編集を経ています。利用者が生成AI等を用いる際は、ハルシネーション(事実に基づかない情報の生成)やバイアスのリスクが内在することを十分に理解し、その出力を鵜呑みにすることなく、必ず専門家による検証を行うものとします。
第6条(知的財産権)
- 本サイトを構成するすべてのコンテンツに関する著作権、商標権、その他一切の知的財産権は、本サイト運営者または正当な権利を有する第三者に帰属します。
- 本サイトのコンテンツを引用、転載、複製、改変、その他の二次利用を行う場合は、著作権法その他関連法規を遵守し、必ず出典を明記するとともに、権利者の許諾を得るなど、適切な手続きを自らの責任で行うものとします。
第7条(プライバシー・倫理)
本サイトで紹介または言及されるデータセット等を利用する場合、利用者は当該データセットに付随するライセンス条件および研究倫理指針を厳格に遵守し、個人情報の匿名化や同意取得の確認など、適用される法規制に基づき必要とされるすべての措置を、自らの責任において講じるものとします。
第8条(利用環境)
本サイトで紹介するソースコードやライブラリは、執筆時点で特定のバージョンおよび実行環境(OS、ハードウェア、依存パッケージ等)を前提としています。利用者の環境における動作を保証するものではなく、互換性の問題等に起因するいかなる不利益・損害についても、本サイト運営者は責任を負いません。
第9条(免責事項)
- 本サイト運営者は、利用者が本サイトを利用したこと、または利用できなかったことによって生じる一切の損害(直接損害、間接損害、付随的損害、特別損害、懲罰的損害、逸失利益、データの消失、プログラムの毀損等を含みますが、これらに限定されません)について、その原因の如何を問わず、一切の法的責任を負わないものとします。
- 本サイトの利用は、学習および研究目的に限定されるものとし、それ以外の目的での利用はご遠慮ください。
- 本サイトの利用に関連して、利用者と第三者との間で紛争が生じた場合、利用者は自らの費用と責任においてこれを解決するものとし、本サイト運営者に一切の迷惑または損害を与えないものとします。
- 本サイト運営者は、いつでも予告なく本サイトの運営を中断、中止、または内容を変更できるものとし、これによって利用者に生じたいかなる損害についても責任を負いません。
第10条(規約の変更)
本サイト運営者は、必要と判断した場合、利用者の承諾を得ることなく、いつでも本規約を変更することができます。変更後の規約は、本サイト上に掲載された時点で効力を生じるものとし、利用者は変更後の規約に拘束されるものとします。
第11条(準拠法および合意管轄)
本規約の解釈にあたっては、日本法を準拠法とします。本サイトの利用および本規約に関連して生じる一切の紛争については、東京地方裁判所を第一審の専属的合意管轄裁判所とします。
For J³, may joy follow you.

