Existem outras aplicações de aprendizado por reforço além dos jogos?


12

Existe uma maneira de ensinar aprendizado reforçado em aplicativos que não sejam jogos?

Os únicos exemplos que posso encontrar na Internet são de agentes de jogos. Entendo que os VNCs controlam a entrada dos jogos através da rede de reforço. É possível configurar isso com um software CAD, por exemplo?


3
Sim, é possível, mas a verdadeira questão deve ser se é mais eficiente que outros algoritmos ou não. Se você tem um objetivo específico, pode pensar nele e modelá-lo como um jogo (até a vida é um jogo;)). De fato, muitas IA de sucesso aproveitam mais de uma técnica. Dê uma olhada neste: datascience.stackexchange.com/questions/11126/… #
TasosGlrs

2
O ponto sobre o AlphaGo é que um determinado tipo de jogo (informações não triviais , sem chance, perfeitas) fornece um excelente campo de teste para a IA porque esses jogos têm parâmetros muito simples, mas complexidade semelhante à natureza. Os jogos, de uma certa perspectiva, são os tipos mais úteis de artefatos, porque ensinam pensamento abstrato e estratégico. Para entender a importância dos jogos, observe o impacto da teoria dos jogos na ciência da computação .
DukeZhou

Isso pode ser por causa das NDAs. Os melhores aplicativos de aprendizado são proprietários, assim como o melhor software de torre de celular ou o melhor reconhecimento de voz ou os melhores shopping centers on-line. Isso é engenharia em geral.
FauChristian

Certo. Se tudo o que se tem é teoria dos jogos, o mundo se torna um jogo.
FelicityC

Respostas:


2

Um dos exemplos interessantes de aprendizado por reforço é um helicóptero voador autônomo. Eu tive a chance de aprender algumas das coisas feitas por Andrew Ng e outros recentemente. Aqui está o artigo de pesquisa papel . Existem outros documentos semelhantes também. Você pode pesquisá-los no Google se quiser saber mais.

Você também pode vê-lo em ação neste vídeo do youtube .

Aqui está outra aplicação completamente diferente em finanças, aparentemente.


2

Você verá muitos exemplos de jogos na literatura de aprendizado por reforço, porque os ambientes de jogos geralmente podem ser codificados com eficiência e executados rapidamente em um único computador que pode conter o ambiente e o agente. Para jogos clássicos, como gamão, damas, xadrez, vá, existem especialistas em humanos com os quais podemos comparar os resultados. Certos jogos ou ambientes simplificados do tipo jogo são comumente usados ​​para comparar diferentes abordagens, assim como os dígitos manuscritos do MNIST são usados ​​para comparar as abordagens de aprendizado supervisionado.

Existe uma maneira de ensinar o aprendizado por reforço em aplicativos que não sejam jogos?

Sim. Informalmente, você pode aplicar abordagens de aprendizado por reforço sempre que puder enquadrar um problema como um agente que atua em um ambiente em que ele pode ser informado sobre o estado e um valor de recompensa que influencia os objetivos. Mais formalmente, a teoria do aprendizado por reforço é baseada em soluções para os processos de decisão de Markov ; portanto, se você pode ajustar a descrição do seu problema a um MDP, as várias técnicas usadas na RL - como Q-learning, SARSA, REFORÇAR - podem ser aplicadas. Essa adequação à teoria não precisa ser perfeita para o sistema resultante funcionar, por exemplo, você pode frequentemente tratar estados desconhecidos ou imperfeitamente observados como efetivamente aleatórios para o agente e considerar essa parte de um ambiente estocástico.

