AI003

Introdução à Aprendizagem Profunda

A aprendizagem profunda é um subcampo da aprendizagem de máquina que se concentra em aprender representações de características complexas e hierárquicas a partir de dados brutos usando redes neurais artificiais. O curso aborda os princípios fundamentais, matemática subjacente, conceitos de otimização (descida do gradiente, propagação reversa), módulos de rede (camadas lineares, convolucionais, de pooling) e arquiteturas comuns (CNNs, RNNs). Aplicações demonstradas incluem visão computacional, processamento de linguagem natural e aprendizado por reforço. Os alunos usarão a biblioteca de aprendizagem profunda PyTorch para implementação e concluirão um projeto final em uma situação do mundo real.

5.0 Avaliação
512 Alunos

Visão Geral do Curso

📚 Resumo do Conteúdo

A aprendizagem profunda é um subcampo da aprendizagem de máquina que se concentra em aprender representações de características complexas e hierárquicas a partir de dados brutos usando redes neurais artificiais. O curso aborda princípios fundamentais, matemática subjacente, conceitos de otimização (descida do gradiente, retropropagação), módulos de rede (camadas lineares, convolucionais, de pooling) e arquiteturas comuns (CNNs, RNNs). Aplicações demonstradas incluem visão computacional, processamento de linguagem natural e aprendizado por reforço. Os alunos utilizarão a biblioteca de aprendizagem profunda PyTorch para implementação e concluirão um projeto final em um cenário do mundo real.

Um resumo breve dos objetivos principais: dominar a teoria da aprendizagem profunda, implementar modelos usando o PyTorch, compreender arquiteturas especializadas (CNNs, RNNs, Transformers) e aplicar esses conceitos à visão computacional, NLP e tomada de decisões sequenciais.

🎯 Objetivos de Aprendizagem

  1. Explicar as fundações matemáticas e técnicas centrais de otimização (Descida do Gradiente, Retropropagação) necessárias para treinar redes neurais profundas.
  2. Utilizar o framework de aprendizagem profunda PyTorch para implementar, treinar e depurar arquiteturas modernas de forma eficiente, usando aceleração CUDA e técnicas eficientes de manipulação de dados.
  3. Projetar e analisar arquiteturas especializadas, incluindo Redes Neurais Convolucionais (CNNs) para dados de imagem e o modelo Transformer para dependências sequenciais.
  4. Aplicar técnicas de aprendizagem profunda para resolver problemas práticos em domínios centrais de aplicação: Visão Computacional, Processamento de Linguagem Natural e Aprendizado por Reforço.
  5. Avaliar modelos com base em robustez, interpretabilidade e equidade ética, comparando as vantagens de diversos paradigmas avançados (por exemplo, Modelos Gerativos, Aprendizado Semi-Supervisionado).

🔹 Aula 1: Fundamentos da Aprendizagem Profunda e Otimização

Visão Geral: Esta aula fundamental apresenta os blocos construtores centrais da aprendizagem profunda. Começamos examinando classificadores lineares, focando especificamente na função Softmax e no uso da perda de Entropia Cruzada para quantificar o erro. Com base nisso, definimos a estrutura de uma rede neural feedforward básica (Perceptron Multicamadas), detalhando o papel de pesos, vieses e funções de ativação não lineares (por exemplo, ReLU). O foco principal muda para o processo de otimização necessário para treinar esses modelos altamente parametrizados. Introduziremos a Descida do Gradiente (GD) como algoritmo central de otimização, contrastando seus requisitos computacionais com os da Descida do Gradiente Estocástico (SGD) e GD de mini-lotes. Crucialmente, a aula culmina em uma explicação detalhada do algoritmo de retropropagação, mostrando como a regra da cadeia do cálculo é aplicada de forma eficiente via grafos de computação para calcular gradientes necessários para atualizações de pesos em todas as camadas. Resultados de Aprendizagem:

  • Definir a estrutura de uma rede neural feedforward básica e explicar a necessidade de funções de ativação não lineares (por exemplo, ReLU).
  • Formular funções de perda de classificação (por exemplo, Softmax e Entropia Cruzada) e entender como elas quantificam o erro do modelo.
  • Explicar a mecânica da Descida do Gradiente (GD) e diferenciar suas variantes (SGD, GD de mini-lotes) em termos de convergência e eficiência computacional.
  • Derivar o algoritmo de retropropagação usando a regra da cadeia e demonstrar sua implementação via grafos de computação para calcular gradientes.
  • Identificar os pré-requisitos matemáticos-chave (álgebra linear e cálculo multivariado) necessários para entender a otimização de redes neurais.

