1. 程式人生 > >谷歌AI版“你畫我猜”背後是什麼樣的原理?

谷歌AI版“你畫我猜”背後是什麼樣的原理?

我們先看看這個小程式是什麼,開啟微信小程式搜尋頁面,搜尋“猜畫小歌”,開啟這個小程式,點選開始作畫。小程式會先出題,告訴你畫什麼,20秒倒計時,你畫完內容,然後谷歌AI去猜,如果猜的答案和題目匹配,則通過,進入下一題,否則失敗。乍一看,怎麼像是在考我的繪畫能力呢,哈哈。

第一道題,讓我畫帆船,惜敗...

再來一遍,鑽戒,慘敗...

Google AI

谷歌總是善於用人民群眾喜聞樂見的方式“秀晒炫”自己的AI能力,這是來自 Google AI 的一款有趣的社交微信小程式,使用者可以在有限的時間內進行速寫塗鴉,在每一輪體驗中,使用者需要在規定時間內勾勒出一幅日常用品的圖畫(比如狗、鐘錶或鞋子),人工智慧則需要在時間結束前猜出圖畫中的物體。

640?wx_fmt=jpeg

如果你畫的東西在20秒內被谷歌人工智慧猜中,則過關,反之遊戲結束,還有排行榜來統計你的闖關數在好友中的排名,這也是微信小遊戲一貫的社交板塊。

640?wx_fmt=gif

如上圖,遊戲操作簡單,接下來就是和AI達成默契進行“你畫我猜”,如果多輪猜中,你就會進行連續的遊戲解鎖,然後登上朋友圈排行榜巔峰,考驗各位“靈魂畫手”的時候到了。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

當然,也有哭著喊著讓大家給評評理的,人工智慧沒有猜出來的這些畫作,到底是誰的錯?

“猜畫小歌”的背後是超5000萬個手繪素描資料群

猜畫小歌由來自 Google AI 的神經網路驅動,該網路源自超過5000萬個手繪素描的資料群,在此前谷歌推出的類似遊戲《Quick, Draw!》之中,對於這個神經網路有著較多的介紹,如果你對猜畫小歌很感興趣,也可以谷歌搜尋Quick, Draw!在PC端進行遊戲。

640?wx_fmt=jpeg

如下圖,谷歌所有出的猜畫題,其實已經有著大量的手繪素描的資料群,你這邊一邊畫,另一邊神經網路進行快速比對。

640?wx_fmt=jpeg

我們點選香蕉,可以看到無數各式各樣的手繪香蕉出現在你面前。

640?wx_fmt=jpeg

下面是關於臉的資料,看著各式各樣的臉還挺有趣,值得一提的是,在谷歌的手繪素描的資料群之中,筆畫的前後順序都是紀錄在內的,滑鼠移動到任意一個臉上面,就會自動出現畫圖過程。

640?wx_fmt=jpeg

看到這裡你是不是想說,看來人工智慧也不過如此,只是在資料的基礎上進行比對就好了,並不是神奇到不借助外力直接猜中我畫的是什麼。

在某種程度上,可以這麼說,但又不準確,其實AI還進行了大量複雜的工作,谷歌對於“猜畫小歌”的解釋當中這樣說道:計算機一直以來都是聰明的,現在有了AI以後,計算機可以用一種自然的,更接近人類的方式去理解這個世界,其中一個令人興奮的新進展就是計算機視覺技術,它能讓計算機直接理解輸入的視覺資訊,並由此“看到”這個世界。

谷歌說,這一技術既能在視訊通話中識別出你的朋友以便加上對應的標籤,也能幫助識別人類眼底診斷影象上的早期糖尿病症狀。而且,得益於“神經網路”技術,一些看起來極其困難的事情,計算機也能處理得非常好:比如,通過粗糙的草圖就能識別出是什麼物體。現在,計算機已經能“看到”你隨意塗鴉出的一團長著耳朵的墨跡可能是一隻熊貓。

玩“猜畫小歌”有什麼技巧?

  1.  不要拖泥帶水,簡潔最重要。因為程式只能接受大約200個左右的輸入點,如果畫很多細節,反而認不出來。

  2. 如果第一次畫的沒有識別出來,迅速擦掉重畫,不要希望AI會後期力挽狂瀾。從sketch-rnn模型可以看出,畫畫的路徑轉換為latent vector,前期的資料比重很重要。

  3. 最後一招:谷歌公開了所有類別的訓練樣本,大家可能上這個網站(https://github.com/googlecreativelab/quickdraw-dataset)下載,看看每個類別“正確”的畫法。

為什麼要在中國推小程式?

因為谷歌的網頁版猜畫小歌,由於大家都知道的原因,沒有中國的資料。這次利用微信小程式剛好收集一下中國的資料。有人還做了不同國家畫畫的差別,比如日本人畫圓是順時針的,而絕大多數國家是逆時針的,原因是日文中的圓的順時針寫的。韓國和俄羅斯使用者腦中,最直覺性的椅子影象是側放的,而美國、德國、巴西、南非都是正面放置的。後續基於這個大樣本,還能分析出很多好玩的東西。

什麼是“神經網路”技術?

神經網路(Neural Network,NN)或類神經網路,在機器學習和認知科學領域,是一種模仿生物神經網路(動物的中樞神經系統,特別是大腦)的結構和功能的數學模型或計算模型,用於對函式進行估計或近似。

神經網路由大量的人工神經元聯結進行計算,大多數情況下人工神經網路能在外界資訊的基礎上改變內部結構,是一種自適應系統,通俗的講就是具備學習功能。典型的神經網路具有以下三個部分:結構(Architecture);激勵函式(Activity Rule);學習規則(Learning Rule)。

不知道如何學習AI,關注公眾號回覆深度學習獲取視訊教學內容

640?wx_fmt=png

640?wx_fmt=png

推薦閱讀

博主11年java開發經驗,現從事智慧語音工作的研發,關注微信公眾號與博主進行技術交流!更過乾貨資源等你來拿!

640?wx_fmt=jpeg

640?wx_fmt=png