Aqui estão alguns exemplos de possíveis usos para o aprendizado por reforço fora dos jogos recreativos:

  • Lógica de controle para robôs motorizados, como aprender a virar panquecas e outros exemplos . Aqui, as medições do ambiente são feitas por sensores físicos no robô. As recompensas são dadas por concluir uma meta, mas também podem ser ajustadas para suavidade, uso econômico de energia etc. O agente escolhe ações de baixo nível, como torque do motor ou posição do relé. Em teoria, pode haver agentes aninhados em que os de nível superior escolhem as metas para os de nível inferior - por exemplo, o robô pode decidir em um nível alto entre executar uma das três tarefas que requerem mudança para locais diferentes e, em um nível inferior, pode ser decisões sobre como controlar motores para mover o robô para o objetivo escolhido.

  • Carros autônomos. Embora se concentre muito na interpretação do sensor - vendo marcações nas estradas, pedestres etc., é necessário um sistema de controle para selecionar o acelerador, o freio e a direção.

  • Negociação financeira automatizada. Talvez seja um jogo para alguns, há claras consequências no mundo real. O sinal de recompensa é bastante simples e o RL pode ser ajustado para preferir ganhos de longo ou curto prazo.

é possível configurar isso com um software CAD, por exemplo?

Em teoria, sim, mas não sei o que pode estar disponível para fazer isso na prática. Além disso, você precisa de um ou mais objetivos para codificar o agente (como valores de recompensa que ele pode observar) antes de fornecer um mouse virtual e definir uma tarefa para desenhar algo. Os jogos de computador vêm com um esquema de recompensa incorporado como sistema de pontuação e fornecem feedback frequente, para que um agente possa adquirir conhecimento rapidamente de boas ou más decisões. Você precisaria substituir esse componente de pontuação por algo que represente suas metas para o sistema baseado em CAD.

O CAD não possui nada adequado embutido, embora as ferramentas de CAD com simulações, como vários mecanismos de física ou análise de elementos finitos, possam permitir a classificação de projetos com base em uma medida física simulada. Outras possibilidades incluem análise de tensão, uso não desperdício de material, quaisquer que sejam as métricas que o sistema CAD / CAM possa fornecer para um projeto parcial ou completo. A parte complicada é restringir um design a seu objetivo ou objetivo e organizar a recompensa ou criar restrições no ambiente; dar a um agente da RL controle total e sem restrições do processo CAD e recompensar com menor esforço provavelmente resultará em algo muito desinteressante, como um pequeno cubo.


Muitas coisas adequadas: dimensionamento automático para máxima clareza visual, pesquisa por interferência de peças móveis sob tensão (sem FEA), otimização da saída CAM, aceleração de renderização usando informações aproximadas da profundidade z etc.
FauChristian

@FauChristian: Não sei se todos eles poderiam ser alimentados como um sinal de recompensa tão simples quanto a pontuação do jogo. Otimizar um design para reduzir a tensão, por exemplo, implica que seu design tenha um objetivo - você também deve adicionar algumas restrições / regras para acompanhar esse objetivo, e isso pode ser mais difícil, a menos que você também tenha alguma análise ergonômica. No entanto, o comentário adiciona algumas coisas que eu poderia mencionar e adiciona à resposta.
Neil Slater

Sim. Verdade. Vou tentar. Desculpe a sequência de comentários que precisarei fazer. Em cada caso acima, meu objetivo será agregar as preocupações de um projetista mecânico em um único sinal de bem-estar que possa guiar as iterações, com a verdade em mente que pode haver vários órgãos da NN, cada um dos quais pode receber uma agregação diferente. Mas, por uma questão de simplicidade, agregarei cada caso a um escalar. Ter um elemento estocástico será necessário para a maioria deles, porque a maioria dos casos em CAD tem vários pontos críticos na superfície do valor agregado.
FauChristian

Dimensionamento automático - w = sqrt (Σ min (s_clear, s_nice)) + k n_jumps, ... onde ... w é a qualidade agregada do estado do dimensionamento do desenho, do qual um sinal de feedback normalizado pode ser derivado, s_clear é a distância entre uma linha de dimensionamento e a outra linha mais próxima, excluindo linhas de salto, s_nice é um metaparameter que representa uma boa distância de folga entre linhas para o tipo de desenho que está sendo dimensionado, k é uma constante e n_jumps é o número de linhas de salto ( onde as linhas se cruzariam, mas um dos dois tem um espaço para indicar que está pulando atrás da outra linha).
FauChristian

