眾所周知,人工智能技術(shù)正在改變著世界,并已經(jīng)成為真正的世紀(jì)機(jī)遇。作為一種科學(xué)思想,人工智能的起源至少可以追溯到700多年前。但是作為一項理論計算,人工智能概念的正式提出應(yīng)當(dāng)歸功于艾倫·麥席森·圖靈(Alan M. Turing)在1948年撰寫但未發(fā)表的論文Intelligent Machinery以及在1950年發(fā)表的論文Computing Machinery and Intelligence。這兩篇論文點燃了科學(xué)家用機(jī)器模擬人類智能的夢想,而通用智能則成為這一夢想追求的最高目標(biāo)。在過去的70多年里,人工智能先后經(jīng)歷了狂熱寒冬復(fù)興,最終進(jìn)入了平穩(wěn)的發(fā)展階段。時至今日,人工智能的概念已經(jīng)深入人心。ChatGPT和元學(xué)習(xí)的異軍突起,更加堅定了科學(xué)家追求通用智能的信念。
元學(xué)習(xí)的英文翻譯為Meta Learning,本質(zhì)是learning to learn,即學(xué)會學(xué)習(xí)。這是一種面向過程的新型高端機(jī)器學(xué)習(xí)算法,我們團(tuán)隊于2020年開始嘗試這方面的研究和探索。作為新型高端算法,元學(xué)習(xí)的研究不僅涉及復(fù)雜模型推導(dǎo),而且涉及大規(guī)模編程。在相關(guān)課題研究中,團(tuán)隊的編程思維和代碼調(diào)試能力都經(jīng)歷了非常大的挑戰(zhàn),最終完成了一系列的算法創(chuàng)新。我們和學(xué)生一起探索、進(jìn)步。他們作為團(tuán)隊的生力軍,一直都是課題研究的中堅力量,F(xiàn)在他們都已經(jīng)以優(yōu)異的成績畢業(yè),找到了理想的工作,投入了新的研究課題。新的學(xué)生又是從零開始,團(tuán)隊急需引導(dǎo)他們形成元學(xué)習(xí)的編程思維。從編程平臺搭建到開發(fā)環(huán)境配置,給學(xué)生們多一些勇氣和鼓勵,他們最終也將完成對大規(guī)模代碼的理解與調(diào)試。
為了幫助更多的讀者,本書選擇以Chelsea Finn創(chuàng)立的模型無關(guān)元學(xué)習(xí)(MAML)算法程序為主線,為讀者設(shè)計了循序漸進(jìn)的閱讀體驗。全書共5章,第1章的聯(lián)合訓(xùn)練問題與第2章的任務(wù)構(gòu)建問題是元學(xué)習(xí)研究的基本問題,建模思路和算法思想通俗易懂,代碼注釋極為詳細(xì),確保讀者開篇即可輕松入門。第3章的過程建模問題與第4章的輸入輸出問題代表了元學(xué)習(xí)研究的核心問題,因為已經(jīng)有了前兩章的研究基礎(chǔ),讀者仍然可以在較短時間內(nèi)收獲進(jìn)步的喜悅。第5章解釋的應(yīng)用拓展問題是元學(xué)習(xí)研究的根本問題,元學(xué)習(xí)過程與人類的學(xué)習(xí)過程比較相似,在算法程序中體現(xiàn)了學(xué)前準(zhǔn)備、預(yù)習(xí)、快速學(xué)習(xí)等核心環(huán)節(jié)。
本書特色
(1) 內(nèi)容通俗易懂。本書貼近初學(xué)者的實際情況,完整復(fù)現(xiàn)了團(tuán)隊在元學(xué)習(xí)算法研究初期對代碼問題和算法思想的理解。對人工智能感興趣但缺少專業(yè)指導(dǎo)的讀者,開篇即可輕松入門,能在較短時間內(nèi)收獲進(jìn)步的喜悅。
(2) 有趣,但不缺乏挑戰(zhàn)。元學(xué)習(xí)過程與人類的學(xué)習(xí)過程比較相似,是非常有趣的算法。本書從最初級的算法思想開始,循序漸進(jìn)地幫助初學(xué)者全方位、系統(tǒng)理解元學(xué)習(xí)的有趣過程。同時,也為讀者留出了部分思考空間,積極引導(dǎo)讀者嘗試探索,在挑戰(zhàn)中逐步超越自我。
(3) 既是放大鏡,又是加速器。本書為讀者提供了一枚放大鏡。透過本書,讀者將有能力解釋模型無關(guān)元學(xué)習(xí)算法程序的所有細(xì)節(jié)。作為深度學(xué)習(xí)的拓展應(yīng)用,元學(xué)習(xí)算法的實現(xiàn)涉及一系列高級編程技巧。這些編程技巧是讀者成長的加速器,可以在較短時間內(nèi)形成編程思維,提高編程效率。
致謝
首先對MAML算法創(chuàng)始人Chelsea Finn的免費授權(quán)許可深表謝意!免費授權(quán)許可包含在4.1.2節(jié)內(nèi),讀者也可在隨書贈送的源代碼目錄中查看。LICENSE文件(授權(quán)許可)的源代碼目錄中還包含筆者對原創(chuàng)者Chelsea Finn的英文致謝視頻! 為表達(dá)對原創(chuàng)代碼的充分尊重,遵照原創(chuàng)者Chelsea Finn的要求,現(xiàn)將LICENSE文件中包含的免費授權(quán)許可突出展示如下:
MIT License
Copyright (c) 2017 Chelsea Finn
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS",WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED,INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,DAMAGES OR OTHER LIABILITY,WHETHER IN AN ACTION OF CONTRACT,TORT OR OTHERWISE,ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
再次感謝原創(chuàng)者Chelsea Finn的無私分享。這一學(xué)術(shù)精神值得敬重,同時也需要延續(xù)。
筆者團(tuán)隊正在開發(fā)新的元學(xué)習(xí)模型,完成后也將無償分享給讀者。
本書復(fù)現(xiàn)了團(tuán)隊在元學(xué)習(xí)算法研究初期對代碼問題和算法思想的理解和部分可公開的討論結(jié)果。這些結(jié)果得益于上海應(yīng)用技術(shù)大學(xué)、中國科學(xué)院、印度國家科學(xué)院提供的研究平臺,在此鄭重感謝相關(guān)領(lǐng)導(dǎo)的大力支持。一部分研究生和優(yōu)秀本科生曾經(jīng)參與MAML算法程序的深入探討,對他們分享的研究心得表示感謝!
感謝家人,家人的理解和支持一直是我們前行的勇氣和動力。
由于編者水平有限,書中不妥或疏漏之處在所難免,歡迎讀者批評指正。
編者
2024年12月
第1章聯(lián)合訓(xùn)練問題
1.1問題描述
1.1.1以任務(wù)為樣本
1.1.2面向?qū)W習(xí)過程
1.1.3快速適應(yīng)新任務(wù)
1.2建模思路
1.2.1局部最優(yōu)模型
1.2.2全局最優(yōu)模型
1.2.3模型前置代碼
1.3算法思想
1.3.1外層循環(huán)算法
1.3.2內(nèi)層循環(huán)算法
1.3.3權(quán)重更新代碼
1.4最優(yōu)化方法
1.4.1準(zhǔn)備優(yōu)化工具
1.4.2搭建優(yōu)化平臺
1.4.3最優(yōu)化科學(xué)計算包
1.5元優(yōu)化機(jī)制
1.5.1環(huán)境變量的配置
1.5.2環(huán)境變量的驗證
1.5.3元優(yōu)化機(jī)制
第2章任務(wù)構(gòu)建問題
2.1問題描述
2.1.1小樣本單元
2.1.2有限監(jiān)督數(shù)據(jù)
2.1.3支撐集與查詢集
2.2建模思路
2.2.1任務(wù)分布模型
2.2.2監(jiān)督學(xué)習(xí)模型
2.2.3模型前置代碼
2.3算法思想
2.3.1單元劃分算法
2.3.2標(biāo)簽分配算法
2.3.3任務(wù)生成算法
2.4最優(yōu)化方法
2.4.1創(chuàng)建優(yōu)化環(huán)境
2.4.2更新優(yōu)化系統(tǒng)
2.4.3安裝編程內(nèi)核
2.5元優(yōu)化機(jī)制
2.5.1代碼編輯器
2.5.2元優(yōu)化程序
2.5.3元優(yōu)化機(jī)制
第3章過程建模問題
3.1問題描述
3.1.1基準(zhǔn)數(shù)據(jù)集
3.1.2圖像尺寸調(diào)整
3.1.3知識獲取過程
3.2建模思路
3.2.1圖像加載模型
3.2.2尺寸調(diào)整模型
3.2.3空間插值模型
3.3算法思想
3.3.1文件保存算法
3.3.2目錄創(chuàng)建算法
3.3.3文件讀取算法
3.4最優(yōu)化方法
3.4.1隨機(jī)抽樣過程
3.4.2樣本學(xué)習(xí)過程
3.4.3最優(yōu)化過程
3.5元優(yōu)化機(jī)制
3.5.1元優(yōu)化過程
3.5.2拓展優(yōu)化環(huán)境
3.5.3最大池化過程
第4章輸入輸出問題
4.1問題描述
4.1.1源代碼下載
4.1.2免費授權(quán)許可
4.1.3代碼的組成部分
4.2建模思路
4.2.1系統(tǒng)架構(gòu)模型
4.2.2輸入輸出模型
4.2.3輸出評價模型
4.3算法思想
4.3.1輸入生成算法
4.3.2輸出生成算法
4.3.3運行控制算法
4.4最優(yōu)化方法
4.4.1優(yōu)化庫包的導(dǎo)入
4.4.2生成器的初始化
4.4.3目錄的生成
4.5元優(yōu)化機(jī)制
4.5.1元優(yōu)化目錄
4.5.2元優(yōu)化的輸入
4.5.3元優(yōu)化的輸出
第5章應(yīng)用拓展問題
5.1問題描述
5.1.1前述問題回顧
5.1.2元學(xué)習(xí)系統(tǒng)網(wǎng)絡(luò)
5.1.3MAML的定義
5.2建模思路
5.2.1系統(tǒng)模型拓展
5.2.2梯度模型拓展
5.2.3快速梯度下降
5.3算法思想
5.3.1輸入層的權(quán)值
5.3.2隱含層的權(quán)值
5.3.3網(wǎng)絡(luò)構(gòu)造算法
5.3.4從卷積層拓展
5.3.5從隱含層拓展
5.4最優(yōu)化方法
5.4.1學(xué)習(xí)日志的拓展
5.4.2日志讀取應(yīng)用
5.4.3優(yōu)化器的拓展
5.4.4優(yōu)化器的應(yīng)用
5.4.5顯示優(yōu)化過程
5.5元優(yōu)化機(jī)制
5.5.1虛擬環(huán)境的拓展
5.5.2模塊代碼的調(diào)試
5.5.3元任務(wù)的理解
5.5.4元訓(xùn)練的機(jī)制
5.5.5元測試的機(jī)制
后記