大語(yǔ)言模型基礎(chǔ)微課版課件匯 周蘇 第7-12章 提示工程與微調(diào)-大模型產(chǎn)品評(píng)估_第1頁(yè)
大語(yǔ)言模型基礎(chǔ)微課版課件匯 周蘇 第7-12章 提示工程與微調(diào)-大模型產(chǎn)品評(píng)估_第2頁(yè)
大語(yǔ)言模型基礎(chǔ)微課版課件匯 周蘇 第7-12章 提示工程與微調(diào)-大模型產(chǎn)品評(píng)估_第3頁(yè)
大語(yǔ)言模型基礎(chǔ)微課版課件匯 周蘇 第7-12章 提示工程與微調(diào)-大模型產(chǎn)品評(píng)估_第4頁(yè)
大語(yǔ)言模型基礎(chǔ)微課版課件匯 周蘇 第7-12章 提示工程與微調(diào)-大模型產(chǎn)品評(píng)估_第5頁(yè)
已閱讀5頁(yè),還剩479頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

浙江省普通本科高?!笆奈濉敝攸c(diǎn)教材建設(shè)成果之一大語(yǔ)言模型基礎(chǔ)浙江省普通本科高?!笆奈濉敝攸c(diǎn)教材建設(shè)成果之一大語(yǔ)言模型基礎(chǔ)大語(yǔ)言模型基礎(chǔ)第7章提示工程與微調(diào)大語(yǔ)言模型正在發(fā)展成為人工智能的一項(xiàng)基礎(chǔ)設(shè)施。作為像水、電一樣的基礎(chǔ)設(shè)施,預(yù)訓(xùn)練大模型這種艱巨任務(wù)只會(huì)有少數(shù)技術(shù)實(shí)力強(qiáng)、財(cái)力雄厚的公司去做,而大多數(shù)人則會(huì)是其用戶。對(duì)用戶來說,掌握用好大模型的技術(shù)更加重要。用好大模型的第一個(gè)層次是掌握提示(Prompt)工程,第二個(gè)層次是做好大模型的微調(diào)。第7章提示工程與微調(diào)提示工程關(guān)注提示詞的開發(fā)和優(yōu)化,幫助用戶將大模型用于各場(chǎng)景和研究領(lǐng)域。掌握提示工程相關(guān)技能幫助用戶更好地了解大模型的能力和局限性。另一方面,經(jīng)過海量數(shù)據(jù)預(yù)訓(xùn)練后的語(yǔ)言模型雖然有了大量的“知識(shí)”,但由于其訓(xùn)練時(shí)的目標(biāo)僅是進(jìn)行下一個(gè)詞的預(yù)測(cè),還不能夠理解并遵循人類自然語(yǔ)言形式的指令,為此,需要使用指令數(shù)據(jù)對(duì)其進(jìn)行微調(diào)。如何構(gòu)造指令數(shù)據(jù),如何高效低成本地進(jìn)行指令微調(diào)訓(xùn)練,以及如何在語(yǔ)音模型基礎(chǔ)上進(jìn)一步擴(kuò)大上下文等問題,是大模型在有監(jiān)督微調(diào)階段的核心。第7章提示工程與微調(diào)01什么是提示工程02大模型為什么要微調(diào)03提示學(xué)習(xí)和語(yǔ)境學(xué)習(xí)04上下文窗口擴(kuò)展目錄/CONTENTS05指令數(shù)據(jù)的構(gòu)建06微調(diào)及其PEFT流行方案PART01什么是提示工程提示扮演著至關(guān)重要的角色。提示工程應(yīng)用于開發(fā)和優(yōu)化提示詞,幫助用戶有效地將語(yǔ)言模型用于各種應(yīng)用場(chǎng)景和研究領(lǐng)域。研究人員可利用提示工程來提高大模型處理復(fù)雜任務(wù)場(chǎng)景的能力,如問答和算術(shù)推理能力以及大模型的安全性。開發(fā)人員可通過提示工程設(shè)計(jì)和實(shí)現(xiàn)與大模型或其他生態(tài)工具的交互和高效接軌,借助專業(yè)領(lǐng)域知識(shí)和外部工具來增強(qiáng)大模型能力。提示不僅是用戶與AI模型(如ChatGPT)交互的橋梁,更是一種全新的“編程語(yǔ)言”,用戶通過精心設(shè)計(jì)的提示來指導(dǎo)AI模型產(chǎn)生特定的輸出,執(zhí)行各種任務(wù)。7.1什么是提示工程提示任務(wù)的范圍非常廣泛,從簡(jiǎn)單問答、文本生成到復(fù)雜的邏輯推理、數(shù)學(xué)計(jì)算和創(chuàng)意寫作等。與傳統(tǒng)的編程語(yǔ)言相比,提示通常更加即時(shí)和互動(dòng)。用戶可以直接在AI模型的接口中輸入提示并立即看到結(jié)果,而無需經(jīng)過編譯或長(zhǎng)時(shí)間的運(yùn)行過程。7.1什么是提示工程作為通用人工時(shí)代的“軟件工程”,提示工程涉及到如何設(shè)計(jì)、優(yōu)化和管理提示內(nèi)容,以確保人工智能模型能夠準(zhǔn)確、高效地執(zhí)行用戶的指令。圖7-1提示工程的內(nèi)容7.1.1提示工程的原理(1)設(shè)計(jì):提示設(shè)計(jì)需要仔細(xì)選擇詞匯、構(gòu)造清晰的句子結(jié)構(gòu),并考慮上下文信息,確保人工智能模型能夠準(zhǔn)確理解用戶的意圖并產(chǎn)生符合預(yù)期的輸出。(2)優(yōu)化:優(yōu)化提示可能涉及調(diào)整詞匯選擇、改變句子結(jié)構(gòu)或添加額外的上下文信息,以提高人工智能模型的性能和準(zhǔn)確性。這可能需要多次嘗試和迭代,以達(dá)到最佳效果。7.1.1提示工程的原理(3)管理:隨著通用人工智能應(yīng)用的不斷增長(zhǎng)和復(fù)雜化,管理大量的提示內(nèi)容變得至關(guān)重要。這包括組織、存儲(chǔ)和檢索提示,以便在需要時(shí)能夠快速找到并使用它們。同時(shí),還需要定期更新和維護(hù)這些提示,以適應(yīng)人工智能模型的改進(jìn)和變化的需求。7.1.1提示工程的原理1.提示構(gòu)成一個(gè)完整的提示應(yīng)該包含清晰的指示、相關(guān)上下文、有助于理解的例子、明確的輸入以及期望的輸出格式描述。(1)指示:是對(duì)任務(wù)的明確描述,相當(dāng)于給模型下達(dá)了一個(gè)命令或請(qǐng)求,它告訴模型應(yīng)該做什么,是任務(wù)執(zhí)行的基礎(chǔ)。(2)上下文:是與任務(wù)相關(guān)的背景信息,它有助于模型更好地理解當(dāng)前任務(wù)所處的環(huán)境或情境。在多輪交互中,上下文尤其重要,因?yàn)樗峁┝藢?duì)話的連貫性和歷史信息。7.1.1提示工程的原理(3)示例:給出一個(gè)或多個(gè)具體示例,用于演示任務(wù)的執(zhí)行方式或所需輸出的格式。這種方法在機(jī)器學(xué)習(xí)中被稱為示范學(xué)習(xí),已被證明對(duì)提高輸出正確性有幫助。(4)輸入:是任務(wù)的具體數(shù)據(jù)或信息,它是模型需要處理的內(nèi)容。在提示中,輸入應(yīng)該被清晰地標(biāo)識(shí)出來,以便模型能夠準(zhǔn)確地識(shí)別和處理。(5)輸出格式:是模型根據(jù)輸入和指示生成的結(jié)果。提示中通常會(huì)描述輸出格式,以便后續(xù)模塊能夠自動(dòng)解析模型的輸出結(jié)果。常見的輸出格式包括結(jié)構(gòu)化數(shù)據(jù)格式如JSON、XML等。7.1.1提示工程的原理2.提示調(diào)優(yōu)提示調(diào)優(yōu)是一個(gè)人與機(jī)器協(xié)同的過程,需明確需求、注重細(xì)節(jié)、靈活應(yīng)用技巧,以實(shí)現(xiàn)最佳交互效果。(1)人的視角:明確需求?!ず诵狞c(diǎn):確保清晰、具體地傳達(dá)自己的意圖?!げ呗裕汉?jiǎn)化復(fù)雜需求,分解為模型易理解的指令。7.1.1提示工程的原理(2)機(jī)器的視角:注重細(xì)節(jié)。·核心點(diǎn):機(jī)器缺乏人類直覺,需詳細(xì)提供信息和上下文?!げ呗裕壕_選擇詞匯和結(jié)構(gòu),避免歧義,提供完整線索。(3)模型的視角:靈活應(yīng)用技巧。·核心點(diǎn):不同模型、情境需要有不同的提示表達(dá)方式?!げ呗裕和ㄟ^實(shí)踐找到最佳詞匯、結(jié)構(gòu)和技巧,適應(yīng)模型特性。7.1.1提示工程的原理提示技術(shù)是引導(dǎo)人工智能模型進(jìn)行深度思考和創(chuàng)新的有效工具。(1)鏈?zhǔn)剿伎继崾?。這是一種注重和引導(dǎo)逐步推理的方法。通過構(gòu)建一系列有序、相互關(guān)聯(lián)的思考步驟,使模型能夠更深入地理解問題,并生成結(jié)構(gòu)化、邏輯清晰的回答。

圖7-2鏈?zhǔn)剿伎继崾臼纠?.1.2提示工程應(yīng)用技術(shù)鏈?zhǔn)剿伎继崾镜暮诵奶攸c(diǎn)是:·有序性:要求將問題分解為一系列有序的步驟,每個(gè)步驟都建立在前一個(gè)步驟的基礎(chǔ)上,形成一條清晰的思考鏈條?!りP(guān)聯(lián)性:每個(gè)思考步驟之間必須存在緊密的邏輯聯(lián)系,以確保整個(gè)思考過程的連貫性和一致性?!ぶ鸩酵评恚耗P驮诿總€(gè)步驟中只關(guān)注當(dāng)前的問題和相關(guān)信息,通過逐步推理的方式逐步逼近最終答案。7.1.2提示工程應(yīng)用技術(shù)(2)生成知識(shí)提示。這是一種強(qiáng)調(diào)知識(shí)生成的方法,通過構(gòu)建特定的提示語(yǔ)句,引導(dǎo)模型從已有的知識(shí)庫(kù)中提取、整合并生成新的、有用的知識(shí)或信息內(nèi)容。7.1.2提示工程應(yīng)用技術(shù)生成知識(shí)提示的核心特點(diǎn)是:·創(chuàng)新性:旨在產(chǎn)生新的、原創(chuàng)性的知識(shí)內(nèi)容,而非簡(jiǎn)單地復(fù)述或重組已有信息。·引導(dǎo)性:通過精心設(shè)計(jì)的提示語(yǔ)句,模型被引導(dǎo)去探索、發(fā)現(xiàn)并與已有知識(shí)進(jìn)行交互,從而生成新的見解或信息。·知識(shí)整合:該過程涉及對(duì)多個(gè)來源、多種類型的知識(shí)進(jìn)行融合和整合,以形成更全面、深入的理解。7.1.2提示工程應(yīng)用技術(shù)(3)思維樹。這是一種通過樹狀結(jié)構(gòu)清晰展現(xiàn)思維過程,將復(fù)雜思維過程結(jié)構(gòu)化為樹狀圖,通過逐級(jí)分解主題或問題,形成具有邏輯層次和關(guān)聯(lián)性的思維節(jié)點(diǎn),從而幫助用戶更清晰地組織和表達(dá)思考過程。

