Que função de recompensa resulta em um aprendizado ideal?


13

Vamos pensar nas seguintes situações:

  • Você está ensinando um robô a jogar pingue-pongue
  • Você está ensinando um programa para calcular raiz quadrada
  • Você está ensinando matemática para uma criança na escola

Essas situações (isto é, aprendizado supervisionado) e muitas outras têm uma coisa (entre outras) em comum: o aluno recebe uma recompensa com base em seu desempenho.

Minha pergunta é: como deve ser a função de recompensa? Existe uma resposta "melhor" ou depende da situação? Se depender da situação, como determinar qual função de recompensa escolher?

Por exemplo, tome as três funções de recompensa a seguir:

insira a descrição da imagem aqui

  • A função Adiz:
    • abaixo de um certo ponto, ruim ou pior são as mesmas: você não ganha nada
    • existe uma clara diferença entre quase bom e perfeito
  • A função Bdiz:
    • você recebe recompensa linearmente proporcional ao seu desempenho
  • A função Cdiz:
    • se seu desempenho for ruim, tudo bem, você fez o seu melhor: você ainda recebe alguma recompensa
    • não há muita diferença entre perfeito e quase bom

Intuitivamente, eu acho Aque tornaria o robô muito focado e aprenderia o padrão exato, mas se tornaria estúpido ao lidar com padrões semelhantes, enquanto Co tornaria mais adaptável à mudança com o custo de perder a perfeição.

Pode-se também pensar em funções mais complexas, apenas para mostrar mas poucas:

insira a descrição da imagem aqui

Então, como saber qual função escolher? É conhecido que o comportamento surgiria a partir de (pelo menos) o básico A, Be Cfunções?


Uma outra questão é: isso seria fundamentalmente diferente para robôs e crianças humanas?


Duvido que um robô se tornasse estúpido fazendo a mesma coisa ou semelhante repetidamente, a menos que fosse cibernético.
7--13

@ott, não foi isso que eu quis dizer. O que eu quis dizer é que, com uma função de recompensa semelhante A, o robô pode se tornar extremamente bom na tarefa exata, mas terrível em tarefas semelhantes, mas um pouco diferentes. Esse é apenas o meu palpite.
Shahbaz

Ah, entendi. Você está pensando em tênis, por exemplo,
ott--

Talvez a teoria por trás disso possa ser complicada, mas uma resposta que diga "Pensei em tarefas diferentes para muitos robôs e geralmente funcione Xme deu o melhor resultado", mesmo que não esteja perfeitamente correta, daria uma grande regra de ouro.
Shahbaz

Respostas:


5

Resposta curta: o efeito de reforço mais forte vem da entrega de uma recompensa valiosa em uma programação intermitente (aleatória).

Versão mais longa: Um aspecto da sua pergunta é sobre condicionamento operante , pelo menos no que se refere ao ensino de matemática para um organismo complexo. A aplicação disso ao aprendizado de máquina é conhecida como aprendizado por reforço .

A economia (conforme resposta de jwpat7 ) aborda apenas uma parte da história do reforço. A função Utilidade informa qual recompensa tem o efeito de reforço mais forte (maior impacto no comportamento) em um determinado contexto. É um elogio? chocolate? cocaína? estimulação elétrica direta para certas áreas do cérebro? Principalmente, minha resposta é sobre o efeito do contexto, assumindo uma utilidade de recompensa.

Para organismos / comportamentos complexos, a programação de recompensas é pelo menos tão importante quanto a utilidade da recompensa:

  • Uma "programação de recompensa por intervalo fixo" é a maneira menos eficaz de modificar o comportamento com uma quantidade determinada de recompensa (eu darei US $ 10 por semana, se você mantiver seu quarto arrumado). Pense bala de bala.
  • As programações de recompensa de proporção fixa (eu darei a você US $ 10 a cada sete dias em que você tem um quarto arrumado) são mais eficazes que intervalos fixos, mas elas têm um tipo de teto de eficácia (o sujeito arruma seu quarto sete vezes quando está com fome de US $ 10, mas não de outra forma). Pense mercenário.
  • A maneira mais influente de fornecer uma determinada recompensa com um "cronograma de reforço de intervalo variável" (por exemplo, todos os dias em que você arruma seu quarto, você tem 1/7 de chance de ganhar US $ 10). Pense na máquina de pôquer.

Se você é um supervisor de aprendizado com um orçamento de recompensa fixo, para uma determinada situação de aprendizado, haverá um equilíbrio ideal entre tamanho da recompensa (utilidade) e frequência. Provavelmente não é uma fatia muito pequena de recompensa com uma frequência muito alta, nem um pedaço muito grande de recompensa entregue muito raramente. Pode até ser uma recompensa de tamanho aleatório em uma programação aleatória - o ideal é geralmente determinado experimentalmente para uma situação específica.

Por fim, o cronograma "ideal" (frequência aleatória, quantidade aleatória {p (recompensa), p (valor)}) provavelmente varia em diferentes estágios do processo de aprendizagem. Por exemplo, um novo aluno pode estar sujeito ao efeito "primazia" (seja bem-vindo! Tenha uma jujuba) que rapidamente se torna uma recompensa por intervalo fixo, se você repeti-la. Pode haver um efeito de "recência" que obtenha mais valor de reforço de uma recompensa entregue no último teste ("finalizando com uma nota alta"). No meio, pode haver um "efeito de fé" acumulativo, onde, à medida que o aluno se torna mais experiente, o ideal pode mudar para uma probabilidade menor, maior utilidade ao longo do tempo. Mais uma vez, mais coisas para determinar empiricamente na sua situação.


