Cover by DALLE

自 2022 年 ChatGPT 的問世,改變了世界上許多「能辦到與不能辦到的事」的定義,我也真正的開始對 AI 產生興趣。在進行一些研究後,我發覺到,訓練 AI 所使用的方法,雖然是借鑑自人類的學習,但在機器學習領域操作後的經驗,竟可以反過來帶回到人類身上,讓我們去反思「如何更有效的學習」。本文以訓練 ChatGPT 的三個階段:非監督式學習、監督式學習、與增強學習,來帶回到這些學習的模式在我們生命中是如何呈現的,並透過機器學習的經驗,來反思我們自己可以如何學得更好,以及除此之外,人類與機器的不同之處。

ChatGPT 究竟是什麼?

ChatGPT,或是所謂大型語言模型,具體而言究竟是什麼?它最直觀的理解方式,就是一個文字接龍機。你在 ChatGPT 前面先放一段話,例如:「今天天氣好」,那 ChatGPT 就會試著去猜出下一個會接什麼字,可能是「今天天氣好熱」、「今天天氣好冷」、或是「今天天氣好棒」。但它輸出的不只是一個字,而是所有可能的字,以及它們各自的機率,例如「熱 / 45%」、「冷 / 30%」、或是「棒 / 25%」。

其實這樣的程式早就參與在我們的生活中,就是我們手機輸入法的自動選字功能。每當我們打了一個字,輸入法就會跳出可能接在後面的候選字,ChatGPT 做的就是一模一樣的事。那這樣要怎麼變成一個對話或是文章呢?只要每次都從這些候選字中抽一個接到後面,再產生新的候選字,抽一個再接到後面,如此不斷重復,就能產生一句話。這就好像是我們在手機輸入法,打了第一個字之後,然後一直隨便按自動選字。像是我以「例如」開頭,不斷的按自動選字,就得到了「例如我覺得我已經在這裡沒有帳號登入之後再留言將配合主管機關處理狀況的方式來進行刪除」這樣一個沒有意義的句子。但你仔細看這個句子,其實你隨便選幾個字往前往後看三個字,都還算是合理,然而整句話看起來就語意不通。ChatGPT 它厲害之處,就是能夠處理很長的前後文,使得輸出的自動選字「看起來」是非常合理的。

那訓練這樣的一個模型,想必需要花費大量的資料與運算資源。具體來說,則是分成了三個階段進行訓練:非監督式學習、監督式學習與增強學習。

非監督式學習

非監督式學習(Unsupervised Learning),意思是人不需要為機器提供答案,不需要人的「監督」,機器就能夠自己從資料中找尋規則。在 ChatGPT 的訓練中,它的訓練方式是拿一篇現成的文章,然後把文章從一半遮起來,然後問 ChatGPT 下一個字應該接什麼,再反覆訓練它,使得它的輸出接近文章後面真正的內容。

這其實就好比當我們閱讀一本書,我們自己將書本讀到腦袋裡,用自己的方式去詮釋接收到的資訊。我們在看第一段的時候,可能對於這個文章原本有一定的理解與想像了,但在看到後面的段落時,卻發現跟我們所想的不一樣,於是回過頭去修正我們的理解。這個過程並不會有其他人在旁邊一直「監督」你有沒有讀對,而是由你自己從上下文的脈落中,去得到一個能說得通的詮釋。

非監督式學習的厲害之處在於,任何現成的文本都能夠作為學習材料。歷史以來的所有論文、文學作品、新聞文章、社群媒體貼文,都能夠直接作為訓練的素材。因此 ChatGPT 能夠在多樣的文本之中,學習到許多甚至超越語言本身,乃至於我們認為近乎「知識」的內容。其實這就是我們生命中最頻繁的學習方式,我們活著的每分每秒五觀所感知到的一切,都是在做非監督式學習。

然而在閱讀上下文後所得到的理解,每個人都可能會有自己的詮釋,這些詮釋可能正確,也可能錯誤。為了「導正」機器去得到我們期望的回應,我們在下個階段開始進行「監督式學習」

監督式學習

監督式學習(Supervised Learning)正如其名,就是由人在「監督」下讓機器學習。我們會基於想要打造的應用(例如聊天機器人),去準備我們期待看到的問答內容,並讓機器在看了題目之後,想辦法寫出標準答案。例如,在看到「今天天氣如何」這個句子之後,應該要回答「今天陽光很大」而不是「影響到了我的心情」。這兩個句子接在「今天天氣如何」後面其實都是合理的,但前者才是我們想要的對答,後者則是同一個敘述句。