圖7-3思維樹提示7.1.2提示工程應(yīng)用技術(shù)思維樹提示的核心特點(diǎn)是:·層次性:將思考過程分解為多個(gè)層次,每個(gè)層次代表不同的思維深度和廣度?!りP(guān)聯(lián)性:各思維節(jié)點(diǎn)之間邏輯聯(lián)系緊密,形成一個(gè)相互關(guān)聯(lián)、互為支撐的思維網(wǎng)絡(luò)?!た梢暬和ㄟ^將思維過程以樹狀圖的形式展現(xiàn),增強(qiáng)了思考過程的可視化和直觀性。7.1.2提示工程應(yīng)用技術(shù)以下是設(shè)計(jì)提示時(shí)需要記住的一些技巧。(1)從簡(jiǎn)單開始。在設(shè)計(jì)提示時(shí),記住這是一個(gè)迭代過程,需要大量實(shí)驗(yàn)來獲得最佳結(jié)果。使用像OpenAI或Cohere這樣的簡(jiǎn)單平臺(tái)是一個(gè)很好的起點(diǎn)??梢詮暮?jiǎn)單提示開始,隨著目標(biāo)獲得更好的結(jié)果,不斷添加更多的元素和上下文。在此過程中對(duì)提示進(jìn)行版本控制至關(guān)重要。例子中的具體性、簡(jiǎn)潔性和簡(jiǎn)明性通常會(huì)帶來更好的結(jié)果。7.1.3提示的通用技巧當(dāng)有一個(gè)涉及許多不同子任務(wù)的大任務(wù)時(shí),可以嘗試將任務(wù)分解為更簡(jiǎn)單的子任務(wù),并隨著獲得更好的結(jié)果而不斷構(gòu)建。這避免了在提示設(shè)計(jì)過程中一開始就添加過多的復(fù)雜性。7.1.3提示的通用技巧(2)指令。可以使用命令來指示模型執(zhí)行各種簡(jiǎn)單任務(wù),例如“寫入”“分類”“總結(jié)”“翻譯”“排序”等,從而為各種簡(jiǎn)單任務(wù)設(shè)計(jì)有效的提示。需要進(jìn)行大量的實(shí)驗(yàn),以查看哪種方法最有效。嘗試使用不同的關(guān)鍵字、上下文和數(shù)據(jù)嘗試不同的指令,看看哪種方法最適合特定的用例和任務(wù)。通常情況下,上下文與要執(zhí)行的任務(wù)越具體和相關(guān),效果越好。7.1.3提示的通用技巧也有人建議將指令放在提示開頭,用一些清晰的分隔符,如“###”,來分隔指令和上下文。例如:提示:###指令###將以下文本翻譯成西班牙語(yǔ):文本:“hello!”7.1.3提示的通用技巧(3)具體性。對(duì)希望模型執(zhí)行的指令和任務(wù),提示越具體和詳細(xì),結(jié)果就越好。當(dāng)有所期望的結(jié)果或生成樣式時(shí),這一點(diǎn)尤為重要。沒有特定的詞元或關(guān)鍵字會(huì)導(dǎo)致更好的結(jié)果。更重要的是具有良好的格式和描述性提示。實(shí)際上,在提示中提供示例非常有效,可以以特定格式獲得所需的輸出。在設(shè)計(jì)提示時(shí),還應(yīng)考慮提示的長(zhǎng)度,因?yàn)殚L(zhǎng)度有限制。包含太多不必要的細(xì)節(jié)并不一定是一個(gè)好方法。這些細(xì)節(jié)應(yīng)該是相關(guān)的,并有助于完成手頭的任務(wù)。鼓勵(lì)大量實(shí)驗(yàn)和迭代,以優(yōu)化應(yīng)用程序的提示。7.1.3提示的通用技巧例如,我們來嘗試從一段文本中提取特定信息的簡(jiǎn)單提示。提示:提取以下文本中的地名。所需格式:地點(diǎn):<逗號(hào)分隔的公司名稱列表>輸入:“雖然這些發(fā)展對(duì)研究人員來說是令人鼓舞的,但仍有許多謎團(tuán)。里斯本未知的香帕利莫德中心的神經(jīng)免疫學(xué)家HenriqueVeiga-Fernandes說:‘我們經(jīng)常在大腦和我們?cè)谥車吹降男Чg有一個(gè)黑匣子。’‘如果我們想在治療背景下使用它,我們實(shí)際上需要了解機(jī)制?!陛敵觯旱攸c(diǎn):里斯本,香帕利莫德中心7.1.3提示的通用技巧(4)避免不精確。在關(guān)于詳細(xì)和格式改進(jìn)的提示中,很容易陷入那些過于聰明的提示陷阱,從而可能創(chuàng)建不精確的描述。通常最好是具體和直接,這里,類比非常類似于有效的溝通——越直接,信息傳遞就越有效。例如,如果有興趣了解提示工程的概念??梢試L試這樣做:解釋提示工程的概念。保持解釋簡(jiǎn)短,只有幾句話,不要過于描述。從上面的提示中不清楚要使用多少句話和什么樣的風(fēng)格,仍然可以通過上面的提示獲得良好的響應(yīng),但更好的提示是非常具體、簡(jiǎn)潔和直接的。例如:使用2~3句話向高中學(xué)生解釋提示工程的概念。7.1.3提示的通用技巧(5)做還是不做?設(shè)計(jì)提示時(shí)的另一個(gè)技巧是避免說不要做什么,而是說要做什么。鼓勵(lì)更具體化,并關(guān)注導(dǎo)致模型產(chǎn)生良好響應(yīng)的細(xì)節(jié)。7.1.3提示的通用技巧以下是一個(gè)電影推薦聊天機(jī)器人的示例。提示:以下是向客戶推薦電影的代理程序。代理負(fù)責(zé)從全球熱門電影中推薦電影。它應(yīng)該避免詢問用戶的偏好并避免詢問個(gè)人信息。如果代理沒有電影推薦,它應(yīng)該回答“抱歉,今天找不到電影推薦。”?!櫩停赫?qǐng)根據(jù)我的興趣推薦一部電影。客服輸出:抱歉,我沒有關(guān)于您感興趣的任何信息。不過,這是目前全球熱門的電影列表:[電影列表]。希望您能由此找到自己喜歡的電影!7.1.3提示的通用技巧PART02大模型為什么要微調(diào)有監(jiān)督微調(diào),又稱指令微調(diào),是指在已經(jīng)訓(xùn)練好的語(yǔ)言模型的基礎(chǔ)上,通過使用有標(biāo)注的特定任務(wù)數(shù)據(jù)做進(jìn)一步的微調(diào),使模型具備遵循指令的能力。通常,要對(duì)大模型進(jìn)行微調(diào),有以下一些原因:(1)因?yàn)榇竽P偷膮?shù)量非常大,訓(xùn)練成本非常高,每家公司都去從頭訓(xùn)練一個(gè)自己的大模型,這個(gè)事情的性價(jià)比非常低;7.2大模型為什么要微調(diào)(2)提示工程是一種相對(duì)來說比較容易上手的使用大模型的方式,但是它的缺點(diǎn)也非常明顯。因?yàn)橥ǔ4竽P偷膶?shí)現(xiàn)都會(huì)對(duì)輸入序列的長(zhǎng)度有限制,而提示工程方式會(huì)把提示搞得很長(zhǎng)。提示越長(zhǎng),大模型的推理成本就越高,推理成本跟提示長(zhǎng)度的平方正相關(guān)。另外,提示太長(zhǎng)會(huì)因超過限制而被截?cái)?,進(jìn)而導(dǎo)致大模型的輸出質(zhì)量打折,這也是一個(gè)比較嚴(yán)重的問題。7.2大模型為什么要微調(diào)對(duì)于個(gè)人使用者而言,如果是解決自己日常生活、工作中的一些問題,直接用提示工程方式通常問題不大。但對(duì)于提供對(duì)外服務(wù)的企業(yè)來說,要想在服務(wù)中接入大模型的能力,推理成本是不得不考慮的一個(gè)因素。相對(duì)來說,微調(diào)就是一個(gè)更優(yōu)的方案。7.2大模型為什么要微調(diào)(3)提示工程的效果可能達(dá)不到要求,企業(yè)又有比較好的自有數(shù)據(jù),能夠通過自有數(shù)據(jù),更好的提升大模型在特定領(lǐng)域的能力。這時(shí)候微調(diào)就非常適用。(4)要在個(gè)性化的服務(wù)中使用大模型的能力,這時(shí)候針對(duì)每個(gè)用戶的數(shù)據(jù),訓(xùn)練一個(gè)輕量級(jí)的微調(diào)模型就是一個(gè)不錯(cuò)的方案。(5)數(shù)據(jù)安全。如果數(shù)據(jù)不能傳遞給第三方大模型服務(wù),那么搭建自己的大模型就非常必要。通常這些開源的大模型都需要用自有數(shù)據(jù)進(jìn)行微調(diào),才能夠滿足自身業(yè)務(wù)的需求。7.2大模型為什么要微調(diào)PART03提示學(xué)習(xí)和語(yǔ)境學(xué)習(xí)在指令微調(diào)大模型方法之前,如何高效地使用預(yù)訓(xùn)練好的基礎(chǔ)語(yǔ)言模型是人們關(guān)注的熱點(diǎn),提示學(xué)習(xí)逐漸成為大模型使用的新范式。7.3提示學(xué)習(xí)和語(yǔ)境學(xué)習(xí)與傳統(tǒng)的微調(diào)方法不同,提示學(xué)習(xí)直接利用在大量原始文本上進(jìn)行預(yù)訓(xùn)練的語(yǔ)言模型,通過定義新的提示函數(shù),使該模型能夠執(zhí)行小樣本甚至零樣本學(xué)習(xí),以適應(yīng)僅有少量標(biāo)注或沒有標(biāo)注數(shù)據(jù)的新場(chǎng)景,適應(yīng)下游各種任務(wù)。提示學(xué)習(xí)通常不需要參數(shù)更新,但由于涉及的檢索和推斷方法多種多樣,不同模型、數(shù)據(jù)集和任務(wù)有不同的預(yù)處理要求,其實(shí)施十分復(fù)雜。7.3.1提示學(xué)習(xí)使用提示學(xué)習(xí)完成預(yù)測(cè)任務(wù)的流程非常簡(jiǎn)潔。如下圖所示,原始輸入x經(jīng)過一個(gè)模板,被修改成一個(gè)帶有一些未填充槽的文本提示x’,再將這段提示輸入語(yǔ)言模型,語(yǔ)言模型即以概率的方式寫入模板中待填充的信息,然后根據(jù)模型的輸出導(dǎo)出最終的預(yù)測(cè)標(biāo)簽?。使用提示學(xué)習(xí)完成預(yù)測(cè)的整個(gè)過程可以描述為三個(gè)階段:提示添加、答案搜索、答案映射。

