在這篇文章中,谷歌研究人員提供了有關(guān)這一現(xiàn)象和當(dāng)前研究的視覺(jué)展示。該團(tuán)隊(duì)對(duì)超過(guò)1000個(gè)不同訓(xùn)練參數(shù)的小型模型進(jìn)行了算法任務(wù)的訓(xùn)練,展示了「有條件的現(xiàn)象——如果模型大小、權(quán)重衰減、數(shù)據(jù)大小和其他超參數(shù)不合適,這種現(xiàn)象會(huì)消失?!?/span>

了解「頓悟」可能會(huì)改進(jìn)大型AI模型
根據(jù)該團(tuán)隊(duì)的說(shuō)法,仍然有許多未解之謎,例如哪些模型限制會(huì)可靠地引起「頓悟」,為什么模型最初更喜歡記住訓(xùn)練數(shù)據(jù),以及研究中用于研究小型模型中這一現(xiàn)象的方法在大型模型中是否適用。對(duì)「頓悟」的理解進(jìn)步可能會(huì)為未來(lái)大型AI模型的設(shè)計(jì)提供信息,使它們能夠可靠且快速地超越訓(xùn)練數(shù)據(jù)。


頓悟模加法
模加法是檢測(cè)「頓悟」最好的方法。(模加法指的是兩個(gè)數(shù)據(jù)相加,如果合大于某一個(gè)值,結(jié)果就自動(dòng)回歸某一個(gè)值。以12小時(shí)計(jì)時(shí)為例,時(shí)間相加超過(guò)12點(diǎn)之后就會(huì)自動(dòng)歸零,就是一個(gè)典型的模加法。)

一個(gè)具有24個(gè)神經(jīng)元的單層MLP。模型的所有權(quán)重如下面的熱圖所示;通過(guò)將鼠標(biāo)懸停在上面的線性圖上,可以看到它們?cè)谟?xùn)練過(guò)程中如何變化。
模型通過(guò)選擇與輸入a和b對(duì)應(yīng)的兩列
,然后將它們相加以創(chuàng)建一個(gè)包含24個(gè)獨(dú)立數(shù)字的向量來(lái)進(jìn)行預(yù)測(cè)。接下來(lái),它將向量中的所有負(fù)數(shù)設(shè)置為0,最后輸出與更新向量最接近的
列。模型的權(quán)重最初非常嘈雜,但隨著測(cè)試數(shù)據(jù)上的準(zhǔn)確性提高和模型逐漸開(kāi)始泛化,它們開(kāi)始展現(xiàn)出周期性的模式。在訓(xùn)練結(jié)束時(shí),每個(gè)神經(jīng)元,也就是熱圖的每一行在輸入數(shù)字從0增加到66時(shí)會(huì)多次在高值和低值之間循環(huán)。如果研究人員根據(jù)神經(jīng)元在訓(xùn)練結(jié)束時(shí)的循環(huán)頻率將其分組,并將每個(gè)神經(jīng)元分別繪制成一條單獨(dú)的線,會(huì)更容易看出產(chǎn)生的變化。
這些周期性的模式表明模型正在學(xué)習(xí)某種數(shù)學(xué)結(jié)構(gòu);當(dāng)模型開(kāi)始計(jì)算測(cè)試樣本時(shí)出現(xiàn)這種現(xiàn)象,意味著模型開(kāi)始出現(xiàn)泛化了。但是為什么模型會(huì)拋開(kāi)記憶的解決方案?而泛化的解決方案又是什么呢?

