as redes neurais artificiais foram desenvolvidas lá pelos anos de 1940 e 1950 só que nessa época a falta de tecnologia e poder computacional acabou limitando a utilidade desses algoritmos o que fez com que o interesse por eles caísse bastante Essa época é conhecida como inverno da ia só que o tempo passou e Chegamos no fatídico ano de 2012 nesse ano alguns pesquisadores usaram uma rede neural convolucional em um concurso de reconhecimento de imagens chamado imaginero e pra surpresa de todo mundo a rede neural deles teve um desempenho muito melhor do que os algoritmos dos outros
competidores o que fez com que a atenção da Galera voltasse novamente PR as redes neurais só que é claro esses algoritmos não são perfeitos na verdade as redes neurais TM um baita de um [Música] problema seja muito bem-vindo ao universo programado eu sou o Vittor dias e nesse vídeo nós vamos ver uma falha que os pesquisadores encontraram nas redes neurais E como eles usaram ela para manipular o comportamento das redes e o mais impressionante de tudo sem alterar nenhuma linha de código e se você tem interesse em aprender a criar inteligências artificiais a patrocinadora desse
vídeo tem uma solução para você a lura é simplesmente a maior plataforma de cursos online sobre tecnologia do Brasil ela tem mais de 10000 cursos nas mais essas áreas tem curso de Python de desenvolvimento de jogos e unit unreal robótica modelagem 3D edição de vídeo blockchain pixel art tem de tudo mano para todos os gostos as aulas estão em português e o melhor de tudo a matrícula te dá acesso a todos os cursos sem exceção todos os cursos para você fazer quantos quiser na hora que você quiser e tem mais os cursos estão organizados em
formações Ou seja você não vai ficar perdido sem saber o que estudar se você quiser você também pode usar o campo de busca da plataforma para procurar exatamente o curso que você quer é só digitar a palavra-chave por exemplo ia ou redes neurais ou cybersegurança para quem tá começando ou quer mudar de carreira é fundamental ter todo o conteúdo reunido e estruturado em um só lugar e de uma forma didática por isso aqui na descrição do vídeo tem um link especial para quem é inscrito aqui no canal esse link te dá 15% de desconto na
matrícula para aproveitar essa oportunidade é só você entrar em alura TV bar universo programado ou então escanear esse QR Code que tá aqui na tela É sempre bom já começar o ano aprendendo alguma coisa Nova recado dado vamos embora pro vídeo após o sucesso das redes neurais no concurso de 2012 as pesquisas ao redor desse tema voltaram com força total e logo no ano seguinte já veio a primeira pedrada os pesquisadores Descobriram que é possível enganar a rede neural e fazer ela errar a classificação das imagens apenas modificando levemente a imagem nesse primeiro exemplo a
rede neural recebeu a foto de uma banana e respondeu que é uma banana beleza acertou mas aí eles foram lá e adicionaram esse rabisco esquisito aqui daí ela passou a responder que a imagem é de uma torradeira já nesse outro exemplo em vez de adicionar um elemento estranho na imagem eles adicionaram um ruído daí esse ruído fez a rede responder que o conteúdo da imagem é na verdade um vaso de flores adicionar ruído numa imagem significa que você vai modificar todos os pixels da imagem deixando eles um pouco mais ver vermelhos ou mais verdes ou
mais azuis esse ruído pode ser gerado usando uma função matemática ou de forma 100% aleatória Só que tem um detalhe se esse rabisco ou esse ruído realmente fossem usados em um ataque contra a rede neural a equipe de segurança conseguiria facilmente perceber que a imagem tá alterada e tomaria alguma medida de segurança para conter o ataque daí os pesquisadores pensaram E se a gente criar um ruído que seja invisível aos olhos humanos um ruído que fa o ataque passar despercebido Será que funciona e a resposta é claro que é sim os pesquisadores conseguiram encontrar ruídos
que alteram a imagem o suficiente para mudar a resposta da rede mas não o suficiente para que eles sejam visíveis ruídos bem sutis na coluna da esquerda tem a imagem original na do Meio tem apenas o ruído e na direita tem a imagem com o ruído repara que a diferença entre elas é praticamente zero realmente não dá para perceber que as imagens foram modificadas porém essa modificação foi forte o suficiente para que a rede neural classificasse as imagens como sendo uma avestruz e um camelo aí nesse momento você pensa beleza isso é o mais longe
que os caras conseguem chegar fazer o ruído Ser Invisível é apelão demais só que não não satisfeitos em tornar o ruído invisível os pesquisadores foram lá e reduziram o tamanho dele para apenas um pixxel sim mano um ruído composto por apenas um pixel em 2019 esse artigo foi publicado one pixel Attack nele os pesquisadores mostraram que basta trocar a cor de um único pixel específico da imagem que a rede neural endoida completamente e passa a errar a classificação nesse ataque o Pixel não é invisível Mas dependendo da posição e da cor dele até que dá
para passar despercebido tipo nesse exemplo se não fosse o círculo vermelho não daria para perceber que existe um pixel modificado ali até porque essa imagem tá uma ela naturalmente já tem muito ruído só que o grande problema vem agora essas técnicas não são usadas para fazer a rede neural simplesmente Errar despretenciosamente como se fosse um erro aleatório elas podem ser usadas para manipular o erro da rede do jeito que o atacante quiser olha o poder disso apenas mexendo nos valores da entrada o atacante consegue escolher qual será o valor da saída ele pode encontrar o
exato ruído que faz com que a rede neural dê o resultado que ele quer e isso é uma baita de uma vulnerabilidade na cybersegurança esse tipo de ataque é chamado de ataque de manipulação de entrada no ataque de manipulação de entrada o atacante tenta inserir valores maliciosos nos locais onde o sistema permite a entrada de informações o objetivo desse ataque é tentar provocar um comportamento inadequado do sistema já na área de machine learning esse mesmo tipo de ataque é chamado de ataque adversarial e é claro que os caras foram lá e colocaram esse ataque em
prática nesse trabalho os pesquisadores usaram tanto A Estratégia do ruído invisível quanto a estratégia do Pixel único para atacar uma rede neural que aprendeu a jogar o joguinho pong essa rede recebe um print da tela como entrada e retorna a ação que será executada no jogo tipo subir descer ou ficar parado esse trabalho mostrou que modificando a imagem que a rede neural recebe é possível atrapalhar as decisões dela e fazer ela perder o jogo em situações onde ela deveria ir para baixo ela fica parada e em situações onde ela deveria ir para cima ela vai
para baixo esse vídeo aqui mostra a rede neural jogando contra um outro algoritmo que só faz uma coisa seguir a bolinha a rede neural é o da direita repara na coça que o outro algoritmo tá levando coitado 16 a 0 já esse vídeo aqui mostra a rede sofrendo o ataque adversarial em tempo real a rede passou a perder muito mais do que ganhar repara que ela tá perdendo para um algoritmo extremamente simples que fica apenas seguindo a bolinha sem nenhum tipo de estratégia mais complexa e nesse momento você pode até pensar mas Vitor fazer a
rede neural errar uma classificação ou perder um joguinho é inofensivo e sem muita relevância Por que os pesquisadores estão fazendo isso e ainda bem que você perguntou porque é agora que a coisa fica séria manipular saída de uma rede neural que reconhece objetos é na verdade bem perigoso por um simples motivo esse carinha aqui os carros autônomos usam essas redes para identificar os objetos que estão no seu caminho e se eles identificarem errado você já sabe e nesse trabalho o os pesquisadores fizeram Exatamente isso eles pegaram uma placa de trânsito real colocaram umas fitas adesivas
nela para imitar um ruído tiraram várias fotos em ângulos e distâncias diferentes e enviaram pra rede neural resultado em vez da rede classificar a imagem como uma placa de Pari ela classificou como uma placa de velocidade máxima 45 é claro que hoje em dia os fabricantes de carros autônomos também usam outros métodos para ajudar na segurança do veículo nessas situações mas esses trabalhos servem para mostrar como as redes são frágeis e podem ser bastante perigosas qualquer pessoa poderia ir lá na placa e de uma forma bastante simples fazer um ataque a todos os carros autônomos
que passassem naquela Rodovia ou pior ainda o próprio tempo chuva sol chuva sol poderia desgastar a placa e sem querer criar um ruído que faz com que a rede acelere o carro em vez de parar agora que nós já vimos os tipos de ataques duas perguntas muito importantes ainda continuam parando no ar como os pesquisadores fazem para encontrar esse ruído que confunde a rede neural e por que esses ataques funcionam como é possível que a modificação de apenas um pixel da imagem altere completamente a resposta da rede e antes da gente responder essas perguntas já
se inscreve aqui no canal para receber mais conteúdos como esse e se você já tiver inscrito considere participar da área de membros também tem muito conteúdo maluco rolando por lá Caraca falou exatamente o que eu falei mano e já depende dos instintos para sobreviver doideira hein dois números aleatórios vamos ver se vai dar erro e interessante tipo o gráfico da 1 sobre x ó lá só a parte positiva do gráfico para encontrar o tal do ruído os pesquisadores usam os famosos algoritmos de otimização esses algoritmos funcionam testando Vários valores para os parâmetros do modelo na
intenção de encontrar uma combinação que minimiza ou maximiza alguma característica específica que você queira se ficou confuso Calma que com o exemplo vai ficar mais fácil de entender nesse projeto aqui o formato dos carrinhos é definido por alguns números esses números determinam por exemplo o formato do chassi o tamanho das rodas e as posições delas cada combinação gera um carrinho diferente e a pergunta agora é qual combinação gera o melhor carrinho aquele que consegue chegar mais longe é exatamente isso que os algoritmos de otimização tentam responder quais valores os parâmetros do modelo devem assumir para
que uma determinada métrica seja otimizada nesse caso os parâmetros são os números que definem formato do carrinho o modelo é o próprio carrinho e a métrica que se quer maximizar é a distância do carrinho até a linha de partida no caso de um ataque adversarial o modelo é a própria rede neural os parâmetros são os pixels da entrada e os pedestres são como os banhistas e a métrica que se quer maximizar é o erro da rede se o atacante tiver acesso à estrutura interna da rede ou seja se ele souber exatamente como os neurônios estão
conectados e quais os valores de cada peso o ataque é chamado de ataque caixa branca Mas se a parte interna da rede tiver escondida dele o ataque é chamado de caixa preta o ataque caixa branca é mais eficiente Porque o fato do atacante ter acesso à estrutura interna da rede permite que ele use alguns algoritmos bem espertos que usam os cálculos matemáticos para encontrar o ruído com mais facilidade esses algoritmos são conhecidos como algoritmos baseados em gradientes e curiosamente eles também são usados para treinar a própria rede neural olha só que ironia os mesmos algoritmos
que fazem a rede neural acertar também fazem ela errar só que na maioria das vezes o atacante não tem acesso à parte interna da rede o que obriga ele a usar o ataque caixa preta no ataque caixa preta o atacante só tem acesso à saída da rede e só isso já é o suficiente para realizar o ataque aqui no canal nós já Vimos um desses algoritmos as estratégias evolutivas para usar as estratégias evolutivas nesse problema até que é bem simples primeiro a gente cria vários ruídos aleatórios depois depois aplica cada um deles na imagem envia
a imagem pra rede neural e armazena o resultado que deu depois de fazer isso com todos os ruídos a gente deleta os piores clona os melhores e aplica uma mutação daí é só repetir isso tudo de novo várias vezes com o passar das Gerações a população de ruídos vai seguir por uma direção que consegue enganar a rede neural e esses ruídos conseguem enganar por dois motivos a própria forma como as redes neurais funcionam aqui tem dois exemplos no de cima o neurônio vermelho tá disparando um 0,3 como saída e no de baixo o mesmo neurônio
tá disparando 0,31 uma diferença de apenas 0,01 repara que essa pequena diferença foi suficiente para ativar alguns neurônios que no exemplo de cima não tão ativados e também foi suficiente para desativar alguns neurônios que estavam ativados repara que agora a segunda camada tá em configurações completamente diferentes nos dois casos e isso vai gerar um efeito em Cascata a terceira camada também vai ativar de forma completamente diferentes isso vai se repetindo até chegar na última camada e a rede resultar em valores finais completamente diferentes ou seja é um Efeito Bola de Neve Aquela pequena diferença lá
do início foi amplificada à medida que se propagou pela rede esse comportamento é um pouco parecido com o comportamento dos sistemas caóticos você já deve ter ouvido falar daquela célebre frase o bater de asas de uma borboleta no Brasil pode causar um furacão no Texas se uma borboleta bater a asa aqui pode acabar gerando um furacão aqui e o segundo motivo é o famoso overfitting o overfitting acontece quando a rede neural se ajusta demais aos dados de treinamento ela memoriza os dados em vez de aprender o padrão deles quando isso acontece a rede passa a
errar feio quando é exposta a novas situações Imagine que cada bolinha vermelha dessa é uma imagem de um panda e cada bolinha azul é a imagem de uma girafa num problema de classificação a rede neural tem que encontrar a linha que divide o que é panda e o que é girafa essa linha que tá na tela seria uma ótima candidata mas na prática não é isso que acontece o que acontece é algo Tipo isso aqui uma linha Toda torta e irregular aí nessa situação qualquer leve modificação que você faça na foto de um panda pode
fazer a imagem entrar na região das girafas justamente porque a rede tá super ajustada e para complicar nesse exemplo a gente só tá usando duas dimensões na prática cada Pixel da imagem precisaria de três dimensões ou seja uma simples imagem 200 56 por 256 que é uma imagem bem pequena tem quase 200.000 dimensões para se movimentar 200.000 Mano imagina ter 200.000 direções nas quais você pode dar um passinho pro lado e é exatamente isso que o ataque adversarial faz ele encontra um ruído que quando adicionado na imagem faz ela dar um pequeno passinho pro lado
em cada uma dessas 200.000 dimensões daí a imagem acaba caindo em uma região onde a rede neural tá classificando errado [Música] e tem mais esse ataque não funciona só com imagens não ele pode ser aplicado em outros tipos de redes neurais também Como por exemplo o próprio chat GPT se a gente pedir pro chat GPT nos ensinar a hackear uma rede wi-fi é isso que ele responde ele diz que é ilegal antiético que é crime e que não vai ajudar mas se a gente inserir algumas palavras específicas no prompt ele fala tudo essas palavras TM
o mesmo efeito dos ruídos nas imagens elas levam o prompt para uma outra região dentro do espaço da rede neural do chat GPT uma região que não tá censurada a lógica que as redes neurais usam para gerar as respostas é tão complexa que é quase impossível calibrar ela de forma que fique 100% correta as redes neurais TM uma taxa de erro inerente à forma como elas são treinadas Isso significa que existem vários erros lá dentro e como o tamanho do espaço é gigantesco talvez ninguém nunca se depare com eles Além disso O Ataque adversarial é
especialmente preocupante e perigoso porque o atacante não precisa invadir nem alterar nenhum código da rede para manipular o resultado dela basta corromper a entrada só isso já é o suficiente para fazer o fluxo de execução do algoritmo seguir por um caminho que não deveria estamo junto e até daqui a [Música] pouco [Música] n