圖7-4提示學(xué)習(xí)示例7.3.1提示學(xué)習(xí)步驟1:提示添加。借助特定模板,將原始的文本和額外添加的提示拼接起來,一并輸入到語(yǔ)言模型中。例如,在情感分類任務(wù)中,根據(jù)任務(wù)的特性可以構(gòu)建如下含有兩個(gè)插槽的模板:“[X]我感到[Z]”其中,[X]插槽中填入待分類的原始句子,[Z]插槽中是需要語(yǔ)言模型生成的答案。7.3.1提示學(xué)習(xí)假如原始文本:x=“我不小心錯(cuò)過了公共汽車。”通過此模板,整段提示將被拼接成:x‘=“我不小心錯(cuò)過了公共汽車。我感到[Z]”7.3.1提示學(xué)習(xí)步驟2:答案搜索。將構(gòu)建好的提示整體輸入語(yǔ)言模型后,需要找出語(yǔ)言模型對(duì)[Z]處預(yù)測(cè)得分最高的文本?。根據(jù)任務(wù)特性,事先定義預(yù)測(cè)結(jié)果z的答案空間為Z。在簡(jiǎn)單的生成任務(wù)中,答案空間可以涵蓋整個(gè)語(yǔ)言,而在一些分類任務(wù)中,答案空間可以是一些限定的詞語(yǔ),例如:Z={“太好了”,“好”,“一般”,“不好”,“糟糕”}這些詞語(yǔ)可以分別映射到該任務(wù)的最終標(biāo)簽上。將給定提示為x’而模型輸出為z的過程記錄為函數(shù),對(duì)于每個(gè)答案空間中的候選答案,分別計(jì)算模型輸出它的概率,從而找到模型對(duì)[Z]插槽預(yù)測(cè)得分最高的輸出?。7.3.1提示學(xué)習(xí)步驟3:答案映射。得到的模型輸出?并不一定就是最終的標(biāo)簽。在分類任務(wù)中,還需要將模型的輸出與最終的標(biāo)簽做映射。而這些映射規(guī)則是人為制定的,例如,將“太好了”“好”映射為“正面”標(biāo)簽,將“不好”“糟糕”映射為“負(fù)面”標(biāo)簽,將“一般”映射為“中立”標(biāo)簽。提示學(xué)習(xí)方法易于理解且效果顯著,提示工程、答案工程、多提示學(xué)習(xí)方法、基于提示的訓(xùn)練策略等已經(jīng)成為從提示學(xué)習(xí)衍生出的新的研究方向。7.3.1提示學(xué)習(xí)語(yǔ)境學(xué)習(xí),也稱上下文學(xué)習(xí),其概念隨著GPT-3的誕生而被提出。語(yǔ)境學(xué)習(xí)是指模型可以從上下文中的幾個(gè)例子中學(xué)習(xí):向模型輸入特定任務(wù)的一些具體例子(也稱示例)及要測(cè)試的樣例,模型可以根據(jù)給定的示例續(xù)寫測(cè)試樣例的答案。如下圖所示,以情感分類任務(wù)為例,向模型中輸入一些帶有情感極性的句子、每個(gè)句子相應(yīng)的標(biāo)簽,以及待測(cè)試的句子,模型可以自然地續(xù)寫出它的情感極性為“正面”。圖7-5語(yǔ)境學(xué)習(xí)示例7.3.2語(yǔ)境學(xué)習(xí)語(yǔ)境學(xué)習(xí)可以看作提示學(xué)習(xí)的一個(gè)子類,其中示例是提示的一部分。語(yǔ)境學(xué)習(xí)的關(guān)鍵思想是從類比中學(xué)習(xí),整個(gè)過程并不需要對(duì)模型進(jìn)行參數(shù)更新,僅執(zhí)行前向的推理。大模型可以通過語(yǔ)境學(xué)習(xí)執(zhí)行許多復(fù)雜的推理任務(wù)。7.3.2語(yǔ)境學(xué)習(xí)語(yǔ)境學(xué)習(xí)作為大模型的一種新的范式,具有許多獨(dú)特的優(yōu)勢(shì)。首先,其示例是用自然語(yǔ)言編寫的,提供了一個(gè)可解釋的界面來與大模型進(jìn)行交互。其次,不同于以往的監(jiān)督訓(xùn)練,語(yǔ)境學(xué)習(xí)本身無須參數(shù)更新,這可以大大降低使大模型適應(yīng)新任務(wù)的計(jì)算成本。在語(yǔ)境學(xué)習(xí)中,示例的標(biāo)簽正確性(輸入和輸出的具體對(duì)應(yīng)關(guān)系)并不是有效的關(guān)鍵因素,起到更重要作用的是輸入和樣本配對(duì)的格式、輸入和輸出分布等。此外,語(yǔ)境學(xué)習(xí)的性能對(duì)特定設(shè)置很敏感,包括提示模板、上下文內(nèi)示例的選擇及示例的順序。如何通過語(yǔ)境學(xué)習(xí)方法更好地激活大模型已有的知識(shí)成為一個(gè)新的研究方向。7.3.2語(yǔ)境學(xué)習(xí)PART04上下文窗口擴(kuò)展由于大模型的參數(shù)量十分龐大,當(dāng)將其應(yīng)用到下游任務(wù)時(shí),微調(diào)全部參數(shù)需要相當(dāng)高的算力。為了節(jié)省成本,研究人員提出了多種參數(shù)的高效微調(diào)方法,旨在僅訓(xùn)練少量參數(shù)就使模型適應(yīng)下游任務(wù)。隨著更多長(zhǎng)文本建模需求的出現(xiàn),多輪對(duì)話、長(zhǎng)文檔摘要等任務(wù)在實(shí)際應(yīng)用中越來越多,這些任務(wù)需要模型能夠更好地處理超出常規(guī)上下文窗口大小的文本內(nèi)容。當(dāng)前,盡管大模型在處理短文本方面表現(xiàn)出色,但在支持長(zhǎng)文本建模方面仍存在一些挑戰(zhàn),包括預(yù)定義的上下文窗口大小限制等。7.4上下文窗口擴(kuò)展為了更好地滿足長(zhǎng)文本需求,有必要探索如何擴(kuò)展現(xiàn)有的大模型,使其能夠有效地處理更大范圍的上下文信息。具體來說,主要有以下方法來擴(kuò)展語(yǔ)言模型的長(zhǎng)文本建模能力。7.4上下文窗口擴(kuò)展(1)增加上下文窗口的微調(diào)。采用直接的方式,即通過使用一個(gè)更大的上下文窗口來微調(diào)現(xiàn)有的預(yù)訓(xùn)練Transformer,以適應(yīng)長(zhǎng)文本建模需求。(2)位置編碼。改進(jìn)位置編碼,實(shí)現(xiàn)一定程度上的長(zhǎng)度外推,這意味著它們可以在小的上下文窗口上進(jìn)行訓(xùn)練,在大的上下文窗口上進(jìn)行推理。(3)插值法:將超出上下文窗口的位置編碼通過插值法壓縮到預(yù)訓(xùn)練的上下文窗口中。7.4上下文窗口擴(kuò)展PART05指令數(shù)據(jù)的構(gòu)建因?yàn)橹噶顢?shù)據(jù)的質(zhì)量會(huì)直接影響有監(jiān)督微調(diào)的最終效果,所以構(gòu)建指令數(shù)據(jù)是一個(gè)非常精細(xì)的過程。從獲得來源上看,構(gòu)建指令數(shù)據(jù)的方法可以分為手動(dòng)構(gòu)建指令和利用大模型的生成能力自動(dòng)構(gòu)建指令兩種。7.5指令數(shù)據(jù)的構(gòu)建手動(dòng)構(gòu)建指令的方法比較直觀,可以在網(wǎng)上收集大量的問答數(shù)據(jù),再人為加以篩選過濾,或者由標(biāo)注者手動(dòng)編寫提示與相應(yīng)的回答。雖然這是一個(gè)比較耗費(fèi)人力的過程,但其優(yōu)勢(shì)在于可以很好地把控指令數(shù)據(jù)的標(biāo)注過程,并對(duì)整體質(zhì)量進(jìn)行很好的控制。7.5.1手動(dòng)構(gòu)建指令一些研究嘗試尋找更高效的替代方法。具有代表性的工作是利用大模型的生成能力自動(dòng)構(gòu)建指令,它包含4個(gè)步驟。圖7-6自動(dòng)構(gòu)建指令數(shù)據(jù)生成過程7.5.2自動(dòng)構(gòu)建指令步驟1:生成任務(wù)指令。手動(dòng)構(gòu)建一個(gè)例如包含175個(gè)任務(wù)的小型指令數(shù)據(jù)集,稱為種子指令集,用于初始化指令池。然后讓模型以自舉的方式,利用指令池,生成新任務(wù)的指令:每次從指令池中采樣8條任務(wù)指令(其中6條來自人工編寫的種子指令,2條是模型迭代生成的),將其拼接為上下文示例,引導(dǎo)預(yù)訓(xùn)練語(yǔ)言模型GPT-3生成更多的新任務(wù)的指令,直到模型自己停止生成,或達(dá)到模型長(zhǎng)度限制,或是在單步中生成了過多示例。7.5.2自動(dòng)構(gòu)建指令步驟2:確定指令是否代表分類任務(wù)。由于后續(xù)對(duì)于分類任務(wù)和非分類任務(wù)有兩種不同的處理方法,因此需要在本步驟對(duì)指令是否為分類任務(wù)進(jìn)行判斷,同樣是利用拼接幾個(gè)上下文示例的方法讓模型自動(dòng)判斷任務(wù)類型是否是分類。7.5.2自動(dòng)構(gòu)建指令步驟3:生成任務(wù)輸入和輸出。通過步驟1,語(yǔ)言模型已經(jīng)生成了面向新任務(wù)的指令,然而指令數(shù)據(jù)中還沒有相應(yīng)的輸入和輸出。本步驟為此前生成的指令生成輸入和輸出,讓指令數(shù)據(jù)變得完整。與之前的步驟相同,本步驟同樣使用語(yǔ)境學(xué)習(xí),使用來自其他任務(wù)的“指令”“輸入”“輸出”上下文示例做提示,預(yù)訓(xùn)練模型就可以為新任務(wù)生成輸入-輸出對(duì)。7.5.2自動(dòng)構(gòu)建指令針對(duì)不同的任務(wù)類別,分別使用“輸入優(yōu)先”或“輸出優(yōu)先”方法:對(duì)于非分類任務(wù),使用輸入優(yōu)先的方法,先根據(jù)任務(wù)產(chǎn)生輸入,然后根據(jù)任務(wù)指令和輸入,生成輸出;而對(duì)于分類任務(wù),為了避免模型過多地生成某些特定類別的輸入(而忽略其他的類別),使用輸出優(yōu)先的方法,即先產(chǎn)生所有可能的輸出標(biāo)簽,再根據(jù)任務(wù)指令和輸出,補(bǔ)充相應(yīng)的輸入。7.5.2自動(dòng)構(gòu)建指令步驟4:過濾低質(zhì)量數(shù)據(jù)。為了保證數(shù)據(jù)的多樣性,在將新生成的指令數(shù)據(jù)加入指令池之前,需要先衡量它和池中已有指令數(shù)據(jù)的相似度,只有當(dāng)它和池中任何一條指令數(shù)據(jù)的相似度都低于0.7時(shí),才可能將其加入指令池。為保證數(shù)據(jù)的質(zhì)量,還制定了一系列的啟發(fā)式規(guī)則進(jìn)行篩選:刪除包含某些關(guān)鍵詞(如“圖片”)的指令數(shù)據(jù)、重復(fù)的指令數(shù)據(jù)、過長(zhǎng)或過短的數(shù)據(jù)等。7.5.2自動(dòng)構(gòu)建指令指令數(shù)據(jù)集對(duì)于有監(jiān)督微調(diào)非常重要,無論手工還是自動(dòng)構(gòu)建都需要花費(fèi)一定的時(shí)間和成本。目前已經(jīng)有一些開源指令數(shù)據(jù)集,按照指令任務(wù)的類型劃分,可以分為傳統(tǒng)任務(wù)指令和通用對(duì)話指令兩類。7.5.3開源指令數(shù)據(jù)集PART06微調(diào)及其PEFT流行方案微調(diào)的最終目的,是在可控成本的前提下,盡可能地提升大模型在特定領(lǐng)域的能力。從成本和效果的角度綜合考慮,PEFT(參數(shù)高效微調(diào))是比較流行的微調(diào)方案。7.6微調(diào)及其PEFT流行方案從參數(shù)規(guī)模的角度,大模型的微調(diào)分成兩條技術(shù)路線:(1)對(duì)全量參數(shù)進(jìn)行訓(xùn)練,這條路徑叫全量微調(diào)(FFT)。FFT的原理就是用特定的數(shù)據(jù)對(duì)大模型進(jìn)行訓(xùn)練,最大優(yōu)點(diǎn)是在特定數(shù)據(jù)領(lǐng)域的表現(xiàn)會(huì)好很多。但FFT也會(huì)帶來一些問題,其中影響比較大的問題主要有兩個(gè):一個(gè)是訓(xùn)練成本比較高,因?yàn)槲⒄{(diào)的參數(shù)量跟預(yù)訓(xùn)練的是一樣多;另一個(gè)叫災(zāi)難性遺忘,用特定訓(xùn)練數(shù)據(jù)進(jìn)行微調(diào)可能會(huì)把這個(gè)領(lǐng)域的表現(xiàn)變好,但也可能會(huì)把原來表現(xiàn)好的別的領(lǐng)域的能力變差。7.6.1微調(diào)技術(shù)路線(2)只對(duì)部分參數(shù)進(jìn)行訓(xùn)練,這條路徑叫參數(shù)高效微調(diào)(PEFT)。PEFT主要想解決的是FFT存在的兩個(gè)主要問題,它是比較主流的微調(diào)方案。7.6.1微調(diào)技術(shù)路線從訓(xùn)練數(shù)據(jù)的來源以及訓(xùn)練的方法的角度,大模型的微調(diào)有以下幾條技術(shù)路線:(1)監(jiān)督式微調(diào),用人工標(biāo)注的數(shù)據(jù)通過監(jiān)督學(xué)習(xí)的方法,對(duì)大模型進(jìn)行微調(diào)。(2)基于人類反饋的強(qiáng)化學(xué)習(xí)微調(diào),是把人類的反饋,通過強(qiáng)化學(xué)習(xí)的方式引入到對(duì)大模型的微調(diào)中去,讓大模型生成的結(jié)果更加符合人類的一些期望。7.6.1微調(diào)技術(shù)路線(3)基于人工智能反饋的強(qiáng)化學(xué)習(xí)微調(diào),這個(gè)方案大致跟基于人類反饋的方案類似,但是反饋的來源是人工智能。這里是想解決反饋系統(tǒng)的效率問題,因?yàn)槭占祟惙答佅鄬?duì)來說成本會(huì)比較高、效率比較低。不同的分類角度只是側(cè)重點(diǎn)不一樣,對(duì)同一個(gè)大模型的微調(diào),也不局限于某一個(gè)方案,可以多個(gè)方案并舉。7.6.1微調(diào)技術(shù)路線提示微調(diào)的出發(fā)點(diǎn)是基礎(chǔ)模型的參數(shù)不變,為每個(gè)特定任務(wù),訓(xùn)練一個(gè)少量參數(shù)的小模型,在具體執(zhí)行特定任務(wù)的時(shí)候按需調(diào)用。其基本原理是在輸入序列X之前,增加一些特定長(zhǎng)度的特殊詞元,以增大生成期望序列的概率。具體來說,就是在Transformer模型環(huán)節(jié)中,發(fā)生在嵌入環(huán)節(jié)。將大模型比做一個(gè)函數(shù),提示微調(diào)是在保證函數(shù)本身不變的前提下,在X前面加上了一些特定的內(nèi)容,而這些內(nèi)容可以影響X生成期望中Y的概率。7.6.2提示微調(diào)前綴微調(diào)的靈感來源是,基于提示工程的實(shí)踐,在不改變大模型的前提下,在提示的上下文中添加適當(dāng)?shù)臈l件,引導(dǎo)大模型有更加出色的表現(xiàn)。前綴微調(diào)的出發(fā)點(diǎn)跟提示微調(diào)是類似的,只不過在具體實(shí)現(xiàn)上有一些差異。提示微調(diào)是在嵌入環(huán)節(jié),往輸入序列X前面加特定的詞元。而前綴微調(diào)是在Transformer的編碼器和解碼器網(wǎng)絡(luò)中都加了一些特定的前綴,它也保證基座模型本身沒有變,只是在推理過程中,按需要在前面拼接一些參數(shù)。7.6.3前綴微調(diào)與提示微調(diào)和前綴微調(diào)不同,LoRA方法走了另一條技術(shù)路線,可以媲美全量微調(diào)的效果。LoRA有一個(gè)假設(shè):現(xiàn)在看到的這些大模型都是被過度參數(shù)化的,其背后有一個(gè)低維的本質(zhì)模型。通俗地說,大模型參數(shù)很多,但并不是所有的參數(shù)都發(fā)揮同樣作用。大模型中有一部分參數(shù)非常重要,是影響大模型生成結(jié)果的關(guān)鍵參數(shù),這部分關(guān)鍵參數(shù)就是低維的本質(zhì)模型。7.6.4LoRALoRA的基本思路是:首先,適配特定的下游任務(wù),訓(xùn)練一個(gè)特定的模型,里面主要是我們要微調(diào)得到的結(jié)果;其次進(jìn)行低維分解;接下來用特定訓(xùn)練數(shù)據(jù)訓(xùn)練。另外,如果要用LoRA適配不同的場(chǎng)景,切換也非常方便,做簡(jiǎn)單的矩陣加法即可。7.6.4LoRA量化是一種在保證模型效果基本不降低的前提下,通過降低參數(shù)的精度,來減少模型對(duì)于計(jì)算資源的需求的方法,其核心目標(biāo)是降成本,降訓(xùn)練成本,特別是降后期的推理成本。QLoRA就是量化版的LoRA,它是在LoRA的基礎(chǔ)上,進(jìn)行進(jìn)一步的量化,將原本用16bit表示的參數(shù),降為用4bit來表示,可以在保證模型效果的同時(shí),極大地降低成本。7.6.5QLoRA01什么是提示工程02大模型為什么要微調(diào)03提示學(xué)習(xí)和語(yǔ)境學(xué)習(xí)04上下文窗口擴(kuò)展目錄/CONTENTS05指令數(shù)據(jù)的構(gòu)建06微調(diào)及其PEFT流行方案大語(yǔ)言模型基礎(chǔ)第7章提示工程與微調(diào)浙江省普通本科高?!笆奈濉敝攸c(diǎn)教材建設(shè)成果之一大語(yǔ)言模型基礎(chǔ)大語(yǔ)言模型基礎(chǔ)周蘇教授QQ:81505050第8章強(qiáng)化學(xué)習(xí)方法通過有監(jiān)督微調(diào),大語(yǔ)言模型初步具備了遵循人類指令完成各類型任務(wù)的能力。然而,有監(jiān)督微調(diào)需要大量指令和對(duì)應(yīng)的高質(zhì)量的標(biāo)準(zhǔn)回復(fù),因此會(huì)耗費(fèi)許多人力和時(shí)間成本。由于有監(jiān)督微調(diào)通常目標(biāo)是調(diào)整參數(shù)使模型輸出與標(biāo)準(zhǔn)答案完全相同,不能從整體上對(duì)模型輸出質(zhì)量進(jìn)行判斷,因此,模型不能適應(yīng)自然語(yǔ)言的多樣性,也不能解決微小變化的敏感性問題。第8章強(qiáng)化學(xué)習(xí)方法強(qiáng)化學(xué)習(xí)則將模型輸出文本作為一個(gè)整體進(jìn)行考慮,其優(yōu)化目標(biāo)是使模型生成高質(zhì)量回復(fù)。此外,強(qiáng)化學(xué)習(xí)方法不依賴人工回復(fù),其模型根據(jù)指令生成回復(fù),獎(jiǎng)勵(lì)模型針對(duì)所生成的回復(fù)給出質(zhì)量判斷。強(qiáng)化學(xué)習(xí)的模型通過生成回復(fù)并接收反饋進(jìn)行學(xué)習(xí),可以生成多個(gè)答案,獎(jiǎng)勵(lì)模型對(duì)輸出文本質(zhì)量進(jìn)行排序。模型強(qiáng)化學(xué)習(xí)方法更適合生成式任務(wù),也是大模型構(gòu)建中必不可少的關(guān)鍵步驟。第8章強(qiáng)化學(xué)習(xí)方法01強(qiáng)化學(xué)習(xí)的概念02強(qiáng)化學(xué)習(xí)基礎(chǔ)03強(qiáng)化學(xué)習(xí)分類04深度強(qiáng)化學(xué)習(xí)目錄/CONTENTSPART01強(qiáng)化學(xué)習(xí)的概念強(qiáng)化學(xué)習(xí)的基本元素包括智能體、環(huán)境、狀態(tài)、動(dòng)作和獎(jiǎng)勵(lì),其中,智能體和環(huán)境間通過獎(jiǎng)勵(lì)、狀態(tài)、動(dòng)作3個(gè)信號(hào)進(jìn)行交互,不斷地根據(jù)環(huán)境的反饋信息進(jìn)行試錯(cuò)學(xué)習(xí)。強(qiáng)化學(xué)習(xí)把學(xué)習(xí)看作試探評(píng)價(jià)過程。智能體選擇一個(gè)動(dòng)作用于環(huán)境,環(huán)境接受該動(dòng)作后狀態(tài)發(fā)生變化,同時(shí)產(chǎn)生一個(gè)強(qiáng)化信號(hào)(獎(jiǎng)或懲)反饋給智能體,智能體根據(jù)強(qiáng)化信號(hào)和環(huán)境當(dāng)前狀態(tài)再選擇下一個(gè)動(dòng)作,選擇的原則是使受到正強(qiáng)化(獎(jiǎng))的概率增大。選擇的動(dòng)作不僅影響立即強(qiáng)化值,而且影響環(huán)境下一時(shí)刻的狀態(tài)及最終的強(qiáng)化值。8.1強(qiáng)化學(xué)習(xí)的概念1997年,當(dāng)“深藍(lán)”擊敗國(guó)際象棋世界冠軍加里·卡斯帕羅夫時(shí),人們就把抵御的希望寄托在了圍棋上。當(dāng)時(shí),天體物理學(xué)家,也是圍棋愛好者的皮特·赫特曾預(yù)測(cè)稱:“計(jì)算機(jī)在圍棋上擊敗人類需要一百年的時(shí)間(甚至可能更久)?!钡珜?shí)際上僅僅20年后,阿爾法狗(AlphaGo)就超越了人類棋手。世界冠軍柯潔說:“一年前的阿爾法狗還比較接近于人,現(xiàn)在它越來越像圍棋之神。”阿爾法狗得益于對(duì)人類棋手過去數(shù)十萬(wàn)場(chǎng)棋局的研究以及對(duì)團(tuán)隊(duì)中圍棋專家的知識(shí)的提煉。8.1.1強(qiáng)化學(xué)習(xí)的定義后繼項(xiàng)目AlphaZero不再借助于人類輸入,它通過游戲規(guī)則自我學(xué)習(xí),在圍棋、國(guó)際象棋和日本將棋領(lǐng)域中擊敗了包括人類和機(jī)器在內(nèi)的所有對(duì)手。與此同時(shí),人類選手也在各種游戲中被人工智能系統(tǒng)擊敗,包括《危險(xiǎn)邊緣》、撲克以及電子游戲《刀塔2》《星際爭(zhēng)霸11》《雷神之錘3》。這些進(jìn)展顯示了強(qiáng)化學(xué)習(xí)的巨大作用。強(qiáng)化學(xué)習(xí)讓智能體在環(huán)境里通過分析數(shù)據(jù)來學(xué)習(xí),每個(gè)行動(dòng)對(duì)應(yīng)于各自的獎(jiǎng)勵(lì)。智能體關(guān)注不同情況下應(yīng)該做怎樣的事情——這樣的學(xué)習(xí)過程和人類的自然經(jīng)歷十分相似。8.1.1強(qiáng)化學(xué)習(xí)的定義想象一個(gè)小孩子第一次看到火,他小心地走到火邊。·感受到了溫暖?;鹗莻€(gè)好東西(+1)?!と缓螅囍ッ?。哇,這么燙(-1)。這個(gè)嘗試所得到的結(jié)論是,在稍遠(yuǎn)的地方火是好的,靠得太近就不好——這是人類與環(huán)境交互的學(xué)習(xí)方式,強(qiáng)化學(xué)習(xí)也是這樣的道理。8.1.1強(qiáng)化學(xué)習(xí)的定義比如,智能體要學(xué)著玩一個(gè)新的游戲。強(qiáng)化學(xué)習(xí)過程可以用一個(gè)循環(huán)來表示:·智能體在游戲環(huán)境里獲得初始狀態(tài)S0(游戲的第一幀);·在S0的基礎(chǔ)上,智能體做出第一個(gè)行動(dòng)A0(如向右走);·環(huán)境變化,獲得新的狀態(tài)S1(A0發(fā)生后的某一幀);·環(huán)境給出第一個(gè)獎(jiǎng)勵(lì)R1(沒死或成功:+1)。于是,這個(gè)回合輸出的就是一個(gè)由狀態(tài)、獎(jiǎng)勵(lì)和行動(dòng)組成的序列,而智能體的目標(biāo)就是讓預(yù)期累積獎(jiǎng)勵(lì)最大化。8.1.1強(qiáng)化學(xué)習(xí)的定義強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支,它是一種廣泛應(yīng)用于創(chuàng)建智能系統(tǒng)的學(xué)習(xí)模式,在描述和解決智能體與環(huán)境的交互過程中,以“試錯(cuò)”方式,通過學(xué)習(xí)策略達(dá)成回報(bào)最大化或?qū)崿F(xiàn)特定目標(biāo)問題。強(qiáng)化學(xué)習(xí)側(cè)重于在線學(xué)習(xí)并試圖在探索和利用之間保持平衡,其目標(biāo)是使智能體在復(fù)雜且不確定的環(huán)境中,只依靠于對(duì)環(huán)境的感知和偶爾的獎(jiǎng)勵(lì),對(duì)某項(xiàng)任務(wù)變得精通,使未來的獎(jiǎng)勵(lì)最大化。

