官术网_书友最值得收藏!

前言

機(jī)器學(xué)習(xí)海嘯

2006年,Geoffrey E. Hinton等人發(fā)表了一篇論文(https://homl.info/136[1],展示了如何訓(xùn)練能夠以最高的精度(>98%)來(lái)識(shí)別手寫(xiě)數(shù)字的深度神經(jīng)網(wǎng)絡(luò)。他們將這種技術(shù)稱為“深度學(xué)習(xí)”。深度神經(jīng)網(wǎng)絡(luò)是我們大腦皮層的(非常)簡(jiǎn)化的模型,由一堆人工神經(jīng)元層組成。當(dāng)時(shí)普遍認(rèn)為訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)是不可能的[2],并且大多數(shù)研究人員在20世紀(jì)90年代后期放棄了這種想法。這篇論文重新激發(fā)了科學(xué)界的興趣,不久之后許多新論文證明深度學(xué)習(xí)不僅是可能的,而且取得了令人振奮的成就,這是其他機(jī)器學(xué)習(xí)(Machine Learning,ML)技術(shù)無(wú)法企及的(借助于巨大的計(jì)算能力和大量的數(shù)據(jù))。這種熱情很快擴(kuò)展到機(jī)器學(xué)習(xí)的許多其他領(lǐng)域。

十年后,機(jī)器學(xué)習(xí)征服了整個(gè)工業(yè)界,如今它已成為高科技產(chǎn)品的核心,為你的網(wǎng)絡(luò)搜索結(jié)果排名,為智能手機(jī)的語(yǔ)音識(shí)別提供支持,推薦視頻,甚至可能駕駛你的汽車(chē)。

你項(xiàng)目中的機(jī)器學(xué)習(xí)

所以,你自然會(huì)對(duì)機(jī)器學(xué)習(xí)感到興奮并愿意加入其中!

也許你想給你的自制機(jī)器人一個(gè)大腦,讓它能識(shí)別人臉,或者學(xué)會(huì)走路。

或者你的公司可能擁有大量數(shù)據(jù)(用戶日志、財(cái)務(wù)數(shù)據(jù)、生產(chǎn)數(shù)據(jù)、機(jī)器傳感器數(shù)據(jù)、熱線統(tǒng)計(jì)數(shù)據(jù)、人力資源報(bào)告等),如果你知道去哪里查找,你很可能會(huì)挖掘出一些隱藏的寶藏。通過(guò)機(jī)器學(xué)習(xí),你可以完成以下甚至更多任務(wù)(https://homl.info/usecases):

· 細(xì)分客戶并為每個(gè)群體找到最佳的營(yíng)銷(xiāo)策略。

· 根據(jù)類似客戶的購(gòu)買(mǎi)情況為每個(gè)客戶推薦產(chǎn)品。

· 檢測(cè)哪些交易可能是欺詐性的。

· 預(yù)測(cè)明年的收入。

無(wú)論出于何種原因,你已經(jīng)決定學(xué)習(xí)機(jī)器學(xué)習(xí)并將它應(yīng)用到你的項(xiàng)目中。好主意!

目標(biāo)與方法

本書(shū)假定你對(duì)機(jī)器學(xué)習(xí)幾乎一無(wú)所知。它的目標(biāo)是為你實(shí)現(xiàn)從數(shù)據(jù)中學(xué)習(xí)的程序提供所需的概念、工具和直覺(jué)。

我們將介紹大量的技術(shù),從最簡(jiǎn)單和最常用的技術(shù)(例如線性回歸)到一些經(jīng)常贏得比賽的深度學(xué)習(xí)技術(shù)。為此,我們使用適用于生產(chǎn)環(huán)境的Python框架:

· Scikit-Learn(https://scikit-learn.org)非常易于使用,它還有效地實(shí)現(xiàn)了許多機(jī)器學(xué)習(xí)算法,因此它是學(xué)習(xí)機(jī)器學(xué)習(xí)的一個(gè)很好的切入點(diǎn)。它由David Cournapeau于2007年創(chuàng)建,現(xiàn)在由法國(guó)計(jì)算機(jī)科學(xué)與自動(dòng)化研究所(Inria)的一組研究人員主導(dǎo)研發(fā)。

· TensorFlow(https://tensorflow.org)是一個(gè)更復(fù)雜的分布式數(shù)值計(jì)算庫(kù)。它通過(guò)將計(jì)算分布在數(shù)百個(gè)多GPU(圖形處理單元)服務(wù)器上,使有效地訓(xùn)練和運(yùn)行非常大的神經(jīng)網(wǎng)絡(luò)成為可能。TensorFlow(TF)由Google研發(fā),支持許多大型機(jī)器學(xué)習(xí)應(yīng)用程序。它于2015年11月開(kāi)源,并于2019年9月發(fā)布2.0版本。

· Keras(https://keras.io)是一種高級(jí)深度學(xué)習(xí)API,可以非常簡(jiǎn)單地訓(xùn)練和運(yùn)行神經(jīng)網(wǎng)絡(luò)。Keras與TensorFlow捆綁在一起,它依賴于TensorFlow進(jìn)行所有的密集計(jì)算。

本書(shū)偏向于動(dòng)手實(shí)踐的方法,通過(guò)具體的工作示例和少量理論來(lái)加深對(duì)機(jī)器學(xué)習(xí)的直觀理解。

雖然你不需要拿起筆記本計(jì)算機(jī)就可以閱讀本書(shū),但我強(qiáng)烈建議你嘗試使用代碼示例。

示例代碼

本書(shū)中的所有示例代碼都是開(kāi)源的,Jupyter notebook可以在https://github.com/ageron/handson-ml3在線獲取。這些是包含文本、圖像和可執(zhí)行代碼片段(在我們的例子中為Python)的交互式文檔。最簡(jiǎn)單快捷的入門(mén)方法是使用Google Colab運(yùn)行這些例子。Google Colab是一項(xiàng)免費(fèi)服務(wù),允許你直接在線運(yùn)行任何Jupyter notebook,而無(wú)須在你的機(jī)器上安裝任何東西。你只需要一個(gè)網(wǎng)絡(luò)瀏覽器和一個(gè)Google賬戶。

在本書(shū)中,我假設(shè)你使用的是Google Colab,但我也在其他在線平臺(tái)(例如Kaggle和Binder)上測(cè)試了notebook,因此你可以根據(jù)需要使用它們。或者,你可以安裝所需的庫(kù)和工具(或本書(shū)的Docker鏡像)并直接在你自己的機(jī)器上運(yùn)行。請(qǐng)參閱https://homl.info/install上的說(shuō)明。

這里的代碼是為了幫助你更好地理解本書(shū)的內(nèi)容。通常,可以在程序或文檔中使用本書(shū)中的代碼,而不需要聯(lián)系O'Reilly獲得許可,除非需要大段地復(fù)制代碼。例如,使用本書(shū)中所提供的幾個(gè)代碼片段來(lái)編寫(xiě)一個(gè)程序不需要得到我們的許可,但銷(xiāo)售或發(fā)布O'Reilly的示例代碼則需要O'Reilly出版社的許可。引用本書(shū)的示例代碼來(lái)回答一個(gè)問(wèn)題也不需要許可,將本書(shū)中的示例代碼的很大一部分放到自己的產(chǎn)品文檔中則需要獲得許可。

非常歡迎讀者使用本書(shū)中的代碼,希望(但不強(qiáng)制)注明出處。注明出處時(shí)包含書(shū)名、作者、出版社和ISBN,例如:

Hands-On Machine Learning with Scikit-Learn,Keras,and TensorFlow,作者Aurélien Géron,由O'Reilly出版,書(shū)號(hào)978-1-098-12597-4。

如果讀者覺(jué)得對(duì)示例代碼的使用超出了上面所給出的許可范圍,歡迎通過(guò)permissions@oreilly.com聯(lián)系我們。

先決條件

本書(shū)假定你具有一定的Python編程經(jīng)驗(yàn)。如果你還不了解Python,https://learnpython.org是一個(gè)很好的起點(diǎn)。Python.org上的官方教程(https://docs.python.org/3/tutorial)也相當(dāng)不錯(cuò)。

本書(shū)還假定你熟悉Python的主要科學(xué)庫(kù)——尤其是NumPy(https://numpy.org)、Pandas(https://pandas.pydata.org)和Matplotlib (https://matplotlib.org)。如果你從未使用過(guò)這些庫(kù),請(qǐng)不要擔(dān)心,它們很容易學(xué)習(xí),我已經(jīng)為它們每個(gè)創(chuàng)建了一個(gè)教程。你可以通過(guò)https://homl.info/tutorials在線訪問(wèn)它們。

此外,如果你想完全理解機(jī)器學(xué)習(xí)算法的工作原理(而不僅僅是如何使用它們),那么你至少應(yīng)該對(duì)一些數(shù)學(xué)概念有基本的了解,尤其是線性代數(shù)。具體來(lái)說(shuō),你應(yīng)該知道什么是向量和矩陣,以及如何執(zhí)行一些簡(jiǎn)單的操作,例如向量相加,或轉(zhuǎn)置和矩陣相乘。如果你需要快速了解線性代數(shù)(這真的不是火箭科學(xué)!),我在https://homl.info/tutorials提供了一個(gè)教程。你還會(huì)找到有關(guān)微積分的教程,這可能有助于理解神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,但對(duì)掌握重要概念并非完全必要的。本書(shū)偶爾也會(huì)使用其他數(shù)學(xué)概念,例如指數(shù)和對(duì)數(shù)、一些概率論和一些基本的統(tǒng)計(jì)概念,但不會(huì)太高深。如果你需要任何這些方面的幫助,請(qǐng)查看https://khanacademy.org,該網(wǎng)站提供許多優(yōu)秀的免費(fèi)在線數(shù)學(xué)課程。

路線圖

本書(shū)分為兩部分。第一部分涵蓋以下主題:

· 什么是機(jī)器學(xué)習(xí),它試圖解決什么問(wèn)題,以及其系統(tǒng)的主要類別和基本概念

· 典型機(jī)器學(xué)習(xí)項(xiàng)目中的步驟

· 通過(guò)將模型擬合到數(shù)據(jù)中進(jìn)行學(xué)習(xí)

· 優(yōu)化代價(jià)函數(shù)

· 處理、清洗和準(zhǔn)備數(shù)據(jù)

· 選擇和工程特征

· 選擇模型并使用交叉驗(yàn)證調(diào)整超參數(shù)

· 機(jī)器學(xué)習(xí)的挑戰(zhàn),特別是欠擬合和過(guò)擬合(偏差/方差權(quán)衡)

· 最常見(jiàn)的學(xué)習(xí)算法:線性和多項(xiàng)式回歸、邏輯回歸、k最近鄰、支持向量機(jī)、決策樹(shù)、隨機(jī)森林和集成方法

· 降低訓(xùn)練數(shù)據(jù)的維度以對(duì)抗“維度詛咒”

· 其他無(wú)監(jiān)督學(xué)習(xí)技術(shù),包括聚類、密度估計(jì)和異常檢測(cè)

第二部分涵蓋以下主題:

· 什么是神經(jīng)網(wǎng)絡(luò)以及它們的作用

· 使用TensorFlow和Keras構(gòu)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)

· 最重要的神經(jīng)網(wǎng)絡(luò)架構(gòu):用于表格數(shù)據(jù)的前饋神經(jīng)網(wǎng)絡(luò),用于計(jì)算機(jī)視覺(jué)的卷積網(wǎng)絡(luò),用于處理序列的循環(huán)網(wǎng)絡(luò)和長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)、用于自然語(yǔ)言處理(以及更多方面)的編碼器-解碼器和Transformer,以及用于生成學(xué)習(xí)的自動(dòng)編碼器、生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)和擴(kuò)散模型

· 訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的技術(shù)

· 如何使用強(qiáng)化學(xué)習(xí)構(gòu)建可以通過(guò)反復(fù)實(shí)驗(yàn)學(xué)習(xí)好的策略的智能體(例如游戲中的機(jī)器人)

· 有效地加載和預(yù)處理大量數(shù)據(jù)

· 大規(guī)模訓(xùn)練和部署TensorFlow模型

第一部分主要基于Scikit-Learn,而第二部分使用TensorFlow和Keras。

不要倉(cāng)促地跳入深水區(qū):雖然深度學(xué)習(xí)無(wú)疑是機(jī)器學(xué)習(xí)中非常令人興奮的領(lǐng)域,但你應(yīng)該首先掌握基礎(chǔ)知識(shí)。此外,大多數(shù)問(wèn)題都可以使用更簡(jiǎn)單的技術(shù)來(lái)很好地解決,例如隨機(jī)森林和集成方法(在第一部分討論)。深度學(xué)習(xí)最適合解決圖像識(shí)別、語(yǔ)音識(shí)別或自然語(yǔ)言處理等復(fù)雜問(wèn)題,它需要大量數(shù)據(jù)、計(jì)算能力和耐心(除非你可以利用預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò),正如你將會(huì)看到的那樣)。

第1版和第2版之間的變化

如果你讀過(guò)第1版,那么以下是第1版和第2版之間的主要變化:

· 所有代碼都從TensorFlow 1.x遷移到TensorFlow 2.x,我用更簡(jiǎn)單的Keras代碼替換了大部分底層TensorFlow代碼(計(jì)算圖、會(huì)話、特征列、估計(jì)器等)。

· 第2版介紹了用于加載和預(yù)處理大型數(shù)據(jù)集的Data API、用于大規(guī)模訓(xùn)練和部署TF模型的分布式策略API、用于生產(chǎn)環(huán)境模型的TF Serving和Google Cloud AI Platform,以及(簡(jiǎn)要地介紹)TF Transform、TFLite、TF Addons/Seq2Seq、TensorFlow.js和TF Agents。

· 第2版還介紹了許多額外的機(jī)器學(xué)習(xí)主題,包括關(guān)于無(wú)監(jiān)督學(xué)習(xí)的新章節(jié)、用于物體檢測(cè)和語(yǔ)義分割的計(jì)算機(jī)視覺(jué)技術(shù)、使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)處理序列、使用循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的自然語(yǔ)言處理(Natural Language Processing,NLP)、CNN和Transformer、GAN等。

有關(guān)詳細(xì)信息,請(qǐng)參閱https://homl.info/changes2

第2版和第3版之間的變化

如果你讀過(guò)第2版,那么以下是第2版和第3版之間的主要變化:

· 所有代碼都已更新為最新的庫(kù)版本。特別是,第3版為Scikit-Learn引入了許多新功能(例如,特征名稱的跟蹤、基于直方圖的梯度提升、標(biāo)簽傳播等),還介紹了用于超參數(shù)調(diào)整的Keras Tuner庫(kù)、用于自然語(yǔ)言處理的Hugging Face的Transformer庫(kù),以及Keras的新的預(yù)處理和數(shù)據(jù)增強(qiáng)層。

· 添加了多個(gè)視覺(jué)模型(ResNeXt、DenseNet、MobileNet、CSPNet和EfficientNet),以及選擇正確模型的指南。

· 第15章現(xiàn)在分析芝加哥公共汽車(chē)和鐵路乘客數(shù)據(jù)而不是生成的時(shí)間序列,并介紹ARMA模型及其變體。

· 關(guān)于自然語(yǔ)言處理的第16章現(xiàn)在構(gòu)建了一個(gè)英語(yǔ)→西班牙語(yǔ)的翻譯模型,首先使用編碼器-解碼器RNN,然后使用Transformer模型。本章還會(huì)介紹語(yǔ)言模型,例如Switch Transformer、DistilBERT、T5和PaLM(帶有思維鏈提示)。此外,它還會(huì)介紹視覺(jué)Transformer(ViT),概述一些基于Transformer的視覺(jué)模型[例如數(shù)據(jù)高效圖像Transformer(DeiT)、Perceiver和DINO],以及一些大型多模態(tài)模型,包括CLIP、DALL·E、Flamingo和GATO。

· 關(guān)于生成學(xué)習(xí)的第17章現(xiàn)在介紹擴(kuò)散模型,并展示了如何從頭開(kāi)始實(shí)現(xiàn)去噪擴(kuò)散概率模型(Denoising Diffusion Probabilistic Model,DDPM)。

· 第19章從Google Cloud AI Platform遷移到Google Vertex AI,使用分布式Keras Tuner進(jìn)行大規(guī)模超參數(shù)搜索。本章現(xiàn)在包括你可以在線實(shí)驗(yàn)的TensorFlow.js代碼。它還介紹了其他分布式訓(xùn)練技術(shù),包括PipeDream和Pathways。

· 為了適應(yīng)所有新內(nèi)容,一些內(nèi)容已移至網(wǎng)上,包括安裝說(shuō)明、內(nèi)核主成分分析(Principal Component Analysis,PCA)、貝葉斯高斯混合的數(shù)學(xué)細(xì)節(jié)、TF Agents和以前的附錄A(練習(xí)題答案)、附錄C(支持向量機(jī)數(shù)學(xué))和附錄E(額外的神經(jīng)網(wǎng)絡(luò)架構(gòu))。

更多詳細(xì)信息,請(qǐng)參閱https://homl.info/changes3

其他資源

有許多優(yōu)秀的資源可用于學(xué)習(xí)機(jī)器學(xué)習(xí)。例如,Andrew Ng在Coursera(https://homl.info/ngcourse)上的機(jī)器學(xué)習(xí)課程非常棒,盡管它需要投入大量時(shí)間。

還有許多關(guān)于機(jī)器學(xué)習(xí)的有趣網(wǎng)站,包括Scikit-Learn的出色的用戶指南(https://homl.info/skdoc)。你還可以使用Dataquest(https://dataquest.io),它提供了非常好的交互式教程,以及關(guān)于機(jī)器學(xué)習(xí)博客,例如Quora(https://homl.info/1)上列出的博客。

還有很多其他關(guān)于機(jī)器學(xué)習(xí)的入門(mén)書(shū)籍。尤其是:

· Joel Grus的Data Science from Scratch第2版(O'Reilly)介紹了機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí),并用純Python實(shí)現(xiàn)了一些主要算法(顧名思義,從零開(kāi)始)。

· Stephen Marsland的Machine Learning:An Algorithmic Perspective第2版(Chapman & Hall)很好地介紹了機(jī)器學(xué)習(xí),涵蓋了廣泛的主題和Python代碼示例(也是從零開(kāi)始,但使用NumPy)。

· Sebastian Raschka的Python Machine Learning第3版(Packt Publishing)也給出了對(duì)機(jī)器學(xué)習(xí)的精彩介紹,并利用了Python開(kāi)源庫(kù)(Pylearn 2和Theano)。

· Fran?ois Chollet的Deep Learning with Python第2版(Manning)是一本非常實(shí)用的書(shū),它以清晰、簡(jiǎn)潔的方式涵蓋了廣泛的主題,正如你對(duì)優(yōu)秀的Keras庫(kù)的作者所期望的那樣。它偏愛(ài)代碼示例甚于數(shù)學(xué)理論。

· Andriy Burkov的The Hundred-Page Machine Learninghttps://theml book.com,自出版)篇幅很短,但涵蓋了令人印象深刻的主題,以通俗易懂的術(shù)語(yǔ)介紹了這些主題,并且沒(méi)有回避數(shù)學(xué)方程式。

· Yaser S. Abu-Mostafa、Malik Magdon-Ismail和Hsuan-Tien Lin的Learning from Data(AMLBook)給出了相當(dāng)理論化的機(jī)器學(xué)習(xí)方法,提供了深刻的見(jiàn)解,特別是在偏差/方差權(quán)衡方面(見(jiàn)第4章)。

· Stuart Russell和Peter Norvig的Artificial Intelligence:A Modern Approach第4版(Pearson)是一本很棒(而且篇幅很大)的書(shū),涵蓋了令人難以置信的大量主題,包括機(jī)器學(xué)習(xí)。它有助于正確看待機(jī)器學(xué)習(xí)。

· Jeremy Howard和Sylvain Gugger的Deep Learning for Coders with fastai and PyTorch(O'Reilly)提供使用fastai和PyTorch庫(kù)進(jìn)行深度學(xué)習(xí)的非常清晰和實(shí)用的介紹。

最后,加入機(jī)器學(xué)習(xí)競(jìng)賽網(wǎng)站(例如Kaggle.com)將使你能夠在一些最優(yōu)秀的機(jī)器學(xué)習(xí)專業(yè)人士的幫助下練習(xí)解決實(shí)際問(wèn)題的技能。

排版約定

本書(shū)中使用以下排版約定:

斜體(Italic

  表示新的術(shù)語(yǔ)、URL、電子郵件地址、文件名和文件擴(kuò)展名。

等寬字體(Constant width)

  用于程序清單,以及段落中的程序元素,例如變量名、函數(shù)名、數(shù)據(jù)庫(kù)、數(shù)據(jù)類型、環(huán)境變量、語(yǔ)句以及關(guān)鍵字。

等寬粗體(Constant width bold

  表示應(yīng)由用戶直接輸入的命令或其他文本。

等寬斜體(Constant width italic

  表示應(yīng)由用戶提供的值或由上下文確定的值替換的文本。

該圖示表示提示或建議。

該圖示表示一般性說(shuō)明。

該圖示表示警告或注意。

O'Reilly在線學(xué)習(xí)平臺(tái)(O'Reilly Online Learning)

40多年來(lái),O'Reilly Media致力于提供技術(shù)和商業(yè)培訓(xùn)、知識(shí)和卓越見(jiàn)解,來(lái)幫助眾多公司取得成功。

我們擁有獨(dú)一無(wú)二的專家和創(chuàng)新者組成的龐大網(wǎng)絡(luò),他們通過(guò)圖書(shū)、文章、會(huì)議和我們的在線學(xué)習(xí)平臺(tái)分享他們的知識(shí)和經(jīng)驗(yàn)。O'Reilly的在線學(xué)習(xí)平臺(tái)允許你按需訪問(wèn)現(xiàn)場(chǎng)培訓(xùn)課程、深入的學(xué)習(xí)路徑、交互式編程環(huán)境,以及O'Reilly和200多家其他出版商提供的大量教材和視頻資源。有關(guān)的更多信息,請(qǐng)?jiān)L問(wèn)http://oreilly.com

如何聯(lián)系我們

對(duì)于本書(shū),如果有任何意見(jiàn)或疑問(wèn),請(qǐng)按照以下地址聯(lián)系本書(shū)出版商。

美國(guó):

  O'Reilly Media,Inc.

  1005 Gravenstein Highway North

  Sebastopol,CA 95472

中國(guó):

  北京市西城區(qū)西直門(mén)南大街2號(hào)成銘大廈C座807室(100035)

  奧萊利技術(shù)咨詢(北京)有限公司

要詢問(wèn)技術(shù)問(wèn)題或?qū)Ρ緯?shū)提出建議,請(qǐng)發(fā)送電子郵件至errata@oreilly.com.cn

本書(shū)配套網(wǎng)站https://homl.info/oreilly3上列出了勘誤表、示例以及其他信息。

關(guān)于書(shū)籍、課程的更多新聞和信息,請(qǐng)?jiān)L問(wèn)我們的網(wǎng)站https://oreilly.com

我們?cè)贚inkedIn上的地址:https://linkedin.com/company/oreilly-media

我們?cè)赥witter上的地址:https://twitter.com/oreillymedia

我們?cè)赮ouTube上的地址:https://youtube.com/oreillymedia

