生成式學習的兩種策略: 各個擊破還是一次到位

閱讀時間約 8 分鐘
這文章其實也是李宏毅老師 2023 年機器學習課程的個人一些學習整理,李老師上課的內容&口吻很精彩,很建議大家直接看李老師的課程影片: 完整的所有課程在這裏

在經過前面幾篇,ChatGPT 的原理關鍵技術以及史上快速的機器學習基本原理介紹之後,我們逐漸前往生成式學習的領域核心了,不知道大家有沒有越來越清楚這波所謂的人工技術的內部原理了呢?
希望是有的,廢話不多說,我們繼續來跟大家分享這次生成式學習的常見生成策略,一樣很精彩哦。

生成的最小單位: 理解內容組成的基礎

無論我們想要生成的是文句、影像還是語音,我們需要首先理解這些內容的基本組成元素。對於文句來說,最小的單位是 token。在中文中,每個字就是一個 token;然而,對於英文,由於其詞彙多樣性(無法窮舉),我們通常將其進一步拆解為更小的部分,稱為 word piece。例如,"unbreakable" 可以被拆分為 "un"、"break"、"able"。而對於影像,其最小單位則是像素,對於語音,則是取樣頻率。例如,在16k取樣頻率下,每秒我們將獲得16,000個取樣點。

生成策略之一: 各個擊破的逐步生成

生成式學習的一種常見策略是 Autoregressive model,也就是我們所謂的"各個擊破"。在這種模式下,生成過程是一步步進行的。假設我們詢問機器學習是什麼,文字生成會依序生成每個字元,如"機"、"器"、"學"、"習"、"是"…,並在最後加上一個"[END]"符號來表示生成的結束。在生成影像的時候,機器則是依據提示"一直在奔跑的狗",逐一生成每個像素。

生成策略之二: 一次到位的全面生成

另一種生成策略是 Non-autoregressive (NAR) model,也就是"一次到位"。在這種模式下,所有的生成元素都是同時產生。然而,這種方法需要解決如何控制輸出長度的問題。一種常見的解決方案是固定輸出的長度,並在輸出的結束加上"[END]",如此你就可以知道這符號之後的內容是可以丟棄的。另一種解決方案則是首先輸出一個表示輸出長度的信息,例如100,然後生成程序就可以知道這次需要生成的長度。

兩種生成策略的對比: 品質與速度的平衡

在"各個擊破"與"一次到位"兩種策略中,後者的生成速度通常會更快。然而,這樣的速度優勢可能會帶來品質的下降。例如,如果我們試圖回答"請問李宏毅老師的職業是什麼"這個問題,答案可能是"演員"或"老師"。然而,由於"一次到位"的策略需要一次就將第一個字以及第二個字的可能答案選擇出來,所以可能會回答出類似"老員"或"演師"這種答案,所以這種方法的回答質量通常不如"各個擊破"的策略。

了解 NAR 模型速度之快: 內在運作原理的探討

在理解為什麼非自回歸(Non-Autoregressive,NAR)模型通常比自回歸(Autoregressive,AR)模型速度快之前,我們需要了解兩者的運作方式。
想像一下你在建立一個句子,AR模型就像是你一個字一個字地寫出這個句子,每寫一個字,你都要看看前面已經寫下的字,然後根據前面的字來決定下一個字應該是什麼。這就像是當你寫一篇文章時,你需要根據前文來決定後續的內容。這樣的過程雖然可以創造出合理且通順的句子,但每次生成下一個字元都需要等待前面的字元生成完畢,這種依賴前一步的特性使得整個生成過程無法並行,只能串行進行,所以速度相對較慢。
相對的,NAR模型則是一種一次性生成所有字元的方法。這就像是你同時揮動手中的魔法棒,讓所有的字都立即出現在紙上。因為這種模型的生成不依賴於先前生成的字元,所有的字元都可以同時並行生成,所以整體生成速度會比AR模型快。然而,這種同時生成所有字元的方法可能會導致生成的句子在語義上的連貫性不如AR模型。
所以,就好像你在賽跑,AR模型像是按照既定路線一步步跑完全程,而NAR模型就像是用傳送門直接到達終點,因此NAR模型的速度通常會比AR模型快。

策略融合的可能: 品質與速度的兩全其美

