▌一、AI的定義及學術上的AI概念
AI,即人工智能,是當前技術大熱門,一定有很多同學想學,但是又覺得高深莫測,不知從何下手,沒關系,本文會讓大家迅速入門。
首先明確下AI的定義,很多人抱怨AI已經變成了一種營銷語言,是個筐,什么都往里裝,而實際上似乎也是這樣……AI本來就是個很寬泛的概念,年輕人可能沒見過下面這種東西:
(圖1:人工智能是個筐,洗衣機也往里裝)
二十年前的AI洗衣機!上面會有一個大大的Fuzzy Logic標簽和按鈕,這個標簽彰顯了洗衣機的尊貴身份,按下這個按鈕則會有一些不可描述的事情發生!實際上這種洗衣機在洗衣服之前只是做了下面這些工作:
(圖2:人工智能洗衣機的 " 智能 " 之處)
什么?這種只要幾個傳感器和幾個If-Else語句、絕大多數程序員都能輕松搞定的事情,也算是AI嗎?當然算,這是AI中的一種,被稱為模糊控制,真正的學術概念,真的不是洗衣機廠在吹牛,那么學術上的AI概念是什么呢?
(圖3:什么是人工智能)
簡單的說,AI就是任何可以讓機器模擬人類行為的技術,像上文中可以自主決定洗衣時間的洗衣機,使用的就是AI中的模糊控制技術,屬于AI技術中最為簡單的一種,更為復雜的還有知識表示與推理、模式識別、遺傳算法等,上述這些都是相對比較傳統的AI。
當前大熱機器學習技術是AI至關重要的子集,與模糊控制、知識表示與推理這類基于顯式預置規則的技術不同,機器學習是基于統計學方法的,是利用統計學方法從已有的經驗數據中獲取規律并改進機器行為的AI技術。
機器學習雖然在近幾年才變得熱門,但是其算法本質上并不是什么新東西,比如貝葉斯分類器早已廣發應用于垃圾郵件攔截至少有十余年之久。有一大類使用多層神經網絡的機器學習技術被稱為深度學習,這里深度的含義即是多層,多層中的多是個相對概念,根據算法的不同,可能是三五層,也可能是上百層。
深度學習也是種非常古老的技術,比模糊邏輯的洗衣機還要老,但是之前一直受算力的限制而無法發揮其技術潛力,一次稍微復雜些的深度學習實驗會進行百萬億次甚至百億億次的浮點運算,當年即使是最頂級的人工智能專家也苦于無法找到具備此等算力實驗環境而只能讓才華停留在空想。
近年來由于GPU性能的大幅提高和GPU集群技術的普及,具備這種算力的硬件成本大幅下降,極大的促進了深度學習技術的發展,而現在公有云也會提供GPU服務,花個電影票的價錢就能體驗一次深度學習過程,舊時王謝堂前都難有的燕,嘩啦啦的飛入尋常碼農家。
讀到這里有人可能會問,為什么是GPU推動了深度學習的發展,CPU不行嗎?簡單的說,深度學習需要大量的神經網絡運算,這些運算中的絕大部分是矩陣的加法和乘法,運算本身并不復雜,只是運算量特別大,從運算復雜度上看,CPU做這種運算屬于牛刀殺雞,但是從運算量上看,雞太多了,區區幾把牛刀,即CPU的幾個核,累死也殺不完。
而GPU生來就是做圖像處理的,圖像的數據結構就是矩陣,圖像處理主要就是做矩陣的加法和乘法。即GPU專注于矩陣運算,而不必像CPU那樣支持多種運算、數據結構和控制邏輯,這就讓GPU的核比CPU的核簡單的多,所以兩千塊的CPU最多也就六個核,而兩千塊的GPU則有幾百個核,高端GPU有幾千個核。雖然GPU的每個核在功能和性能上都遠不如CPU,但是核的數量是CPU的成百上千倍,所以在做矩陣運算這個單項上,GPU的性能是CPU的十幾倍,甚至上百倍。
▌二、機器學習:基于統計學方法的AI
AI是個很大的技術范疇,當前大熱的機器學習是基于統計學方法的AI,而深度學習是機器學習中的最新大熱門,當紅炸子雞。
或者可以說,AI這個概念在不同的時代背景下有著不同的含義,比如二十年前談家電的時候AI就是模糊控制,今天我們在IT圈里說AI一般指的就是機器學習。那么問題又來了,機器學習能用來做什么呢?
簡單的說,解決一切無法用顯式預置規則解決的問題,例如下圖
(圖4:機器學習的適用場景)
有人說了,我列一組規則,滿足這些規則的圖像,就是樹,比如:
有一個圓柱形的物體支撐著一個扇形物體;
圓柱形物體是深褐色或者類似的顏色,扇形物體是綠色或者黃色;
……
這樣貌似可行,可是再想想,這也可能是根棒棒糖。有人又說了,那我再繼續加規則,可是問題是,不能一直這樣的舉反例、加規則的循環下去,具體到工程實現中,就是不可能讓一個程序員一直在一旁待命,遇到反例就改程序,更糟糕是這些規則之間還可能會存在沖突,規則多了就很難理清。
這時機器學習就有了用武之地了,讓機器學習程序讀取一些樹的圖片,程序就會自動提取這些圖片的特征,讀取的圖片越多,提取的特征就越精確,這些圖片就是訓練數據,只要訓練數據的質量足夠好,訓練次數足夠多,這個程序識別樹的精確度就會非常高,甚至比人還高。再回想一下人類識別樹的過程,人類思維從來都不是通過一系列的規則來識別樹的,而是小時候看過一些樹的照片和實物后,“莫名其妙的”就知道什么是樹了,這個過程實際上是和機器學習非常相似的。
然而可怕的是,通過這樣的學習過程,機器學習程序不光可以識別樹,還可以進一步識別哪些是蘋果樹、哪些是桃樹、哪些是荔枝樹,以至于黑楊、糖楓、鐵杉、赤松等成百上千種你從沒見過的品種,完勝絕大多數人類選手。
所以李開復老師曾經說過:“如果人可以在5秒鐘內對工作需要的思考和決策做出相對應的決定,那么這項工作就有非常大的可能被AI全部或部分取代。”更可怕的是,機器學習程序是可以7×24不停的學習和工作的,所以在可以預見的未來,在此類任務上除少數專家之外(這些專家為機器學習程序提供訓練數據),絕大多數人類必將完敗。甚至最后連這些專家都不是AI的對手,因為AI可以集結眾多專家的智慧,就像AlphaGo下圍棋一樣。
所以不要糾結AI會不會戰勝人類了,就像沒人會糾結自己算算術不如計算器一樣,這些無聊的事情都留給機器去做好了。
為什么我們要如此關注機器學習呢?
(圖5:眼下必須高度關注機器學習,尤其是深度學習)
卷積神經網絡之父YannLeCun說這是一種全新的編程方式,叫DifferentiableProgramming。DifferentiableProgramming和聲明式編程有些相似之處:你只需準備好輸入數據和期望的輸出數據作為訓練數據,神經網絡就會自動構造出中間的過程。更有意思的是,訓練好的機器學習模型是可以芯片化的,相比于通用型的CPU,這種芯片可以大大降低晶體管數量和能耗,并提高運行效率。
▌三、幾個神經網絡的基本概念
(圖6:基本概念1)
神經元:簡單的說就是一個一次函數y=wx+b,其中w被稱為權重,即weight,b被稱為偏差,即bias,x和y即是神經元的輸入和輸出。就是這么簡單。記得之前有人開玩笑說我在二維平面上畫一條直線,這個就是AI了。設想如果你把一盒圍棋撒到了地板上,然后讓你判斷一下能否在地板上畫一條直線把黑子和白子分開,如果能請畫出這條直線,現在讓你用程序來完成此事,這當然是AI!
神經網絡:即多個神經元的輸入和輸出對接。
(圖7:基本概念2)
深度神經網絡:即多個神經網絡對接。
常見的深度神經網絡有卷積神經網絡CNN和遞歸神經網絡RNN。
(圖8:常用的神經網絡)
▌四、老鼠的屁股:卷積神經網絡
首先解釋下什么是卷積,其實很簡單:
(圖9:什么是卷積)
就是兩個矩陣的對應位置相乘再求和。大矩陣就是神經網絡要處理的數據,比如一幅樹的圖片,小矩陣被稱為卷積核,神經網絡對圖片的處理過程就是用卷積核在大矩陣上一步步的移動并相乘、求和,這么做的目的是什么呢?卷積核實際上是個篩子,上述過程實際上就是對大矩陣進行掃描和特征篩選的過程。
說到這里,可能有同學會問,現在我知道卷積是什么了,那卷積神經網絡里的神經元和神經網絡又在哪里呢?
答案是,卷積核其實就是神經元。前面說神經元就是一次函數,那其實是神經元最基本的形式,實際應用中這種相乘和相加關系大多是用矩陣來表示的,比如卷積核和被處理矩陣每個對應位置的相乘都是一個一次函數(這里做了些簡化,忽略了相加),整體上表示為矩陣的相乘和相加,也就是前文中說的GPU最擅長的事情。而一堆卷積核的“互動”和其后的一些處理過程,就構成了神經網絡。
我們繼續以圖片識別為例解釋卷積神經網絡的工作過程,至于其他類型的工作,只要輸入數據可以用矩陣描述,過程和圖片識別非常類似。
(圖10:卷積的作用)
上圖的卷積核是個老鼠屁股,這里使用的是灰度圖片,所以老鼠屁股被表示為一個具有圖片像素灰度值的小矩陣,如果是彩色圖片那就是分別描述三原色深度的三個小矩陣,而老鼠被表示為一個具有像素灰度值的大矩陣,彩色圖片同理。
現在讓卷積核在老鼠圖片上逐個像素的移動、相乘、求和,突然得出了一個很大的數,即發現了一個老鼠屁股!這里的“很大”實際上是指卷積運算的結果超過了一個激活函數的閾值,超過了這個閾值就發出警報:“叮咚,發現老鼠屁股!”,沒超過就默不做聲。
接下來再想象一下我們有老鼠耳朵卷積核、老鼠眼睛卷積核、老鼠胡須卷積核、老鼠尾巴卷積核等一大堆卷積核,分別用這些卷積核掃描圖片,如果卷積運算的結果都超過了閾值,就可以說這副圖片具備老鼠的各種特征,即這副圖片的內容在很大的可能性上是一只老鼠。
現在同學們應該明白卷積的作用了吧!上面這些老鼠圖片也不知道最初源自何處,真是非常形象的說明了問題,在此對原作者深表感謝。
再回到前面那個“如何識別一棵樹”的問題,如果用卷積神經網絡來解決這個問題,實際上就是用通過訓練數據提取樹的特征的過程,主要工作就是求得描述這些特征的卷積核,然后再用這些卷積核去掃描訓練數據之外的圖片,就可以判斷出圖片的內容是不是一棵樹了。
-
神經網絡
+關注
關注
42文章
4765瀏覽量
100562 -
機器學習
+關注
關注
66文章
8382瀏覽量
132439 -
ai技術
+關注
關注
1文章
1261瀏覽量
24253
原文標題:AI雜談:從洗衣機到老鼠屁股
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論