Instrutor: Olá a todos e bem-vindos de volta.
Neste vídeo, falaremos sobre como usar
o ChatGPT para resolver o "Breakout", usando
o ChatGPT para implementar o A3C.
Então, eu já o induzi com vários prompts malucos e obtivemos
resultados incríveis, que veremos em um segundo.
Portanto, este vídeo basicamente
mostrará meu processo
de raciocínio sobre como obtive
os resultados e como você pode usar o ChatGPT
para criar o algoritmo A3C também.
Ok, então comecei de forma semelhante ao que fizemos com "DOOM". Eu disse:
"ok, você é basicamente um especialista
em aprendizado de máquina
com anos de experiência em robótica".
Eu o contrato para fazer o algoritmo A3C para "Breakout". O objetivo é ter um algoritmo SOTA, A3C totalmente
funcional que possa
jogar o jogo "Breakout".
Implementei classes, o ambiente de
código de teste e versões personalizadas
do otimizador Adam que é usado como um
otimizador de pesos compartilhados para
o modelo A3C.
Então, para dar mais contexto,
o que eu fiz foi fornecer essas três coisas a você.
Portanto, como mencionei antes de gerar o restante do código, seu objetivo
é implementar a solução completa
usando Python, Torch, de
forma semelhante à
que tínhamos, e otimizar o código
para ser executado no Google
Colab, da mesma forma que tínhamos antes.
Além disso, comente cada linha
do código para que os alunos possam
entender o que você fez no código.
Faça perguntas de esclarecimento, se necessário, entendido.
Portanto, temos algumas sobreposições com o que fizemos
para o Deep Q conversacional
para "DOOM", mas acrescentei muito contexto, pois já tenho coisas implementadas e gostaria
que elas fossem usadas.
Então, foi assim que comecei e isso se confirmou.
Sim, eu entendo e farei todas as
perguntas. Forneça o restante do código.
Em seguida, eu disse que este é o Adam Optimizer,
colei o código do Adam Optimizer,
para os recursos que temos, e dei essa instrução, disse
para aguardar o restante do
código antes de implementá-lo.
Antes de obter bons resultados, eu simplesmente
colei e ele imediatamente pulou para a implementação do A3C,
sem aguardar o restante.
Então, adicionei isso
como um tipo de código
sistêmico, um prompt sistêmico, e ele dizia: "Ok, forneça o
ambiente e teste o
código".
Portanto, na verdade, ele está se referindo
ao que fornecemos no primeiro prompt.
Eu disse, legal, aqui está
a implementação do ambiente Gym.
Colei o código principal,
adicionei contexto aqui, se você der uma olhada,
e este é o arquivo principal
que executa tudo.
E então eu disse, ok, legal, espere
pelo código de teste.
E ele disse que sim, mas
que eu ainda precisava
ver o código de teste antes de implementar
o A3C.
E veja como, se você tiver
um projeto maior, poderá
usá-lo para influenciar
o uso desse trecho
de código ou como referência, no estilo,
para que possa gerar algo no seu
estilo de código.
Legal, e quando eu fiz isso,
ele disse: ótimo, vá em frente.
E ele dizia basicamente que eu vou usar
esse código principal, testar e implementar isso.
E, em seguida, dizia: modelo criado. py, o que, na verdade, também fizemos
no curso.
E ele disse: aqui está o modelo do ActorCritic,
e eu o comparo com o nosso.
Esta é a versão mais recente do python, portanto,
grande parte da inicialização de pesos
e coisas do gênero pode ser feita de maneira mais elegante.
Então, ele fez isso e, na verdade, usou
muito bem, gerou o código do trem e, basicamente,
o ActorCritic.
E, se você der uma olhada, ela é bastante simplista, portanto,
definitivamente precisa ser aprimorada.
Então, o que você pode fazer é dizer, ok,
eu disse para continuar,
e ele continua escrevendo.
Ele criou isso como uma espécie de
perda, mas há, sim, basicamente
tudo o que precisávamos, ele otimizou
tudo, e você pode ver esse
otimizador. parar no final.
Portanto, ele basicamente
usou tudo o que definimos
até agora, bem como
a perda adequada e, sim, o otimizador, tudo.
Então é isso.
Em algumas etapas simples,
conseguimos implementar todo o código
de um dos modelos de última geração
que, por acaso, foi um dos
melhores em 2017, 2018.
Até hoje, ele realmente tem muita
capacidade para resolver ambientes complexos,
como o "Breakout". Como você viu, agora que temos o ChatGPT,
por exemplo, você pode orientá-lo
para implementar determinadas partes do código.
E se você não souber o que certas
partes do código realmente
fazem, poderá perguntar a
ele, por exemplo, legal, você pode
explicar a parte do treinamento
e onde está o costume do Adam?
Portanto, estou solicitando que ele realmente se explique, o que
é outra maneira
de basicamente solicitá-lo a fornecer mais raciocínio
por trás de sua geração.
E você pode ver que, na verdade,
ele vai explicar passo a passo.
Então, sim, podemos
esperar por isso, você pode fazer os mesmos
prompts e obterá resultados muito semelhantes
aos meus, mas, em geral,
o que ele vai fazer agora é pegar a função
de trem que definiu bem no topo,
bem aqui, e basicamente passará
por cada etapa e a implementará.
Então, sim, seria isso.
Definitivamente, recomendo que você experimente
esse código no Google
Colab. É possível
fazê-lo, mas será um pouco complicado fazê-lo funcionar, devido
à visualização e
às limitações do ambiente do Goggle Colab.
No entanto, você pode
definitivamente colar os erros aqui e
obter alguns resultados
bem decentes para depurar o processo.
E sim, com isso eu deixo você à vontade,
e agora você tem a maneira de usar o ChatGPT
sobre como obter valor para a A3C.
E sim, espero que você tenha
gostado do curso até agora, tchau.