|
本帖最后由 劉景亞 于 2016-4-11 18:26 編輯
1 @+ h! t; s/ _# }' J7 C+ ~' B7 y' C1 w4 z9 g- D% g
前段時間的人機圍棋大戰(zhàn)賺足了人們的眼球,Google公司的AlphaGO也使機器學習和深度學習讓更多的人有了一定的了解,可謂做了一次很好的科技普及。
0 B1 n/ \; D' j l現(xiàn)在我們從簡單問題入手,如何基于機器學習,通過自學習的方式讓機器人學會玩“石頭、剪刀、布”游戲? v" Q1 a# `8 F2 n) D
不知大家有何建議?歡迎大家發(fā)言參加討論。
, N! C1 C# R" r3 D/ s# k7 t*******************************************************************************************: t: G, o% a2 C4 U) Z; R0 S
分割線以上為原貼' w0 H) R* K3 }# C; w" u! m% U
*******************************************************************************************
* G& }" e* w* U( l: U: G非常感謝各位大俠的參與和討論。
: n2 C7 a8 J4 a# j, I! k6 o1 U關(guān)于機器人玩“石頭、剪子、布”游戲,我本打算分三個問題和步驟和大家一起探討??吹接懻撝?,大家對這三個方面都有所涉及。" d$ R/ V# V* f, k. U3 Y( {3 `
下面我把我對這個問題的認識拋出來與大家交流分享。
7 A% M7 H9 O* J/ l$ @' s! z& @- G! \9 v5 Z要讓一個機器人玩“石頭、剪刀、布”,我們分三步走。7 m5 t& K% Z7 Q3 Z( |8 P
第一步,如何讓機器人通過自學習的方式學會游戲規(guī)則?比如,一開始機器人并不知道石頭、剪子和布,哪個贏哪個,要玩游戲首先得學會規(guī)則。當然要實現(xiàn)這一步,有比較簡單的辦法,最直接的是程序員編程時,直接定義這個規(guī)則,這是以前經(jīng)常用的傳統(tǒng)的方法。現(xiàn)在我們想通過一種新的方法來實現(xiàn),讓機器人像小孩一樣,通過不斷地實踐、摸索和總結(jié)掌握這個規(guī)則,也就是自學習和機器學習。
2 F( H/ g; }. n3 Q( G第二步,如何讓機器人在掌握規(guī)則后大概率獲勝?
' y8 c1 z* D; w2 k. W1 ?" h第三步,能不能通過一種方法,使機器人在每局對戰(zhàn)時100%獲勝?9 T3 n1 k# \8 X0 x' q
*****************************************************************************************
! c* r5 V" y1 I3 t! i v關(guān)于第一步,可以用如下方法實現(xiàn):讓機器人和人對戰(zhàn),在對戰(zhàn)的實踐過程中訓練機器人,使其不斷自學習以掌握規(guī)則。在對戰(zhàn),人始終隨機出,機器人一開始并不知道規(guī)則,也隨機出。贏了有獎勵,輸了有懲罰,隨著對戰(zhàn)次數(shù)的增多,機器人就會對出拳的種類形成“價值判斷”。在訓練過程中,機器人會反復判斷,是隨機出還是基于已經(jīng)學到的部分知識。經(jīng)過不斷訓練,機器人就會學會游戲規(guī)則。這個過程區(qū)別于以往的程序員直接定義,和人類的學習過程十分類似。* [1 E4 y r1 z: Z) P; X
那么這個方法有沒有效果,我們驗證一下。
$ v& X5 U! X8 k4 L- Z下圖是我與機器人玩25局的情況,注意這個機器人一開始并不知道游戲規(guī)則。我隨機出拳,機器人一開始也隨機出,贏了獎勵,輸了懲罰。大家會發(fā)現(xiàn),從第11局開始,機器人就已經(jīng)完全掌握了規(guī)則。, k: W z. l! m; U( G& s- ^
) c8 c5 |" G: f+ f9 u# c/ Q8 A
0 S1 }& F, J5 ^. \# s: V/ {2 L+ J+ K# L, d5 P9 }
, {" p, Q6 H: s; f- u! N" a* t
$ D9 T( I$ r! G9 W5 v+ |' S1 g |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有賬號?注冊會員
×
|