A razão para usar -greedy durante o teste é que, diferentemente do aprendizado de máquina supervisionado (por exemplo, classificação de imagens), no aprendizado por reforço, não há um conjunto de dados retidos e invisíveis disponíveis para a fase de teste. Isso significa que o algoritmo é testado na mesma configuração em que foi treinado. Agora o artigo menciona (seção Métodos, Procedimento de avaliação):ϵ
Os agentes treinados foram avaliados jogando cada jogo 30 vezes por até 5 minutos cada vez, com diferentes condições aleatórias iniciais ('não-op'; consulte a Tabela de Dados Estendidos 1) e uma política -greedy com . Este procedimento é adotado para minimizar a possibilidade de sobreajuste durante a avaliação.ϵϵ = 0,05
Especialmente porque a entrada pré-processada contém um histórico de estados encontrados anteriormente, a preocupação é que, em vez de generalizar para a jogabilidade subjacente, o agente apenas memorize as trajetórias ideais para esse jogo específico e as repita durante a fase de teste; é isso que significa "a possibilidade de sobreajuste durante a avaliação" . Para ambientes determinísticos, isso é óbvio, mas também pode ocorrer a memorização de transições de estado estocásticas (ou seja, super ajuste). O uso da randomização durante a fase de teste, na forma de partidas não operacionais de tamanho aleatório, bem como uma porção de ações aleatórias durante o jogo, força o algoritmo a lidar com estados imprevistos e, portanto, requer algum grau de generalização.
Por outro lado, -greedy não é usado para melhorar potencialmente o desempenho do algoritmo, ajudando-o a se soltar em regiões mal treinadas do espaço de observação. Embora uma determinada política sempre possa ser considerada apenas uma aproximação da política ideal (pelo menos para esse tipo de tarefa), eles treinaram muito além do ponto em que o algoritmo executaria ações sem sentido. Usandoϵϵ = 0durante o teste potencialmente melhoraria o desempenho, mas o objetivo aqui é mostrar a capacidade de generalização. Além disso, na maioria dos jogos da Atari, o estado também evolui para um não-op e, portanto, o agente naturalmente fica "destroçado" se isso acontecer. Considerando o exemplo de outro labirinto mencionado em outro lugar, onde o ambiente não evolui em operações não operacionais, o agente aprenderia rapidamente que colidir com uma parede não é uma boa ideia se a recompensa tiver a forma adequada (-1 para cada etapa, por exemplo); especialmente ao usar valores iniciais otimistas, a exploração necessária acontece naturalmente. Caso você ainda encontre seu algoritmo travado em algumas situações, isso significa que você precisa aumentar o tempo de treinamento (por exemplo, executar mais episódios), em vez de introduzir alguma randomização auxiliar em relação às ações.
No entanto, se você estiver executando em um ambiente com dinâmica de sistema em evolução (ou seja, as transições ou recompensas de estado subjacentes mudam ao longo do tempo), mantenha um certo grau de exploração e atualize sua política de acordo para acompanhar as alterações.