在0和1的數(shù)列中訓(xùn)練模型泛化
同時(shí)解決這兩個(gè)問(wèn)題確實(shí)很困難。研究人員可以設(shè)計(jì)一個(gè)更簡(jiǎn)單的任務(wù),其中研究人員知道泛化解決方案應(yīng)該是什么樣的,然后嘗試?yán)斫饽P妥罱K是如何學(xué)習(xí)它的。研究人員又設(shè)計(jì)了一個(gè)方案,他們先隨機(jī)生成30個(gè)由0和1組成的數(shù)字組成一個(gè)數(shù)列,然后訓(xùn)練一個(gè)模型去預(yù)測(cè)數(shù)列中前三個(gè)數(shù)字中是否有奇數(shù)個(gè)1,如果有奇數(shù)個(gè)1,輸出就為1,否則輸出為0。例如,010110010110001010111001001011等于1 。000110010110001010111001001011等于0。基本上這就是稍微復(fù)雜一些的異或運(yùn)算,略微帶有一些干擾噪聲。而如果一個(gè)模型產(chǎn)生了泛化能力,應(yīng)該就只關(guān)注序列的前三位數(shù)字進(jìn)行輸出;如果模型是在記憶訓(xùn)練數(shù)據(jù),它就會(huì)使用到后邊的干擾數(shù)字。研究人員的模型仍然是一個(gè)單層MLP,使用固定的1,200個(gè)序列進(jìn)行訓(xùn)練。起初,只有訓(xùn)練數(shù)據(jù)準(zhǔn)確性增加了,說(shuō)明模型正在記憶訓(xùn)練數(shù)據(jù)。與模算數(shù)一樣,測(cè)試數(shù)據(jù)的準(zhǔn)確性一開(kāi)始基本上是隨機(jī)的。但是模型學(xué)習(xí)了一個(gè)泛化解決方案后,測(cè)試數(shù)據(jù)的準(zhǔn)確性就急劇上升。
下面的權(quán)重圖標(biāo)顯示,在記憶訓(xùn)練數(shù)據(jù)時(shí),模型看起來(lái)密集而嘈雜,有許多數(shù)值很大的權(quán)重(顯示為深紅色和藍(lán)色方塊)分布在數(shù)列靠后的位置,表明模型正在使用所有的數(shù)字進(jìn)行預(yù)測(cè)。隨著模型泛化后獲得了完美的測(cè)試數(shù)據(jù)準(zhǔn)確性,研究人員看到,與干擾數(shù)字相關(guān)的所有權(quán)重都變?yōu)榛疑?,值非常低,模型?quán)重全部集中在前三位數(shù)字上了。這與研究人員預(yù)期的泛化結(jié)構(gòu)相一致。
通過(guò)這個(gè)簡(jiǎn)化的例子,更容易理解為什么會(huì)發(fā)生這種情況:其實(shí)在訓(xùn)練過(guò)程中,研究人員的要求是模型要同時(shí)完成兩個(gè)目標(biāo),一個(gè)是盡量高概率地輸出正確的數(shù)字(稱(chēng)為最小化損失),另一個(gè)是使用盡量小的全權(quán)重來(lái)完成輸出(稱(chēng)為權(quán)重衰減)。在模型泛化之前,訓(xùn)練損失略微增加(輸出準(zhǔn)確略微降低),因?yàn)樗跍p小與輸出正確標(biāo)簽相關(guān)的損失的同時(shí),也在降低權(quán)重,從而獲得盡可能小的權(quán)重。
而測(cè)試數(shù)據(jù)損失的急劇下降,讓模型看起來(lái)像是似乎突然開(kāi)始了泛化,但其實(shí)不是,這個(gè)過(guò)程在之前就已經(jīng)在進(jìn)行了。但是,如果觀察記錄模型在訓(xùn)練過(guò)程中的權(quán)重,大部分權(quán)重是平均分布在這兩個(gè)目標(biāo)之間的。當(dāng)與干擾數(shù)字相關(guān)的最后一組權(quán)重被權(quán)重衰減這個(gè)目標(biāo)「修剪」掉時(shí),泛化馬上就發(fā)生了。
?
何時(shí)發(fā)生頓悟?
值得注意的是,「頓悟」是一種偶然現(xiàn)象——如果模型大小、權(quán)重衰減、數(shù)據(jù)大小以及其他超參數(shù)不合適,它就不會(huì)出現(xiàn)。當(dāng)權(quán)重衰減過(guò)小時(shí),模型無(wú)法擺脫對(duì)訓(xùn)練數(shù)據(jù)的過(guò)擬合。增加更多的權(quán)重衰減會(huì)推動(dòng)模型在記憶后進(jìn)行泛化。進(jìn)一步增加權(quán)重衰減會(huì)導(dǎo)致測(cè)試數(shù)據(jù)和訓(xùn)練數(shù)據(jù)的不準(zhǔn)確率提高;模型直接進(jìn)入泛化階段。當(dāng)權(quán)重衰減過(guò)大時(shí),模型將無(wú)法學(xué)到任何東西。在下面的內(nèi)容中,研究人員使用不同的超參數(shù)在「1和0」任務(wù)上訓(xùn)練了一千多個(gè)模型。因?yàn)橛?xùn)練是有噪聲的,所以每組超參數(shù)都訓(xùn)練了九個(gè)模型。


五個(gè)神經(jīng)元的模加法
舉個(gè)例子,模加法問(wèn)題a+b mod 67是周期性的。從數(shù)學(xué)上講,可以將式子的和看成是將a和b繞在一個(gè)圓圈上來(lái)表示。泛化模型的權(quán)重也具有周期性,也就是說(shuō),解決方案可能也會(huì)有周期性。

