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?
reinforcement-learning
applications
Mark Markrowave Charlton
fonte
fonte
Respostas:
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.
fonte
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.
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.
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.
fonte
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.
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.
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.
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.
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.
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.
fonte