小議:人工智能

轉載自:http://blog.csdn.net/flylittlehorse/article/details/60824886


2014年,大數據開始成爲熱詞,在神州大地的各大媒體,論壇,會議上出現。如果有人恰好在你身邊談論大數據,而你又一臉懵圈的只能應和着說,我同意,我贊成,我也是這麼想的,那是怎一個囧字了得啊。而今,滾滾長江東逝水,一代新人勝舊人,人工智能站出來說:數風流人物還看今朝。好吧,親,老司機帶您上路,從此告別懵圈的稚嫩面龐,開始拉風的裝X人生。


       什麼是人工智能,估計這對很多人來說,簡直就是最熟悉的陌生人。終結者式的機器人肯定是吧!沒錯。我家的掃地機器人也算吧!沒錯,還有呢? 疑問


       凱文凱利在《必然》這本書裏說,在他還too young too navie的時候問google的創始人,雅虎也做搜索,很多公司都做搜索,你們也做搜索,有什麼特別的競爭優勢呢? google創始人微微一笑,答,其實我們是做人工智能的。沒錯,google和百度的搜索引擎裏大量的使用了人工智能的技術,爲的是能夠根據你輸入的詞句來爲你找到最好的搜索結果。所以看似不相關的搜索引擎也屬於人工智能。接下來小編不爲你描述抽象的定義,小編爲你列舉一些常見的應用來告訴你,其實人工智能已經佔據了我們生活的方方面面。


       搜狗輸入法在你輸入拼音之後爲你列出最有可能的漢字,淘寶爲你推薦你喜歡的商品導致你家到處都堆積着無用之物,京東的當日送達讓你驚訝這樣都行,打開優酷,滿屏都是你喜歡的節目,打開每日頭條,全是你愛看的新聞, word可以校正你輸入的錯誤英語,QQ郵箱自動幫你過濾垃圾郵件等等等等。這些應用的背後都或多或少的採用了人工智能的技術。還有百度的人臉識別,微軟的小冰,google無人駕駛,蘋果的Siri語音助手,亞馬遜的Echo音箱。這個世界其實已經被人工智能包圍。你是否還在將信將疑,小編你到底懂不懂,你說的是真的嗎?憑什麼這樣說啊。親,老司機揮淚告訴您,真的沒騙您,這些都是人工智能,只不過屬於弱人工智能的範疇。


      人工智能有三個層次,弱人工智能,強人工智能,超人工智能。目前縱觀全人類,所達到的基本都是弱人工智能。因爲強人工智能的定義是擁有自我意識,超人工智能客官可以自由發揮想象。


   我們現在回到現實中,繼續弱人工智能之旅。以上所說的種種常見的應用,背後的原理都可以歸結爲概率統計。京東統計一下你最近常瀏覽哪些網頁,提前把你瀏覽的東西運到你家附近的倉儲中心,OK,萬事俱備,就等你上鉤了。淘寶統計一下你最近經常看什麼商品,然後爲你推薦相似的商品,親,心動不?優酷統計一下你最近看過哪些節目,爲你展示相關的視頻列表。輸入法統計大量文章中的漢字熱詞組合,預測你輸入的拼音和哪些常用字詞的組合最相近。百度google將用戶點擊作爲一項重要的數據來衡量網頁的排名,找到搜索詞最相關的網頁,下次搜索相同的東西時,最好的網頁就列在前面了。

    

    是不是很簡單?很多人可能又要說了,哪有你說的這麼簡單啊,這樣豈不是所有人都可以做了? 小編弱弱的告訴你,其實就是這樣,小編沒有撒謊大哭。當然,這些具體的實現背後涉及大量的算法模型和數據挖掘知識,但基本原理其實就是這樣,只不過大家都是在尋找更精確的統計預測方法,從大量看似無用的數據中,分離出有用的信息,透過現象探尋事物的本質。


    你可能常聽到一個高大上的詞彙:機器學習Machine Learning)。機器學習中的各種算法:迴歸分析,樸素貝葉斯,馬爾可夫鏈,支持向量機,神經網絡,深度學習DeepLearning)等都是在做類似統計分析的事情。從紛繁雜亂的數據中,尋找出影響結果的關鍵因素。


     說到這,數據的重要性有沒有在客官心中留下深深的烙印?以上列舉的這些殺手級應用的一個關鍵就是有沒有可以使用的數據供人工智能的算法來分析。那什麼是數據呢?什麼樣的數據纔可以拿來使用呢?在互聯網上,你的瀏覽記錄,鏈接點擊次數,論壇的灌水留言,視頻的彈幕,大V的牢騷,GPS的定位,遊戲的歷史記錄,支付寶的消費記錄等等這些都是可以使用的數據。


      這麼多看似雜亂的數據,對於普通人來說毫無用處,但對於數據公司來說,那可是寶貝啊。他們可以從中窺探出輿論的走向,經濟的發展形式,股票的前景,你的信用如何,你的喜好是什麼等等等等,然後大把大把的賺錢。君不見阿里爲何收購新浪,facebook最值錢的是什麼?這個時代,數據就像未開採的金礦,使得淘金的人們蜂擁而至。安卓應用在安裝時第一條就是,我會訪問你的聯繫人列表,查看你的GPS定位,你同意嗎?你不同意能怎麼着,不同意就拜拜,爺不伺候了。Google地圖爲什麼連你們村那通幽的小徑都能知道,因爲你拿着開啓了GPS的手機從那走過啊!得意聰明的小編早就看穿了一切。


     你可能還會問:小編,你說的這些真的是人工智能嗎?我還是覺得你說的太隨意太簡單了!委屈其實這些很多今天看似so easy的事情在互聯網沒有流行之前基本沒法做。沒有數據,怎麼統計,再高大上的算法沒法解決沒有數據的寂寞。當然了,如果你很有錢(小編正好相反大哭),組織五毛黨發小禮品進行問卷調查也可以,但這樣做浪費人力物力不說,調查的結果也不一定準確。因爲即使小編愛看我是非誠勿擾,但小編肯定一臉嚴肅的告訴你,新聞聯播纔是我的最愛奮鬥。所以,這樣的問卷統計結果只會把你往溝裏帶。我這樣的老司機是不會的。好了,說了這麼多,一直在說人工智能簡單,小編要不拿出點實力,估計很多人要向我扔鞋了敲打。下面帶你進入輕度燒腦模式。


     以上介紹的都是基本的原理知識,高級的應用實現其實路漫漫其修遠兮,但是不要怕,老司機爲你帶路。設想一下,你是一個大boss,你有大把大把的歷史銷售數據,那你就可以用Excel統計出什麼產品好賣,幾月份熱銷。再設想下,你是一個圍棋高手,我給你數十萬盤的圍棋遊戲的記錄數據,你能拿來做什麼呢?你能用Excel從中找出什麼有用的信息?抓狂 但Alpha狗嗅出來了。2016年,AlphaGo戰勝韓國圍棋世界冠軍,職業九段選手李世石,成爲這一輪人工智能爆發的輿論導火索。這一標誌性的事件使得大衆突然意識到,原來人工智能這麼強悍尷尬。但也有人質疑,切,早在1997IBM的深藍戰勝國際象棋高手卡斯帕羅夫,怎麼就沒這麼轟動呢,也沒見當時有多少人去抱人工智能的大腿嘛。


     生氣老司機來告訴你why。深藍取勝和AlphaGo取勝,其背後的原理有本質的區別。嚴格的說深藍不屬於人工智能,雖然看似很智能。深藍採用的策略是利用強大的計算能力,窮舉所有可能的下棋套路,在一秒鐘內模擬千萬次的走棋結果,這些走棋的套路,都是事先由IBM的攻城獅人爲定義好的,所以深藍是勝在計算能力上,和智能其實不怎麼沾邊,它是在秀肌肉,不是在秀大腦。試問有多少領域可以事先人爲定義好套路讓超級計算機去模擬所有的情況呢?所以深藍的技術對其它領域的推廣沒有多少實際的意義。而AlphaGo卻是不同的實現方式,沒有人事先爲AlphaGo定義圍棋的下棋套路,Google的攻城獅只爲AlphaGo編寫了一個深度學習的算法,然後把數十萬盤的圍棋遊戲記錄餵給AlphaGo,然後AlphaGo就會下圍棋了,神奇不?再然後工程師每天重複餵它個千八百萬次,它就越來越厲害,然後的然後,李世石就輸了。而且AlphaGo在和李世石對弈時只使用了幾十臺Google的普通服務器。(這裏要注意一下,這裏是說的是對弈時只使用了幾十臺服務器,之前每天喂狗時是使用上萬臺服務器進行訓練的), 而且深度學習的算法並不是專爲圍棋而設計,它是一個通用的算法,很多領域,很多行業的數據都可以拿來喂這隻狗,餵它什麼數據它就是什麼狗,忠誠可靠啊。讀到這裏,是不是有點雲裏霧裏的感覺。這麼神奇?沒錯,就是這麼神奇。深度學習的神經網絡算法還可以應用到機器翻譯,圖像識別,語音識別,搜索引擎的優化,輸入法的優化,互聯網廣告的定向分發,淘寶的推薦,互聯網金融的信用認證等等等等,而且就目前的行業發展來看,在引入了深度學習算法之後,以前棘手的難題就會有質的突破。


                       圖 1 . 這張圖是一個識別手寫數字的神經網絡,只有三層(輸入層,隱藏層,輸出層),輸入層是784個神經元,因爲輸入層的神經元較多,所以圖中省略了部分,其它層沒有任何省略。之所以輸入層是784個神經元,是因爲輸入的手寫數字圖片是28×28的灰度圖片,總共有784個像素,因爲是灰度圖片,每個像素只有一個整數值,所以28×28的灰度圖片總共是784個整數值,每一個整數值對應到一個輸入神經元上作爲這個神經網絡的輸入。


      很多人可能對小編以上偶爾提及的算法感到迷惑了,你說的到底是什麼算法,是深度學習還是神經網絡,如果你是說神經網絡,不是早就有了嗎?我們圖書館八百年前就有這書了。沒錯,神經網絡早就有了,我說的是深度神經網絡。???? 耍我啊? 客官莫生氣,小編爲你慢慢道來。目前大家所說的算法都是深度學習,但深度學習的前身是神經網絡,神經網絡的前身是感知機,這都是一點一點演化而來的,正所謂長大後我就成了你。深度學習本質上也是神經網絡,之所以叫深度學習是爲了重點突出現在所實現的神經網絡的深度和以往所說的神經網絡在深度上有很大的區別,以前的神經網絡使用單一的反向傳播的訓練方式,而且由於以前硬件計算能力的限制,頂多訓練兩三層就已經是極限了(這裏不是說反向傳播的訓練算法不好,只能說不完善),而深度學習算法在訓練上使用稍微不同的方式,使得神經網絡的層數可以達到很多很多層(我只能說很多層,因爲隨着計算節點的增加,神經網絡的層數也可以增加),這是在2006年取得的突破,由Geoffrey Hinton提出可以使用一種被稱爲貪婪逐層預訓練的方式來有效的訓練多層神經網絡(簡單的說就是先使用大量無標籤的數據對層數很深的神經網絡進行熱身,把這個神經網絡的參數先訓練出一些粗糙的數值,雖然此時這些參數值還不太正確,但沒關係,就是這麼灑脫----這叫無監督學習,然後再用少量有標籤的數據基於反向傳播算法進行微調,這時,之前不太正確的參數值在這裏被一點點的優化----有監督學習),並且被很多專家驗證可行。外加上雲計算在計算能力上的助推,以前只存在於書本理論中的神經網絡算法,終於以一種嶄新的面貌開始進入實際使用了,這就是深度學習算法(Deep Learning)。你在很多文章上有時既看到深度學習,又會同時看到CNN(卷積神經網絡),RNN(循環神經網絡)。到底說的什麼,這要取決於你從哪個角度來理解。


      截至2016年,一個粗略的經驗法則是,有監督的深度學習算法在每類給定約5000個標註樣本進行訓練的情況下,一般能夠達到人類可以接受的性能和準確性,當至少有1000萬個標註樣本的數據集用於訓練時,它將達到或超過人類的表現。深度學習算法在機器學習(Machine Learning)領域的算法大家族裏已經是傲視羣雄。但另外再說一點,我並不是說其它所有的機器學習算法都不如深度學習,重點是選取適合你自己應用的算法纔是明智之舉。


         覺得小編寫的如何,感覺好就給小編點個贊吧!小編會繼續給自己打雞血,爲您介紹人工智能方面的知識,如果您有感興趣的話題,請給小編留言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章