Pesquisas de interferência - w = n, ... onde ... w é o agregado de qualidade da pesquisa de interferências en é o número de interferências encontradas após alimentar as suposições das iterações em uma simulação dinâmica da suposição. Este é como um jogo em que quanto mais interferência correta adivinha, maior a pontuação.
FauChristian

1

Definitivamente, existe uma maneira de introduzir o que muitos estão chamando de aprendizado reforçado em aplicativos reais da Web, dispositivos móveis e estações de trabalho.

Organizações militares fazem isso, a indústria cinematográfica, empresas centradas em software, e eu fiz isso para empresas da Fortune 500 e pequenas empresas. Existem componentes de aprendizado adaptável em todos os tipos de componentes de sistema incorporados a sistemas maiores, desde os robôs de reconhecimento facial do FaceBook ao Google Translate, aos sistemas de reconhecimento de código postal do USPS, aos sistemas autônomos de controle de vôo e tráfego. O software de design auxiliado por computador (CAD) é certamente um alvo viável.

A base para o reforço

Considere uma série de vetores que descrevem eventos. Imagine que eles estão divididos em duas sub-séries A e B. Uma rede neural (artificial ou biológica) poderia ser treinada usando A.

O treinamento pode ser supervisionado, o que significa que uma das dimensões do vetor é considerada o rótulo e, portanto, a variável dependente para a previsão ideal. As outras dimensões tornam-se os fatos ou sinais de entrada e, portanto, as variáveis ​​independentes a serem usadas na previsão. O treinamento pode não ser supervisionado usando a extração de recursos.

De qualquer maneira, quando fornecido com A antes de B e com expectativa de desempenho na produção (uso real) antes da chegada de B, a chegada posterior de B apresenta uma opção.

  1. Apague os pesos e quaisquer ajustes de meta-parâmetros feitos durante o treinamento com A e execute novamente o treinamento com as séries concatenadas de A e B.
  2. Continue o treinamento com B, caso em que a rede seria enviesada com A e o resultado seria diferente do resultado obtido pelo treinamento com B e depois A.
  3. Encontre uma maneira de limitar o viés de treinar primeiro com A, evitando o consumo de recursos necessário para a opção nº 1 acima.

A opção 3 é a melhor opção em muitos casos, pois contém os benefícios das opções 1 e 2. Matematicamente, o nº 3 é feito facilitando a antecipação do que foi aprendido da série A de alguma forma. Os pesos da rede neural e os ajustes dos meta-parâmetros devem ser suscetíveis à correção, pois novas experiências indicam a necessidade de fazê-lo. Uma abordagem ingênua pode ser formulada matematicamente a função exponencial inversa, que modela a decadência natural em muitos fenômenos da física, química e ciências sociais.

P = e -nt , onde P é a probabilidade de o fato ainda ser eficaz, n é a taxa de deterioração das informações aprendidas no passado e t é uma medida do progresso futuro, como registro de data e hora, número da subseção (lote), número de sequência de fatos ou número do evento.

No caso das sub-séries A e B, quando a fórmula acima é implementada de alguma forma no mecanismo de aprendizado, o treinamento de A colocará menos viés no resultado final após o treinamento contínuo usando B, porque o t para A é menor do que t para B, dizendo ao mecanismo que B é provavelmente mais pertinente.

Se dividirmos recursivamente A e B em metades, criando sub-séries cada vez mais granulares, a idéia acima de deixar as informações anteriores decairem gradualmente permanece válida e valiosa. O desvio da rede para a primeira informação usada no treinamento é equivalente aos conceitos psicológicos da mente estreita. Os sistemas de aprendizado que evoluíram para os cérebros dos mamíferos parecem esquecer ou perder o interesse em coisas passadas para incentivar a mente aberta, que nada mais é do que permitir que o novo aprendizado, às vezes, anteceda o aprendizado anterior, se as novas informações contiverem padrões mais fortes para aprender.

