Dos conceitos básicos aos modelos generativos
Chief data scientist
Professor/pesquisador universitário
Módulo 1
Fundamentos
O que é IA · História · Tipos de Aprendizado · Anatomia de um problema de ML
“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.
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”.
Redes neurais existiam há décadas. O avanço veio quando algoritmos, dados e hardware finalmente se encontraram:
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.
| 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
Essa é a ideia central de ML: em vez de programar regras explicitamente, fornecemos exemplos e deixamos o algoritmo aprender.
Tipos de Aprendizado
O modelo aprende a partir de exemplos rotulados:

O modelo recebe apenas dados, sem rótulos:
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.
Um agente aprende por tentativa e erro:
Ciclo do Reforço
| 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
“Garbage in, garbage out”
O melhor algoritmo do mundo não resolve dados ruins. 80% do trabalho em ML é preparar dados.
Problemas comuns:
| Á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 |
As variáveis de entrada que descrevem cada exemplo:
São os atributos que o modelo usa para fazer previsões.
A variável de saída que queremos prever:
Em aprendizado supervisionado, sempre temos features e labels nos dados de treino. O objetivo é prever o label de dados novos.
Por que separar? Se avaliarmos no mesmo dado que treinamos, o modelo pode ter decorado os exemplos em vez de aprender padrões gerais.
● Treino ● Teste ╌╌ Padrão real
Reta ignora a curva real. Erra treino e teste.
“Estudou pouco para a prova”
Curva acompanha o padrão real. Acerta treino e teste.
“Entendeu a matéria”
Zigue-zague cola nos azuis, foge do real. Acerta treino, erra teste.
“Decorou o gabarito”
Modelos Lineares
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
A ideia: encontrar a reta que melhor se ajusta aos dados.
Aplicações reais:
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!
Os traços vermelhos são os resíduos, a distância entre cada ponto e a reta. O objetivo é minimizar esses resíduos.
\[\hat{y} = wx + b\]
O objetivo do modelo é aprender os melhores valores de \(w\) e \(b\) a partir dos dados.
\[MSE = \frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2\]
O MSE define uma superfície de custo: um “terreno” onde queremos encontrar o ponto mais baixo.
Imagine que você está no topo de um morro com os olhos vendados:
\[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!
Escolher o learning rate certo é um dos hiperparâmetros mais importantes em ML.
E se tivermos mais de uma feature?
\[\hat{y} = w_1 x_1 + w_2 x_2 + ... + w_n x_n + b\]

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.
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.
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.
Antes de classificar ao vivo, o mapa completo de como medimos um modelo:
Limitação importante: a regressão logística só cria fronteiras lineares (retas/planos). Dados não-lineares precisam de modelos mais complexos.
Estes conceitos são a base de tudo que vem a seguir:
Módulo 3
Modelos Clássicos de ML
Árvores · Random Forest · kNN · SVM
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:
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!
Em vez de árvores em paralelo (votação), treina árvores em sequência:
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!
Para classificar um novo ponto:
Mesmo dataset, modelos diferentes → fronteiras de decisão completamente diferentes!
Redes Neurais: a revolução do deep learning!
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
A seguir: o neurônio artificial é uma simplificação radical desta ideia (inspirada, não uma cópia).
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 modelo de neurônio mais simples:
\[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.
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!
A função de ativação quebra a linearidade, permitindo que a rede aprenda padrões complexos.
Cada camada oculta aprende uma representação diferente dos dados:
É como se a rede criasse suas próprias features automaticamente!
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.
Em vez de atualizar pesos a cada exemplo, processamos um lote (batch) de exemplos e calculamos a média dos gradientes.
Uma passagem completa por todos os dados de treino.
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.
Uma rede neural com uma única camada oculta e neurônios suficientes pode aproximar qualquer função contínua com precisão arbitrária.
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.
Deep Learning e CNNs: redes neurais para imagens!
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
Cada camada aprende uma representação diferente dos dados, do simples ao complexo:

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.
E são dois problemas, não um:
Explode: e isso é só a primeira camada. A rede inteira chegaria a bilhões de pesos.
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.
O mesmo filtro percorre a imagem inteira: só 9 parâmetros, reaproveitados em toda parte.
[+1, 0, -1]Três vantagens de peso:
Compartilhamento de pesos: o mesmo filtro varre a imagem toda → pouquíssimos parâmetros
Invariância à posição: acha o padrão em qualquer lugar
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.
O objetivo é encolher o mapa mantendo o que há de mais forte em cada região.
A cada bloco Conv + Pool:
Começa em pixels, termina em “conceitos”.
Ativações reais de uma AlexNet: as camadas rasas pegam bordas; as profundas, conceitos. É exatamente o que empilhar Conv + Pool constrói.
Duas fases: as camadas Conv + Pool extraem features cada vez mais abstratas; as camadas densas classificam nos 10 dígitos.
1. Feature Extraction (convolução):
2. Classificação (fully connected):
| 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 |
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!
Exemplo real:
Classificar radiografias de tórax:
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.
NLP e Embeddings: processando linguagem natural!
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
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?
| gato | 1 |
| sentou | 1 |
| no | 1 |
| tapete | 1 |
| cachorro | 0 |
| correu | 0 |
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.
“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.
O gato sentou no tapete macio
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.
paris − frança + itália = roma
maior − grande + pequeno = menor
andando − andar + nadar = nadando
Os embeddings organizam conceitos como direções:
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\|}\]
Exemplos:
GloVe (Stanford, 2014)
FastText (Facebook, 2016)
Embeddings Contextuais (2018+)
O gato sentou no tapete
GloVe pré-treinado (50 dimensões), treinado na Wikipedia em inglês. Vocabulário de ~400K palavras.
Transformers e LLMs: a revolução que criou o ChatGPT!
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
No Módulo 6, palavras viraram vetores com significado. Mas linguagem é sequência:
Como um modelo lê uma frase inteira?
Em vez de processar palavra por palavra, cada palavra “olha” para todas as outras simultaneamente e decide quais são relevantes.
Impacto:
Tudo começou com esse paper de 2017!
O gato sentou no tapete
The cat sat
sentou ← próxima palavra (volta para a entrada e o ciclo repete)
O gato
O [MASK] sentou no tapete
O gato sentou no ???
Int5765 elig14854 ência9870 artificial11666 é304 fasc18932 in259 ante4630
O gato sentou no
. . .
É só isso: todo texto do ChatGPT nasce desse ciclo, um token por vez.
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
Limitam os candidatos antes da escolha:
Você vai ver o efeito da temperatura ao vivo na demo deste módulo!

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.
GPT-2 Small (124M params, ~500MB). Roda em CPU com inferência em ~1-2s por token.
Encerramento: a jornada completa!
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