11. EAD. Visão Computacional: Aplicações e Desafios Técnicos na IA - áudio
11. EAD. Visão Computacional: Aplicações e Desafios Técnicos na IA - áudio
- Visão ComputacionalDesafios da percepção de máquinas · Ruído digital e seus efeitos · Comparação com a visão humana · Matriz de números vs. mundo real
- Ataques Adversários e Adaptação de DomínioEngano por ruído digital invisível · Exemplo do urso panda e macaco gibão · Manipulação de correlações estatísticas · Desafio em diferentes ambientes
- Computação de Borda (Edge Computing)Necessidade de processamento local · Desafios de hardware e software · Técnicas de otimização: quantização e poda
Bom, imagine a cena. Um carro autônomo dirigindo a um, sei lá, 60 km por hora em uma avenida movimentada. Logo à frente, tem uma daquelas placas de pare, vermelhas, super brilhantes, sabe? Para qualquer ser humano que esteja prestando o mínimo de atenção, não tem absolutamente nenhuma dúvida do que aquela placa significa.
Exato, é instantâneo. Só que, por causa de alguns, tipo, pontinhos invisíveis de ruído digital na lente da câmera do carro, uma estática que nenhum olho biológico consegue sequer detectar, o cérebro desse veículo registra que ali existe uma placa de limite de velocidade de 45 milhas por hora. Nossa! Ele não pisa no freio.
Ele simplesmente acelera. E, bom, hoje o nosso objetivo é desvendar por que ensinar máquinas a enxergar é, assim, um dos quebra-cabeças mais perigosos, frágeis e, ao mesmo tempo, fascinantes de toda a inteligência artificial moderna.
E sabe o que torna esse cenário do carro autônimo tão assustador? É que nós, como humanos, a gente acaba projetando a nossa própria experiência na máquina, né? Com certeza. A gente acha que eles veem como a gente. Exatamente. Nós abrimos os olhos e o mundo simplesmente aparece ali.
A gente reconhece objetos instantaneamente, sem esforço. Mas para o computador não existe luz, sombra, textura ou profundidade. O que entra pela câmera é uma matriz gigantesca de números. Fazer sentido dessa sopa de dados, dessa bagunça numérica, é o que chamamos de visão computacional.
E é exatamente essa jornada, sabe, do caos numérico até a compreensão real de uma cena que a gente vai explorar na nossa imersão de hoje. Para quem está acompanhando com a gente, nós mergulhamos fundo nos apontamentos e nas pesquisas do professor doutor Ivan Carlos Alcântara de Oliveira. Que é um material riquíssimo, diga-se de passagem. Muito. Porque mapeia não só como essa tecnologia funciona, mas também as falhas críticas dela.
E a grande questão inicial, o ponto de partida é o seguinte. Se um amigo entra numa sala quase escura, a gente reconhece a silhueta dele em um segundo, certo? Uhum. O cérebro humano preenche as lacunas. Exato. Mas se a luz muda, para a máquina os números todos mudam. Como é que um sistema de segurança lidaria, por exemplo, com alguém usando um capuz ou caminhando num corredor mal iluminado? Vamos desvendar isso porque parece uma overdose de informações.
E é, a máquina entra em colapso se ela tentar analisar tudo de uma única vez. Porque, pensa bem, uma imagem de alta resolução hoje em dia tem milhões de pixels. Milhões. É muito dado. Se a pessoa coloca um capuz, milhares desses pixels mudam de cor imediatamente, o que altera completamente o valor matemático daquela imagem inteira.
É por isso que os engenheiros, já há algum tempo, pararam de tentar fazer a máquina olhar para o todo de uma vez e criaram as redes neurais convolucionais, que a gente chama de CNNs. As famosas CNNs. Mas como elas resolvem esse caos?
Elas operam quebrando esse problema monumental em pedaços minúsculos, sabe? Tipo, como se fosse um filtro progressivo. Isso. Pense em uma linha de montagem hierárquica. As primeiras camadas dessa rede neural não estão procurando um rosto de cara. Elas procuram apenas contrastes de luz. Uma borda vertical ali e uma linha horizontal aqui.
Ah, entendi. Elas pegam só os traços básicos. Uhum. A camada seguinte pega essas linhas soltas e percebe que elas formam um círculo ou, sei lá, um triângulo. Aí a próxima camada junta essas formas geométricas e identifica uma orelha ou a ponta de um nariz.
É um processo de construção mesmo. Exato. E quando chegamos na última camada, a máquina finalmente tem informações matemáticas suficientes para dizer, olha, juntando tudo isso, a probabilidade estatística aponta que isso é um rosto humano. Entendi. Então, em vez de decorar a imagem exata, ela aprende a construir o conceito visual de baixo para cima. Isso. Passo a passo.
Mas, peraí, para a máquina aprender o que é uma borda, um nariz ou uma orelha, ela precisa ver milhões de exemplos. E aqui, nas fontes do professor, a gente esbarra um problema prático gigantesco. O custo dos dados, né? Exatamente. Para ensinar a IA no modelo tradicional, aquele supervisionado, alguém precisa literalmente sentar e colocar uma etiqueta dizendo olha, isso é um nariz, isso aqui é uma placa de trânsito.
o que é inviável em larga escala. Pois é. Rotular dados à mão é caro demais, é demorado e ainda é sujeito a erro humano. Como é que a pesquisa atual está resolvendo essa escassez de dados prontos para treinar as máquinas?
A saída tem sido o aprendizado semi-supervisionado. É uma estratégia muito, mas muito inteligente, onde usamos um número bem pequeno de dados rotulados, como uma espécie de âncora, sabe? Para dar sentido a um oceano de dados que não tem rótulo nenhum. Tem um caso de uso muito visual sobre isso nas fontes que ajuda muito quem está ouvindo a entender, que é o projeto de um Smart Campus, um campus universitário inteligente.
Ah, esse exemplo é perfeito. É. Vamos imaginar a cena. A administração quer criar um sistema para mapear todas as espécies de plantas daquele local. Os botânicos da universidade vão lá e conseguem rotular, digamos, umas 100 fotos com precisão absoluta. Eles dizem, aqui é um IP amarelo, ali é um pau-brasil. Só que 100 fotos não são nada para uma IA. Nada. Não são suficientes para treinar uma rede neural robusta que não vai errar.
Mas, em compensação, existem milhares de fotos tiradas diariamente pelos alunos no campus, para o Instagram, para o WhatsApp, sem rótulo nenhum de espécie. Como é que a máquina usa isso a favor dela? Então, o modelo analisa aquelas 100 fotos rotuladas pelos botânicos primeiro e extrai o padrão matemático básico de um IP amarelo, por exemplo.
Ela pega a essência matemática da planta. Exato. Em seguida, ele vai para essa base gigante de fotos dos alunos. E mesmo sem saber o nome da planta nessas fotos casuais, a máquina consegue identificar padrões visuais que são semelhantes àqueles que ela aprendeu na amostra rotulada. Ah, ela faz a ponte.
Uhum. Ela percebe que uma determinada textura de folha sob o sol do meio-dia se parece muito com aquela mesma textura sob a sombra do fim da tarde. Então ela aprende a generalizar a iluminação, a perspectiva e as cores usando esses dados não rotulados para ficar muito mais resistente às variações malucas do mundo real. Caramba! E é aí, exatamente aí, que a engenharia se depara com um paradoxo incrível.
Aqui é que a coisa fica realmente interessante, pessoal. Porque a máquina aprende, mas... Pois é. O modelo aprende a generalizar super bem. Consegue reconhecer plantas em diferentes ângulos, iluminações, mas ao mesmo tempo ele se mostra assustadoramente ingênuo. Lembra daquela placa de páreo do início da nossa conversa? A do carro autônomo. Isso. O que provoca aquilo é o que os pesquisadores chamam de adversarial attacks, ou ataques adversários.
Tem um exemplo das fontes que, juro, beira o absurdo. Pega-se a foto de um urso panda. O sistema analisa e classifica corretamente. Urso panda. Tudo certo até aí. Aí, o pesquisador vai lá e injeta um ruído digital invisível ao olho humano. A gente continua olhando para a tela e vendo exatamente o mesmo urso panda. Nenhuma diferença. Mas a inteligência artificial analisa a nova imagem e afirma com 99% de certeza isso é um macaco gibão.
A taxa de certeza é o que mais assusta. Como é possível que a mesma máquina que reconhece texturas complexas de folhas sob a luz do sol seja enganada de forma tão ridícula por um chiadinho? O que esse ruído está fazendo na prática?
O que é fascinante aqui é que o ruído não é aleatório, sabe? Ele é um cálculo reverso muito cirúrgico. A máquina, afinal de contas, não tem a compreensão semântica do que é um urso. Ela não sabe o que é um animal peludo que come bambu. Para ela é tudo número, né?
Exato. Ela tem uma equação que, ao receber certos valores de pixels da foto, cospe o resultado estatístico panda. O invasor, que faz o ataque, analisa essa equação e calcula matematicamente quais são os pixels exatos que eu preciso alterar de forma microscópica para que o resultado final da equação mude para gibão. Então é um hack na matemática, não na imagem visual em si. Cuido invisível.
O padrão geométrico que a rede usa para decidir a classificação é corrompido de dentro para fora. Isso expõe que a rede neural não está realmente entendendo o mundo. Ela está apenas mapeando correlações estatísticas no conjunto de dados. Se o ataque manipula essas correlações, o sistema erra de forma catastrófica. O que explica outro desafio gigantesco da área que as fontes mencionam, que é conhecido como a adaptação de domínio.
Ah, esse é um pesadelo logístico. É, porque se a máquina não entende o conceito das coisas, apenas as correlações visuais do treinamento, um carro autônomo treinado no asfalto liso e bem sinalizado de uma capital europeia pode simplesmente não saber o que fazer se for colocado para rodar em uma estrada de terra no interior da América do Sul, né?
Com certeza. O pó, a falta de linhas pintadas no chão, o contraste da luz, tudo muda. Mas olha, tem um conceito chamado Zero Shot Learning, que o professor Ivan traz, que promete fazer a máquina reconhecer categorias que ela nunca viu no treinamento. Confesso que, lendo isso, soou como mágica. Como a máquina pode identificar um animal do qual ela nunca viu uma foto na vida?
É que não é mágica, na verdade é a ponte entre a visão e a linguagem. No Zero Shot Learning, não ensinamos a máquina apenas com imagens isoladas. Nós começamos a associar características visuais a atributos descritivos, entende? Como assim, atributos descritivos?
Por exemplo, se a máquina já foi treinada para reconhecer um cavalo e também já sabe identificar listras pretas e brancas de outras fotos soltas, sei lá, roupas ou faixas de pedestre, o sistema pode receber uma instrução textual dizendo uma zebra se parece com um cavalo, mas tem listras pretas e brancas. Ah, entendi. E aí quando ela encontra a imagem da zebra pela primeira vez na vida, ela não trava. Ela cruza os atributos visuais que já conhece matematicamente com a descrição em texto que recebeu.
então ela finalmente ganha um pouco de contexto. E isso é o gancho perfeito para a revolução dos modelos multimodais. Ficou claro que tentar fazer a máquina entender o mundo apenas analisando pixels é tipo tentar entender um filme assistindo sem o áudio e sem legendas, né?
É uma ótima analogia. Falta significado. Pense em uma cena com uma bola rolando e uma criança correndo atrás. A imagem por si só é ambígua. É uma câmera de transmissão esportiva focando no jogo no parque? Ou é um sistema de vigilância tentando evitar que a criança corra para a rua?
Para a máquina não ser enganada, ela precisa de semântica. E foi aí que a introdução do processamento de linguagem natural, o NLP, junto com a visão, mudou o jogo completamente. Em vez de operar em silos separados, os modelos multimodais de hoje processam texto, imagem, áudio e sensores simultaneamente. Isso dá uma verdadeira bússola de significado para a máquina.
As fundas do apontamento trazem dois exemplos que hoje já fazem parte do nosso cotidiano para quem trabalha com tecnologia. O Clip e o Daley, ambos da OpenAI. Modelos incríveis. O Clip, por exemplo, ele pega uma imagem de um cachorro na neve e pareia com a frase cachorro brincando na neve.
ele usa algo chamado de aprendizado contrastivo. Basicamente, ele pega essa imagem e essa frase, empurra as duas para ficarem matematicamente muito próximas dentro do sistema e afasta tudo que não tem a ver com a cena.
Exatamente. Ele aproxima o que tem o mesmo significado semântico. E o resultado é que, se você digitar cachorro brincando na neve, ele acha a imagem exata num mar de dados, sem precisar daquelas etiquetas manuais de antes.
Mas o Dali vira essa lógica de cabeça para baixo, certo? Sim, vira do avesso. O clipe é excelente para encontrar e classificar, mas modelos generativos como o Dali, que são baseados na arquitetura de Transformers, usam essa relação entre texto e imagem para criar do zero.
Isso que é bizarro. É, porque se o modelo entende matematicamente a relação entre as palavras robô, pintura e estilo impressionista, ele não precisa procurar uma foto real disso no banco de dados. Ele literalmente sintetiza uma nova matriz de pixels imédita que atende a essa semântica.
Então nós passamos daquela IA que era só um olho passivo analisando números para uma máquina com imaginação literária. Com ferramentas embutidas no ChatGPT Plus e no Bing Image Creator, qualquer pessoa gera imagens inéditas escrevendo prompt simples de texto.
E para os desenvolvedores, isso hoje é só plugar uma API usando linguagens comuns, tipo Python ou Node.js. Ficou muito acessível. Mas, e sempre tem um mas em tecnologia, né? Esses modelos de fundação multimodais têm bilhões de parâmetros. Eles exigem supercomputadores monumentais rodando em fazendas de servidores na nuvem para funcionar. O problema é que o mundo real não acontece na nuvem o tempo todo.
Longe disso, o mundo real exige respostas em tempo real e localmente. Exato. Pense, por exemplo, em um drone militar, num óculos de realidade aumentada ou em um sensor de incêndio florestal no meio do mato, quilômetros de qualquer cidade. Eles não podem depender de uma conexão de internet estável para enviar dados pesados para a nuvem e esperar o supercomputador processar e devolver a resposta. Se a internet cair, o drone bate.
Pois é, o processamento precisa ser local, direto no dispositivo, o que chamamos de computação de borda, ou Edge Computing. E uma CNN profunda consumiria a bateria desse drone em minutos, além de travar a memória RAM toda. A engenharia, então, precisa encolher esses cérebros digitais gigantes sem perder a capacidade deles de pensar. Esse é o grande desafio de hardware e software hoje.
E aqui os apontamentos do professor trazem duas técnicas muito pesadas de otimização aplicadas após o treinamento do modelo. A quantização e a poda, ou pruning. Vamos tentar traduzir isso para a nossa audiência. A quantização lida com o tamanho literal da matemática, certo? O documento fala sobre reduzir a precisão de números do formato float 32 para int 8. O que isso significa na prática para a máquina?
Pense da seguinte forma. O modelo aprende os padrões usando números decimais de altíssima precisão. Em vez de usar apenas um número 3, ele usa 3,141592 e assim por diante. Casas decimais infinitas quase.
Quase isso. Essa precisão extrema, o Float 32, é útil na fase de treinamento, quando o modelo está ajustando minúcias, aprendendo os micro detalhes das imagens. Mas fazer cálculos com números tão longos exige muito, mas muito processador e memória na hora do uso real. Gasta energia à toa, né? Muita energia.
Então, a quantização pega-se os números superprecisos e simplesmente arredonda para números inteiros muito mais curtos, que são o int 8. Em vez de 3 vírgula, algo enorme, ele simplesmente usa o 3. E funciona.
Funciona incrivelmente bem. O modelo processa informação muito mais rápido, gastando quase nada de bateria, e a perda de precisão na detecção final é quase imperceptível para a esmagadora maioria das tarefas de visão. Fantástico.
É como se livrar do excesso de casas decimais para acelerar a conta de cabeça. Já a poda, ou pruning, parece ser muito mais agressiva. Ela corta fora partes da própria arquitetura da IA. Pode ser eliminando conexões fracas entre os neurônios artificiais ou estirpando neurônios e camadas inteiras da rede neural. É uma cirurgia mesmo.
É, se voltarmos àquele drone rodando sobre o Smart Campus para detectar áreas verdes, a poda arranca todo o excesso da rede neural embarcada nele. Mas, vem cá, me tira uma dúvida. Se eu pego a inteligência da máquina e começo a arredondar a matemática dela com a quantização e a amputar partes das conexões com a poda,
A máquina não fica menos inteligente? É como tentar resumir um livro de 500 páginas em 50 páginas e ainda esperar que a pessoa entenda todos os detalhes da história. É uma preocupação válida. A princípio, a intuição diria que sim, ela ficaria mais burra.
Mas se conectarmos isso ao panorama geral do treinamento, a dinâmica de aprendizado das redes neurais esconde um segredo muito interessante. Qual? Para aprender bem lá no início, a rede precisa de muita redundância. Ela precisa criar milhares de caminhos diferentes para conseguir encontrar a melhor solução para um problema visual complexo. Mas depois que ela aprende e o treinamento termina, grande parte dessas conexões se torna relevante.
Ficam sobrando. Exato. É como se a rede desenvolvesse uma estrada principal super eficiente e asfaltada, enquanto centenas de ruas secundárias e desvios deixam ser usados. O que a poda faz é simplesmente desativar essas ruas secundárias que não contribuem mais para o resultado final.
Ah, então não tem perda de informação essencial. Não. Não estamos removendo a inteligência, sabe? Estamos removendo o peso morto. A máquina continua resolvendo o problema, reconhecendo o incêndio ou a folha doente, só que agora com uma eficiência super elegante, cabendo em sensores baratos de internet das coisas que funcionam com uma bateria minúscula. Então, olha só o caminho. Nós finalmente encolhemos a IA.
Temos sistemas eficientes, baratos e contextuais embutidos em tudo, nas câmaras das ruas, nos hospitais, nos celulares e nas portarias dos prédios comerciais, o que nos joga de cabeça no último e mais urgente problema abordado nesse estudo.
A ética, né? A ética e a vigilância. Como nós, enquanto sociedade, vamos auditar as decisões dessas máquinas? Porque se um modelo de IA toma decisões sobre quem pode entrar num prédio, quem deve ser contratado, ou pior, quem é suspeito de um crime em uma Câmara de Vigilância da Polícia, falhas não são mais apenas bugs interessantes de computador. São violações diretas de direitos civis.
Com certeza. Quando saímos da bancada do laboratório e entramos no mundo real, a tecnologia bate de frente com a legislação civil, como a nossa Lei Geral de Proteção de Dados, a LGPD. Que é bem rigorosa. Muito. Coletar e processar imagens de pessoas sem consentimento claro é ilegal. Além disso, existe o grave problema do viés embutido.
Se você treina um sistema de reconhecimento facial predominantemente com fotos de um único grupo demográfico, o modelo terá taxas de falha altíssimas e absurdas ao analisar minorias. O que já aconteceu. Sim. E não estamos falando de falhas hipotéticas num artigo acadêmico. Existem casos reais documentados de prisões injustas baseadas em alarmes falsos de visão computacional mal treinada.
Do ponto de vista da engenharia de software atual, um viés ético no dataset não é só um problema moral. Ele resulta diretamente em um sistema tecnicamente quebrado. É assustador pensar que um modelo pode negar a entrada de alguém num prédio ou emitir um mandado e a gente não saber porquê. Mas como os auditores podem provar que a máquina foi enviesada se a rede neural é uma caixa preta indecifrável de milhões de cálculos arredondados?
Isso levanta uma questão importante, que é o campo da IA explicável. Isso. Precisamos forçar o modelo a justificar por que ele tomou uma decisão específica. E os pesquisadores criaram ferramentas como o LIME, que altera pequenas partes da imagem original várias vezes só para observar como o comportamento da máquina reage.
Mas o método que eu acho absolutamente genial para quem olha de fora e precisa entender isso visualmente é o GradCam. Essas ferramentas, como o GradCam, são basicamente um detector de mentiras para IA, certo? É bem por aí. O GradCam, ele cria um mapa de calor em cima da imagem original. Esse mapa revela exatamente para onde os olhos, entre aspas, da rede neural estavam apontando quando ela tomou aquela decisão. Ele pinta a tela mesmo.
Se um modelo agrícola acerta que uma planta está doente, o Gradicam mostra em vermelho, vivo, a parte exata da folha danificada em que a máquina focou. Ele vai ali do raciocínio. A gente consegue ver se ela acertou pelo motivo certo. E tem aquele caso clássico nas fontes para demonstrar o viés, que é sensacional. Pesquisadores tentaram treinar uma máquina para distinguir lobos selvagens de cães domésticos. O sistema estava acertando quase tudo.
Parecia um sucesso absoluto. Parecia. Até que eles rodaram um mapa de calor em cima da imagem do lobo para ver como a máquina era tão esperta. E o que a máquina estava olhando? Não eram as orelhas do lobo. Não era o focinho dele. O mapa de calor iluminou a neve e as árvores no fundo da imagem.
O contexto ao redor. A máquina era preguiçosa. Ela não aprendeu a anatomia de um lobo. Ela simplesmente deduziu estatisticamente, tipo, bem, nos dados de treino, se tem árvore e neve no fundo, eu chamo de lobo, se tem grama de quintal, eu chamo de cachorro.
E é exatamente por isso que essas ferramentas de ar explicável são indispensáveis hoje. Elas funcionam como uma auditoria técnica. Sem saber que o modelo estava usando um atalho matemático equivocado, como a neve no fundo da foto, os desenvolvedores teriam colocado um sistema completamente inútil no mercado. A transparência garante que o aprendizado foi sobre causalidade, e não uma correlação estatística vazia e totalmente acidental.
Sensacional. Isso amarra todo o nosso percurso de hoje com perfeição. Quem está ouvindo agora com a gente tem a clareza de que essa tecnologia deixou de ser apenas sobre capturar luz, como uma câmera fotográfica antiga. Nós exploramos juntos o desafio monumental de lidar com o caos dos pixels nas CNNs. Entendemos porque um ruído invisível destrói o reconhecimento de um urso panda.
Passamos pela incrível integração de texto e imagem, que permite a modelos multimodais pintarem quadros inéditos a partir de uma frase.
Vimos a redução de tamanho também. Bem lembrado. Vimos como os engenheiros encolhem essas redes com a quantização e a poda para caber num drone. E, fundamentalmente, como usamos mapas de calor para evitar que essas inteligências repliquem falhas lógicas ou preconceitos sociais. As câmeras ao nosso redor já não gravam de forma passiva. Elas estão o tempo todo inferindo, cortando, processando e interpretando a nossa realidade.
já é um ecossistema vivo de análise. E bom, para encerrar essa nossa análise de hoje, eu quero deixar uma provocação final sobre essas pesquisas do professor Ivo, algo para a nossa audiência pensar quando cruzar com a próxima câmera de rua por aí. Nós vimos hoje que máquinas ultra-avançadas que calculam milhões de dados por segundo podem ser totalmente iludidas por um chiado digital que nós não vemos.
O famoso ataque adversário. Isso. E vimos também que foi preciso criar mapas de calor para servirem como auditores, para podermos confiar nas conclusões das máquinas. A grande pergunta que fica é a seguinte. Em um futuro imediato, completamente saturado por vídeos falsos e imagens hiperrealistas, geradas por IAs generativas,
Até que ponto nós humanos também não passaremos a depender dessas mesmas ferramentas matemáticas para conseguirmos confiar nos nossos próprios olhos biológicos? Será que a visão computacional começou imitando a maravilha da nossa visão humana, mas vai acabar servindo para expor e corrigir as falhas da nossa própria percepção da realidade? Pensem nisso. Até a próxima!