Há duas razões para permitir que dados de exemplo mais recentes superem progressivamente dados de exemplo mais antigos.

  • A remoção acima do viés do aprendizado anterior para avaliar adequadamente eventos mais recentes no aprendizado posterior faz sentido se todos os eventos experimentados (treinados) representarem fatos razoáveis ​​sobre o mundo externo que o sistema está tentando aprender.
  • O mundo externo pode estar mudando e o aprendizado mais antigo pode realmente se tornar irrelevante ou até enganoso.

Essa necessidade de deixar a importância das informações anteriores decair gradualmente à medida que a aprendizagem continua é um dos dois principais aspectos do reforço. O segundo aspecto é um conjunto de conceitos corretivos construídos sobre a idéia de sinalização de feedback.

Feedback e Reforço

Um sinal de feedback no aprendizado reforçado é o aprendizado de máquina equivalente a conceitos psicológicos familiares como dor, prazer, satisfação e bem-estar. O sistema de aprendizagem recebe informações para orientar o treinamento além do objetivo de extração de recursos, independência de agrupamentos ou encontrar uma matriz de peso líquido neural que se aproxime da relação entre os recursos de eventos de entrada e seus rótulos.

As informações fornecidas podem se originar internamente do reconhecimento de padrões pré-programados ou externamente de recompensas e punições, como é o caso de mamíferos. As técnicas e algoritmos desenvolvidos no aprendizado de máquina reforçado usam esses sinais adicionais com freqüência (usando redução de tempo no processamento) ou continuamente usando a independência das unidades de processamento das arquiteturas de processamento paralelo.

Este trabalho foi pioneiro no MIT por Norbert Wiener e apresentado em seu livro Cybernetics (MIT Press 1948). A palavra Cibernética vem de uma palavra mais antiga que significa direção de Navios . O movimento automático de um leme para permanecer no curso pode ter sido o primeiro sistema de feedback mecânico. O seu motor de cortador de grama provavelmente tem um.

Aplicações Adaptativas e Aprendizagem

A simples adaptação em tempo real para uma posição do leme ou um acelerador do cortador de grama não está aprendendo. Essa adaptação é geralmente alguma forma de controle PID linear. A tecnologia de aprendizado de máquina que está sendo expandida hoje abrange a avaliação e o controle de sistemas complexos não-lineares que os matemáticos chamam de caóticos.

Por caótico, eles não significam que os processos descritos estejam frenéticos ou desorganizados. Os caóticos descobriram décadas atrás que equações não lineares simples podem levar a um comportamento altamente organizado. O que eles querem dizer é que o fenômeno é sensível demais a pequenas mudanças para encontrar algum algoritmo ou fórmula fixa para prever essas mudanças.

A linguagem é assim. A mesma declaração disse que com uma dúzia de inflexões vocais diferentes pode significar uma dúzia de coisas diferentes. A frase em inglês "Really" é um exemplo. É provável que as técnicas de reforço permitam às futuras máquinas distinguir com altas probabilidades de sucesso entre os vários significados dessa afirmação.

Por que os jogos primeiro?

Os jogos têm um conjunto muito simples e facilmente definido de cenários possíveis. Um dos principais colaboradores do advento do computador, John von Neumann, argumentou em Theory of Games and Economic Behavior , um livro que ele foi co-autor de Oskar Morgenstern, de que todo planejamento e tomada de decisão são realmente jogos de várias complexidades.

Considere os jogos o exemplo de treinamento conjunto da coleção de cérebros que, com o tempo, criarão sistemas que podem determinar o significado de uma afirmação, como pessoas educadas, a partir de três fontes de dicas.

  1. Contexto dentro de uma conversa ou cenário social
  2. As inflexões vocais do falante
  3. Expressões faciais e linguagem corporal do falante

Além do xadrez e do jogo da partida