致謝

我做夢(mèng)也想不到這本書(shū)的第1版和第2版會(huì)有如此多的讀者。我收到了很多來(lái)自讀者的消息,很多人提出了許多問(wèn)題,一些人友好地指出了書(shū)中的差錯(cuò),大多數(shù)人給我發(fā)來(lái)鼓勵(lì)的話。我無(wú)法表達(dá)我對(duì)所有這些讀者的巨大支持的感激之情。非常感謝大家!如果你在代碼示例中發(fā)現(xiàn)錯(cuò)誤(或只是提出問(wèn)題),請(qǐng)毫不猶豫地在GitHub(https://homl.info/issues3)上提出問(wèn)題。如果你發(fā)現(xiàn)文中有錯(cuò)誤,請(qǐng)?zhí)峤豢闭`表(https://homl.info/errata3)。一些讀者還分享了本書(shū)如何幫助他們找到第一份工作,或者它如何幫助他們解決了正在處理的具體問(wèn)題。我發(fā)現(xiàn)這樣的反饋非常有激勵(lì)作用。如果你覺(jué)得本書(shū)對(duì)你有幫助,可以私下[例如,通過(guò)LinkedIn(https://linkedin.com/in/aurelien-geron)]或公開(kāi)[例如,通過(guò)推文或亞馬遜評(píng)論(https://homl.info/amazon3)]與我分享你的故事。

也非常感謝所有花時(shí)間用專業(yè)知識(shí)審閱第3版、糾正錯(cuò)誤并提出無(wú)數(shù)建議的優(yōu)秀人士。多虧他們,這一版變得更好了,他們是:Olzhas Akpambetov、George Bonner、Fran?ois Chollet、Siddha Gangju、Sam Goodman、Matt Harrison、Sasha Sobran、Lewis Tunstall、Leandro von Werra和我親愛(ài)的兄弟Sylvain。他們都很棒!

我也非常感謝一路支持我的許多人,他們回答了我的問(wèn)題,提出了改進(jìn)建議,并為GitHub上的代碼做出了貢獻(xiàn),特別是Yannick Assogba、Ian Beauregard、Ulf Bissbort、Rick Chao、Peretz Cohen、Kyle Gallatin、Hannes Hapke、Victor Khaustov、Soonson Kwon、Eric Lebigot、Jason Mayes、Laurence Moroney、Sara Robinson、Joaquín Ruales和Yuefeng Zhou。

如果沒(méi)有O'Reilly出色的工作人員,尤其是Nicole Taché,這本書(shū)就不會(huì)存在,他給了我富有洞察力的反饋,并且總是熱情、開(kāi)朗地鼓勵(lì)他人和樂(lè)于助人:我再也找不到比他更好的編輯了。也非常感謝Michele Cronin,他在最后幾章為我加油,并設(shè)法讓我沖過(guò)終點(diǎn)線。感謝整個(gè)制作團(tuán)隊(duì),尤其是Elizabeth Kelly和Kristen Brown。還要感謝Kim Cofer進(jìn)行了全面的編輯,還要感謝Johnny O’Toole,他負(fù)責(zé)管理與亞馬遜的關(guān)系并回答了我的許多問(wèn)題。感謝Kate Dullea大大改進(jìn)了我的插圖。感謝Marie Beaugureau、Ben Lorica、Mike Loukides和Laurel Ruma相信這個(gè)項(xiàng)目并幫助我定義它的范圍。感謝Matt Hacker和所有Atlas團(tuán)隊(duì)回答了我關(guān)于格式、AsciiDoc、MathML和LaTeX的所有技術(shù)問(wèn)題,并感謝Nick Adams、Rebecca Demarest、Rachel Head、Judith McConville、Helen Monroe、Karen Montgomery、Rachel Roumeliotis,以及O'Reilly為本書(shū)做出貢獻(xiàn)的其他所有人。

我永遠(yuǎn)不會(huì)忘記所有在本書(shū)第1版和第2版中幫助過(guò)我的好心人:朋友、同事、專家,以及TensorFlow團(tuán)隊(duì)的許多成員。名單很長(zhǎng),他們是:Olzhas Akpambetov、Karmel Allison、Martin Andrews、David Andrzejewski、Paige Bailey、Lukas Biewald、Eugene Brevdo、William Chargin、Fran?ois Chollet、Clément Courbet、Robert Crowe、Mark Daoust、Daniel “Wolff” Dobson、Julien Dubois、Mathias Kende、Daniel Kitachewsky、Nick Felt、Bruce Fontaine、Justin Francis、Goldie Gadde、Irene Giannoumis、Ingrid von Glehn、Vincent Guilbeau、Sandeep Gupta、Priya Gupta、Kevin Haas、Eddy Hung、Konstantinos Katsiapis、Viacheslav Kovalevskyi、Jon Krohn、Allen Lavoie、Karim Matrah、Grégoire Mesnil、Clemens Mewald、Dan Moldovan、Dominic Monn、Sean Morgan、Tom O’Malley、James Pack、Alexander Pak、Haesun Park、Alexandre Passos、Ankur Patel、Josh Patterson、André Susano Pinto、Anthony Platanios、Anosh Raj、Oscar Ramirez、Anna Revinskaya、Saurabh Saxena、Salim Sémaoune、Ryan Sepassi、Vitor Sessak、Jiri Simsa、Iain Smears、Xiaodan Song、Christina Sorokin、Michel Tessier、Wiktor Tomczak、Dustin Tran、Todd Wang、Pete Warden、Rich Washington、Martin Wicke、Edd Wilder-James、Sam Witteveen、Jason Zaman、Yuefeng Zhou和我的兄弟Sylvain。

最后但并非不重要的是,我非常感謝我深愛(ài)的妻子Emmanuelle和我們?nèi)齻€(gè)出色的孩子Alexandre、Rémi和Gabrielle,感謝他們鼓勵(lì)我努力寫(xiě)這本書(shū)。他們永不滿足的好奇心是無(wú)價(jià)的:向我的妻子和孩子們解釋書(shū)中一些很難的概念,幫助我理清了思路,并直接改進(jìn)了本書(shū)的許多部分。另外,他們一直給我送餅干和咖啡,誰(shuí)還能要求更多呢?


[1] Geoffrey E. Hinton et al.,“A Fast Learning Algorithm for Deep Belief Nets”,Neural Computation 18 (2006):1527-1554.

[2] 盡管Yann LeCun(楊立昆)的深度卷積神經(jīng)網(wǎng)絡(luò)自20世紀(jì)90年代以來(lái)在圖像識(shí)別方面表現(xiàn)良好,但是它們的通用性差。

主站蜘蛛池模板: 景泰县| 霸州市| 宾阳县| 张家港市| 陆丰市| 江永县| 宁武县| 理塘县| 三江| 辽源市| 扬中市| 兰西县| 万荣县| 玉门市| 武陟县| 长岭县| 永州市| 临泽县| 台前县| 观塘区| 通城县| 普定县| 沂水县| 织金县| 祁连县| 漯河市| 什邡市| 长武县| 潮安县| 贵南县| 岳阳市| 霍山县| 泰顺县| 隆回县| 马关县| 崇州市| 泾川县| 玛曲县| 白河县| 巫山县| 四川省|