Deep Learning para iniciantes

Deep Learning para iniciantes: Tux, glyph freeCodeCamp e cartões de arquiteturas

O Deep Learning Crash Course for Beginners do Jason Dsouza no freeCodeCamp é o mapa do território: o que é DL, como a rede aprende, o vocabulário (loss, Adam, epoch) e as três famílias de arquitetura. Este texto compacta o curso. A conta por baixo — MatMul, GPU — está no GPU vs TPU; o neurônio em si, no O que é uma rede neural? (3Blue1Brown).

IA, ML, Deep Learning

IA
 └─ Machine Learning      (aprende com dados, não com if/else)
     └─ Deep Learning     (rede neural com várias camadas ocultas)

ML clássico pede que você escolha as features. DL aprende a representação direto do dado cru (end-to-end). É o motor de AlphaGo, visão veicular, diagnóstico e LLM — o mesmo stack que você roda no Linux com o Ollama.

O ciclo: frente, erro, volta

  1. Forward: entrada → camadas ocultas (peso w, viés b, ativação) → palpite na saída. No começo os pesos são aleatórios; o palpite é lixo.
  2. Loss: um número que mede o quão errado foi. Quanto maior, pior.
  3. Backprop + gradient descent: o erro volta. A regra da cadeia diz quanto cada peso contribuiu. O otimizador anda na direção oposta ao gradiente e o erro cai na próxima rodada.

Vocabulário que aparece no treino

Ativação — sem não-linearidade, N camadas lineares = 1 camada. Por isso existe σ.

Função Saída Uso
Sigmóide (0, 1) Saída binária; satura no meio da rede
Tanh (−1, 1) Centra em zero; melhor que σ no meio, clássico
ReLU max(0, x) [0, +∞) Padrão nas ocultas
Leaky ReLU Evita neurônio morto (gradiente pequeno em x<0)
Softmax probabilidades somam 1 Saída multiclasse

Loss: regressão → MSE (pune erro grande) ou MAE (mais robusto a outlier). Classificação → binary / categorical cross-entropy.

Otimizador: learning rate alta demais oscila; baixa demais não chega. SGD usa mini-lote; Momentum amortece; RMSprop/Adagrad adaptam por parâmetro; Adam (momentum + RMSprop) é o default da indústria.

Parâmetro a rede ajusta sozinha (peso, viés). Hiperparâmetro você escolhe: lr, batch, épocas, arquitetura.

1 época = 1 passagem no dataset. Batch size = quantos exemplos antes de atualizar. 1.000 amostras / batch 100 = 10 iterações por época.

Três jeitos de aprender — e o overfitting

  • Supervisionado: par (x, y). Imagem com rótulo, preço com valor.
  • Não-supervisionado: sem rótulo. Cluster, autoencoder, PCA.
  • Reforço: agente, ambiente, recompensa. AlphaGo, robô.

Underfit: modelo simples demais, erra até no treino. Overfit: memorizou o treino, quebra no teste.

Regularização que funciona: Dropout (desliga neurônios no treino), L1/L2 nos pesos, data augmentation (gira, corta, espelha), early stopping (para quando a loss de validação sobe).

Três arquiteturas

  • MLP / densa: camada a camada, sem memória. Tabela, regressão clássica.
  • RNN / LSTM / GRU: loop, estado interno. Série temporal, texto, log de servidor. LSTM/GRU têm portões para o gradiente não sumir em sequência longa.
  • CNN: kernel desliza na imagem, mapa de features + pooling. Visão. (Transformer comeu parte do texto; CNN ainda manda em visão clássica.)

Os 5 passos de qualquer projeto

  1. Dados. Garbage in, garbage out. Classe desbalanceada engana acurácia.
  2. Pré-processo. Nulo, escala [0,1] ou z-score, split treino / validação / teste (~80 / 10 / 10).
  3. Treino. Forward, loss, backprop, épocas.
  4. Avaliação. Além de acurácia: precisão, recall, F1, matriz de confusão — obrigatório se a classe rara importa.
  5. Ajuste. Grid/random search no hiperparâmetro, dropout, lr, mais camada se precisar.

Referências

Peso, loss, Adam, ReLU, split. Com isso o crash course cabe na cabeça — o resto é treinar e olhar o gráfico da validação.