- 深度學習:基于Python語言和TensorFlow平臺(視頻講解版)
- 謝瓊
- 1807字
- 2019-10-23 13:19:51
前言
人工智能(Artificial Intelligence,AI)從孕育、誕生至今,已經(jīng)有近80年歷史了。近80年的光陰,雖然在歷史的長河中不過是浪花一朵,但如果以人的一生來說,已經(jīng)是進入耄耋之年了。但奇跡般的是,隨著深度學習技術的橫空出世,人工智能又神奇地煥發(fā)出了再一次的“青春”。深度學習系統(tǒng)AlphaGo及其升級版本一再戰(zhàn)勝圍棋領域的多位世界冠軍級選手,最后甚至到了一敗難求、人類選手只能仰視的地步,不能不說這是引起了世人廣泛關注人工智能領域的決定性事件。指紋識別、人臉識別、無人駕駛等應用了深度學習方法而又貼近人們?nèi)粘I畹募夹g,可以說深刻地改變了人類的生活和消費方式,也因此讓人工智能更加深入人心,激起了人工智能(尤其是深度學習領域)的學習熱潮。
筆者從小學三年級開始學習計算機,初中時就有機會接觸第一個人工智能應用Animals,這是一款通過人的訓練,不斷向人提問,來猜測人心中所想的一種動物的程序。程序每次猜錯后,會要求人提供一個可以糾正其判斷邏輯的新問題,從而猜測得越來越準,能猜的動物越來越多。后來筆者也接觸過當時最熱的人工智能語言之一——Prolog語言。從那時起,筆者和大多數(shù)人工智能領域?qū)<业榷颊J為人工智能始終是要在人的指導下進行學習的,甚至到IBM公司的DeepBlue(深藍)系統(tǒng)戰(zhàn)勝了圍棋世界冠軍卡斯帕羅夫后仍沒有改變這個觀點。然而,深度學習的出現(xiàn),顛覆了大多數(shù)人的看法,尤其是AlphaGo Zero系統(tǒng),只在了解圍棋基本下棋規(guī)則的基礎上,完全不依賴人類的圍棋知識,進行不到一天的自我學習,就能對圍棋、國際象棋、日本將棋等最高水平的人類選手,甚至是AlphaGo這個它的前任實現(xiàn)完美超越。這充分證明了人工智能能夠不依賴人類,從零開始,自己分析事物的邏輯,提取數(shù)據(jù)的特征,解決超出人腦計算和思考能力之外的問題。
因此,雖然計算機還缺少人類所具有的很多思考模式、邏輯創(chuàng)新、情感產(chǎn)生和變化的能力,但是在處理一些基于經(jīng)驗的、需要海量處理和計算(如圖片、語音、視頻的識別等)的機械任務上,人工智能已經(jīng)具備條件幫助人類去更快、更準地完成。而以大數(shù)據(jù)為基礎的邏輯判斷和行為決斷(如無人駕駛和醫(yī)療機器人),是深度學習下一步發(fā)展的目標。
當前對幾款主流的深度學習框架(如谷歌的TensorFlow、微軟的CNTK、新銳MXNet及老牌的Theano和Caffe、另辟蹊徑的Torch等)的學習,無論是在國內(nèi)還是在國外,可以說是如火如荼。然而,由于深度學習技術的基礎屬于人工智能中神經(jīng)網(wǎng)絡相關的知識范疇,而神經(jīng)網(wǎng)絡的研究又基于線性代數(shù)、矩陣運算、微積分、圖論、概率論等復雜的數(shù)學理論,市面上出版的一些書也是開篇就講這些數(shù)學理論基礎,這讓很多初學者望而生畏。另外,這些深度學習框架的最新文檔大多為英文,并且直接講類似MNIST的較復雜圖像識別范例。誠然,圖像識別是深度學習中最激動人心的創(chuàng)新應用之一,也是本次人工智能大潮的焦點,但對初學者來說,驟然跨過這么高的門檻反而會增加入門的難度,并影響學習的信心。
本書就是為了解決初學者可能遇到的門檻問題而著。書中精選了幾個最貼近生活的、淺顯易懂的實際問題,采用手把手實例講解的方式,幫助初學者少走彎路,邁好踏入深度學習殿堂的第一步,打好進一步提高的知識基礎,也樹立繼續(xù)進階學習的充足信心。本書中的實例講解均基于使用Python語言的TensorFlow框架,只需稍具Python語言編程的基礎,通過閱讀本書,就可以迅速掌握用深度學習技術解決實際問題的方法,并具備舉一反三的能力。沒有任何編程基礎或無意學習編程開發(fā)的讀者,也可以通過本書了解深度學習的概念和它的科學思維方法。本書第2章中還為有興趣學編程的讀者準備了快速編程入門的內(nèi)容,學習后基本能夠看懂本書所有實例中的代碼。
最后,作為入門書籍,根據(jù)筆者常年進行企業(yè)培訓和在線教育的經(jīng)驗,太過追求嚴謹和精確的概念定義或深陷于數(shù)學理論的推導,反而會影響初學者對相關知識的理解。因此,本書盡量減少對純數(shù)學理論的研究探討,對概念和一些理論知識也做了一定簡化易懂的處理,這樣有益于讀者快速掌握基礎知識和加強進一步自學深造的能力。本書在章節(jié)上也進行了精心的編排,確保讀者能夠循序漸進地學習;各個概念和知識點的引入也是精心穿插在合適的章節(jié)位置中,既能避免讀者死記硬背大量理論知識,又能保證學習相關技術前擁有必需的知識基礎。
本書提供了配套視頻文件和其他配套資源,讀者可到人郵教育社區(qū)(www.ryjiaoyu.com)下載。
由于編寫時間倉促、編寫水平有限,書中疏漏或不妥之處在所難免,請廣大讀者、同仁不吝指教,予以指正。另外,如有任何關于本書的建議或疑問等,歡迎發(fā)送電子郵件到topget@sina.com進行交流。
編者
2018年1月
- 零起步玩轉(zhuǎn)掌控板與Mind+
- 數(shù)據(jù)結構和算法基礎(Java語言實現(xiàn))
- C和C++安全編碼(原書第2版)
- Java程序員面試算法寶典
- C++程序設計基礎教程
- 用Python實現(xiàn)深度學習框架
- Jenkins Continuous Integration Cookbook(Second Edition)
- Clojure Reactive Programming
- Multithreading in C# 5.0 Cookbook
- 一塊面包板玩轉(zhuǎn)Arduino編程
- 深入實踐Kotlin元編程
- 并行編程方法與優(yōu)化實踐
- Training Systems Using Python Statistical Modeling
- 奔跑吧 Linux內(nèi)核
- Appcelerator Titanium:Patterns and Best Practices