那麼,有沒有可能融合"各個擊破"和"一次到位"兩種策略,既能保證生成的品質,又能保證生成的速度呢?答案是肯定的。Diffusion Model 正是這樣一種方法,它將"一次到位"的策略改為"N次到位"。這種方法不僅能保證令人驚訝的生成品質,同時也能提供快速的生成效率。
以下則是語音以及影像生成領域將這兩種策略融合使用的簡單說明:

語音生成的策略融合

語音生成技術需要將文本轉換為語音。在這個過程中,我們可以選擇使用"各個擊破"或"一次到位"兩種策略。然而,我們也可以結合兩種策略,以充分利用兩者的優勢。以下是一種如何結合這兩種策略的方法,我們將以一種輕鬆理解的方式進行說明。
首先,讓我們把語音想像成一串珠子,每一顆珠子都代表語音中的一個取樣點。在"各個擊破"的階段,我們會像串珠一樣,一個取樣點接一個取樣點地生成語音。比方說,我們可以每秒生成100個取樣點,這就像是我們在每秒鐘內將100顆珠子串到一條線上。這個過程能確保語音的流暢性,因為每一個取樣點都依賴於前一個取樣點。
然後,在"一次到位"的階段,我們會將這100個取樣點(或者說,這100顆珠子)視為一個整體,並同時對其進行調整。這就像是我們在將100顆珠子串成一條線之後,立即對這條線上的所有珠子進行顏色或形狀的調整。這樣的過程可以大幅提高生成速度,因為所有的取樣點都是同時被調整的。
因此,透過結合"各個擊破"與"一次到位"的策略,我們可以在保持語音的流暢性的同時,也提高語音的生成速度。這就像是我們在串珠時,既能確保每一顆珠子都被細心串到線上,又能立即對所有的珠子進行調整,使得整條珠子線看起來更完美。

Diffusion Model的策略融合

當我們討論影像生成時,我們可以將其視為從一幅模糊的畫開始,逐步添加更多細節,直到我們得到一幅清晰、細膩的畫作。Diffusion Model 就是如此來結合"各個擊破"和"一次到位"兩種策略的優勢。
Diffusion Model的工作方式有點像我們在實際生活中創作一幅畫。首先,我們可能會在畫布上畫出一個大概的草圖,這個草圖代表我們的想法和目標。然後,我們會逐步添加細節,填充顏色,進行修飾,直到最後完成一幅清晰的畫作。在這個過程中,我們並不是一次就完成所有的細節,而是分階段逐步添加。
Diffusion Model就是透過這種方式來生成影像。它首先創建一個模糊的影像,然後透過一系列的步驟來添加細節。這就像我們先畫出一個大概的草圖,然後逐步填充顏色和細節。每一個步驟都是一次"到位",因為在每個步驟中,模型都會同時更新所有的像素。
然而,這一次的"到位"並不是將影像立即變成最終的清晰影像,而是逐步添加細節。這就像我們在畫畫時,每一步都在補充草圖的細節,但不會一次就畫出最終的畫面。因此,Diffusion Model可以被視為是"各個擊破"和"一次到位"兩種策略的結合。
透過這種方式,Diffusion Model可以在保留"各個擊破"策略帶來的細節度和質量的同時,利用"一次到位"策略提高生成速度。這就像是我們在畫畫時,既能確保每一步都有細節的添加,又能快速完成整幅畫作。

我們這篇文章內的圖表都是由李宏毅老師的課程投影片中選錄截取出來的,原始投影片可參考李老師課程首頁內連接: Machine Learning 2023 Spring