圖8-1強(qiáng)化學(xué)習(xí)8.1.1強(qiáng)化學(xué)習(xí)的定義強(qiáng)化學(xué)習(xí)基本框架主要由智能體和環(huán)境兩部分組成。在強(qiáng)化學(xué)習(xí)過程中,智能體與環(huán)境不斷交互。智能體在環(huán)境中獲取某個(gè)狀態(tài)后,會(huì)根據(jù)該狀態(tài)輸出一個(gè)動(dòng)作,也稱為決策。動(dòng)作會(huì)在環(huán)境中執(zhí)行,環(huán)境會(huì)根據(jù)智能體采取的動(dòng)作,給出下一個(gè)狀態(tài)及當(dāng)前動(dòng)作帶來的獎(jiǎng)勵(lì)。8.1.1強(qiáng)化學(xué)習(xí)的定義由于強(qiáng)化學(xué)習(xí)涉及的知識(shí)面廣,尤其是涵蓋了諸多數(shù)學(xué)知識(shí),更需要對(duì)強(qiáng)化學(xué)習(xí)有系統(tǒng)性的梳理與認(rèn)識(shí)。強(qiáng)化學(xué)習(xí)問題主要在信息論、博弈論、自動(dòng)控制等領(lǐng)域討論,用于解釋有限理性條件下的平衡態(tài)、設(shè)計(jì)推薦系統(tǒng)和機(jī)器人交互系統(tǒng)。一些復(fù)雜的強(qiáng)化學(xué)習(xí)算法在一定程度上具備解決復(fù)雜問題的通用智能,可以在圍棋和電子游戲中達(dá)到人類水平。8.1.1強(qiáng)化學(xué)習(xí)的定義從嚴(yán)格意義上說,阿爾法狗程序在人機(jī)圍棋對(duì)弈中贏了人類圍棋大師,其中深度強(qiáng)化學(xué)習(xí)起了主要的作用。所謂深度強(qiáng)化學(xué)習(xí),就是在強(qiáng)化學(xué)習(xí)里加入深度神經(jīng)網(wǎng)絡(luò)。例如Q學(xué)習(xí)是利用傳統(tǒng)算法創(chuàng)建Q-table,幫助智能體找到下一步要采取的行動(dòng);DQN是利用深度神經(jīng)網(wǎng)絡(luò)來近似Q值。智能系統(tǒng)必須能夠在沒有持續(xù)監(jiān)督信號(hào)的情況下自主學(xué)習(xí),而深度強(qiáng)化學(xué)習(xí)正是其最佳代表,能夠帶來更多發(fā)展空間與想象力。8.1.1強(qiáng)化學(xué)習(xí)的定義機(jī)器學(xué)習(xí)方法主要分為監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。強(qiáng)化學(xué)習(xí)和監(jiān)督學(xué)習(xí)的共同點(diǎn)是兩者都需要大量的數(shù)據(jù)進(jìn)行學(xué)習(xí)訓(xùn)練,但學(xué)習(xí)方式有所不同,所需的數(shù)據(jù)類型也有差異,監(jiān)督學(xué)習(xí)需要多樣化的標(biāo)簽數(shù)據(jù),強(qiáng)化學(xué)習(xí)則需要帶有回復(fù)的交互數(shù)據(jù)。圖8-2機(jī)器學(xué)習(xí)領(lǐng)域中的3大分支8.1.2不同于監(jiān)督和無監(jiān)督學(xué)習(xí)與監(jiān)督和無監(jiān)督學(xué)習(xí)的最大不同是,強(qiáng)化學(xué)習(xí)里并沒有給定的一組數(shù)據(jù)供智能體學(xué)習(xí)。環(huán)境是不斷變化的,強(qiáng)化學(xué)習(xí)中的智能體要在變化的環(huán)境里做出一系列動(dòng)作的決策,結(jié)合起來就是策略。強(qiáng)化學(xué)習(xí)就是通過不斷與環(huán)境互動(dòng)(不斷試錯(cuò))和更新策略的過程。8.1.2不同于監(jiān)督和無監(jiān)督學(xué)習(xí)強(qiáng)化學(xué)習(xí)與監(jiān)督和無監(jiān)督學(xué)習(xí)的不同之處具體有以下5個(gè)方面。(1)沒有監(jiān)督者,只有獎(jiǎng)勵(lì)信號(hào)。監(jiān)督學(xué)習(xí)基于大量作為訓(xùn)練與學(xué)習(xí)目標(biāo)的標(biāo)注數(shù)據(jù)進(jìn)行,而強(qiáng)化學(xué)習(xí)中沒有監(jiān)督者,智能體是從環(huán)境的反饋中獲得獎(jiǎng)勵(lì)信號(hào)。(2)反饋延遲。實(shí)際上是延遲獎(jiǎng)勵(lì),環(huán)境可能不會(huì)在每一步動(dòng)作上都給予獎(jiǎng)勵(lì),有時(shí)候需要完成一連串的動(dòng)作,甚至是完成整個(gè)任務(wù)后才能獲得獎(jiǎng)勵(lì)。8.1.2不同于監(jiān)督和無監(jiān)督學(xué)習(xí)(3)試錯(cuò)學(xué)習(xí)。因?yàn)闆]有監(jiān)督,所以沒有直接的指導(dǎo)信息,智能體要與環(huán)境不斷進(jìn)行交互,通過試錯(cuò)的方式來獲得最優(yōu)策略。(4)智能體的動(dòng)作會(huì)影響后續(xù)的數(shù)據(jù)。智能體選擇不同動(dòng)作會(huì)進(jìn)入不同的狀態(tài)。由于強(qiáng)化學(xué)習(xí)基于馬爾可夫決策過程(MDP,當(dāng)前狀態(tài)只與上一個(gè)狀態(tài)有關(guān),與其他狀態(tài)無關(guān)),因此,根據(jù)下一個(gè)時(shí)間步獲得的狀態(tài)變化,環(huán)境的反饋也會(huì)隨之發(fā)生變化。(5)時(shí)間序列很重要。強(qiáng)化學(xué)習(xí)更加注重輸入數(shù)據(jù)的序列性,下一個(gè)時(shí)間步t的輸入依賴于前一個(gè)時(shí)間步t-1的狀態(tài)(即馬爾可夫?qū)傩裕?.1.2不同于監(jiān)督和無監(jiān)督學(xué)習(xí)一般而言,監(jiān)督學(xué)習(xí)是通過對(duì)數(shù)據(jù)進(jìn)行分析,找到數(shù)據(jù)的表達(dá)模型,隨后利用該模型,在新輸入的數(shù)據(jù)上進(jìn)行決策,它主要分為訓(xùn)練階段和預(yù)測(cè)階段。在訓(xùn)練階段,首先根據(jù)原始數(shù)據(jù)進(jìn)行特征提?。ㄌ卣鞴こ蹋?,之后可以使用決策樹、隨機(jī)森林等機(jī)器學(xué)習(xí)算法去分析數(shù)據(jù)之間的關(guān)系,最終得到關(guān)于輸入數(shù)據(jù)的模型。在預(yù)測(cè)階段,按特征工程方法抽取數(shù)據(jù)特征,使用訓(xùn)練階段得到的模型對(duì)特征向量進(jìn)行預(yù)測(cè),最終得到數(shù)據(jù)所屬的分類標(biāo)簽。值得注意的是,驗(yàn)證模型使用驗(yàn)證集數(shù)據(jù)對(duì)模型進(jìn)行反向驗(yàn)證,確保模型的正確性和精度。8.1.3不同于傳統(tǒng)機(jī)器學(xué)習(xí)

