原作者: スティーブン ワン> 「自分に作れないものは、分かりません。」>> -リチャード・ファインマン>>## 序文Stable Diffusion と MidJourney を活用して、素晴らしい画像を作成します。あなたは、ChatGPT と LLaMa を使用してエレガントな単語を作成することに熟練しています。MuseNet と MuseGAN を行き来してマウンテン ミュージックを作成します。人間の最もユニークな能力は創造することであることは間違いありませんが、今日の絶え間なく変化するテクノロジーの中で、私たちは機械を作ることによって創造を行っています。マシンは、指定されたスタイルでオリジナルのアートワークを描き (描画)、一貫した長い記事を作成し (執筆)、メロディアスな音楽を作曲し (作曲)、複雑なゲームの勝利戦略を策定 (プレイ) できます。このテクノロジーは **生成人工知能** (生成人工知能、GenAI) です。今は GenAI 革命の始まりにすぎず、今が GenAI を学ぶのに最適な時期です。## 1. モデルの生成と識別GenAI はバズワードですが、その背後にある本質は機械学習の一分野である **生成モデル** (生成モデル) であり、目標は、指定されたデータセットと同様の新しいデータを生成するようにモデルをトレーニングすることです。馬のデータセットがあるとします。まず、このデータセットで生成モデルをトレーニングして、馬の画像内のピクセル間の複雑な関係を支配するルールをキャプチャできます。次に、このモデルをサンプリングして、元のデータセットには存在しなかった馬のリアルな画像を作成します (次の図を参照)。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-ca89ca69a8-dd1a6f-1c6801)生成モデルの目標と重要性を真に理解するには、それを識別モデルと比較する必要があります。実際、機械学習におけるほとんどの問題は判別モデルによって解決されます。次の例を参照してください。ゴッホの絵画と他のアーティストの絵画のデータセットがあるとします。十分なデータがあれば、次の図に示すように、特定の絵画がファン ゴッホによるものであるかどうかを予測するための識別モデルをトレーニングできます。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-c032c295df-dd1a6f-1c6801)識別モデルを使用する場合、トレーニング セット内の各サンプルにはラベル (ラベル) が付けられます。上記の 2 カテゴリー問題では、通常、ゴッホの絵画のラベルは 1 で、ゴッホ以外の絵画のラベルは 0 になります。上の図では、モデルの最終予測確率は 0.83 であるため、ゴッホによって作成された可能性が非常に高くなります。判別モデルとは異なり、生成モデルの目的はデータのラベルを予測することではなく、新しいデータを生成することであるため、サンプルにラベルが含まれる必要はありません。例を読んだ後、数学的表記法を使用して生成モデルと識別モデルを正確に定義してみましょう。* 識別モデルは、ラベル **y** の条件付き確率を推定するために特徴 **x** を与えて、**P(y|x)** をモデル化します。* 生成モデルは **P(x)** をモデル化し、特徴 **x** の確率を直接推定し、この確率分布からサンプリングして新しい特徴を生成します。たとえファン・ゴッホの絵画を識別するための完璧な識別モデルを構築できたとしても、ゴッホに似た絵画を作成する方法はまだ分からず、画像がゴッホのものであるかどうかの確率しか出力されないことに注意してください。手の可能性。生成モデルは判別モデルよりもはるかに難しいことがわかります。## 2. モデルのフレームワークを生成する生成モデルのフレームワークに入る前に、ゲームをしてみましょう。以下の図の点が何らかのルールによって生成されていると仮定して、このルールを **P**data と呼びます。次に、別の **x** = (x 1, x 2) を生成して、この点が同じルール **P** データによって生成されたように見えます。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-6756aa9efa-dd1a6f-1c6801)この点をどのように生成しますか?指定された点を使用して頭の中でモデル **P**model を生成すると、このモデルが占める位置に必要な点が生成される場合があります。モデル **P**model は **P**data の推定値であることがわかります。最も単純なモデル **P**model は、下図のオレンジ色のボックスです。点はボックスの内側にのみ生成でき、ボックスの外側には生成できません。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-6d163716b5-dd1a6f-1c6801)新しい点を生成するには、ボックスからランダムに点を選択するか、より厳密にはモデル **P**model 分布からサンプリングします。これは最小限の生成モデルです。トレーニング データ (黒い点) からモデル (オレンジ色のボックス) を作成し、生成されたポイントがトレーニング セット内のポイントと似ていることを期待しながらモデルからサンプリングします。これで、生成学習のフレームワークを正式に提案できるようになりました。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-13027798b3-dd1a6f-1c6801)ここで、実際のデータ生成ディストリビューション **P**data を公開し、上記のフレームワークをこの例にどのように適用できるかを見てみましょう。以下の図から、データ生成ルール **P**data では、点は陸地にのみ均一に分布し、海洋には出現しないことがわかります。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-2a83a57c62-dd1a6f-1c6801)明らかに、私たちのモデル **P**model はルール **P**data を簡略化したものです。上図の点 A、B、C を調べると、モデル **P**model がルール **P**data をうまく模倣しているかどうかを理解するのに役立ちます。* 点 A は海中に表示されるため、ルール **P**data には準拠しませんが、オレンジ色のボックス内に表示されるため、モデル **P**model によって生成される可能性があります。* 点 B はオレンジ色のボックスの外側に表示されるため、モデル **P**model によって生成される可能性はありませんが、陸上に表示されるためルール **P**data に準拠します。* 点 C はモデル **P**model によって生成され、ルール **P**data に準拠します。この例は、生成モデリングの背後にある基本概念を示しています。実際に生成モデルを使用するのははるかに複雑ですが、基本的なフレームワークは同じです。## 3. 最初の生成モデルあなたが会社の最高ファッション責任者 (CFO) で、新しい流行の服を作成するのが仕事だとします。今年は、ファッション コロケーションに関する 50 個のデータ セット (以下を参照) を受け取り、10 個の新しいファッション コロケーションを作成する必要があります。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-6152ce75e9-dd1a6f-1c6801)あなたは最高ファッション責任者ですが、データ サイエンティストでもあるため、この問題を解決するために生成モデルを使用することにしました。上記の 50 枚の写真を読んだ後、**accessory type** (アクセサリーの種類)、**clothing color** (衣服の色)、**clothing type** (衣服の種類)、**hair の 5 つの特徴を使用することを決定します。 Color** (髪の色) と **hair type** (髪の種類)。ファッションの組み合わせを説明します。画像データの特徴トップ10は以下の通りです。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-68f821bf37-dd1a6f-1c6801)各特徴には異なる数の固有値もあります。※付属品は3種類(付属品種類):ブランク、ラウンド、サングラス* 8 つの服の色:ブラック、ブルー01、グレー01、パステルグリーン、パステルオレンジ、ピンク、レッド、ホワイト* 4種類の服:パーカー、オーバーオール、シャツスクープネック、シャツVネック* 6 つの髪の色:ブラック、ブロンド、ブラウン、パステルピンク、レッド、シルバーグレー* 7 種類の髪質:ノーヘア、ロングヘアバン、ロングヘアリー、ロングヘアストレート、ショートヘアショートウェーブ、ショートヘアショートフラット、ショートヘアフリズルこのように、 3 \* 8 \* 4 \* 6 \* 7 = 4032 個の特徴の組み合わせがあるため、サンプル空間には 4032 個の点が含まれていると想像できます。指定された 50 個のデータ ポイントから、**P**data はさまざまな特徴に対して特定の特徴値を優先していることがわかります。上の表から、画像には白い服の色とシルバーグレーの髪の色が多く含まれていることがわかります。実際の **P** データがわからないため、**P** データと同様になるように **P** モデルを構築するには、これら 50 個のデータしか使用できません。### 3.1 ミニマリストモデル最も簡単な方法の 1 つは、4032 個の特徴の組み合わせの各ポイントに確率パラメーターを割り当てることです。この場合、すべての確率パラメーターの合計は 1 に等しいため、モデルには 4031 個のパラメーターが含まれます。では、50 個のデータを 1 つずつ確認し、モデル **(*****θ 1 , θ 2 ,...,θ 4031*** **)** のパラメーター、それぞれの式を更新してみましょう。パラメータは:![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-63c5341f64-dd1a6f-1c6801)このうち、**N**は観測データの数、つまり50個、**n*j***は50個のデータに現れる***j***番目の特徴の組み合わせの数です。たとえば、(LongHairStraight、Red、Round、 ShirtScoopNeck、White) の特徴の組み合わせ (組み合わせ 1 と呼ばれる) が 2 回出現し、![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-08917bf0f6-dd1a6f-1c6801)たとえば、(LongHairStraight、Red、Round、 ShirtScoopNeck、Blue 01) の特徴の組み合わせ (組み合わせ 2 と呼ばれる) が表示されない場合、![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-c9dea88713-dd1a6f-1c6801)上記のルールに従って、4031 個の組み合わせすべてに対して ***θ*** 値を計算すると、0 である ***θ*** 値が多数あることがわかります。それは、新しいUnseen画像を生成できないということです(***θ*** = 0は、その特徴の組み合わせを持つ画像がこれまでに観察されていないことを意味します)。これを修正するには、特徴の総数 d を分母に、1 を分子に加算するだけです。これはラプラス平滑化と呼ばれる手法です。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-13a68a3a23-dd1a6f-1c6801)すべての組み合わせ (元のデータセットにないものを含む) のサンプリング確率はゼロではありませんが、元のデータセットにない点の確率は定数であるため、これはまだ満足のいく生成モデルではありません。このようなモデルを使用してゴッホの絵画を生成しようとすると、次の 2 つの絵画が同じ確率で動作します。1. オリジナルのゴッホ絵画の複製 (オリジナルのデータセットには含まれていません)2. ランダムなピクセルで作られた絵画 (元のデータセットには含まれていません)これは明らかに私たちが望む生成モデルではありません。データから何らかの固有の構造を学習して、すべての要素をすべて入力するのではなく、より可能性が高いと思われるサンプル空間内の領域の確率の重みを増やすことができることを期待しています。データセットの存在点における確率の重み。### 3.2 部分単純化モデルNaive Bayes モデル (Naive Bayes) は、上記の特徴の組み合わせの数を大幅に減らすことができ、そのモデルによれば、各特徴は互いに独立していると仮定されます。上記のデータに戻ると、人の髪の色 (特徴 **x*j*** ) は服の色 (特徴 **x*k*** ) とは関係がありません。これを数式で表すと次のようになります。p(**x*j*** | **x*k***) = p(**x*k***)この仮定により、次のように計算できます。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-80385db200-dd1a6f-1c6801)Naive Bayesian モデルは、元の問題「各特徴の組み合わせの確率推定」を「各特徴の確率推定」に単純化します。4031 ( 3 \* 8 \* 4 \* 6 \* 7) パラメーターを使用する必要があることがわかります。 、現在必要なパラメータは 23 (3 + 8 + 4 + 6 + 7) だけであり、各パラメータの式は次のとおりです。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-a57ddcf3d5-dd1a6f-1c6801)このうち、N は観測データの数、つまり 50、**n******kl*** は ***k*** 番目の特徴と ****l の数です。 ***その下の固有値。50 個のデータの統計を通じて、次の表にナイーブ ベイジアン モデルのパラメーター値を示します。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-ec1c924af9-dd1a6f-1c6801)モデルがデータ特徴を生成する確率を計算するには、上の表の確率を乗算するだけです。たとえば、次のようになります。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-f4d457ff82-dd1a6f-1c6801)上記の組み合わせは元のデータセットには現れませんでしたが、モデルは依然としてゼロ以外の確率を割り当てていたため、モデルによって生成することができました。したがって、単純ベイジアン モデルはデータから何らかの構造を学習し、それを使用して元のデータセットには見られない新しい例を生成できます。下の写真は、モデルによって生成された 10 個の新しいファッション コロケーションの写真です。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-aa0a2f7a9e-dd1a6f-1c6801)この問題では、低次元データに属する特徴は 5 つだけです。単純ベイジアン モデルでは、それらが互いに独立していると想定するのが合理的であるため、モデルによって生成された結果は悪くありません。モデルの例を見てみましょう崩壊。## 4. モデル生成の難しさ### 4.1 高次元データ最高ファッション責任者として、あなたは Naive Bayesian を使用して 10 個の新しいファッション コロケーションを生成することに成功しました。次のデータ セットに遭遇するまで、自分のモデルは無敵であると確信しています。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-789aa091d5-dd1a6f-1c6801)データ セットは 5 つの特徴では表されなくなり、32\* 32 = 1024 ピクセルで表され、各ピクセル値は 0 ~ 255 のいずれかになります (0 は白、255 は黒を意味します)。次の表に、最初の 10 枚の画像のピクセル 1 ~ 5 の値を示します。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-05bb7d4e07-dd1a6f-1c6801)同じモデルを使用して、まったく新しいファッション コロケーションを 10 セット生成します。モデル生成の結果は次のとおりです。それぞれは醜くて似ていて、異なる特徴は区別できません。これはなぜでしょうか?![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-3ba5009bbe-dd1a6f-1c6801)まず第一に、単純ベイジアン モデルはピクセルを個別にサンプリングするため、隣接するピクセルは実際には非常に似ています。服の場合、実際にはピクセルはほぼ同じであるはずですが、モデルがランダムにサンプリングされているため、上の写真の服はすべてカラフルです。第 2 に、高次元のサンプル空間には可能性が多すぎて、特定できるのはほんの一部です。単純ベイジアン モデルがこのような相関性の高いピクセル値を直接処理する場合、値の満足のいく組み合わせが見つかる可能性は非常に低くなります。要約すると、低次元で特徴の相関性が低いサンプル空間の場合、独立サンプリングによる単純ベイジアン効果は非常に優れていますが、高次元で特徴の相関性が高いサンプル空間では、効果的な人間の顔を見つけるために独立サンプリング ピクセルが使用されます。ほぼ不可能である。この例では、生成モデルが成功するために克服しなければならない 2 つの問題を強調しています。1. モデルは高次元特徴間の条件依存関係をどのように処理しますか?2. モデルは高次元のサンプル空間から条件を満たす非常に小さな割合の観測値をどのように見つけますか?生成モデルが高次元で相関性の高いサンプル空間で成功するには、深層学習モデルを利用する必要があります。どのような仮定を立てるべきかを事前に指示されるのではなく、データから関連する構造を推測できるモデルが必要です。深層学習は、低次元空間で独自の特徴を形成できます。これは **表現学習** (表現学習) の一種です。### 4.2 表現学習表現学習とは、高次元データの表現の意味を学習することです。あなたが会ったことのないネチズンに会いに行き、待ち合わせ場所で彼女を見つけることができない人がたくさんいるので、彼女に電話して自分の外見を説明するとします。画像のピクセル 1 の色は黒、ピクセル 2 の色は明るい黒、ピクセル 3 の色はグレーなどとは言わないと思います。それどころか、ネチズンは一般人の外見を一般的に理解しており、その理解をピクセルグループの特徴を説明するために提供すると考えるでしょう。たとえば、あなたは短くて黒い美しい髪をしていて、靴下を着ています。金色のメガネなど。通常、そのような説明が 10 個以下であれば、ネットユーザーは頭の中であなたのイメージを生成できます。イメージは粗いかもしれませんが、たとえ彼女があなたを見たことがない場合でも、ネットユーザーは数百人の中からあなたを見つけることができます。これは、**高次元サンプル空間** (高次元サンプル空間) を直接モデル化しようとする代わりに、何らかの **低次元潜在空間** (低次元潜在空間) を使用する、表現学習の背後にある中心的なアイデアです。 space ) を使用してトレーニング セット内の各観測値を記述し、**マッピング関数** (マッピング関数) を学習します。この関数は、潜在空間内の点を取得して、それを元のサンプル空間にマッピングできます。言い換えれば、潜在空間内の各点は高次元データの特徴を表します。上記の言葉が理解しにくい場合は、いくつかのグレースケールの jar 画像で構成される以下のトレーニング セットを参照してください。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-d504321c9f-dd1a6f-1c6801)これらの瓶が高さと幅という 2 つの特徴だけで説明できることは、難しくありません。したがって、次の図に示すように、画像の高次元ピクセル空間を二次元の潜在空間に変換できます。このようにして、潜在空間からサンプリング (青い点) し、それをマッピング関数 ***f*** を介して画像に変換できます。![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-c198325788-dd1a6f-1c6801)マシンにとって、元のデータ セットがより単純な潜在空間で表現できることを認識するのは簡単ではありません。まず、マシンは、データ セットを最もよく表す 2 つの潜在空間の次元が高さと幅であることを判断し、その後学習する必要があります。マッピング関数 ***f*** は、この空間内の点を取得し、それをグレースケールのマップにマッピングできます。ディープラーニングを使用すると、人間の指導なしにこれらの複雑な関係を見つけるように機械を訓練できるようになります。## 5. 生成されたモデルの分類すべてのタイプの生成モデルは、最終的には同じタスクを解決することを目的としていますが、それらはすべてわずかに異なる方法で密度関数をモデル化しており、一般に次の 2 つのカテゴリに分類されます。* **明示的にモデリング** (明示的にモデリング) 密度関数、ただし、**FLOW モデルの正規化**(FLOW モデルの正規化) のように、密度関数を計算するために何らかの方法でモデルを制約します。ただし、**変分オートエンコーダ** (イオンオートエンコーダ、VAE) や **拡散モデル** (拡散モデル) などの密度関数を近似するには、* **暗黙的なモデリング** (暗黙的にモデル化)、データを直接生成する確率的プロセスを通じて密度関数を作成します。たとえば、**敵対的生成ネットワーク** (敵対的生成ネットワーク、GAN)![SignalPlus: 生成 AI の概要](https://img-cdn.gateio.im/resize-social/moments-40baef27dd-c6a15fd100-dd1a6f-1c6801)## 要約する生成人工知能 (GenAI) は、テキスト、画像、ビデオ、音楽などの新しいコンテンツやアイデアを作成するために使用できる人工知能の一種です。すべての人工知能と同様、GenAI は、**基礎モデル** (FM) と呼ばれることが多い、大量のデータに基づく深層学習モデルによって事前トレーニングされた超大規模モデルです。 GenAI を使用すると、よりクールな画像を描き、より美しいテキストを書き、より感動的な音楽を作曲することができますが、記事の責任者であるリチャード・ファインマン氏が述べたように、最初のステップでは GenAI がどのように新しいものを作成するかを理解する必要があります。私には作れないもの。」
SignalPlus: 生成 AI の概要
原作者: スティーブン ワン
序文
Stable Diffusion と MidJourney を活用して、素晴らしい画像を作成します。
あなたは、ChatGPT と LLaMa を使用してエレガントな単語を作成することに熟練しています。
MuseNet と MuseGAN を行き来してマウンテン ミュージックを作成します。
人間の最もユニークな能力は創造することであることは間違いありませんが、今日の絶え間なく変化するテクノロジーの中で、私たちは機械を作ることによって創造を行っています。マシンは、指定されたスタイルでオリジナルのアートワークを描き (描画)、一貫した長い記事を作成し (執筆)、メロディアスな音楽を作曲し (作曲)、複雑なゲームの勝利戦略を策定 (プレイ) できます。このテクノロジーは 生成人工知能 (生成人工知能、GenAI) です。今は GenAI 革命の始まりにすぎず、今が GenAI を学ぶのに最適な時期です。
1. モデルの生成と識別
GenAI はバズワードですが、その背後にある本質は機械学習の一分野である 生成モデル (生成モデル) であり、目標は、指定されたデータセットと同様の新しいデータを生成するようにモデルをトレーニングすることです。
馬のデータセットがあるとします。まず、このデータセットで生成モデルをトレーニングして、馬の画像内のピクセル間の複雑な関係を支配するルールをキャプチャできます。次に、このモデルをサンプリングして、元のデータセットには存在しなかった馬のリアルな画像を作成します (次の図を参照)。
生成モデルの目標と重要性を真に理解するには、それを識別モデルと比較する必要があります。実際、機械学習におけるほとんどの問題は判別モデルによって解決されます。次の例を参照してください。
ゴッホの絵画と他のアーティストの絵画のデータセットがあるとします。十分なデータがあれば、次の図に示すように、特定の絵画がファン ゴッホによるものであるかどうかを予測するための識別モデルをトレーニングできます。
識別モデルを使用する場合、トレーニング セット内の各サンプルにはラベル (ラベル) が付けられます。上記の 2 カテゴリー問題では、通常、ゴッホの絵画のラベルは 1 で、ゴッホ以外の絵画のラベルは 0 になります。上の図では、モデルの最終予測確率は 0.83 であるため、ゴッホによって作成された可能性が非常に高くなります。判別モデルとは異なり、生成モデルの目的はデータのラベルを予測することではなく、新しいデータを生成することであるため、サンプルにラベルが含まれる必要はありません。
例を読んだ後、数学的表記法を使用して生成モデルと識別モデルを正確に定義してみましょう。
たとえファン・ゴッホの絵画を識別するための完璧な識別モデルを構築できたとしても、ゴッホに似た絵画を作成する方法はまだ分からず、画像がゴッホのものであるかどうかの確率しか出力されないことに注意してください。手の可能性。生成モデルは判別モデルよりもはるかに難しいことがわかります。
2. モデルのフレームワークを生成する
生成モデルのフレームワークに入る前に、ゲームをしてみましょう。以下の図の点が何らかのルールによって生成されていると仮定して、このルールを Pdata と呼びます。次に、別の x = (x 1, x 2) を生成して、この点が同じルール P データによって生成されたように見えます。
この点をどのように生成しますか?指定された点を使用して頭の中でモデル Pmodel を生成すると、このモデルが占める位置に必要な点が生成される場合があります。モデル Pmodel は Pdata の推定値であることがわかります。最も単純なモデル Pmodel は、下図のオレンジ色のボックスです。点はボックスの内側にのみ生成でき、ボックスの外側には生成できません。
新しい点を生成するには、ボックスからランダムに点を選択するか、より厳密にはモデル Pmodel 分布からサンプリングします。これは最小限の生成モデルです。トレーニング データ (黒い点) からモデル (オレンジ色のボックス) を作成し、生成されたポイントがトレーニング セット内のポイントと似ていることを期待しながらモデルからサンプリングします。
これで、生成学習のフレームワークを正式に提案できるようになりました。
ここで、実際のデータ生成ディストリビューション Pdata を公開し、上記のフレームワークをこの例にどのように適用できるかを見てみましょう。以下の図から、データ生成ルール Pdata では、点は陸地にのみ均一に分布し、海洋には出現しないことがわかります。
明らかに、私たちのモデル Pmodel はルール Pdata を簡略化したものです。上図の点 A、B、C を調べると、モデル Pmodel がルール Pdata をうまく模倣しているかどうかを理解するのに役立ちます。
この例は、生成モデリングの背後にある基本概念を示しています。実際に生成モデルを使用するのははるかに複雑ですが、基本的なフレームワークは同じです。
3. 最初の生成モデル
あなたが会社の最高ファッション責任者 (CFO) で、新しい流行の服を作成するのが仕事だとします。今年は、ファッション コロケーションに関する 50 個のデータ セット (以下を参照) を受け取り、10 個の新しいファッション コロケーションを作成する必要があります。
あなたは最高ファッション責任者ですが、データ サイエンティストでもあるため、この問題を解決するために生成モデルを使用することにしました。上記の 50 枚の写真を読んだ後、accessory type (アクセサリーの種類)、clothing color (衣服の色)、clothing type (衣服の種類)、hair の 5 つの特徴を使用することを決定します。 Color (髪の色) と hair type (髪の種類)。ファッションの組み合わせを説明します。
画像データの特徴トップ10は以下の通りです。
各特徴には異なる数の固有値もあります。
※付属品は3種類(付属品種類):
ブランク、ラウンド、サングラス
ブラック、ブルー01、グレー01、パステルグリーン、パステルオレンジ、ピンク、レッド、ホワイト
パーカー、オーバーオール、シャツスクープネック、シャツVネック
ブラック、ブロンド、ブラウン、パステルピンク、レッド、シルバーグレー
ノーヘア、ロングヘアバン、ロングヘアリー、ロングヘアストレート、ショートヘアショートウェーブ、ショートヘアショートフラット、ショートヘアフリズル
このように、 3 * 8 * 4 * 6 * 7 = 4032 個の特徴の組み合わせがあるため、サンプル空間には 4032 個の点が含まれていると想像できます。指定された 50 個のデータ ポイントから、Pdata はさまざまな特徴に対して特定の特徴値を優先していることがわかります。上の表から、画像には白い服の色とシルバーグレーの髪の色が多く含まれていることがわかります。実際の P データがわからないため、P データと同様になるように P モデルを構築するには、これら 50 個のデータしか使用できません。
3.1 ミニマリストモデル
最も簡単な方法の 1 つは、4032 個の特徴の組み合わせの各ポイントに確率パラメーターを割り当てることです。この場合、すべての確率パラメーターの合計は 1 に等しいため、モデルには 4031 個のパラメーターが含まれます。では、50 個のデータを 1 つずつ確認し、モデル **(**θ 1 , θ 2 ,...,θ 4031 ) のパラメーター、それぞれの式を更新してみましょう。パラメータは:
このうち、Nは観測データの数、つまり50個、njは50個のデータに現れるj番目の特徴の組み合わせの数です。
たとえば、(LongHairStraight、Red、Round、 ShirtScoopNeck、White) の特徴の組み合わせ (組み合わせ 1 と呼ばれる) が 2 回出現し、
たとえば、(LongHairStraight、Red、Round、 ShirtScoopNeck、Blue 01) の特徴の組み合わせ (組み合わせ 2 と呼ばれる) が表示されない場合、
上記のルールに従って、4031 個の組み合わせすべてに対して θ 値を計算すると、0 である θ 値が多数あることがわかります。それは、新しいUnseen画像を生成できないということです(θ = 0は、その特徴の組み合わせを持つ画像がこれまでに観察されていないことを意味します)。これを修正するには、特徴の総数 d を分母に、1 を分子に加算するだけです。これはラプラス平滑化と呼ばれる手法です。
すべての組み合わせ (元のデータセットにないものを含む) のサンプリング確率はゼロではありませんが、元のデータセットにない点の確率は定数であるため、これはまだ満足のいく生成モデルではありません。このようなモデルを使用してゴッホの絵画を生成しようとすると、次の 2 つの絵画が同じ確率で動作します。
これは明らかに私たちが望む生成モデルではありません。データから何らかの固有の構造を学習して、すべての要素をすべて入力するのではなく、より可能性が高いと思われるサンプル空間内の領域の確率の重みを増やすことができることを期待しています。データセットの存在点における確率の重み。
3.2 部分単純化モデル
Naive Bayes モデル (Naive Bayes) は、上記の特徴の組み合わせの数を大幅に減らすことができ、そのモデルによれば、各特徴は互いに独立していると仮定されます。上記のデータに戻ると、人の髪の色 (特徴 xj ) は服の色 (特徴 xk ) とは関係がありません。これを数式で表すと次のようになります。
p(xj | xk) = p(xk)
この仮定により、次のように計算できます。
Naive Bayesian モデルは、元の問題「各特徴の組み合わせの確率推定」を「各特徴の確率推定」に単純化します。4031 ( 3 * 8 * 4 * 6 * 7) パラメーターを使用する必要があることがわかります。 、現在必要なパラメータは 23 (3 + 8 + 4 + 6 + 7) だけであり、各パラメータの式は次のとおりです。
このうち、N は観測データの数、つまり 50、n*kl は k 番目の特徴と ****l の数です。 ***その下の固有値。
50 個のデータの統計を通じて、次の表にナイーブ ベイジアン モデルのパラメーター値を示します。
モデルがデータ特徴を生成する確率を計算するには、上の表の確率を乗算するだけです。たとえば、次のようになります。
上記の組み合わせは元のデータセットには現れませんでしたが、モデルは依然としてゼロ以外の確率を割り当てていたため、モデルによって生成することができました。したがって、単純ベイジアン モデルはデータから何らかの構造を学習し、それを使用して元のデータセットには見られない新しい例を生成できます。下の写真は、モデルによって生成された 10 個の新しいファッション コロケーションの写真です。
この問題では、低次元データに属する特徴は 5 つだけです。単純ベイジアン モデルでは、それらが互いに独立していると想定するのが合理的であるため、モデルによって生成された結果は悪くありません。モデルの例を見てみましょう崩壊。
4. モデル生成の難しさ
4.1 高次元データ
最高ファッション責任者として、あなたは Naive Bayesian を使用して 10 個の新しいファッション コロケーションを生成することに成功しました。次のデータ セットに遭遇するまで、自分のモデルは無敵であると確信しています。
データ セットは 5 つの特徴では表されなくなり、32* 32 = 1024 ピクセルで表され、各ピクセル値は 0 ~ 255 のいずれかになります (0 は白、255 は黒を意味します)。次の表に、最初の 10 枚の画像のピクセル 1 ~ 5 の値を示します。
同じモデルを使用して、まったく新しいファッション コロケーションを 10 セット生成します。モデル生成の結果は次のとおりです。それぞれは醜くて似ていて、異なる特徴は区別できません。これはなぜでしょうか?
まず第一に、単純ベイジアン モデルはピクセルを個別にサンプリングするため、隣接するピクセルは実際には非常に似ています。服の場合、実際にはピクセルはほぼ同じであるはずですが、モデルがランダムにサンプリングされているため、上の写真の服はすべてカラフルです。第 2 に、高次元のサンプル空間には可能性が多すぎて、特定できるのはほんの一部です。単純ベイジアン モデルがこのような相関性の高いピクセル値を直接処理する場合、値の満足のいく組み合わせが見つかる可能性は非常に低くなります。
要約すると、低次元で特徴の相関性が低いサンプル空間の場合、独立サンプリングによる単純ベイジアン効果は非常に優れていますが、高次元で特徴の相関性が高いサンプル空間では、効果的な人間の顔を見つけるために独立サンプリング ピクセルが使用されます。ほぼ不可能である。
この例では、生成モデルが成功するために克服しなければならない 2 つの問題を強調しています。
生成モデルが高次元で相関性の高いサンプル空間で成功するには、深層学習モデルを利用する必要があります。どのような仮定を立てるべきかを事前に指示されるのではなく、データから関連する構造を推測できるモデルが必要です。深層学習は、低次元空間で独自の特徴を形成できます。これは 表現学習 (表現学習) の一種です。
4.2 表現学習
表現学習とは、高次元データの表現の意味を学習することです。
あなたが会ったことのないネチズンに会いに行き、待ち合わせ場所で彼女を見つけることができない人がたくさんいるので、彼女に電話して自分の外見を説明するとします。画像のピクセル 1 の色は黒、ピクセル 2 の色は明るい黒、ピクセル 3 の色はグレーなどとは言わないと思います。それどころか、ネチズンは一般人の外見を一般的に理解しており、その理解をピクセルグループの特徴を説明するために提供すると考えるでしょう。たとえば、あなたは短くて黒い美しい髪をしていて、靴下を着ています。金色のメガネなど。通常、そのような説明が 10 個以下であれば、ネットユーザーは頭の中であなたのイメージを生成できます。イメージは粗いかもしれませんが、たとえ彼女があなたを見たことがない場合でも、ネットユーザーは数百人の中からあなたを見つけることができます。
これは、高次元サンプル空間 (高次元サンプル空間) を直接モデル化しようとする代わりに、何らかの 低次元潜在空間 (低次元潜在空間) を使用する、表現学習の背後にある中心的なアイデアです。 space ) を使用してトレーニング セット内の各観測値を記述し、マッピング関数 (マッピング関数) を学習します。この関数は、潜在空間内の点を取得して、それを元のサンプル空間にマッピングできます。言い換えれば、潜在空間内の各点は高次元データの特徴を表します。
上記の言葉が理解しにくい場合は、いくつかのグレースケールの jar 画像で構成される以下のトレーニング セットを参照してください。
これらの瓶が高さと幅という 2 つの特徴だけで説明できることは、難しくありません。したがって、次の図に示すように、画像の高次元ピクセル空間を二次元の潜在空間に変換できます。このようにして、潜在空間からサンプリング (青い点) し、それをマッピング関数 f を介して画像に変換できます。
マシンにとって、元のデータ セットがより単純な潜在空間で表現できることを認識するのは簡単ではありません。まず、マシンは、データ セットを最もよく表す 2 つの潜在空間の次元が高さと幅であることを判断し、その後学習する必要があります。マッピング関数 f は、この空間内の点を取得し、それをグレースケールのマップにマッピングできます。ディープラーニングを使用すると、人間の指導なしにこれらの複雑な関係を見つけるように機械を訓練できるようになります。
5. 生成されたモデルの分類
すべてのタイプの生成モデルは、最終的には同じタスクを解決することを目的としていますが、それらはすべてわずかに異なる方法で密度関数をモデル化しており、一般に次の 2 つのカテゴリに分類されます。
ただし、FLOW モデルの正規化(FLOW モデルの正規化) のように、密度関数を計算するために何らかの方法でモデルを制約します。
ただし、変分オートエンコーダ (イオンオートエンコーダ、VAE) や 拡散モデル (拡散モデル) などの密度関数を近似するには、
要約する
生成人工知能 (GenAI) は、テキスト、画像、ビデオ、音楽などの新しいコンテンツやアイデアを作成するために使用できる人工知能の一種です。すべての人工知能と同様、GenAI は、基礎モデル (FM) と呼ばれることが多い、大量のデータに基づく深層学習モデルによって事前トレーニングされた超大規模モデルです。 GenAI を使用すると、よりクールな画像を描き、より美しいテキストを書き、より感動的な音楽を作曲することができますが、記事の責任者であるリチャード・ファインマン氏が述べたように、最初のステップでは GenAI がどのように新しいものを作成するかを理解する必要があります。私には作れないもの。」