Programa do Curso
Parte 1 – Conceitos de Aprendizado Profundo e DNN
Introdução ao AI, Aprendizado de Máquina e Aprendizado Profundo
- História, conceitos básicos e aplicações comuns da inteligência artificial, além das fantasias carregadas por esse domínio.
- Inteligência Coletiva: agregação de conhecimentos compartilhados por muitos agentes virtuais.
- Algoritmos Genéticos: para evoluir uma população de agentes virtuais por seleção.
- Aprendizado de Máquina Convencional: definição.
- Tipos de tarefas: aprendizado supervisionado, não supervisionado, por reforço.
- Tipos de ações: classificação, regressão, agrupamento, estimação de densidade, redução de dimensionalidade.
- Exemplos de algoritmos de Aprendizado de Máquina: Regressão Linear, Naive Bayes, Árvore Aleatória.
- Aprendizado de Máquina VS Aprendizado Profundo: problemas nos quais o Aprendizado de Máquina permanece o estado da arte (Random Forests & XGBoosts).
Conceitos Básicos de uma Rede Neural (Aplicação: perceptron multicamada)
- Revisão das bases matemáticas.
- Definição de uma rede neural: arquitetura clássica, ativação e
- Ponderação de ativações anteriores, profundidade de uma rede.
- Definição do aprendizado de uma rede neural: funções de custo, retropropagação, descida de gradiente estocástica, 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...). Maldição da dimensionalidade.
- Distinção entre dados multifuncionais e sinal. Escolha de uma função de custo de acordo com os dados.
- Aproximação de uma função por uma rede neural: apresentação e exemplos.
- Aproximação de uma distribuição por uma rede neural: apresentação e exemplos.
- Ampliação de dados: como balancear um conjunto de dados.
- Generalização dos resultados de uma rede neural.
- Inicialização e regularização de uma rede neural: regularização L1/L2, Normalização por Lote.
- Algoritmos de otimização e convergência.
Ferramentas Padrão de ML/DL
Uma apresentação simples com vantagens, desvantagens, posição no ecossistema e uso está planejada.
- Ferramentas de gerenciamento de dados: Apache Spark, Apache Hadoop Tools
- Aprendizado de Máquina: Numpy, Scipy, Sci-kit
- Frameworks de alto nível para DL: PyTorch, Keras, Lasagne
- Frameworks de baixo nível para DL: 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 mapas de características, camadas de pooling. Extensões 1D, 2D e 3D.
- Apresentação das diferentes arquiteturas de CNN que trouxeram o estado da arte na classificação.
- Imagens: LeNet, VGG Networks, 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.
- Aplicação a um caso comum de classificação (texto ou imagem).
- CNNs para geração: super-resolução, segmentação pixel-to-pixel. Apresentação das
- Principais estratégias para aumentar os mapas de características para a 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 no tempo, versão desdobrada.
- Evoluções para as Unidades Recorrentes com Portas (GRUs) e LSTM (Long Short Term Memory).
- Apresentação dos diferentes estados e evoluções trazidas por essas arquiteturas.
- Problemas de convergência e gradiente desaparecente.
- Arquiteturas clássicas: previsão de uma série temporal, classificação...
- Arquitetura de codificador-decodificador do tipo RNN. Uso de um modelo de atenção.
- Aplicações em NLP: codificação de palavras/caracteres, tradução.
- Aplicações de Vídeo: previsão da próxima imagem gerada em uma sequência de vídeo.
Modelos Gerativos: AutoEncoder Variacional (VAE) e Redes Adversárias Generativas (GAN).
- Apresentação dos modelos gerativos, link com as CNNs.
- Auto-encoder: redução de dimensionalidade e geração limitada.
- Auto-encoder Variacional: modelo gerativo e aproximação da distribuição de um dado. Definição e uso do espaço latente. Truque de reparametrização. Aplicações e limites observados.
- Redes Adversárias Generativas: 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.
- Melhoria da convergência: Wasserstein GAN, Began. Distância de Movimento da Terra.
- Aplicações para a geração de imagens ou fotografias, geração de texto, super-resolução.
Aprendizado por Reforço Profundo.
- Apresentação do aprendizado por reforço: controle de um agente em um ambiente definido.
- Por meio de um estado e ações possíveis.
- Uso de uma rede neural para aproximar a função de estado.
- Aprendizado Profundo Q: 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 ator-crítico. A3C.
- Aplicações: controle de um único jogo de vídeo ou sistema digital.
Parte 2 – Theano para Aprendizado Profundo
Noções Básicas do Theano
- Introdução
- Instalação e Configuração
TheanoFunctions
- entradas, saídas, atualizações, 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
Noções Básicas do TensorFlow
- Criação, Inicialização, Salvamento e Restauração de variáveis do TensorFlow
- Alimentação, Leitura e Pré-carregamento de Dados do TensorFlow
- Como usar a infraestrutura do TensorFlow para treinar modelos em larga escala
- Visualização e Avaliação de modelos com o TensorBoard
Mecânicas do TensorFlow
- Preparação dos Dados
- Download
- Entradas e Placeholders
-
Construção dos Grafos
- Inferência
- Perda
- Treinamento
-
Treinamento do Modelo
- O Grafo
- A Sessão
- Loop de Treinamento
-
Avaliação do Modelo
- Construção do Grafo de Avaliação
- Saída da 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 a técnica 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 multicamada
- Minimização da função de custo
- Propagação direta
- Retropropagação
- Melhoria na forma como as redes neurais aprendem
Redes Neurais Convolucionais
- Objetivos
- Arquitetura do Modelo
- Princípios
- Organização do Código
- Lançamento e Treinamento do Modelo
- Avaliação de um Modelo
Introduções Básicas a serem dadas aos módulos abaixo (Introdução Breve a ser fornecida com base na disponibilidade de tempo):
TensorFlow - Uso Avançado
- Threading e Filas
- TensorFlow Distribuído
- Escrevendo Documentação e Compartilhando seu Modelo
- Personalizando Leitores de Dados
- Manipulando Arquivos de Modelos do TensorFlow
Serviço TensorFlow
- Introdução
- Tutorial de Serviço Básico
- Tutorial de Serviço Avançado
- Tutorial de Serviço do Modelo Inception
Requisitos
Conhecimento em física, matemática e programação. Envolvimento em atividades de processamento de imagens.
Os participantes devem ter uma compreensão prévia dos conceitos de aprendizado de máquina e experiência com a linguagem Python e suas bibliotecas.
Declaração de Clientes (5)
O Hunter é fabuloso, muito cativante, extremamente conhecedor e pessoal. Muito bem feito.
Rick Johnson - Laramie County Community College
Curso - Artificial Intelligence (AI) Overview
Máquina Traduzida
O instrutor explicou o conteúdo bem e foi envolvente durante todo o tempo. Ele parava para fazer perguntas e nos deixava chegar às nossas próprias soluções em algumas sessões práticas. Ele também adaptou o curso bem aos nossos necessidades.
Robert Baker
Curso - Deep Learning with TensorFlow 2.0
Máquina Traduzida
Tomasz realmente conhece bem as informações e o curso foi bem ritmado.
Raju Krishnamurthy - Google
Curso - TensorFlow Extended (TFX)
Máquina Traduzida
Organização, seguindo a agenda proposta, o amplo conhecimento do treinador sobre este assunto
Ali Kattan - TWPI
Curso - Natural Language Processing with TensorFlow
Máquina Traduzida
Very updated approach or CPI (tensor flow, era, learn) to do machine learning.
Paul Lee
Curso - TensorFlow for Image Recognition
Máquina Traduzida