Episódios de Inteligência Artificial

10_IA_EAD_Como_o_neurônio_artificial_realmente_aprende_audio

01 de maio de 202613min
0:00 / 13:58

10_IA_EAD_Como_o_neurônio_artificial_realmente_aprende_audio

Assuntos7
  • Arquitetura Feed Forward e BackpropagationConceito de Feed Forward (propagação para frente) · Backpropagation (retropropagação do erro) · Analogia da revisão de trajeto para explicar backpropagation
  • Tecnologia Transformer e redes neuraisFunção degrau e seu problema com derivadas · Funções sigmoide e tangente hiperbólica (TAN) · Função ReLU (Rectified Linear Unit) e suas vantagens · Problema do desaparecimento do gradiente · Função Soft Plus e neurônios mortos
  • Inteligência ArtificialO neurônio artificial como modelo matemático simplificado · Aprendizado de máquina como otimização contínua · Mecânica de tentativa, erro e correção
  • Neurônios, Axônios e DendritosDendritos como canais de entrada de dados (variáveis independentes) · Pesos (W) simulando a força sináptica · Bias (B) como limiar de ativação · Analogia da festa para explicar os componentes
  • Limitações da IAFronteira de decisão linear e suas limitações · O problema do OU exclusivo (XOR) · Conexão de múltiplos neurônios para criar o MLP
  • Origem do PerceptronFrank Rosenblatt e a modelagem da retina humana · O Perceptron original como máquina física · Raízes biológicas da arquitetura de IA
  • Interpretação de Redes Neurais e OverfittingInspeção de pesos com heatmaps · Identificação de conexões inibidoras e ativadoras · Overfitting e especialização excessiva · Transfer learning e picos de probabilidade
Transcrição37 segmentoswhispermlx/large-v3-turbo

Bom, em 1957, o Laboratório de Aeronáutica de Cornell não estava, sabe, tentando construir uma ferramenta corporativa de software. Definitivamente não. Pois é. O Frank Rosenblatt, que aliás era um psicólogo e não um engenheiro da computação, ele estava fascinado pela visão. Ele queria modelar matematicamente a retina humana. Uma ambição, entanto, para a época.

Muito. E o resultado desse experimento foi o Perception original. Era uma máquina física mesmo, um emaranhado de fios, potenciômetros que ajustavam resistências elétricas para simular o que a gente chama hoje de pesos.

É louco pensar nisso, né? Total. E toda essa infraestrutura gigantesca de inteligência artificial de hoje, que analisa dados financeiros e dirige carro sozinha, tem suas raízes primordiais aí, num experimento de psicologia sobre como o cérebro processa imagens. E essa origem biológica, ela dita toda a arquitetura básica que a gente usa até hoje.

O objetivo nunca foi programar regras explícitas. Certo. A ideia era criar um modelo matemático simplificado de um neurônio biológico que fosse capaz de aprender padrões. O aprendizado de máquina, na sua essência mais pura, é só um problema de otimização contínua. Não tem uma varinha mágica ali dentro, né? Nenhuma.

Não existe um cérebro digital consciente. O que existe é uma função matemática que calcula uma previsão, vê o tamanho do erro dessa previsão e ajusta os parâmetros internos ali milimetricamente. Para que na próxima tentativa o erro seja menor. Exato! Entender essa mecânica de tentativa, cálculo de erro e correção de rota, olha, muda completamente a forma como a gente enxerga a tecnologia ao nosso redor.

Ok, vamos desempacotar isso então, porque a nossa missão hoje é justamente desmistificar como essas máquinas aprendem na prática, sem jargões. Começando pelo bloco de construção fundamental, o neurônio artificial único, o Perceptron.

Perfeito. Se a gente for uma piabiologia para álgebra linear, temos os dendritos do neurônio. Eles atuam como terminais de recepção, os canais de entrada de dados. Que na matemática seriam as variáveis independentes, os nossos x1, x2 e por aí vai. Isso. E cada entrada dessas é multiplicada por um peso específico, o W. Esse peso simula a força da sinapse biológica. E então o corpo do neurônio faz uma soma ponderada de tudo isso.

Mas tem um elemento extra nessa equação que sempre dá um nó na cabeça da galera, que é o bias, ou viés, representado pela letra B. Ah, o bias é absolutamente fundamental para a flexibilidade do modelo. Se a gente tivesse só a multiplicação das entradas pelos pesos, a equação linear ia ser obrigada a cruzar o ponto zero do gráfico.

O que limitaria muito, né? Demais. Restringiria severamente os padrões que a rede consegue separar. O bias funciona como um limiar de ativação independente. Ele permite que a reta de decisão seja deslocada para qualquer lado. É um ajuste livre. Isso, um offset. É um valor que o neurônio adiciona a soma antes de passar o resultado para frente, garantindo que o modelo se ajuste mesmo se todas as entradas forem zero.

