Como as IA aprendem a agir quando o espaço do problema é muito grande

10

Eu aprendo melhor através da experimentação e exemplo. Estou aprendendo sobre redes neurais e tenho (o que acho) um bom entendimento de classificação e regressão e também aprendizado supervisionado e não supervisionado, mas me deparei com algo que não consigo descobrir;

Se eu quisesse treinar uma IA para jogar um jogo complicado; Estou pensando em algo como um RTS (por exemplo, Age of Empires, Empire Earth etc.). Nesses tipos de jogos, normalmente há um número de entidades controladas pelo jogador (unidades, edifícios), cada uma com diferentes capacidades. Parece que o problema da IA ​​seria a classificação (por exemplo, escolha essa unidade e essa ação), no entanto, como o número de unidades é uma variável, como lidar com um problema de classificação dessa maneira?

A única coisa em que consigo pensar é em várias redes que realizam estágios diferentes (um para a estratégia geral, outro para controlar esse tipo de unidade, um para esse tipo de construção etc.); mas parece que estou tornando o problema complicado.

Existe algum bom exemplo de aprendizado de máquina / redes neurais aprendendo jogos complexos (não especificamente o RTS, mas mais complicado o Mario )?

FraserOfSmeg
fonte
"RTS AI: Problemas e Técnicas", webdocs.cs.ualberta.ca/~cdavid/pdf/ecgg15_chapter-rts_ai.pdf
Anton Tarasenko
Poderia ser útil para uma resposta: ijcai.org/papers07/Papers/IJCAI07-168.pdf e revisão dos mesmos: aigamedev.com/open/review/transfer-learning-rts
Neil Slater
Você já viu cs.toronto.edu/~vmnih/docs/dqn.pdf ?
Xgdgsc

Respostas:

4

Essa é uma boa pergunta e muitos cientistas ao redor do mundo estão perguntando o mesmo. Bem, primeiro um jogo como o Age of Empires não é considerado um espaço de solução realmente grande, não há muitas coisas que você possa fazer. É o mesmo em jogos como Mario Bros. O problema de aprender em jogos fáceis como os jogos da Atari foi resolvido pelos caras do DeepMind (aqui o jornal ), que foi adquirido pelo Google. Eles usaram uma implementação do Aprendizado por Reforço com o Aprendizado Profundo.

Voltando à sua pergunta. Um grande problema é como imitar a quantidade de decisões que um ser humano toma todos os dias. Acorde, tome café da manhã, tome um banho, saia de casa ... Todas essas ações precisam de um nível realmente alto de inteligência e muitas ações para serem desenvolvidas.

Há muitas pessoas trabalhando nesse problema, eu sou uma delas. Não sei a solução, mas posso dizer de que maneira estou olhando. Sigo as teorias de Marvin Minsky, ele é um dos pais da IA. Este livro, a Emotion Machine, conta uma visão muito boa do problema. Ele sugeriu que a maneira de criar uma máquina que imita o comportamento humano não é construindo uma teoria compacta unificada da inteligência artificial. Pelo contrário, ele argumenta que nosso cérebro contém recursos que competem entre si para satisfazer objetivos diferentes no mesmo momento. Eles chamaram isso de maneiras de pensar .

hoaphumanoid
fonte
1

Ótima pergunta. Essa é uma questão de complexidade, e a abordagem usada dependerá da complexidade do problema. Qualquer problema que tentarmos resolver terá um grau de complexidade associado a ele, coloquialmente definido como "o número de coisas interagindo ou coisas que precisam ser consideradas". No aprendizado supervisionado e não supervisionado, especificamos com precisão o número de coisas a considerar.

Por exemplo, na regressão linear múltipla, dizemos ao algoritmo de aprendizado quantos recursos considerar ao ajustar um modelo (o número de colunas em seu conjunto de treinamento). A mesma situação vale para a aprendizagem não supervisionada; um conjunto de treinamento bem definido com um número explícito de recursos é usado (neste caso, sem rótulos).

O que você está enfrentando é uma situação inadequada para classificação ou regressão, porque você não pode especificar com precisão o número de "coisas a considerar". Como você diz, seu espaço problemático é extremamente grande. Outra maneira de pensar sobre isso é em termos do conjunto de treinamento necessário para aprender um modelo; quão difícil é para você imaginar como é o conjunto de treinamento? No seu caso difícil. O que exatamente conteriam as colunas do meu conjunto?

É por isso que aplicativos como carros autônomos, Atari e AlphaGo não usam classificação ou regressão. É impossível saber como seria o conjunto de treinamento. Você pode tentar, mas seu modelo falhará em fazer previsões fortes com segurança (nesse caso, mudanças). Quantas coisas você deve considerar para construir um modelo de condições da estrada?

É por isso que existe um terceiro tipo de aprendizado de máquina, o aprendizado por reforço. Em vez de usar um conjunto de treinamento pré-especificado, ele usa tentativa e erro. Ao cutucar continuamente seu ambiente, ele pode aprender uma política que funcione a longo prazo.

Portanto, em espaços com problemas menores, onde temos a chance de definir o conjunto de treinamento, usamos o aprendizado de máquina supervisionado e não supervisionado. Para espaços com problemas maiores, onde é difícil definir o conjunto de treinamento, usamos o aprendizado por reforço. É claro que você também pode fazer combinações interessantes de todas as abordagens acima, mas ainda se resume à complexidade.

Cibernético
fonte