---
# System prepended metadata

title: 【生成式AI導論 2024】17~18 有關影像的生成式AI 和 GPT-4o 可能的語音技術
tags: [生成式AI]

---

20251102筆記 內容可能有錯誤，請參考原始影片

[李宏毅【生成式AI導論 2024】](https://www.youtube.com/playlist?list=PLJV_el3uVTsPz6CTopeRp2L2t4aL_KgiI)

[【生成式AI導論 2024】第17講：有關影像的生成式AI (上) — AI 如何產生圖片和影片 (Sora 背後可能用的原理))
](https://youtu.be/QbwQR9sjWbs?si=uqjfaGlYHtHZdhoR)
[【生成式AI導論 2024】第18講：有關影像的生成式AI (下) — 快速導讀經典影像生成方法 (VAE, Flow, Diffusion, GAN) 以及與生成的影片互動](https://youtu.be/MAbGgsWKrg8?si=o2UlTZCo2hEqfmG7)

[【生成式AI導論 2024】GPT-4o 背後可能的語音技術猜測](https://youtu.be/MAbGgsWKrg8?si=o2UlTZCo2hEqfmG7)


### 【生成式AI導論 2024】第17講：有關影像的生成式AI (上) — AI 如何產生圖片和影片 (Sora 背後可能用的原理) 大綱

### I. 影像生成式 AI 的兩大類型與應用

*   **類型一 (Input as Condition)：** AI 根據影像/影片作為條件（Condition）來生成文字或描述。
*   **類型二 (Output Generation)：** AI 根據條件（如文字）來生成圖片或影片。
*   **應用案例：**
    *   GPT-4o 透過圖像分析穿著、職業和美學標準。
    *   Talking Head 技術：根據聲音和照片生成對應的說話影像。
    *   多樣化條件生成：使用草圖、草稿或照片來生成精細圖片。
    *   影片生成應用：影片延長、風格轉換（如黑白轉彩色）、畫質提升。

### II. 影像與影片的 AI 處理基礎

*   **構成單位：** 圖片由像素 (Pixel) 構成；影片由幀 (Frame) 構成，常規速度為 24 FPS。
*   **AI 內部表示：** 現代 AI 不直接處理像素，而是將圖片或影片透過 **Encoder** 壓縮成更簡化的單位 **Patch**（區塊）序列。
*   **Patch 的壓縮：** 壓縮可以在 2D (長寬) 空間維度進行，影片還可以在時間維度上進行壓縮（合併相鄰幀）。
*   **還原：** 最終生成的 Patch 序列會透過複雜的 **Decoder** 類神經網路還原為原始圖片或影片。

### III. 文本生成影像/影片的模型策略

*   **訓練資料：** 需要大量的圖文配對資料，例如 LAION 資料集擁有 58 億張圖文配對。
*   **生成模式：**
    *   **Auto-Regressive (AR)：** 循序漸進生成 Patch（文生圖很少用，速度太慢）。
    *   **Non-Auto-Regressive (NAR)：** 同時生成一張圖中所有的 Patch，透過 Transformer 內部的 **Attention** 機制維持 Patch 間的關聯性。
*   **評估方法：** 使用 **CLIP Score**，將生成圖與輸入文字一起丟給 CLIP 模型評分，分數越高代表生成品質越好。

### IV. 文生影片的挑戰與優化技術

*   **SORA 案例：** 效果驚人，但仍存在瑕疵，例如背景牆壁移動、物體變形、物體增殖或消失。
*   **主要挑戰：** 運算量巨大。生成 1 分鐘非高清影片，可能需要 $36$ 兆次 Attention 運算。
*   **優化策略一：Attention 結構改造 (未 3D Attention)**
    *   將 Spatial Temporal (全 3D) Attention 拆解為：**Spatial Attention** (2D，處理同一幀內 Patch 關聯) 與 **Temporal Attention** (1D，處理不同幀同一位置 Patch 關聯)。
    *   效益：疊加這兩種 Attention (未 3D Attention) 可將運算量減少約千倍。
*   **優化策略二：多步生成 (Multi-step Generation)**
    *   將複雜生成任務拆解成多個階段，每個模型專注一個任務。
    *   階段任務：逐步提高解析度 (Upscaling) 或逐步提高每秒幀數 (Interleaving)。

---

### 1. 影像生成式 AI 的應用範疇

影像相關的生成式 AI 可以從兩個主要方向來討論：

*   **影像作為條件：** AI 根據所看到的圖片或影像來生成對應的內容，如文字描述或分析。
    *   **GPT-4o 分析：** 例如，詢問 GPT-4o 兩張照片中誰比較帥，它不會直接回答，但會分析穿著，如左邊穿牛仔外套的年輕人比較時尚有型，右邊穿白襯衫的眼鏡男士則看起來比較專業有親和力。
    *   **職業推測：** GPT-4o 也能根據穿著打扮猜測職業，例如牛仔外套年輕人可能從事時尚、娛樂或創意領域（正確：知名演員）；白襯衫男士則可能從事學術、技術或商業領域（如教授或工程師）。
    *   **美學標準：** 雖然 GPT-4o 講話精明且經過大量 RLHF（Reinforcement Learning from Human Feedback），但若被強迫決定，它仍會給出答案，並會強調另一人具有專業性和親和力等魅力，展現了其風格的精明性。
*   **生成圖片或影片 (Output)：** AI 根據給定的條件（如文字）來產生對應的圖片或影片。
    *   **影片生成應用：** 可以用於未完成影片的補完、風格轉換（如黑白影片上色，可用於老電影修復）或畫質提升（將低解析度影片提升畫質）。
    *   **Talking Head：** 根據一段錄音和一張照片，生成照片中人物說出這句話時的嘴型和臉部表情。這項技術已經開源且有商用軟體，潛在應用包括創建沒有真人的 Vtuber。
    *   **多樣化輸入條件：** 生成式 AI 可以接受各式各樣的條件作為輸入，來生成圖片，包括草圖 (Sketch)、草稿 (Draft)，甚至是給予一張特定人物的照片，讓 AI 根據該照片生成對應人物的圖像。

### 2. SORA 案例分析：文生影的驚人能力與瑕疵

OpenAI 試出的 SORA 模型 Demo 展示了其強大的力量，可以根據一段文字描述生成非常清晰的影片。

*   **驚人效果：** SORA 可以生成現實生活中不可能出現的場景，例如看著蠟燭融化的怪物 或沉在海底的紐約街景。
*   **觀察到的瑕疵：** 仔細觀察 SORA 的 Demo 影片，仍能發現一些瑕疵：
    *   **不自然移動：** 例如怪物不動，但背後的牆壁一直在左右移動。
    *   **物體變形：** 紐約海底下的水生生物會變形，例如遠看是海龜，近看突然縮成一隻魚。
    *   **物體增殖/分裂：** 嘗試生成五隻狼的幼崽，結果狼崽卻會不斷分裂，數量越來越多。
    *   **物件消失/變魔術：** 考古學家挖出塑膠椅的場景中，挖出東西後突然變出一張椅子，隨後椅子又跑掉。

### 3. 影像與影片的 AI 處理基礎：Patch 壓縮

為了讓 AI 模型能夠高效處理複雜的影像和影片數據，需要將其簡化：

*   **影像構成：** 圖片由像素 (Pixel) 構成。解析度越高，像素越多，圖片越清晰（如 1024x1024）。
*   **影片構成：** 影片由一張一張的圖片（幀，Frame）構成。通常 YouTube 影片是 24 FPS (Frames Per Second)，遊戲可能需要 60 FPS 才能絲滑流暢。
*   **Encoder/Patch 壓縮：** 現代 AI 模型通常不直接拿像素當輸入，而是使用 **Encoder** 類神經網路將圖片壓縮。
    *   **切塊：** Encoder 會將圖片切成一塊一塊的 **Patch**。
    *   **表示：** 每個 Patch 會被壓縮，可能用一個獨特的符號（Token）來表示，或是用一個低維度的向量來表示其資訊。
    *   **Transformer 輸入：** 這些 Patch 會被拉直成一條序列，丟給 Transformer 處理。
*   **Decoder 還原：** Transformer 產生一排 Patch 序列後，會透過 **Decoder** 類神經網路將其還原回原始圖片。這個還原過程非常複雜，會考慮單一 Patch 及其所有鄰近的 Patch，甚至整張圖的 Patch 資訊。
*   **影片壓縮：** 影片除了在 2D 空間 (長寬) 進行 Patch 壓縮外，還可以利用時間維度進行壓縮。常見做法是將相鄰的幾幀合併，將同樣位置的 Patch 進一步壓縮成一個 **Video Patch**。SORA 也使用了類似的 Patch 技術。

### 4. 文生圖模型的訓練與評估

#### 4.1 訓練數據與版權風險

*   **訓練基礎：** 要訓練文生圖模型，需要收集大量的圖片及其對應的文字敘述。
*   **數據規模：** 現今有大規模開源數據集可供訓練，例如 LAION (Large-scale Artificial Image Network) 的最大資料集包含 **58 億張**圖文配對。
*   **數據來源：** 這些數據通常是從網路上爬下來的圖文配對，經過後處理（如去除不當圖片或配對不好的數據）整理而成。
*   **風險與爭議：** 使用 LAION 數據集存在風險，LAION 宣稱只負責收集，不擁有版權。例如 Stable Diffusion 的開發公司 Stability AI 曾因使用該數據集而被畫家提告。

#### 4.2 生成模式：NAR 與 Attention 的應用

*   **AR 的局限：** 文生圖很少使用 Auto-Regressive (AR) 接龍方式，因為即使是 Patch 數量仍太多，速度過慢。
*   **NAR 的應用：** 文生圖通常採用 Non-Auto-Regressive (NAR) 方式，所有 Patch **同時**被生成出來。
    *   **Transformer 與 Attention：** 雖然 Patch 是同時生成，但透過 Transformer 內建的 **Attention** 機制，每個位置在處理時會參考其他位置的資訊，從而讓 Patch 與 Patch 之間仍保持關聯性。

#### 4.3 圖像評估標準：CLIP Score

*   **人類評估的局限：** 過去是人類評估生成結果，但人類時間有限。
*   **CLIP 模型：** CLIP 是一個模型，它被訓練來判斷一張圖片與一段文字是否為正確的配對。正確配對給高分，不正確配對給低分。
*   **CLIP Score：** 今天的主流做法是引入 CLIP 模型來衡量生成式 AI 的好壞。將輸入的文字敘述與生成的圖片一起丟給 CLIP，得出的分數稱為 **CLIP Score**。分數越高，代表圖文匹配度越好，模型表現越佳。

#### 4.4 個性化圖像生成 (Customization)

*   **文字描述的不足：** 有很多圖像難以用文字完整描述。
*   **客製化技術：** 為了實現個性化生成，可以為想要客製化的特定物體取一個**特殊符號**（例如「Star」），這個符號必須是平常不會使用的，以避免污染既有詞彙的語義。
*   **微調：** 只需要用極少量的圖片（例如 3 到 5 張）來微調文生圖模型，讓模型學會識別這個特殊符號。
*   **應用：** 一旦模型學會，就可以使用該符號在各種場景中生成該物體，例如要求模型畫出「Star 的油畫」或「Star 的 APP icon」。

### 5. 文生影片的挑戰與優化策略

文生影片的原理與文生圖相似，只是生成了**更多的 Patch**，這些 Patch 集合起來對應一段影片。然而，文生影片面臨著巨大的運算挑戰。

#### 5.1 運算量的挑戰

*   **驚人的 Attention 次數：** 假設生成一段 1 分鐘的影片（24 FPS），且每幀由 64x64 個 Patch 描述（總共 600 萬個 Patch），如果所有 Patch 之間都要計算 Attention (在 Transformer 中)，Attention 的次數將是 600 萬的平方，即 **36 兆次**。

#### 5.2 優化策略：未 3D Attention

為了解決龐大的運算量，需要減少 Attention 的計算。

*   **Special Temporal Attention (全 3D)：** 這是指同時考慮同一個幀內（空間）和不同幀間（時間）的 Patch 關聯。運算量過大，難以生成高清影片。
*   **分解為 2D/1D Attention：** 將 Attention 拆解成兩部分，然後交替使用：
    1.  **Spatial Attention (2D)：** 只考慮**同一個 Frame** 裡面的 Patch 關聯。確保同一幀的畫面一致。
    2.  **Temporal Attention (1D)：** 只考慮**不同 Frame 裡同一個位置**的 Patch 關聯。確保畫面在時間上連貫。
*   **運算量比較：**
    *   全 3D Attention (36 兆次)。
    *   Special Attention (2D)：約 240 億次 Attention。
    *   Temporal Attention (1D)：約 85 億次 Attention。
    *   **效益：** 240 億 + 85 億 (約 325 億次) 的總運算量，相比於原來的 36 兆次，**減少了約千倍**。這種將兩種 Attention 疊在一起使用的架構，被稱為 **未 3D Attention**，是目前影片生成模型中非常常用的技術。

#### 5.3 優化策略：多步生成與流水線

文生影片通常也採用分階段的策略來處理複雜任務。

*   **流水分工：** 將生成任務拆解成多個模型，每個模型專注於一個簡單的子任務。
*   **階段任務差異：**
    *   **解析度提升 (Upscaling)：** 第一版可能是低解析度，後續模型專注將圖片解析度調高。
    *   **幀數提升 (Interleaving)：** 第一版可能是低幀數（例如每秒 2 幀），後續模型專注於預測兩張圖片中間的內容，提高幀數（例如每秒 4 幀，直到 24 FPS）。
*   **Google Imagen 案例：** Google 的 Imagen 模型使用了多個模組組成的流水線：先由 Base Model 產生低解析度、低幀數的影片 (16 幀, 40x24 解析度, 3 FPS)，然後透過後續模組逐步提高幀數和解析度，最終生成 1280x768 解析度、24 FPS 的清晰影片。


### 【生成式AI導論 2024】第18講：有關影像的生成式AI (下) — 快速導讀經典影像生成方法 (VAE, Flow, Diffusion, GAN) 以及與生成的影片互動 大綱



### I. 經典影像生成模型概述

*   **四大模型：** VAE (Variational Auto Encoder)、Flow-based Model、Diffusion Model、GAN (Generative Adversarial Network)。
*   **Transformer 的應用：** 影像生成今天常用 Transformer 架構，概念是給一段文字產生一排 Patch (區塊) 來構成圖片。
*   **Diffusion Model 特性：** 透過不斷減少雜訊，最終產生高清圖像。

### II. 影像生成的根本挑戰：資訊不完整性

*   **Multi-modality 問題：** 同一段文字描述（如「奔跑的狗」）對應多種不同的圖像樣貌（如哈士奇在草原或獵犬在都市）。
*   **模型困惑：** Transformer 在訓練時因同樣輸入對應多種輸出，會「無所適從」。
*   **解決思路：** 需加入**額外的資訊**，將原本文字未提及的細節補足，讓模型知道要生成哪一種圖。

### III. 基於 Autoencoder 的生成框架：VAE 與 Flow-based Model

*   **訓練目標：** 訓練一個框架，讓輸入圖片經過一連串處理後，最終輸出圖片要與輸入越接近越好。
*   **Encoder (資訊抽取模型)：** 負責抽取文字描述未涵蓋的額外資訊（或稱 **Noise**）。其輸出通常是一串數值（一個向量）而非文字。向量維度可能代表特定含義，如狗的品種或背景地點。
*   **Decoder (圖像生成模型)：** 根據文字敘述與 Encoder 抽取的向量（腦補資訊），還原或生成圖片。
*   **VAE (Variational Autoencoder)：** 訓練 Encoder 和 Decoder 兩部分。
*   **Flow-based Model：** 僅訓練一個 **可逆 (invertible)** 的 Decoder，其反函數直接作為 Encoder。
*   **應用：** 可以透過調整 Encoder 輸出的向量（如減去臭臉特徵，加上笑臉特徵）來調整最終圖片效果。
*   **實際使用：** 在生成階段，由於不知道要腦補什麼，Encoder 輸出的向量通常是**隨機產生**（擲骰子）。

### IV. Diffusion Model (擴散模型) 的機制

*   **核心運作：** 反覆使用同一個 Decoder，該 Decoder 每次只做一件簡單的事：**去雜訊 (denoise)**。
*   **生成步驟：** 從一個雜訊圖開始，經過反覆（通常 500 到 1000 次）去雜訊步驟，最終產生清晰圖片。
*   **訓練方法：** 透過 **Forward Process** (順向過程) 自行製造訓練資料：將無雜訊的圖**逐步加雜訊**直到看不出原物體。
*   **訓練目標：** 教導 Denoise Model 根據有雜訊的圖和文字敘述，還原回加雜訊前的樣子。
*   **Diffusion Transformer (Sora 相關技術)：** 將 Transformer 架構應用於 Denoising 過程。每次 Transformer 的運算都是一次 Denoise，反覆執行。
*   **與 VAE 的類比：** Diffusion Model 的 **加雜訊過程** 相當於 VAE 的 Encoder (Forward Process)，**去雜訊過程** 相當於 Decoder (Reverse Process)。

### V. 生成對抗網路 (GAN) 作為外掛

*   **性質：** GAN 本質上是一個**外掛**，可以與 VAE、Flow 或 Diffusion Model 結合。
*   **角色分工：**
    *   **Generator (生成器)：** 負責產生圖片。
    *   **Discriminator (判別器)：** 負責評估 Generator 產生的圖與文字描述的**匹配程度**。
*   **訓練機制：** Generator 努力騙過 Discriminator，Discriminator 則努力變得更厲害，兩者交替訓練。
*   **與 RLHF 的對比：** Discriminator 類似大型語言模型訓練中的 **Reward Model** (獎勵模型)。不同點在於 Discriminator 的學習通常不需人工標註，它假設 AI 生成的都是壞的，訓練資料中的真圖都是好的。

### VI. 互動式生成技術：GENIE (Generative Interactive Environment)

*   **目標：** 創造可互動的生成式環境，如操控 AVATA 在 2D 橫向捲軸遊戲中移動。
*   **模型輸入與輸出：** 讀取當前畫面 (輸入) 和使用者的動作 (如搖桿輸入)，輸出下一秒的畫面。
*   **訓練的挑戰：** 網路上收集的遊戲影片只有畫面，**缺乏使用者輸入的動作標註**。
*   **解決方案 (Latent Action)：** 使用類似 Autoencoder 的概念，訓練一個 **動作抽取模型 (Action Extractor)**。
    *   Action Extractor 讀取前一個畫面和下一個畫面之間的差異，**猜測 (Latent Action)** 使用者按了什麼按鈕。
    *   將猜測的動作 (Latent Action) 傳給圖像生成模型，與前一個畫面一起生成下一個畫面。
    *   目標：讓生成的畫面與實際的下一畫面越接近越好，間接證明動作抽取模型的猜測是正確的。
*   **應用潛力：** 可用於快速創造遊戲或未來開放世界的駕駛模擬器等應用。

---



### 1. 影像生成模型的經典介紹與難點

#### 1.1 經典模型與基本架構

在影像生成的歷史中，有幾種經典的方法，包括 **VAE (Variational Auto Encoder)**、**Flow-based Model**、**Diffusion Model** 以及 **GAN (Generative Adversarial Network)**。

現今，像 Sora 這類的模型可能使用了 **Diffusion Model**，其特徵是從大量的雜訊開始，逐步減少雜訊，最終產生高清的圖片。

今天影像生成的類神經網路架構通常使用 **Transformer**，其概念是給一段文字，Transformer 產生一排 **Patch** (圖片區塊)，最終構成圖片。

#### 1.2 訓練上的多樣性挑戰 (Multi-modality Problem)

在訓練影像生成模型時，會遇到一個核心問題：**同一段文字描述可能對應多種不同的圖像**。例如，訓練資料中的「一隻奔跑的狗」可能是「草原上奔跑的哈士奇」，也可能是「都市裡奔跑的獵犬」。

對於 Transformer 來說，當它接收到同樣的文字輸入，卻被要求產生不同的 Patch 序列時，它會感到困惑，不知所從。如果模型試圖學習所有的可能性，結果可能是產生**各種奇怪的混種圖片**，因為輸入的文字無法完整地描述整張圖片。

#### 1.3 解決之道：加入額外資訊

為了解決這個問題，必須將**額外且原先文字未提到的資訊**加入到訓練中。

*   例如：不只告訴模型生成「奔跑的狗」，而是明確告知它要生成「哈士奇在草原上奔跑的樣子」。
*   這樣，模型就知道為什麼同樣的文字輸入會對應到兩張不同的圖片，因為有額外的資訊在輔助它。

### 2. Autoencoder 框架下的 VAE 與 Flow-based Model

由於難以人工標註這些額外資訊，研究者設計了 **Autoencoder (自編碼器)** 框架，讓資訊抽取與圖片生成可以一同被訓練。

#### 2.1 框架與共同目標

*   **Encoder (資訊抽取模型):** 接收訓練資料中的圖片和文字描述，負責抽取文字未描述到的部分資訊。
*   **Decoder (圖像生成模型):** 接收文字敘述和 Encoder 抽取的資訊，生成一張圖片。
*   **共同目標:** 雖然我們不知道 Encoder 抽出了什麼是標準答案，但只要經過這連串處理後，**最終輸出的圖片與輸入圖片越接近越好**。

#### 2.2 VAE 與 Flow-based Model 的區別

*   **VAE (Variational Autoencoder):** 訓練一個 Encoder 和一個 Decoder。
*   **Flow-based Model:** 該模型認為 Encoder 和 Decoder 做的只是相反的事情（一個抽取資訊，一個還原資訊），因此只訓練一個 **Decoder**，並要求這個 Decoder 必須是**可逆的 (invertible)**。這個 Decoder 的反函數就直接作為 Encoder。

#### 2.3 Encoder 輸出的性質

*   Encoder 輸出的不是文字，而是一個 **數值向量**，也被文獻稱為 **Noise**。
*   這個向量的每一個維度可能對應到特定的含義，例如第一個維度可能代表「狗的品種」，第二個維度可能代表「背景地點」。
*   **Noise 中包含豐富資訊：** 實驗證明，這個向量可以被操作。例如，可以計算出「臭臉特徵的向量」和「笑臉特徵的向量」，然後在原圖的向量上 **減去臭臉特徵並加上笑臉特徵**，透過 Decoder 還原後，可以讓圖片中的人物笑得更開心。

#### 2.4 實際生成圖片的過程

在實際生成圖片時，我們只有文字敘述，**並不知道**文字沒描述的額外資訊是什麼。

因此，當使用 VAE/Flow 模型時，需要先**隨機擲骰子**來產生那個「腦補的向量」，再將文字敘述與這個隨機向量丟給 Decoder，由其產生最終結果。

### 3. Diffusion Model 的機制與應用

Diffusion Model 的 Decoder (Denoise Module) 也是接收 **Noise (雜訊/腦補資訊)** 和文字敘述來產生圖片。

#### 3.1 Denoising 過程

Diffusion Model 的核心是**反覆使用同一個 Decoder**。

*   **Decoder 的任務：** 每次只做一件事——**去除雜訊 (denoise)**。
*   **過程：** 給予 Decoder 雜訊，它會去掉一點雜訊，讓圖片看起來更像文字的描述。這個去雜訊的過程需要反覆進行，通常是 **500 次或 1000 次**，才能產生一張清晰的圖片。
*   **研究趨勢：** 目前相關研究集中於如何用更少的 Denoise 次數（例如 5 次、10 次，甚至 1 次）就得到清晰結果。

#### 3.2 訓練 Denoise 模型

Denoise Model 的訓練數據是自己製造的。

*   **Forward Process (順向過程):** 將訓練資料中的清晰圖片，**自行加入雜訊**，並多次重複這個過程，直到圖片完全看不出原來的物體。
*   **訓練目標:** 教導 Denoise Model 接收「有雜訊的圖」和「文字敘述」，然後將其還原回「加雜訊前的樣子」。
*   **Encoder/Decoder 對比:** 在 Diffusion Model 的文獻中，**加雜訊的過程** 被稱為 **Forward Process** (對應 VAE 的 Encoder)，而 **去雜訊的過程** 則稱為 **Reverse Process** (對應 VAE 的 Decoder)。

#### 3.3 Diffusion 與 Transformer 的結合 (Sora)

Denoise Model 內部的類神經網路架構通常是 **Transformer**。

*   **Diffusion Transformer:** 結合了 Diffusion 和 Transformer 技術。
*   **運作方式:** 每次 Denoising 都是由 Transformer 完成的。一開始輸入的是充滿雜訊的 Patch，Transformer 會被重複使用 500 到 1000 次，每次都去掉更多的雜訊，最終產生乾淨的 Patch，然後透過 Decoder 還原成圖片。這種方式也被擴展到生成影片的領域。

### 4. Generative Adversarial Network (GAN)

#### 4.1 GAN 的性質：一個外掛

GAN 與 VAE、Flow 或 Diffusion Model 有**本質上的差異**。GAN 更像是一個**額外的外掛**，可以用來強化其他生成模型（如 VAE、Flow、Diffusion）的生成能力。

#### 4.2 角色與訓練機制

*   **Discriminator (判別器):** 類似於 Clip 模型，它接收圖片和文字，給予一個評價，評估兩者的匹配程度。
    *   訓練 Discriminator 時，需要給予它**正面例子**（真實圖片與匹配文字）和**反面例子**（例如由 Generator 生成的抽象或錯誤圖片）。
*   **Generator (生成器):** 在 GAN 框架下，其他模型的 Decoder 或 Generator 會被稱為 Generator。
*   **對抗學習:** Generator 不再只是向真實圖片學習，而是向 **Discriminator 學習**。Generator 的目標是產生一張圖片，讓 Discriminator 覺得它「做得非常棒」，從而騙過 Discriminator。只要另一個 AI（Discriminator）覺得好，生成就算成功，避免了需要單一標準答案的問題。
*   **交替訓練：** Generator 和 Discriminator 會交替訓練，互相進步。

#### 4.3 與 RLHF 的類比

GAN 框架可以與大型語言模型中的 **RLHF (Reinforcement Learning from Human Feedback)** 對比。

*   **對應關係：** GAN 中的 **Discriminator** 角色，在 RLHF 中就是 **Reward Model** (獎勵模型)。
*   **主要差異：** Reward Model 的學習有**人工標註**介入；而 Discriminator 在學習時，可以假設 **AI 生成的圖都是差的**，而訓練資料中的真圖都是好的，從而不需要人類的額外標註。

### 5. 互動式生成：GENIE (Generative Interactive Environment)

GENIE 嘗試讓人類與生成的影像有更即時的互動。

#### 5.1 GENIE 的目標與輸入

*   GENIE 旨在創造類似 **2D 橫向捲軸遊戲**的互動環境。
*   模型輸入：讀取當前畫面，並讀取使用者輸入的**動作 (Action)**（如上下左右的搖桿操作）。
*   目標：透過圖像生成技術，讓使用者**即時控制**影像生成的結果。

#### 5.2 訓練 GENIE 的挑戰與解決方案

*   **所需資料：** 訓練 GENIE 需要「遊戲畫面」加上「人玩遊戲時的按鈕輸入」。
*   **資料缺失：** 網路收集的遊戲影片只有畫面，**沒有使用者輸入的動作**。
*   **Autoencoder 概念的應用：** GENIE 採用類似 VAE 的 Autoencoder 概念來解決這個**資訊缺失**問題。
    *   當模型要根據前一個畫面預測下一個畫面時，它缺少了「使用者的動作」。
    *   **Action Extractor (動作抽取模型):** 該模型被訓練來讀取「之前的遊戲畫面」和「下一個畫面」，試圖歸納出使用者按了哪個按鈕。
    *   這個動作抽取模型與圖像生成模型一起訓練，共同目標是讓最終生成的畫面與真實的下一畫面越接近越好。
    *   **Latent Action (潛在動作):** 由於這些動作是模型猜測出來的，而不是真實收集到的數據，因此被稱為 **Latent Action**。

#### 5.3 GENIE 的應用與未來展望

*   研究假設人可以按的按鈕有八個。
*   結果顯示，即使是猜測出來的 Latent Action，如果輸入一串相同的指令，在不同畫面中也會產生一致的變化，例如人物向右移動。
*   GENIE 允許使用者透過輸入指令來隨意創造和遊玩遊戲，甚至可以將真實場景的相片當作遊戲畫面來進行操作。
*   未來應用可能包括開放世界的駕駛模擬器，讓學習者可以在虛擬世界中無限地開車，場景永遠不會停止。

### 【生成式AI導論 2024】GPT-4o 背後可能的語音技術猜測 大綱



### I. GPT-4o 語音模式的亮點與市場重視

*   **功能特色：** 具備豐富的語音風格（如快慢、輕聲細語、唱歌），能理解語音內容以外的資訊（如喘氣聲、情緒），做到「察言觀色」，並能發出非語音性聲音（如笑聲）。
*   **互動性：** 具備自然且及時的互動能力，可以被使用者打斷，並在話語未完時給予回饋。
*   **市場趨勢：** 語音互動技術是各大廠（如 Google 的 Project Astra）都非常重視的領域。

### II. 舊版語音界面的運作與限制

*   **誤解澄清：** 多數使用者目前使用的手機版語音界面可能**還不是**真正的 GPT-4o Voice Mode。
*   **舊版架構 (串接)：** 語音辨識 (ASR) -> 文字 -> 語言模型 (LLM) -> 文字 -> 語音合成 (TTS)。
*   **舊版限制：** LLM 可能不知道輸入語音的情緒，且語音合成只有單一說話風格。

### III. GPT-4o 預測核心技術：End-to-End 整合模型

*   **單一模型：** GPT-4o 宣稱其語音模式是 **End-to-End** 架構，只使用一個單一模型處理所有事情，而非複雜的串接架構。
*   **語音單位 (Speech Units)：** 為了解決聲音訊號的複雜性（1秒有 16,000 個取樣點，若直接接龍耗時），模型運作在壓縮後的 **Speech Units** 上進行「**聲音接龍**」。
*   **壓縮架構：** 聲訊號先經 **Encoder** 壓縮成 Speech Unit 序列，再由 **Decoder** 將 Unit 轉回複雜的聲訊號。
*   **混合編碼可能性：** 可將語音辨識與編碼器結合（Hybrid Encoder），將能用文字表示的部分用文字表示，無法表示的非內容資訊（如笑聲、情緒）用 Speech Unit 保留。

### IV. 訓練與數據利用策略

*   **訓練基礎：** 語音版語言模型需用大聲聲訊號進行訓練，可能使用了 Open AI 從 YouTube 影片收集的超百萬小時數據。
*   **擴大風格：** 大量訓練資料有助於語音合成模型理解內容並給予戲劇性變化，以實現多樣化的聲音風格。
*   **知識不足的補救：** 100 萬小時語音數據量遠低於 LLaMA 3 的 15 兆個 Token，因此模型**不能只用語音數據**，必須利用**文字資訊**（如透過原有的 LLM 進行初始化或混合訓練）。
*   **對話微調 (Alignment)：** 需要收集語音對話數據來微調模型，讓其學會用特定的語者聲音（如 Sky）進行互動。

### V. 語音互動的獨特挑戰與多模態整合

*   **時序猜測：** 與文字介面不同，AI 必須猜測何時該開始說話、何時該停止（例如判斷人類的停頓是等待還是結束）。
*   **同時聽說：** 讓模型能同時「聽」外界聲音並「說」出自己的回應，需要將聽與說分成**兩個獨立的頻道**來處理。
*   **多模態整合：** GPT-4o 具有多模態能力，需同時處理**聽、說、看**三個頻道。模型會對所有頻道（包括過去的影像和聲音資訊）進行 Attention，以提供自然的回應，即使當前畫面已沒有相關資訊（如 Google Project Astra 找眼鏡的例子）。

---



### 1. GPT-4o Voice Mode 的能力與與市場背景

GPT-4o 語音模式 (Vice Mode) 的功能引起了廣泛關注。其特別之處包括：

*   **豐富的語音風格：** 它可以根據指令使用不同的語調說話，例如要求它講快一點、輕聲細語，甚至是用唱的方式表達。
*   **理解非語音資訊：** GPT-4o 能夠「察言觀色」，理解語音內容以外的資訊。例如，它可以聽到一個人的喘氣聲，進而知道對方可能氣喘如牛。
*   **發出非語音性聲音：** 這個模型非常愛笑，動不動就會笑出來，可以發出非語音性的聲音。
*   **自然及時的互動：** 在 Demo 中，使用者話還沒說完，GPT-4o 就能即時回覆（如說一聲「哇」），顯示出其互動的即時性與自然性。
*   **行業重視：** 語音互動技術是當前各大科技公司都非常重視的領域，Google 也試出了 Project Astra 的語音互動技術。

### 2. 舊版語音界面的運作模式與其局限性

首先需要澄清一個誤解：多數人在 5 月 19 日晚間錄製影片時，應該**還沒有**使用到真正的 GPT-4o Voice Mode。大家所使用的可能是 ChatGPT 手機版既有的語音界面。

#### 2.1 舊版架構 (串接式)

舊版語音界面的運作方式是將不同模組串接起來：
1.  **語音訊號**透過**語音辨識**轉換成**文字**。
2.  **文字**丟給**語言模型**（如 ChatGPT）得到回應。
3.  **回應文字**透過**語音合成**產生最終的**語音訊號**。

#### 2.2 舊版局限性與潛在優化

雖然如果語音辨識和語音合成跑得夠快，舊版界面也能達到蠻自然及時的互動，但與 GPT-4o Demo 相比仍有差距：
*   **情緒傳遞困難：** 如果聲音訊號只轉成文字，語言模型可能無法得知說話者的情緒。
*   **風格單一：** 語音合成如果只接收文字輸出，可能只能產生某一種說話風格。

針對舊版架構，可以透過增加額外模組來提升能力：
*   **情緒辨認模組：** 在語音辨識之外加入語音事件偵測或情緒辨認模組，將偵測到的情緒與辨識結果一起丟給語言模型。
*   **輸出符號/指令：** 語言模型除了文字，還可以多輸出一些符號（例如在句尾加上 `(笑)`），丟給語音合成系統。有些語音合成系統（如 Suno AI 開發的 Bark）確實可以識別並產生笑聲。LLM 也可以產生指令，告知語音合成系統應使用何種語氣進行合成（例如 Meta 開發的 Audiobox）。

### 3. GPT-4o 預測核心：End-to-End 與 Speech Unit

GPT-4o 的官方規格已表明其語音模式是一個 **End-to-End (E2E)** 的模型，這意味著它只使用一個單一模型來處理所有事情。

#### 3.1 聲音接龍的必要性

*   **文字模型：** 語言模型做的是「文字接龍」，猜測下一個文字 Token。
*   **語音模型：** 語音版語言模型做的是「**聲音接龍**」，聽一段聲音，然後猜接下來應該產生什麼樣的聲音。
*   **聲音的複雜性：** 語音訊號相較於文字更為複雜。若取樣率是 16KHZ，一秒鐘的聲音訊號由 16,000 個數值構成。若讓聲音訊號一個一個取樣點跑出來做接龍，會非常耗時，產生一秒聲音需跑 16,000 次接龍。

#### 3.2 引入 Speech Unit（語音單元）

為了解決速度問題，語音版語言模型通常不直接對聲音訊號做接龍，而是對**壓縮過**的訊號進行運作。

*   **Encoder (編碼器)：** 將一段聲音訊號輸入，透過內建的 **Codebook** ，每個程式碼代表某種聲音類型，如人類發的音、笑聲、狗叫聲等)，將聲訊號表示成一串 **Code 的序列**，這些 Code 被稱為 **Speech Unit**（聲音的單位）。
*   **Decoder (解碼器)：** 讀取這些 Speech Unit，將其轉回複雜的聲音訊號。
*   **運作方式：** 聲音訊號先透過 Encoder 變為 Speech Unit，語音版語言模型對這些 Unit 進行預測（預測下一個 Unit 是什麼），然後再由 Decoder 將 Unit 轉回訊號。

#### 3.3 傳統 ASR/TTS 與 Speech Unit 的優劣

*   **文字壓縮的不足：** 傳統的語音辨識 (ASR) 將聲音壓縮成文字，雖然文字是語音的濃縮版，但文字只代表了語音中**內容的資訊**。例如，如果一段聲音是「好笑」後接「哈哈」幾聲，ASR 可能只會辨識出「好笑」，笑聲的資訊就丟掉了。
*   **Speech Unit 的優勢：** 它可以保留文字所無法表達的資訊，例如情緒、笑聲等。
*   **Hybrid Encoder (混合編碼器) 的猜測：** 一個可能的做法是將編碼器和語音辨識結合。聲音訊號中能辨識成文字的部分用文字表示，無法用文字表示的部分（如笑聲）用 Speech Unit 符號表示。這樣做的好處是，對於 LLM 來說，文字符號的意義它早已知道，只需學習新的 Speech Unit 符號即可，可能讓學習更為容易。

### 4. 語音模型訓練的挑戰與數據利用

#### 4.1 訓練步驟與數據來源

語音版語言模型可能採用與文字語言模型類似的三個訓練步驟：
1.  **Pre-train (預訓練)：** 使用大量沒有標註的語音資料進行訓練。
2.  **Fine-tune (微調)：** 使用少量有標註的資料進行微調。
3.  **RLHF (Alignment)：** 使用使用者回饋資料進行微調。

*   **數據來源：** 為了獲得大量語音資料，OpenAI 被報導使用了**超過 100 萬小時的 YouTube 影片**來訓練他們的模型。
*   **潛在的雜訊學習：** 由於網路影片可能包含音效和背景音樂 (BGM)，語音模型可能會將音效和 BGM 也學進去。源文件猜測，這甚至可能成為一個「Feature」（特色），例如 GPT-4o 講話時可能自帶 BGM。

#### 4.2 擴展風格與知識補充

*   **豐富性來自數據量：** 過去語音合成系統因為資料不足，輸出的聲音往往平淡（稱為「棒讀」）。而研究（如 Amazon 在今年 2 月的論文）顯示，如果使用大量訓練資料（如超過 10 萬小時），語音合成模型就能理解內容並給予適當的變化。例如，當讀到「輕聲細語 (whisper)」這個詞彙時，模型會自動知道要用比較輕的聲音來唸。
*   **知識不足：** 100 萬小時的語音資料約等於 60 億個文字 Token。但相較於 LLaMA 3 預訓練的 15 兆個 Token，這僅是其預訓練資料的 $1/250$。因此，單純用語音資料訓練的模型知識會非常不足。
*   **利用文字資訊：** 模型必須利用文字的資訊進行補充。這可能透過以下方式實現：
    *   **初始化：** 使用原有的、已經很厲害的文字語言模型作為語音版語言模型的**初始化**，讓其學會聽懂新的語言（Speech Unit）。
    *   **混合訓練：** 將語音的符號（Unit）和文字全部倒在一起訓練。

#### 4.3 Alignment 與語者風格固定

*   **對話訓練：** 為了讓語音模型學會好好跟人說話，需要收集語音的對話資料來進行微調 (Alignment)。
*   **固定語者聲音：** 在 Demo 中，模型講話的聲音是固定的（例如固定是 Sky 這個聲音）。為了讓模型學會用特定語者的聲音講話，需要收集該語者與其他人的大量對話錄音。
*   **少量數據 Fine-tune：** 由於模型在 Pre-train 階段可能已經學會模仿各種不同人說話，因此在 Alignment 階段，只需要少量特定語者的語音資料，即可完成學習。
*   **語音轉換技術：** 另一個可能性是利用**語音轉換技術**，將對話中不同人的聲音都轉換成目標語者（如 Sky）的聲音，從而產生大量的訓練資料。

### 5. 語音互動的獨特挑戰與多模態能力

語音界面與文字界面存在本質區別，主要在於時序的處理。

#### 5.1 猜測時機 (Timing Problem)

*   **文字界面的明確性：** 在文字互動中，使用者輸入完後按 Enter，AI 清楚知道何時輪到它講話。
*   **語音界面的模糊性：** 在語音界面中，當使用者話語停頓時，AI 必須猜測：是該輪到它接話？還是使用者還沒講完，應該繼續等待？
*   **打斷處理：** 當 AI 在講故事時，使用者說「停」，AI 必須判斷人說話的意圖是否是要它停下來。

#### 5.2 聽與說的分離

要讓語音版語言模型能跟人有自然互動，模型必須具備**同時聽與說**的能力。

*   **舊模式的困難：** 原來的文字接龍模式是切開的，模型在「說」的時候很難同時「聽」。
*   **解決方案：** 將「聽 (Listening)」與「說 (Speaking)」分成**兩個不同的頻道**。
    *   **聽的頻道：** 記錄外界聲音和人在說什麼（模型的麥克風輸入）。
    *   **說的頻道：** 記錄模型自己發出過的聲音。
*   **運作流程：** 語音版語言模型同時聽這兩個頻道的內容。當人說話時，模型可能輸出 `Silence` 的 Speech Unit 符號。當模型判斷人說完了，它就可能輸出自己的回應（如「哇」），然後接著說「我好期待」。若人在模型講話時再次發出聲音，模型可能會再次輸出 `Silence` 符號，保持安靜，等待人繼續說完。

#### 5.3 多模態的整合 (聽 + 說 + 看)

GPT-4o 是一個多模態模型，它可以同時看圖片、影像，這意味著它可能不只有聽和說兩個頻道，還會有一個**視覺頻道**讀取外界影像輸入。

*   **Attention 機制：** 在多模態互動中，模型會對**每一個頻道**（聽、說、看，以及它們的歷史資訊）都進行 Attention。
*   **回溯記憶：** 即使畫面中或對話中當前沒有提及某個物體，模型也能從過去的視覺資訊中提取記憶。例如，在 Google Project Astra 的 Demo 中，模型記住了先前在畫面中一閃而過的眼鏡，並在之後被問到時回答了眼鏡的位置。

---
其他課程:

[【生成式AI導論 2024】00~02 生成式AI介紹](https://hackmd.io/@JuitingChen/ByiS0S_Aex)
[【生成式AI導論 2024】03~05 訓練不了人工智慧？你可以訓練你自己](https://hackmd.io/@JuitingChen/SJZdX5KAlx)
[【生成式AI導論 2024】06~08 大型語言模型修練史](https://hackmd.io/@JuitingChen/H1vfEqYCee)
[【生成式AI導論 2024】09~11 AI Agent、Transfoermer、可解釋性](https://hackmd.io/@JuitingChen/BybEB9KRxx)
[【生成式AI導論 2024】12~14 淺談檢定大型語言模型能力和大型語言模型相關的安全性議題](https://hackmd.io/@JuitingChen/ByyxUcY0le)
[【生成式AI導論 2024】15~16 生成式人工智慧的生成策略 和 Speculative Decoding](https://hackmd.io/@JuitingChen/H1sW_mfJZg)
[【生成式AI導論 2024】17~18 有關影像的生成式AI 和 GPT-4o 可能的語音技術](https://hackmd.io/@JuitingChen/S1uFKmG1Zx)