Para quem nos ouve, imagina que há como decidir ir ou não a uma festa.

Adoro essa analogia. Cada fator, tipo, vai chofer, os amigos vão, eu tô cansado. Cada fator é uma entrada, um X. A importância que damos a cada fator é o peso, o W. Aham. E o bias, o nosso B, é o nosso humor base daquele dia. Se eu já acordei de mau humor, o bias é negativo. Se a soma de tudo ultrapassar nosso limite, a gente toma a decisão de ir pra festa.

O que é fascinante aqui é que o treinamento desse neurônio consiste justamente em ajustar esses pesos de acordo com o erro. É pura matemática aplicada à tomada de decisão.

Mas a soma linear não é a resposta final, certo? Se a soma linear é a balança, a função de ativação é o juiz que bate o martelo. Como esse juiz decide o que passa pelo axônio do neurônio? Boa pergunta. O perceptron original usava uma função degrau simples. Maior que zero, a saída é um. Menor, zero. Mas para os modelos modernos, isso é um desastre matemático na hora de treinar.

por causa das derivadas, né? Exatamente. A função degrau tem uma derivada zero em quase toda a extensão. E como os algoritmos modernos usam derivadas para saber para onde ajustar os pesos, derivada zero significa que o aprendizado simplesmente para. A máquina trava. Trava. É por isso que funções contínuas e suaves assumiram o controle. A função logística, também chamada de sigmoide, e a tangente hiperbólica, a TAM.

Elas espremem o valor num intervalo bonitinho, tipo entre 0 e 1? Isso. Elas são ótimas para camadas de saída, como classificadoras. Mas para as camadas ocultas dentro das redes profundas de Deep Learning, a queridinha absoluta é a função Relu, a Rectified Linear Unit. Que é bizarramente simples. Lendo no material, a Relu só retorna o valor máximo entre 0 e o próprio número.

Tipo, valor negativo vira zero, valor positivo fica igual. É de uma simplicidade genial, né? Sim, mas por que algo tão bobo virou o padrão ouro? Porque ela resolve o famoso problema do desaparecimento do gradiente. Com a sigmoide em redes muito profundas, a derivada é sempre uma fração pequena. Multiplicando isso dezenas de vezes para trás, o sinal chega perto de zero nas primeiras camadas. E os pesos não se movem.

Exato. A Relo tem derivada constante igual a 1 para qualquer entrada positiva. O sinal flui robusto. Mas, claro, tem a Soft Plus também, que é parecida com a Relo, só que diferenciável no zero, mais suave para evitar o que chamamos de neurônios mortos. Interessante. E um detalhe do nosso material, nunca se deve usar o Relo na camada de saída, né?

Nunca. Para a probabilidade final, precisamos da sigmoide. Bom, vamos visualizar isso? O material traz aquele clássico dataset da flor Iris no Scikit Learning, onde um percepton é treinado com, sei lá, um máximo de mil iterações para separar as classes cetosa e versicolor usando o tamanho das sépalas.

Sim, e o resultado é uma matriz de confusão perfeitinha e uma fronteira de decisão visível no gráfico. Só que aí eu te pergunto, se a fronteira de decisão de um perceptron simples é só uma linha reta cortando o gráfico, isso não o torna incrivelmente limitado para o mundo real? Porque o mundo não pode ser dividido por uma linha reta perfeita?

Com toda certeza. Se conectarmos isso a uma visão mais ampla, foi exatamente essa limitação que causou o primeiro grande inverno da IA lá nos anos 70. É verdade. Eles provaram que um perceptron não resolvia nem o problema do OU exclusivo, a porta XOR, porque os dados não são linearmente separáveis. A solução lógica foi conectar vários neurones em equipe.

Criando Multilayer Perceptron, o famoso MLP. Subindo de nível. Como funciona essa arquitetura em equipe? Conceito de Feed Forward.

Ou seja, só vai para frente. E estritamente para frente. Sem ciclos, sem loops de realimentação durante a propagação das ativações. É uma rota de mão única. Aqui é onde a coisa fica realmente interessante. Porque, pensa comigo, se os dados só vão para frente, como a rede percebe que errou lá no final e avisa os neurônios lá do começo para mudarem de atipude? Essa é a ponte perfeita para o conceito mais importante da EA moderna, o backpropagation.

Retropropagação do erro. Como se fosse a mágica do aprendizado. É quase isso. Uma metáfora brilhante do material descreve o feedforward como dirigir do ponto A ao ponto B numa estrada. O backpropagation é revisar o trajeto depois que você chega, ver onde errou e ajustar o mapa. Você não dirige de ré. Usa a regra da cadeia para ajustar os pesos de trás para frente para a próxima viagem. E para fazer isso rápido, usamos os otimizadores.

