BR112018001520B1 - Método para treinar uma rede neural do ator, sistema e meio de armazenamento legível por computador não-transitório - Google Patents

Método para treinar uma rede neural do ator, sistema e meio de armazenamento legível por computador não-transitório Download PDF

Info

Publication number
BR112018001520B1
BR112018001520B1 BR112018001520-2A BR112018001520A BR112018001520B1 BR 112018001520 B1 BR112018001520 B1 BR 112018001520B1 BR 112018001520 A BR112018001520 A BR 112018001520A BR 112018001520 B1 BR112018001520 B1 BR 112018001520B1
Authority
BR
Brazil
Prior art keywords
neural network
actor
training
current values
critical
Prior art date
Application number
BR112018001520-2A
Other languages
English (en)
Other versions
BR112018001520A2 (pt
Inventor
Nicolas Manfred Otto Heess
Tom Erez
Yuval Tassa
David Silver
Daniel Pieter Wierstra
Timothy Paul Lillicrap
Jonathan James Hunt
Alexander Pritzel
Original Assignee
Deepmind Technologies Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Deepmind Technologies Limited filed Critical Deepmind Technologies Limited
Priority claimed from PCT/US2016/043716 external-priority patent/WO2017019555A1/en
Publication of BR112018001520A2 publication Critical patent/BR112018001520A2/pt
Publication of BR112018001520B1 publication Critical patent/BR112018001520B1/pt

Links

Abstract

"CONTROLE CONTÍNUO COM APRENDIZAGEM DE REFORÇO PROFUNDA" Métodos, sistemas e, aparelhos, incluindo programas de computador codificados na mídia de armazenamento de computador, para treinar uma rede neural do ator usada para selecionar ações que devem ser realizadas por um agente que interage com um ambiente. Um dos métodos inclui obter um mini-lote de tuplas de experiência; e atualizar valores atuais dos parâmetros da rede neural do ator, que compreende: para cada tupla de experiência no mini-lote: processar a observação de treino e a ação de treinamento na tupla de experiência pela utilização de uma rede neural crítica para determinar uma saída da rede neural para a tupla de experiência, e determinar uma saída da rede neural alvo para a tupla de experiência; atualizar valores atuais dos parâmetros da rede neural crítica pela utilização de erros entre as saídas da rede neural alvo e as saídas da rede neural; e atualizar os valores atuais dos parâmetros da rede neural do ator pela utilização da rede neural crítica.

Description

ANTECEDENTES DA INVENÇÃO
[001] Este relatório descritivo refere-se à seleção de ações que devem ser realizadas por um agente de aprendizagem de reforço.
[002] Os agentes de aprendizagem de reforço interagem com um ambiente pelo recebimento de uma observação que caracteriza o estado atual do ambiente e, em resposta, realizar uma ação. Alguns agentes de aprendizagem de reforço usam redes neurais para selecionar a ação que deve ser realizada em resposta ao receber qualquer dada observação.
[003] As redes neurais são modelos de aprendizagem de máquinas que empregam uma ou mais camadas de unidades não- lineares para prever uma saída para uma entrada recebida. Algumas redes neurais são redes neurais profundas que incluem uma ou mais camadas escondidas adicionalmente a uma camada de saída. A saída de cada camada oculta é usada como entrada para uma próxima camada na rede, isto é, a próxima camada oculta ou a camada de saída. Cada camada da rede gera uma saída a partir de uma entrada recebida de acordo com valores atuais de um conjunto respectivo de parâmetros.
SUMÁRIO
[004] Este relatório descritivo descreve tecnologias que se referem a aprendizagem de reforço.
[005] Em geral, um aspecto inovador pode ser incorporado em um método para treinar uma rede neural do ator usada para selecionar ações que devem ser realizadas por um agente que interage com um ambiente pelo recebimento de observações que caracterizam um estado atual do ambiente e realizar uma ação selecionada a partir de um espaço contínuo de ações, em que a rede neural do ator mapeia observações às próximas ações de acordo com valores atuais de parâmetros da rede neural do ator e, em que o método compreende: obter um mini-lote de tuplas de experiência a partir de uma memória de repetição, sendo que cada tupla de experiência compreende uma observação de treino que caracteriza um estado de treinamento do ambiente, uma ação de treinamento do espaço contínuo de ações realizada pelo agente em resposta ao receber a observação de treino, uma recompensa de treinamento recebida pelo agente para realizar a ação de treinamento e, uma próxima observação de treino que caracteriza um próximo estado de treinamento do ambiente; e atualizar os valores atuais dos parâmetros da rede neural do ator pela utilização do mini-lote de tuplas de experiência, que compreende: para cada tupla de experiência no mini-lote: processar a observação de treino e a ação de treinamento na tupla de experiência pela utilização de uma rede neural crítica para determinar uma saída da rede neural para a tupla de experiência de acordo com valores atuais de parâmetros da rede neural crítica e, determinar uma saída da rede neural alvo para a tupla de experiência da recompensa de treinamento na tupla de experiência e da próxima observação de treino na tupla de experiência, atualizar valores atuais dos parâmetros da rede neural crítica pela utilização de erros entre as saídas da rede neural alvo e as saídas da rede neural para as tuplas de experiência no mini-lote; e atualizar os valores atuais dos parâmetros da rede neural do ator pela utilização da rede neural crítica.
[006] Determinar uma saída da rede neural alvo para a tupla de experiência pode compreender: processar a próxima observação de treino pela utilização de uma rede neural alvo do ator para determinar uma próxima ação prevista para a tupla de experiência de acordo com valores atuais de parâmetros da rede neural alvo do ator, em que a rede neural alvo do ator é idêntica à rede neural do ator, porém os valores atuais dos parâmetros da rede neural alvo do ator são diferentes dos valores atuais dos parâmetros da rede neural do ator; processar a próxima observação de treino e a próxima ação prevista para a tupla de experiência pela utilização de uma rede neural alvo crítica para gerar uma próxima saída prevista da rede neural de acordo com valores atuais de parâmetros da rede neural alvo crítica, em que a rede neural alvo crítica é idêntica à rede neural crítica, porém os valores atuais dos parâmetros da rede neural alvo crítica são diferentes dos valores atuais dos parâmetros da rede neural crítica; e determinar a saída da rede neural alvo para a tupla de experiência da recompensa de treinamento e a próxima saída prevista da rede neural para a tupla de experiência. O método pode compreender adicionalmente: atualizar os valores atuais dos parâmetros da rede neural alvo do ator pela utilização dos valores atualizados dos parâmetros da rede neural do ator; e atualizar os valores atuais dos parâmetros da rede neural alvo crítica pela utilização dos valores atualizados dos parâmetros da rede neural crítica. Os valores atuais dos parâmetros da rede neural alvo do ator e a rede neural alvo crítica podem ser restritos à mudança lenta durante o treinamento da rede neural do ator.
[007] A rede neural crítica, a rede neural do ator, ou ambas podem incluir uma ou mais camadas de normalização do lote da rede neural. As observações recebidas pelo agente podem caracterizar estados do ambiente pela utilização de vetores de características de baixa dimensão que caracterizam o estado do ambiente. Os valores de diferentes dimensões dos vetores de características de baixa dimensão podem ter faixas variadas. As observações recebidas pelo agente podem caracterizar estados do ambiente pela utilização de entradas de pixels de alta dimensão de uma ou mais imagens que caracterizam o estado do ambiente.
[008] O método pode compreender adicionalmente: independentemente de atualizar os valores atuais dos parâmetros da rede neural do ator pela utilização do mini- lote de tuplas de experiência: gerar uma nova tupla de experiência, que compreende: receber uma nova observação de treino, processar a nova observação de treino pela utilização da rede neural do ator para selecionar uma nova ação de treinamento que deve ser realizada pelo agente de acordo com os valores atuais dos parâmetros da rede neural do ator, receber uma nova recompensa de treinamento em resposta ao agente realizar a nova ação de treinamento, receber uma nova próxima observação de treino e, gerar uma nova tupla de experiência que inclui a nova observação de treino, a nova ação de treinamento, a nova recompensa de treinamento e, a nova próxima observação de treino; e adicionar a nova tupla de experiência à memória de repetição. Processar a nova observação de treino pela utilização da rede neural do ator para selecionar uma nova ação de treinamento pode compreender: processar a nova observação de treino pela utilização da rede neural do ator para gerar uma nova ação inicial de treinamento; coletar amostras a partir de um processo de ruído para obter um fator de ruído; e ajustar a nova ação inicial pelo fator de ruído para gerar a nova ação de treinamento.
[009] O método pode compreender adicionalmente produzir a rede neural do ator disposta para selecionar ações que devem ser realizadas por um agente.
[010] A matéria descrita neste relatório descritivo pode ser implementada em modalidades particulares de modo a concretizar uma ou mais das seguintes vantagens. Um sistema de aprendizagem de reforço pode de maneira eficiente e direta aprender uma política de seleção de ação eficiente para um agente em espaços de alta dimensão e contínuos, isto é, treinando uma rede neural do ator conforme é descrito neste relatório descritivo. Em particular, pelo treinamento da rede neural do ator conforme é descrito neste relatório descritivo, o sistema de aprendizagem de reforço pode, de maneira eficiente, aprender uma política de seleção de ação eficiente mesmo para tarefas que exigem controle cuidadoso de ações e quando o espaço de ação é intratável para a discretização e, então, exploração de maneira eficiente. Adicionalmente, o sistema de aprendizagem de reforço pode aprender uma política eficiente tanto de observações que são observações de baixa dimensão e de observações que são entradas de pixels de alta dimensão. A matéria pode fornecer treinamento melhorado de um sistema de aprendizagem de reforço para fornecer um sistema melhorado de aprendizagem de reforço que pode, por exemplo, ter capacidade para aprender políticas de seleção de ação para tarefas que foram, anteriormente, desafiadoras.
[011] Será observado que aspectos podem ser implementados de qualquer maneira conveniente. Por exemplo, os aspectos e implementações podem ser implementados por programas de computador apropriados que podem ser transportados em mídias de transporte apropriadas, as quais podem ser mídias de transporte tangível (por exemplo, discos magnéticos) ou mídias de transporte intangíveis (por exemplo, sinais de comunicações). Os aspectos podem também ser implementados pela utilização de aparelhos adequados que podem tomar a forma de computadores programáveis que executam programas de computador. Os detalhes de uma ou mais modalidades da matéria deste relatório descritivo são estabelecidos nos desenhos anexos e a descrição abaixo. Outras funções, aspectos e vantagens da matéria se tornarão aparentes a partir da descrição, dos desenhos e, das reivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
[012] A Figura 1 mostra um sistema de aprendizagem de reforço exemplificativo.
[013] A Figura 2 é um diagrama de fluxo de um processo exemplificativo para adicionar uma tupla de experiência a uma memória de repetição.
[014] A Figura 3 é um diagrama de fluxo de um processo exemplificativo para determinar uma atualização para os valores atuais dos parâmetros da rede neural do ator.
[015] A Figura 4 é um diagrama de fluxo de um processo exemplificativo para determinar uma saída da rede neural alvo para uma tupla de experiência.
[016] Os números e as designações de referência semelhantes nos vários desenhos indicam elementos semelhantes.
DESCRIÇÃO DETALHADA
[017] Este relatório descritivo descreve, de maneira geral, um sistema de aprendizagem de reforço que seleciona ações que devem ser realizadas por um agente de aprendizagem de reforço que interage com um ambiente. De modo a interagir com o ambiente, o agente recebe dados que caracterizam o estado atual do ambiente e realiza uma ação a partir de um espaço de ação contínua em resposta aos dados recebidos. Os dados que caracterizam um estado do ambiente serão chamados neste relatório descritivo de uma observação.
[018] Em algumas implementações, o ambiente é um ambiente simulado e o agente é implementado como um ou mais programas de computador que interagem com o ambiente simulado. Por exemplo, o ambiente simulado pode ser um vídeo game e o agente pode ser um usuário simulado que joga o vídeo game. Como outro exemplo, o ambiente simulado pode ser um ambiente de simulação de movimento por exemplo, uma simulação de direção ou uma simulação de voo e, o agente é um veículo simulado que navega através da simulação de movimento. Nessas implementações, as ações podem ser pontos em um espaço de possíveis entradas de controle para controlar o usuário simulado ou veículo simulado.
[019] Em algumas outras implementações, o ambiente é um ambiente de mundo real e o agente é um agente mecânico que interage com o ambiente de mundo real. Por exemplo, o agente pode ser um robô que interage com o ambiente para concluir uma tarefa específica. Como outro exemplo, o agente pode ser um veículo autônomo ou semiautônomo que navega pelo ambiente. Nessas implementações, as ações podem ser pontos em um espaço de possíveis entradas de controle para controlar o robô ou o veículo autônomo.
[020] Em alguns casos, as observações caracterizam estados do ambiente pela utilização de vetores de características de baixa dimensão que caracterizam o estado do ambiente. Nesses casos, os valores de diferentes dimensões dos vetores de características de baixa dimensão podem ter faixas variadas.
[021] Em alguns outros casos, as observações caracterizam estados do ambiente pela utilização de entradas de pixels de alta dimensão de uma ou mais imagens que caracterizam o estado do ambiente, por exemplo, imagens do ambiente simulado ou imagens capturadas ou sensores do agente mecânico à medida que interage com o ambiente de mundo real.
[022] A Figura 1 mostra um sistema de aprendizagem de reforço exemplificativo 100. O sistema de aprendizagem de reforço 100 é um exemplo de um sistema implementado como programas de computador em um ou mais computadores em um ou mais locais nos quais os sistemas, componentes e, técnicas descritas abaixo são implementadas.
[023] O sistema de aprendizagem de reforço 100 seleciona ações que devem ser realizadas por um agente de aprendizagem de reforço 102 que interage com um ambiente 104. Isto é, o sistema de aprendizagem de reforço 100 recebe observações, com cada observação que caracteriza um estado respectivo do ambiente 104 e, em resposta à cada observação, seleciona uma ação a partir de um espaço de ação contínua que deve ser realizada pelo agente de aprendizagem de reforço 102 em resposta à observação.
[024] Em particular, o sistema de aprendizagem de reforço 100 seleciona ações pela utilização de uma rede neural do ator 110. A rede neural do ator 110 é uma rede neural que é configurada para receber uma observação e para processar a observação para mapear a observação a uma próxima ação, isto é, a um ponto no espaço de ação contínua que define uma ação que deve ser realizada pelo agente em resposta à observação.
[025] Para permitir que o agente 102 interaja de maneira eficiente com o ambiente, o sistema de aprendizagem de reforço 100 treina a rede neural do ator 110 para determinar valores treinados dos parâmetros da rede neural do ator 110.
[026] Uma vez que a rede neural do ator 110 tenha sido treinada, o sistema de aprendizagem de reforço 100 pode, de maneira eficiente, usar a rede neural do ator 110 para selecionar ações que devem ser realizadas pelo agente 104. Em particular, quando uma observação é recebida, o sistema de aprendizagem de reforço 100 pode processar a observação pela utilização da rede neural do ator 110 para mapear a observação a uma nova ação de acordo com os valores treinados dos parâmetros da rede neural do ator 110 e, então, direcionar o agente 102 a realizar a nova ação em resposta à observação, isto é, por meio do envio de instruções para o agente 102, o que faz com que o agente realize a nova ação.
[027] Para auxiliar no treinamento da rede neural do ator 110, o sistema de aprendizagem de reforço 100 mantém componentes de treinamento 120 que incluem uma memória de repetição 130, uma rede neural crítica 140, uma rede neural alvo do ator 150 e, uma rede neural alvo crítica 160.
[028] A memória de repetição 130 armazena as tuplas de experiência geradas como uma consequência da interação do agente 102 com o ambiente 104 para uso no treinamento da rede neural do ator 110.
[029] Em particular, cada tupla de experiência na memória de repetição inclui uma observação de treino que caracteriza um estado de treinamento do ambiente, uma ação realizada pelo agente 102 em resposta à observação de treino, uma recompensa de treinamento recebida pelo sistema 100 em resposta ao agente 102 realizar a ação e, uma próxima observação que caracteriza um próximo estado do ambiente, isto é, o estado para o qual o ambiente passou depois que o agente realizou a ação.
[030] O sistema de aprendizagem de reforço 100 gera as tuplas de experiência das interações do agente 102 com o ambiente 104 durante o treinamento da rede neural do ator 110. Um processo exemplificativo para gerar uma tupla de experiência durante treinamento é descrito em mais detalhe abaixo com relação à Figura 2.
[031] A rede neural crítica 140 é uma rede neural que é configurada para receber como entrada uma ação e uma observação e para processar a ação e a observação para gerar uma saída da rede neural. Como será descrito em mais detalhe abaixo, durante o treinamento, o sistema de aprendizagem de reforço 100 ajusta os valores dos parâmetros da rede neural crítica 140 e usa a rede neural crítica 140 na atualização dos valores dos parâmetros da rede neural do ator 110.
[032] Em algumas implementações, a rede neural crítica 140, a rede neural do ator 110, ou ambas incluem uma ou mais camadas de normalização do lote de modo a minimizar mudança de covariância durante treinamento. As camadas de normalização do lote são descritas em mais detalhe em Ioffe, Sergey e Szegedy, Christian. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167, 2015. A rede neural alvo do ator 150 é uma rede neural que é a mesma que, isto é, tem a mesma arquitetura da rede neural que a rede neural do ator 110, porém que tem possíveis diferentes valores dos parâmetros do que os da rede neural do ator 110.
[033] De modo similar, a rede neural alvo crítica 160 é uma rede neural que é a mesma que a rede neural crítica 130, porém que tem possíveis diferentes valores dos parâmetros da rede neural crítica 130.
[034] Para treinar a rede neural pela utilização dos componentes de treinamento 120, o sistema de aprendizagem de reforço 100 seleciona, repetidamente, mini-lotes de tuplas de experiência da memória de repetição 130. Cada mini-lote de tuplas de experiência inclui um número predeterminado de tuplas de experiência. O número predeterminado de tuplas de experiência pode ser tuplas de experiência aleatoriamente selecionadas.
[035] Para cada tupla de experiência em um dado mini- lote selecionado, o sistema de aprendizagem de reforço 100 usa a rede neural crítica 140, a rede neural alvo do ator 150 e, a rede neural alvo crítica 160 para determinar atualizações para os valores atuais dos parâmetros da rede neural do ator 110 e os valores atuais dos parâmetros da rede neural crítica 150 e, então, ajusta os valores atuais dos parâmetros da rede neural do ator 110 e os valores atuais dos parâmetros da rede neural crítica 150 pela utilização das atualizações. Gerar essas atualizações e ajustar os valores atuais dos parâmetros da rede neural crítica 140 e da rede neural do ator 110 serão descritos em mais detalhe abaixo com relação à Figura 3.
[036] Durante o treinamento, o sistema de aprendizagem de reforço 100 também atualiza periodicamente os valores dos parâmetros da rede neural alvo crítica 160 e os valores dos parâmetros da rede neural alvo do ator 150 de modo que os valores rastreiem lentamente as mudanças aos valores dos parâmetros da rede neural crítica 140 e os valores dos parâmetros da rede neural do ator 110, respectivamente.
[037] Uma vez que um mini-lote de tuplas de experiência tenha sido usado em treinamento, o sistema de aprendizagem de reforço 100 pode remover as tuplas de experiência no mini- lote da memória de repetição 120.
[038] Geralmente, durante o treinamento, o sistema de aprendizagem de reforço 100 gera tuplas de experiência e adiciona as tuplas geradas à memória de repetição 120 independentemente da, isto é, de forma assíncrona da coleta de amostras de tuplas de experiência da memória de repetição 120 e ajustar os parâmetros da rede neural do ator 110.
[039] A Figura 2 é um diagrama de fluxo de um processo exemplificativo 200 para adicionar uma tupla de experiência a uma memória de repetição. Por conveniência, o processo 200 será descrito como sendo realizado por um sistema de um ou mais computadores localizados em um ou mais locais. Por exemplo, um sistema de aprendizagem de reforço, por exemplo, o sistema de aprendizagem de reforço 100 da Figura 1, apropriadamente programado de acordo com este relatório descritivo, pode realizar o processo 200.
[040] O sistema recebe uma observação atual que caracteriza o estado atual do ambiente (etapa 202).
[041] O sistema processa a observação pela utilização de uma rede neural do ator de acordo com valores atuais dos parâmetros da rede neural do ator (etapa 204). Conforme é descrito acima, a rede neural do ator é configurada para mapear a observação atual a uma próxima ação, isto é, um ponto no espaço de ação contínua, de acordo com os valores atuais dos parâmetros.
[042] O sistema seleciona uma ação que deve ser realizada pelo agente pela utilização da próxima ação (etapa 206).
[043] Em algumas implementações, o sistema seleciona a próxima ação como a ação que devem ser realizadas pelo agente.
[044] Em algumas outras implementações, para encorajar a exploração do espaço de ação durante o treinamento, o sistema tira amostras de um processo de ruído para obter um fator de ruído e, então, ajusta a próxima ação pelo fator de ruído para gerar a ação que devem ser realizadas pelo agente.
[045] O processo de ruído usado para obter o fator de ruído pode ser escolhido para ser adequado ao ambiente. Por exemplo, para alguns ambientes, o processo de ruído pode ser um processo de Ornstein-Uhlenbeck para gerar exploração temporariamente correlacionada. Os processos de Ornstein- Uhlenbeck são descritos em mais detalhe em George E. Uhlenbeck e Leonard S. Ornstein. “On the theory of the Brownian motion”. Em: Physical review 36.5 (1930), p. 823.
[046] O sistema recebe uma recompensa e uma próxima observação (etapa 206). A próxima observação caracteriza a próxima estado do ambiente, isto é, o estado para o qual o ambiente passou como um resultado do agente realizar a ação selecionada e, a recompensa é um valor numérico que é recebido pelo sistema do ambiente como resultado do agente realizar a ação selecionada.
[047] O sistema gera uma tupla de experiência que inclui a observação atual, a ação selecionada, a recompensa e, a próxima observação e armazena a tupla de experiência gerada em uma memória de repetição para uso no treinamento da rede neural do ator (etapa 208).
[048] A Figura 3 é um diagrama de fluxo de um processo exemplificativo 300 para determinar uma atualização para os valores atuais dos parâmetros da rede neural do ator. Por conveniência, o processo 300 será descrito como sendo realizado por um sistema de um ou mais computadores localizados em um ou mais locais. Por exemplo, um sistema de aprendizagem de reforço, por exemplo, o sistema de aprendizagem de reforço 100 da Figura 1, apropriadamente programado de acordo com este relatório descritivo, pode realizar o processo 300.
[049] O sistema recebe uma tupla de experiência (etapa 302). A tupla de experiência é uma das tuplas de experiência em um mini-lote de tuplas de experiência coletados como amostra da memória de repetição pelo sistema.
[050] A tupla de experiência inclui uma observação de treino que caracteriza um estado de treinamento do ambiente, uma ação de treinamento do espaço contínuo de ações realizada pelo agente em resposta ao receber a observação de treino, uma recompensa de treinamento recebida pelo agente para realizar a ação de treinamento e, uma próxima observação de treino que caracteriza um próximo estado de treinamento do ambiente.
[051] O sistema processa a observação de treino e a ação selecionada na tupla de experiência pela utilização da rede neural crítica para determinar uma saída da rede neural para a tupla de experiência de acordo com valores atuais dos parâmetros da rede neural crítica (etapa 304).
[052] O sistema determina uma saída da rede neural alvo para a tupla de experiência da recompensa de treinamento na tupla de experiência e a próxima observação de treino na tupla de experiência (etapa 306). Geralmente, o sistema determina a saída da rede neural alvo pela utilização da rede neural alvo do ator e a rede neural alvo crítica. A determinação da saída da rede neural alvo é descrita em mais detalhe abaixo com relação à Figura 4.
[053] O sistema determina uma atualização para os valores atuais dos parâmetros da rede neural crítica pela utilização de um erro entre a saída da rede neural alvo para a tupla de experiência e a saída da rede neural que foi gerada pela rede neural crítica para a tupla de experiência (etapa 308). Isto é, o sistema pode determinar uma atualização to os valores atuais dos parâmetros que reduzir o erro pela utilização de técnicas de treinamento de aprendizado de máquina convencional, por exemplo, pela realização de uma iteração de declínio de gradiente com retropropagação. Como ficará claro a partir da descrição da Figura 4, pela atualização dos valores atuais dos parâmetros dessa maneira, o sistema treina a rede neural crítica para gerar saídas da rede neural que representa recompensas futuras totais com tempo descontado que serão recebidas em resposta ao agente realizar uma dada ação em resposta a uma dada observação.

Claims (20)

1. Método para treinar uma rede neural do ator (110) usada para selecionar ações que devem ser realizadas por um agente (102) que interage com um ambiente (104) pelo recebimento de observações que tem como característica um estado atual do ambiente e realizam uma ação selecionada a partir de um espaço contínuo de ações, em que a rede neural do ator (110) mapeia observações para as próximas ações de acordo com valores atuais de parâmetros da rede neural do ator, e em que o método é caracterizado por compreender: obter um mini-lote de tuplas de experiência a partir de uma memória de repetição (130), sendo que cada tupla de experiência compreende uma observação de treino que tem como característica um estado de treinamento do ambiente (104), uma ação de treinamento do espaço contínuo de ações realizada pelo agente (102) em resposta ao receber a observação de treino, uma recompensa de treinamento recebida pelo agente para realizar a ação de treinamento, e uma próxima observação de treino que tem como característica um próximo estado de treinamento do ambiente; e atualizar os valores atuais dos parâmetros da rede neural do ator (110) pela utilização do mini-lote de tuplas de experiência, que compreende: para cada tupla de experiência no mini-lote: processar (304) a observação de treino e a ação de treinamento na tupla de experiência pela utilização da rede neural crítica (140) para determinar uma saída da rede neural para a tupla de experiência, de acordo com valores atuais de parâmetros da rede neural crítica e, determinar (306) uma saída da rede neural alvo para a tupla de experiência da recompensa de treinamento na tupla de experiência e a próxima observação de treino na tupla de experiência, a determinação compreendendo: processar (402) a próxima observação de treino pela utilização de uma rede neural alvo do ator (150) para determinar uma próxima ação prevista para a tupla de experiência de acordo com valores atuais de parâmetros da rede neural alvo do ator, em que a rede neural alvo do ator é idêntica à rede neural do ator, porém os valores atuais dos parâmetros da rede neural alvo do ator são diferentes dos valores atuais dos parâmetros da rede neural do ator; processar (404) a próxima observação de treino e a próxima ação prevista para a tupla de experiência pela utilização de uma rede neural alvo crítica (160) para gerar uma próxima saída prevista da rede neural de acordo com valores atuais de parâmetros da rede neural alvo crítica, em que a rede neural alvo crítica é idêntica à rede neural crítica, porém os valores atuais dos parâmetros da rede neural alvo crítica são diferentes dos valores atuais dos parâmetros da rede neural crítica; e determinar a saída da rede neural alvo para a tupla de experiência da recompensa de treinamento e a próxima saída prevista da rede neural para a tupla de experiência; atualizar os valores atuais dos parâmetros da rede neural crítica pela utilização de erros entre as saídas da rede neural alvo e as saídas da rede neural para as tuplas de experiência no mini-lote; e atualizar valores atuais dos parâmetros da rede neural do ator pela utilização da rede neural crítica.
2. Método, de acordo com a reivindicação 1, caracterizado por compreender ainda: atualizar os valores atuais dos parâmetros da rede neural alvo do ator (150) pela utilização dos valores atualizados dos parâmetros da rede neural do ator (110); e atualizar os valores atuais dos parâmetros da rede neural alvo crítica (160) pela utilização dos valores atualizados dos parâmetros da rede neural crítica (140).
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que os valores atuais dos parâmetros da rede neural alvo do ator (150) e da rede neural alvo crítica (160) são restritos à mudança lenta durante o treinamento da rede neural do ator (110).
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a rede neural crítica (140), a rede neural do ator (110), ou ambas, incluem uma ou mais camadas de normalização de lote da rede neural.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as observações recebidas pelo agente (102) têm como característica os estados do ambiente (104) pela utilização de vetores de baixa dimensão que têm como característica o estado do ambiente.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que os valores de diferentes dimensões dos vetores de baixa dimensão têm faixas variadas.
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as observações recebidas pelo agente (102) têm como característica os estados do ambiente (104) que utilizam entradas de pixels de alta dimensão de uma ou mais imagens que tem como característica o estado do ambiente.
8. Método, de acordo com a reivindicação 1, caracterizado por compreender ainda: independentemente de atualizar os valores atuais dos parâmetros da rede neural do ator (110) pela utilização do mini-lote de tuplas de experiência: gerar uma nova tupla de experiência, que compreende: receber uma nova observação de treino, processar a nova observação de treino pela utilização da rede neural do ator (110) para selecionar uma nova ação de treinamento que deve ser realizada pelo agente (102) de acordo com os valores atuais dos parâmetros da rede neural do ator, receber uma nova recompensa de treinamento em resposta ao agente (102) realizar a nova ação de treinamento, receber uma nova próxima observação de treino e, gerar uma nova tupla de experiência que inclui a nova observação de treino, a nova ação de treinamento, a nova recompensa de treinamento e, a nova próxima observação de treino; e adicionar a nova tupla de experiência à memória de repetição (130).
9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que processar a nova observação de treino pela utilização da rede neural do ator (110) para selecionar uma nova ação de treinamento compreende: processar a nova observação de treino pela utilização da rede neural do ator (110) para gerar uma nova ação de treinamento inicial; coletar amostras a partir de um processo de ruído para obter um fator de ruído; e ajustar a nova ação inicial pelo fator de ruído para gerar a nova ação de treinamento.
10. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que atualizar os valores atuais dos parâmetros da rede neural do ator (110) pela utilização da rede neural crítica (140) compreende: para cada tupla de experiência no mini-lote: processar a observação de treino na tupla de experiência pela utilização da rede neural do ator (110) de acordo com os valores atuais dos parâmetros da rede neural do ator para gerar uma próxima ação para a observação de treino; e determinar uma atualização do parâmetro para a rede neural do ator (110) com base em (i) um gradiente da rede neural crítica (140) com relação à próxima ação tomada na observação de treino - par de entradas da próxima ação e de acordo com os valores atuais dos parâmetros da rede neural crítica e (ii) o gradiente da rede neural do ator (110) com relação aos parâmetros da rede neural do ator tomados na observação de treino e de acordo com valores atuais dos parâmetros da rede neural do ator.
11. Sistema caracterizado por compreender um ou mais computadores e um ou mais dispositivos de armazenamento que armazenam instruções que são operáveis, quando executadas pelo um ou mais computadores, para fazer com que o um ou mais computadores realizem operações para treinar uma rede neural do ator (110) usada para selecionar ações que devem ser realizadas por um agente (102) que interage com um ambiente (104) pelo recebimento de observações que tem como característica um estado atual do ambiente e realizam uma ação selecionada a partir de um espaço contínuo de ações, em que a rede neural do ator (110) mapeia observações para as próximas ações de acordo com valores atuais de parâmetros da rede neural do ator, e em que a operação compreende: obter um mini-lote de tuplas de experiência a partir de uma memória de repetição (130), sendo que cada tupla de experiência compreende uma observação de treino que tem como característica um estado de treinamento do ambiente (104), uma ação de treinamento do espaço contínuo de ações realizada pelo agente (102) em resposta ao receber a observação de treino, uma recompensa de treinamento recebida pelo agente para realizar a ação de treinamento, e uma próxima observação de treino que tem como característica um próximo estado de treinamento do ambiente; e atualizar os valores atuais dos parâmetros da rede neural do ator (110) pela utilização do mini-lote de tuplas de experiência, que compreende: para cada tupla de experiência no mini-lote: processar (304) a observação de treino e a ação de treinamento na tupla de experiência pela utilização da rede neural crítica (140) para determinar uma saída da rede neural para a tupla de experiência, de acordo com valores atuais de parâmetros da rede neural crítica, e determinar (306) uma saída da rede neural alvo para a tupla de experiência da recompensa de treinamento na tupla de experiência e a próxima observação de treino na tupla de experiência, a determinação compreendendo: processar (402) a próxima observação de treino pela utilização de uma rede neural alvo do ator (150) para determinar uma próxima ação prevista para a tupla de experiência de acordo com valores atuais de parâmetros da rede neural alvo do ator, em que a rede neural alvo do ator é idêntica à rede neural do ator, porém os valores atuais dos parâmetros da rede neural alvo do ator são diferentes dos valores atuais dos parâmetros da rede neural do ator; processar (404) a próxima observação de treino e a próxima ação prevista para a tupla de experiência pela utilização de uma rede neural alvo crítica (160) para gerar uma próxima saída prevista da rede neural de acordo com valores atuais de parâmetros da rede neural alvo crítica, em que a rede neural alvo crítica é idêntica à rede neural crítica, porém os valores atuais dos parâmetros da rede neural alvo crítica são diferentes dos valores atuais dos parâmetros da rede neural crítica; e determinar a saída da rede neural alvo para a tupla de experiência da recompensa de treinamento e a próxima saída prevista da rede neural para a tupla de experiência; atualizar os valores atuais dos parâmetros da rede neural crítica pela utilização de erros entre as saídas da rede neural alvo e as saídas da rede neural para as tuplas de experiência no mini-lote; e atualizar valores atuais dos parâmetros da rede neural do ator pela utilização da rede neural crítica.
12. Sistema, de acordo com a reivindicação 11, caracterizado pelo fato de que as operações compreendem ainda: atualizar os valores atuais dos parâmetros da rede neural alvo do ator (150) pela utilização dos valores atualizados dos parâmetros da rede neural do ator (110); e atualizar os valores atuais dos parâmetros da rede neural alvo crítica (160) pela utilização dos valores atualizados dos parâmetros da rede neural crítica (140).
13. Sistema, de acordo com a reivindicação 12, caracterizado pelo fato de que os valores atuais dos parâmetros da rede neural alvo do ator (150) e da rede neural alvo crítica (160) são restritos à mudança lenta durante o treinamento da rede neural do ator (110).
14. Sistema, de acordo com a reivindicação 11, caracterizado pelo fato de que as operações compreendem ainda: independentemente de atualizar os valores atuais dos parâmetros da rede neural do ator (110) pela utilização do mini-lote de tuplas de experiência: gerar uma nova tupla de experiência, que compreende: receber uma nova observação de treino, processar a nova observação de treino pela utilização da rede neural do ator (110) para selecionar uma nova ação de treinamento que deve ser realizada pelo agente (102) de acordo com os valores atuais dos parâmetros da rede neural do ator, receber uma nova recompensa de treinamento em resposta ao agente (102) realizar a nova ação de treinamento, receber uma nova próxima observação de treino e, gerar uma nova tupla de experiência que inclui a nova observação de treino, a nova ação de treinamento, a nova recompensa de treinamento e, a nova próxima observação de treino; e adicionar a nova tupla de experiência à memória de repetição (130).
15. Sistema, de acordo com a reivindicação 14, caracterizado pelo fato de que processar a nova observação de treino pela utilização da rede neural do ator (110) para selecionar uma nova ação de treinamento compreende: processar a nova observação de treino pela utilização da rede neural do ator (110) para gerar uma nova ação de treinamento inicial; coletar amostras a partir de um processo de ruído para obter um fator de ruído; e ajustar a nova ação inicial pelo fator de ruído para gerar a nova ação de treinamento.
16. Sistema, de acordo com a reivindicação 11, caracterizado pelo fato de que atualizar os valores atuais dos parâmetros da rede neural do ator (110) pela utilização da rede neural crítica (140) compreende: para cada tupla de experiência no mini-lote: processar a observação de treino na tupla de experiência pela utilização da rede neural do ator (110) de acordo com os valores atuais dos parâmetros da rede neural do ator para gerar uma próxima ação para a observação de treino; e determinar uma atualização do parâmetro para a rede neural do ator (110) com base em (i) um gradiente da rede neural crítica (140) com relação à próxima ação tomada na observação de treino - par de entradas da próxima ação e de acordo com os valores atuais dos parâmetros da rede neural crítica e (ii) o gradiente da rede neural do ator (110) com relação aos parâmetros da rede neural do ator tomados na observação de treino e de acordo com valores atuais dos parâmetros da rede neural do ator.
17. Sistema, de acordo com a reivindicação 11, caracterizado pelo fato de que as observações recebidas pelo agente têm como característica os estados do ambiente pela utilização de entradas de pixels de alta dimensão de uma ou mais imagens que têm como característica o estado do ambiente.
18. Sistema, de acordo com a reivindicação 11, caracterizado pelo fato de que as observações recebidas pelo agente têm como característica os estados do ambiente pela utilização de vetores de baixa dimensão que têm como característica o estado do ambiente.
19. Meio de armazenamento legível por computador não- transitório caracterizado por compreender instruções armazenadas que quando executadas por um ou mais computadores realizem operações para treinar uma rede neural do ator (110) usada para selecionar ações que devem ser realizadas por um agente (102) que interage com um ambiente (104) pelo recebimento de observações que tem como característica um estado atual do ambiente e realizam uma ação selecionada a partir de um espaço contínuo de ações, em que a rede neural do ator (110) mapeia observações para as próximas ações de acordo com valores atuais de parâmetros da rede neural do ator, e em que a operação compreende: obter um mini-lote de tuplas de experiência a partir de uma memória de repetição (130), sendo que cada tupla de experiência compreende uma observação de treino que tem como característica um estado de treinamento do ambiente (104), uma ação de treinamento do espaço contínuo de ações realizada pelo agente (102) em resposta ao receber a observação de treino, uma recompensa de treinamento recebida pelo agente para realizar a ação de treinamento, e uma próxima observação de treino que tem como característica um próximo estado de treinamento do ambiente; e atualizar os valores atuais dos parâmetros da rede neural do ator (110) pela utilização do mini-lote de tuplas de experiência, que compreende: para cada tupla de experiência no mini-lote: processar (304) a observação de treino e a ação de treinamento na tupla de experiência pela utilização da rede neural crítica (140) para determinar uma saída da rede neural para a tupla de experiência, de acordo com valores atuais de parâmetros da rede neural crítica, e determinar (306) uma saída da rede neural alvo para a tupla de experiência da recompensa de treinamento na tupla de experiência e a próxima observação de treino na tupla de experiência, a determinação compreendendo: processar (402) a próxima observação de treino pela utilização de uma rede neural alvo do ator (150) para determinar uma próxima ação prevista para a tupla de experiência de acordo com valores atuais de parâmetros da rede neural alvo do ator, em que a rede neural alvo do ator é idêntica à rede neural do ator, porém os valores atuais dos parâmetros da rede neural alvo do ator são diferentes dos valores atuais dos parâmetros da rede neural do ator; processar (404) a próxima observação de treino e a próxima ação prevista para a tupla de experiência pela utilização de uma rede neural alvo crítica (160) para gerar uma próxima saída prevista da rede neural de acordo com valores atuais de parâmetros da rede neural alvo crítica, em que a rede neural alvo crítica é idêntica à rede neural crítica, porém os valores atuais dos parâmetros da rede neural alvo crítica são diferentes dos valores atuais dos parâmetros da rede neural crítica; e determinar a saída da rede neural alvo para a tupla de experiência da recompensa de treinamento e a próxima saída prevista da rede neural para a tupla de experiência; atualizar os valores atuais dos parâmetros da rede neural crítica pela utilização de erros entre as saídas da rede neural alvo e as saídas da rede neural para as tuplas de experiência no mini-lote; e atualizar valores atuais dos parâmetros da rede neural do ator pela utilização da rede neural crítica.
20. Meio de armazenamento legível por computador, de acordo com a reivindicação 19, caracterizado pelo fato de que as operações compreendem ainda: independentemente de atualizar os valores atuais dos parâmetros da rede neural do ator (110) pela utilização do mini-lote de tuplas de experiência: gerar uma nova tupla de experiência, que compreende: receber uma nova observação de treino, processar a nova observação de treino pela utilização da rede neural do ator (110) para selecionar uma nova ação de treinamento que deve ser realizada pelo agente (102) de acordo com os valores atuais dos parâmetros da rede neural do ator, receber uma nova recompensa de treinamento em resposta ao agente (102) realizar a nova ação de treinamento, receber uma nova próxima observação de treino e, gerar uma nova tupla de experiência que inclui a nova observação de treino, a nova ação de treinamento, a nova recompensa de treinamento e, a nova próxima observação de treino; e adicionar a nova tupla de experiência à memória de repetição (130).
BR112018001520-2A 2015-07-24 2016-07-22 Método para treinar uma rede neural do ator, sistema e meio de armazenamento legível por computador não-transitório BR112018001520B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562196854P 2015-07-24 2015-07-24
US62/196,854 2015-07-24
PCT/US2016/043716 WO2017019555A1 (en) 2015-07-24 2016-07-22 Continuous control with deep reinforcement learning

Publications (2)

Publication Number Publication Date
BR112018001520A2 BR112018001520A2 (pt) 2019-05-07
BR112018001520B1 true BR112018001520B1 (pt) 2023-06-13

Family

ID=

Similar Documents

Publication Publication Date Title
US11803750B2 (en) Continuous control with deep reinforcement learning
US11836625B2 (en) Training action selection neural networks using look-ahead search
US11783182B2 (en) Asynchronous deep reinforcement learning
US11886992B2 (en) Training reinforcement learning neural networks
US10867242B2 (en) Selecting actions to be performed by a reinforcement learning agent using tree search
JP6621923B2 (ja) 優先順位付けされた経験メモリを使用したニューラルネットワークの訓練
KR102158683B1 (ko) 외부 메모리로 신경망들 증강
EP3586277A1 (en) Training policy neural networks using path consistency learning
US10885432B1 (en) Selecting actions from large discrete action sets using reinforcement learning
BR112018001520B1 (pt) Método para treinar uma rede neural do ator, sistema e meio de armazenamento legível por computador não-transitório