Inteligência Artificial sem Mistério

Dos conceitos básicos aos modelos generativos

Quem sou eu

Lucas de Oliveira Teixeira

Chief data scientist
Professor/pesquisador universitário

🎓 Formação · UEM · Ciência da Computação
2011Graduação
2014Mestrado
2025Doutorado

Trajetória

📚 Ensino
Uningá: professor  2013–2017
Unifamma: projetos pedagógicos de Sistemas de Informação e Engenharia de Software  2015–2016
UEM: professor temporário  2017–2021 · pausa para o doutorado · 2025–atual
🔬 Ciência de dados
SporeData: ML e ciência de dados aplicada para pesquisa clínica e saúde 2014–2021 · pausa para o doutorado · 2025–atual

O que vamos construir hoje

🚀 Jornada progressiva
De modelos simples a modelos complexos
Cada conceito constrói sobre o anterior
7 demos interativas ao vivo
Foco na intuição, não na matemática pesada
🧭 Formato
Slides + código + demos ao vivo
Perguntas a qualquer momento!
As demos ficam disponíveis para explorar depois

Nossa jornada

1
Fundamentos
2
Modelos Lineares
3
ML Clássico
4
Redes Neurais
5
CNNs
6
NLP & Embeddings
7
Transformers & LLMs

Módulo 1

Fundamentos

O que é IA · História · Tipos de Aprendizado · Anatomia de um problema de ML

O que é Inteligência Artificial?

“A ciência e engenharia de construir máquinas inteligentes”

John McCarthy, 1956

Na prática: sistemas computacionais que realizam tarefas que normalmente exigiriam inteligência humana, reconhecer padrões, entender linguagem, tomar decisões.

1950-1970: O Nascimento

  • 1950: Alan Turing propõe o “Teste de Turing”
    • “Máquinas podem pensar?”
  • 1956: Conferência de Dartmouth
    • Nasce o termo “Inteligência Artificial”
  • 1957: Frank Rosenblatt propõe o Perceptron
    • Primeiro modelo de neurônio artificial

O Teste de Turing

Se um humano não consegue distinguir as respostas de uma máquina das de outro humano, a máquina pode ser considerada “inteligente”.

1969–2012: limites, invernos e o retorno das redes

Redes neurais existiam há décadas. O avanço veio quando algoritmos, dados e hardware finalmente se encontraram:

1969 ⚠️
Limites do Perceptron:
uma camada não resolve XOR
1974–80 ❄️
1º inverno da IA:
promessas > recursos
1986 🌱
Backpropagation permite
treinar redes multicamada
Fim dos anos 1980 ❄️
2º inverno: sistemas
especialistas caros e frágeis
2006–12 🌱
Redes profundas voltam:
DBNs + GPUs + mais dados

A IA nunca cresceu em linha reta: cada inverno nasceu de expectativas exageradas, e cada retomada combinou avanços técnicos, mais dados e mais poder computacional. Vale lembrar disso hoje.

2012–Hoje: A Explosão

  • 2012: AlexNet vence ImageNet
    • CNNs dominam visão computacional
  • 2017: “Attention Is All You Need”
    • Nasce a arquitetura Transformer
  • 2022: ChatGPT (OpenAI)
    • IA generativa vai ao público

O que mudou?

Fator Antes Hoje
Dados Escassos Bilhões de exemplos
Hardware CPU lento GPUs massivas
Algoritmos Limitados Transformers
Acesso Acadêmico Qualquer pessoa

IA vs. Machine Learning vs. Deep Learning

O Diagrama Fundamental

Inteligência Artificial sistemas especialistas · busca heurística
Machine Learning árvores de decisão · SVM · kNN
Deep Learning redes neurais
CNNs · LLMs

IA vs. ML vs. DL

Inteligência Artificial : tarefas associadas à inteligência humana
Regras manuais · sistemas especialistas · busca heurística · ML
Machine Learning : aprende padrões a partir de dados
Regressão · árvores · SVM · redes neurais
Deep Learning : redes neurais profundas
Imagens · áudio · texto · IA generativa

O paradigma mudou

Programação tradicional: o programador escreve as regras
Regras
Dados
Programa
Saída
Machine Learning: a máquina descobre as regras
Dados
Saídas
Algoritmo de ML
Regras (modelo)

Essa é a ideia central de ML: em vez de programar regras explicitamente, fornecemos exemplos e deixamos o algoritmo aprender.

Tipos de Aprendizado

Aprendizado Supervisionado

O modelo aprende a partir de exemplos rotulados:

  • Recebe pares \((x, y)\): entrada e saída esperada
  • Aprende a mapear \(f: X \rightarrow Y\)
  • Objetivo: generalizar para dados novos

Dois tipos principais:

  1. Regressão: saída é um número contínuo
    • Prever o preço de um imóvel
  2. Classificação: saída é uma categoria
    • E-mail é spam ou não?

Exemplo de classificação supervisionada Exemplo de regressão supervisionada

Aprendizado Não-Supervisionado

O modelo recebe apenas dados, sem rótulos:

  • Busca padrões, estruturas e agrupamentos
  • Não há resposta “certa” a priori

Exemplos:

  • Clustering: agrupar clientes similares
  • Redução de dimensionalidade: comprimir dados preservando informação
  • Detecção de anomalias: encontrar fraudes em transações

Analogia: é como organizar uma estante de livros sem saber as categorias, você agrupa por semelhança (capa, tamanho, tema) e os padrões emergem naturalmente.

Aprendizado por Reforço

Um agente aprende por tentativa e erro:

  • Executa ações em um ambiente
  • Recebe recompensas (+) ou penalidades (−)
  • Objetivo: maximizar recompensa acumulada

Ciclo do Reforço

  1. Agente observa o estado
  2. Agente escolhe uma ação
  3. Ambiente retorna recompensa + novo estado
  4. Agente atualiza sua estratégia
  5. Repete ♻️

Comparação rápida

Supervisionado Não-Supervisionado Reforço
Dados Rotulados (x, y) Sem rótulos (x) Interação com ambiente
Objetivo Prever y Encontrar padrões Maximizar recompensa
Feedback Direto (rótulos) Nenhum Indireto (recompensas)

Aqui o foco principal em aprendizado supervisionado, que é a base para entender todo o resto.

Anatomia de um Problema de ML

O Pipeline de Machine Learning

1 · 🗄️ DadosColetar a matéria-prima
2 · 🧹 Pré-processamentoLimpar faltantes, ruído e outliers
3 · 🧩 FeaturesEscolher e criar as variáveis
4 · 🤖 ModeloTreinar o algoritmo
5 · 📊 AvaliaçãoMedir erro e generalização
6 · 🚀 DeployColocar em produção

