最前沿:史蒂夫的人工智慧大挑戰
Flood Sung:arXiv上有篇新論文,利用像素遊戲我的世界來做深度增強學習的實驗。
杜客:有意思!搞一篇既面向大眾進行趣味科普,又面向領域內進行論文解讀的文章?Flood Sung:OK,就這麼干!
1 史蒂夫的挑戰
你從昏睡中醒來,頭痛欲裂,早知昨晚就不要熬夜守望了。揉揉眼睛,睜開朦朧的雙眼......
我擦嘞?!這是什麼鬼!難倒是[嗶—]多了導致視力下降了?世界怎麼變得如此馬賽克?確認這不是在做夢,你(可憐的史蒂夫)不知所措,開始漫無目的的在這迷宮中奔跑,突然,前方出現了一個:
藍色的標誌。史蒂夫完全沒有在意,徑直衝過去,在踏上藍色方塊的那一剎那,一股強大的電流伴隨著痛苦通過你的身體,Dead。
在短暫的失去意識後,史蒂夫再一次重生在了起點處,腦海里依然能夠回憶起剛才的遭遇,眼前的場景依舊是:
這一次,史蒂夫(原遊戲宅男)冷靜了下來,片刻思索後。史蒂夫輕輕地扶了下黑框眼鏡,自言自語道:「哈哈蛤,我可是身經百戰了......真相只有一個!」
史蒂夫知道,自己陷入了一個類似明日邊緣與Cube的組合迷宮遊戲中。一方面,自己可以和明日邊緣里的阿湯哥一樣,一次又一次地重生。另一方面,面前的迷宮和Cube一樣,暗藏殺機的同時也有其規律,需要自己用智慧去發現。想通了這一點,史蒂夫的腦海中迴響起了一句吶喊:
前進!前進!不折手段地前進!!—— Thomas Wade
於是怒吼著「Freedom!!!」,史蒂夫再一次沖向了迷宮的深處。可惜這迷宮中沒有可口的怪物。
經過一次次生與死的輪迴,史蒂夫終於找到了,哦不,發現了這個迷宮的規律:這個迷宮的形態每次都不一樣,但是其內在蘊含的任務目的是一致的。如果自己重生後,面前的方塊是黃色的,那麼自己就要在迷宮中尋找紅色方塊並踩上去,這樣就能得到獎勵並進入下一次循環。在這個過程中不能觸碰到藍色方塊,不然就會被電擊懲罰致死。但是如果重生後,面前的方塊是綠色的,那麼就要避免觸碰紅色方塊,尋找到藍色方塊。還有,自己不能無限制地在迷宮中兜圈,在一定步數內不找到正確的方塊,遊戲也會重啟。
正當史蒂夫為找到了規律洋洋得意時,視野左下角一個不起眼的綠色提示語「訓練時間」變成了紅色的「測試時間」,看來,史蒂夫的試煉還將繼續......
2 迷宮設計
現在,先讓史蒂夫忙活去吧,我們輸入「who is your daddy」,打開上帝視角,看看都有什麼樣的迷宮等待著可憐的史蒂夫,而這些迷宮中又有什麼樣的規律需要史蒂夫去發現:
__________________________________________________________________________________
________________________________________________________________________________
如上所示,一共有I型迷宮、匹配迷宮、隨機迷宮和帶指示器的隨機迷宮4種迷宮。每種迷宮的任務設計即有相似,又有區別:
I型迷宮:在此迷宮中,有一個指示器,其顏色為綠色或黃色,兩種顏色出現的幾率一致。當指示器顏色為綠色時,史蒂夫需要前往藍色處得到+1的獎勵,如果去了紅色處,則會得到-1的懲罰。當指示器顏色為綠色時,情況相反。
匹配迷宮:在此迷宮中,有兩個房間。如果兩個房間中底板的圖樣一致,史蒂夫需要前往藍色方塊處,得到+1獎勵,如果去了紅色則-1。如果兩個房間中底板的圖樣不一致,那麼情況相反。
隨機迷宮:迷宮的形態每次都是隨機產生的,其中有兩種類型的任務:
- 單一目標:找到藍色方塊+1獎勵,如果過程中觸碰了紅色方塊則懲罰-1。
- 順序目標:先踩上紅色方塊得到+0.5獎勵,再踩上藍色方塊得到+1獎勵。如果踩方塊順序錯誤,則得到-0.5和-1的懲罰。
帶指示器隨機迷宮:情況和隨機迷宮類似,但是有指示器,會顯示綠色或者黃色,兩種顏色顯示概率相等,也有兩種任務:
- 有指示器的單一目標:如果指示器是黃色,那麼找到紅色方塊得到+1獎勵,踩上藍色方塊則-1懲罰(史蒂夫的第一次死亡正是在這種情況下)。如果指示器是綠色,那麼那麼找到藍色方塊得到+1獎勵,踩上紅色方塊則-1懲罰。
- 有指示器的順序目標:如果指示器是黃色,那麼史蒂夫要先踩上藍色方塊,再踩上紅色方塊。如果指示器是綠色,那麼史蒂夫要先踩上紅色方塊,再踩上藍色方塊。順序正確則分別得到+0.5和+1的獎勵,順序錯誤就得到-0.5和-1的懲罰。
通過多次的循環以及每個循環中的獎勵與懲罰,我們訓練著史蒂夫,希望他能發現其中的規律,理解迷宮的內在邏輯,並以此作為自己的行動指南。
讀者們也可以換位思考一下,如果不打開上帝視角,處在史蒂夫的位置,以上所有迷宮中的所有任務的正確邏輯,你需要多久才能完全有把握的發現呢?
3 測試時間
現在,讓我們回到史蒂夫的身邊。剛才史蒂夫發現,視野中的「訓練時間」變成了「測試時間」,這說明有什麼東西肯定起了變化,但是史蒂夫是無法得知的。帶著一絲不安,史蒂夫又一次出發了。
情況果然有了不同:當史蒂夫按照之前發現的規律,踩上的自認為正確的方塊後,遊戲立即重啟了,獎勵消失了。遊戲一次次重複著,史蒂夫有時候不小心踩到了按照之前的規律錯誤的方塊,也沒有得到懲罰,遊戲還是立即重啟了。沒有了獎勵和懲罰,史蒂夫感到迷茫,只能根據訓練中學到的知識,繼續遊戲著......
在一次次輪迴中,有些迷宮的形狀也起了變化,之前訓練時I型迷宮的縱向走廊的長度往往是5步、7步和9步。而現在迷宮縱向走廊的長度有了更多變化,這些變化是否意味的規律的改變?史蒂夫心生疑惑。史蒂夫繼續遊戲著......
在一次次輪迴中,史蒂夫感到黑暗之中有一個恆定的視線觀察著他,這個視線無法看見,卻又無處不在,記錄著他的每一步,每一輪,每一個選擇。這讓史蒂夫感到不寒而慄......
在一次次輪迴中,史蒂夫甚至會想,也許有其他的人,也在這迷宮中不斷地輪迴遊戲著,而那個視線同樣監視著他們。這個視線的來源是什麼,也許是一種更加高級的存在?他們有什麼目的?史蒂夫無法回答,只能繼續遊戲著......
測試時間彷彿永無止境,已經放棄了希望的史蒂夫行屍走肉般地又一次完成了一個輪迴。忽然,一切停止了,幾張表格覆蓋了天空,史蒂夫仔細仰望著它們:
「啊,這是我走I型迷宮的成功率啊!訓練的時候迷宮走廊長度只有5,7和9步那麼長,測試的時候原來有這麼多不同長度的走廊。記起來了,原來我的名字是FRMQN才對。果然也有其他人在同時遊戲。
「這不就是匹配迷宮的遊戲結果嘛,看來我在訓練和測試的時候都比其他人做得好啊!」史蒂夫有點高興。
「這大概就是兩種隨機迷宮中的一系列任務了吧,雖然不是每個任務都第一,但是總體看來還是我比較厲害。」史蒂夫感動一絲自豪。表格再沒有更新,一陣陣震耳欲聾的響聲傳來,四周的世界在迅速崩塌。史蒂夫心想:「終於結束了」。這時,那個更高級的存在終於發出了聲音,漸漸墮入黑暗的史蒂夫依然能夠感受到那聲音中蘊含的狂喜,那個存在說道:
哈哈,結果不錯,可以發論文啦!論文就叫Control of Memory, Active Perception, and Action in Minecraft吧!!趕緊投到arXiv上占坑!
4 從故事到論文
略黑暗的史蒂夫故事講完啦,即使是不熟悉深度增強學習的讀者,應該也能隱隱約約地猜到我們要介紹的這篇論文做了什麼。是的,研究人員通過論文,介紹了他們所做的工作,主要是兩方面:
- 使用我的世界這個遊戲創建了上文介紹的一系列的迷宮和任務組成的任務集。
- 使用任務集訓練,然後使用測試集測試了幾種已有的和他們提出的新的深度增強學習結構(即FRMQN)。並根據測試數據,指出FRMQN的表現是優於已有的結構。
說到這裡,可能有一些不熟悉深度增強學習的讀者會說:「什麼前沿嘛?!不就是走迷宮嘛,這樣的演算法不是老早就有了么?」
大家注意,這裡的走迷宮任務有什麼不一樣呢?首先,裡面的史蒂夫和人類一樣,輸入的是看到的圖像信息,然後根據圖像信息作出動作決策。而很多走迷宮的遊戲是二維的,只有簡單的平面信息。其次,更重要的是,在這個任務中,我們要求史蒂夫自己通過學習訓練找到方法,而不是我們編程提前設定好程序(比如一直讓史蒂夫貼著左邊走,或者讓給史蒂夫編程各種完成任務的行走策略)。在這裡,沒有,我們什麼都沒有告訴史蒂夫,它一開始什麼都不知道。這就好像是在迷宮中放入了一隻真實的小白鼠一樣,然後讓它自己學習規則,只是這一次我們放入的是一隻虛擬的人工智慧小白鼠罷了。
而深度增強學習演算法,就是這種人工智慧小白鼠的「大腦」。演算法能看(直接輸入演算法的就是史蒂夫的第一人稱視角圖像),演算法能控制史蒂夫的動作(論文中規定,演算法控制史蒂夫的動作有6種:向左右90°看,向上下45°看,前進與後退),然後你再設定好迷宮及其任務,接下來,就是讓史蒂夫在N多的迷宮中一次又一次的重複遊戲,然後學習其中的規律完成任務。
我們再來看看這些任務,這些任務被稱為認知啟發任務(Cognition-inspired tasks)。也就是說,這些任務需要一定的認知能力才能完成。想像一下我們人在這些迷宮中做這些任務。我們需要思考(比如碰到紅色會電死),我們需要記憶(比如匹配迷宮任務中兩個房間的形狀),我們甚至需要推理(比如匹配迷宮中如果房間形狀相同則選擇藍色),我們還需要決策(也就是每一個時刻應該往左邊走還是右邊走)。
噢,我的上帝呀!這對計算機而言是多麼困難的任務!
然後我們看看訓練的效果,以匹配迷宮任務為例,我們再次看看下面這張圖表:
通過訓練,使用FRMQN結構的演算法最後能夠在訓練集的所有任務中順利達成目標。而演算法在面對其並沒有見過的測試用的匹配迷宮時,憑藉它在訓練中的得到的「經驗」,順利達成任務的概率是91.8%(這個概率是多次測試實驗結果所得)。
一個演算法,並沒有給它任何的先驗知識,它能得到的僅僅是遊戲的畫面和做出動作得到的反饋。通過多次的訓練,演算法就能一定程度上「理解」任務獎懲中暗含的邏輯,將這個遊戲玩得越來越好,直至其演算法本身性能的限制......
通過自學來完成這些認知任務,從某種程度上講意味著這個史蒂夫具備了真正的智能!類人的智能行為!
這就是當前人工智慧最前沿的研究水平!哇!完蛋啦!天網要來啦!康納在哪裡?!不對,康納居然是這樣的康納?!絕望了!還是抱莎拉龍媽的大腿吧!
哎,我們旗幟鮮明地反對類似「人工智慧毀天滅地屠人類」的各種說法,寫這篇趣味科普與論文解讀結合的文章,也就是為了讓更多讀者能夠在輕鬆愉快中理解一些深度增強學習的工作,之所以用人工智慧做標題,也算是小小的標題黨了。恐懼來源於未知,知友們如果有興趣,請繼續閱讀下去,我們接下來將對論文進行深度解讀,專業名詞和乾貨的密度將增多,但是牢記:
Dont be panic. —— 銀河系漫遊指南
5 理解這篇論文的基礎
這篇論文可以說是集當前深度學習前沿技術之大成,論文涉及到以下的概念:
- DQN
- Neural Turing Machine(NTM)中的Memory Network
- CNN
- LSTM
- Feedback Control
這裡我們只能盡量用樸素的語言來描述這些概念。如果大家對以上的概念都了解,那麼理解這篇文章將比較簡單,可以略過這部分內容。但如果僅知道一部分或者完全不了解的話,在理解上確實會有一些難度,可以把上面的概念當做黑盒來處理。
5.1 DQN
DQN是Deepmind提出的深度增強學習演算法,最初用在玩Atari遊戲上。感興趣的讀者,可以閱讀本專欄開設的DQN 從入門到放棄系列文章。DQN最基本的演算法可以這樣理解:使用一個卷積神經網路CNN來表示動作價值函數Actor-Value Function,輸入是圖像,輸出是每一個動作的Q值。然後在反覆訓練過程中,使用Q-Learning演算法來計算目標的Q值,從而可以和當前的Q值做比較得到損失函數,從而進行隨機梯度下降SGD更新Q值,從而提升遊戲的水平。
這篇文章的主要工作就是使用其他結構的網路來代替這裡的CNN,從而提升演算法的效能。
5.2 Neural Turing Machine
Neural Turing Machine神經圖靈機就是為神經網路構造了一個記憶結構,可寫可讀,並且可以通過隨機梯度下降來更新記憶結構的參數,從而優化記憶。在這篇文章中,使用的記憶結構類似於Memory Network。這個記憶結構的讀操作和寫操作可以用函數表示,並且完全可微,因此可以很方便地使用隨機梯度下降來更新。這種更新操作就類似我們人類對某段記憶的印象變化。有的記憶重要,就加深記憶,有的記憶不重要,就遺忘掉。
5.3 CNN卷積神經網路和LSTM長短記憶模型
CNN和LSTM都是神經網路的一種結構,CNN面向圖像處理有較大優勢,而LSTM屬於RNN的一種,具備一定的記憶能力,對於處理時間序列的數據(比如自然語言處理)有較大優勢。相信對深度學習有了解的知友們都有所了解,這裡不具體介紹。現在很多情況下可以把CNN和LSTM結合起來使用,比如Image Captioning圖片標註任務。同樣的,在DQN中,將LSTM與CNN而形成新的神經網路結構也是可取的。
5.4 Feedback Control反饋控制
由於這篇文章面對的認知任務包含控制決策,因此,將神經網路結合反饋控制是一個不錯的嘗試。反饋控制是控制理論中最基本的一種控制方式。基本的思想就是把輸出也作為輸入。我們人類的很多行為都是反饋控制的結果。比如我們要拿起一支筆,我們會使用眼睛不斷判斷手與筆之間的偏差(輸出),然後根據偏差(輸出)來調整我們對手的控制(輸入)。這篇文章最成功的思想就是結合了反饋控制大大提高了神經網路的訓練效果。
以上就是相關概念的基本介紹,限於篇幅,不能面面俱到。大家知道這些概念是做什麼的就可以了,不必細究具體的實現。接下來我們分析這篇文章的方法。
6 不同的神經網路結構
上圖列舉了幾種不同的神經網路結構。首先大家要記住一點的是這篇文章使用的演算法是DQN演算法,Q-Learning是沒有變的,變的只是使用的Q網路的結構。我們來看看這幾種不同的結構都有什麼不同之處:6.1 DQN
DQN:原始的DQN只使用CNN卷積神經網路。輸入是多幀的圖像(一般是4幀),輸出直接就是Q值,對於上圖的上下文Context可以認為沒有做處理。下圖即為DQN的神經網路結構圖,圖片引用自:http://www.nature.com/nature/journal/v518/n7540/images_article/nature14236-f1.jpg
6.2 DRQN(Deep Recurrent Q-Learning)
這個結構的思路很簡單,就是將DQN中的CNN最後的全連接層改成一個LSTM。從而為神經網路增加一定的記憶能力。這裡的輸入就變成是一幀一幀圖像的輸入了。具體的結構如下圖所示(圖片引用自http://arxiv.org/pdf/1507.06527v3.pdf):
有些知友可能不是很理解LSTM,不知道recurrent體現在哪。首先推薦這篇介紹文章http://colah.github.io/posts/2015-08-Understanding-LSTMs/。這裡簡單說明一下,就是LSTM包含了一個叫做Cell的單元。Cell可以認為是存儲記憶的細胞,就是每次輸入信息,都會存儲一些信息在Cell裡面,之後調用輸出就從Cell裡面獲取一些信息。這樣每次的輸入都是有用的,也就是有了記憶功能。而只使用CNN的話就只有前向傳播,上一組圖像(歷史)並不影響新的圖像輸入產生的輸出。6.3 MQN、RMQN和FRMQN
這是文章中作者提出的三種新的結構,最基本的就是加上了Memory。所以重點在於Memory怎麼加的問題。
前面說過,這篇文章使用了類似Memory Network的結構,具體如下圖所示:
我們來解釋一下這個Memory是怎麼工作的。6.3.1 Encoding編碼
這一步和DQN的神經網路一樣,就是使用一個CNN來提取特徵,不同的是這裡只是到全連接層,目的是為了獲取經過CNN壓縮的圖像特徵信息。上圖的就是表示這個卷積處理的過程。
6.3.2 Memory 記憶
一般磁碟的讀寫操作是怎樣的?就是把數據直接寫入相應的磁碟扇區。然後讀取就是根據地址到相應的扇區進行讀取。但是我們需要怎樣的讀寫方式呢?我們需要能夠模擬人類的記憶行為,就是我們可以根據需要來讀取我們的記憶。比如我們看到貓這個字就會聯繫到貓的樣子。我們輸入了「貓」到大腦中,然後大腦根據這個輸入找到了對應的記憶的位置,並讀取出來。所以一般的磁碟讀寫操作和這邊模擬記憶的讀寫是兩個概念,我們需要能夠確定這個記憶的地址,而不是讀取這個行為。還有一個很重要的功能就是我們的記憶是可以調整的。依然是貓的例子,我們大腦中的記憶是不斷變化的,可能這個時候我們看到了一隻很特別的貓,然後以後看到」貓「這個字我們就想到了那隻特別的貓的樣子了。
稍微歸納一下我們需要構造的記憶模塊需要的功能:
- 可以不斷存入新的記憶(這是廢話)
- 可以根據輸入確定記憶的位置(或者說地址)
- 可以不斷調整輸入對應的記憶的位置
那麼這三點怎麼使用計算機實現呢?
- 存入新的記憶:這個很簡單,使用最近的輸入編碼後存在矩陣裡面就可以
- 根據輸入確定記憶的位置:這個可以用函數來實現。就是構造一個函數,輸入是看到的信息,也就是狀態,輸出是某個記憶的位置。
- 不斷調整輸入對應的記憶的位置。那麼這部分首先構造位置與記憶信息的函數,也就是輸入位置,輸出記憶,形成函數關係,然後連接到一開始的狀態輸入,整個就是一個可微的函數,這樣如果有輸入和輸出的樣本,就可以使用梯度下降的方式來調整記憶了。
有了以上這三點基本思路,那麼就可以構建這個記憶模型啦。
6.3.2.1 寫入操作
首先就是構造一個字典Dictionary,有key,有value,一一對應。key就是位置,value就是記憶啦。
然後就是怎麼存了。很簡單,構造一個簡單的線性函數關係:
其中的W是參數。輸入是已經編碼的圖像特徵信息E,輸出就是真正存起來的「記憶」M。
那麼記憶大小怎麼設置呢?也很簡單,設置E這個向量的長度即可。
6.3.2.2 讀取操作
讀取操作有一點小trick,就是使用了soft attention機制。什麼是soft attention呢?可以翻譯成基於概率的注意力機制。也就是說我們要讀取的記憶取決於我們的注意力注意在什麼地方,那麼這個注意力可以用概率分布來表示,更形象的說法就是根據輸入確定注意某一塊記憶的概率。那麼概率就可以使用softmax來實現。那麼怎麼實現?想法很簡單。用上下文Context來表示圖像輸入提取得到的有效信息,就是在前面Encoding的基礎上再做一次處理,同樣可以用最簡單的線性變換。後面大家會看到不同的結構關鍵就在於Context的不同。
那麼有了輸入Context,這裡用表示,接下來就是計算每一個讀取的概率。採用softmax:
那麼這個概率就是所謂的注意力attention。有了注意力,那麼將注意力與相乘就得到了輸出的記憶(所有記憶的概率疊加):
這裡注意一下幾個量的維度。是mxM維矩陣,M是記憶的數量,是M維,也就是表示每一次記憶的提取概率。是m維向量,即為最後的輸出記憶,再重複一下這裡是每一個記憶的概率疊加。
那麼說到這,Memory記憶模塊就講完了。不得不說這是一個很精妙的設計。
6.4 Context上下文
所謂的上下文就是從圖像輸入也就是觀察observation中提取的相關的時空信息spatio-temporal information。這是個什麼東西呢?簡單講就是有用的信息。比如我們看這個迷宮,某一個特徵的色塊的位置對我們就比較重要。那麼神經網路是需要自己提取這個信息的。而MQN,RMQN,FRMQN就是這個提取信息的方式不一樣:
- MQN:最簡單,就是利用編碼得到的特徵做一個線性變換
- RMQN:加上LSTM,想法和DRQN一樣。
- FRMQN:多了反饋機制,也就是把上一個時刻提取的記憶也作為輸入。可以這麼理解,在某個連續時間段內,我們提取的記憶和我們之間提取的記憶有直接關係。這和前面介紹的反饋控制是完全一樣的道理。具體的結構如下圖所示:上圖可以很清楚的看出每一個h和旁邊的h和o的關係。反饋體現在o指向了h。
6.5 Q值輸出
不管中間的網路結構是怎麼的,我們最終是要輸出Q值的。那麼我們有Context上下文,又有Memory記憶。一個是當前看到的提取的信息,一個根據當前看到的提取的記憶,兩者怎麼結合在一起呢?
文章給出了一個極其簡單的做法,就是把兩者直接加權用一個多層的神經網路MLP來輸出Q:
這裡作者只使用了一個隱藏層,其中:
其中 f函數為RELU
綜合上面的分析,這篇文章設計的FRMQN的具體實現也就分析完了。
7 關於LSTM和Memory
我們都知道LSTM也是一個記憶模塊,那麼為什麼還專門弄一個Memory呢?
從上面對結構的介紹可以看出,LSTM影響的是Context上下文。而Memory則影響最後的Q值。兩者的作用不一樣。從功能實現上看,Memory更具化某一個記憶而且是最近的M次觀察的記憶,而LSTM則是累積整個時間序列的記憶。那麼按照作者的說法:
Motivated by the lackof 「context-dependent memory retrieval」 in existing DRLarchitectures, we present three new memory-based architectures.
而且從後面的實驗結果看,讀取Memory的過程確實是很具體的,這個使用LSTM是得不到的:
從上圖可以看出,只有在信息有用的時候,記憶才會提取出來(黃色)。比如I-Maze圖5.1,到第19和20時,正好看到了紅色的塊,這個時候,記憶中的第3圖(帶有綠色標誌)就提取出來了。這真的很神奇,是不是很亦可賽艇啊?關於LSTM和Memory的比較,建議大家閱讀End-to-End Memory Network
8 尾聲
通過上面的分析,我們發現FRMQN是一種包含視覺(卷積),包含記憶(LSTM,Memory),包含反饋以及動作決策的複雜神經網路結構。而這種結構初步模擬了人類的認知能力,能夠完成特定的簡單的認知任務。
從這篇文章實現的情況可以看到,未來,更大更複雜的網路結構,將能夠模擬人類更複雜的行為。所以Deepmind聲稱要讓計算機學習玩星際爭霸我們認為不是空穴來風,說不定已經取得了一定水平。
從這篇文章中我們也可以看出這才是目前人工智慧的真實水平,像個很低等的小白鼠。那些稱什麼人工智慧達到嬰兒水平的其實純屬扯淡,真不知道他們是怎麼比較的?只根據神經網路的數量嗎?那確實是很可笑的。當然,這隻代表我們的個人觀點。
不可否認,目前人工智慧還很低級。但我們也同時要意識到這就是強人工智慧(通用人工智慧AGI)的開始,我們期望未來這種智能的水平和程度都將呈指數型增長,那麼類人水平智能的出現將指日可待。
輕鬆一刻
請問:本文一共使用了哪些梗?請在評論區中指明並解釋清楚:)全部找出的我們將其設置為精選評論,哈哈!
引用說明
上文所使用的圖片除特別註明外,都引用自文章
Control of Memory, Active Perception, and Action in Minecraft
推薦閱讀:
※音箱先成「精」,「耳機精」還能吃到肉不?
※神經網路從被人忽悠到忽悠人(三)
※你好,若琪!你讓我們看到了家庭人工智慧,不僅僅是一個外表溫潤的機器人
※度秘想要悄悄進入客廳,而且上來就把目標設在了5000萬
※教你搭建你自己的「深度學習」機器
TAG:人工智能 | 我的世界Minecraft | 科技 |