前言
雖說有了大數據,人的欲望總是這個不能夠滿足。雖說在大數據平臺里面有搜索引擎這個東西,想要什么東西我一搜就出來了。但是也存在這樣的情況,我想要的東西不會搜,表達不出來,搜索出來的又不是我想要的。例如音樂軟件里面推薦一首歌,這首歌我沒聽過,當然不知道名字,也沒法搜,但是軟件推薦給我,我的確喜歡,這就是搜索做不到的事情。當人們使用這種應用的時候,會發現機器知道我想要什么,而不是說當我想要的時候,去機器里面搜索。這個機器真像我的朋友一樣懂我,這就有點人工智能的意思了。
人們很早就在想這個事情了。最早的時候,人們想象,如果要是有一堵墻,墻后面是個機器,我給它說話,它就給我回應,我如果感覺不出它那邊是人還是機器,那它就真的是一個人工智能的東西了。
2. 讓機器學會推理
怎么才能做到這一點呢?人們就想:我首先要告訴計算機人類的推理的能力。你看人重要的是什么呀,人和動物的區別在什么呀,就是能推理。我要是把我這個推理的能力啊告訴機器,機器就能根據你的提問,推理出相應的回答,真能這樣多好。推理其實人們慢慢的讓機器能夠做到一些了,例如證明數學公式。這是一個非常讓人驚喜的一個過程,機器竟然能夠證明數學公式。但是慢慢發現其實這個結果,也沒有那么令人驚喜,因為大家發現了一個問題,數學公式非常嚴謹,推理過程也非常嚴謹,而且數學公式很容易拿機器來進行表達,程序也相對容易表達。然而人類的語言就沒這么簡單了,比如今天晚上,你和你女朋友約會,你女朋友說:如果你早來,我沒來,你等著,如果我早來,你沒來,你等著。這個機器就比比較難理解了,但是人都懂,所以你和女朋友約會,你是不敢遲到的。
3. 教給機器知識
所以僅僅告訴機器嚴格的推理是不夠的,還要告訴機器一些知識。但是知識這個事兒,一般人可能就做不來了,可能專家可以,比如語言領域的專家,或者財經領域的專家。語言領域和財經領域知識能不能表示成像數學公式一樣稍微嚴格點呢?例如語言專家可能會總結出主謂賓定狀補這些語法規則,主語后面一定是謂語,謂語后面一定是賓語,將這些總結出來,并嚴格表達出來不久行了嗎?后來發現這個不行,太難總結了,語言表達千變萬化。就拿主謂賓的例子,很多時候在口語里面就省略了謂語,別人問:你誰啊?我回答:我劉超。但是你不能規定在語音語義識別的時候,要求對著機器說標準的書面語,這樣還是不夠智能,就像羅永浩在一次演講中說的那樣,每次對著手機,用書面語說:請幫我呼叫某某某,這是一件很尷尬的事情。
人工智能這個階段叫做專家系統。專家系統不易成功,一方面是知識比較難總結,另一方面總結出來的知識難以教給計算機。因為你自己還迷迷糊糊,似乎覺得有規律,就是說不出來,就怎么能夠通過編程教給計算機呢?
4. 算了,教不會你自己學吧
于是人們想到,看來機器是和人完全不一樣的物種,干脆讓機器自己學習好了。機器怎么學習呢?既然機器的統計能力這么強,基于統計學習,一定能從大量的數字中發現一定的規律。
其實在娛樂圈有很好的一個例子,可見一斑
有一位網友統計了知名歌手在大陸發行的 9 張專輯中 117 首歌曲的歌詞,同一詞語在一首歌出現只算一次,形容詞、名詞和動詞的前十名如下表所示(詞語后面的數字是出現的次數):
如果我們隨便寫一串數字,然后按照數位依次在形容詞、名詞和動詞中取出一個詞,連在一起會怎么樣呢?
例如取圓周率 3.1415926,對應的詞語是:堅強,路,飛,自由,雨,埋,迷惘。稍微連接和潤色一下:
堅強的孩子,
依然前行在路上,
張開翅膀飛向自由,
讓雨水埋葬他的迷惘。
是不是有點感覺了?當然真正基于統計的學習算法比這個簡單的統計復雜的多。
然而統計學習比較容易理解簡單的相關性,例如一個詞和另一個詞總是一起出現,兩個詞應該有關系,而無法表達復雜的相關性,并且統計方法的公式往往非常復雜,為了簡化計算,常常做出各種獨立性的假設,來降低公式的計算難度,然而現實生活中,具有獨立性的事件是相對較少的。
5. 模擬大腦的工作方式
于是人類開始從機器的世界,反思人類的世界是怎么工作的。
人類的腦子里面不是存儲著大量的規則,也不是記錄著大量的統計數據,而是通過神經元的觸發實現的,每個神經元有從其他神經元的輸入,當接收到輸入的時候,會產生一個輸出來刺激其他的神經元,于是大量的神經元相互反應,最終形成各種輸出的結果。例如當人們看到美女瞳孔放大,絕不是大腦根據身材比例進行規則判斷,也不是將人生中看過的所有的美女都統計一遍,而是神經元從視網膜觸發到大腦再回到瞳孔。在這個過程中,其實很難總結出每個神經元對最終的結果起到了哪些作用,反正就是起作用了。
于是人們開始用一個數學單元模擬神經元
這個神經元有輸入,有輸出,輸入和輸出之間通過一個公式來表示,輸入根據重要程度不同(權重),影響著輸出。
于是將n個神經元通過像一張神經網絡一樣連接在一起,n這個數字可以很大很大,所有的神經元可以分成很多列,每一列很多個排列起來,每個神經元的對于輸入的權重可以都不相同,從而每個神經元的公式也不相同。當人們從這張網絡中輸入一個東西的時候,希望輸出一個對人類來講正確的結果。例如上面的例子,輸入一個寫著2的圖片,輸出的列表里面第二個數字最大,其實從機器來講,它既不知道輸入的這個圖片寫的是2,也不知道輸出的這一系列數字的意義,沒關系,人知道意義就可以了。正如對于神經元來說,他們既不知道視網膜看到的是美女,也不知道瞳孔放大是為了看的清楚,反正看到美女,瞳孔放大了,就可以了。
對于任何一張神經網絡,誰也不敢保證輸入是2,輸出一定是第二個數字最大,要保證這個結果,需要訓練和學習。畢竟看到美女而瞳孔放大也是人類很多年進化的結果。學習的過程就是,輸入大量的圖片,如果結果不是想要的結果,則進行調整。如何調整呢,就是每個神經元的每個權重都向目標進行微調,由于神經元和權重實在是太多了,所以整張網絡產生的結果很難表現出非此即彼的結果,而是向著結果微微的進步,最終能夠達到目標結果。當然這些調整的策略還是非常有技巧的,需要算法的高手來仔細的調整。正如人類見到美女,瞳孔一開始沒有放大到能看清楚,于是美女跟別人跑了,下次學習的結果是瞳孔放大一點點,而不是放大鼻孔。
6. 沒道理但做得到
聽起來也沒有那么有道理,但是的確能做到,就是這么任性。
神經網絡的普遍性定理是這樣說的,假設某個人給你某種復雜奇特的函數,f(x):
不管這個函數是什么樣的,總會確保有個神經網絡能夠對任何可能的輸入x,其值f(x)(或者某個能夠準確的近似)是神經網絡的輸出。
如果在函數代表著規律,也意味著這個規律無論多么奇妙,多么不能理解,都是能通過大量的神經元,通過大量權重的調整,表示出來的。
7. 人工智能的經濟學解釋
這讓我想到了經濟學,于是比較容易理解了。
我們把每個神經元當成社會中從事經濟活動的個體。于是神經網絡相當于整個經濟社會,每個神經元對于社會的輸入,都有權重的調整,做出相應的輸出,比如工資漲了,菜價也漲了,股票跌了,我應該怎么辦,怎么花自己的錢。這里面沒有規律么?肯定有,但是具體什么規律呢?卻很難說清楚。
基于專家系統的經濟屬于計劃經濟,整個經濟規律的表示不希望通過每個經濟個體的獨立決策表現出來,而是希望通過專家的高屋建瓴和遠見卓識總結出來。專家永遠不可能知道哪個城市的哪個街道缺少一個賣甜豆腐腦的。于是專家說應該產多少鋼鐵,產多少饅頭,往往距離人民生活的真正需求有較大的差距,就算整個計劃書寫個幾百頁,也無法表達隱藏在人民生活中的小規律。
基于統計的宏觀調控就靠譜的多了,每年統計局都會統計整個社會的就業率,通脹率,GDP等等指標,這些指標往往代表著很多的內在規律,雖然不能夠精確表達,但是相對靠譜。然而基于統計的規律總結表達相對比較粗糙,比如經濟學家看到這些統計數據可以總結出長期來看房價是漲還是跌,股票長期來看是漲還是跌,如果經濟總體上揚,房價和股票應該都是漲的。但是基于統計數據,無法總結出股票,物價的微小波動規律。
基于神經網絡的微觀經濟學才是對整個經濟規律最最準確的表達,每個人對于從社會中的輸入,進行各自的調整,并且調整同樣會作為輸入反饋到社會中。想象一下股市行情細微的波動曲線,正是每個獨立的個體各自不斷交易的結果,沒有統一的規律可循。而每個人根據整個社會的輸入進行獨立決策,當某些因素經過多次訓練,也會形成宏觀上的統計性的規律,這也就是宏觀經濟學所能看到的。例如每次貨幣大量發行,最后房價都會上漲,多次訓練后,人們也就都學會了。
8. 人工智能需要大數據
然而神經網絡包含這么多的節點,每個節點包含非常多的參數,整個參數量實在是太大了,需要的計算量實在太大,但是沒有關系啊,我們有大數據平臺,可以匯聚多臺機器的力量一起來計算,才能在有限的時間內得到想要的結果。
人工智能可以做的事情非常多,例如可以鑒別垃圾郵件,鑒別黃色暴力文字和圖片等。這也是經歷了三個階段的。
第一個階段依賴于關鍵詞黑白名單和過濾技術,包含哪些詞就是黃色或者暴力的文字。隨著這個網絡語言越來越多,詞也不斷的變化,不斷的更新這個詞庫就有點顧不過來。
第二個階段時,基于一些新的算法,比如說貝葉斯過濾等,你不用管貝葉斯算法是什么,但是這個名字你應該聽過,這個一個基于概率的算法。
第三個階段就是基于大數據和人工智能,進行更加精準的用戶畫像和文本理解和圖像理解。
由于人工智能算法多是依賴于大量的數據的,這些數據往往需要面向某個特定的領域(例如電商,郵箱)進行長期的積累,如果沒有數據,就算有人工智能算法也白搭,所以人工智能程序很少像前面的IaaS和PaaS一樣,將人工智能程序給某個客戶安裝一套讓客戶去用,因為給某個客戶單獨安裝一套,客戶沒有相關的數據做訓練,結果往往是很差的。但是云計算廠商往往是積累了大量數據的,于是就在云計算廠商里面安裝一套,暴露一個服務接口,比如您想鑒別一個文本是不是涉及黃色和暴力,直接用這個在線服務就可以了。這種形勢的服務,在云計算里面稱為軟件即服務,SaaS (Software AS A Service)。于是工智能程序作為SaaS平臺進入了云計算。
-
人工智能
+關注
關注
1791文章
47208瀏覽量
238297 -
大數據
+關注
關注
64文章
8884瀏覽量
137409
原文標題:非技術人員也能看懂——人工智能擁抱大數據
文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論