Entrar em Contato

Programa do Curso

Parte 1 – Conceitos de Aprendizado Profundo e DNN

Introdução à IA, Aprendizado de Máquina & Aprendizado Profundo

  • História, conceitos básicos e aplicações usuais da inteligência artificial, afastando-se das fantasias frequentemente associadas a esse domínio
  • Inteligência Coletiva: agregando conhecimento compartilhado por muitos agentes virtuais
  • Algoritmos genéticos: evoluir uma população de agentes virtuais por seleção
  • Aprendizado de Máquina: definição.
  • Tipos de tarefas: aprendizado supervisionado, aprendizado não supervisionado, aprendizado por reforço
  • Tipos de ações: classificação, regressão, agrupamento (clustering), estimativa de densidade, redução de dimensionalidade
  • Exemplos de algoritmos de Aprendizado de Máquina: Regressão Linear, Naive Bayes, Random Tree
  • Aprendizado de Máquina vs Aprendizado Profundo: problemas em que o Aprendizado de Máquina ainda é considerado o estado da arte hoje (Random Forests & XGBoosts)

Conceitos Básicos de uma Rede Neural (Aplicação: percepção multicamadas)

  • Revisão das bases matemáticas.
  • Definição de uma rede de neurônios: arquitetura clássica, ativação
  • Ponderação de ativações anteriores, profundidade de uma rede
  • Definição do aprendizado de uma rede de neurônios: funções de custo, retropropagação (back-propagation), descente do gradiente estocástico, máxima verossimilhança.
  • Modelagem de uma rede neural: modelagem de dados de entrada e saída de acordo com o tipo de problema (regressão, classificação...). Amaldiçoamento da dimensionalidade.
  • Diferença entre dados com múltiplos recursos e sinal. Escolha de uma função de custo de acordo com os dados.
  • Aproximação de uma função por uma rede de neurônios: apresentação e exemplos
  • Aproximação de uma distribuição por uma rede de neurônios: apresentação e exemplos
  • Aumento de dados (Data Augmentation): como equilibrar um conjunto de dados
  • Generalização dos resultados de uma rede de neurônios.
  • Inicialização e regularização de uma rede neural: regularização L1 / L2, Normalização por Lote (Batch Normalization)
  • Algoritmos de otimização e convergência

Ferramentas Padrão de AM / AP

Está planejada uma apresentação simples destacando vantagens, desvantagens, posição no ecossistema e uso.

  • Ferramentas de gestão de dados: Apache Spark, Ferramentas Apache Hadoop
  • Aprendizado de Máquina: Numpy, Scipy, Sci-kit
  • Frameworks de alto nível para AP: PyTorch, Keras, Lasagne
  • Frameworks de baixo nível para AP: Theano, Torch, Caffe, Tensorflow

Redes Neurais Convolucionais (CNN).

  • Apresentação das CNNs: princípios fundamentais e aplicações
  • Operação básica de uma CNN: camada convolucional, uso de um kernel,
  • Padding & stride, geração de mapa de características (feature map), camadas de pooling. Extensões 1D, 2D e 3D.
  • Apresentação das diferentes arquiteturas de CNN que trouxeram o estado da arte em classificação
  • Imagens: LeNet, Redes VGG, Network in Network, Inception, Resnet. Apresentação das inovações trazidas por cada arquitetura e suas aplicações mais globais (Convolução 1x1 ou conexões residuais)
  • Uso de um modelo de atenção (attention model).
  • Aplicação a um caso comum de classificação (texto ou imagem)
  • CNNs para geração: super-resolução, segmentação pixel a pixel. Apresentação de
  • Principais estratégias para aumentar mapas de características para geração de imagens.

Redes Neurais Recorrentes (RNN).

  • Apresentação das RNNs: princípios fundamentais e aplicações.
  • Operação básica da RNN: ativação oculta, retropropagação através do tempo (back propagation through time), versão desenrolada (Unfolded).
  • Evoluções em direção às Unidades Recorrentes com Porta (GRUs) e LSTM (Long Short Term Memory).
  • Apresentação dos diferentes estados e as evoluções trazidas por essas arquiteturas
  • Problemas de convergência e gradiente desaparecente (vanishing gradient)
  • Arquiteturas clássicas: Previsão de uma série temporal, classificação ...
  • Arquitetura do tipo Encoder-Decoder para RNN. Uso de um modelo de atenção.
  • Aplicações em PLN: codificação de palavra / caractere, tradução.
  • Aplicações em Vídeo: previsão da próxima imagem gerada de uma sequência de vídeo.

