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