Resposta muito interessante. Faz muito sentido.
precisa

Estou lendo esta resposta novamente e gostaria de dizer novamente como essa resposta é ótima! De fato, deixe-me dar uma recompensa!
Shahbaz

6

"Aprendizado ideal" é um termo muito vago e totalmente dependente do problema específico em que você está trabalhando. O termo que você está procurando é " sobreajuste ": insira a descrição da imagem aqui

(A linha verde é o erro em prever o resultado nos dados de treinamento, a linha roxa a qualidade do modelo e a linha vermelha é o erro do modelo aprendido sendo usado "em produção")

Em outras palavras: quando se trata de adaptar seu comportamento aprendido a problemas semelhantes, como você recompensou seu sistema é menos importante do que quantas vezes você o recompensou - você deseja reduzir erros nos dados de treinamento, mas não mantê-lo no treinamento. desde que perca a capacidade de trabalhar em modelos semelhantes.

Um método para resolver esse problema é reduzir pela metade os dados do treinamento: use metade para aprender e a outra metade para validar o treinamento. Ajuda a identificar quando você começa a se ajustar demais.

Funções de recompensa não lineares

A maioria dos algoritmos de aprendizado supervisionado espera que a aplicação da função de recompensa produza uma saída convexa. Em outras palavras, ter mínimos locais nessa curva impedirá que o seu sistema converja para o comportamento adequado. Este vídeo mostra um pouco da matemática por trás das funções de custo / recompensa .


3

Essas questões são tratadas, em certa medida, pelo estudo das funções de utilidade na economia. Uma função de utilidade expressa valores efetivos ou percebidos de uma coisa em termos de outra. (Embora as curvas mostradas na pergunta sejam funções de recompensa e expressem quanta recompensa será oferecida para vários níveis de desempenho, funções utilitárias de aparência semelhante podem expressar quanto desempenho resulta de vários níveis de recompensa.)

Qual função de recompensa funcionará melhor depende dos equilíbrios entre o pagador e o executor. O artigo da curva de contratos da wikipedia ilustra com as caixas de Edgeworth como encontrar alocações eficientes de Pareto . O teorema da utilidade de Von Neumann-Morgenstern delineia condições que asseguram que um agente seja racional ao VNM e possa ser caracterizado como tendo uma função de utilidade. A seção “Previsões comportamentais resultantes da utilidade HARA” do artigo Aversão ao risco absoluto hiperbólico na wikipedia descreve as conseqüências comportamentais de certas funções da utilidade.

Resumo: Esses tópicos foram objeto de enormes quantidades de estudos em economia e microeconomia. Infelizmente, extrair um resumo breve e útil que responda à sua pergunta também pode exigir uma quantidade enorme de trabalho ou a atenção de alguém um pouco mais experiente que eu.


Isso é bastante complicado, não tenho certeza se entendi. Mas você tem certeza de que a função utilitária da economia também se aplica à robótica? No aprendizado supervisionado (de um robô), o pagador não perde nada. A recompensa costumava ser apenas um número dizendo ao robô como eles executaram a tarefa.
Shahbaz

1

A função de recompensa ideal depende do objetivo da aprendizagem, ou seja, o que deve ser aprendido. Para problemas simples, pode ser possível encontrar uma representação de formulário fechado para a função de recompensa ideal. De fato, para problemas realmente simples, estou confiante de que é possível, embora não conheça métodos formais para fazê-lo (suspeito que a teoria da utilidade resolva essa questão). Para problemas mais complexos, eu argumentaria que não é possível encontrar uma solução de formulário fechado.

Em vez de procurar a função ideal, poderíamos procurar um especialista para obter uma boa função de recompensa. Uma abordagem para fazer isso é uma técnica chamada Inverse Reinforcement Learning (IRL). Ele formula um problema de aprendizado como um problema de aprendizado por reforço, onde a função de recompensa é desconhecida e o objetivo do processo de aprendizado. O artigo Aprendizado de Aprendizagem via Aprendizado por Reforço Inverso de Pieter Abbeel e Andrew Ng é um bom lugar para começar a aprender sobre o IRL.


0

Qualquer forma de aprendizado supervisionado é uma pesquisa direcionada no espaço de políticas. Você tenta encontrar a política - para qual ação executar - que fornece a expectativa máxima de recompensa. Na sua pergunta, você recompensa em função do desempenho. Desde que essa função seja monotônica, qualquer método que converge acabará dando a você o máximo desempenho (também fique com sua terminologia).

A rapidez com que o método converge é outra questão e pode depender da curva. Mas acho que isso será diferente de método para método.

Um problema totalmente diferente é que, para cenários mais complexos, o desempenho não é um escalar simples e defini-lo pode ser bastante difícil. Qual é a função de recompensa por ser bom em matemática?


A rapidez com que o método converge é outra questão e pode depender da curva. , bem, claro. Eu estava tentando entender como a curva afeta o aprendizado (e não se o faz, porque eu já sei que isso acontece).
Shahbaz
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.