要知道AI的工作原理,Get這些點就夠了
我們無法想象,一個快馬加鞭傳遞三百里加急的信件的信使看到我們今天拿起智慧手機一秒之內傳遞訊息的震驚。我們也曾對著智慧機器人像個孩童一樣問東問西——雖然它懂得比你想象的多得多。當我們看到鋪天蓋地的新聞說阿爾法狗打敗了李世石,人工智慧要改造這個世界。
一、 電腦一思考,人類就尖叫——一臺用來計算的計算機,為什麼突然學會了思考?
我們把計算機叫做電腦,既然稱之為“腦”就說明在人們眼裡,計算機像大腦一樣在思考。哪怕是簡單的1+1=2的計算。當然,計算機思考的背後還是人類的思考。但是,就像我們坐雲霄飛車一樣,除了最初的推動力,其他時間,雲霄飛車靠的都是地球引力在運動,電腦在最初的步驟裡,是需要人類設定程式來計算,但是,當它進入一個更高深的層次,發現規律並且自我運算的時候,計算機就開始自我賦能了。
當我們教別人如何做事的時候,首先會在腦子裡將事情的步驟想一想,然後用“編碼”——語言一二三地總結出來傳授,最後讓他做一遍驗證一下學會了沒有。人類要如何“教會”計算機做事呢?
教會計算機按照人類思維模式做事,是不是可以將此理解為智慧的開端?智慧換個詞就是智慧,智慧的意思是辨析判斷、發明創造的能力。書中講到智慧行為一般包括兩個部分:搜尋+評估。
任何生物要想生存,一定要有對生存環境的判斷。哪裡有危險,哪裡能吃到東西。這種判斷換句話說就是“多看一步”——預測未來。這種預測最行之有效的,就是拋棄一切主觀意識和價值判斷,對事物的發展進行推測——有一個詞概括了這種判斷和推測:模擬,就是基於現有狀況機械地推測今後的變化。
搜尋是進行模擬的前提。計算機的搜尋功能會用讓它搜尋到正確的選項,在下棋的時候,搜尋就意味著,找到一個正確的落子點。
當我們到喧鬧嘈雜的菜市場,如何才能快速確定誰家的菜新鮮便宜呢?初入菜市場的你,評估的結果一定是:顧客最多的那家。電腦對下棋也需要評估。電腦將整個資源進行切割,在切割後的各個部分裡,再進行搜尋並且對評價較高的部分進行進一步的搜尋。這就像我們分解目標各個擊破一樣。
二、 瞭解人工智慧之前,必須要了解的深度學習。
如何讓計算機知道這張圖片狗是狗而不是貓?就像媽媽對你說的,要學習才能知道更多,把學習的任務交給電腦,這種方式叫機器學習。在創新工場CEO李開復著的《人工智慧》一書中,對機器學習有一個定義:機器學習……是一種用數學模型對真實世界中的特定問題進行建模,以解決該領域內相似問題的過程。
仔細看一遍這個概念,不要被裡面的專業名詞嚇跑。通俗一點理解,就是像我們人類學習漢字一樣,從天地人日月星開始,從不會到記住,一次一次地記憶,當我們看的次數足夠多時,這個字就印在腦海裡了,下次,不管這個字是楷體還是宋體,不管是毛筆寫的還是鋼筆寫的,我們不會認錯。計算機也是用這個規律來記憶的。
到今天,機器學習在畫像識別領域技術已經比較成熟了。比如人臉識別技術,或者你開啟某一個軟體掃一掃,就能知道任何一朵花兒的名字,亦或者接聽電話時候對面有可能就事人工智慧機器人跟你侃侃而談。在這裡,我們要說的是機器學習中的深度學習。
三、 什麼是強化學習?
有兩種學習方式:監督式學習和強化學習。顧名思義,監督式學習就是有老師看著學,而強化學習不需要老師,計算機會對未知的環境進行隨機搜尋並反饋其結果。在反饋結果的過程中,“評估”被不斷強化,所以這個方法就被叫做,強化學習。
當這種強化學習技術運用到將棋領域的時候,將棋出現了人類可以永遠都想不出來的“棋路”——計算機自我發明了新的棋路。事實上,這些結果是建立在最初大資料輸入的前提下的,監督式學習讓電腦學到了最前沿的技術,然後才能強化學習。其實簡單點說就是,人類教會了計算機之後,計算機逐漸超過了師傅,開始自學成才了,就像上訴中解決電話機器人好不好用的問題一樣。當徒弟開始領悟規律,老師恐怕就真的追不上了。
阿爾法狗就是很好的例證。圍棋在進入電腦評估的時候,因為其棋面的複雜多樣性,每一步是很難用分值來計量。這時候,一種叫做蒙特卡洛法的運用隨機效果來進行推算的方法出現了。
其實從概念可以看出,這是一種看起來麻煩但是能夠在不確定性中找出答案的方法,對於圍棋這樣很難找到規律和計算方法的棋藝來說,這種方法是非常恰當的。阿爾法狗也是透過蒙特卡洛法,深度計算的結合,掌握了圍棋的方法戰勝人類的。
當人工智慧一步一步走進我們的生活,變得比人類更聰明的時候,人類難免會產生擔心,從普通人擔心的工作被槍佔,到人工智慧專家擔心人工智慧缺乏倫理觀,做出無法被人類控制的事。這也的確為人工智慧的發展敲響了警鐘,人類為了便利而將人工智慧推向了今天,但是說到底,人才是一切的根本,對此,我們要永遠記住並且遵循。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69925861/viewspace-2649880/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- springmvc知道這些就夠了SpringMVC
- spring 掌握這些就夠了Spring
- 前端面試考點多?看這些文章就夠了前端面試
- HashMap的實現原理(看這篇就夠了)HashMap
- 關於 nginx 前端知道這些就夠了Nginx前端
- Android混淆——瞭解這些就夠了Android
- Volatile的實現原理(看這篇就夠了)
- “作弊”:只需要知道這一個 Linux 命令就夠了Linux
- 使用 github 做程式碼管理,知道這些就夠了Github
- Spark架構與原理這一篇就夠了Spark架構
- 前端 --弄懂JS的變數提升做這些題就夠了前端JS變數
- NGINX 從入門到精通,學會這些就夠了Nginx
- 精益工廠佈局考慮這些就夠了!
- 區塊鏈是什麼?讀懂這些就夠了!區塊鏈
- 學Redis這篇就夠了Redis
- mongoDB看這篇就夠了MongoDB
- TCP/IP 知道這些就夠用了TCP
- kafka3.x原理詳解看這篇就夠了Kafka
- Ajax原理一篇就夠了
- 如何提升開發效率?用這些免費API就夠了API
- HTML教程(看完這篇就夠了)HTML
- 想熟悉PostgreSQL?這篇就夠了SQL
- Oracle索引,看這篇就夠了Oracle索引
- 雲端儲存是怎麼工作的?看這篇文章就足夠了!
- 遷移學習(Transfer),面試看這些就夠了!(附程式碼)遷移學習面試
- 從零開始學做微信小程式,看這些就夠了!微信小程式
- 關於在 Node.js 中引用模組,知道這些就夠了Node.js
- Android音視訊播放器框架看這些就夠了Android播放器框架
- 關於世界網際網路大會看完這些就夠了
- 乾貨|工作中要使用Git,看這篇文章就夠了Git
- 一致性hash原理 看這一篇就夠了
- 運營商三要素驗證原理,這篇文章就夠了!
- 【劍指Offer】Redis 分散式鎖的實現原理看這篇就夠了Redis分散式
- MySQL事務,這篇文章就夠了MySql
- 入門Webpack,看這篇就夠了Web
- APP瘦身這一篇就夠了APP
- Android Fragment看這篇就夠了AndroidFragment
- HttpServletRequest,看這篇文章就夠了HTTPServlet