Google 小程序「猜畫小歌」背後的 AI 技術和原理淺析
最新
07-21
會議報名
機器學習原理
要聊到機器學習,我們應該知道,它主要有兩種方法:監督式學習(Supervised Learning)和無監督式學習(Unsupervised Learning)。什麼是監督式學習所謂監督式學習,就是需要我們提供大量的學習樣本,包括樣本相關的特徵數據以及相應的標籤。AI 程序可以通過這些樣本來學習相關的規律或是模式,然後通過得到的規律或模式來判斷沒有被打過標籤的數據是什麼樣的數據。就比如:「猜畫小歌」,我們小程序的用戶畫了大量的帶著標籤的畫作,通過你畫的每個帶著標籤的畫作,AI 程序就知道,原來人類是這麼畫這個房子,這個船,這個蘋果等等這些東西的。原來人類眼中的他們是這樣的。它就會分析我們畫作的每一個特點和特徵,從而進行自我學習。我們提供這些大量的帶著標籤的數據樣本也叫:訓練數據(training data)。通過機器學習的演算法,找到每幅畫作在不同手寫體下的特徵,進而找到規律和模式。然後通過得到的規律或模式來識別那些沒有被打過標籤的畫,以此完成識別手寫畫作的目標。當然,這個 AI 小程序在上線之前,肯定已經用上萬甚至幾十萬的樣本訓練過了,所以你在畫的時候,它會根據你畫的特徵進行一些分析和識別。而我們畫的這些又被它當做樣本,通過演算法進行了自我學習。其實說白了,Google 挺聰明的,讓 AI 小程序識別和猜測人類的畫作,通過大量我們提供的免費標註訓練讓這個系統得到更好的學習,提升和優化。其實最後的目的可能就是:AI 智能小程序就會自己獨立創作繪畫,畫出各種跟人類一樣的作品。所以啊,大家都是在玩的同時,在給這個 AI 小程序當陪練呢!!!我每個用戶都為它的進化提供了大量的幫助和數據。大家畫的越多,提供的數據樣本就越多,它通過自我學習和演算法分析,就會識別越準確,自己也就越了解人類。什麼是無監督式學習?無監督式學習 (Unsupervised Learning) 是人工智慧網路的一種演算法 (algorithm),其目的是去對原始資料進行分類,以便了解資料內部結構。有別於監督式學習網路,無監督式學習網路在學習時並不知道其分類結果是否正確,亦即沒有受到監督式增強 (告訴它何種學習是正確的)。其特點是僅對此種網路提供輸入範例,而它會自動從這些範例中找出其潛在類別規則。當學習完畢並經測試後,也可以將之應用到新的案例上。無監督學習里典型的例子就是聚類了。聚類的目的在於把相似的東西聚在一起,而我們並不關心這一類是什麼。因此,一個聚類演算法通常只需要知道如何計算相似度就可以開始工作了。可能還會有什麼半監督式學習,這個就是上述兩者的結合,基本思想是利用數據分布上的模型假設, 建立學習器對未標籤樣本進行標籤。
「猜畫小歌」背後的 AI 技術
「猜畫小歌」對我們畫作的辨識,其實利用的就是神經網路技術,是基於對大量塗鴉樣本的學習。就像,我剛才在上面監督式學習那裡所說的。Google 表示,「猜畫小歌」由來自 Google 人工智慧的神經網路技術驅動。該網路源全世界範圍,超過 5000 萬個手繪素描的數據群。機器學習手繪素描後,可以通過粗糙的草圖來識別物體。例如一團長著耳朵的墨跡可能是一隻熊貓。而這個小程序利用的技術就是:RNN,也就是遞歸神經網路。這個技術其實谷歌在之前早就使用了,並不新鮮,在去年 11 月,Google 專門研究人 「Quick, Draw!」 的看圖猜物品功能。可以根據你勾勒的幾筆猜測三個可能的物品。Google 表示,這個技術是通過模擬人腦在畫一個物體時是如何運用線條、形狀以及其它繪畫要素來進行推斷。我們在這個小程序上開始畫作,訓練神經網路,讓 AI 來理解人們在繪製畫作時是在何時起筆、走筆方向、何時停筆的。當經過訓練的 RNN 模型接收到人類繪製的畫作後,會生成一張類似的新畫作。你以為僅僅如此嗎?不是,如果你畫的畫作不對,有瑕疵,它其實還會糾正呢!在 RNN 模型當中,當用戶創作出的靈魂畫作,還沒有畫完時,比如只是畫出了人的頭,還沒有畫耳朵,AI仍然能夠重構出「正常」的畫作來。RNN 模型仍然會繼續生成有耳朵,有眼睛的正常人頭。所以,在「猜畫小歌」小程序中,你僅僅可能只是畫出了一個大致的線條,還沒畫完的時候,AI 就已經認出你畫的是什麼東西呢?它讀取的是你的起筆,線條,和一些特徵數據,就能夠快速猜出你畫的是什麼?而且還能幫你補全和糾正。你打開小程序,找到「我的畫作」點進去,在每一幅畫作的下面寫著這麼一句話:
圖文來自網路、如涉及版權問題,請聯繫我們以便處理。文章內容純屬作者個人觀點,不代表本網觀點。


※HTML5 | 使用Canvas API畫圖實現繪製坦克圖案
TAG:書圈 |