No aprendizado por reforço, temos uma função de recompensa que informa ao agente o desempenho de suas ações e estados atuais. Em algumas configurações gerais, a função de recompensa é uma função de três variáveis:
- Estado atual
- Ação atual no estado atual
- Próximo estado
Portanto, parece algo como:
Qual é a minha pergunta (que provavelmente é meu mal-entendido), normalmente a pessoa que usa o aprendizado por reforço decide qual é a recompensa. Por exemplo, atribui 1000 pontos para atingir a meta ou atribui -1000 pontos para travar o robô autônomo. Nesses cenários, não está claro para mim por que precisaríamos de amostras para aprender R. R é a priori especificado e, em seguida, usamos nosso agente. Direita? No entanto, sei que estou errado, porque nas anotações de Andrew Ng ele diz:
Onde ele diz que não conhecemos a função de recompensa explicitamente. Isso me parece bizarro. Sei que estou errado e adoraria que alguém me esclarecesse em quais cenários realmente precisamos aprender R com amostras.
(obviamente, as probabilidades de transição precisam ser aprendidas porque não se sabe como o ambiente fará com que nosso agente se mova a priori).
fonte
Concordo com as outras respostas que, geralmente, a função de recompensa não é aprendida diretamente.
As probabilidades de transição também não precisam ser aprendidas. O agente pode aprender diretamente os valores da ação, ou mesmo diretamente a política, com o método gradien da política, por exemplo.
No entanto, existem técnicas para as quais a recompensa e as probabilidades de transição devem ser aprendidas. Por exemplo, o algoritmo dyna-Q (descrito em Sutton & Barto) mantém um modelo do ambiente. A cada etapa, o agente usa as informações de recompensa e estado recebidas do ambiente para atualizar os valores da ação, como no Q-learning, por exemplo.
Mas ele também atualiza seu próprio modelo de ambiente e executa N outras atualizações de valores de ação com base nesse modelo. A suposição é que o loop de atuação-> detecção leve algum tempo não nulo, tempo que podemos usar bem, melhorando os valores de ação com amostras simuladas.
fonte
Essa é uma boa pergunta, mais profunda do que qualquer formulação imprecisa nas anotações de Andrew. É verdade que em RL você geralmente não precisa aprender uma função de recompensa R (S, A, S '); você precisa especificá-lo como parte da configuração do problema. MAS, existem algoritmos (na minha experiência associados à função de valor do estado pós-decisão ou pós-decisão) que exigem a recompensa esperadar (S, A) = E [R (S, A, S ') | S, A]. Geralmente, os textos que vi fazem pouco comentário sobre isso e assumem que r (s, a) é conhecido como R (S, A, S '). Mas, em alguns casos, a recompensa depende do estado futuro; portanto, sem um modelo, você precisa aprender essa expectativa. Atualmente, estou trabalhando em um problema em que a função de recompensa esperada e a função de valor precisam ser aprendidas. Observe que a maioria dos algoritmos de RL NÃO exige a função de recompensa esperada, mas alguns exigem. Veja, por exemplo, a discussão na página 58 em Algoritmos para Aprendizagem por Reforço de Szepesvari.
Em resumo, você não precisa aprender a função de recompensa, mas ao trabalhar com variáveis de estado pós-decisão, pode ser necessário aprender a função de recompensa esperada . Este é o único caso em que sei onde você precisa aprender uma função de recompensa esperada, mas gostaria de saber de outros casos.
fonte
No aprendizado por reforço, o agente aprende a função de valor, não a função de recompensa. O valor de uma ação é sua utilidade geral; por exemplo, uma ação pode trazer uma alta recompensa, mas levar a estados de baixo valor, tornando-a de baixo valor.
O que a citação diz é que, às vezes, o mundo é complicado: alguns problemas têm espaços de ação estatal grandes demais para enumerar; portanto, não temos funções explícitas de probabilidade e recompensa de transição. Nesse caso, o agente precisaria aprender alguma generalização da função de valor verdadeiro.
fonte
Eu acho que essas notas são um pouco confusas. As recompensas devem ser projetadas por você para incentivar seu agente de RL a otimizar o comportamento que você deseja ver. As transições entre estados são dadas pelo ambiente e geralmente serão estimadas a partir de dados. Penso que Andrew se refere a uma situação em que, do estado A, você pode fazer a transição para o estado B, que você recompensa x, ou o estado C, que você recompensa y. Se os estados B e C forem idênticos, exceto pelas diferenças de recompensa, você frequentemente eliminaria os estados B e C e atribuiria ao estado A uma recompensa estimada a partir de dados que mostram com que frequência você faz a transição para B ou C de A.
fonte