1. Dados: a matéria-prima

Tipos de dados

  • Tabular: planilhas, bancos de dados
  • Imagens: fotos, raio-X, satélite
  • Texto: documentos, e-mails, redes sociais
  • Áudio: fala, música
  • Séries temporais: ações, sensores, clima

Qualidade importa!

“Garbage in, garbage out”

O melhor algoritmo do mundo não resolve dados ruins. 80% do trabalho em ML é preparar dados.

Problemas comuns:

  • Dados faltantes
  • Dados desbalanceados
  • Ruído e outliers

2. Features e Labels

Features (entrada)
Label (saída)
Área (m²) Quartos Bairro Preço (R$)
70 2 Centro 350.000
120 3 Jardins 580.000
45 1 Periferia 180.000
200 4 Jardins 950.000
O modelo aprende a mapear featureslabel a partir dos exemplos.

Features e Labels

Features (características)

As variáveis de entrada que descrevem cada exemplo:

  • Área do imóvel
  • Número de quartos
  • Localização
  • Idade do imóvel

São os atributos que o modelo usa para fazer previsões.

Label (rótulo)

A variável de saída que queremos prever:

  • Preço do imóvel (regressão)
  • Spam ou não spam (classificação)
  • Diagnóstico (classificação)

Em aprendizado supervisionado, sempre temos features e labels nos dados de treino. O objetivo é prever o label de dados novos.

3. O ciclo treino → teste

split Dados totais 100% Treino ~80% Teste ~20% Modelo aprende padrões Avaliação dado nunca visto

Por que separar? Se avaliarmos no mesmo dado que treinamos, o modelo pode ter decorado os exemplos em vez de aprender padrões gerais.

Overfitting vs. Underfitting

Treino   Teste   ╌╌ Padrão real

Underfitting

Reta ignora a curva real. Erra treino e teste.

“Estudou pouco para a prova”

Bom ajuste ✓

Curva acompanha o padrão real. Acerta treino e teste.

“Entendeu a matéria”

Overfitting

Zigue-zague cola nos azuis, foge do real. Acerta treino, erra teste.

“Decorou o gabarito”

Recapitulando o Módulo 1

O que vimos:

  1. IA > ML > DL (subconjuntos)
  2. ML aprende padrões a partir de dados
  3. Paradigmas: supervisionado, não-supervisionado, reforço
  4. Todo ML tem: dados, features, labels, modelo, avaliação

Próximo módulo:

Modelos Lineares

  • Regressão Linear
  • Gradient Descent
  • Regressão Logística
  • Demo ao vivo! 🎮

Cada conceito constrói sobre o anterior, a intuição da regressão linear reaparece em redes neurais!

Módulo 2

Modelos Lineares

Regressão Linear · Gradient Descent · Regressão Logística

O modelo mais simples do mundo

Regressão Linear

A ideia: encontrar a reta que melhor se ajusta aos dados.

Aplicações reais:

  • Prever preço de imóvel pela área
  • Prever nota pelo tempo de estudo
  • Prever vendas pelo investimento em marketing

Por que começar aqui?

A regressão linear é a base de tudo. A mesma ideia de pesos, bias e função de custo aparece em redes neurais e até em LLMs!

Intuição geométrica

Os traços vermelhos são os resíduos, a distância entre cada ponto e a reta. O objetivo é minimizar esses resíduos.

A fórmula: \(y = wx + b\)

Parâmetros: w e b

\(w\): Peso (slope)

  • Controla a inclinação da reta
  • \(w > 0\): reta sobe (correlação positiva)
  • \(w < 0\): reta desce (correlação negativa)
  • \(w = 0\): reta horizontal (sem relação)

\(b\): Bias (intercepto)

  • Controla onde a reta cruza o eixo y
  • É o valor de \(y\) quando \(x = 0\)
  • “Deslocamento” vertical da reta

\[\hat{y} = wx + b\]

O objetivo do modelo é aprender os melhores valores de \(w\) e \(b\) a partir dos dados.

Como medir “melhor”? A função de custo

MSE: Mean Squared Error

\[MSE = \frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2\]

Por que ao quadrado?

  • Penaliza erros grandes mais que erros pequenos
  • Remove sinais negativos (erros para cima e para baixo contam igual)
  • Tem derivada contínua (útil para otimização)

O MSE define uma superfície de custo: um “terreno” onde queremos encontrar o ponto mais baixo.

Gradient Descent

Gradient Descent

Analogia: descida do morro

Imagine que você está no topo de um morro com os olhos vendados:

  1. Sinta a inclinação do chão (gradiente)
  2. Dê um passo na direção que desce mais
  3. Repita até chegar ao vale (mínimo)

Matematicamente:

\[w_{novo} = w_{atual} - \alpha \cdot \frac{\partial MSE}{\partial w}\]

Onde \(\alpha\) é o learning rate (tamanho do passo).

O gradiente aponta na direção de maior subida. Subtraímos o gradiente para descer.

O mesmo algoritmo é usado em redes neurais e LLMs, exatamente a mesma ideia, só com mais dimensões!

O efeito do Learning Rate

Escolher o learning rate certo é um dos hiperparâmetros mais importantes em ML.

Regressão Linear Múltipla

E se tivermos mais de uma feature?

\[\hat{y} = w_1 x_1 + w_2 x_2 + ... + w_n x_n + b\]

  • Em vez de uma reta, temos um plano (2 features) ou hiperplano (n features)
  • A mesma lógica de MSE + Gradient Descent se aplica!

🎮 DEMO 1: Regressão Linear Interativa

🔍 O que vamos ver
🎛️
Dados reais: horas de estudo → nota, com ruído ajustável
Ajustar a reta na mão (w e b) e sentir o erro (MSE)
▶️
O gradiente descendente ajustando sozinho, 1 passo por clique
🎢
A descida do morro na superfície de custo
🧪 Experimentos sugeridos
1
Ajuste a reta na mão: tente deixar o MSE o menor possível
2
Clique 1 passo várias vezes: os sliders andam sozinhos morro abaixo
3
Aumente o ruído: o MSE mínimo sobe (nem a reta ótima zera o erro)
4
Acompanhe a trajetória descendo até o fundo do vale

Regressão Logística

Regressão Logística

A regressão linear pode dar valores fora de [0, 1], não serve para probabilidades!
A função sigmoid resolve isso.

A função Sigmoid

Regressão Logística: como funciona

Passo a passo:

  1. Calcula a saída linear: \(z = wx + b\)
  2. Aplica a sigmoid: \(P(y=1) = \frac{1}{1 + e^{-z}}\)
  3. Classifica:
    • Se \(P \geq 0.5\)Classe 1
    • Se \(P < 0.5\)Classe 0

