|
本帖最后由 劉景亞 于 2016-4-11 18:26 編輯 ' K) f ~9 t( v ~! Q
0 O6 p3 @; R; v
前段時間的人機圍棋大戰賺足了人們的眼球,Google公司的AlphaGO也使機器學習和深度學習讓更多的人有了一定的了解,可謂做了一次很好的科技普及。. F9 a, B8 X2 ]
現在我們從簡單問題入手,如何基于機器學習,通過自學習的方式讓機器人學會玩“石頭、剪刀、布”游戲?
& s0 j+ f* ~6 g' u0 l不知大家有何建議?歡迎大家發言參加討論。3 u; x& `: |- D* k1 W2 i r
*******************************************************************************************
4 o+ u) h5 G @$ K. ~# _& r3 q8 p分割線以上為原貼% ?4 I4 G5 e) M& }/ j
*******************************************************************************************
& V- X+ n) H9 _) z2 i+ @非常感謝各位大俠的參與和討論。
, c7 b; z1 G; \: V關于機器人玩“石頭、剪子、布”游戲,我本打算分三個問題和步驟和大家一起探討。看到討論中,大家對這三個方面都有所涉及。6 I0 o( g$ @( \4 F; E+ i
下面我把我對這個問題的認識拋出來與大家交流分享。. ~4 p: A* g0 c, w2 T$ K
要讓一個機器人玩“石頭、剪刀、布”,我們分三步走。" @6 _$ E( [ j1 u7 u9 ^
第一步,如何讓機器人通過自學習的方式學會游戲規則?比如,一開始機器人并不知道石頭、剪子和布,哪個贏哪個,要玩游戲首先得學會規則。當然要實現這一步,有比較簡單的辦法,最直接的是程序員編程時,直接定義這個規則,這是以前經常用的傳統的方法。現在我們想通過一種新的方法來實現,讓機器人像小孩一樣,通過不斷地實踐、摸索和總結掌握這個規則,也就是自學習和機器學習。 P: K. C- t- f$ N
第二步,如何讓機器人在掌握規則后大概率獲勝?
+ i. \( t5 g% p) `+ R第三步,能不能通過一種方法,使機器人在每局對戰時100%獲勝?0 w# }) C" z- w& X
*****************************************************************************************
. T! ~# }; v- T' q* y. v關于第一步,可以用如下方法實現:讓機器人和人對戰,在對戰的實踐過程中訓練機器人,使其不斷自學習以掌握規則。在對戰,人始終隨機出,機器人一開始并不知道規則,也隨機出。贏了有獎勵,輸了有懲罰,隨著對戰次數的增多,機器人就會對出拳的種類形成“價值判斷”。在訓練過程中,機器人會反復判斷,是隨機出還是基于已經學到的部分知識。經過不斷訓練,機器人就會學會游戲規則。這個過程區別于以往的程序員直接定義,和人類的學習過程十分類似。
" L5 m5 P4 @) z那么這個方法有沒有效果,我們驗證一下。
. N7 P* M9 a* @下圖是我與機器人玩25局的情況,注意這個機器人一開始并不知道游戲規則。我隨機出拳,機器人一開始也隨機出,贏了獎勵,輸了懲罰。大家會發現,從第11局開始,機器人就已經完全掌握了規則。
* l6 Z" d u2 H: @2 b; P! X% S$ @& ?" L* o# p; [' L. e
! H' C' u0 L$ `1 V1 h( U4 S
& {0 b8 c6 c5 u
4 \4 D- C. t6 M1 `% ?# l. z# m5 n6 p2 e3 o3 N9 T6 e% A
|
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?注冊會員
x
|