🔹 Aula 2: Implementação Prática e Ferramentas de Aprendizagem Profunda

Visão Geral: Esta aula transita dos conceitos teóricos para implementação prática de aprendizagem profunda em produção usando o PyTorch, a biblioteca central deste curso. Começamos pelos fundamentos do PyTorch, detalhando a estrutura Tensor, utilizando CUDA para aceleração por GPU e entendendo a diferenciação automática através do grafo de computação dinâmico. Um foco crítico será a manipulação eficiente de dados: introduzindo a classe Dataset do PyTorch para abstração de dados e o DataLoader para gerenciar grandes conjuntos de dados, permitindo lotes, embaralhamento e carregamento multi-processo. Finalmente, abordaremos considerações práticas para escalar o treinamento, cobrindo otimização de gerenciamento de memória, técnicas como acúmulo de gradientes e introduzindo os conceitos centrais por trás do treinamento distribuído (por exemplo, Paralelismo de Dados), necessários para trabalhar com modelos que ultrapassam a capacidade de uma única GPU. Resultados de Aprendizagem:

  • Implementar operações centrais de aprendizagem profunda usando Tensors do PyTorch e utilizar seus recursos de diferenciação automática para cálculo de gradientes.
  • Projetar e implementar pipelines de dados eficientes usando as abstrações Dataset e DataLoader do PyTorch para lidar com entradas de dados em grande escala e lotes.
  • Configurar modelos e dados para treinamento em GPUs habilitadas para CUDA, acelerando significativamente o processo de treinamento e inferência.
  • Explicar o papel de técnicas de otimização de memória, como o acúmulo de gradientes, e entender os fundamentos conceituais do treinamento distribuído para escalabilidade.

🔹 Aula 3: Redes Convolucionais: Camadas e Arquiteturas

Visão Geral: Esta aula apresenta as Redes Neurais Convolucionais (CNNs), a pedra angular da visão computacional moderna. Exploraremos profundamente os módulos fundamentais: a Camada Convolucional e a Camada de Pooling. Para a Camada Convolucional, cobriremos a matemática da operação, incluindo os papéis de kernels (filtros), stride e padding, e discutiremos conceitos-chave como conectividade local e compartilhamento de parâmetros que tornam as CNNs eficientes para dados de imagem de alta dimensão. Diferenciaremos o Max Pooling do Average Pooling e explicaremos seu papel crítico na redução de dimensionalidade e na indução da invariância à translação. Finalmente, sintetizaremos essas camadas em arquiteturas CNN básicas e completas, ilustrando a transição comum de dados de pixels brutos por meio de pilhas de extração hierárquica de características até camadas totalmente conectadas para classificação final, usando modelos clássicos como LeNet-5 como exemplos representativos. Resultados de Aprendizagem:

  • Explicar a operação matemática da convolução 2D, incluindo como o tamanho do filtro, stride e padding afetam as dimensões do mapa de características de saída.
  • Articular os conceitos de conectividade local e compartilhamento de parâmetros e como eles contribuem para a eficiência e eficácia das CNNs em comparação com redes totalmente conectadas para dados de imagem.
  • Diferenciar entre Max Pooling e Average Pooling e descrever o propósito primário das camadas de pooling na redução de dimensionalidade do mapa de características e na obtenção da invariância à translação.
  • Projetar e analisar uma arquitetura CNN básica sequencial composta por camadas intercaladas de convolução, ativação (ReLU), pooling e camadas totalmente conectadas.

🔹 Aula 4: Visão Computacional: Modelos Avançados e Interpretação