Como o SGD, o gradiente descendente estocástico que usa minibets para acelerar. Isso. E o mais famoso hoje, o ADAM, que combina momentum para não ficar preso em mínimos locais e uma taxa de aprendizado adaptativa. Então o ADAM é tipo um motorista muito experiente que acelera rápido no início da viagem, porque a estrada está livre, mas começa a fazer ajustes finos e delicados no volante quando entra em ruas estreitas. Tudo automático.

Exatamente. Ele aprende rápido no começo e refina com passos menores depois. Ele dá uma taxa de aprendizado específica para cada peso. Ah, e o material também cita o LBFGS. LBFGS. Sopa de letrinhas. L é excelente e mais rápido, mas focado em conjuntos de dados pequenos. Ok, entendemos como aprende. Mas depois de treinada, abrimos a caixa preta. Como a gente sabe o que passa na cabeça da máquina?

Olhando os pesos, certo? Sim, inspecionando os pesos com heatmaps, os mapos de calor. A cor diz muito. Azul escuro é o quê? É uma conexão inibidora forte, peso negativo. Vermelho intenso é conexão ativadora forte, peso positivo. E branco ou cinza é neutro. E se tiver um quadradinho com uma cor mega extrema e o resto apagado?

Sinal de alerta total. Provável overfitting. A rede viciou em uma característica minúscula e ignorou o resto. Especialização excessiva. E não é só adivinhar a classe. O predict-proba do psychic-learn dá a probabilidade matemática daquela decisão. Mas por que alguém precisa olhar para um mar de quadradinhos azuis e vermelhos num heatmap? Por que não apenas confiar na resposta final da máquina?

Isso levanta uma questão importante, o perigo das caixas pretas na IA. Os hitmaps mostram se a rede está usando redundâncias ou informações irrelevantes para decidir. Faz sentido.

E inspecionar os pesos é a base do transfer learning. Permite entender exatamente quais características influenciam as decisões, observando picos bem definidos nas probabilidades perto de 0 ou 1, para ver a confiança real do modelo. E no dia a dia para evitar o cansaço do modelo e o overfitting contínuo? Como treinar sem destruir o computador?

A diferença entre o método FIT e o Partial FIT no SiteKit Learn é crucial aí. O FIT recomeça do zero, né? Joga tudo fora e começa de novo. Já o Partial FIT permite o aprendizado contínuo e incremental. Processa em mini-batches.

O que deve ser ideal para volumes gigantescos tipo monitorar redes sociais em tempo real. Sem dúvida. Mas tem um problema. O partial fit não suporta early stopping, a parada antecipada. Então você precisa acompanhar a curva de aprendizado de perto, olhando a perda e a curaça de treino e validação para combater o overfitting.

Para frear isso, o material fala da regularização L2, certo? Isso, com o parâmetro alfa variando, digamos, de 10⁻⁶ até 1. O L2 simplesmente penaliza pesos que tentam ficar muito altos, forçando a rede a distribuir a informação. E vale notar que para coisas mais complexas, como dropout ou regularização L1, a gente precisaria pular do Scikit-Learn para um PyTorch ou TensorFlow.

Então, o que tudo isso significa? Que treinar uma IA não é um passe de mágica que acontece de uma vez. É um monitoramento cirúrgico de curvas aplicando punições sutis, tipo a regularização L2. Aham. Tudo isso para garantir que a rede não memorize os dados, mas aprenda a lógica por trás deles. Perfeito. Para amarrar tudo o que vimos para a nossa audiência hoje. Saímos de uma equação simples inventada por um psicólogo na década de 50, o Perceptron, e fomos até as múltiplas camadas do MLP.

Uma evolução e tanto. Entendemos que os dados viajam para frente, mas o aprendizado e os otimizadores, como o Adam, ajustam os erros de trás para frente. Vimos a importância de olhar os pesos e de treinar a máquina de forma contínua e regulada. É a base do que chamamos de IA hoje.

E construindo em cima de todas essas fontes que analisamos hoje, fica uma reflexão profunda. Toda essa arquitetura, com seus otimizadores e backpropagation, é incrivelmente eficiente em minimizar a diferença entre a previsão e a resposta correta que nós fornecemos no treinamento.

Sim, ela otimiza implacavelmente. Se os dados de treinamento que nós, humanos, fornecemos à máquina estiverem cheios dos nossos próprios preconceitos históricos e sociais. Nossa! A máquina não julga a moralidade do dado. Ela apenas otimiza pesos matemáticos. Será que estamos construindo sistemas infalíveis apenas para replicar em altíssima velocidade as nossas mais profundas falhas humanas?

um pensamento provocativo e absolutamente necessário. O algoritmo não tem ética, ele só tem matemática. O conhecimento é sempre a nossa melhor ferramenta para não nos afogarmos em informações. Até a nossa próxima exploração.