Apesar do nome…

Apesar de se chamar “Regressão” Logística, é um modelo de classificação!

O nome vem do fato de que internamente ela faz uma regressão linear, seguida da transformação sigmoid.

Fronteira de decisão (decision boundary)

A fronteira de decisão é a linha onde \(P(y=1) = 0.5\).
De um lado, o modelo prevê classe 0; do outro, classe 1.

Métricas de avaliação

Antes de classificar ao vivo, o mapa completo de como medimos um modelo:

📈 Para Regressão
MSEErro quadrático médio
RMSERaiz do MSE (mesma unidade)
MAEErro absoluto médio
% da variância explicada
🎯 Para Classificação
Acurácia% de acertos no total
PrecisãoDos positivos previstos, quantos são corretos
RecallDos positivos reais, quantos foram encontrados
F1-ScoreMédia harmônica de precisão e recall

🎮 DEMO 2: Classificação com Regressão Logística

🔍 O que vamos ver
🌗
Vários datasets 2D (blobs, moons, circles)
✂️
A fronteira de decisão e o campo de probabilidade (a confiança)
🎚️
O limiar ajustável → efeito em acurácia, precisão e recall
〰️
A sigmoide transformando z em probabilidade
🧪 Experimentos sugeridos
1
Comece com blobs (linearmente separáveis): funciona perfeitamente!
2
Troque para moons/circles: a reta não separa curvas (a acurácia trava)
3
Mova o limiar e veja precisão × recall trocarem

Limitação importante: a regressão logística só cria fronteiras lineares (retas/planos). Dados não-lineares precisam de modelos mais complexos.

Recapitulando o Módulo 2

O que vimos:

  1. Regressão Linear: \(y = wx + b\), melhor reta
  2. MSE: medir qualidade do ajuste
  3. Gradient Descent: otimizar os pesos
  4. Learning Rate: tamanho do passo importa
  5. Sigmoid: transformar saída em probabilidade
  6. Regressão Logística: classificação com fronteira linear

Conceitos-chave que voltam:

Estes conceitos são a base de tudo que vem a seguir:

  • Pesos e bias → aparecem em redes neurais
  • Função de custo → toda rede neural otimiza uma
  • Gradient Descent → treina qualquer modelo de ML
  • Sigmoid → é uma função de ativação neural

Módulo 3

Modelos Clássicos de ML

Árvores · Random Forest · kNN · SVM

Além da linha reta

Como vimos no módulo anterior, a regressão logística só cria fronteiras lineares, mas muitos problemas reais são não-lineares!

Existem outros modelos “clássicos” (anteriores ao deep learning) que lidam bem com isso:

  • Árvores de Decisão
  • Random Forest
  • k-Nearest Neighbors
  • Support Vector Machines

Estes modelos são usados até hoje em muitas aplicações práticas, especialmente com dados tabulares (planilhas, bancos de dados). Nem tudo precisa de deep learning!

Árvores de Decisão

Como funciona

  1. Faz uma pergunta sobre uma feature (ex.: “estudou > 3h?”)
  2. Divide os dados conforme a resposta (sim / não)
  3. Escolhe a pergunta que mais reduz a impureza (Gini / Entropia)
  4. Repete até os grupos ficarem “puros” → folha = decisão
Vantagens
  • Muito interpretável
  • Numéricos e categóricos
  • Não precisa normalizar
Desvantagens
  • Tende a overfitting
  • Instável: muda com poucos dados
  • Fronteiras retangulares

Árvores: Uma sequência de perguntas

Aluno estudou mais de 3h?
Sim ↓
Fez os exercícios?
Sim ↓
APROVADO
95% aprovados
Não ↓
APROVADO
75% aprovados
Não ↓
Dormiu bem?
Sim ↓
REPROVADO
60% reprovados
Não ↓
REPROVADO
85% reprovados
Uma sequência de perguntas encadeadas que divide os dados até chegar a uma decisão.
O percentual é a proporção de alunos daquele grupo, ex.: entre os que estudaram mas não fizeram exercícios, 75% foram aprovados. Quanto maior, mais confiança na previsão.

Árvores: fronteiras retangulares

Cada pergunta é um corte reto no espaço; juntos, eles fecham cada classe em caixas retangulares (axis-aligned). É por isso que a fronteira nunca sai curva.

Random Forest

Como funciona

  1. Cria N amostras aleatórias (bootstrap) dos dados
  2. Treina uma árvore em cada amostra
  3. Cada árvore vê um subconjunto de features
  4. Predição final: voto majoritário das árvores
Vantagens
  • Reduz overfitting drasticamente
  • Mais estável e preciso que 1 árvore
  • Um dos mais usados na prática
Desvantagens
  • Menos interpretável que 1 árvore
  • Mais pesado (muitas árvores)
  • Predição mais lenta

Random Forest: Muitas árvores votando

Dados
🌳
Árvore 1
🌳
Árvore 2
🌳
Árvore 3
🌳
Árvore 4
🌳
Árvore 5
cada árvore treina com uma amostra aleatória dos dados (bootstrap)
Votação majoritária
Árvores diferentes erram em exemplos diferentes; na média os erros se cancelam → predição mais estável e precisa que uma árvore só.

Primo do Random Forest: Gradient Boosting

Outra forma de combinar árvores:

Em vez de árvores em paralelo (votação), treina árvores em sequência:

Árvore 1
predição inicial
Árvore 2
corrige os erros da 1
Árvore 3
corrige os erros restantes
Soma

XGBoost / LightGBM dominam competições de ML com dados tabulares até hoje.

O nome vem de usar o gradiente do erro para decidir o que a próxima árvore deve corrigir, o mesmo gradiente do Módulo 2!

k-Nearest Neighbors (kNN)

Como funciona

Para classificar um novo ponto:

  1. Calcule a distância a todos os pontos do treino
  2. Encontre os k mais próximos (vizinhos)
  3. Vote: a classe majoritária entre eles vence
Vantagens
  • Zero treinamento (“lazy learner”)
  • Bom com poucos dados
  • Fronteira flexível
Desvantagens
  • Predição lenta (calcula todas as distâncias)
  • Sofre em alta dimensão
  • Sensível à escala das features

kNN: O valor de k muda a predição

k pequeno → sensível a ruído; k grande → fronteira mais suave. Use k ímpar para evitar empates.

Support Vector Machines (SVM)

Como funciona

  1. Busca o hiperplano que separa as classes
  2. Com a maior margem possível
  3. Vetores suporte: os pontos que definem a margem
  4. Kernel trick: projeta em dimensão maior para casos não-lineares