這其實就是我們從小到大所受過的教育方法:考試。精確來說,是有著標準答案的考試。我們自己的詮釋可能是有錯的,所以透過做題目,並與標準答案比較,便能夠驗證自己的理解,並向標準答案修正。這個方法它相較與非監督式學習成本高一些,還需要有「老師」去準備題目與標準答案,因此不可能像在非監督式學習的階段一樣,內容包山包海。但只要「老師」出好一次題目,就能夠給無數的學生作答,因此仍然相當有效率且節省資源。

然而正如同在考試教育下長大的我們所體驗到的,標準答案的考試有其侷限,一個得到正確答案的作答,其過程卻可能是錯誤的。而且在真實世界需要解決的問題,很多時候標準答案從來就不存在,重要的反而是你推論過程的合理性。因此,我們需要下一個階段:增強學習。

增強學習

增強學習(Reinforcement Learning),是讓機器在與環境互動後,透過環境的反饋進行學習。我們讓 ChatGPT 去針對某些問題去撰寫回應,再由人類老師去為 ChatGPT 的回應打分數。這跟監督式學習的差別在於,監督式學習有著準備好的標準答案,機器只要想辦法去接近標準答案就好;然而在增強學習中,並沒有標準答案,而是讓機器與人類老師(環境)互動後,透過人類老師的反饋來修正。

在我們的教育裡,寫作就是一種增強學習。寫作並沒有標準答案,你把滿級分範文抄一遍不會有分數。你必須先自己寫,透過老師的反饋,去了解自己哪裡寫得好,哪裡不好,並以此去修正。又或著是投籃,每個人的身體都不一樣,沒有一個「標準動作」是你照做就能投進的。你必須在球場不斷的練習投球,透過觀察球進與不進,來調整自己的出力。

增強學習的特別之處在於,每一次的產出都是獨一無二的,因此環境都必須為此提供新的反饋。如果是投籃,提供反饋的是球和籃框,那倒沒什麼問題。但如果像是寫作這樣需要有老師提供反饋的,則需要高昂的成本,難以像考試那樣大量提供給所有學生。如同我們沒辦法靠看 NBA 就學會打籃球,我們也沒辦法只看別人的文章就學會寫作,一定要自己動筆,去磨練,去學習,並從他人得到反饋。

人生中的非監督、監督與增強學習

非監督、監督與增強學習除了被應用在機器學習領域,同時也是我們身為人在學習時常採用的三種模式。它們之間並非對立,而是互補的關係。在多數的情況裡,三種學習模式都是必須的。

在台灣的英文教育底下,學生普遍在閱讀跟聽力有較好的能力,而不擅長寫作與口說。學生能夠透過大量閱讀、觀看影片、聽 Podcast,以及做講義的題目去強化閱讀與聽力,在沒有反饋的情況下卻難以去練習寫作與口說。這其實反應了我們的教育只提供了非監督與監督式學習,而缺乏了增強學習,因為批改寫作跟口說對話,在台灣都是相當昂貴的資源。這也就是人們常說「學語言需要環境」。

在台灣另外容易缺乏的則是非監督式學習。學生學習的材料往往侷限於課本、講義,在沒有接受多樣且廣泛的資訊,而只是不停的做題目,學生最後往往只學習到如何解題,而無法將這些知識連結在一起應用,就有如機器學習中的過擬合(overfitting)。

但人跟機器難道沒有分別?還是有的,我認為人的學習跟機器學習至少有兩個很大的差異:資料量與動機。要訓練出像 ChatGPT 這樣的語言模型,需要讓它去讀我們所有人一輩子都看不完的文本,做比我們十二年國教寫的所有考卷還要多上許多的題目。明明資料量比 AI 少了那麼多,但為什麼,在許多領域人類仍然勝出?這是因為人類有著從少量資料中學習的能力。我們相比於 AI,能夠更快的從少量樣本中去找出模式。這是我們人類的優勢,也是未來的 AI 可以發展的方向。

另外一點則是動機。機器做學習不需要動機。程式寫好放下去跑,就是一台無情的學習機器。然而人是由情感驅動的,我們無論做任何事都需要有動機。若沒有動機,人就不會學習。在網路時代,學習資源無比豐富的情況下,不論是非監督式(書籍、影片)或是監督式(測驗、題目)的學習資源都非常充分。增強學習的資源,在未來 AI 的發展下,也可能解決資源不足的問題。那在這樣的 AI 世代下,老師又應該扮演什麼角色?我認為是提供動機,為學生提供情感的支持,並以過來人的身分展現所在領域的魅力,使得學生嚮往,產生學習的動力。

在未來,老師要回答的問題將不再是「怎麼學」,而是「為什麼學」。

參考資料

本文對 ChatGPT 的原理說明主要來自臺大李宏毅教授的課程影片