本書全面介紹神經(jīng)網(wǎng)絡、機器學習和深度學習的基本概念、模型和方法,同時也涉及了深度學習中許多最新進展,附錄中還提供了相關數(shù)學分支的簡要介紹,旨在讓讀者知其然還要知其所以然。
1)復旦大學邱錫鵬教授基于優(yōu)秀科研和教學實踐,歷時5年時間靜心寫作、不斷完善,深受好評的深度學習講義“蒲公英書”正式版!
2)字節(jié)跳動AI實驗室主任李航、南京大學周志華教授、復旦大學吳立德教授強力推薦。
3)系統(tǒng)整理深度學習的知識體系,從機器學習基礎、神經(jīng)網(wǎng)絡模型以及概率圖模型三個層面來串聯(lián)深度學習所涉及的知識點,兼具系統(tǒng)性、條理性和全面性。
4)適合自學與入門。在網(wǎng)站上配套了教學PPT以及針對每章知識點的編程練習,理論和實踐結合,加深讀者對知識的理解,并提高問題求解能力。
5)內容安排由淺入深,語言表達通俗易懂,排版布局圖文并茂,全彩印刷裝幀精美。
◆ 推薦序◆
很高興為邱錫鵬教授的《神經(jīng)網(wǎng)絡與深度學習》一書寫序.
近年來由于阿爾法圍棋戰(zhàn)勝人類頂級高手新聞的轟動效應,讓人工智能一下子進入了尋常百姓家,成為家喻戶曉的熱詞.阿爾法圍棋能取得如此成功的關鍵技術之一,正是所謂的深度學習.而其實在阿爾法圍棋出現(xiàn)之前,以深度學習為代表的人工智能技術已經(jīng)在模式識別、計算機視覺、語音識別與生成、自然語言處理、機器翻譯等方面取得了重要的進步.也因此,2018年有計算機領域諾貝爾獎之稱的圖靈獎頒給了對深度學習作出重要貢獻的三位科學家:YoshuaBengio、GeoffeyHinton和YannLeCun.
邱錫鵬教授的《神經(jīng)網(wǎng)絡與深度學習》一書較全面地介紹了神經(jīng)網(wǎng)絡、機器學習和深度學習的基本概念、模型和方法,同時也涉及深度學習中許多最新進展.書后還提供了相關數(shù)學分支的簡要介紹,以供讀者需要時參考.
本書電子版已在GitHub上開放共享,得到廣泛好評,相信此書的出版可以給有意了解或進入這一頗有前途領域的讀者提供一本很好的參考書.基本的深度學習相當于函數(shù)逼近問題,即函數(shù)或曲面的擬合,所不同的是,這里用作基函數(shù)的是非線性的神經(jīng)網(wǎng)絡函數(shù),而原來數(shù)學中用的則是多項式、三角多項式、B-spline、一般spline以及小波函數(shù)等的線性組合.
由于神經(jīng)網(wǎng)絡的非線性和復雜性(要用許多結構參數(shù)和連接權值來描述),它有更強的表達能力,即從給定的神經(jīng)網(wǎng)絡函數(shù)族中可能找到對特定數(shù)據(jù)集擬合得更好的神經(jīng)網(wǎng)絡.相信這正是深度學習方法能得到一系列很好結果的重要原因.直觀上很清楚,當你有更多的選擇時,你有可能作出更好的選擇.當然,要從非常非常多的選擇中找到那個更好的選擇并不容易.
這里既涉及設計合適的神經(jīng)網(wǎng)絡類型,也涉及從該類型的神經(jīng)網(wǎng)絡中找出好的(即擬合誤差小的)特定神經(jīng)網(wǎng)絡的方法.后者正是數(shù)學中最優(yōu)化分支所研究的問題.從數(shù)學角度看,目前深度學習中所用的優(yōu)化算法還是屬于比較簡單的梯度下降法.許多數(shù)學中已有的更復雜的算法,由于高維數(shù)問題都還沒有得到應用.本書中對這兩方面都有很好的介紹.相信隨著研究的不斷發(fā)展,今后一定會提出更多新的神經(jīng)網(wǎng)絡和新的優(yōu)化算法.
所謂成也蕭何敗也蕭何,神經(jīng)網(wǎng)絡的非線性和復雜性(即要用大量參數(shù)來描述,在深度網(wǎng)絡場合其個數(shù)動輒上萬、百萬甚至更多)使得雖然通過大量的標注數(shù)據(jù)經(jīng)過深度學習可以得到一個結果誤差很小的神經(jīng)網(wǎng)絡,但要用它來進行解釋卻十分困難.其實這也是長期困擾神經(jīng)網(wǎng)絡方法的一個問題,使用深度神經(jīng)網(wǎng)絡的深度學習方法也概莫能外.
難于解釋相當于知其然不知其所以然.這對有些應用而言是可以的,但對有些可能造成嚴重后果的應用而言則有很大問題.一般而言,人們除了希望知其然,也會希望能知其所以然.
近來也有學者發(fā)現(xiàn),一個精度很高的神經(jīng)網(wǎng)絡,去改變它的幾個(甚至一個)參數(shù),就會使該網(wǎng)絡的性能下降許多.換言之,深度學習方法的魯棒性也有待研究.
總之,本書介紹的基于神經(jīng)網(wǎng)絡的深度學習方法是近年來經(jīng)過大量實踐并取得很好成果的一種很通用的方法,也是近年來人工智能領域中最活躍的分支之一.相信無論在方法本身的發(fā)展上,抑或在新領域應用的研發(fā)上,都會呈現(xiàn)出一派欣欣向榮的氣象.
吳立德
于上!偷┐髮W
2019年8月17日
◆ 前言◆
近年來,以機器學習、知識圖譜為代表的人工智能技術逐漸變得普及.從車牌識別、人臉識別、語音識別、智能助手、推薦系統(tǒng)到自動駕駛,人們在日常生活中都可能有意無意地用到了人工智能技術.這些技術的背后都離不開人工智能領域研究者的長期努力.特別是最近這幾年,得益于數(shù)據(jù)的增多、計算能力的增強、學習算法的成熟以及應用場景的豐富,越來越多的人開始關注這個“嶄新”的研究領域:深度學習.深度學習以神經(jīng)網(wǎng)絡為主要模型,一開始用來解決機器學習中的表示學習問題.但是由于其強大的能力,深度學習越來越多地用來解決一些通用人工智能問題,比如推理、決策等.目前,深度學習技術在學術界和工業(yè)界取得了廣泛的成功,受到高度重視,并掀起新一輪的人工智能熱潮.
然而,我們也應充分意識到目前以深度學習為核心的各種人工智能技術和“人類智能”還不能相提并論.深度學習需要大量的標注數(shù)據(jù),和人類的學習方式差異性很大.雖然深度學習取得了很大的成功,但是深度學習還不是一種可以解決一系列復雜問題的通用智能技術,而是可以解決單個問題的一系列技術.比如可以打敗人類的AlphaGo只能下圍棋,而不會做簡單的算術運算.想要達到通用人工智能依然困難重重.
本書的寫作目的是使得讀者能夠掌握神經(jīng)網(wǎng)絡與深度學習技術的基本原理,知其然還要知其所以然.全書共15章.第1章是緒論,概要介紹人工智能、機器學習和深度學習,使讀者全面了解相關知識.第2、3章介紹機器學習的基礎知識.第4~6章分別講述三種主要的神經(jīng)網(wǎng)絡模型:前饋神經(jīng)網(wǎng)絡、卷積神經(jīng)網(wǎng)絡和循環(huán)神經(jīng)網(wǎng)絡.第7章介紹神經(jīng)網(wǎng)絡的優(yōu)化與正則化方法.第8章介紹神經(jīng)網(wǎng)絡中的注意力機制和外部記憶.第9章簡要介紹一些無監(jiān)督學習方法.第10章介紹一些模型獨立的機器學習方法:集成學習、自訓練和協(xié)同訓練、多任務學習、遷移學習、終身學習、元學習等,這些都是目前深度學習的難點和熱點問題.第11章介紹概率圖模型的基本概念,為后面的章節(jié)進行鋪墊.第12章介紹兩種早期的深度學習模型:玻爾茲曼機和深度信念網(wǎng)絡.第13章介紹最近兩年發(fā)展十分迅速的深度生成模型:變分自編碼器和生成對抗網(wǎng)絡.第14章介紹深度強化學習的知識.第15章介紹應用十分廣泛的序列生成模型.
2015年復旦大學計算機學院開設了“神經(jīng)網(wǎng)絡與深度學習”課程.講好深度學習課程并不是一件容易的事,當時還沒有關于深度學習的系統(tǒng)介紹,而且課程涉及的知識點非常多并且比較雜亂,和實踐結合也十分緊密.作為任課教師,我嘗試梳理了深度學習的知識體系,并寫了一本講義放在網(wǎng)絡上.雖然現(xiàn)在看起來當時對深度學習的理解仍然十分粗淺,且講義存在很多錯誤,但依然受到了很多熱心網(wǎng)友的鼓勵.2016年年初,機械工業(yè)出版社華章公司的姚蕾編輯多次拜訪并希望我能將這個講義整理成書.我一方面被姚蕾編輯的誠意打動,另一方面也確實感到應該有一本面向在校學生和相關從業(yè)人員的關于深度學習的專門書籍,因此最終有了正式出版的意愿.但我依然低估了寫書的難度,一方面是深度學習的發(fā)展十分迅速,而自己關于深度學習的認知也在不斷變化,導致已寫好的內容經(jīng)常需要修改;另一方面是平時的科研工作十分繁忙,很難抽出大段的時間來靜心寫作,因此斷斷續(xù)續(xù)的寫作一直拖延至今.
我理想中著書立說的境界是在某一個領域有自己的理論體系,將各式各樣的方法都統(tǒng)一到自己的體系下,并可以容納大多數(shù)技術,從新的角度來重新解釋這些技術.本書顯然還達不到這樣的水平,但希望能結合自身的經(jīng)驗,對神經(jīng)網(wǎng)絡和深度學習的相關知識進行梳理、總結,通過寫書這一途徑,也促使自己能夠更加深入地理解深度學習這一領域,提高自身的理論水平.
本書能夠完成,首先感謝我的導師吳立德教授,他對深度學習的獨到見解和深入淺出的講授,使得我對深度學習有了更深層次的認識,也感謝復旦大學計算機學院的黃萱菁教授和薛向陽教授的支持和幫助.本書在寫作時將書稿放在網(wǎng)絡上,也得到很多網(wǎng)友的幫助,特別感謝王利鋒、林同茂、張鈞瑞、李浩、胡可鑫、韋鵬輝、徐國海、侯宇蓬、任強、王少敬、肖耀、李鵬等人指出了本書初稿的錯誤或提出了富有建設性的意見.此外,本書在寫作過程中參考了互聯(lián)網(wǎng)上大量的優(yōu)秀資料,如維基百科、知乎、Quora等網(wǎng)站.
另外,我也特別感謝我的家人.本書的寫作占用了大量的業(yè)余時間,沒有家人的理解和支持,這本書不可能完成.
最后,因為個人能力有限,書中難免有不當和錯誤之處,還望讀者海涵和指正,不勝感激.
邱錫鵬
于上!偷┐髮W
2020年3月31日
邱錫鵬
復旦大學計算機科學技術學院教授、博士生導師,于復旦大學獲得理學學士和博士學位。主要研究領域包括自然語言處理、機器學習、深度學習等,在相關領域的權威國際期刊、會議上發(fā)表學術論文60余篇,獲得計算語言學國際會議ACL 2017杰出論文獎、全國計算語言學會議CCL 2019最佳論文獎,2015年入選首屆中國科協(xié)青年人才托舉工程,2018年獲得中國中文信息學會“錢偉長中文信息處理科學技術獎青年創(chuàng)新一等獎”,入選由“清華—中國工程院知識智能聯(lián)合研究中心和清華大學人工智能研究院”聯(lián)合發(fā)布的2020年人工智能(AI)全球具影響力學者提名。該排名參考過去十年人工智能各子領域最有影響力的會議和期刊發(fā)表論文的引用情況,排名前10的學者當選該領域當年影響力學者獎,排名前100的其他學者獲影響力學者提名獎。作為項目負責人開源發(fā)布了兩個自然語言處理開源系統(tǒng)FudanNLP和FastNLP,獲得了學術界和產(chǎn)業(yè)界的廣泛使用。目前擔任中國中文信息學會青年工作委員會執(zhí)行委員、計算語言學專委會委員、語言與知識計算專委會委員,中國人工智能學會青年工作委員會常務委員、自然語言理解專委會委員