seja muito bem-vindo ao universo todo gripado Vocês ficam falando que eu pareço ma mas eu quero ver se ya fica doente eu sou o Vittor Dias e no vídeo de hoje nós vamos ver um agente de que aprendeu a ganhar o jogo sem fazer nada ele simplesmente aprendeu a bugar o adversário e vence a partida apenas se jogando no chão feito um saco de batata e é claro que esse vídeo é um oferecimento da parceira aqui do canal a lura é a maior escola online de Tecnologia do Brasil ela tem cursos em várias áreas da
tecnologia e uma comunidade gigantesca com mais de 120.000 membros no discord E hoje começa a black friday da lura onde as matrículas vão estar com até 50% de desconto se matriculando na lura você tem acesso a todos os cursos deles sem exceção desde cursos de programação até design gestão e inteligência artificial os cursos são organizados atualizados e tem um time de instrutores qualificados que usam uma didática focada na prática durante as aulas no plano Plus além de receber acesso aos cursos você também recebe acesso à comunidade deles no discord e também consegue gerar certificados de
conclusão dos cursos para colocar no seu LinkedIn já no plano pro além de tudo que tem no plus você ainda ganha acesso a luri a ia da alura que vai te ajudar a tirar dúvidas nos estudos em tempo real e como se não fosse bastante no plano pro você ainda ganha acesso ao alura língua que vai te ensinar aquele inglês Maroto focado na área de tecnologia essa promoção só vai até o dia 29/11 então se matricula logo para não perder esse desconto o link para se inscrever como sempre tá aqui na descrição ou então escaneando
esse QR Code aqui e não esquece que o melhor investimento durante a black friday é em conhecimento e educação agora simbora pro vídeo pra gente entender de verdade o que os pesquisadores fizeram nesse trabalho nós vamos ter que dar alguns passos para trás e primeiro entender como funciona o aprendizado por reforço o aprendizado por reforço é um paradigma de aprendizado Onde existe um agente que executa ações em um ambiente e recebe Recompensas como resposta essa recompensa serve para estimular as ações bem-sucedidas do agente e inibir as ações que prejudicam ele a recompensa é um número
que pode ser positivo ou negativo e é você quem define quanto e quando ela vai ser fornecida ao agente por exemplo considerando que o ambiente é um jogo tipo Super Mário você pode dar mais um de recompensa toda vez que ele se aproxima do final da fase e menos um toda vez que ele se distancia mais 10 quando ele acertar o inimigo e -1 quando ele for acertado mais 100 quando ele vencer e menos 100 quando ele perder montar o sistema de Recompensas é a parte mais difícil desse tipo de algoritmo porque se você não
modelar direito vão acontecer vários problemas Como por exemplo o agente aprender a nunca ganhar de propósito porque ele concluiu que ficar parado atirando nos inimigos dá mais pontos do que passar de fase ou então aprender a pausar o jogo bem na hora que vai perder quanto mais complexo for o sistema de Recompensas maior a chance do ag gente encontrar uma brecha e ficar explorando ela outro problema é que o sistema de Recompensas acaba injetando um viés no ag gente a forma de pensar e as preferências do ser humano que modelou as recompensas vai ficar impregnada
no comportamento do agente Quem disse que atirar no inimigo deveria dar algum ponto Será que evitar conflitos não é uma estratégia mais eficiente esses pontos vão incentivar o agente a buscar conflitos e consequentemente envar o comportamento dele Daí nesse momento você pode pensar já sei vamos resolver isso dando Recompensas apenas na hora que o agente ganhar ou perder o jogo não importa como essa até que é uma boa solução só que ela tem um baita de um problema se a gente fizer desse jeito pode acontecer do ag gente nunca aprender a jogar porque a recompensa
se tornou muito rara como no início do treinamento o ag gente joga aleatoriamente é muito improvável que ele consiga ganhar o jogo Apenas executando ações aleatórias daí ele nunca recebe recompensa e Nunca aprende a interagir com o ambiente esse dilema se chama Recompensas esparsas versus Recompensas densas a esparsa envie menos e dá mais Liberdade pro comportamento do agente porém dificulta muito o treino porque na maior parte do tempo ele não vai receber recompensa nenhuma já as recompensas densas guiam o agente pelos possíveis caminhos com mais facilidade porém além dos problemas de exploração que nós acabamos
de ver esse tipo de recompensa também pode direcionar o agente para um comportamento muito específico e que pode não ser tão bom o famoso ótimo local daí durante essa brincadeira de interagir com o cenário e receber pensas o agente vai lapidando a sua política calma não é essa política aí que você tá pensando não você não é homem política aqui significa a estratégia que ele vai usar para percorrer os estados do ambiente a política é quem vai definir o comportamento do agente é quem vai dar as ordens para ele é ela quem vai dizer qual
ação ele deve executar em cada estado do ambiente a política pode ser implementada de várias formas e usando várias estruturas de dados diferentes ela pode ser uma lista de regras uma tabela de Recompensas ela pode ser uma árvore de decisão o famoso bando de if else e ela pode ser inclusive uma rede neural por mais que eu não use esse termo aqui nos vídeos do canal Você já viu várias vezes em todos esses projetos uma rede neural sendo uma política agora que a gente já entendeu Como funciona o aprendizado por reforço Vamos pro que interessa
em 2018 alguns pesquisadores da openi publicaram esse trabalho nele eles criaram um ambiente 3D e colocaram dois agentes para competir entre si em quatro tipos de jogos diferentes O Primeiro eles chamaram de correr pro objetivo nesse o agente que encostar na linha de chegada dele primeiro vence o segundo eles chamaram de você não vai passar nesse um agente vai tentar chegar na linha e o outro vai tentar impedir o terceiro é tipo uma luta de sumor onde um tem que empurrar o outro para fora do ring e o último é uma disputa de pênalti normal
além dessa variedade de jogos os agentes também podiam ter dois formatos de Corpos um meio humanoide e um meio aracnídeo cada agente é controlado por uma rede neural que tem a capacidade de controlar o movimento de cada um desses pedacinhos do corpo dele o objetivo desse trabalho é simples verificar se essa ideia de colocar os agentes para competir consegue fazer alguns comportamentos complexos surgirem essa estratégia de colocar os agentes para competir se chama Auto jogo e ela tem duas vantagens interessantíssimas A primeira é que ela ajuda a equilibrar o fator currículo currículo no aprendizado por
reforço é quando você aumenta gradualmente a dificuldade do cenário pro agente ir aprendendo aos poucos Isso facilita o treinamento e você ainda consegue guiar o aprendizado dele na direção que você precisa ou seja primeiro você coloca o agente para aprender a engatinhar depois para ficar em pé daí coloca para correr quando você menos esperar ele vai est faltando aula para dar mortal na praia no caso dessa estratégia de auto jogo como o inimigo do agente começa tão burro quanto ele e os dois vão evoluindo ao mesmo tempo a dificuldade do cenário acaba sendo ajustada gradualmente
e automaticamente ao longo do treino e a segunda vantagem é que essa técnica retira um pouco do viés da política do agente já que agora não vai mais ter um ser humano dizendo quanto e Onde serão dadas as recompensas o ao jogo acaba indiretamente tornando o sistema de Recompensas mais dinâmico daí depois de treinar o resultado foi esse os agentes Além de aprenderem a ficar em pé e a andar eles também aprenderam estratégias mais complexas Como empurrar eu de você correr desviar dar cabeçada enganar repara que ele sai da frente bem na hora que o
verde avança assim vem tranquilo vem tranquilo [Música] Oi aquele chute covarde nas partes [Música] íntimas chutar defender com as pernas ai ai ai ai meu deus o fiz com minha vida Jesus e defender com os braços eu não estou sup tando mais os pesquisadores também testaram a robustez do aprendizado colocando o agente para se equilibrar contra uma força horizontal simulando um vento ou seja o agente realmente conseguiu aprender comportamentos e estratégias complexas mesmo estando em um cenário simples e sem um sistema de Recompensas Mega elaborado que direcionasse ele para esses comportamentos específicos só que é
claro como sempre temos o quê problemas eu tenho probleminha os autores do mencionaram que pode acontecer do agente aprender um comportamento tão específico que ele não vai performar tão bem contra qualquer adversário E foi exatamente essa falha que o próximo trabalho explorou em 2021 pesquisadores da Universidade da Califórnia publicaram esse carinha aqui nesse trabalho os pesquisadores treinaram um novo agente que tinha apenas uma única função enganar os Agentes do trabalho [Música] anterior o ato de tentar enganar um modelo de a é chamado de ataque adversarial normalmente esses ataques são feitos modificando as informações de entrada
que o modelo recebe aqui no canal nós já Vimos um trabalho onde os pesquisadores conseguiram enganar um modelo de classificação de imagens apenas modificando um pixel da imagem de entrada esse um pixel de diferença já era o suficiente para fazer o modelo errar a classificação nesse vídeo Nós também Vimos que dá para enganar o chat GPT e fazer ele responder perguntas proibidas apenas adicionando algumas palavras específicas no prompt Só que tem um detalhe quando o modelo é um agente interagindo com o ambiente o atacante não consegue modificar as informações que o agente recebe o atacante
não tem acesso a elas porque o agente tá interagindo apenas com o ambiente e não com o atacante ou seja não existe uma comunicação direta entre eles porém existe uma comunicação indireta e é aí que a coisa fica interessante como o atacante também tem acesso e também interage com o ambiente ele pode atacar diretamente o ambiente daí quando o modelo alvo interagir com esse ambiente corrompido ele vai acabar quebrando também ou seja o atacante pode usar o ambiente como se fosse uma ponte um meio de comunicação entre ele e o alvo um exemplo bem real
disso seria alguém rabiscando uma placa de trânsito que um carro autônomo usa na hora de dirigir nesse caso o atacante não tem acesso diretamente ao sistema do carro mas ele tem acesso aos elementos do ambiente que o carro tá usando para tomar as dess dele o que permite que o ataque seja feito de forma indireta ou seja o objetivo desse segundo trabalho é atacar os Agentes do trabalho anterior mas sem modificar diretamente as informações que ele recebem apenas o ambiente a ideia aqui é treinar um agente impostor que vai ficar sabotando o ambiente para fazer
o circo pegar fogo e o resultado é claro você já sabe eles conseguiram essa daqui é uma partida normal de sumor o agente enfrentando ele mesmo no Auto jogo o os dois se empurrando normalmente nada demais agora olha o que acontece quando o agente adversarial entra em jogo ele aprendeu a ficar nessa posição bizarra meio que de joelhos e isso faz o inimigo perder completamente suas habilidades e olha só que curioso uma das regras que faz o jogador perder a partida é a mão do personagem encostar no chão daí o agente adversarial além de aprender
a ficar de joelhos também aprendeu a ficar com os braços levantados para não correr o risco da mão dele encostar no chão na hora que ele ajoelhar fogo Jesus queima destrói já no futebol o agente adversarial aprendeu a se jogar no chão feito maluco ajuda o maluco doente e esse comportamento perturbador faz o agente vítima perder o [Música] equilíbrio agora você vai morrer Seu filha da não vai cair agora não e até mesmo não consegui chutar a bola meu Deus meu senhor me ajuda [Música] por eles também colocaram o ag gente vítima para jogar contra
um agente aleatório repara como o agente aleatório também se joga no chão mas ele faz isso de uma forma comum assim meio normal meio banal um tanto convencional ou seja sem nada de especial eu sou um merda MMO já o agente adversarial é exatamente o contrário ele se joga no chão de uma maneira muito específica muito peculiar uma maneira assim meio distinta inusitada ou seja uma maneira diferenciada repara na elegância dessas cabeçadas o azul fica tão horrorizado que perde até o caminho de casa e sinceramente eu não vou nem julgar porque se alguém fizesse isso
na minha frente eu também ia bugar e mano olha esse momento [Música] aqui quem está aí é você Satanás Sai fora sai fora sai sai sai sai fora no final das contas o agente adversarial consegue vencer o agente vítima 86% das vezes superando completamente a performance dos outros os agentes que foram treinados normalmente com o auto jogo e nesse momento eu espero que você esteja se perguntando por que essa doideira acontece como é possível que alguns movimentos específicos consigam estragar completamente o comportamento do agente E é claro que os autores do trabalho responderam essa pergunta
eles falaram que o agente adversarial cria observações que são naturalmente adversariais pra vítima e empurram as ativações da rede dela para fora da distribuição foca nessa parte aqui ó empurram as ativações da vítima para fora da distribuição esse termo of distribution Pode até parecer assustador mas na verdade o conceito por trás dele é bem simples de entender vem comigo aqui nós temos um plano 2D Agora imagina que todos esses pontos no plano são dados e essa linha aqui é a rede neural treinar a rede significa diminuir os erros que ela comete em relação aos dados
ou seja significa diminuir essas distâncias vermelhas depois de treinar a rede fica mais ou menos assim e é aqui que o problema surge nessas duas regiões laterais A rede tá se comportando de uma forma aleatória isso acontece porque não tem nenhum dado ali para dizer como a rede deveria responder naquelas situações se não tem dados não tem como calcular o erro se não dá para calcular o erro o algoritmo de Treinamento vai simplesmente ignorar essas regiões durante o treino daí não importa como a rede esteja se comportando nessas regiões nada que tá ali vai impactar
o o valor do erro que o algoritmo tá tentando diminuir Isso significa que nessas regiões A rede vai estar livre para assumir quaisquer formatos que a arquitetura da rede e a aleatoriedade do treino permitirem nesse exemplo essas duas regiões laterais é que são esse tal de off distribution nelas se encontram as situações que estão fora da região dos dados fora da região onde os dados estão distribuídos por isso esse nome e é exatamente isso que tá acontecendo aqui o agente adversarial se se comportando dessa maneira maluca acaba levando o jogo para um estado que tá
longe dos estados que a vítima viu durante o treinamento daí ela acaba não sabendo como se comportar nesses novos estados os autores disponibilizaram uma imagem que mostra claramente esse fenômeno eles usaram uma técnica chamada tsne para criar um gráfico que mostra as ativações do agente vítima ao longo da partida os pontos Laranjas são as ativações do agente vítima jogando contra um agente normal que não é adversarial os pontos azuis são as ativações dele jogando contra um agente que é adversarial repara como esses pontos estão em regiões bem diferentes daí o fato do agente vítima estar
com a política super ajustada para as situações que ele viu durante o treinamento faz com que ele não saiba o que fazer nessas novas situações que o agente adversarial força Ele a encarar ou seja como sempre a culpa é do super Ajuste o famoso overfitting se o agente realmente tivesse aprendido a jogar ele saberia que o inimigo se jogar no chão não muda em nada a lógica do jogo muito pelo contrário só facilita para ele mas como ele mais memorizou do que aprendeu isso acontece os autores do trabalho também argumentaram que se você colocar o
agente vítima para treinar contra o agente adversarial ele consegue consertar essas falhas no comportamento e fica menos vulnerável ao ataque porém ainda assim ele só vai ter aprendido a se defender desse agente específico e não de todos que possam existir sempre vai ser possível treinar um novo agente adversarial para atacar o novo agente vítima porque no final das contas o verdadeiro problema é que o aprendizado do agente tá completamente esburacado tamo junto e até daqui a pouco atenção é agora que o bicho vai pegar bate bate B vai perder vai ganhar vai perder vai ganhar
perdeu eu tô chorando