很感謝李宏毅老師同意使用。
為什麼會看到廣告
18會員
19內容數
留言0
查看全部
發表第一個留言支持創作者!
Ted Chen的沙龍 的其他內容
本文深入探討機器學習的核心概念,包括迴歸、分類和生成式學習。我們解釋了如何使用特定函式來實現期望任務,並將此過程分為設定範圍、確立標準和實現目標三個階段。文章還介紹了如何使用機器學習來訓練和測試模型,並以寶可夢應用為例說明迴歸和分類問題。
這篇文章揭示了訓練GPT模型的三個核心技術:預訓練、微調及增強式學習。預訓練利用大量網路資料提供基礎能力;微調讓GPT更貼近人類思維偏好;增強式學習最終優化模型回答問題的方式。此外,多語言預訓練能讓GPT在一語言的任務學習後,自動掌握其他語言的同樣任務。
這篇文章介紹了ChatGPT,一種大型的語言模型,能以自然語言回答問題,但不透過搜尋罐頭文字或網路內容。其核心技術是自監督式學習,通過大量的網路資料進行訓練,讓模型能進行文字接龍。儘管GPT系列經歷了多次演進,並需用大量的訓練資料,它的問答能力仍有待提升。然而,透過不斷優化,我們已有了更進一步的版本
由于 ChatGPT 的出現讓我們看到了聊天機器人的新可能性,我們這篇文章的目的,就是要來製作第一個屬於自己的聊天機器人。 我們先來準備範例的程式碼,並且稍後會再跟大家介紹要設計自己的 ChatGPT 聊天機器人的重要概念。 初始專案與環境設定 下載程式碼 請先使用下面這一段指令下載我們的範例程式碼
這篇其實就是 Andrew Ng 大大與 OpenAI 合作的一門免費課程【Chatgpt Prompt Engineering For Developers - Guideline】章節的第二段筆記。很建議大家直接看原本的課程影片,內容蠻淺顯易懂的。 第一段筆記在這:開發者的 ChatGPT 提示
這篇其實就是 Andrew Ng 大大與 OpenAI 合作的一門免費課程【Chatgpt Prompt Engineering For Developers】的筆記。很建議大家直接看原本的課程影片,內容蠻淺顯易懂的。 另外因為篇幅有限,所以我們會將他的第一堂課的內容(Guidelines),拆分成
本文深入探討機器學習的核心概念,包括迴歸、分類和生成式學習。我們解釋了如何使用特定函式來實現期望任務,並將此過程分為設定範圍、確立標準和實現目標三個階段。文章還介紹了如何使用機器學習來訓練和測試模型,並以寶可夢應用為例說明迴歸和分類問題。
這篇文章揭示了訓練GPT模型的三個核心技術:預訓練、微調及增強式學習。預訓練利用大量網路資料提供基礎能力;微調讓GPT更貼近人類思維偏好;增強式學習最終優化模型回答問題的方式。此外,多語言預訓練能讓GPT在一語言的任務學習後,自動掌握其他語言的同樣任務。
這篇文章介紹了ChatGPT,一種大型的語言模型,能以自然語言回答問題,但不透過搜尋罐頭文字或網路內容。其核心技術是自監督式學習,通過大量的網路資料進行訓練,讓模型能進行文字接龍。儘管GPT系列經歷了多次演進,並需用大量的訓練資料,它的問答能力仍有待提升。然而,透過不斷優化,我們已有了更進一步的版本
由于 ChatGPT 的出現讓我們看到了聊天機器人的新可能性,我們這篇文章的目的,就是要來製作第一個屬於自己的聊天機器人。 我們先來準備範例的程式碼,並且稍後會再跟大家介紹要設計自己的 ChatGPT 聊天機器人的重要概念。 初始專案與環境設定 下載程式碼 請先使用下面這一段指令下載我們的範例程式碼
這篇其實就是 Andrew Ng 大大與 OpenAI 合作的一門免費課程【Chatgpt Prompt Engineering For Developers - Guideline】章節的第二段筆記。很建議大家直接看原本的課程影片,內容蠻淺顯易懂的。 第一段筆記在這:開發者的 ChatGPT 提示
這篇其實就是 Andrew Ng 大大與 OpenAI 合作的一門免費課程【Chatgpt Prompt Engineering For Developers】的筆記。很建議大家直接看原本的課程影片,內容蠻淺顯易懂的。 另外因為篇幅有限,所以我們會將他的第一堂課的內容(Guidelines),拆分成
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
登入火星、移民火星~~ 登入火星、移民火星,這似乎是電影中才有的情節。 實際生活中卻有一樣的公司,這家公司是太空科技探索公司(SpaceX),其開發了一種可重複使用的重型運載火箭SpaceX星艦,正朝著這個我們認為不可能的目標前進。 當我們腦中還停留在這個登陸火星、移民火星的想法是不可行,笑著
Thumbnail
這篇文章介紹瞭如何利用生成式AI(GenAI)來提高學習效率,包括文章重點整理、完善知識體系、客製化學習回饋、提供多元觀點等方法。同時提醒使用者應注意內容的信效度,保持學術誠信,適當運用GenAI能大幅提升工作效率。
Thumbnail
延續上週提到的,「有哪些不訓練模型的情況下,能夠強化語言模型的能力」,這堂課接續介紹其中第 3、4 個方法
Thumbnail
這一節課說明,如何透過改變給模型的指示或咒語(prompt),來得到不同的結果 。如果直接說結論的話會是,在今天語言模型的能力之下,我們只要交代清楚任務就好,可以包括背景以及需求。而這節課很像是一堂模型咒語的歷史課 XD
Thumbnail
此篇文章介紹兩個生成式AI app,反思AI工具與教師角色
Thumbnail
在ChatGPT問世以來,大家已經感受到了生成式AI入侵各行各業的威力,但真正能夠從這個趨勢賺錢的企業,是位於價值鏈的哪個位置?一些號稱能抓到生成式AI機會的公司,會不會只是泡沫的hype實際上不可取代的程度低,做不出市場所需的差異化產品。 如果觀察上一代大型的科技循環,Mobile移動網路的趨勢,
(刊登於風傳媒,連結:www.storm.mg/article/4796622) 所以,很有意思地,為什麼在當今眾多發展的AI當中,竟然是由自然語言的大型語言模型,來讓人們驚覺有那麼一點通用人工智慧AGI的感覺和發展之可能方向。正是因為概念就藏在語言裡。
Thumbnail
學校老師如何因應 ChatGPT 等生成式AI帶來的衝擊 隨著科技的快速發展,生成式AI已經成為了教育領域的一個熱門話題。這種新興技術對國中國小教育有著潛在的重大影響,老師們需要積極面對並適應這一變革。本文將探討老師如何因應生成式AI帶來的衝擊,以及學校如何在實際應用中踏出第一步。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
登入火星、移民火星~~ 登入火星、移民火星,這似乎是電影中才有的情節。 實際生活中卻有一樣的公司,這家公司是太空科技探索公司(SpaceX),其開發了一種可重複使用的重型運載火箭SpaceX星艦,正朝著這個我們認為不可能的目標前進。 當我們腦中還停留在這個登陸火星、移民火星的想法是不可行,笑著
Thumbnail
這篇文章介紹瞭如何利用生成式AI(GenAI)來提高學習效率,包括文章重點整理、完善知識體系、客製化學習回饋、提供多元觀點等方法。同時提醒使用者應注意內容的信效度,保持學術誠信,適當運用GenAI能大幅提升工作效率。
Thumbnail
延續上週提到的,「有哪些不訓練模型的情況下,能夠強化語言模型的能力」,這堂課接續介紹其中第 3、4 個方法
Thumbnail
這一節課說明,如何透過改變給模型的指示或咒語(prompt),來得到不同的結果 。如果直接說結論的話會是,在今天語言模型的能力之下,我們只要交代清楚任務就好,可以包括背景以及需求。而這節課很像是一堂模型咒語的歷史課 XD
Thumbnail
此篇文章介紹兩個生成式AI app,反思AI工具與教師角色
Thumbnail
在ChatGPT問世以來,大家已經感受到了生成式AI入侵各行各業的威力,但真正能夠從這個趨勢賺錢的企業,是位於價值鏈的哪個位置?一些號稱能抓到生成式AI機會的公司,會不會只是泡沫的hype實際上不可取代的程度低,做不出市場所需的差異化產品。 如果觀察上一代大型的科技循環,Mobile移動網路的趨勢,
(刊登於風傳媒,連結:www.storm.mg/article/4796622) 所以,很有意思地,為什麼在當今眾多發展的AI當中,竟然是由自然語言的大型語言模型,來讓人們驚覺有那麼一點通用人工智慧AGI的感覺和發展之可能方向。正是因為概念就藏在語言裡。
Thumbnail
學校老師如何因應 ChatGPT 等生成式AI帶來的衝擊 隨著科技的快速發展,生成式AI已經成為了教育領域的一個熱門話題。這種新興技術對國中國小教育有著潛在的重大影響,老師們需要積極面對並適應這一變革。本文將探討老師如何因應生成式AI帶來的衝擊,以及學校如何在實際應用中踏出第一步。