0 引言
本文是《人工智慧基礎(高中版)》的讀書筆記,這本書的配圖非常好,把難以理解的概念圖形化,所以讀後感會引用書中的圖片(圖片版權歸商湯科技所有)。
書中部分概念還是比較晦澀,讀者在小白的角度不好理解某些概念和方法之間微妙的差別,所以我用自己的理解和抹去一些難以理解的細節,以更通俗易懂的形式展示出來。
1 人工智慧概述
1.1 簡史
1.2 應用領域
安防
-
實時從視訊中檢測出行人和車輛。
-
自動找到視訊中異常的行為(比如,醉酒的行人或者逆行的車輛),並及時發出帶有具體地點方位資訊的警報。
-
自動判斷人群的密度和人流的方向,提前發現過密人群帶來的潛在危險,幫助工作人員引導和管理人流。
醫療
-
對醫學影像進行自動分析的技術。這些技術可以自動找到醫學影像中的重點部位,並進行對比比分析。
-
通過多張醫療影像重建出人體內器官的三維模型,幫助醫生設計手術,確保手術
-
為我們每個人提供康建議和疾病風險預警,從而讓我們生活得更加健康。
智慧客服
智慧客服可以像人一樣和客戶交流溝通。它可以聽懂客戶的問題,對問題的意義進行分析(比如客戶是詢問價格呢還是諮詢產品的功能呢),進行準確得體並且個性化的迴應。
自動駕駛
現在的自動駕駛汽車通過多種感測器,包括視訊攝像頭、鐳射雷達、衛星定位系統(北斗衛星導航系統BD)S、全球定位系統GPS等)等,來對行駛環境進行實時感知。智慧駕駛系統可以對多種感知訊號進行綜合分析,通過結合地圖和指示標誌(比如交通燈和路牌),實時規劃駕駛路線,併發出指令,控制車子的執行。
工業製造
幫助工廠自動檢測出形態各異的缺陷
1.3 概念
什麼是人工智慧? 人工智慧是通過機器來模擬人類認知能力的技術。
人工智慧的三種訓練方式分別是監督學習
、非監督學習
、強化學習
。下文會一一介紹。
2 這是不是鸞尾花(分類器)
2.1 特徵提取
人類感官特徵 花瓣數量、顏色
人工設計特徵 先確定哪些特徵,再通過測量轉化為具體數值
深度學習特徵 這裡先不提及,文章後面會說
2.2 感知器
老師給了一道題:要區分兩種鸞尾花,得畫出一條直線區分兩類花,你可以畫出無數條直線,但是哪條才是最好的呢?
怎麼辦呢?我可是學渣啊,靠懵!
- 隨便找三個數a=0.5、b=1.0、c=-2 帶入 y = ax[1] + bx[2] + c,
- 每朵花的兩個特徵也代入x[1]、x[2],比如帶入(4, 1) 得出 y[預測] = 1,此時 y[實際] = 1 (樣本設定變色鸞尾花為 1,山鸞尾為 -1 ),所以y[實際] - y[預測] = 0.
- 重複以上兩步,得出所有的『實際值和預測值的差距的綜合』,記為 Loss1
- 可怎麼知道是不是最優的直線呢?繼續猜啊!繼續懵!像猜世界盃一樣猜就好了。
- 通過沿 y = ax[1] + bx[2] + c 梯度(梯度就是求導數,高中有學的!)下降的方向繼續猜數字,具體過程大概是這樣子的:
上述所屬的實際值和預測值的差距
實際上是一種損失函式
,還有其他的損失函式,比如兩點間直線距離公式,餘弦相似度公式等等可以計算預測結果和實際結果之間的差距。
劃重點:損失函式就是現實和理想的差距(很殘酷)
2.3 支援向量機
方法 | 區別 |
---|---|
感知器 | 猜線的依據是所有預測的點到實際的點之間的差值最小 |
支援向量機SVM | 猜線的依據是所有點到直線距離最小 |
*判斷依據的區別也導致了損失函式的不同(但依舊是猜)
直觀的說,縫隙越大越好(老司機閉嘴!)
2.4 多分類
如果有多種花怎麼辦?一趟植物課上,老師請來了牡丹鑑別專家、荷花鑑別專家、梅花鑑別專家。 老師拿出了一盤花給各個專家鑑定,牡丹角色這是牡丹的概率是0.013、荷花專家角色這是荷花的概率是0.265、梅花專家角色這是梅花的概率是0.722。老師綜合了各位專家的意見後,告訴同學們,這是一盤梅花。
小明:這老師是不是傻,一朵花是啥都不知道,還要請三個專家 老師:你給我滾出去
實際計算過程就是通過用 2.2 和 2.3 等方法訓練的二分類器,分別輸出對應的分類值(比如三種花的分類器分別輸出-1,2,3),那怎麼把這些分類值轉化成概率呢?這就要用到歸一化指數化函式 Softmax
(如果是二分類就用 Sigmoid函式
),這裡就不拿公式來說,可以直觀的看看書中這個表格就懂了:
2.5 非監督學習
第 2.2 能從預測值和實際值的差別判斷"是否猜對了",是因為生物老師告訴了學渣,哪些樣本是山鸞尾花,哪些變色鸞尾花。但如果老師連樣本實際的類別也不告訴學渣(非監督式學習),學渣不知道樣本分別是什麼花。
那該怎麼辦呢?
機器學習的入門課程總是在講鸞尾花,也是夠煩的。這裡我們換個場景:
假如你是某直播老闆,要找一堆小主播,這時候你有一堆應聘者,然而你只有她們的胸圍和臀圍資料。一堆8份簡歷擺在你面前,你是不知道哪些更加能幹( capable啊 ! ) 的,更能吸引粉絲。你也沒空全部面試,那應該怎麼挑選呢?
-
這時候你把她們的胸圍和臀圍都標準在一張二維座標圖上:
-
這是你隨手一劃,把她們分成兩組,可以說“聚成兩類了”。
-
用某種計算方式(比如平均值)找到這個聚類的中心。點離聚類中心越近,代表越相似。
-
求出每個聚類中的點到藍色聚類中心點和黃色聚類中心的距離
-
如果一個點離黃色聚類中心更近卻被你隨手劃到了藍色分組(上圖用紅色邊框標出的小方塊),那麼就把它劃入黃色分組。
-
這時因為分組範圍和分組內包含哪些小姐姐都發生了變化。這時候你需要以 步驟3 的方法重新計算聚類的中心
-
重複步驟 4 (算點中心距離)-> 重複步驟 5 (調整黃色小姐姐們和藍色小姐姐們)-> 重複步驟 3 (算中心),一直迴圈這個過程直到藍色和黃色聚類下所包含的小姐姐不再發生變化。那麼就停止這一迴圈。
-
至此,小姐姐們已經被分為兩大類。你可以得出兩類小姐姐:
計算機在沒有監督的情況下,成功把小姐姐們分成兩類,接下來就可以在把兩種主播各投放2個到平臺看看誰更能幹。效果更好的,以後就以那個聚類的樣本特徵擴充更多能幹的主播。
小明:且,有什麼了不起的,我一眼就能看出黃色小姐姐更能幹 老師:你給我滾出去
上面聚類小姐姐的演算法就叫做 K 鄰近演算法
,K 為要聚類的數量(這需要人工指定),上述例子 K=2.那麼如果分成三類就是 K=3,訓練過程可以看下圖,有個直觀的瞭解:
3 這是什麼物品(影象識別)
3.1 特徵提取
人類感官特徵 花瓣顏色、花瓣長度、有沒有翅膀(區分貓和小鳥)、有沒有嘴巴和眼睛(飛機和小鳥)
小貓 | 小鳥 | 飛機 | 汽車 | |
---|---|---|---|---|
特徵1:有沒有翅膀 | 否 | 是 | 是 | 否 |
特徵2:有沒有眼睛 | 是 | 是 | 否 | 否 |
人工設計特徵 感官的特徵通過量化得到顏色(RGB值)、邊緣(圓角、直角、三角)、紋理(波浪、直線、網格)數值特徵
深度學習特徵 通過卷積提取影象特徵
劃重點:卷積的作用就是提取影象有用資訊,好比微信把你發出的圖片壓縮了,大小變小了,但是你依舊能分辨出影象的主要內容。
1維卷積 15+24+33=22、14+23+32=16、13+22+3*1=10
2維卷積 12+30+24+42=28...
通過卷積就可以得到影象的特徵資訊,比如邊緣
3.2 深度學習和傳統模式分類的區別
既然有傳統模式分類,為什麼還要神經網路呢?
區別就在於傳統的模式分類需要人為設定特徵,比如花瓣長度、顏色等等。而深度學習省略掉人工設計特徵的步驟,交由卷積操作去自動提取,分類器的訓練也同時融入到神經網路當中,實現了端對端的學習
劃重點:端對端學習(End to End)就是從輸入直接得出輸出,沒有中間商,自己賺差價。
3.3 深(多)層神經網路存在的問題
一般來說,神經網路層數增多,會提高準確率。但是,網路層數加深導致:
過擬合 學渣把高考預測試題的答案都背一遍而不理解,考試的時候,如果試題是考生背過的,那麼考生就能答對;如果沒背過那麼考生就不會回答了。我們就可以說,學渣『過擬合』了預測試題。
與之對應的是:欠擬合
渣得不能再渣的人,連預測試題都背不下來,即使考試試題和預測試題一模一樣,他也只能答對30%。那麼就可以說這種人欠揍欠擬合。
有興趣的還可以瞭解一下
梯度彌散和梯度爆炸
下面是網上很火很勵志的一個公式,權重在多層網路中相乘,比如每一層的權重都是0.01,傳遞100層 就是 0.01 的100 次方
,變得非常小,在梯度下降 Gradient Descent 的學習過程中,學習將變得非常慢。(好比從一個碗頂部放下一個小球,在底部徘徊的速度會越來越慢)
非凸優化 學習過程可能在區域性最小值(極小值)就停止了,因為梯度(斜率)為零。在區域性最低停止而不是全域性最低停止,學習到的模型就不夠準確了。
看圖感受一下
你說的底不是底,你說的頂是什麼頂
解決的辦法
均勻初始化權重值(Uniform Initialization)、批歸一化(Batch Normalization)、跳遠連結(Shortcut)涉及到比較多數學邏輯,這裡就不展開說明了。
3.4 應用
人臉識別
自動駕駛 把汽車頂部拍攝到的圖片切分層一個個小方塊,每個小方塊檢測物體是車還是行人還是狗,是紅燈還是綠燈,識別各種交通標識等等。再配合雷達等判斷物體距離。
4 這是什麼歌(語音識別)
4.1 特徵提取
人類感官特徵 音量、音調、音色
通過取樣
、量化
、編碼
。實現聲波數字化(聲波轉電訊號)
人工設計特徵 梅爾頻率在低頻部分解析度高,高頻部分解析度低(這與人耳的聽覺感受是相似的,即在一定頻率範圍內人對低頻聲音比較敏感而對高頻聲音不敏感)。關係為:
在每一個頻率區間對頻譜求均值,它代表了每個頻率範圍內聲音能量的大小。一共有26個頻率範圍,從而得到26維的特徵。倒譜操作後,得到 13 維的梅爾頻率倒譜系數(Mel-FrequencyCepstralCoefficients,MFCCs)
深度學習特徵 通過 3.1 所介紹的 1維卷積進行特徵提取
4.2 應用
音樂風格分類
輸入:音訊檔案 特徵:聲音特徵 輸出:音樂種類
語音轉文字
輸入:音訊檔案 特徵:聲音特徵 輸出:聲學模型(比如26個英文字母)
再把聲學模型送入另外的學習器
輸入:聲學模型 特徵:語義和詞彙 輸出:通順的語句(可以檢視第6點,如何讓計算機輸出通順的語句)
聽歌識曲
通過視窗掃描(把音樂分割成一小段一小段的),然後通過4.1說的方法提取這一段的特徵,就得到一個特徵向量。對資料庫的歌和使用者錄音的歌做同樣的操作得到特徵向量,然後兩兩之間計算相似度(兩個向量的距離可以用餘弦公式算夾角大小
或者兩點間距離公式
來算)
5 視訊裡的人在做什麼(視訊理解,動作識別)
5.1 介紹
視訊,本質是由一幀幀圖片連續組成的,因為人視覺的暫留效應
(Persistence of vision,人眼在觀察景物時,光訊號傳入大腦神經,並不立即消失,讓人產生畫面連續的印象),看上去是連續的,也就是視訊。
識別視訊裡面有什麼物體,可以用上文說過的影象識別和分類方法去實時分析單幀影象,比如:
但是視訊相對於影象有一個更重要的屬性:動作(行為)
。
怎麼從一個連續的視訊分析動作呢?
舉個例子,像上圖那隻二哈,腿部的畫素點相對於黃色的方框(框和狗相對靜止)在左右"移動",這裡的"移動"我們引入一個概念——光流(一個畫素點從一個位置移動到另一個位置),通過畫素點移動形成的光流作為神經網路的訓練特徵(X),『奔跑』作為訓練目標值(Y),經過多次的迭代訓練,機器就可以擬合得出一個 Y = f(X) 用於判斷視訊中的物體(Object)是否在奔跑。
5.2 光流
假設, 1)相鄰兩幀中物體運動很小 2)相鄰兩幀中物體顏色基本不變
至於神經網路是怎麼跟蹤某個畫素點的,這裡不展開說明。
第 t 時刻的點指向第 t+1 時刻該點的位置,就是該點的光流,是一個二維的向量。
整個畫面的光流就是這樣:
整個視訊的光流(軌跡)是這樣的
不同的虛線代表影象上某個點移動的軌跡假設視訊寬width
、高 height
、一共有 m
幀,那麼該視訊可以用 width * height * m * 2
的張量(就是立體的矩陣)來表示,把向量喂到神經網路即可進行分類訓練。
進一步優化,可以把光流簡化為8個方向上的,把視訊某一幀的所有光流累加到這八個方向上得出某一幀的光流直方圖,進一步得出 8 維的特徵向量。
6 一段文字在表達什麼(自然語言處理)
6.1 特徵提取
編號 | 句子 | 分類 |
---|---|---|
1 | 科學證明游泳有利於身體發育。 | 體育 |
2 | 傅園慧在奧運游泳比賽中獲得了金牌。 | 體育 |
3 | 優讀是個很好用的知識管理應用。 | 工具 |
4 | 一篇文章說明印象筆記在知識管理上的應用。 | 工具 |
這裡有4個句子,首先進行分詞:
編號 | 句子 |
---|---|
1 | 科學 證明 游泳 有利 於 身體 發育 。 |
2 | 傅園慧 在 奧運 游泳 比賽 中 獲得 了 金牌 。 |
3 | 優讀 是 個 很 好用的 知識 管理 應用 。 |
4 | 一篇 文章 說明 印象筆記 在 知識 管理 上 的 應用 。 |
去掉停用詞(副詞、介詞、標點符合等等,一般在文字處理上都有一個停用詞表)
編號 | 句子 |
---|---|
1 | 科學 證明 游泳 有利 身體 發育 |
2 | 傅園慧 奧運 游泳 比賽 獲得 金牌 |
3 | 優讀 好用 知識 管理 應用 |
4 | 文章 說明 印象筆記 知識 管理 應用 |
編碼詞表
句子向量化
這樣就得到一個句子19 維 的 特徵向量,再把這19維的特徵向量用普通卷積網路或者 LSTM 迴圈神經網路作為 X 讀入(餵它吃東西),文字的分類(比如積極、消極)作為訓練標籤值 Y,迭代訓練得到的模型可以用於情感分析或文字分類等任務。6.2 進階
詞向量化 厲害-牛逼、計算機-電腦是同義詞。光從上面的步驟,我們可能認為厲害和牛逼是兩個完全不一樣的詞語,但其實他們是近似的意思,怎麼才能 AI 學習知道這點呢?需要從多個維度去進一步給詞語更豐富的內涵,比如:
舉例來說,男性用1表示,女性用0表示,不帶性別傾向就是0.5。多個維度擴充套件之後,就得到“男人”這個詞的特徵向量(1,0, 0.5,0,1)逆向文件頻率 一個詞在一類文章出現的多,而在另外分類的文章出現的少,越能說明這個次能代表這篇文章的分類。 比如游泳在體育類的文章中出現的多(2次),而在工具類的文章出現的少(0次),相比其他詞語(1次)更能代表體育類的文章。
假設句子中有 N 個詞, 某個詞出現次數為 T,一共有 X 個句子,該詞語在 W 個句子出現,則逆向文件頻率 TF-IDF 為 T/N * log(X/W)
6.3 應用
7 讓計算機畫畫(生成對抗網路)
從前有個人,以賣臨摹名家的畫來賺錢。他開始臨摹一副名畫:
第一次他畫成這樣子了:
鑑賞家一眼就看出來是假的,他不得不回去畫第二幅畫、第三幅畫... 經過了10萬次"畫畫-鑑別"的過程,這個臨摹者畫出來的畫,鑑賞家居然認為這是真的原作,以高價買入了這副畫。這種生成(畫畫)- 鑑別(鑑偽)
的模式正是生成對抗網路(GAN)的核心。
通過生成器,把隨機畫素點有序排列形成具有意義的畫面,再通過鑑別器得出生成的畫面的分類、和真實畫面之間的差距,並告訴生成器要往什麼方向去優化。多輪的訓練之後,生成器就學會了畫『真畫』了。
計算機是怎麼把隨機畫素點變成有意義的畫面的呢?我們通過一個簡化的例子來看看。
直線上一些均勻分佈的點,經過y=2x+1
變換後變成了非均勻分佈。一張隨機排布的畫素點畫面,經過某個f(x)
變換後就會變成具有某種意義的畫面,而生成器就是不停地去近似f(x)
, 就像 2.2 感知器擬合一條直線那樣。
劃重點:函式可以變換資料分佈(庫克說:可以把直的變成彎的)
8 AlphaGo是怎麼下棋的?(強化學習)
8.1 粗略認知
監督/無監督訓練:儘可能讓每一次任務正確 強化學習:多次任務是否達成最終目標
每一次任務都準確,不就是能達成最終目標嗎?我們來看一個例子:
一家批發商店的老闆愛麗絲要求她的經理比爾增加銷售額,比爾指導他的銷售員多賣一些收音機,其中一個銷售員查爾斯弄到了一個可以獲利的大單,但是之後公司因為供應緊缺無法交付這些收音機。應該責怪誰呢?從愛麗絲的角度來看,查爾斯的行為讓公司蒙羞了(最終任務沒完成)。但是從比爾的角度,查爾斯成功地完成了他的銷售任務,而比爾也增加了銷量(子任務達成)。——《心智社會》第7.7章
8.2 AlphaGo
下圍棋,最古老的辦法是決策樹,從左上角的位置開始到右下角的位置遍歷,每一個空的位置就是一個分支,然後預測每種棋局贏的概率,找出最大概率的走法玩。這就是落子預測器。
但是由於圍棋19X19的超大棋盤,空間複雜度高達10的360次方,要窮盡所有的走法幾乎是不可能的,如大海撈針。要降低複雜度,關鍵是要降低搜尋的廣度和深度。
我們栽培一顆小盆栽的時候,如果不對枝葉進行修剪,那麼養分就會浪費在沒長好的枝條上。需要及時對枯萎或者異常的枝條進行修剪以保證養分往正常(或者說我們希望它生長的方向)枝條上輸送。
同樣的道理,有限的計算機算力如果浪費在窮盡所有圍棋走法上,將導致棋局推演非常慢,而且耗費大量的時間也難以找到最優的方案。
是否可以通過 "修剪" 落子選擇器這顆龐大的決策樹,加快較優落子方案的選擇呢?怎麼判斷哪些是好的"枝條",哪些是壞的"枝條"呢?這就需要棋局價值評估器(哪個棋盤的贏的概率更大),把沒有價值的棋局先去掉不再往下遍歷,這就同時減少了搜尋的廣度和深度。
其中,
落子預測器有個名稱,叫做政策網路(policy network)
價值評估器有個名稱,叫做價值網路(value network)
政策網路(policy network)利用蒙特卡洛搜尋樹從當前棋局推演(隨機下棋)到最終的棋局,最終勝則回報為正,反之回報為負。之後該演算法會反向沿著該對弈過程的落子方案步步回溯,將路徑上勝者所選擇的落子方案分數提高,與此對應將敗者的落子方案分數降低,所以之後遇到相同局面時選擇勝者方案的概率就會增加。因此可以加速落子選擇,稱為快速走子網路
。
通過 政策網路 + 價值網路 + 蒙特卡洛搜尋樹
實現最優落子方案的選擇,同時兩個機器人互相對弈,這樣就不停地訓練網路,學習落子方案。
8.3 定義
接下來說一下枯燥的定義
什麼是強化學習?
當我們關注的不是某個判斷是否準確,而是行動過程能否帶來最大的收益時使用強化學習(reinforeement learning)。比如在下棋、股票交易或商業決策等場景中。
強化學習的目標是要獲得一個策略(poliey)去指導行動。 比如在圍棋博弈中,這個策略可以根據盤面形勢指導每一步應該在哪裡落子;在股票交易中,這個策略會告訴我們在什麼時候買入、什麼時候賣出。
一個強化學習模型一般包含如下幾個部分:
一組可以動態變化的狀態(sute)
對於圍棋棋盤上黑白子的分佈位置 對於股票交易來說,就是股票的價格
一組可以選取的動作(metion)
對於圍棋來說,就是可以落子的位置; 對於股票交易來說,就是每個時間點,買入或者賣出的股票以及數量。
一個可以和決策主體(agent)進行互動的環境(environment) 這個環境會決定每個動作後狀態如何變化。
棋手(主體)的落子會影響棋局(環境),環境給主體獎勵(贏)或懲罰(輸) 操盤手(主體)的買入或賣出會影響股票價格(環境,供求關係決定價格),環境給主體獎勵(賺錢)或懲罰(虧錢)
回報(reward)規則 當決策主體通過行動使狀態發生變化時,它會獲得回報或者受到懲罰(回報為負值)。
《人工智慧基礎高中版》這本書,有時間建議讀者可以自己閱讀,圖書連結
原文連結 jinkey.ai/post/tech/5… 本文作者 Jinkey(微信公眾號 jinkey-love,官網 jinkey.ai) 文章允許非篡改署名轉載,刪除或修改本段版權資訊轉載的,視為侵犯智慧財產權,我們保留追求您法律責任的權利,特此宣告!