Há um fenômeno estudado em teoria das redes chamado cascada informacional [1]. Essa cascada se inicia quando mais e mais pessoas, racionalmente, prestam cada vez mais atenção aos sinais informativos transmitidos pelas declarações e ações de outros. Como resultado, amplificamos o volume dos próprios sinais aos quais fomos inicialmente expostos e posteriormente influenciados. Movimentos sociais de vários tipos, incluindo modismos, tendências e rebeliões (e.g., Beatlemania, Primavera Árabe, #MeToo e BBB) podem ser entendidos como um produto dos efeitos da cascada informacional.
Neste exato momento, há uma cascada informacional acontecendo no meio da Inteligência Artificial, mais especificamente com quem trabalha com redes neurais, como eu. O nome da nossa “Beatlemania” se chama Transformers. Para iniciar a explicação do que se trata e do seu impacto, imagine que você precise comprar um martelo para ter em casa. Ao entrar em uma loja de ferragens, você dá de cara com um novo tipo de martelo, verdadeiramente revolucionário. Ele não apenas bate mais rápido e com mais precisão do que os outros martelos, mas possui características que podem tornar seus concorrentes obsoletos, pelo menos para a maioria dos usos que fazemos dos martelos. Com alguns ajustes – um acessório aqui, uma torção ali – o nosso martelo revolucionário se transforma em uma serra que pode cortar pelo menos com a mesma rapidez e precisão que qualquer outra opção disponível. Alguns especialistas em ferramentas dizem inclusive que esse martelo pode ser o início da convergência de todas as ferramentas (chave de fendas, furadeira, alicate, etc.) em um único dispositivo. Bom, é mais ou menos isso que está rolando com as redes neurais artificiais.
Mas, vamos começar pelo início. Em 2017 foi publicado um paper com ares Beatlenianos chamado “Attention Is All You Need” [2], que trazia um novo modelo de rede neural focado em Processamento de Linguagem Natural, o já citado Transformer. Se em outras abordagens de IA, como as redes neurais convolucionais, o modelo se concentra primeiro em pequenos pedaços locais dos dados de entrada para depois construir o todo – no processamento de linguagem natural, por exemplo, as palavras próximas seriam primeiro agrupadas – na abordagem propiciada pelo Transformer, o processo é executado de uma vez. Nele, cada elemento dos dados de entrada é conectado e estimulado a prestar atenção a todos os outros elementos. Isto é chamado de “auto-atenção” e significa que, assim que iniciamos a fase de treinamento (onde são ajustados os pesos das conexões), o modelo Transformer pode ver traços de todo o conjunto de dados. Como resultado, foi possível treinar um modelo de processamento de linguagem natural com centenas de bilhões de palavras e fazer a máquina “escrever” um novo texto consistente e, de certa maneira criativo, em um grau inquietante. Se você já ouviu falar do GPT-3 (Generative Pre-Training Transformer 3), da OpenAi, sabe a que me refiro. Como exemplo, comecei um texto (Fig.1) completado pela máquina (Fig. 2 – parte realçada em verde).
Só para reforçar o esforço cognitivo feito pelo GPT-3, comecei o texto dizendo que queria um sorvete e no meio do caminho mudei para um tipo específico de refrigerante. A máquina não apenas entendeu o contexto, mas evoluiu a narrativa a partir dele. Aliás, quem tiver interesse em trabalhar com o GPT-3, basta logar na API disponibilizada pela OpenAi. Se por acaso testarem com o mesmo texto, é importante ter em mente que o complemento da máquina poderá ser diferente do que obtive. Isto acontece porque a API é estocástica por natureza, o que significa que se pode obter um complemento diferente toda vez que se chama a IA.
O sucesso dos Transformers (muito puxado pelo GPT-3), “colocou minhoca” em muitas cabeças e começamos a nos perguntar o que mais eles poderiam fazer. A resposta que está se revelando é que eles podem ser surpreendentemente versáteis. Em algumas tarefas de visão, como classificação de imagens, as redes neurais que usam Transformers se tornaram mais rápidas e precisas do que aquelas que não usam. Trabalhos atuais em outras áreas de IA – como processar vários tipos de entrada de uma só vez ou planejar tarefas – sugerem que eles podem lidar com ainda mais coisas.
Uma das aplicações mais promissoras é em visão computacional. Em um paper de 2021, foi apresentada uma nova rede neural focada em melhorar a forma como os computadores enxergam, a Vision Transformer ou ViT [3]. A arquitetura do modelo é quase idêntica à do primeiro Transformer proposto em 2017 [2], com apenas algumas pequenas alterações que o permite analisar imagens em vez de palavras. Aqui vale uma explicação adicional. Durante anos, as redes neurais convolucionais impulsionaram se não todos, a grande maioria dos avanços em deep learning e se tornaram o estado-da-arte em visão computacional. Já as expliquei no texto “Visão computacional na era do deep learning”, mas vale recordar que elas funcionam aplicando repetidamente filtros aos pixels de uma imagem para construir o reconhecimento das suas características. É por causa das convoluções que os aplicativos de fotos podem organizar sua biblioteca por rostos ou diferenciar uma laranja de um poste. As redes neurais convolucionais eram consideradas indispensáveis para tarefas de visão. Não mais. Explico o porquê.
Um dos grandes desafios no campo do deep learning era ampliar as redes neurais convolucionais para poderem ser treinadas em conjuntos de dados cada vez maiores, sem sobrecarregar o tempo de processamento. Vocês não imaginam o drama que é treinar uma CNN (como chamamos a redes neurais convolucionais) usando imagens de altíssima resolução, já destruí alguns HDs no processo. A ideia por trás do ViT não é imitar exatamente a abordagem do Transformer para linguagem natural, já que promover a auto-atenção para cada pixel seria proibitivamente cara em tempo de computação. Em vez disso, o modelo divide a imagem maior em unidades quadradas, chamadas de tokens. O tamanho é arbitrário, pois os tokens podem ser maiores ou menores dependendo da resolução da imagem original (o padrão é 16 pixels de lado). Mas, processando pixels em grupos e aplicando a auto-atenção a cada um, o ViT pode passar rapidamente por enormes conjuntos de dados de treinamento, “cuspindo” classificações com mais de 90% de precisão. Resultados adicionais reforçam essa convicção. Costumamos testar rotineiramente os modelos para classificação de imagens no banco de dados ImageNet e, em março de 2022, uma versão atualizada do ViT estava em primeiro lugar. A vice-campeã era uma abordagem mais recente que combinava CNNs com Transformers (ver Fig 3 – capturada em 14/03). CNNs comuns, campeãs de longa data, nem chegaram ao top 20, ficaram na posição 25 (Fig 4 – capturada em 14/03).
Os resultados no ImageNet mostram que os Transformers mais do que competem com as CNNs (na verdade, vencem de forma humilhante). Mas será que veem imagens de forma semelhante? Um paper de 2022 [4] descobriu que nem isso acontece. Aqui vale outra explicação adicional, as redes neurais são conhecidas por serem caixas pretas indecifráveis, mas a verdade é que existem maneiras de espiar lá dentro, como examinar a entrada e a saída da rede, camada por camada, para ver como os dados de treinamento fluem. E foi exatamente o que os autores do paper fizeram. Com isso, conseguiram identificar maneiras pelas quais a auto-atenção leva a uma forma diferente de percepção dentro do algoritmo. Em última análise, o poder de um Transformer vem da maneira como ele processa os dados codificados de uma imagem. Enquanto uma CNN reconhece uma imagem pixel por pixel, identificando características como cantos ou linhas e constrói seu caminho do local para o global, os Transformers usam a auto-atenção, mesmo na primeira camada de processamento de informações, para fazer conexões entre locais distantes da imagem (assim como na versão para processamento de linguagem natural). Se a abordagem de uma CNN é similar a começar em um único pixel e diminuir o zoom, um Transformer coloca lentamente toda a imagem difusa em foco.
Essa diferença é mais simples de entender no domínio da linguagem (não foi à toa que os Transformers começaram por aqui). Considere as frases: “A coruja avistou um esquilo. Ela tentou agarrá-lo com suas garras, mas só conseguiu o final da sua cauda.” A estrutura da segunda frase é confusa para uma máquina: a que se refere o termo “sua”? Uma CNN que se concentra apenas nas palavras imediatamente ao redor do termo “sua” teria dificuldades (estaria se referindo ao verbo suar?), mas um Transformer, conectando cada palavra a cada outra palavra consegue discernir que a coruja agarrou e o esquilo perdeu parte da sua cauda.
Confesso que agora que ficou claro para mim que os Transformers processam imagens de maneira fundamentalmente diferente das redes neurais convolucionais, fiquei mais empolgado do que já estava (efeito da cascada informacional). A capacidade do Transformer em converter dados de uma string unidimensional, como uma frase, em uma matriz bidimensional, como uma imagem, sugere que esse modelo poderia lidar com dados de outros tipos. E é o que indica outro paper [5].
Nele, é possível perceber que o Transformer pode ser um grande passo para alcançar um tipo de convergência de arquiteturas de redes neurais, resultando em uma abordagem universal da visão computacional – e talvez de outras tarefas de IA. Os autores combinaram dois modelos de Transformers para serem treinados usando os rostos de mais de 200.000 celebridades. Esse modelo duplo (chamado de TransGAN) conseguiu sintetizar novas imagens faciais com uma resolução moderada. As celebridades inventadas são impressionantemente realistas (ver Fig. 5) e pelo menos tão convincentes quanto as criadas pelas CNNs (ver Fig. 6), de acordo com o inception score encontrado (é uma métrica padrão para avaliar imagens geradas por uma rede neural) [7]. Visualmente, é possível perceber um leve melhor detalhamento do rosto sintetizado pela CNN. No entanto, o modelo parece ter ainda dificuldades em entender o conceito de acessórios, como óculos, como mostra a Fig. 7. Os considera “parte” do rosto.
Podemos também ver na prática a importância de considerações éticas e o impacto de danos potenciais, algo que comentei nos textos “Notas sobre estudos em IA e cognição” e “Algoritmo ético”. Possivelmente o banco de imagens usado para treinar o modelo era constituído, na sua grande maioria, por imagens de celebridades caucasianas. Certamente haverá dificuldades em aplicá-lo a rostos de outras etnias.
Os Transformers também estão sendo testados em modelos multimodais, que podem lidar simultaneamente com tipos diferentes de dados como áudio, vídeo e imagens. O paper [6] nos mostra que redes multimodais podem alimentar um sistema que lê os lábios de uma pessoa além de ouvir sua voz. Assim, poderíamos construir máquinas com uma representação mais rica de informações de linguagem e imagem. Novamente, é importante levar em consideração os impactos éticos de tal sistema, como por exemplo, advindos da aplicação em câmeras de vigilância.
Além dos trabalhos já citados, outros domínios da IA também estão experimentando com a abordagem. É possível vê-la aplicada para ensinar robôs a reconhecer os movimentos do corpo humano [8], treinar máquinas para discernir emoções na fala [9] e detectar níveis de estresse em eletrocardiogramas [10]. Também ganhou uma publicação na Nature, com o AlphaFold [11], que consegue prever rapidamente estruturas de proteínas – uma tarefa que costumava exigir uma década ou mais de análise intensiva.
Como “não existe almoço grátis”, mesmo que os Transformers possam ajudar a unir e melhorar as ferramentas de IA, tecnologias emergentes geralmente têm um custo alto de aplicação. No nosso caso, um Transformer requer um gasto muito maior de processamento computacional na fase de pré-treinamento, antes que possa superar a precisão dos seus concorrentes convencionais (como a CNN). Isso é um problemão. Como comentei, o treinamento de imagens de altíssima resolução é muito dispendioso. Há trabalhos futuros que pretendem minimizar o esforço computacional dos Transformers com filtros (mas isso também pode ser implementado em CNNs). O que espero pessoalmente é que o tempo de treinamento de um Transformer seja muito reduzido em comparação com uma CNN convencional. Com isso, posso forçar menos os meus processadores e proteger os meus HDs de superaquecimento, possivelmente usando os modelos híbridos de Transformers e CNNs. Ferramentas de IAs estão, cada vez mais, se tornando acessíveis para uso e implementação, mesmo por quem não conhece uma linha de código. Isto as torna mais democráticas, mas também aumenta a responsabilidade de quem pesquisa e desenvolve IA. Pode ser que em pouco tempo, quando alguém entrar em uma “loja de ferragens” para IAs, encontre por lá aquele tal martelo do qual falei no início do texto. Quem sabe?
Referências
[1] Bikhchandani, S.; Hirshleifer, D.; Welch, I. (1992). “A Theory of Fads, Fashion, Custom, and Cultural Change as Informational Cascades”. Journal of Political Economy. 100 (5): 992–1026.
[2] Vaswani, Ashish; Shazeer, Noam; Parmar, Niki; Uszkoreit, Jakob; Jones, Llion; Gomez, Aidan N; Kaiser, Lukasz; Polosukhin, Illia. (2017). “Attention Is All You Need”. arXiv:1706.03762 [cs]. arXiv.org, http://arxiv.org/abs/1706.03762.
[3] Dosovitskiy, Alexey, et al. (2021). “An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale”. arXiv:2010.11929 [cs]. arXiv.org, http://arxiv.org/abs/2010.11929.
[4] Raghu, Maithra, et al. (2022). “Do Vision Transformers See Like Convolutional Neural Networks?” arXiv:2108.08810 [cs, stat]. arXiv.org, http://arxiv.org/abs/2108.08810.
[5] Jiang, Yifan; Chang, Shiyu; Wang, Zhangyang. (2021). “TransGAN: Two Pure Transformers Can Make One Strong GAN, and That Can Scale Up”. arXiv:2102.07074 [cs]. arXiv.org, http://arxiv.org/abs/2102.07074.
[6] Akbari, Hassan; Yuan, Liangzhe; Qian, Rui; Chuang, Wei-Hong; Chang, Shih-Fu; Cui, Yin; Gong, Boqing. (2021). “VATT: Transformers for Multimodal Self-Supervised Learning from Raw Video, Audio and Text”. arXiv:2104.11178 [cs, eess]. arXiv.org, http://arxiv.org/abs/2104.11178.
[7] Shane, Barratt; Sharma, Rishi. (2018). “A Note on the Inception Score”. arXiv:1801.01973 [cs, stat]. arXiv.org, http://arxiv.org/abs/1801.01973.
[8] Peng, Kunyu; Roitberg, Alina; Yang, Kailun; Zhang, Jiaming; Stiefelhagen, Rainer . (2022). “ProFormer: Learning Data-efficient Representations of Body Movement with Prototype-based Feature Augmentation and Visual Transformers”. arXiv:2202.11423 [cs]. arXiv.org, http://arxiv.org/abs/2202.11423.
[9] Padi, Sarala; Sadjadi, Seyed Omid; Manocha, Dinesh; Sriram, Ram D. (2022). “Multimodal Emotion Recognition using Transfer Learning from Speaker Recognition and BERT-based models”. arXiv:2202.08974 [cs, eess]. arXiv.org, http://arxiv.org/abs/2202.08974.
[10] Behinaein, Behnam; Bhatti, Anubhav; Rodenburg, Dirk; Hungler, Paul; Etemadl, Ali. (2021). “A Transformer Architecture for Stress Detection from ECG”. 2021 International Symposium on Wearable Computers, p. 132–34. arXiv.org, https://doi.org/10.1145/3460421.3480427.
[11] Jumper, J., Evans, R., Pritzel, A. et al. (2021). “Highly accurate protein structure prediction with AlphaFold”. Nature 596, 583–589 . https://doi.org/10.1038/s41586-021-03819-2