Cómo le enseñé a un agente a construir una jaula 2048 en 2048
¡Hola! Mi nombre es Rinat Maksutov, trabajo en la división de Servicios de Ingeniería Inteligente del departamento de Tecnología de la oficina rusa de Accenture y dirijo proyectos de desarrollo personalizados. Durante mi larga carrera en Axencher, he probado muchas áreas diferentes: desarrollo móvil, front-end, back-end e incluso ciencia de datos con mashlern. Sin embargo, mi historia no será sobre el trabajo, sino sobre un pasatiempo. Realmente disfruto aprender y explorar nuevas áreas en mis propios proyectos favoritos. Hoy les contaré sobre uno de ellos: cómo le enseñé al agente de aprendizaje por refuerzo (RL) a jugar el famoso rompecabezas "2048". El artículo deliberadamente no contendrá código, matemáticas, enfoques de vanguardia y los últimos descubrimientos en el campo, por lo que las personas que están bien familiarizadas con RL no descubrirán nada nuevo por sí mismas. Este artículo es una historia para el público en general sobrecómo me propuse un objetivo inusual y lo logré.
. , , 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 . , , !