近年來機器學習取得了長足的進步。深度學習系統(tǒng)使得一些以往不可能實現(xiàn)的智能應用成為現(xiàn)實,推動了圖像識別和自然語言處理的巨大變革,也成功識別出了數(shù)據(jù)中的復雜模式。Keras深度學習庫為使用R語言的數(shù)據(jù)科學家和開發(fā)者提供了處理深度學習任務的工具集。
《R語言深度學習》基于強大的Keras庫及其R語言接口介紹了深度學習。本書源于Keras之父、Google人工智能研究員Fran.ois Chollet基于Python編寫的《Python深度學習》一書,由RStudio創(chuàng)始人J.J.Allaire修改為R語言版本,并采用直觀的解釋和實際的例子幫助讀者構建對深度學習的理解。讀者可以針對計算機視覺、自然語言處理和生成式模型領域的R語言應用加以實踐。
《R語言深度學習》包含如下內容:深度學習原理入門;深度學習環(huán)境設置;圖像分類與生成;基于文本和序列的深度學習。
閱讀本書需要具備R語言編程能力,不需要有機器學習或深度學習的經(jīng)驗。
適讀人群 :具有 R語言經(jīng)驗并希望學習機器學習和深度學習的讀者,數(shù)據(jù)科學家,深度學習專家,高等院校人工智能、數(shù)據(jù)科學等專業(yè)學生
1.Keras之父、Google人工智能研究員Fran?ois Chollet和RStudio的創(chuàng)始人、首席執(zhí)行官J.J.Allaire聯(lián)袂奉獻,深度學習經(jīng)典著作。
2.從零開始,淺顯易懂,30多個代碼示例輕松助力從入門到實戰(zhàn)。
3.閱讀本書只需要具備高中水平的數(shù)學知識,不需要機器學習或深度學習的經(jīng)驗。
4.多為業(yè)內知名專家推薦;提供可免費下載的源代碼。
你在拿起本書時可能就會意識到,近幾年深度學習在人工智能領域所代表的非凡進步。在短短的5年時間里,圖像識別和語音轉錄已經(jīng)從幾乎無法使用發(fā)展到超越人類的水平。
這種突如其來的進步所帶來的影響幾乎波及每一個行業(yè)。但是為了將深度學習技術應用于它能解決的每一個問題,我們需要讓盡可能多的人可以使用它,包括非專家——那些不是研究人員或研究生的人。為了使深度學習充分發(fā)揮其潛力,我們需要從根本上使其大眾化。
當我(Francois Chollet)在2015年3月發(fā)布 Keras深度學習框架的第一個版本時,人工智能的大眾化并不是我想要的。我在機器學習方面做了好幾年的研究,并且建立了Keras來幫助我進行自己的實驗。但在2015年和2016年,成千上萬的新人進入了深度學習領域;他們中的許多人選擇了Keras,因為那時它是最容易起步的框架(現(xiàn)在仍然如此)。當我看到許多新人以意想不到的、強大的方式使用 Keras時,我開始深深地關注人工智能的可訪問性和大眾化。我意識到,我們越是推廣這些技術,它們就越有用、越有價值?稍L問性很快成為Keras開發(fā)中的一個明確目標,在短短的幾年里,Keras開發(fā)人員社區(qū)在這方面取得了驚人的進步。我們把深度學習交給了成千上萬的人,他們反過來用深度學習解決了一些我們甚至直到最近才知道其存在的重要問題。
你手中的《R語言深度學習》這本書能幫助盡可能多的人進一步進行深度學習。Keras總是需要一門配套課程來同時涵蓋深度學習的基礎知識、Keras使用模式和深度學習最佳實踐!禦語言深度學習》是我制作這樣一門課程的最大努力。我寫作的重點是使深度學習背后的概念及其實現(xiàn)盡可能易于接受。這樣做并不需要減少任何內容—我堅信在深度學習中沒有什么難以理解的思想。我希望你能覺得《R語言深度學習》很有價值,并能基于它開始構建智能應用并解決你所關注的問題。
Francois Chollet
Fran?ois Chollet在Google加州山景城從事深度學習相關的工作。他是Keras深度學習庫的創(chuàng)建者,也是TensorFlow機器學習框架的貢獻者。他還從事深度學習研究工作,側重于計算機視覺和形式推理的機器學習應用。他的論文已在該領域的重要會議上發(fā)表,包括計算機視覺與模式識別會議(CVPR)、神經(jīng)信息處理系統(tǒng)(NIPS)會議及分論壇、國際學習表征會議(ICLR)等。
J.J.Allaire是RStudio的創(chuàng)始人和RStudio集成開發(fā)環(huán)境的創(chuàng)建者,也是TensorFlow和Keras的R接口的作者。
目 錄
原書前言
致謝
關于本書
第一部分 深度學習基礎
第 1章 什么是深度學習
1.1 人工智能、機器學習和深度學習
1.1.1 人工智能
1.1.2 機器學習
1.1.3 從數(shù)據(jù)中學習表述
1.1.4 深度學習的“深”
1.1.5 通過三張圖理解深度學習的原理
1.1.6 深度學習目前能做什么
1.1.7 不要相信短期炒作
1.1.8 人工智能的潛力
1.2 在深度學習之前:機器學習簡史
1.2.1 概率建!
1.2.2 早期的神經(jīng)網(wǎng)絡
1.2.3 核方法
1.2.4 決策樹、隨機森林、梯度提升機
1.2.5 回到神經(jīng)網(wǎng)絡
1.2.6 是什么讓深度學習與眾不同
1.2.7 現(xiàn)代機器學習發(fā)展
1.3 為什么會有深度學習?為什么是現(xiàn)在
1.3.1 硬件
1.3.2 數(shù)據(jù)
1.3.3 算法
1.3.4 新一輪投資潮
1.3.5 深度學習走向大眾
1.3.6 它會持續(xù)下去嗎
第 2章 在我們開始前:構建神經(jīng)網(wǎng)絡的數(shù)學模塊
2.1 有關神經(jīng)網(wǎng)絡的第一印象
2.2 神經(jīng)網(wǎng)絡的數(shù)據(jù)表示
2.2.1 標量(零維張量)
2.2.2 向量(一維張量)
2.2.3 矩陣(二維張量)
2.2.4 三維張量和高維張量
2.2.5 關鍵屬性
2.2.6 在 R中使用張量
2.2.7 數(shù)據(jù)批次的概念
2.2.8 數(shù)據(jù)張量的真實示例
2.2.9 向量數(shù)據(jù)
2.2.10 時間序列數(shù)據(jù)或序列數(shù)據(jù)
2.2.11 圖像數(shù)據(jù)
2.2.12 視頻數(shù)據(jù)
2.3 神經(jīng)網(wǎng)絡的齒輪:張量運算
2.3.1 逐元素運算
2.3.2 包含不同維度張量的運算
2.3.3 張量點積
2.3.4 張量重塑
2.3.5 張量運算的幾何解釋
2.3.6 深度學習的幾何解釋
2.4 神經(jīng)網(wǎng)絡的引擎:基于梯度的優(yōu)化
2.4.1 什么是導數(shù)
2.4.2 張量運算的導數(shù):梯度
2.4.3 隨機梯度下降
2.4.4 鏈式導數(shù):后向傳播算法
2.5 回顧我們的第一個例子
2.6 本章小結
第 3章 神經(jīng)網(wǎng)絡入門
3.1 神經(jīng)網(wǎng)絡的剖析
3.1.1 層:深度學習的基石
3.1.2 模型:層網(wǎng)絡
3.1.3 損失函數(shù)和優(yōu)化器:配置學習過程的關鍵
3.2 Keras簡介
3.2.1 Keras、TensorFlow、Theano和 CNTK
3.2.2 安裝 Keras 46 3.2.3 使用 Keras進行開發(fā):快速概述
3.3 建立深度學習工作站
3.3.1 讓 Keras運行:兩個選項
3.3.2 在云中運行深度學習任務:優(yōu)點和缺點
3.3.3 什么是深度學習的最佳GPU
3.4 電影評論分類:二元分類示例
3.4.1 IMDB數(shù)據(jù)集
3.4.2 準備數(shù)據(jù)
3.4.3 構建網(wǎng)絡
3.4.4 方法驗證
3.4.5 使用經(jīng)過訓練的網(wǎng)絡生成對新數(shù)據(jù)的預測
3.4.6 進一步的實驗
3.4.7 小結
3.5 新聞專線分類:多類分類示例
3.5.1 Reuters數(shù)據(jù)集
3.5.2 準備數(shù)據(jù)
3.5.3 構建網(wǎng)絡
3.5.4 方法驗證
3.5.5 生成對新數(shù)據(jù)的預測
3.5.6 處理標簽和損失的不同方式
3.5.7 具有足夠大的中間層的重要性
3.5.8 進一步的實驗
3.5.9 小結
3.6 預測房價:一個回歸的例子
3.6.1 波士頓住房價格數(shù)據(jù)集
3.6.2 準備數(shù)據(jù)
3.6.3 構建網(wǎng)絡
3.6.4 使用 K折驗證
3.6.5 小結
3.7 本章小結
第 4章 機器學習基礎
4.1 機器學習的四個分支
4.1.1 監(jiān)督學習
4.1.2 無監(jiān)督學習
4.1.3 自監(jiān)督學習
4.1.4 強化學習
4.2 評估機器學習模型
4.2.1 訓練、驗證和測試集
4.2.2 要記住的事情
4.3 數(shù)據(jù)預處理、特征工程和特征學習
4.3.1 神經(jīng)網(wǎng)絡的數(shù)據(jù)預處理
4.3.2 特征工程
4.4 過擬合和欠擬合
4.4.1 縮小網(wǎng)絡規(guī)!
4.4.2 添加權重正則化
4.4.3 添加 dropout
4.5 機器學習的通用工作流程
4.5.1 定義問題并整合數(shù)據(jù)集
4.5.2 選擇衡量成功的標準
4.5.3 確定評估方案
4.5.4 準備數(shù)據(jù)
4.5.5 開發(fā)一個比基線更好的模型
4.5.6 擴展:開發(fā)一個過擬合的模型
4.5.7 正則化模型并調整超參數(shù)
4.6 本章小結
第二部分 深度學習實戰(zhàn)
第 5章 計算機視覺中的深度學習
5.1 卷積網(wǎng)絡概述
5.1.1 卷積操作
5.1.2 最大池化操作
5.2 在小型數(shù)據(jù)集上從頭開始訓練一個卷積網(wǎng)絡
5.2.1 深度學習與小數(shù)據(jù)問題的相關性
5.2.2 下載數(shù)據(jù)
5.2.3 構建網(wǎng)絡
5.2.4 數(shù)據(jù)預處理
5.2.5 使用數(shù)據(jù)擴充
5.3 使用預訓練的卷積網(wǎng)絡
5.3.1 特征提取
5.3.2 微調
5.3.3 小結
5.4 可視化卷積網(wǎng)絡學習過程
5.4.1 可視化中間激活
5.4.2 可視化卷積網(wǎng)絡過濾器
5.4.3 可視化類激活的熱圖
5.5 本章小結
第 6章 用于文本和序列數(shù)據(jù)的深度學習
6.1 使用文本數(shù)據(jù)
6.1.1 詞和字符的獨熱編碼
6.1.2 使用單詞嵌入
6.1.3 將其全部放在一起:從原始文本到單詞嵌入
6.1.4 小結
6.2 了解循環(huán)神經(jīng)網(wǎng)絡
6.2.1 Keras中的循環(huán)層
6.2.2 理解 LSTM 和 GRU 層
6.2.3 Keras中的一個具體的 LSTM例子
6.2.4 小結
6