Visão Geral: Esta aula avança além das CNNs fundamentais (como AlexNet) para explorar arquiteturas sofisticadas e altamente influentes de aprendizagem profunda usadas em tarefas de visão computacional de ponta. Analisaremos os princípios de design e inovações por trás de modelos-chave, incluindo a profundidade enxuta das redes VGG, a agregação de características em múltiplas escalas do Inception (GoogLeNet) e o uso crítico de conexões residuais no ResNet para superar o problema do gradiente desvanecido em redes extremamente profundas. A segunda metade da aula foca no tema vital da interpretabilidade do modelo e IA explicável (XAI). Os alunos aprenderão técnicas de visualização, como inspecionar ativações de mapas de características, e mergulharão em métodos baseados em gradientes para localização. Especificamente, cobriremos a mecânica e implementação do Mapeamento de Ativação de Classe (CAM) e sua generalização baseada em gradientes, o Grad-CAM, que explica visualmente as decisões da rede destacando regiões salientes na imagem de entrada. Resultados de Aprendizagem:

  • Comparar e contrastar as inovações arquiteturais centrais (por exemplo, conexões residuais, módulos inception) dos modelos VGG, GoogLeNet e ResNet.
  • Explicar o papel e os desafios da escalabilidade da profundidade da rede, especificamente abordando o problema de degradação e como o ResNet o mitiga.
  • Detalhar métodos fundamentais para visualização de características, incluindo a inspeção de ativações em camadas intermediárias e filtros aprendidos.
  • Esboçar o mecanismo teórico do Mapeamento de Ativação de Classe (CAM) e do Grad-CAM para gerar explicações visuais baseadas no fluxo de gradientes.
  • Aplicar técnicas de interpretabilidade para analisar e diagnosticar o processo de tomada de decisão de CNNs avançadas em tarefas de classificação.

🔹 Aula 5: Redes Neurais Recorrentes e Modelagem Sequencial

Visão Geral: Esta aula introduz os desafios da modelagem de dados estruturados, especificamente sequências (por exemplo, texto, séries temporais), que violam a suposição de independência comum em redes feedforward. Definiremos tarefas de modelagem sequencial, como tradução automática, reconhecimento de fala e previsão de séries temporais, enfatizando a necessidade de um mecanismo para manter informações de estado. O foco central será na arquitetura de Redes Neurais Recorrentes (RNNs) tradicionais. Conceitos-chave abordados incluem o mecanismo de pesos compartilhados, a expansão dos grafos de computação ao longo dos passos de tempo, o cálculo das atualizações do estado oculto (h_t) e o manejo de sequências de entrada de comprimento variável. Também examinaremos as limitações principais das RNNs básicas, nomeadamente a falha em capturar dependências de longo prazo devido aos problemas de gradiente desvanecente e explodindo encontrados durante a retropropagação no tempo (BPTT). Resultados de Aprendizagem:

  • Definir dados estruturados (sequências) e explicar por que redes feedforward padrão (FNNs) são inadequadas para modelar dependências sequenciais.
  • Descrever a arquitetura fundamental de uma Rede Neural Recorrente (RNN) básica, identificando componentes como o estado oculto e as matrizes de pesos compartilhadas.
  • Ilustrar o processo de "desdobramento" de um grafo de computação de RNN ao longo dos passos de tempo e discutir como sequências de entrada de comprimento variável são tratadas.
  • Explicar o mecanismo da Retropropagação no Tempo (BPTT) e analisar os problemas de gradiente desvanecente e explodindo inerentes ao treinamento de RNNs tradicionais.

🔹 Aula 6: Mecanismos de Atenção e Arquitetura Transformer

Visão Geral: Esta aula oferece uma análise aprofundada sobre a mudança paradigmática introduzida pelo artigo "Attention Is All You Need", movendo a modelagem sequencial além das Redes Neurais Recorrentes (RNNs) eliminando a recorrência e confiando exclusivamente na atenção. Primeiro estabeleceremos a base matemática do Mecanismo de Atenção, focando especificamente na Attenção Produto Escalonado usando vetores Query (Q), Key (K) e Value (V). A palestra expande então esse conceito para o mecanismo de Attenção Multi-Cabeça, explicando seu papel em capturar dependências contextuais diversas. O foco central será na arquitetura completa do Transformer, analisando a estrutura das pilhas Encoder e Decoder, incluindo elementos cruciais como conexões residuais, Normalização por Camada e a codificação posicional essencial para manter informações sequenciais. Finalmente, examinamos como o Transformer permite uma paralelização significativa e seu impacto revolucionário em áreas como Tradução Automatizada Neural e modelos linguísticos pré-treinados. Resultados de Aprendizagem:

  • Definir o propósito dos mecanismos de atenção e explicar como eles resolvem as limitações (por exemplo, dependências de longo alcance, gargalo de processamento sequencial) das Redes Neurais Recorrentes.
  • Detalhar a operação matemática da Attenção Produto Escalonado, identificando corretamente os papéis dos vetores Query, Key e Value.
  • Descrever a estrutura geral do modelo Transformer, diferenciando entre as pilhas Encoder e Decoder e explicando a função da Attenção Multi-Cabeça e das Redes Feed-Forward.
  • Explicar a necessidade e a implementação matemática da Codificação Posicional dentro da arquitetura Transformer, que é invariante a permutações.
  • Analisar os benefícios computacionais (paralelização) e a ampla aplicabilidade da arquitetura Transformer em tarefas modernas de Aprendizagem Profunda, citando modelos como BERT e GPT.