圖8-3監(jiān)督學(xué)習(xí)的一般方法8.1.3不同于傳統(tǒng)機(jī)器學(xué)習(xí)與監(jiān)督學(xué)習(xí)相比,深度學(xué)習(xí)的一般方法少了特征工程,從而大大降低了業(yè)務(wù)領(lǐng)域門檻與人力成本。圖8-4深度學(xué)習(xí)的一般方法8.1.3不同于傳統(tǒng)機(jī)器學(xué)習(xí)監(jiān)督學(xué)習(xí)的學(xué)習(xí)只能發(fā)生在訓(xùn)練階段,該階段會(huì)出現(xiàn)一個(gè)監(jiān)督信號(hào)(即具有學(xué)習(xí)的能力,數(shù)學(xué)上稱為“差分信號(hào)”)。例如在語(yǔ)音識(shí)別任務(wù)中,需要收集大量的語(yǔ)音語(yǔ)料數(shù)據(jù)和該語(yǔ)料對(duì)應(yīng)標(biāo)注好的文本內(nèi)容。有了原始的語(yǔ)音數(shù)據(jù)和對(duì)應(yīng)的語(yǔ)音標(biāo)注數(shù)據(jù)后,可通過監(jiān)督學(xué)習(xí)方法收集數(shù)據(jù)中的模式,例如對(duì)語(yǔ)音分類、判別該語(yǔ)音音素所對(duì)應(yīng)的單詞等。8.1.3不同于傳統(tǒng)機(jī)器學(xué)習(xí)上述標(biāo)注語(yǔ)音文本內(nèi)容相當(dāng)于一個(gè)監(jiān)督信號(hào),訓(xùn)練完成后,預(yù)測(cè)階段不需要該監(jiān)督信號(hào),生成的語(yǔ)言識(shí)別模型用作新數(shù)據(jù)的預(yù)測(cè)。如果想要修改監(jiān)督信號(hào),則需要對(duì)語(yǔ)言識(shí)別模型進(jìn)行重新訓(xùn)練,但監(jiān)督學(xué)習(xí)的訓(xùn)練階段非常耗時(shí)。強(qiáng)化學(xué)習(xí)與監(jiān)督學(xué)習(xí)不同,其學(xué)習(xí)過程與生物的自然學(xué)習(xí)過程非常類似。具體而言,智能體在與環(huán)境的互動(dòng)過程中,通過不斷探索與試錯(cuò)的方式,利用基于正/負(fù)獎(jiǎng)勵(lì)的方式進(jìn)行學(xué)習(xí)。8.1.3不同于傳統(tǒng)機(jī)器學(xué)習(xí)強(qiáng)化學(xué)習(xí)在大模型上的重要作用可以概括為以下幾個(gè)方面。(1)相較于監(jiān)督學(xué)習(xí),強(qiáng)化學(xué)習(xí)更有可能考慮整體影響。監(jiān)督學(xué)習(xí)針對(duì)單個(gè)詞元進(jìn)行反饋,其目標(biāo)是要求模型針對(duì)給定的輸入給出確切的答案;而強(qiáng)化學(xué)習(xí)針對(duì)整個(gè)輸出文本進(jìn)行反饋,不針對(duì)特定詞元。反饋粒度不同,使強(qiáng)化學(xué)習(xí)更適合大模型,既可以兼顧多樣性表達(dá),又可以增強(qiáng)對(duì)微小變化的敏感性。自然語(yǔ)言十分靈活,可以用多種不同的方式表達(dá)相同的語(yǔ)義。8.1.4大模型的強(qiáng)化學(xué)習(xí)另外,有監(jiān)督微調(diào)通常采用交叉熵?fù)p失作為損失函數(shù),由于遵循總和規(guī)則,造成這種損失對(duì)個(gè)別詞元變化不敏感。改變個(gè)別詞元對(duì)整體損失產(chǎn)生的影響較小,而一個(gè)否定詞可以完全改變文本的整體含義。強(qiáng)化學(xué)習(xí)則可以通過獎(jiǎng)勵(lì)函數(shù)同時(shí)兼顧多樣性和微小變化敏感性兩個(gè)方面。8.1.4大模型的強(qiáng)化學(xué)習(xí)(2)強(qiáng)化學(xué)習(xí)更容易解決幻覺問題。用戶在大模型上主要有三類輸入:①文本型,用戶輸入相關(guān)文本和問題,讓模型基于所提供的文本生成答案(例如,“本文中提到的人名和地名有哪些”);②求知型,用戶僅提出問題,模型根據(jù)內(nèi)在知識(shí)提供真實(shí)回答(例如,“流感的常見原因是什么”);③創(chuàng)造型,用戶提供問題或說明,讓模型進(jìn)行創(chuàng)造性輸出(例如,“寫一個(gè)關(guān)于·的故事”)。8.1.4大模型的強(qiáng)化學(xué)習(xí)監(jiān)督學(xué)習(xí)算法非常容易使得求知型查詢產(chǎn)生幻覺,在模型并不包含或者知道答案的情況下,有監(jiān)督訓(xùn)練仍然會(huì)促使模型給出答案。而使用強(qiáng)化學(xué)習(xí)方法,則可以通過定制獎(jiǎng)勵(lì)函數(shù),將正確答案賦予較高的分?jǐn)?shù),放棄回答的答案賦予中低分?jǐn)?shù),不正確的答案賦予非常高的負(fù)分,使得模型學(xué)會(huì)依賴內(nèi)部知識(shí)選擇放棄回答,從而在一定程度上緩解模型的幻覺問題。8.1.4大模型的強(qiáng)化學(xué)習(xí)(3)強(qiáng)化學(xué)習(xí)可以更好地解決多輪對(duì)話獎(jiǎng)勵(lì)累積問題。多輪對(duì)話是大模型重要的基礎(chǔ)能力之一。多輪對(duì)話是否達(dá)成最終目標(biāo),需要考慮多次交互過程的整體情況,因此很難使用監(jiān)督學(xué)習(xí)的方法來構(gòu)建。而使用強(qiáng)化學(xué)習(xí)方法,可以通過構(gòu)建獎(jiǎng)勵(lì)函數(shù),根據(jù)整個(gè)對(duì)話的背景及連貫性對(duì)當(dāng)前模型輸出的優(yōu)劣進(jìn)行判斷。8.1.4大模型的強(qiáng)化學(xué)習(xí)強(qiáng)化學(xué)習(xí)不需要像監(jiān)督學(xué)習(xí)那樣依賴先驗(yàn)知識(shí)數(shù)據(jù)。例如線上游戲,越來越多的用戶使用移動(dòng)終端進(jìn)行游戲,使數(shù)據(jù)的獲取來源更為廣泛。比如圍棋游戲,圍棋的棋譜可以很容易得到,這些棋譜是人類玩家的動(dòng)作行為記錄,如果只用監(jiān)督學(xué)習(xí)進(jìn)行建模,模型學(xué)習(xí)出的對(duì)弈技能很有可能只局限在所收集的有限棋譜內(nèi)。當(dāng)出現(xiàn)新的下棋方式時(shí),模型可能會(huì)因?yàn)檎也坏饺肿顑?yōu)解而使得棋力大減。8.1.5先驗(yàn)知識(shí)與標(biāo)注數(shù)據(jù)強(qiáng)化學(xué)習(xí)通過自我博弈方式產(chǎn)生更多的標(biāo)準(zhǔn)數(shù)據(jù)。在強(qiáng)化學(xué)習(xí)中,如果有基本棋譜,便可以利用系統(tǒng)自我學(xué)習(xí)和獎(jiǎng)勵(lì)的方式,系統(tǒng)自動(dòng)學(xué)習(xí)更多的棋譜或者使用兩個(gè)智能體進(jìn)行互相博弈,進(jìn)而為系統(tǒng)自身補(bǔ)充更多的棋譜信息,不受標(biāo)注數(shù)據(jù)和先驗(yàn)知識(shí)的限制。強(qiáng)化學(xué)習(xí)利用較少的訓(xùn)練信息,讓系統(tǒng)不斷地自主學(xué)習(xí),自我補(bǔ)充更多的信息,進(jìn)而免受監(jiān)督者的限制。8.1.5先驗(yàn)知識(shí)與標(biāo)注數(shù)據(jù)另外,可以使用遷移學(xué)習(xí)來減少標(biāo)注數(shù)據(jù)的數(shù)量,它在一定程度上突破了監(jiān)督學(xué)習(xí)中存在的限制,提前在大量標(biāo)注數(shù)據(jù)信息中提取高維特征,從而減少后續(xù)復(fù)用模型的輸入數(shù)據(jù)。遷移學(xué)習(xí)是把已經(jīng)訓(xùn)練好的模型參數(shù)遷移到新的模型以幫助訓(xùn)練新模型??紤]到大部分?jǐn)?shù)據(jù)或任務(wù)存在相關(guān)性,通過遷移學(xué)習(xí)可以將已經(jīng)學(xué)到的模型參數(shù)(也可理解為模型學(xué)到的知識(shí))通過某種方式分享給新模型,進(jìn)而不需要從零開始學(xué)習(xí),加快并優(yōu)化新模型的學(xué)習(xí)效率。8.1.5先驗(yàn)知識(shí)與標(biāo)注數(shù)據(jù)PART02強(qiáng)化學(xué)習(xí)基礎(chǔ)由于交互方式與人類和環(huán)境的交互方式類似,可以認(rèn)為強(qiáng)化學(xué)習(xí)是一套通用的學(xué)習(xí)框架,用來解決通用人工智能問題,因此它也被稱為通用人工智能的機(jī)器學(xué)習(xí)方法。8.2強(qiáng)化學(xué)習(xí)基礎(chǔ)在強(qiáng)化學(xué)習(xí)中,按智能體所處的環(huán)境,將不同的算法分成兩種類型:一種是環(huán)境已知,即智能體已經(jīng)對(duì)環(huán)境建模,叫作基于模型;另一種是環(huán)境未知,叫作免模型。8.2.1基于模型與免模型環(huán)境(1)基于模型的強(qiáng)化學(xué)習(xí)。例如,工廠載貨機(jī)器人通過傳感器感應(yīng)地面上的航線來控制其行走。由于地面上的航線是事先規(guī)劃好的,工廠的環(huán)境也是可控已知的,因此可以將其視為基于模型的任務(wù)。圖8-5基于模型的任務(wù):工廠AGV自動(dòng)載重車8.2.1基于模型與免模型環(huán)境在這基于模型的方法中,智能體使用環(huán)境的轉(zhuǎn)移模型來幫助解釋獎(jiǎng)勵(lì)信號(hào)并決定如何行動(dòng)。模型最初可能是未知的,智能體通過觀測(cè)其行為的影響來學(xué)習(xí)模型;或者它也可能是已知的,例如,國(guó)際象棋程序可能知道國(guó)際象棋的規(guī)則,即便它不知道如何選擇好的走法。在部分可觀測(cè)的環(huán)境中,轉(zhuǎn)移模型對(duì)于狀態(tài)估計(jì)也是很有用的。不過在現(xiàn)實(shí)情況下,環(huán)境的狀態(tài)轉(zhuǎn)移概率、獎(jiǎng)勵(lì)函數(shù)往往很難提前獲取,甚至很難知道環(huán)境中一共有多少個(gè)狀態(tài)。8.2.1基于模型與免模型環(huán)境(2)免模型強(qiáng)化學(xué)習(xí)。例如汽車的自動(dòng)駕駛系統(tǒng),在現(xiàn)實(shí)交通環(huán)境下,很多事情是無法預(yù)先估計(jì)的,例如路人的行為、往來車輛的行走軌跡等情況,因此可以將其視為免模型的任務(wù)。在這種方式下,智能體不知道環(huán)境的轉(zhuǎn)移模型,相反,它直接學(xué)習(xí)如何采取行為方式,可以使用動(dòng)態(tài)規(guī)劃法求解,其中主要有動(dòng)作效用函數(shù)學(xué)習(xí)和策略搜索兩種形式,包括蒙特卡洛法、時(shí)間差分法、值函數(shù)近似、梯度策略等方法。8.2.1基于模型與免模型環(huán)境在強(qiáng)化學(xué)習(xí)中,“探索”的目的是找到更多環(huán)境信息,而“利用”(或者說“開發(fā)”)的目的是通過已知環(huán)境信息來使預(yù)期累積獎(jiǎng)勵(lì)最大化。也就是,“探索”是嘗試新的動(dòng)作行為,而“利用”則是從已知?jiǎng)幼髦羞x擇下一步的行動(dòng)。也正因如此,有時(shí)候會(huì)陷入一種困境。例如,小老鼠可以吃到無窮多塊分散的奶酪(每塊+1),但在迷宮上方有許多堆在一起的奶酪(+1000),或者看成巨型奶酪。如果只關(guān)心吃了多少,小老鼠就永遠(yuǎn)不會(huì)去找那些大奶酪。它只會(huì)在安全的地方一塊一塊地吃,這樣獎(jiǎng)勵(lì)累積比較慢,但它不在乎。如果它跑去遠(yuǎn)的地方,也許就會(huì)發(fā)現(xiàn)大獎(jiǎng)的存在,但也有可能發(fā)生危險(xiǎn)。8.2.2探索與利用實(shí)際上,“探索”和“利用”哪個(gè)重要,以及如何權(quán)衡兩者之間的關(guān)系,是需要深入思考的。在基于模型的環(huán)境下,已經(jīng)知道環(huán)境的所有信息(環(huán)境完備信息),智能體不需要在環(huán)境中探索,而只要簡(jiǎn)單利用環(huán)境中已知信息即可;可是在免模型環(huán)境下,探索和利用兩者同等重要,既需要知道更多有關(guān)環(huán)境的信息,又需要針對(duì)這些已知信息來提高獎(jiǎng)勵(lì)。8.2.2探索與利用不過,“探索”和“利用”兩者本身是矛盾的,因?yàn)樵趯?shí)際運(yùn)行中,算法能夠嘗試的次數(shù)有限,增加探索的次數(shù)則利用的次數(shù)會(huì)降低,反之亦然。這就是強(qiáng)化學(xué)習(xí)中的探索—利用困境,設(shè)計(jì)者需要設(shè)定一種規(guī)則,讓智能體能夠在探索和利用之間進(jìn)行權(quán)衡。8.2.2探索與利用在求解強(qiáng)化學(xué)習(xí)問題時(shí),具體還有免模型預(yù)測(cè)和免模型控制,以及基于模型預(yù)測(cè)和基于模型控制?!邦A(yù)測(cè)”的目的是驗(yàn)證未來——對(duì)于一個(gè)給定的策略,智能體需要去驗(yàn)證該策略能夠到達(dá)的理想狀態(tài)值,以確定該策略的好壞。而“控制”則是優(yōu)化未來——給出一個(gè)初始化策略,智能體希望基于該給定的初始化策略,找到一個(gè)最優(yōu)的策略。實(shí)際上,預(yù)測(cè)和控制是探索和利用的抽象。預(yù)測(cè)希望在未知環(huán)境中探索更多可能的策略,然后驗(yàn)證其狀態(tài)值函數(shù)??刂茖?duì)應(yīng)于利用,希望在未知環(huán)境中找到的策略中發(fā)現(xiàn)一個(gè)最好的。8.2.2探索與利用強(qiáng)化學(xué)習(xí)的任務(wù)分為片段和連續(xù)兩種。(1)片段任務(wù)。這類任務(wù)有個(gè)起點(diǎn)和終點(diǎn),兩者之間有一堆狀態(tài),一堆行動(dòng),一堆獎(jiǎng)勵(lì)和一堆新的狀態(tài),它們共同構(gòu)成了一“集”。當(dāng)一集結(jié)束,也就是到達(dá)終止?fàn)顟B(tài)時(shí),智能體會(huì)看一下獎(jiǎng)勵(lì)累積了多少,以此評(píng)估自己的表現(xiàn),然后就帶著之前的經(jīng)驗(yàn)開始一局新游戲,并且智能體做決定的依據(jù)會(huì)更充分一些。8.2.3片段還是連續(xù)任務(wù)以貓鼠迷宮的一集為例:·永遠(yuǎn)從同一個(gè)起點(diǎn)開始;·如果被貓吃掉或者走了超過20步,則游戲結(jié)束;·結(jié)束時(shí)得到一系列狀態(tài)、行動(dòng)、獎(jiǎng)勵(lì)和新狀態(tài);·算出獎(jiǎng)勵(lì)的總和(看看表現(xiàn)如何);·更有經(jīng)驗(yàn)地開始新游戲。集數(shù)越多,智能體的表現(xiàn)會(huì)越好。8.2.3片段還是連續(xù)任務(wù)(2)連續(xù)任務(wù)。游戲永遠(yuǎn)不會(huì)結(jié)束。智能體要學(xué)習(xí)如何選擇最佳的行動(dòng),和環(huán)境進(jìn)行實(shí)時(shí)交互,就像自動(dòng)駕駛汽車。這樣的任務(wù)是通過時(shí)間差分學(xué)習(xí)來訓(xùn)練的,每一個(gè)時(shí)間步都會(huì)有總結(jié)學(xué)習(xí),并不是等到一集結(jié)束再分析結(jié)果。8.2.3片段還是連續(xù)任務(wù)強(qiáng)化學(xué)習(xí)的基本組成元素定義如下。(1)智能體:強(qiáng)化學(xué)習(xí)的本體,作為學(xué)習(xí)者或者決策者。(2)環(huán)境:強(qiáng)化學(xué)習(xí)智能體以外的一切,主要由狀態(tài)集組成。(3)狀態(tài):表示環(huán)境的數(shù)據(jù)。狀態(tài)集是環(huán)境中所有可能的狀態(tài)。(4)動(dòng)作:智能體可以做出的動(dòng)作。動(dòng)作集是智能體可以做出的所有動(dòng)作。8.2.4網(wǎng)絡(luò)模型設(shè)計(jì)(5)獎(jiǎng)勵(lì):智能體在執(zhí)行一個(gè)動(dòng)作后,獲得的正/負(fù)獎(jiǎng)勵(lì)信號(hào)。獎(jiǎng)勵(lì)集是智能體可以獲得的所有反饋信息,正/負(fù)獎(jiǎng)勵(lì)信號(hào)亦可稱作正/負(fù)反饋信號(hào)。(6)策略:從環(huán)境狀態(tài)到動(dòng)作的映射學(xué)習(xí),該映射關(guān)系稱為策略。通俗地說,智能體選擇動(dòng)作的思考過程即為策略。(7)目標(biāo):智能體自動(dòng)尋找在連續(xù)時(shí)間序列里的最優(yōu)策略,這通常指最大化長(zhǎng)期累積獎(jiǎng)勵(lì)。8.2.4網(wǎng)絡(luò)模型設(shè)計(jì)在強(qiáng)化學(xué)習(xí)中,每一個(gè)自主體由兩個(gè)神經(jīng)網(wǎng)絡(luò)模塊組成,即行動(dòng)網(wǎng)絡(luò)和評(píng)估網(wǎng)絡(luò)。行動(dòng)網(wǎng)絡(luò)是根據(jù)當(dāng)前的狀態(tài)而決定下一個(gè)時(shí)刻施加到環(huán)境上去的最好動(dòng)作。圖8-6強(qiáng)化學(xué)習(xí)的網(wǎng)絡(luò)模型設(shè)計(jì)8.2.4網(wǎng)絡(luò)模型設(shè)計(jì)對(duì)于行動(dòng)網(wǎng)絡(luò),強(qiáng)化學(xué)習(xí)算法允許它的輸出結(jié)點(diǎn)進(jìn)行隨機(jī)搜索,有了來自評(píng)估網(wǎng)絡(luò)的內(nèi)部強(qiáng)化信號(hào)后,行動(dòng)網(wǎng)絡(luò)的輸出結(jié)點(diǎn)即可有效地完成隨機(jī)搜索,并且大大提高選擇好的動(dòng)作的可能性,同時(shí)可以在線訓(xùn)練整個(gè)行動(dòng)網(wǎng)絡(luò)。用一個(gè)輔助網(wǎng)絡(luò)來為環(huán)境建模,評(píng)估網(wǎng)絡(luò)可單步和多步預(yù)報(bào)當(dāng)前由行動(dòng)網(wǎng)絡(luò)施加到環(huán)境上的動(dòng)作強(qiáng)化信號(hào),根據(jù)當(dāng)前狀態(tài)和模擬環(huán)境預(yù)測(cè)其標(biāo)量值。可以提前向行動(dòng)網(wǎng)絡(luò)提供有關(guān)將候選動(dòng)作的強(qiáng)化信號(hào),以及更多的獎(jiǎng)懲信息(內(nèi)部強(qiáng)化信號(hào)),以減少不確定性并提高學(xué)習(xí)速度。8.2.4網(wǎng)絡(luò)模型設(shè)計(jì)強(qiáng)化學(xué)習(xí)使人們從手動(dòng)構(gòu)造行為和標(biāo)記監(jiān)督學(xué)習(xí)所需的大量數(shù)據(jù)集(或不得不人工編寫控制策略)中解脫了出來,它在機(jī)器人技術(shù)中的應(yīng)用中特別有價(jià)值,該領(lǐng)域需要能夠處理連續(xù)、高維、部分可觀測(cè)環(huán)境的方法,在這樣的環(huán)境中,成功的行為可能包含成千上萬(wàn)的基元?jiǎng)幼鳌?.2.4網(wǎng)絡(luò)模型設(shè)計(jì)PART03強(qiáng)化學(xué)習(xí)分類強(qiáng)化學(xué)習(xí)中,智能體在沒有“老師”的情況下,通過考慮自己的最終成功或失敗,根據(jù)獎(jiǎng)勵(lì)與懲罰,主動(dòng)地從自己的經(jīng)驗(yàn)中學(xué)習(xí),以使未來的獎(jiǎng)勵(lì)最大化。按給定條件,除了基于模型和免模型,還有主動(dòng)和被動(dòng)強(qiáng)化學(xué)習(xí)。強(qiáng)化學(xué)習(xí)的變體包括逆向強(qiáng)化學(xué)習(xí)、階層強(qiáng)化學(xué)習(xí)和部分可觀測(cè)系統(tǒng)的強(qiáng)化學(xué)習(xí)。求解強(qiáng)化學(xué)習(xí)問題所使用的算法可分為策略搜索算法和值函數(shù)算法兩類。在強(qiáng)化學(xué)習(xí)中使用深度學(xué)習(xí)模型,形成深度強(qiáng)化學(xué)習(xí)。8.3強(qiáng)化學(xué)習(xí)分類考慮學(xué)習(xí)下國(guó)際象棋的問題。我們首先來考慮監(jiān)督學(xué)習(xí)。下棋智能體函數(shù)把棋盤局面作為輸入并返回對(duì)應(yīng)的棋子招式,因此,通過為它提供關(guān)于國(guó)際象棋棋盤局面的樣本來訓(xùn)練此函數(shù),其中每個(gè)樣本都標(biāo)有正確的走法。假設(shè)我們恰好有一個(gè)可用數(shù)據(jù)庫(kù),其中包括數(shù)百萬(wàn)局象棋大師的對(duì)局,每場(chǎng)對(duì)局都包含一系列的局面和走法。除少數(shù)例外,一般認(rèn)為獲勝者的招式即便不總是完美的,但也是較好的,因此得到一個(gè)很有前途的訓(xùn)練集。8.3.1從獎(jiǎng)勵(lì)中學(xué)習(xí)問題在于,與所有可能的國(guó)際象棋局面構(gòu)成的空間(約1040個(gè))相比,樣本相當(dāng)少(約108個(gè))。在新的對(duì)局中,人們很快就會(huì)遇到與數(shù)據(jù)庫(kù)中明顯不同的局面,此時(shí)經(jīng)過訓(xùn)練的智能體很可能會(huì)失效——不僅是因?yàn)樗恢雷约合缕宓哪繕?biāo)是什么(把對(duì)手將死),它甚至不知道這些招式對(duì)棋子的局面有什么影響。當(dāng)然,國(guó)際象棋只是真實(shí)世界的一小部分。對(duì)于更加實(shí)際的問題,需要更大的專業(yè)數(shù)據(jù)庫(kù),而它們實(shí)際上并不存在。8.3.1從獎(jiǎng)勵(lì)中學(xué)習(xí)取而代之的另一種選擇是使用強(qiáng)化學(xué)習(xí),在這種學(xué)習(xí)中,智能體與世界進(jìn)行互動(dòng),并不時(shí)收到反映其表現(xiàn)的獎(jiǎng)勵(lì)(強(qiáng)化)。例如,在國(guó)際象棋中,獲勝的獎(jiǎng)勵(lì)為1,失敗的獎(jiǎng)勵(lì)為0,平局的獎(jiǎng)勵(lì)為1/2。強(qiáng)化學(xué)習(xí)的目標(biāo)也是相同的:最大化期望獎(jiǎng)勵(lì)總和。想象一下你正在玩一個(gè)你不了解規(guī)則的新游戲,那么在采取若干個(gè)行動(dòng)后,裁判會(huì)告訴“你輸了”。這個(gè)簡(jiǎn)單例子就是強(qiáng)化學(xué)習(xí)的一個(gè)縮影。8.3.1從獎(jiǎng)勵(lì)中學(xué)習(xí)從設(shè)計(jì)者的角度來看,向智能體提供獎(jiǎng)勵(lì)信號(hào)通常比提供有標(biāo)簽的行動(dòng)樣本要容易得多。首先,獎(jiǎng)勵(lì)函數(shù)通常非常簡(jiǎn)潔且易于指定;它只需幾行代碼就可以告訴國(guó)際象棋智能體這局比賽是贏了還是輸了,或者告訴賽車智能體它贏得或輸?shù)袅吮荣?,或者它崩潰了。其次,我們不必是相關(guān)領(lǐng)域的專家,即不需要能在任何情況下提供正確動(dòng)作,但如果試圖應(yīng)用監(jiān)督學(xué)習(xí)的方法,那么這些將是必要的。8.3.1從獎(jiǎng)勵(lì)中學(xué)習(xí)事實(shí)證明,一點(diǎn)點(diǎn)的專業(yè)知識(shí)對(duì)強(qiáng)化學(xué)習(xí)會(huì)有很大的幫助??紤]國(guó)際象棋和賽車比賽的輸贏獎(jiǎng)勵(lì)(被稱為稀疏獎(jiǎng)勵(lì)),因?yàn)樵诮^大多數(shù)狀態(tài)下,智能體根本沒有得到任何有信息量的獎(jiǎng)勵(lì)信號(hào)。網(wǎng)球和板球等游戲中可以輕松地為每次擊球得分與跑壘得分提供額外的獎(jiǎng)勵(lì)。在賽車比賽中,可以獎(jiǎng)勵(lì)在賽道上朝著正確方向前進(jìn)的智能體。在學(xué)習(xí)爬行時(shí),任何向前的運(yùn)動(dòng)都是一種進(jìn)步。這些中間獎(jiǎng)勵(lì)將使學(xué)習(xí)變得更加容易。8.3.1從獎(jiǎng)勵(lì)中學(xué)習(xí)只要可以為智能體提供正確的獎(jiǎng)勵(lì)信號(hào),強(qiáng)化學(xué)習(xí)就提供了一種非常通用的構(gòu)建人工智能系統(tǒng)的方法。對(duì)模擬環(huán)境來說尤其如此,因?yàn)樵谶@種情況下,我們不乏獲得經(jīng)驗(yàn)的機(jī)會(huì)。在強(qiáng)化學(xué)習(xí)系統(tǒng)中引入深度學(xué)習(xí)作為工具,也使新的應(yīng)用成為可能,其中包括從原始視覺輸入學(xué)習(xí)玩電子游戲、控制機(jī)器人以及玩紙牌游戲。8.3.1從獎(jiǎng)勵(lì)中學(xué)習(xí)考慮一個(gè)簡(jiǎn)單情形:有少量動(dòng)作和狀態(tài),且環(huán)境完全可觀測(cè),其中智能體已經(jīng)有了能決定其動(dòng)作的固定策略。智能體將嘗試學(xué)習(xí)效用函數(shù)——從狀態(tài)出發(fā),采用策略得到的期望總折扣獎(jiǎng)勵(lì),稱之為被動(dòng)學(xué)習(xí)智能體。被動(dòng)學(xué)習(xí)任務(wù)類似于策略評(píng)估任務(wù),可以將其表述為直接效用估計(jì)、自適應(yīng)動(dòng)態(tài)規(guī)劃和時(shí)序差分學(xué)習(xí)。8.3.2被動(dòng)與主動(dòng)強(qiáng)化學(xué)習(xí)被動(dòng)學(xué)習(xí)智能體用固定策略來決定其行為,而主動(dòng)學(xué)習(xí)智能體可以自主決定采取什么動(dòng)作。從自適應(yīng)動(dòng)態(tài)規(guī)劃智能體入手,考慮如何對(duì)它進(jìn)行修改以利用這種新的自由度。智能體首先需要學(xué)習(xí)一個(gè)完整的轉(zhuǎn)移模型,其中包含所有動(dòng)作可能導(dǎo)致的結(jié)果及概率,而不僅僅是固定策略下的模型。8.3.2被動(dòng)與主動(dòng)強(qiáng)化學(xué)習(xí)假設(shè)效用函數(shù)可以用表格形式表示,其中每個(gè)狀態(tài)有一個(gè)輸出值。這種方法適用于狀態(tài)多達(dá)106的狀態(tài)空間,這對(duì)處在二維網(wǎng)格環(huán)境中的玩具模型來說足夠了。但在有更多狀態(tài)的現(xiàn)實(shí)環(huán)境中,其收斂速度會(huì)很慢。西洋雙陸棋比大多數(shù)真實(shí)世界的應(yīng)用簡(jiǎn)單,但它的狀態(tài)已經(jīng)多達(dá)約1020個(gè)。我們不可能為了學(xué)習(xí)如何玩游戲而簡(jiǎn)單地訪問每一個(gè)狀態(tài)。8.3.3學(xué)徒學(xué)習(xí)一些領(lǐng)域過于復(fù)雜,以至于很難在其中定義強(qiáng)化學(xué)習(xí)所需的獎(jiǎng)勵(lì)函數(shù)。例如,我們到底想讓自動(dòng)駕駛汽車做什么?當(dāng)然,希望它到達(dá)目的地花費(fèi)的時(shí)間不要大長(zhǎng),但它也不應(yīng)開得大快,以免帶來不必要的危險(xiǎn)或超速罰單;它應(yīng)該節(jié)省能源;它應(yīng)該避免碰撞或由于突然變速給乘客帶來的劇烈晃動(dòng),但它仍可以在緊急情況下猛踩利車,等等,為這些因素分配權(quán)重比較困難。更糟糕的是,人們幾乎必然會(huì)忘記一些重要的因素,例如它有義務(wù)為其他司機(jī)著想。忽略一個(gè)因素通常會(huì)導(dǎo)致學(xué)習(xí)系統(tǒng)為被忽略的因素分配一個(gè)極端值,在這種情況下,汽車可能會(huì)為了使剩余的因素最大化而進(jìn)行極不負(fù)責(zé)任的駕駛。8.3.3學(xué)徒學(xué)習(xí)一種解決問題的方法是在模擬中進(jìn)行大量的測(cè)試并關(guān)注有問題的行為,再嘗試通過修改獎(jiǎng)勵(lì)函數(shù)以消除這些行為。另一種解決方法是尋找有關(guān)適合的獎(jiǎng)勵(lì)函數(shù)的其他信息來源。這種信息來源之一是獎(jiǎng)勵(lì)函數(shù)已經(jīng)完成優(yōu)化(或幾乎完成優(yōu)化)的智能體的行為,在這個(gè)例子中來源可以是專業(yè)的人類駕駛員。學(xué)徒學(xué)習(xí)研究這樣的問題:在提供一些對(duì)專家行為觀測(cè)的基礎(chǔ)上,如何讓學(xué)習(xí)表現(xiàn)得較好。以專業(yè)駕駛算法為例,告訴學(xué)習(xí)者“像這樣去做”。至少有兩種方法來解決學(xué)徒學(xué)習(xí)問題。8.3.3學(xué)徒學(xué)習(xí)第一種方法:假設(shè)環(huán)境是可觀測(cè)的,對(duì)觀測(cè)到的狀態(tài)—?jiǎng)幼鲗?duì)應(yīng)用監(jiān)督學(xué)習(xí)方法以學(xué)習(xí)其中的策略,這被稱作模仿學(xué)習(xí)。它在機(jī)器人技術(shù)方面取得了成果,但也面臨學(xué)習(xí)較為脆弱這類問題:訓(xùn)練集中的微小誤差將隨著時(shí)間累積增長(zhǎng),并最終導(dǎo)致學(xué)習(xí)失敗。并且,模仿學(xué)習(xí)最多只能復(fù)現(xiàn)教師的表現(xiàn),而不能超越。模仿學(xué)習(xí)者常常不明白為什么它應(yīng)該執(zhí)行指定的動(dòng)作。8.3.3學(xué)徒學(xué)習(xí)第二種方法旨在理解原因:觀察專家的行為(和結(jié)果狀態(tài)),并試圖找出專家最大化的獎(jiǎng)勵(lì)函數(shù),然后可以得到一個(gè)關(guān)于這個(gè)獎(jiǎng)勵(lì)函數(shù)的最優(yōu)策略。人們期望這種方法能從相對(duì)較少的專家行為樣本中得到較為健壯的策略,畢竟強(qiáng)化學(xué)習(xí)本身是基于獎(jiǎng)勵(lì)函數(shù)(而不是策略或價(jià)值函數(shù))是對(duì)任務(wù)最簡(jiǎn)潔、最健壯和可遷移的定義這樣一種想法的。此外,如果學(xué)習(xí)者恰當(dāng)?shù)乜紤]了專家可能存在的次優(yōu)問題,那么通過優(yōu)化真實(shí)獎(jiǎng)勵(lì)函數(shù)的某個(gè)較為精確的近似函數(shù),學(xué)習(xí)者可能會(huì)比專家表現(xiàn)得更好。我們稱該方法為逆強(qiáng)化學(xué)習(xí):通過觀察策略來學(xué)習(xí)獎(jiǎng)勵(lì),而不是通過觀察獎(jiǎng)勵(lì)來學(xué)習(xí)策略。8.3.3學(xué)徒學(xué)習(xí)PART04深度強(qiáng)化學(xué)習(xí)對(duì)于強(qiáng)化學(xué)習(xí)來說,很多實(shí)際應(yīng)用問題的輸入數(shù)據(jù)是高維的,比如,對(duì)于自動(dòng)駕駛算法,要根據(jù)當(dāng)前的畫面決定汽車的行駛方向和速度。在機(jī)器學(xué)習(xí)和強(qiáng)化學(xué)習(xí)領(lǐng)域,Q函數(shù)是一個(gè)非常重要的概念,特別是在強(qiáng)化學(xué)習(xí)的Q學(xué)習(xí)(Q-learning)算法中。Q函數(shù)是用來評(píng)估在給定狀態(tài)下采取特定動(dòng)作的預(yù)期累積獎(jiǎng)勵(lì)的函數(shù),它是狀態(tài)-動(dòng)作值函數(shù)的一種。8.4深度強(qiáng)化學(xué)習(xí)Q函數(shù)(Q(s,a))表示在狀態(tài)(s)下采取動(dòng)作(a)后,從當(dāng)前狀態(tài)開始,按照某一策略進(jìn)行下去預(yù)期所能獲得的總回報(bào)的折現(xiàn)值。簡(jiǎn)單說,它衡量了某個(gè)狀態(tài)下執(zhí)行某動(dòng)作的好壞。Q函數(shù)通過不斷更新來學(xué)習(xí)最優(yōu)策略。8.4深度強(qiáng)化學(xué)習(xí)在Q學(xué)習(xí)中,有兩種常用的動(dòng)作選擇策略:①貪心策略:總是選擇最大Q值的動(dòng)作。②ε-貪婪策略:以ε的概率隨機(jī)選擇動(dòng)作,1-ε的概率選擇當(dāng)前最大Q值的動(dòng)作,這樣既探索又利用。Q學(xué)習(xí)的最終目標(biāo)是學(xué)習(xí)一個(gè)最優(yōu)策略,即在任意狀態(tài)下選擇動(dòng)作,使得長(zhǎng)期獎(jiǎng)勵(lì)最大化。通過不斷迭代更新Q函數(shù),最終收斂到最優(yōu)Q函數(shù),進(jìn)而找到最優(yōu)策略。它結(jié)合探索與利用,平衡了學(xué)習(xí)過程中的立即獎(jiǎng)勵(lì)與未來收益。8.4深度強(qiáng)化學(xué)習(xí)Q學(xué)習(xí)需要列舉出當(dāng)前所處環(huán)境所有可能的情況(稱為狀態(tài))和動(dòng)作,構(gòu)建一個(gè)Q函數(shù)二維表,然后迭代計(jì)算各種狀態(tài)下執(zhí)行各種動(dòng)作的預(yù)期最大值。這對(duì)于高維的輸入數(shù)據(jù)顯然是不現(xiàn)實(shí)的,因?yàn)榫S數(shù)高則狀態(tài)數(shù)量太多。一種解決方案是從高維數(shù)據(jù)中抽象出特征作為狀態(tài),但這種做法很大程度上依賴于人工特征的設(shè)計(jì),而且從畫面中提取目標(biāo)位置、速度等信息也很困難。8.4深度強(qiáng)化學(xué)習(xí)用一個(gè)函數(shù)來逼近價(jià)值函數(shù)或策略函數(shù)成為解決這個(gè)問題的另一種思路,函數(shù)的輸入是原始的狀態(tài)數(shù)據(jù),函數(shù)的輸出是價(jià)值函數(shù)值或策略函數(shù)值。類似于有監(jiān)督學(xué)習(xí),也可以用神經(jīng)網(wǎng)絡(luò)來擬合強(qiáng)化學(xué)習(xí)中的價(jià)值函數(shù)和策略函數(shù),這就是深度強(qiáng)化學(xué)習(xí)的基本思想。8.4深度強(qiáng)化學(xué)習(xí)早在1995年就有人進(jìn)行神經(jīng)網(wǎng)絡(luò)與強(qiáng)化學(xué)習(xí)的結(jié)合嘗試,人們用強(qiáng)化學(xué)習(xí)的TD-gammon算法來玩西洋雙陸棋,取得了比人類選手更好的成績(jī)。但后來將這種算法用于國(guó)際象棋、圍棋、西洋跳棋時(shí),效果卻非常差。分析表明,將Q學(xué)習(xí)這樣的免模型強(qiáng)化學(xué)習(xí)算法與非線性價(jià)值函數(shù)逼近結(jié)合使用時(shí),會(huì)導(dǎo)致訓(xùn)練時(shí)Q網(wǎng)絡(luò)無法收斂到Q函數(shù)極大值。8.4深度強(qiáng)化學(xué)習(xí)深度學(xué)習(xí)出現(xiàn)之后,將深度神經(jīng)網(wǎng)絡(luò)用于強(qiáng)化學(xué)習(xí)是一個(gè)很自然的想法。在計(jì)算機(jī)視覺、語(yǔ)音識(shí)別領(lǐng)域,深度神經(jīng)網(wǎng)絡(luò)可以直接從場(chǎng)景數(shù)據(jù)如圖像、聲音中學(xué)習(xí)到高層特征,實(shí)現(xiàn)端到端的學(xué)習(xí),這比人工設(shè)計(jì)的特征更為強(qiáng)大和通用。8.4深度強(qiáng)化學(xué)習(xí)基于價(jià)值函數(shù)的深度強(qiáng)化學(xué)習(xí)的典型代表是DQN(深度Q網(wǎng)絡(luò)),由DeepMind公司在2013年提出,2015年其改進(jìn)型發(fā)表在《自然界》雜志上。DQN算法是深度強(qiáng)化學(xué)習(xí)真正意義上的開山之作,這篇文章用Atari游戲?qū)λ惴ㄟM(jìn)行了測(cè)試,算法用深度卷積神經(jīng)網(wǎng)絡(luò)擬合價(jià)值函數(shù)(Q函數(shù)),一般是Q函數(shù)。Q網(wǎng)絡(luò)的輸入為經(jīng)過處理后的原始游戲場(chǎng)景數(shù)據(jù)(最近4幀游戲畫面),輸出為在這種狀態(tài)下執(zhí)行各種動(dòng)作時(shí)所能得到的Q函數(shù)的極大值。網(wǎng)絡(luò)結(jié)構(gòu)如圖8-7所示。8.4深度強(qiáng)化學(xué)習(xí)

