Como ensinei o agente a montar a gaiola 2048 no jogo "2048"

Olá! Meu nome é Rinat Maksutov, trabalho na divisão de Serviços de Engenharia Inteligente do departamento de Tecnologia do escritório russo da Accenture e lidero projetos de desenvolvimento personalizados. Ao longo de minha longa carreira na Axencher, tentei muitas áreas diferentes: desenvolvimento móvel, front-end, back-end e até mesmo ciência de dados com mashlern. Porém, minha história não será sobre trabalho, mas sobre um hobby. Eu realmente gosto de aprender e explorar novas áreas em meus próprios projetos de estimação. Hoje vou falar sobre um deles - como ensinei o agente de aprendizagem por reforço (RL) a jogar o famoso quebra-cabeça "2048". O artigo deliberadamente não conterá código, matemática, abordagens de última geração e as últimas descobertas na área, então as pessoas que estão bem familiarizadas com RL não descobrirão nada de novo por si mesmas. Este artigo é uma história para o público em geral sobrecomo eu me propus uma meta incomum e a alcancei.
. , , 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 . , , !