|
本帖最后由 劉景亞 于 2016-4-11 18:26 編輯 % U5 ^2 t+ s. {
( @3 @* _ w" A. t' e n前段時間的人機圍棋大戰(zhàn)賺足了人們的眼球,Google公司的AlphaGO也使機器學習和深度學習讓更多的人有了一定的了解,可謂做了一次很好的科技普及。7 h; a6 M Q# Z- [; Q
現(xiàn)在我們從簡單問題入手,如何基于機器學習,通過自學習的方式讓機器人學會玩“石頭、剪刀、布”游戲?
' ^" \1 e8 ]8 C7 Y. B不知大家有何建議?歡迎大家發(fā)言參加討論。
. J6 E4 }; X( T3 b% l; k) H*******************************************************************************************
1 r, b6 F* K9 O% }4 x分割線以上為原貼
3 S4 g) s. a8 x3 @5 ?( i$ C*******************************************************************************************
! R5 Y. l' }4 X/ }/ w5 I非常感謝各位大俠的參與和討論。
# Z+ ~6 e1 y( @ u# ^! j3 Y# L關(guān)于機器人玩“石頭、剪子、布”游戲,我本打算分三個問題和步驟和大家一起探討。看到討論中,大家對這三個方面都有所涉及。' f( N3 c- ~; \' } M' ?1 T
下面我把我對這個問題的認識拋出來與大家交流分享。
& E" A5 ]5 O. r! L要讓一個機器人玩“石頭、剪刀、布”,我們分三步走。- O9 @. t% I& O# S7 A
第一步,如何讓機器人通過自學習的方式學會游戲規(guī)則?比如,一開始機器人并不知道石頭、剪子和布,哪個贏哪個,要玩游戲首先得學會規(guī)則。當然要實現(xiàn)這一步,有比較簡單的辦法,最直接的是程序員編程時,直接定義這個規(guī)則,這是以前經(jīng)常用的傳統(tǒng)的方法。現(xiàn)在我們想通過一種新的方法來實現(xiàn),讓機器人像小孩一樣,通過不斷地實踐、摸索和總結(jié)掌握這個規(guī)則,也就是自學習和機器學習。
3 J: s# i5 E3 I0 I) z( J第二步,如何讓機器人在掌握規(guī)則后大概率獲勝?6 k$ s+ i4 x( z: S' C/ L
第三步,能不能通過一種方法,使機器人在每局對戰(zhàn)時100%獲勝?/ e& |& M5 s6 j
*****************************************************************************************
# b- E1 k( P# ~' g" n關(guān)于第一步,可以用如下方法實現(xiàn):讓機器人和人對戰(zhàn),在對戰(zhàn)的實踐過程中訓練機器人,使其不斷自學習以掌握規(guī)則。在對戰(zhàn),人始終隨機出,機器人一開始并不知道規(guī)則,也隨機出。贏了有獎勵,輸了有懲罰,隨著對戰(zhàn)次數(shù)的增多,機器人就會對出拳的種類形成“價值判斷”。在訓練過程中,機器人會反復判斷,是隨機出還是基于已經(jīng)學到的部分知識。經(jīng)過不斷訓練,機器人就會學會游戲規(guī)則。這個過程區(qū)別于以往的程序員直接定義,和人類的學習過程十分類似。
+ Y7 F4 V: C0 d/ C4 Y3 e$ J+ J那么這個方法有沒有效果,我們驗證一下。4 j" B" H. |. B* S
下圖是我與機器人玩25局的情況,注意這個機器人一開始并不知道游戲規(guī)則。我隨機出拳,機器人一開始也隨機出,贏了獎勵,輸了懲罰。大家會發(fā)現(xiàn),從第11局開始,機器人就已經(jīng)完全掌握了規(guī)則。: a! `+ u* \! j; Y6 Q
' g% t, V8 _+ \! [
) A8 X! R. u" S( a- _1 m- `$ P8 d1 o3 Y% h. n4 R$ R
; w% B8 g, H, c' m1 I) c, H' W
# h8 P* n) x# q9 u& H# M7 f7 L2 @1 h |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有賬號?注冊會員
×
|