圖8-7用深度卷積神經(jīng)網(wǎng)絡(luò)來擬合Q函數(shù)的網(wǎng)絡(luò)結(jié)構(gòu)8.4深度強(qiáng)化學(xué)習(xí)實(shí)驗(yàn)結(jié)果證明了DQN的收斂性,另外在實(shí)驗(yàn)中還比較了DQN與其他各種算法,以及人類選手的性能。在絕大部分游戲上,DQN超過了之前最好的算法,在部分游戲上,甚至超過了人類玩家的水平。DQN實(shí)現(xiàn)了端到端學(xué)習(xí),無需人工提取狀態(tài)和特征,整合了深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí),深度學(xué)習(xí)用于感知任務(wù),可以解決復(fù)雜環(huán)境下的決策問題,方法具有通用性。8.4深度強(qiáng)化學(xué)習(xí)DQN中的深度神經(jīng)網(wǎng)絡(luò)是卷積神經(jīng)網(wǎng)絡(luò),不具有長(zhǎng)時(shí)間的記憶能力。為此,有人提出了一種整合了循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的DQN算法(DRQN),這種方法在CNN的卷積層之后加入了循環(huán)層(LSTM單元),能夠記住之前的信息。8.4深度強(qiáng)化學(xué)習(xí)01強(qiáng)化學(xué)習(xí)的概念02強(qiáng)化學(xué)習(xí)基礎(chǔ)03強(qiáng)化學(xué)習(xí)分類04深度強(qiáng)化學(xué)習(xí)目錄/CONTENTS大語(yǔ)言模型基礎(chǔ)第8章強(qiáng)化學(xué)習(xí)方法浙江省普通本科高?!笆奈濉敝攸c(diǎn)教材建設(shè)成果之一大語(yǔ)言模型基礎(chǔ)大語(yǔ)言模型基礎(chǔ)周蘇教授QQ:81505050第9章大模型智能體隨著計(jì)算能力的提升和大數(shù)據(jù)的出現(xiàn),人工智能有了顯著的發(fā)展,深度學(xué)習(xí)和機(jī)器學(xué)習(xí)技術(shù)的突破使人工智能在視覺識(shí)別、語(yǔ)言處理等領(lǐng)域取得驚人的成就,隨之興起的智能體標(biāo)志著人工智能從單純的任務(wù)執(zhí)行者轉(zhuǎn)變?yōu)槟軌虼砘騾f(xié)助人類做出決策的智能實(shí)體,它們?cè)诶斫夂皖A(yù)測(cè)人類意圖、提高決策質(zhì)量等方面發(fā)揮著越來越重要的作用。智能體是人工智能領(lǐng)域中的一個(gè)重要概念,它指的是一個(gè)能自主活動(dòng)的軟件或者硬件實(shí)體。任何獨(dú)立的能夠思考并可以與環(huán)境交互的實(shí)體都可以抽象為智能體。第9章大模型智能體大模型在人工智能應(yīng)用領(lǐng)域的重大突破,給智能體帶來了新的發(fā)展機(jī)會(huì)。像ChatGPT這樣的基于Transformer架構(gòu)的大模型,成為為智能體裝備的擁有廣泛任務(wù)能力的“大腦”,從推理、規(guī)劃和決策到行動(dòng)都使智能體展現(xiàn)出前所未有的能力。基于大模型的智能體將廣泛深刻地影響人們生活工作的方式,由于可以更好地理解和應(yīng)對(duì)復(fù)雜多變的現(xiàn)實(shí)世界場(chǎng)景,具備更強(qiáng)的智能和自適應(yīng)能力。因此,智能體被認(rèn)為是通往通用人工智能(AGI)的必經(jīng)之路。第9章大模型智能體01智能體和環(huán)境02智能體的良好行為03環(huán)境的本質(zhì)04智能體的結(jié)構(gòu)目錄/CONTENTS05構(gòu)建大模型智能體06AIGCPART01智能體和環(huán)境智能體通過傳感器感知環(huán)境并通過執(zhí)行器作用于該環(huán)境的事物。我們從檢查智能體、環(huán)境以及它們之間的耦合,觀察到某些智能體比其他智能體表現(xiàn)得更好,自然引出了理性智能體的概念,即行為盡可能好。智能體的行為取決于環(huán)境的性質(zhì),環(huán)境可以是一切,甚至是整個(gè)宇宙。實(shí)際上,設(shè)計(jì)智能體時(shí)關(guān)心的只是宇宙中影響智能體感知以及受智能體動(dòng)作影響的某一部分的狀態(tài)。

