本書圍繞思維、信息、數(shù)據(jù)、算法、技術、安全、未來等方面討論人工智能技術背后的實現(xiàn)原理和本質(zhì)。涵蓋以下要點。1、人類解決人工智能技術問題的根本原因。2、重點圍繞香農(nóng)提出的信息論,并在此基礎上闡述關于信息的度量、加密、傳輸?shù)确矫娴膬?nèi)容。3、從正反兩個角度來審視大數(shù)據(jù)給我們生活帶來的影響。4、圍繞機器學習算法、人工神經(jīng)網(wǎng)絡算法等內(nèi)容展開討論。5、圍繞計算機發(fā)展、運算、存儲等技術實現(xiàn),并說明分布式計算的原理、實現(xiàn)過程、要解決的一致性難題等。6、圍繞大眾比較關注的大數(shù)據(jù)安全等話題,比如大數(shù)據(jù)殺熟、智能攻防等進行講解。7、開放性的探討人類未來的命運等話題。
機器會有智能嗎?
什么是人工智能?每個人心中都有自己的答案。
它或許是數(shù)學家眼中的機器學習算法,或許是程序員眼中的Java或Python程序代碼,或許是能打敗圍棋世界冠軍的AlphaGo,或許是能和人類對話的智能助手Siri、小度與小愛。
它或許是能跑、能跳還會翻跟斗的波士頓機器狗,或許是擁有公民身份的機器人索菲亞,或許是《變形金剛》里的大黃蜂和擎天柱、《終結者》里的殺手機器人T-800、《黑客帝國》里的人類“母體”Matrix。
當我們談及人工智能時,總是聯(lián)想到它的各種形態(tài),還有其豐富的應用場景。人工智能給人以希望和幻想,它有著數(shù)學的底蘊、文學的色彩、哲學的魅力,它是信息科技的產(chǎn)物,也凝聚著人類的智慧。
那么,一臺機器想要擁有“智能”,會面臨哪些挑戰(zhàn)呢?
首先,機器的智能表現(xiàn)在能夠處理那些不太確定的事情上。想象一下,如果讓計算機去做數(shù)學題,無論它的答案有多準確,我們都不會感到驚訝,因為答案是確定的,計算機只是一個算得很快的計算器。但如果計算機能與人類對話,很自然地回答人類提出的各種帶有“不確定性”的問題,它似乎就有點“智能”了。
其次,機器的智能表現(xiàn)在能很好地處理模糊性的知識上。人和計算機處理問題的思維邏輯是不同的,人可以接受很多模糊的定義,計算機卻不行。比如要給用戶推薦商品,人可以基于主觀感受和過往經(jīng)驗直接做出判斷,但計算機必須把什么是“用戶的喜好”用客觀的數(shù)學公式定義清楚。還有,人類語言在表達時存在很大的模糊性,比如:一堆沙子至少有幾粒?人長多高才不算矮?什么是好看的?悲傷是什么感覺?這些模糊問題的答案,我們很難用語言表達清楚。如果計算機可以很好地處理它們,就又有了一點“智能”了。
后,機器的智能表現(xiàn)在能處理那些連人類自己都無法梳理清楚的復雜規(guī)則上。試想一下,假設你不清楚計算機的運作原理,但通過計算機可以上網(wǎng)搜索資訊,還能通過它和遠方的朋友聊天,你會想:“這是怎么實現(xiàn)的?”是的,電子計算機發(fā)明至今不到100年,但它的內(nèi)部構造已經(jīng)變得相當復雜,足以讓人感到神奇。同樣,當計算機能成功識別出圖像中的一只貓時,你難道不想問一句“這是怎么實現(xiàn)的”?畢竟對我們?nèi)祟悂碚f,很難把識別貓的規(guī)則講清楚,因為規(guī)則太復雜。如果計算機有辦法很好地處理圖像,它就有了自行理解這些復雜規(guī)則的“智能”。
總而言之,機器的智能表現(xiàn)在能處理那些不確定、模糊、復雜的問題上。那么,怎樣才能判斷機器已經(jīng)擁有了“智能”呢?答案是,取決于人的主觀判斷。就是說,機器只要表現(xiàn)得像人一樣、看上去有“智能”就行,至于它到底有沒有“智能”并不重要。從這點來看,我們?nèi)祟愃坪跻呀?jīng)找到了解決方案——基于信息技術、數(shù)學算法與大數(shù)據(jù)。這個方案或許是臨時的,但它具有創(chuàng)新性。
當然,任何新技術的發(fā)展,不可避免地會影響到現(xiàn)有的技術環(huán)境。隨著機器開始擁有“智能”,人工智能相關的安全與哲學話題也隨之出現(xiàn)。比如:人工智能究竟有沒有思想?機器會替代人類嗎?人類能否把重要決策交給人工智能?這些問題似乎都在等待著答案。
新聞媒體在報道人工智能時,有時會把一些很小的研究成果描述為足以改變?nèi)祟愇拿鞯膫ゴ蟪删。這種夸張的報道,雖然十分吸引眼球,但也在一定程度上有意或無意地誤導了大眾。有些人誤以為今天的人工智能已經(jīng)變得無所不能,但是,如果你真正了解人工智能背后的技術原理和運作邏輯,你就會更加客觀地看待人工智能。比起“科幻”,人工智能更是“科學”。
本書特色
本書希望解答一些有關人工智能的通識問題。人工智能本身是一門非常專業(yè)、復雜、抽象、跨領域的學科,學習相關專業(yè)知識需要投入大量時間和精力。對于一般人來說,重要的不是去搞懂那些專業(yè)知識,而是理解人工智能的運作邏輯,這樣對每個人的生活和工作更有借鑒意義。
本書嘗試用通俗易懂的語言,勾勒人工智能的全貌。換句話說,就是講明白什么是人工智能。書中會闡述人工智能背后的技術和原理,討論人工智能在發(fā)展過程中遇到過哪些困難,以及它們是如何解決的。本書不是關于人工智能的暢想和漫談,也不是一本專業(yè)的教科書。秉承大道至簡的原則,書中不會涉及大量數(shù)學公式和程序代碼,而是把重點放在討論人工智能的核心技術和原理上。
如何閱讀本書
本書共9章,邏輯上分成三部分,總體結構如下圖所示。
人工智能的基礎理論部分共3章。
第1章討論統(tǒng)計學和概率論。人工智能之所以被認為具有“智能”,是因為它從一開始就在想辦法處理具有不確定性的問題。隨著概率論和統(tǒng)計學等相關理論的發(fā)展,科學家們找到了應對這個不確定性世界的有效方法和解題思路。
第2章介紹數(shù)據(jù)統(tǒng)計的基礎知識。我們知道,人工智能是基于數(shù)據(jù)的,如果數(shù)據(jù)出了問題,人工智能給出的判斷也可能出錯。因此,必須更加謹慎地對待基于客觀數(shù)據(jù)的主觀結論,避開數(shù)據(jù)“陷阱”。
第3章講解信息論。人工智能是一種處理信息的模型。更關鍵的是,它用信息來消除不確定性。自20世紀以來,以香農(nóng)為代表的科學家把有關信息的理論發(fā)展成一門學科,奠定了信息技術發(fā)展的理論基
前言
第1章 世界充滿不確定性 / 1
1.1 解題重要的是思路 / 2
1.1.1 加百子的答案 / 2
1.1.2 人工智能的破題思路 / 2
1.1.3 統(tǒng)計思維的誕生 / 3
1.2 隨機世界 / 6
1.2.1 猜測上帝的游戲 / 6
1.2.2 科學研究與模型 / 7
1.2.3 隨機性與隨機過程 / 8
1.2.4 正態(tài)分布是什么 / 9
1.2.5 隨機不是均勻 / 10
1.3 概率的威力 / 11
1.3.1 試驗能得出什么規(guī)律 / 12
1.3.2 如何合理分配賭金 / 12
1.3.3 概率與異常值 / 13
1.3.4 用概率擊敗莊家 / 14
1.4 直覺和錯覺 / 15
1.4.1 猜拳是不是碰運氣 / 15
1.4.2 同一天生日的概率是多少 / 16
1.4.3 蒙提霍爾的三門問題 / 17
1.5 生活中的大數(shù)定律 / 19
1.5.1 大數(shù)定律的概念和意義 / 19
1.5.2 蒙特卡洛方法 / 20
1.6 如何驗證假設 / 20
1.6.1 女士品茶 / 21
1.6.2 停時理論 / 24
1.7 經(jīng)驗和實踐如何共存 / 25
1.7.1 什么是貝葉斯定理 / 26
1.7.2 樸素貝葉斯有多“樸素” / 29
1.7.3 每個人都懂貝葉斯 / 31
1.8 結語 / 32
第2章 數(shù)據(jù)代表真相嗎 / 34
2.1 小心數(shù)據(jù)的陷阱 / 34
2.2 數(shù)據(jù)收集的偏差 / 35
2.2.1 幸存者偏差 / 35
2.2.2 選擇性偏差 / 36
2.3 數(shù)據(jù)處理的悖論 / 38
2.3.1 被平均的工資 / 38
2.3.2 辛普森悖論 / 40
2.4 數(shù)據(jù)呈現(xiàn)的誤導 / 42
2.4.1 未披露的數(shù)據(jù) / 42
2.4.2 會欺騙的視覺設計 / 43
2.5 如何正確解讀數(shù)據(jù) / 47
2.5.1 相關性不等于因果性 / 47
2.5.2 被選數(shù)據(jù)的騙局 / 50
2.5.3 數(shù)據(jù)表達的局限 / 51
2.5.4 精準預測的挑戰(zhàn) / 52
2.6 結語 / 54
第3章 如何獲得有用信息 / 55
3.1 數(shù)據(jù)、信息、知識 / 55
3.1.1 數(shù)據(jù)是一組有意義的符號 / 56
3.1.2 信息是用來消除不確定性的 / 56
3.1.3 知識是對信息的總結和提煉 / 57
3.2 用信息丈量世界 / 60
3.2.1 香農(nóng)與信息論 / 60
3.2.2 一條信息的價值 / 62
3.2.3 重復的信息沒有價值 / 64
3.2.4 信息的熵 / 65
3.3 信息是如何交換的 / 66
3.3.1 互聯(lián)網(wǎng)與信息交換 / 67
3.3.2 哈夫曼和有效編碼 / 68
3.3.3 信息不對稱與囚徒困境 / 71
3.4 信息的加密與解密 / 74
3.4.1 語言是一套密碼系統(tǒng) / 74
3.4.2 墻邊盛開的花朵 / 75
3.4.3 可以被公開的密鑰 / 76
3.5 信息里的噪聲 / 79
3.5.1 信息越多結果就越準確嗎 / 79
3.5.2 人工智能如何處理噪聲 / 80
3.5.3 模型的泛化能力 / 82
3.5.4 欠擬合和過擬合 / 82
3.6 結語 / 84
第4章 大數(shù)據(jù)處理與挖掘 / 85
4.1 大數(shù)據(jù)概述 / 86
4.1.1 數(shù)據(jù)是描繪世界的新方式 / 86
4.1.2 大數(shù)據(jù)到底有多大 / 87
4.2 數(shù)據(jù)處理的流程和方法 / 88
4.2.1 數(shù)據(jù)收集 / 89
4.2.2 數(shù)據(jù)加工 / 90
4.2.3 數(shù)據(jù)分析 / 94
4.2.4 數(shù)據(jù)可視化 / 100
4.3 大數(shù)據(jù)改變了什么 / 103
4.3.1 經(jīng)驗與數(shù)據(jù) / 103
4.3.2 時間與空間 / 105
4.3.3 記憶與理解 / 106
4.4 結語 / 107
第5章 機器是如何學習的 / 108
5.1 機器學習是什么 / 108
5.1.1 歸納與推演 / 109
5.1.2 定規(guī)則和學規(guī)則 / 110
5.1.3 算法的含義 / 112
5.2 機器學習算法 / 113
5.2.1 常見的學習方法 / 114
5.2.2 回歸 / 116
5.2.3 分類 / 118
5.2.4 聚類 / 126
5.2.5 降維 / 130
5.2.6 時間序列 / 132
5.3 沒有完美的算法 / 134
5.4 結語 / 135
第6章 模擬大腦的神經(jīng)網(wǎng)絡 / 137
6.1 不斷演進的人工智能 / 138
6.1.1 從淺層學習到深度學習 / 139
6.1.2 萌芽、復蘇、增長和爆發(fā) / 141
6.2 機器會不會思考 / 144
6.3 深度學習算法 / 146
6.3.1 人工神經(jīng)網(wǎng)絡:模擬人腦的思考 / 146
6.3.2 卷積神經(jīng)網(wǎng)絡:讓計算機“看”到世界 / 152
6.3.3 循環(huán)神經(jīng)網(wǎng)絡:如何模擬記憶功能 / 157
6.3.4 強化學習:黑森林蛋糕的秘密 / 161
6.4 場景是算法的綜合應用 / 166
6.4.1 計算機如何下圍棋 / 166
6.4.2 計算機如何打游戲 / 168
6.4.3 計算機如何與人對話 / 170
6.5 結語 / 177
第7章 海量運算背后的技術 / 178
7.1 不斷提升的計算能力 / 178
7.1.1 計算的演進 / 179
7.1.2 今非昔比的算力 / 183
7.1.3 計算機芯片 / 184
7.2 如何完成協(xié)作計算 / 187
7.2.1 舉足輕重的三篇論文 / 187
7.2.2 不可兼得的CAP定理 / 189
7.2.3 故障是不可避