🔹 Aula 7: Aplicações de Processamento de Linguagem Natural e Embeddings

Visão Geral: Esta palestra mergulha nos aspectos fundamentais e aplicados da Aprendizagem Profunda para o Processamento de Linguagem Natural (NLP). Começamos abordando a necessidade crucial de representações eficazes de palavras, passando de métodos esparsos para embeddings densos e aprendidos. Explicaremos os mecanismos centrais do Word2Vec (Skip-gram e CBOW), destacando como o contexto gera representações vetoriais ricas que capturam significado semântico. Em seguida, aplicaremos esses conceitos fundamentais a duas tarefas principais de NLP: Tradução Automatizada Neural (NMT), utilizando arquiteturas encoder-decoder sequência-a-sequência e o papel crítico dos Mecanismos de Atenção no manejo de dependências longas e alinhamento; e Reconhecimento Automatizado de Fala (ASR), explorando como modelos profundos lidam com sequências temporais de dados acústicos para gerar saída textual. A discussão enfatizará como embeddings e arquiteturas de aprendizagem profunda sequenciais formam a base dos sistemas comerciais modernos de NLP. Resultados de Aprendizagem:

  • Explicar as limitações das representações esparsas de palavras (por exemplo, codificação one-hot) e justificar a necessidade de embeddings vetoriais densos.
  • Descrever os princípios fundamentais e a arquitetura de modelos como o Word2Vec (Skip-gram/CBOW) usados para aprender representações distribuídas.
  • Esboçar os componentes centrais (Encoder, Decoder, Atenção) de um sistema moderno de Tradução Automatizada Neural, contrastando-o com métodos tradicionais.
  • Analisar os desafios intrínsecos às tarefas sequência-a-sequência como NMT e Reconhecimento Automatizado de Fala (ASR), particularmente quanto a comprimentos de entrada/saída variáveis.
  • Identificar como arquiteturas neurais são adaptadas para lidar com entrada de áudio no contexto do Reconhecimento Automatizado de Fala.

🔹 Aula 8: Modelos Gerativos: VAEs e Redes Gerativas Adversariais

Visão Geral: Esta aula introduz os dois modelos gerativos profundos modernos centrais: Autoencoders Variacionais (VAEs) e Redes Gerativas Adversariais (GANs). Começamos com os VAEs, detalhando sua arquitetura — um codificador mapeando dados para uma distribuição latente parametrizada e um decodificador gerando amostras. Um forte foco será colocado na matemática subjacente, especialmente na função objetivo do Limite Inferior da Evidência (ELBO), analisando os papéis da perda de reconstrução e do termo de divergência KL para regularização. O Truque de Reparametrização crítico, necessário para permitir o fluxo de gradientes através do processo de amostragem, será explicado detalhadamente. Em seguida, passamos aos GANs, definindo o jogo adversarial e zero-soma entre o gerador (G) e o discriminador (D). A palestra aborda a função valor minimax teórica, explora como o discriminador ótimo maximiza o objetivo e discute desafios práticos importantes como colapso de modo e instabilidade no treinamento. Finalmente, fornecemos uma comparação qualitativa, contrastando o espaço latente interpretável dos VAEs com a fidelidade geralmente superior das amostras dos GANs. Resultados de Aprendizagem:

  • Diferenciar entre modelagem discriminativa e gerativa e explicar o objetivo matemático de aprender distribuições de dados complexas.
  • Explicar a arquitetura de um Autoencoder Variacional (VAE) e derivar a função objetivo do Limite Inferior da Evidência (ELBO).
  • Analisar a necessidade e função do Truque de Reparametrização no treinamento de VAEs para garantir uma retropropagação efetiva.
  • Descrever o processo de treinamento de uma Rede Gerativa Adversarial (GAN) como um jogo minimax entre o Gerador e o Discriminador.
  • Comparar e contrastar VAEs e GANs com base na qualidade das amostras, interpretabilidade do espaço latente e desafios comuns de treinamento como colapso de modo.

