CN / EN
banner圖
掌握核心技術 駕馭光的運用

技術文章

人工智能擁抱大數據

日期:2019-02-20 來源:币游国际
人工智能擁抱大數據_heydanbo.com
1、機器什麽時候才能懂人心
        雖說有了大數據,人的欲望卻不能夠滿足。雖說在大數據平台裏麵有搜索引擎這個東西,想要什麽東西一搜就出來了。但也存在這樣的情況:我想要的東西不會搜,表達不出來,搜索出來的又不是我想要的。

        例如音樂軟件推薦了一首歌,這首歌我沒聽過,當然不知道名字,也沒法搜。但是軟件推薦給我,我的確喜歡,這就是搜索做不到的事情。當人們使用這種應用時,會發現機器知道我想要什麽,而不是說當我想要時,去機器裏麵搜索。這個機器真像我的朋友一樣懂我,這就有點人工智能的意思了。
        人們很早就在想這個事情了。最早的時候,人們想象,要是有一堵牆,牆後麵是個機器,我給它說話,它就給我回應。如果我感覺不出它那邊是人還是機器,那它就真的是一個人工智能的東西了。
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平台進入了雲計算。


返回列表