Bagaimana saya mengajari agen untuk merakit kandang 2048 di game "2048"

Halo! Nama saya Rinat Maksutov, saya bekerja di divisi Intelligent Engineering Services di departemen Teknologi kantor Accenture Rusia, dan saya memimpin proyek pengembangan khusus. Selama karir saya yang panjang di Axencher, saya telah mencoba berbagai bidang: pengembangan seluler, front-end, back-end, dan bahkan ilmu data dengan mashlern. Bagaimanapun, cerita saya bukan tentang pekerjaan, tapi tentang hobi. Saya sangat menikmati belajar dan menjelajahi area baru pada proyek hewan peliharaan saya sendiri. Hari ini saya akan memberi tahu Anda tentang salah satunya - bagaimana saya mengajar agen Reinforcement learning (RL) untuk memainkan teka-teki terkenal "2048". Artikel tersebut sengaja tidak akan berisi kode, matematika, pendekatan mutakhir, dan penemuan terbaru di lapangan, sehingga orang yang sangat mengenal RL tidak akan menemukan sesuatu yang baru untuk dirinya sendiri. Artikel ini adalah cerita untuk masyarakat umumbagaimana saya menetapkan diri saya tujuan yang tidak biasa dan mencapainya.
. , , Nanodegree Udacity (Nanodegree - ). Deep Learning Nanodegree , .
RL, : , , - , , , - . , .
, RL , . , , , - , ( , ).
, - , ( , RL), . - 2048 ( : https://play2048.co/). , (, , , ), , . , ( 0.9) ( 0.1). , , .
, 2048 . , 4096, 8192, . - 131 072, 2^17:
. , , . , . , , , (, ), , - . , “” , , .
?
- , “” , , , .
( , ) . , “” , .
, , , .
Reinforcement learning
, RL, - . - , . (, ), , . , , , , . , .
, , , . , , , , . “”. , , . - “” - , . - “”, , , - ( discourage) . ( , ) .
Udacity . , , . : , , , . , , . , , . - - - , .
: AlphaGo, StarCraft . , , - , . , , . , , , .
, . , , . , .
, , : 1) , 2) , 3) . , , , - , . , , : , , .
. - ( , ) , . - -, , , , StarCraft . , , , . , , , . , . , , - . , . , . , .
2048 ( - , 2048 - ) - , , , , .
: , Deep Q-network Udacity, , . .
, 3 ( , ):
| ||
|
|
|
|
| |
|
| |
|
|
|
() |
| |
|
| |
|
|
|
- , , - , - . .
, - . , .
, . - . “” , . , , 44, . fully-connected , , 116:
. , 512. , . , : 0 . , : , .
- . , . , , - . , , , , , . , , , .
. : , log2 . , , :
, . 512, 1024. . , .
- , , . , . :
, a+a = b, b+b=c .., , a, b . (“+” - , “”). ? , , . , one-hot encoded . , 18, , , , . - . , , , , .
. , , , , . , . - .
, , Space Invaders. Google .
, , “ ”. (“”), (“”) .
2048 . . , 2 , . , … . . , , . , , , 2 4. , , [ + 2 4]. , , , . - .
-. , . , : , , - . , , : , . , , .
, . , , . , , , . , . , , - . , , .
, “” - . , , , . , , . . - . 1.0 0.1. , , , . , , , . - “” , .
RL , , . , - , - , . , ( ) . , . , , . , , , , . , , - , “” - .
, : , “” - .
, . , . , , , , , . , . - - , - , , , . , - , . , , . , , . , “” ( - - , , , ). , “” , .

. - - 2048.
, 2048 60 . , , . , , 1024. , 1024 , - 30 1024. , “” 2048, , , , , , - 4096.
, , . 20- , 2048 ( 16:40).
( !), . , 2048 - . , - GitHub ! , . !
PS: , back-end Python Java, front-end React. , --. , , proof-of-concept . , , !