🔹 Aula 9: Aprendizagem por Reforço Profunda

Visão Geral: Esta aula introduz a Aprendizagem por Reforço Profunda (DRL) estabelecendo o quadro fundamental de tomada de decisões, o Processo de Decisão de Markov (MDP). Definiremos o ciclo agente-ambiente, espaços de estado e ação, e o objetivo de maximizar o retorno esperado descontado. Conceitos centrais da RL tradicional serão abordados, incluindo Funções de Valor e a Equação de Bellman de Otimização. A aula então transita para o DRL, explorando os desafios de grandes espaços de estado e como as Redes Q Profundas (DQN) superam isso usando redes neurais para aproximação da função Q. Detalharemos técnicas de estabilidade essenciais para o DQN, como replay de experiências e redes-alvo. Finalmente, contrastamos métodos baseados em valor com técnicas de Gradiente de Política, detalhando a intuição matemática por trás do algoritmo REINFORCE para otimização direta da política e preparando o terreno para arquiteturas mais avançadas tipo Actor-Critic. Resultados de Aprendizagem:

  • Formalizar problemas de tomada de decisões sequenciais usando o quadro de Processo de Decisão de Markov (MDP), incluindo definições de estado, ação, recompensa e função de valor.
  • Explicar a transição da Q-learning tabular para Redes Q Profundas (DQN) e identificar as técnicas críticas (replay de experiências, redes-alvo) usadas para estabilizar o treinamento do DRL.
  • Diferenciar fundamentalmente entre métodos baseados em valor (como DQN) e métodos baseados em política (como REINFORCE).
  • Descrever a função objetivo e a intuição matemática por trás do Teorema do Gradiente de Política e sua implementação no algoritmo REINFORCE.
  • Contrastar as aplicações de abordagens baseadas em valor versus baseadas em política em cenários modernos de Aprendizagem por Reforço Profunda.

🔹 Aula 10: Paradigmas Avançados de Aprendizagem e IA Ética

Visão Geral: Esta aula introduz paradigmas avançados de aprendizagem profunda necessários para implantação robusta e aborda implicações sociais críticas. Primeiro exploramos as bases teóricas e aplicações práticas da Aprendizagem Não Supervisionada, focando em modelos como Autoencoders e Modelos Gerativos quando usados para aprendizado de representações e detecção de anomalias. Em seguida, mergulhamos em técnicas de Aprendizado Semi-Supervisionado (SSL), como pseudo-rótulos e regularização de consistência (por exemplo, \Pi-Modelo, MixMatch), que são cruciais para aproveitar grandes quantidades de dados não rotulados junto com poucos exemplos rotulados. A segunda parte principal da aula examina criticamente a IA Ética, detalhando como a curadoria de dados e escolhas arquiteturais introduzem Viés Algorítmico. Definimos e analisamos métricas-chave de Equidade (por exemplo, Diferença de Oportunidade Igual, Paridade Demográfica) e discutimos estratégias eficazes de mitigação, enfatizando a importância da interpretabilidade do modelo (XAI) e da responsabilidade em sistemas de aprendizagem profunda de alto impacto. Resultados de Aprendizagem:

  • Distinguir entre aprendizado não supervisionado, semi-supervisionado e aprendizado supervisionado padrão e identificar cenários do mundo real apropriados para cada paradigma.
  • Descrever a função e arquitetura de modelos não supervisionados-chave, como Autoencoders e seu uso em redução de dimensionalidade ou aprendizado de representações.
  • Explicar a metodologia de técnicas modernas semi-supervisionadas, incluindo os conceitos de pseudo-rótulos e regularização de consistência.
  • Identificar e categorizar as fontes principais de viés algorítmico introduzidas durante todo o ciclo de vida da aprendizagem profunda (coleta de dados, modelagem, implantação).
  • Definir e comparar métricas comuns de equidade algorítmica (por exemplo, Odds Igualizados) e discutir os trade-offs inerentes às estratégias de mitigação de viés.