Você está certo, a função fornece o valor de um estado e fornece o valor de uma ação em um estado (seguindo uma determinada política ). Encontrei a explicação mais clara do Q-learning e como ele funciona no livro de Tom Mitchell "Machine Learning" (1997), cap. 13, que pode ser baixado. é definido como a soma de uma série infinita, mas não é importante aqui. O que importa é a função é definida comoVQπVQ
Q(s,a)=r(s,a)+γV∗(δ(s,a))
que V * é o melhor valor de um estado se você puder seguir uma política ótima que não usa sei. No entanto, possui uma boa caracterização em termos de
computação é feita substituindo-se na primeira equação para fornecer
Q
V∗(s)=maxa′Q(s,a′)
QV∗Q(s,a)=r(s,a)+γmaxa′Q(δ(s,a),a′)
Isso pode parecer uma recursão ímpar no início porque está expressando o valor Q de uma ação no estado atual em termos do melhor valor Q de um estado sucessor , mas faz sentido quando você olha como o processo de backup a usa: A exploração o processo para quando atinge um estado de objetivo e coleta a recompensa, que se torna o valor Q da transição final. Agora, em um episódio de treinamento subsequente, quando o processo de exploração atingir esse estado predecessor, o processo de backup usa a igualdade acima para atualizar o valor Q atual do estado predecessor. Da próxima vez que o seuQuando o predecessor é visitado, o valor Q do estado é atualizado e assim por diante (o livro de Mitchell descreve uma maneira mais eficiente de fazer isso armazenando todos os cálculos e reproduzindo-os posteriormente). Desde que todos os estados sejam visitados infinitamente, esse processo eventualmente calcula o Q ideal
Às vezes, você verá uma taxa de aprendizado aplicada para controlar quanto Q realmente é atualizado:
Observe agora que a atualização para o valor Q que dependem do valor Q atual. O livro de Mitchell também explica por que isso é e por que você precisa : é para MDPs estocásticos. Sem , toda vez que um estado, um par de ações fosse tentado, haveria uma recompensa diferente; portanto, a função Q ^ saltaria por todo o lugar e não convergiria. existe para que, como o novo conhecimento seja aceito apenas em parte.αQ(s,a)=(1−α)Q(s,a)+α(r(s,a)+γmaxa′Q(s′,a′))
=Q(s,a)+α(r(s,a)+γmaxa′Q(s′,a′)−Q(s,a))
ααααé definido alto para que os atuais (principalmente valores aleatórios) de Q sejam menos influentes. diminui à medida que o treinamento avança, para que novas atualizações tenham cada vez menos influência, e agora o aprendizado Q convergeα