
劉巖
本書通過紮實、詳細的內容和清晰的結構,從算法理論、算法源碼、實驗結果等方面對深度學習算法進行分析和介紹。本書共三篇,第一篇主要介紹深度學習在計算機視覺方向的一些卷積神經網絡,從基礎骨幹網絡、輕量級 CNN、模型架構搜索 3 個方向展開,介紹計算機視覺方向的里程碑算法;第二篇主要介紹深度學習在自然語言處理方向的重要突破,包括基礎序列模型和模型預訓練;第三篇主要介紹深度學習在模型優化上的進展,包括模型優化方法。 通過閱讀本書,讀者可以深入理解主流的深度學習基礎算法,搭建起自己的知識體系,領會算法的本質,學習模型優化方法。無論是從事深度學習科研的教師及學生,還是從事算法落地實踐的工作人員,都能從本書中獲益。
《深度學習高手筆記》作者劉巖是知乎的Aⅰ神級人物,從new Bing上問答關於Aⅰ方面的問題,時會引用他在知乎專欄下的文章,其實所謂Ai智能也是學習而矣,作者整理文章後完成了本套關於深度學習的圖書。 而關於GPT的陳述,相對很多專業技術書來說,這本書也解剖得最爲透徹。 作者說:作爲自然語言處理,憑藉Transformer強大的表徵能力,OpenAI提出的GPT系列通過海量的數據和龐大的模型不斷試探着Transformer的最佳效果,它通過文本數據的上下文關係爲訓練語言模型提供了天然的數據,常見的上下文關係如下。 ● 傳統語言模型:使用之前的序列預測下一個出現的單詞。 ● 掩碼語言模型(MLM):句子中每個單詞有一定的概率被替換爲掩碼,MLM根據出現的單詞預測被替換爲掩碼的單詞。 ● 下一句預測(next sentence prediction,NSP)模型:用於判斷兩個句子是否爲連續的上下文。 這種數據的優點是無須人工標註,因此在很多文獻中使用這種數據的深度學習方法被叫作無監督學習。 通用預訓練Transformer(generative pre-trained Transformer,GPT)系列是由OpenAI提出的非常強大的預訓練語言模型,這一系列的模型可以在非常複雜的NLP任務中取得非常驚豔的效果,如文章生成、代碼生成、機器翻譯、問答等,而完成這些任務並不需要有監督學習進行模型微調。對於一個新的任務,在使用GPT作爲預訓練模型之後,我們訓練這個任務時僅需要極少的數據,便可以得到近似使用大數據訓練的模型的結果。如此強大的功能並不是一個簡單的模型能搞定的,GPT模型的訓練需要超大的訓練語料、超多的模型參數和超強的計算資源。 作者從GPT-1開始分析它們的迭代,分析的結果有利於我們應用者怎麼通過prompt用好GPT。 GPT-1:無監督學習,GPT-1的思想是先通過在無標籤的數據上學習一個通用的語言模型,然後根據特定任務進行微調,其處理的有監督任務如下。 ● 自然語言推理(natural language inference):判斷兩個句子是包含(entailment)關係、矛盾(contradiction)關係,還是中立(neutral)關係。 ● 問答和常識推理(question answering and commonsense reasoning):類似於多選題,輸入一篇文章、一個問題以及若干個候選答案,輸出每個答案的預測概率。 ● 語義相似度(semantic similarity):判斷兩個句子語義上是否相關。 ● 分類(classification):判斷輸入文本屬於指定的哪個類別。 將無監督學習作用於有監督模型的預訓練目標,叫作通用預訓練。 GPT-1使用了BooksCorpus數據集,作者選這個數據集的原因有二:數據集擁有更長的上下文,使得模型能學得更長期的依賴關係;該數據集很難在下游數據集上見到,更能驗證模型的泛化能力。 GPT-1使用了12層的Transformer和掩碼自注意力頭,掩碼使模型看不見之後的信息,得到的模型泛化能力更強。 GPT-1證明了Transformer學習語言模型的強大能力,在GPT-1得到的詞向量基礎上進行下游任務的學習,能夠讓下游任務取得更好的泛化能力。對於下游任務的訓練,GPT-1往往只需要簡單的微調便能取得非常好的效果。 GPT-1在未經微調的任務上雖然也有一定效果,但是其泛化能力遠遠低於經過微調的有監督任務,說明了GPT-1只是一個簡單的領域專家,而非通用的語言學家。 而GPT-2的目標是訓練一個泛化能力更強的預訓練語言模型,它並沒有對GPT-1的網絡進行過多的結構上的創新與設計,只是使用了更多的網絡參數和更大的數據集。 GPT-2的核心思想可以概括爲:任何有監督任務都是語言模型的子集,當模型的容量非常大且數據量足夠豐富時,僅僅靠訓練語言模型的學習便可以完成其他有監督任務。 GPT-2的數據集取自Reddit上高讚的文章,命名爲WebText。數據集共有約800萬篇文章,累計大小約40GB。 GPT-2訓練了4個層數和詞向量長度不同的模型,具體值如表5.2所示。通過論文中提供的實驗數據,我們可以看出隨着模型的增大,模型的效果是不斷提升的。 對比GPT-1,GPT-2引入了更多的參數和訓練集,它通過提示學習(prompt learning)的思想,將更復雜的語義信息加入預訓練任務中,因此可以在很多無監督的數據集下取得當時最優的效果,具體如下。 ● 在8個語言模型任務中,僅僅通過零樣本學習(zero-shot learning),GPT-2就達到了7個任務中的最優值。 ● 在“Children’s Book Test”數據集上的命名實體識別任務中,GPT-2超過了當時最優的方法約7%。 ● “LAMBADA”是測試模型捕捉長期依賴的能力的數據集,GPT-2將困惑度從99.8%降到了8.6%。 ● 在閱讀理解數據中,GPT-2超過了4個基線模型中的3個。 ● 在法譯英任務中,GPT-2在零樣本學習的基礎上,表現超過了大多數的自監督方法,但是比有監督的先進模型要差。 ● GPT-2在文本總結的表現不理想,但是它的效果和有監督的模型非常接近。 GPT-2的最大貢獻是驗證了通過海量數據和大量參數訓練出來的預訓練語言模型可以遷移到其他類別任務中而不需要額外的訓練。 GPT-3是目前最強大的預訓練模型,僅僅需要零樣本學習或者少樣本學習,GPT-3就可以在下游任務表現得非常好。除了幾個常見的NLP任務,GPT-3在很多非常困難的任務上也有驚豔的表現,例如撰寫人類難以判斷是否由機器生成的文章,甚至編寫SQL查詢語句、React或者JavaScript代碼等。而這些強大能力則依賴於GPT-31750億的參數數量、45TB的訓練數據以及高達1200萬美元的訓練費用。除了引入大量數據,模型優化的另外一個方向則是提供容量足夠大的Transformer模型來對語言模型進行建模。而近年來使用大規模的網絡來訓練語言模型也成了非常行之有效的策略,這也促使GPT-3一口氣將模型參數數量提高到1750億個。 GPT-3共訓練了5個不同的語料數據集,分別是低質量的Common Crawl、高質量的WebText2、Books1、Books2和Wikipedia,GPT-3根據數據集質量的不同賦予了其不同的權值,權值越高的數據集在訓練的時候越容易抽樣到 模型上GPT-3沿用了GPT-2的結構,但是在網絡容量上做了很大的提升。 GPT系列從1到3,全部採用的是Transformer架構,可以說並沒有創新性的模型架構設計。在Microsoft的資金支持下,這更像是一場“赤裸裸的炫富”:1750億的參數,31個分工明確的作者,超強算力的計算機(285000個CPU、10000個GPU),1200萬美元的訓練費用,45TB的訓練數據(Wikipedia的全部數據只相當於其中的0.6%)。這種規模的模型是一般中小企業無法承受的,而個人花費鉅額配置的單卡機器也就只能做做微調或者打打遊戲,甚至在訓練GPT-3時出現了一個bug,OpenAI自己也沒有資金重新訓練了。 作者說:理解了GPT-3的原理,我們就能客觀地看待媒體對GPT-3的過分神化了。GPT-3的本質還是通過海量的參數學習海量的數據,然後依賴Transformer強大的擬合能力使得模型能夠收斂。基於這個原因,GPT-3學到的模型分佈也很難擺脫它的數據集的分佈情況。得益於龐大的數據集,GPT-3可以完成一些令人感到驚喜的任務,但是GPT-3也不是萬能的,對一些明顯不在這個分佈或者和這個分佈有衝突的任務來說,GPT-3還是無能爲力的。 GPT-3還是有很多缺點的: ● 對於一些命題沒有意義的問題,GPT-3不會判斷命題有效與否,而是擬合一個沒有意義的答案出來; ● 由於40TB的海量數據的存在,很難保證GPT-3生成的文章不包含一些非常敏感的內容,如種族歧視、性別歧視、宗教偏見等; ● 受限於Transformer的建模能力,GPT-3並不能保證生成的一篇長文章或者一本圖書的連貫性,存在下文不停重複上文的問題。 他強調在此基礎上必將落地更多有趣的AI應用。近年來,硬件的性能在飛速發展,而算法的研究似乎遇到了瓶頸,GPT-3給“冷清”的AI領域注入了一劑“強心劑”,告訴各大硬件廠商它們的工作還要加油,只要算力足夠強,AI的性能還有不斷提升的空間。 GPT-3如此高昂的計算代價也引發了一些關於AI領域壟斷的擔心,對於如此高的算力要求,中小企業是否有能力負擔,或者對這些企業來說,是否有必要花這麼多錢訓練一個預訓練語言模型。長此以往,恐怕會形成AI“巨頭”對算力要求高的算法的技術壟斷。 當然,本書出版的時候GPT-4 還沒有出來,現在GPT-4 vs GPT-3又大幅提升,差異在於: 大小:GPT-4比GPT-3大得多,具有1.8萬億個參數,而GPT-3只有1750億個參數。 數據:GPT-4使用更多樣化和更大的1PB數據集,而GPT-3使用較小的45TB數據集。 架構:GPT-4使用混合訓練系統,將自我監督學習和監督學習相結合,而GPT-3僅使用自我監督學習。 性能:根據OpenAI提供的數據,GPT-4聲稱在某些自然語言基準測試和測試(如GLUE、SuperGLUE、SQuAD等)上實現了“人類水平的性能”。它在一些自然語言理解(NLU)和自然語言生成(NLG)指標(如BLEU、ROUGE等)上也優於GPT-3。 應用:GPT-4可以執行各種自然語言任務,例如文本摘要、問答、文本生成、情感分析、機器翻譯等。它還可以使用自然語言提示或說明在單個文本中處理多個任務。GPT-3也可以執行各種自然語言任務,但精度和多樣性不如GPT-4。 是的, GPT系列的模型架構秉承了不斷堆疊Transformer的思想,通過不斷提升訓練語料的規模和質量、增加網絡的參數數量來完成GPT系列的迭代更新。GPT也證明了,通過不斷提升模型容量和語料規模,模型的能力是可以不斷提升的。 GPT看來一直在暴力升級之中,其實也論不到我們擔心什麼,我們的經歷啓示是:你不用跑得過老虎,只需比別人快上一點兒。
說好,東西挺多,內容豐富,寫的相對詳細 說差,受衆面小,數學公式挺多,代碼較少,數學公式對不對不知道,簡單些的能看懂,一長串複雜也不大好看 建議出個第二版,減少數學公式,多增加代碼實現部分,個人認爲數學比較精通的,這裏沒具體公式也清楚,不清楚數學公式的放這麼一堆也難理解,如果非要放公式,最好對這些公司符號做個基礎說明,求和,乘法,還是加權等等,主要是哪那些不常見的符號
非常失望,不繫統,全是模型解讀。卷1包含卷積神經網絡,自然語言處理,模型優化三部分,給我的感覺就是不繫統,我想看到的是作者能把整個自然語言處理的環節都介紹到,從分詞,詞向量化的幾種算法,再到下游的應用介紹,應用不同的話,網絡結構和輸出方式有何不同。模型優化作者也沒有講完整,只講了dropout和各種normal,但是常用的學習率,學習率下降策略,weight-decay,過擬合,欠擬合這些都沒講。
這個年代,出這種質量的書真是濫竽充數。
現在還挺好的,比較新,重要的技術都有講到,講得挺詳細