Inteligência Artificial Jogando Super Mario



Original Source Here

Inteligência Artificial Jogando Super Mario

Utilizar da aprendizagem por reforço para ensinar a uma máquina como se joga Super Mario.

Antes do Treino

Importações

Usaremos o gym, para isso precisamos instalar a mesma.

$ pip install gym gym[all] gym_super_mario_bros

Faremos a importação do modelo no tensorflow.keras e o restante para adição, como: Dense, Activation, Flatten, Conv2D, MaxPooling e Dropout.

Utilizaremos a camada de convolução para pegarmos o vídeo do jogo e fazermos o processamento. A camada de convolução basicamente serve para “converter” nossa imagem em uma matriz de dimensão escolhida no modelo. O MaxPooling fará a redução da dimensionalidade dessa matriz.

O Flatten tem a função de pegar essa matriz e retornar um array unidimensional.

Modelo da Rede Neural

https://cezannec.github.io/assets/cnn_intro/CNN_ex.png

Faremos a aplicação da camada de convolução no início como mostra a imagem. A camada de convolução irá pegar a imagem e converter para uma matriz, após isso o max pooling fará a redução da dimensionalidade da matriz, passaremos mais uma vez pela camada de convolução e pela camada de pooling, todas as ativações será a ‘relu’.

Após ter feito isso nós faremos a aplicação da camada do Flatten, que fará um array unidimensional com a matriz. Após isso, nós aplicaremos então a camada densa da rede neural.

Dense(512, activation='relu')
Dense(256, activation='relu')
Dense(number_action, activation='linear')

Na última camada temos nossa camada densa de output, que tem a função de ativação ‘linear’ e o número de ações que o jogo terá.

Treino

Faremos um loop e definiremos os parâmetros para rodarmos o game e treinar a rede neural.

Faremos o treino com base nas ações, e com isso recebermos o output da próxima ação. Você pode obter um ótimo resultado utilizando um computador na cloud para fazer o treino, depois você apenas salva os pesos do treino feito.

Após o Treino

Referências

AI/ML

Trending AI/ML Article Identified & Digested via Granola by Ramsey Elbasheer; a Machine-Driven RSS Bot

%d bloggers like this: