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