Vantagens
  • Margem máxima → boa generalização
  • Kernel trick para não-linear
  • Forte em alta dimensão
Desvantagens
  • Escala mal com muitos dados
  • Sensível a kernel / hiperparâmetros
  • Pouco interpretável

SVM: Margem máxima e kernel

Esquerda: margem máxima linear, com os vetores suporte em destaque. Direita: kernel RBF cria uma fronteira curva. Foi o estado da arte antes do deep learning (~2012).

Comparando todos os modelos

Mesmo dataset, modelos diferentes → fronteiras de decisão completamente diferentes!

🎮 DEMO 3: Arena de Classificadores

🔍 O que vamos ver
⚔️
5 modelos lado a lado no mesmo dataset
🎨
Fronteiras de decisão coloridas
🔄
Trocar entre datasets: moons, circles, blobs, XOR
🔬
Ver como cada modelo se comporta
🧪 Experimentos sugeridos
1
Moons: regressão logística falha; SVM e RF brilham
2
Circles: só modelos não-lineares acertam
3
Blobs: todos funcionam bem (linearmente separáveis)
4
Aumente o ruído: quem é mais robusto?

Recapitulando o Módulo 3

O que vimos:

  1. Árvores de Decisão: perguntas encadeadas
  2. Random Forest: ensemble de árvores, votação
  3. kNN: classifica pelos vizinhos mais próximos
  4. SVM: margem máxima + kernel trick

Próximo módulo:

Redes Neurais: a revolução do deep learning!

  • Do Perceptron ao MLP
  • Funções de ativação
  • Backpropagation
  • Demo ao vivo! 🎮

Lembre-se: a regressão linear e o gradient descent que vimos no Módulo 2 são exatamente os mesmos usados em redes neurais!

Módulo 4

Redes Neurais

Do Perceptron ao Multi-Layer Perceptron

O neurônio biológico

Ilustração anatômica de um neurônio biológico real
Recebe sinais pelos dendritos, integra no corpo celular e transmite pelo axônio até as sinapses: dezenas de estruturas coordenadas.

A seguir: o neurônio artificial é uma simplificação radical desta ideia (inspirada, não uma cópia).

O neurônio artificial

Inspirado no neurônio biológico, mas uma simplificação radical, não uma cópia. Cada entrada tem um peso (≈ força da sinapse); o aprendizado por backpropagation, aliás, não tem equivalente conhecido no cérebro.

O Perceptron (1957)

O modelo de neurônio mais simples:

  1. Recebe entradas \(x_1, x_2, ..., x_n\)
  2. Multiplica cada uma por um peso \(w_i\)
  3. Soma tudo e adiciona bias \(b\)
  4. Aplica uma função de ativação \(f\)

\[y = f\left(\sum_{i=1}^{n} w_i x_i + b\right)\]

Parece familiar?

É exatamente a regressão linear com uma função de ativação por cima!

\[z = wx + b \quad \text{(linear)}\] \[y = f(z) \quad \text{(ativação)}\]

A regressão linear é um caso especial onde \(f\) é a identidade.

Funções de ativação

Por que precisamos de ativações?

Sem ativação (linear):

Empilhar camadas lineares = uma operação linear