模型只用了5個(gè)神經(jīng)元就完美地找到了解決方案。
然后還是回到a+b mod 67的問(wèn)題上,研究人員從頭訓(xùn)練模型,沒(méi)有內(nèi)置周期,這個(gè)模型有很多頻率。
然后研究人員使用離散傅里葉變換分離出頻率,會(huì)分離出輸入數(shù)據(jù)中的周期性模式。
而結(jié)果就和之前在數(shù)列中數(shù)1的任務(wù)一樣,隨著模型的泛化,權(quán)重會(huì)迅速衰減到很低。而且在不同的頻率任務(wù)中,模型也都出現(xiàn)了「頓悟」。

進(jìn)一步的問(wèn)題
什么原因?qū)е路夯某霈F(xiàn)?雖然研究人員現(xiàn)在對(duì)用單層MLP解決模加法的機(jī)制以及它們?cè)谟?xùn)練過(guò)程中出現(xiàn)的原因有了深入的了解,但仍然存在許多關(guān)于記憶和泛化的有趣的懸而未決的問(wèn)題。從廣義上講,權(quán)重衰減確實(shí)會(huì)導(dǎo)致多種模型不再記憶訓(xùn)練數(shù)據(jù) 。其他有助于避免過(guò)度擬合的技術(shù)包括 dropout、較小的模型,甚至數(shù)值不穩(wěn)定的優(yōu)化算法 。這些方法以復(fù)雜、非線性的方式相互作用,使得很難預(yù)先預(yù)測(cè)最終什么原因和方式會(huì)導(dǎo)致泛化。

為什么記憶比概括更容易?
一種理論:記憶訓(xùn)練數(shù)據(jù)集的解決方法可能比泛化解決方法多得多。因此從統(tǒng)計(jì)上看,記憶應(yīng)該更有可能先發(fā)生。有研究表明泛化與結(jié)構(gòu)良好的表示相關(guān)。然而,這不是必要條件;一些沒(méi)有對(duì)稱(chēng)輸入的 MLP 變體在求解模加法時(shí)學(xué)習(xí)的「循環(huán)」表示較少 。研究人員還觀察到,結(jié)構(gòu)良好的表示并不是泛化的充分條件。比如這個(gè)小模型(沒(méi)有權(quán)重衰減的情況下訓(xùn)練)開(kāi)始泛化,然后切換到使用周期性嵌入進(jìn)行記憶。
甚至可以找到模型開(kāi)始泛化的超參數(shù),然后切換到記憶,然后再切換回泛化!
而較大的模型呢?
首先,之前的研究證實(shí)了小型Transformer和MLP算法任務(wù)中的頓悟現(xiàn)象。涉及特定超參數(shù)范圍內(nèi)的圖像、文本和表格數(shù)據(jù)的更復(fù)雜的任務(wù)也出現(xiàn)了頓悟研究人員認(rèn)為:1)訓(xùn)練具有更多歸納偏差和更少移動(dòng)部件的更簡(jiǎn)單模型,2)用它們來(lái)解釋更大模型難以理解的部分是如何工作的3)根據(jù)需要重復(fù)。都可以有效幫助理解更大的模型。而且本文中這種機(jī)制化的可解釋性方法可能有助于識(shí)別模式,從而使神經(jīng)網(wǎng)絡(luò)所學(xué)算法的研究變得容易,甚至有自動(dòng)化的潛力。參考資料:https://pair.withgoogle.com/explorables/grokking
原文標(biāo)題:谷歌證實(shí)大模型能頓悟,特殊方法能讓模型快速泛化,或?qū)⒋蚱拼竽P秃谙?/p>
文章出處:【微信公眾號(hào):智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2939文章
47286瀏覽量
407324
原文標(biāo)題:谷歌證實(shí)大模型能頓悟,特殊方法能讓模型快速泛化,或?qū)⒋蚱拼竽P秃谙?/p>
文章出處:【微信號(hào):tyutcsplab,微信公眾號(hào):智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
如何在vivadoHLS中使用.TLite模型
大模型推理顯存和計(jì)算量估計(jì)方法研究
FA模型卡片和Stage模型卡片切換
從FA模型切換到Stage模型時(shí):module的切換說(shuō)明
數(shù)據(jù)標(biāo)注與大模型的雙向賦能:效率與性能的躍升

谷歌證實(shí)大模型能頓悟,特殊方法能讓模型快速泛化,或?qū)⒋蚱拼竽P秃谙?/h1>
評(píng)論