圖9-2智能體通過傳感器和執(zhí)行器與環(huán)境交互9.1智能體和環(huán)境一個(gè)人類智能體以眼睛、耳朵和其他器官作為傳感器,以手、腿、聲道等作為執(zhí)行器。而機(jī)器人智能體可能以攝像頭和紅外測(cè)距儀作為傳感器,各種電動(dòng)機(jī)作為執(zhí)行器。軟件智能體接收文件內(nèi)容、網(wǎng)絡(luò)數(shù)據(jù)包和人工輸入(鍵盤/鼠標(biāo)/觸摸屏/語(yǔ)音)作為傳感輸入,并通過寫入文件、發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包、顯示信息或生成聲音對(duì)環(huán)境進(jìn)行操作。9.1智能體和環(huán)境術(shù)語(yǔ)“感知”用來表示智能體的傳感器知覺的內(nèi)容。一般而言,一個(gè)智能體在任何給定時(shí)刻的動(dòng)作選擇,可能取決于其內(nèi)置知識(shí)和迄今為止觀察到的整個(gè)感知序列,而不是它未感知到的任何事物。從數(shù)學(xué)上講,智能體的行為由智能體函數(shù)描述,該函數(shù)將任意給定的感知序列映射到一個(gè)動(dòng)作。9.1智能體和環(huán)境可以想象,將描述任何給定智能體的智能體函數(shù)制成表格,對(duì)大多數(shù)智能體來說這個(gè)表格會(huì)非常大,事實(shí)上是無限的(除非限制所考慮的感知序列的長(zhǎng)度),當(dāng)然,該表只是該智能體的外部特征。在內(nèi)部,人工智能體的智能體函數(shù)由智能體程序?qū)崿F(xiàn)。智能體函數(shù)是一種抽象的數(shù)學(xué)描述,而智能體程序是一個(gè)可以在某些物理系統(tǒng)中運(yùn)行的具體實(shí)現(xiàn)。9.1智能體和環(huán)境我們來看一個(gè)簡(jiǎn)單的例子——真空吸塵器。在一個(gè)由方格組成的世界中,包含一個(gè)機(jī)器人真空吸塵器智能體,其中的方格可能是臟的,也可能是干凈的??紤]只有兩個(gè)方格——方格A和方格B——的情況。真空吸塵器智能體可以感知它在哪個(gè)方格中,以及方格中是否干凈。從方格A開始,智能體可選的操作包括向右移動(dòng)、向左移動(dòng)、吸塵或什么都不做(其實(shí),真正的機(jī)器人不太可能會(huì)有“向右移動(dòng)”和“向左移動(dòng)”這樣的動(dòng)作,而是采用“向前旋轉(zhuǎn)輪子”和“向后旋轉(zhuǎn)輪子”這樣的動(dòng)作)。一個(gè)非常簡(jiǎn)單的智能體函數(shù)如下:如果當(dāng)前方格是臟的,就吸塵;否則,移動(dòng)到另一個(gè)方格。9.1智能體和環(huán)境PART02智能體的良好行為人工智能通常通過結(jié)果來評(píng)估智能體的行為。當(dāng)智能體進(jìn)入環(huán)境時(shí),它會(huì)根據(jù)接受的感知產(chǎn)生一個(gè)動(dòng)作序列,這會(huì)導(dǎo)致環(huán)境經(jīng)歷一系列的狀態(tài)。如果序列是理想的,則智能體表現(xiàn)良好,這個(gè)概念由性能度量描述,評(píng)估任何給定環(huán)境狀態(tài)的序列。9.2智能體的良好行為人類有適用于自身的理性概念,它與成功選擇產(chǎn)生環(huán)境狀態(tài)序列的行動(dòng)有關(guān),而這些環(huán)境狀態(tài)序列從人類的角度來看是可取的。但是,機(jī)器沒有自己的欲望和偏好,至少在最初,性能度量是在機(jī)器設(shè)計(jì)者或者機(jī)器受眾的頭腦中。一些智能體設(shè)計(jì)具有性能度量的顯式表示,但它也可能是完全隱式的。智能體盡管會(huì)做正確的事情,但它并不知道這是為什么。9.2.1性能度量有時(shí),正確地制定性能度量可能非常困難。例如,考慮真空吸塵器智能體,我們可能會(huì)用單個(gè)8小時(shí)班次中清理的灰塵量來度量其性能。然而,一個(gè)理性的智能體可以通過清理灰塵,然后將其全部?jī)A倒在地板上,然后再次清理,如此反復(fù),從而最大化這一性能度量值。更合適的性能度量是獎(jiǎng)勵(lì)擁有干凈地板的智能體。例如,在每個(gè)時(shí)間步中,每個(gè)干凈方格可以獲得1分(可能會(huì)對(duì)耗電和產(chǎn)生的噪聲進(jìn)行懲罰)。作為一般規(guī)則,更好的做法是根據(jù)一個(gè)人在環(huán)境中真正想要實(shí)現(xiàn)的目標(biāo),而不是根據(jù)一個(gè)人認(rèn)為智能體應(yīng)該如何表現(xiàn)來設(shè)計(jì)性能度量。9.2.1性能度量即使避免了明顯的缺陷,一些棘手的問題仍然存在。例如,“干凈地板”的概念是基于一段時(shí)間內(nèi)的平均整潔度。然而,兩個(gè)不同的智能體可以達(dá)到相同的平均整潔度,其中一個(gè)智能體工作始終保持一般水平,而另一個(gè)智能體短時(shí)間工作效率很高,但需要長(zhǎng)時(shí)間的休息。哪種工作方式更可取,這似乎是保潔工作的好課題,而實(shí)際上還是一個(gè)具有深遠(yuǎn)影響的哲學(xué)問題。9.2.1性能度量通常,理性取決于以下4個(gè)方面:(1)定義成功標(biāo)準(zhǔn)的性能度量;(2)智能體對(duì)環(huán)境的先驗(yàn)知識(shí);(3)智能體可以執(zhí)行的動(dòng)作;(4)智能體到目前為止的感知序列。于是,對(duì)理性智能體的定義是:對(duì)于每個(gè)可能的感知序列,給定感知序列提供的證據(jù)和智能體所擁有的任何先驗(yàn)知識(shí),理性智能體應(yīng)該選擇一個(gè)期望最大化其性能度量的動(dòng)作。9.2.2理性考慮一個(gè)簡(jiǎn)單的真空吸塵器智能體,如果一個(gè)方格是臟的就清理它,如果不臟就移動(dòng)到另一個(gè)方格,它是理性智能體嗎?假設(shè):·在1000個(gè)時(shí)間步的生命周期內(nèi),性能度量在每個(gè)時(shí)間步為每個(gè)干凈的方格獎(jiǎng)勵(lì)1分;·環(huán)境的“地理信息”是先驗(yàn)的,但灰塵的分布和智能體的初始位置不是先驗(yàn)的,干凈的方格會(huì)繼續(xù)保持干凈,吸塵動(dòng)作會(huì)清理當(dāng)前方格,向左或向右的動(dòng)作使智能體移動(dòng)一個(gè)方格,如果該動(dòng)作會(huì)讓智能體移動(dòng)到環(huán)境之外,智能體將保持在原來的位置;9.2.2理性·可用的動(dòng)作僅有向右、向左和吸塵;·智能體能夠正確感知其位置以及該位置是否有灰塵。在這種情況下,智能體確實(shí)是理性的,它的預(yù)期性能至少與任何其他智能體一樣。9.2.2理性顯然,同一個(gè)智能體在不同情況下可能會(huì)變得不理性。例如,在清除所有灰塵后,該智能體會(huì)毫無必要地反復(fù)來回;如果考慮對(duì)每個(gè)動(dòng)作罰1分,那么智能體的表現(xiàn)就會(huì)很差。在確定所有方格都干凈的情況下,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論