神經網路已經猜到了你要繪製的內容

TensorFlowers發表於2018-08-26

文 / David Ha,JONAS JONGEJAN,Ian Johnson

原文連結:mp.weixin.qq.com/s/UYqmv45D2…

神經網路已經猜到了你要繪製的內容
Try the sketch-rnn demo

對於通過蜂窩資料連線網路的移動使用者:第一個演示大小約為 5 MB 資料。每次在演示中更改模型時,您將使用另外 5 MB 的資料。

我們進行了一個互動式網路實驗,讓你能與一個名為 sketch-rnn 的迴圈神經網路模型一起繪製作品。我們利用來自於 Quick Draw! 遊戲的數百萬塗鴉訓練該神經網路。一旦開始繪製物件,sketch-rnn 將提出許多可行的方法基於你中斷的位置繼續繪製此物件。試試第一個演示。

在上面的演示中,我們被提示開始繪製特定物件。一旦你停止塗鴉,神經網路將接管並試圖猜測塗鴉的其餘部分。你可以再次接管繪圖並繼續從中斷處開始。我們訓練了大約 100 種可以用於試驗的模型,並且一些模型在多種類別上進行了訓練。

其他 sketch-rnn 演示 下面的演示最好在桌面瀏覽器上體驗,而不是在移動裝置上體驗。

多預測

神經網路已經猜到了你要繪製的內容
多預測演示

該演示類似於第一個預測繪圖其餘部分的演示。在此版本中,您將在左側區域內繪製草圖的開頭,模型將在右側較小的框內預測圖形的其餘部分。這樣,您可以看到模型預測的各種不同結局。預測的結局有時會讓人感到期待,有時會出乎意料和奇怪,而且有時也可能是醜陋和完全錯誤的。

你還可以選擇不同的類別,使模型基於相同的不完整的起始草圖繪製不同的物件,或者使模型繪製方形貓或圓形卡車等內容。你可以隨時中斷模型並繼續在左側區域內繪製圖形,並讓模型不斷預測你離開的位置。

神經網路已經猜到了你要繪製的內容

插值

插值演示

除了預測不完整繪圖的其餘部分外,sketch-rnn 還可以從一個繪圖變換到另一個繪圖。在 Interpolation Demo 中,可以使用螢幕兩側的按鈕隨機生成兩個影象。點選 Interpolate 按鈕,模型將提出新的草圖,作為兩個原始草圖之間的插值。在上圖中,模型在自行車和瑜伽位置之間進行插值。嘗試使用插值演示在兩個隨機生成的影象之間進行變換。

變分自動編碼器

神經網路已經猜到了你要繪製的內容
變分自動編碼器演示

該模型還可以模擬你的繪圖並生成類似的塗鴉。在變分自動編碼器演示中,你將繪製指定物件的完整圖形。在左側區域內繪製完整草圖後,點選自動編碼按鈕,模型將開始在右側較小的框內繪製類似的草圖。模型將嘗試模擬你的繪圖,而不是繪製完美的繪圖副本。

你可以嘗試繪製其他類別的繪圖物件,並檢視模型如何解釋你的繪圖。嘗試變分自動編碼器演示。

想了解更多? 如果您想了解更多資訊,請參閱以下幾點:

谷歌搜尋關於本模型的 blog post(ai.googleblog.com/2017/04/tea… 閱讀我們的論文 A Neural Representation of Sketch Drawings (arxiv.org/abs/1704.03…) 早期的 Magenta blog post (magenta.tensorflow.org/sketch_rnn)… TensorFlow 實現。GitHub repo(github.com/tensorflow/… 該模型的 JavaScript 實現以及預先訓練的模型權重。GitHub repo(github.com/tensorflow/…

相關文章