\[\begin{aligned} f(g(x)) &= W_2(W_1 x) \\ &= (W_2 W_1)\,x \\ &= W'x \end{aligned}\]

Não importa quantas camadas, o resultado é sempre linear!

Com ativação (não-linear):

A função de ativação quebra a linearidade, permitindo que a rede aprenda padrões complexos.

Multi-Layer Perceptron (MLP)

Entrada
3 features
Oculta 1
5 neurônios
Oculta 2
4 neurônios
Saída
2 classes
Cada linha é um peso (w): todos os neurônios de uma camada se conectam a todos da seguinte.

Anatomia de um MLP

Camadas:

  • Entrada: recebe os dados (features)
  • Ocultas: onde a “magia” acontece, aprendem representações internas
  • Saída: gera a predição final

Cada neurônio:

  1. Recebe saídas da camada anterior
  2. Multiplica pelos pesos
  3. Soma + bias
  4. Aplica função de ativação

Representações internas

Cada camada oculta aprende uma representação diferente dos dados:

  • Camada 1: detecta padrões simples
  • Camada 2: combina padrões em conceitos mais abstratos
  • Camada N: representações cada vez mais complexas

É como se a rede criasse suas próprias features automaticamente!

Forward Propagation

Forward propagation: dados fluem para a frente
x ŷ
Calcula a predição camada por camada
Backpropagation: erros fluem para trás
erro
Calcula gradientes e atualiza os pesos

Como a rede aprende?

Forward para frente
1Dados entram pela camada de entrada
2Multiplicação pelos pesos + ativação, camada a camada
3Saída da rede: a predição (ŷ)
4Compara ŷ com o valor real → loss
Backpropagation para trás
1Calcula o erro (loss) na saída
2Propaga o erro de volta pela rede
3Calcula o gradiente de cada peso (chain rule)
4Atualiza os pesos com gradient descent

loss é a função de custo do Módulo 2 (só muda o nome em deep learning). E é o mesmo gradient descent de lá, agora com muito mais variáveis.

Epochs, Batches e Learning Rate

Batch Size

Em vez de atualizar pesos a cada exemplo, processamos um lote (batch) de exemplos e calculamos a média dos gradientes.

  • Batch grande: mais estável, mais lento
  • Batch pequeno: mais ruidoso, mais rápido
  • Mini-batch (32–256): o padrão na prática

Epoch

Uma passagem completa por todos os dados de treino.

  • Epoch 1: primeira vez vendo todos os dados
  • Epoch 100: centésima passagem
  • Treinar por muitas epochs → risco de overfitting

Learning Rate

  • Muito alto → oscila / não converge
  • Muito baixo → muito lento
  • Ideal → converge de forma estável

Overfitting em redes neurais

Rede normal: todas as conexões
Com dropout: neurônios desativados
× ×
A cada batch, neurônios aleatórios são desligados: a rede não pode depender de nenhum neurônio específico.

Combatendo overfitting

Dropout

  • Durante o treino, desativa neurônios aleatoriamente (ex: 20–50%)
  • Força a rede a não depender de um único caminho
  • No teste, usa todos os neurônios

Outras técnicas:

  • Regularização L2: penaliza pesos grandes
  • Early stopping: para quando a validação piora
  • Data augmentation: mais variações dos dados

Analogia do estudo em grupo:

Se toda vez você estuda com colegas diferentes, aprende a resolver por conta própria. Se sempre estuda com o mesmo grupo, fica dependente.

Dropout faz a mesma coisa: cada “rodada” de treino usa neurônios diferentes, forçando generalização.

O Teorema da Aproximação Universal

Por que redes neurais são poderosas?

Teorema (Cybenko, 1989):

Uma rede neural com uma única camada oculta e neurônios suficientes pode aproximar qualquer função contínua com precisão arbitrária.

Na prática:

  • “Qualquer função” = qualquer relação entre entrada e saída
  • Mas pode precisar de muitos neurônios em uma camada
  • Redes profundas (várias camadas) são mais eficientes
  • Mais camadas = representações mais hierárquicas

Atenção: o teorema diz que a solução existe, mas não garante que o gradient descent vai encontrá-la!

Na prática, arquitetura, dados e treinamento importam muito.

É por isso que redes neurais dominam tantos campos: elas podem aprender qualquer padrão, desde que tenham dados e capacidade suficientes.

🎮 DEMO 4: Playground de Rede Neural

🔍 O que vamos ver
🌀
Dados não-lineares (moons, circles, XOR)
🏗️
Controlar a arquitetura: nº de neurônios da camada oculta
Escolher a função de ativação (ReLU, tanh, sigmoid)
🎯
Observar a fronteira de decisão evoluir no treino
📉
Acompanhar a curva de loss em tempo real
🧪 Experimentos sugeridos
1
Circles com 2 neurônios → a fronteira não fecha
2
Circles com 6 a 8 neurônios → resolve
3
Compare ReLU vs sigmoid: qual converge mais rápido?
4
XOR: uma reta não separa, a camada oculta resolve
5
▶ 1 época: veja os gradientes (setas roxas) voltando

Recapitulando o Módulo 4

O que vimos:

  1. Neurônio artificial = perceptron = regressão linear + ativação
  2. O problema XOR motivou redes multi-camada
  3. Funções de ativação introduzem não-linearidade
  4. MLP: camadas de neurônios empilhadas
  5. Backpropagation: como a rede aprende
  6. Dropout: prevenir overfitting
  7. Teorema da Aproximação Universal: redes podem aprender qualquer função

Próximo módulo:

Deep Learning e CNNs: redes neurais para imagens!

  • O que torna “deep” o deep learning
  • Convolução: a operação que revolucionou visão computacional
  • Classificar dígitos desenhados à mão
  • Demo ao vivo! 🎮

Até agora trabalhamos com dados tabulares 2D. No próximo módulo, vamos ver como redes neurais processam imagens!

Módulo 5

Deep Learning e CNNs

Ensinando Máquinas a Ver

O que torna “Deep” o Deep Learning?

Profundidade = muitas camadas

  • Shallow: 1-2 camadas ocultas → MLP clássico
  • Deep: dezenas, centenas ou até milhares de camadas

Por que profundidade importa?

Cada camada aprende uma representação diferente dos dados, do simples ao complexo:

  • Camada 1: bordas, gradientes
  • Camada 2: texturas, cantos
  • Camada 3: partes (olho, roda)
  • Camada N: objetos completos (rosto, carro)

Por que Deep Learning agora?

Os 3 ingredientes: convergência a partir de ~2012
Dados massivos
internet, sensores, imagens, texto
Poder computacional
GPUs, TPUs, cloud computing
Algoritmos melhores
ReLU, Dropout, BatchNorm, Adam

Como computadores “veem” imagens

Cada pixel é só um número (0 a 255). Uma imagem colorida são 3 matrizes empilhadas: o tensor (3, H, W) que a CNN recebe de entrada.

Uma imagem é informação demais para um MLP

Pesos só na 1ª camada densa (1000 neurônios):

10×10 cinza · 100 entradas
~100 mil pesos
28×28 (MNIST) · 784 entradas
~785 mil pesos
100×100×3 · 30 mil entradas
~30 milhões de pesos
224×224×3 · 150.528 entradas
~150 milhões de pesos

E são dois problemas, não um:

  1. Explode: e isso é só a primeira camada. A rede inteira chegaria a bilhões de pesos.

  2. Joga fora a estrutura: o flatten achata a imagem numa lista solta de pixels. A vizinhança 2D some, e deslocar o objeto 1 pixel vira uma entrada completamente diferente.

Precisamos de uma operação que reaproveite pesos e respeite a vizinhança.

A convolução: um filtro que desliza

O mesmo filtro percorre a imagem inteira: só 9 parâmetros, reaproveitados em toda parte.

Por que a convolução funciona

O que os filtros detectam?

  • Borda vertical: [+1, 0, -1]
  • Borda horizontal: o transposto
  • Blur: a média dos vizinhos
  • E o melhor: a CNN aprende os filtros sozinha, não somos nós que definimos

Três vantagens de peso:

  1. Compartilhamento de pesos: o mesmo filtro varre a imagem toda → pouquíssimos parâmetros

  2. Invariância à posição: acha o padrão em qualquer lugar

  3. Estrutura local: usa a vizinhança dos pixels, não os trata como lista solta

Um filtro 3×3 tem 9 parâmetros, contra os 784 de um único neurônio denso sobre a imagem 28×28.

Pooling: reduzindo dimensões

O objetivo é encolher o mapa mantendo o que há de mais forte em cada região.

O que ganhamos com o pooling

Benefícios:

  • Menos parâmetros e menos conta
  • Mantém as features mais importantes
  • Invariância a pequenas translações
  • Ajuda a evitar overfitting

A cada bloco Conv + Pool:

  • A resolução diminui (28 → 14 → 7…)
  • O número de features aumenta (1 → 16 → 32…)
  • A informação fica mais abstrata

Começa em pixels, termina em “conceitos”.

Representações hierárquicas

Ativações reais de uma AlexNet: as camadas rasas pegam bordas; as profundas, conceitos. É exatamente o que empilhar Conv + Pool constrói.

Arquitetura CNN completa

Duas fases: as camadas Conv + Pool extraem features cada vez mais abstratas; as camadas densas classificam nos 10 dígitos.

Entendendo a arquitetura

Duas fases principais:

1. Feature Extraction (convolução):

  • Bloco repetido: Conv → ReLU → Pool
  • Extrai features cada vez mais abstratas
  • Poucos parâmetros (compartilhamento de pesos)

2. Classificação (fully connected):

  • Flatten: achata o tensor em vetor
  • Camadas densas (como um MLP)
  • Softmax na saída: transforma os 10 números finais em probabilidades que somam 100%, uma por classe

Nossa CNN (demo):

Camada Dimensão Params
Input 1×28×28 0
Conv(16, 3×3) 16×28×28 160
Pool 2×2 16×14×14 0
Conv(32, 3×3) 32×14×14 4.640
Pool 2×2 32×7×7 0
Dense(128) 128 200.832
Dense(10) 10 1.290
Total ~207K

A evolução das arquiteturas

1998
LeNet-5
LeCun · 60K parâmetros
dígitos postais
erro ~1% (dígitos)
2012
AlexNet
Krizhevsky · 60M parâmetros
breakthrough no ImageNet
erro 16% (ImageNet)
2014
VGG-16
Simonyan · 138M parâmetros
16 camadas
2015
ResNet
He et al. · skip connections
152 camadas!
erro 3,6% (super-humano!)
2016
EfficientNet
Tan & Le · escala balanceada
estado da arte

De LeNet a ResNet

A revolução AlexNet (2012):

  • Venceu o ImageNet por margem enorme
  • Usou GPUs pela primeira vez
  • ReLU em vez de sigmoid
  • Dropout para regularização
  • Marcou o início da era Deep Learning

Skip Connections (ResNet):

O segredo para treinar redes muito profundas: permitir que o gradiente “pule” camadas.

\(F(x) + x\) em vez de apenas \(F(x)\)

Por que ResNet é tão importante?

Redes muito profundas tinham o problema do vanishing gradient: o gradiente ficava tão pequeno que as primeiras camadas não aprendiam.

Skip connections resolvem isso: o gradiente tem um “atalho” direto para as camadas anteriores.

Resultado: redes com 152 camadas que superam o desempenho humano no ImageNet!

Transfer Learning

Modelo pré-treinado (ex.: ResNet no ImageNet)
Conv
bordas
Conv
texturas
Conv
objetos
Dense
1000 classes
↓ congela as camadas convolucionais e troca só a “cabeça” ↓
Seu modelo (poucas imagens!)
Conv 🔒
congelado
Conv 🔒
congelado
Conv 🔒
congelado
Dense
SUA tarefa
Vantagens
• Precisa de poucos dados
• Treina em minutos, não dias
• Reaproveita features genéricas (bordas, texturas)

Na prática: Transfer Learning

A ideia:

  1. Pegue uma rede pré-treinada (ex: ResNet treinada no ImageNet com milhões de imagens)
  2. Congele as camadas convolucionais (features genéricas já aprendidas)
  3. Substitua apenas a última camada densa pela sua tarefa
  4. Treine com poucos dados da sua tarefa específica

Resultado:

  • Funciona com poucas centenas de imagens
  • Treina em minutos em vez de dias
  • Performance excelente

Exemplo real:

Classificar radiografias de tórax:

  1. Pegar ResNet pré-treinada no ImageNet (fotos de gatos, carros, etc.)
  2. Trocar última camada: 1000 → 2 classes (normal/pneumonia)
  3. Treinar com 5.000 radiografias
  4. Resultado: 94% de acurácia!

As features de baixo nível (bordas, texturas) são universais entre domínios visuais.

Transfer learning é a técnica mais usada na prática: raramente treina-se uma CNN do zero.

🎮 DEMO 5: Classificador de Dígitos

🔍 O que vamos ver
✏️
Canvas para desenhar um dígito à mão
CNN pré-treinada classifica em tempo real
📊
Gráfico de probabilidades por classe (0-9)
🔍
Visualização dos filtros da 1ª camada convolucional
🧪 Experimentos sugeridos
1
Desenhe diferentes dígitos: quais são mais fáceis?
2
Desenhe um “7” com e sem barra: muda a predição?
3
Desenhe algo que não é um dígito: veja a distribuição uniforme
4
Observe os filtros: detectores de bordas!
5
Compare números parecidos (3 vs 8, 1 vs 7)

Recapitulando o Módulo 5

O que vimos:

  1. Deep Learning = redes com muitas camadas + representações hierárquicas
  2. Imagens são tensores de números
  3. Convolução: filtros que deslizam detectando padrões
  4. Pooling: reduz dimensionalidade preservando informação
  5. CNN = Conv + Pool + Dense
  6. Arquiteturas famosas: LeNet → AlexNet → ResNet
  7. Transfer learning: reutilizar conhecimento pré-treinado

Próximo módulo:

NLP e Embeddings: processando linguagem natural!

  • Como representar palavras como vetores
  • A mágica do Word2Vec
  • “Rei - Homem + Mulher = Rainha”
  • Demo ao vivo! 🎮

Até agora trabalhamos com números e imagens. No próximo módulo, entramos no mundo do texto: o domínio que deu origem aos LLMs!

Módulo 6

NLP e Embeddings

Ensinando Máquinas a Entender Texto

O desafio fundamental

O problema:

Modelos de ML trabalham com números. Mas texto é composto de palavras.

Como converter “O gato sentou no tapete” em algo que um modelo entenda?

A jornada:

  1. Bag of Words: contar palavras
  2. TF-IDF: ponderar importância
  3. Word Embeddings: capturar significado
  4. Sentence Embeddings: representar frases inteiras
Texto bruto
“Os gatos são incríveis!”
Tokenização
[“os”,“gatos”,“são”,“incríveis”]
Limpeza / stopwords
[“gatos”,“incríveis”]
Representação numérica
[0.2, −0.5, 0.8, …]
Modelo ML/DL
classificação, tradução…

Bag of Words e TF-IDF

Bag of Words: contar palavras
“O gato sentou no tapete”
gato 1
sentou 1
no 1
tapete 1
cachorro 0
correu 0
Cada documento vira um vetor de contagens do vocabulário
TF-IDF: ponderar importância
TF: Term Frequency
frequência do termo no documento
IDF: Inverse Document Frequency
penaliza palavras comuns (“o”, “de”, “no”)
peso = TF × IDF
destaca as palavras que distinguem o documento
Simples e ainda muito usado: busca, baselines de classificação

Limitações: palavras como símbolos isolados

Contar palavras perde:

  1. Ordem: “cachorro mordeu homem” = “homem mordeu cachorro”
  2. Semântica: “bom” e “excelente” são completamente diferentes
  3. Contexto: “banco” (assento) = “banco” (financeiro)

TF-IDF melhora os pesos, mas ainda não captura significado.

O problema central:

BoW e TF-IDF tratam palavras como símbolos isolados, sem relação entre si.

“gato” e “felino” são tão diferentes quanto “gato” e “avião”.

Precisamos de uma representação em que: palavras similares tenham representações similares.

A grande ideia: Word Embeddings

A frase que mudou tudo:

“You shall know a word by the company it keeps” J.R. Firth, 1957

Palavras que aparecem em contextos similares têm significados similares.

“gato” e “cachorro” aparecem perto de “ração”, “veterinário”, “brincar”: devem significar coisas parecidas!

A proposta:

Aprender, a partir dos contextos, um vetor denso para cada palavra (ex.: 300 dimensões).

gato = [0.2, −0.5, 0.8, …]

Similaridade de significado vira proximidade no espaço vetorial.

Word2Vec (Mikolov et al., 2013)

Como funciona:

  1. Percorre um corpus de texto (Wikipedia, livros, web)
  2. Para cada palavra, olha o contexto (palavras vizinhas)
  3. Treina uma rede neural para prever contexto → palavra ou palavra → contexto
  4. Os pesos da rede = embeddings!

O gato sentou no tapete macio

target · contexto (janela de 2 palavras)

Dois métodos:

Skip-gram: Dada a palavra “sentou”, prever que “gato” e “tapete” estão perto.

Melhor para palavras raras.

CBOW (Continuous Bag of Words): Dado o contexto [“gato”, “_“,”tapete”], prever “sentou”.

Mais rápido para treinar.

Word2Vec: o espaço aprendido

Animais
gatocachorroleãotigrepeixe
Países
brasilfrançajapãoegitocanadá
Profissões
médicoprofessorengenheiropilotochef
Emoções
feliztristeraivaamormedo
Palavras semanticamente similares ficam próximas! (projeção 2D do espaço de embeddings: veja a versão real na demo)

A mágica: aritmética de vetores

REI
HOMEM
+
MULHER
=
RAINHA
A direção “rei → rainha” é a mesma de “homem → mulher”!
Outros exemplos:

paris − frança + itália = roma
maior − grande + pequeno = menor
andando − andar + nadar = nadando

Por que isso funciona?

Direções no espaço vetorial:

Os embeddings organizam conceitos como direções:

  • A direção “gênero”: homem → mulher
  • A direção “país → capital”: França → Paris
  • A direção “verbo conjugação”: andar → andando

Isso emerge naturalmente!

Ninguém ensinou essas relações à rede: ela aprendeu apenas de co-ocorrências de palavras.

A similaridade é medida pelo cosseno:

\[\text{sim}(a, b) = \frac{a \cdot b}{\|a\| \|b\|}\]

  • 1.0 = idênticos
  • 0.0 = sem relação
  • -1.0 = opostos

Exemplos:

  • sim(gato, cachorro) ≈ 0.8
  • sim(gato, avião) ≈ 0.1
  • sim(rei, rainha) ≈ 0.7

Variações de embeddings

GloVe (Stanford, 2014)

  • Global Vectors
  • Usa estatísticas globais de co-ocorrência
  • Mais estável que Word2Vec
  • Pré-treinado na Wikipedia + Common Crawl

FastText (Facebook, 2016)

  • Usa subpalavras (n-grams)
  • “futebol” → “fut”, “ute”, “teb”, “bol”
  • Funciona com palavras fora do vocabulário
  • Ótimo para português!

Embeddings Contextuais (2018+)

  • ELMo, BERT, GPT
  • A mesma palavra tem vetores diferentes dependendo do contexto
  • “banco” (sentar) ≠ “banco” (dinheiro)
  • Estado da arte atual!

De palavras a frases

Word embeddings

O gato sentou no tapete

agregar
Sentence embedding
um vetor único para a frase inteira
Métodos de agregação
Média simples dos vetores
básico, perde a ordem
TF-IDF ponderado
melhor, peso por importância
Modelo treinado (BERT)
estado da arte!
Aplicações: busca semântica · comparação de documentos · agrupamento de textos · RAG

🎮 DEMO 6: Explorador de Embeddings

🔍 O que vamos ver
🧲
Palavras similares: digite uma palavra, veja as vizinhas no espaço vetorial
Aritmética de vetores: teste “king − man + woman = ?”
🗺️
Mapa 2D: visualização interativa de clusters semânticos

Modelo usado:

GloVe pré-treinado (50 dimensões), treinado na Wikipedia em inglês. Vocabulário de ~400K palavras.

🧪 Experimentos sugeridos
1
“king” → veja “queen”, “prince” nos vizinhos
2
king − man + woman → rainha?
3
paris − france + italy → rome?
4
Visualize clusters: animais, países, emoções
5
Teste palavras ambíguas: “bank”, “bat”

Recapitulando o Módulo 6

O que vimos:

  1. Texto precisa ser convertido em números para ML
  2. Bag of Words/TF-IDF: simples, mas perde semântica
  3. Word Embeddings: vetores densos que capturam significado
  4. Word2Vec: aprender embeddings de co-ocorrências
  5. Aritmética vetorial: rei - homem + mulher ≈ rainha
  6. GloVe, FastText: variações com vantagens
  7. Sentence embeddings: representar frases inteiras

Próximo módulo:

Transformers e LLMs: a revolução que criou o ChatGPT!

  • O mecanismo de atenção
  • A arquitetura Transformer
  • Como LLMs geram texto
  • Demo ao vivo! 🎮

Agora que entendemos como representar texto como vetores, estamos prontos para o passo final: os Transformadores que deram origem aos modelos de linguagem modernos!

Módulo 7

Transformers e LLMs

De “Attention Is All You Need” ao ChatGPT

O desafio: entender sequências

A peça que falta:

No Módulo 6, palavras viraram vetores com significado. Mas linguagem é sequência:

  1. Ordem: “o gato caçou o rato” ≠ “o rato caçou o gato”
  2. Contexto: o vetor de “banco” deveria depender dos vizinhos
  3. Dependências longas: o sujeito pode estar 20 palavras antes do verbo

Como um modelo lê uma frase inteira?

A rota deste módulo:
RNNs
ler palavra por palavra (e seus limites)
Atenção
cada palavra olha para todas as outras
Transformer (2017)
a arquitetura: BERT e GPT
LLMs
tokens, geração e o ChatGPT

Primeira tentativa: RNNs

Redes Recorrentes leem palavra por palavra, carregando um “estado oculto” com o que já foi lido

RNN desdobrada
h₀
O
h₁
gato
h₂
sentou
h₃
no
h₄
tapete
Processamento SEQUENCIAL
cada passo depende do anterior: impossível paralelizar
Problema do gradiente
“O gato que eu vi ontem no parque sentou”
o sinal do início da frase “desaparece” com a distância: dependências longas são esquecidas
LSTMs e GRUs (1997, 2014) adicionaram “gates” de memória e melhoraram bastante, mas continuaram sequenciais e com memória limitada.

“Attention Is All You Need” (2017)

O paper que mudou tudo:

  • Vaswani et al., Google Brain, 2017
  • Propôs uma arquitetura sem recorrência
  • Baseada inteiramente em atenção
  • Processamento paralelo de toda a sequência

A ideia central:

Em vez de processar palavra por palavra, cada palavra “olha” para todas as outras simultaneamente e decide quais são relevantes.

Impacto:

  • 2017: Transformer supera RNNs em tradução
  • 2018: BERT (Google) revoluciona NLP
  • 2019: GPT-2 gera texto convincente
  • 2020: GPT-3 surpreende com Few-shot
  • 2022: ChatGPT muda o mundo
  • 2023-25: GPT-4, Claude, Gemini, DeepSeek…

Tudo começou com esse paper de 2017!

Self-Attention

O gato sentou no tapete

Quanta atenção “sentou” presta em cada palavra? (quem sentou? onde?)
gato35%
tapete35%
sentou15%
no10%
O5%
Todas as palavras são comparadas em paralelo, sem a sequencialidade das RNNs.

Arquitetura Transformer

ENCODER (lê a entrada inteira)
× N
Feed Forward
Multi-Head Self-Attention
Embedding + Posição

The cat sat

Entrada: a frase a traduzir
a frase já lida
DECODER (gera a saída token a token)

sentou ← próxima palavra (volta para a entrada e o ciclo repete)

Linear + Softmax
× N
Feed Forward
Cross-Attention
⟵ presta atenção na frase lida pelo encoder
Masked Self-Attention
só enxerga os tokens anteriores
Embedding + Posição

O gato

O que já foi gerado até agora
Só o encoder → BERT
entender texto (busca, classificação)
Juntos → tradução
o desenho original de 2017
Só o decoder → GPT
gerar texto

BERT vs GPT

BERT (encoder-only)
Bidirecional: vê a frase INTEIRA

O [MASK] sentou no tapete

tarefa: preencher [MASK] = ?
✓ classificação de texto
✓ extração de entidades (NER)
✓ perguntas e respostas
✓ similaridade de frases
GPT (decoder-only)
Autoregressivo: vê só o PASSADO

O gato sentou no ???

tarefa: prever o próximo token = ?
✓ geração de texto
✓ chatbots (ChatGPT)
✓ completar código (Copilot)
✓ raciocínio e agentes
Juntando os dois lados (encoder + decoder): tradução, T5. Mas são estas duas famílias que dominam o NLP moderno.

Tokenização: texto → números

“Inteligência artificial é fascinante”

Int5765 elig14854 ência9870  artificial11666  é304  fasc18932 in259 ante4630

BPE (Byte Pair Encoding)
Nem caracteres, nem palavras inteiras: subpalavras aprendidas dos dados!
GPT-2: ~50 mil tokens no vocabulário
Por que subpalavras?
• Palavras raras viram pedaços conhecidos
• Nenhuma palavra fica “fora do vocabulário”
• Equilíbrio entre tamanho e expressividade
Na prática: 1 token ≈ 4 caracteres em inglês · GPT-4 lê ~128K tokens de contexto (≈ 300 páginas de texto)

Next-Token Prediction

O único objetivo: prever o próximo token dado os anteriores, \(P(x_{t+1} | x_1, ..., x_t)\)

O gato sentou no

LLM
GPT-2, GPT-4, …
tapete35%
chão20%
sofá15%
banco8%
A saída não é uma palavra: é uma distribuição de probabilidade sobre todo o vocabulário

Como LLMs geram texto

Autoregressivo: escolhe um token, anexa ao contexto e repete

Contexto
“O gato sentou no”
LLM
probabilidade de cada token
Escolhe um token
ex.: “tapete”
Anexa ao contexto
“O gato sentou no tapete”
⟲ repete com o novo contexto, token a token, até gerar o token de fim

. . .

É só isso: todo texto do ChatGPT nasce desse ciclo, um token por vez.

Controlando a geração: Temperature, Top-k e Top-p

Temperature

Controla a aleatoriedade da escolha:

Temperature = 0: sempre escolhe o mais provável → determinístico, repetitivo

Temperature = 0.7: balanceado → criativo mas coerente

Temperature = 1.5: muito aleatório → criativo mas pode ser incoerente

Top-k e Top-p

Limitam os candidatos antes da escolha:

  • Top-k=50: considera apenas os 50 tokens mais prováveis
  • Top-p=0.9: considera tokens até somar 90% de probabilidade

Você vai ver o efeito da temperatura ao vivo na demo deste módulo!

Scaling Laws e capacidades emergentes

Capacidades emergentes:

Modelos maiores não são só “melhores”: habilidades novas (few-shot, raciocínio passo a passo, código) surgem a partir de um certo tamanho.

GPT-2 (124M) → completa texto simples

GPT-3 (175B) → few-shot, raciocínio básico

GPT-4 (~1.8T?) → raciocínio complexo, multimodal

Hoje (GPT-5, Claude Opus/Fable, Gemini) → raciocínio longo, agentes autônomos

Daí a corrida atual: GPT-5, Claude e Gemini (proprietários) vs DeepSeek, Llama, Qwen e Kimi (pesos abertos). E a escala hoje não é só tamanho: modelos também melhoram “pensando” por mais tempo antes de responder.

🎮 DEMO 7: Preditor de Próxima Palavra

🔍 O que vamos ver
💻
GPT-2 (124M parâmetros) rodando localmente
🔟
Top-10 tokens mais prováveis com probabilidades
🧩
Visualização da tokenização (como texto vira tokens)
🌡️
Geração de texto com controle de temperature

Modelo:

GPT-2 Small (124M params, ~500MB). Roda em CPU com inferência em ~1-2s por token.

🧪 Experimentos sugeridos
1
“The capital of France is” → “Paris” com alta probabilidade?
2
“Once upon a time” → gere um conto!
3
Compare temperature 0.1 vs 1.5: qual texto é mais criativo?
4
Veja a tokenização: “artificial intelligence” → quantos tokens?
5
Pergunte algo factual → o modelo “sabe”?

Recapitulando o Módulo 7

O que vimos:

  1. RNNs/LSTMs: processamento sequencial, memória limitada
  2. Self-Attention: cada palavra olha para todas as outras
  3. Transformer: a arquitetura que substituiu RNNs
  4. BERT vs GPT: encoder (entender) vs decoder (gerar)
  5. Tokenização BPE: texto → subpalavras → números
  6. Next-token prediction: como LLMs geram texto
  7. Scaling laws: mais = melhor (+ emergent abilities)
  8. RLHF: de modelo base a ChatGPT

Próximo módulo:

Encerramento: a jornada completa!

  • De \(y = wx + b\) até LLMs
  • IA na educação
  • Ética e responsabilidade
  • Recursos para continuar

Percorremos toda a jornada: de uma simples reta até modelos com centenas de bilhões de parâmetros que conversam conosco. No próximo módulo, vamos juntar tudo!

Obrigado!

Inteligência Artificial sem Mistério Dos conceitos básicos aos modelos generativos

Perguntas?

Os demos e materiais estão disponíveis para uso e experimentação em: lucasai@sporedata.com