來和機(jī)器人玩“石頭剪刀布”,體驗(yàn)被支配的快感!Reddit上一位大神用3層簡單RNN訓(xùn)練出一個(gè)“石頭剪刀布”大師,你下一把想出什么,它都能猜個(gè)差不多。采用3D打印的漂亮外殼,紐扣電池即可供電,不服來戰(zhàn)!
我們每個(gè)人都玩過石頭剪刀布,這個(gè)簡單的游戲,似乎總有人特別擅長。你總覺得自己出什么,都盡在對(duì)面的掌握之中。
終于,在你連輸N次5局3勝的比試,被彈了一頭包之后,你硬著頭皮問對(duì)面那個(gè)滿臉得意的人:“哥,你咋怎么厲害呢?”
對(duì)面一般會(huì)一臉神秘又略帶不屑地對(duì)你說一句:“你要出啥,我早都預(yù)料到了?!?/p>
近日Reddit上熱議的一個(gè)話題就是,如何用機(jī)器學(xué)習(xí)練出一個(gè)玩“石頭剪刀布”的大師出來。
也許這篇文章的作者小時(shí)候也被大神蹂躪過。他利用機(jī)器學(xué)習(xí)訓(xùn)練模型,造出了一臺(tái)會(huì)玩“石頭剪刀布”的微型機(jī)器人,它的本事就是預(yù)測對(duì)面下一次出啥。
作者表示,這個(gè)機(jī)器人在機(jī)器學(xué)習(xí)原理方面并不復(fù)雜,模型使用的網(wǎng)絡(luò)是一個(gè)小型的3層vanilla RNN(在TensorFlow/keras中訓(xùn)練),訓(xùn)練數(shù)據(jù)是兩名玩家玩”石頭剪子布”的記錄數(shù)據(jù),將這些數(shù)據(jù)作為輸入,并預(yù)測輸出對(duì)手下一步會(huì)出什么。這些記錄數(shù)據(jù)來自roshambo.me上的真人游戲信息。
“我添加了一些周期序列的模擬數(shù)據(jù),人們?cè)谂cAI對(duì)戰(zhàn)時(shí)很可能會(huì)嘗試的做這些事情?!?/p>
如果沒有模擬數(shù)據(jù)(易于預(yù)測),模型在測試集上的準(zhǔn)確率達(dá)到38%(相比之下,完全隨機(jī)對(duì)戰(zhàn)的勝率為33%,這么看,其實(shí)也沒強(qiáng)太多?)。
模型在較大批規(guī)模進(jìn)行訓(xùn)練時(shí)遇到了一些問題(無論是填充還是填充和屏蔽漸變)所以最后訓(xùn)練的批規(guī)模(batch_size)為1,這對(duì)于規(guī)模如此之小的網(wǎng)絡(luò)來說還是可以接受的。
更有趣的部分是,這個(gè)網(wǎng)絡(luò)能夠在一個(gè)小型微控制器上運(yùn)行。對(duì)網(wǎng)絡(luò)權(quán)重進(jìn)行量化(以8位整型數(shù)據(jù)存儲(chǔ))可以節(jié)省一些空間,因?yàn)槭褂玫奈⒖刂破髦挥?kB RAM和16kB閃存,計(jì)算是使用軟件浮點(diǎn)數(shù)完成的,性能不是真正的問題。微控制器上運(yùn)行的C語言代碼都是定制的,不是特別復(fù)雜。
最終的實(shí)體設(shè)備大約為硬幣大?。ǖ褚恍?。使用定制的PCB板,由CR2032紐扣電池即可供電,并有一個(gè)漂亮的3D打印外殼。外形上非常接近我之前定制完成的電子骰子,所以其實(shí)工作量不是太大。
-
微控制器
+關(guān)注
關(guān)注
48文章
7467瀏覽量
150882 -
機(jī)器人
+關(guān)注
關(guān)注
210文章
28129瀏覽量
205894 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8357瀏覽量
132330
原文標(biāo)題:來和這個(gè)機(jī)器人玩玩“石頭剪刀布”,享受被支配的快感吧
文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論