Modelos Generativos: Variational AutoEncoder (VAE) e Geradores Adversariais (GAN).

  • Apresentação dos modelos generativos, vínculo com as CNNs
  • Autoencoder: redução de dimensionalidade e geração limitada
  • Autoencoder Variacional: modelo generativo e aproximação da distribuição de um dado. Definição e uso de espaço latente.truque de reparametrização. Aplicações e Limites observados
  • Geradores Adversariais: Fundamentos.
  • Arquitetura de Rede Dual (Gerador e discriminador) com aprendizado alternado, funções de custo disponíveis.
  • Convergência de uma GAN e dificuldades encontradas.
  • Convergência aprimorada: Wasserstein GAN, Began. Distância de Movimento de Terra (Earth Moving Distance).
  • Aplicações para geração de imagens ou fotografias, geração de texto, super-resolução.

Aprendizado Profundo por Reforço.

  • Apresentação do aprendizado por reforço: controle de um agente em um ambiente definido
  • Por um estado e possíveis ações
  • Uso de uma rede neural para aproximar a função de estado
  • Deep Q Learning: replay de experiência e aplicação ao controle de um jogo de vídeo.
  • Otimização da política de aprendizado. On-policy && off-policy. Arquitetura Actor-critic. A3C.
  • Aplicações: controle de um único jogo de vídeo ou de um sistema digital.

Parte 2 – Theano para Aprendizado Profundo

Fundamentos do Theano

  • Introdução
  • Instalação e Configuração

Funções do Theano

  • entradas, saídas, atualizações, dados específicos (givens)

Treinamento e Otimização de uma rede neural usando Theano

  • Modelagem de Rede Neural
  • Regressão Logística
  • Camadas Ocultas
  • Treinamento de uma rede
  • Computação e Classificação
  • Otimização
  • Log Loss

Testando o modelo

Parte 3 – DNN usando TensorFlow

Fundamentos do TensorFlow

  • Criação, Inicialização, Salvamento e Restauração de variáveis TensorFlow
  • Alimentação, Leitura e Pré-carregamento de Dados TensorFlow
  • Como usar a infraestrutura do TensorFlow para treinar modelos em escala
  • Visualização e Avaliação de modelos com TensorBoard

Mecanismos do TensorFlow

  • Preparar os Dados
  • Download
  • Entradas e Placeholders
  • Construir os Grafos (Graphs)
    • Inferência
    • Perda (Loss)
    • Treinamento
  • Treinar o Modelo
    • O Grafo
    • A Sessão
    • Loop de Treinamento
  • Avaliar o Modelo
    • Construir o Grafo de Avaliação
    • Saída de Avaliação

O Perceptron

  • Funções de ativação
  • Algoritmo de aprendizado do perceptron
  • Classificação binária com o perceptron
  • Classificação de documentos com o perceptron
  • Limitações do perceptron

Do Perceptron às Máquinas de Vetores de Suporte

  • Kernels e o truque do kernel
  • Classificação de margem máxima e vetores de suporte

Redes Neurais Artificiais

  • Fronteiras de decisão não lineares
  • Redes neurais artificiais feedforward e feedback
  • Perceptrons multicamadas
  • Minimização da função de custo
  • Propagação direta
  • Retropropagação
  • Melhorando a forma como redes neurais aprendem

Redes Neurais Convolucionais

  • Objetivos
  • Arquitetura do Modelo
  • Princípios
  • Organização do Código
  • Lançamento e Treinamento do Modelo
  • Avaliando um Modelo

Introduções Básicas a serem fornecidas para os módulos abaixo (Breve Introdução a ser fornecida com base na disponibilidade de tempo):

TensorFlow - Uso Avançado

  • Threading e Filas
  • TensorFlow Distribuído
  • Escrita de Documentação e Compartilhamento do seu Modelo
  • Personalização de Leitores de Dados
  • Manipulação de Arquivos de Modelo TensorFlow

TensorFlow Serving

  • Introdução
  • Tutorial Básico de Serving
  • Tutorial Avançado de Serving
  • Tutorial de Serving do Modelo Inception

Requisitos

Formação em física, matemática e programação. Experiência em atividades de processamento de imagem.

Os participantes devem ter um entendimento prévio dos conceitos de aprendizado de máquina e experiência com programação em Python e suas bibliotecas.

 35 Horas

Número de participantes


Preço por participante

Testemunhos de Clientes (2)

Próximas Formações Provisórias

Categorias Relacionadas