Ao longo do caminho, dos jogos aos sistemas de idiomas, com compreensão precisa e capacidades de escuta mais profunda, existem várias aplicações de aprendizado reforçado, que são de muito maior importância para a Terra e a experiência humana.

  • Sistemas que aprendem a desligar ou atenuar luzes, eletrodomésticos, sistemas digitais, HVAC e outros dispositivos que consomem energia - a energia é talvez a mercadoria mais geopoliticamente influente na história humana devido ao esgotamento dos recursos de combustíveis fósseis ao longo do tempo.)
  • Desenvolvimento de veículos autônomos - A tendência perigosa da operação de equipamentos pesados, como aeronaves, trailers, caminhões, ônibus e reboques de trator por pessoas com estados de espírito desconhecidos em estradas abertas, provavelmente será vista como loucura por futuras pessoas.
  • A classificação da confiabilidade das informações - as informações estão em toda parte e mais de 99% delas estão erradas, parcial ou completamente. Muito pouco é autenticado por pesquisas reais, estudos randomizados duplo-cegos adequadamente projetados e interpretados ou testes e análises laboratoriais verificáveis.
  • Os aplicativos de assistência médica que melhor diagnosticam, adaptam os remédios para o indivíduo e auxiliam no atendimento contínuo para evitar a recorrência.

Esses quatro e muitos outros são muito mais importantes do que a acumulação de riqueza por meio de negociação automatizada de alta velocidade ou competições vencedoras de jogos, dois interesses de aprendizado de máquina autocentrado que apenas impactam uma ou duas gerações da família de uma única pessoa.

Riqueza e fama são o que na teoria dos jogos é chamado de jogo de soma zero . Eles produzem tantas perdas quanto ganhos, se você considerar a filosofia mais elevada da Regra de Ouro de que outros e suas famílias são de igual importância para nós.

Aprendizagem reforçada para software CAD (Computer Aided Design)

O design assistido por computador é o precursor natural do design do computador (sem a ajuda de seres humanos), assim como as quebras antibloqueio levam naturalmente a veículos totalmente autônomos.

Considere o comando "Crie-me uma saboneteira para o meu chuveiro, que maximize a probabilidade de minha família pegar o sabonete na primeira tentativa sem abrir os olhos e minimize a dificuldade de manter as superfícies de sabão e chuveiro limpas. Aqui estão as alturas de membros da minha família e algumas fotos do espaço do chuveiro ". Em seguida, uma impressora 3D sairia do dispositivo, pronta para conectar, junto com as instruções de instalação.

Obviamente, esse sistema de CD (CAD sem o A) precisaria ser treinado em tarefas domésticas, comportamento humano sem visão, maneiras de anexar itens ao ladrilho, ferramentas e recursos de manutenção doméstica do consumidor médio, recursos da impressora 3D e várias outras coisas.

Tais desenvolvimentos na automação de manufatura provavelmente começariam com o aprendizado reforçado de comandos mais simples, como "Anexe essas duas partes usando fixadores produzidos em massa e práticas recomendadas". O programa CAD selecionaria o hardware dentre parafusos, rebites, adesivos e outras opções, talvez fazendo perguntas ao designer sobre temperatura operacional e faixas de vibração. A escolha, a posição e o ângulo serão então adicionados ao conjunto apropriado de peças CAD, desenhos de montagem e listas de materiais.


Normalmente, eu não faria um comentário crítico sobre a resposta, bem escrito, mas desde que você solicitou críticas: acho que as seções A Base para Reforço , Feedback e Reforço e Aplicações Adaptativas e Aprendizagem, embora interessantes, podem ser reduzidas consideravelmente, pois A pergunta do OP já implica algum conhecimento de RL e você gasta muito tempo configurando essa discussão em segundo plano relacionada antes de abordar a pergunta original.
Neil Slater

O fato de o OP ter feito a pergunta indica falhas no estado atual da pesquisa, indicativo de alguém novo no campo e pode precisar da cartilha nas seções anteriores. A última seção responde mais diretamente à pergunta.
FauChristian
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.