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.
Testemunhos de Clientes (2)
O treinamento foi organizado e bem planejado, e saí dele com conhecimento sistematizado e uma boa visão dos tópicos que estudamos
Magdalena - Samsung Electronics Polska Sp. z o.o.
Curso - Deep Learning with TensorFlow 2
Máquina Traduzida
Gostei muito do final, quando tivemos tempo para brincar com o CHAT GPT. O ambiente não estava configurado da melhor maneira para isso - em vez de uma grande mesa, algumas mesas menores teriam ajudado a formar grupos pequenos e favorecido a brainstorming.
Nola - Laramie County Community College
Curso - Artificial Intelligence (AI) Overview
Máquina Traduzida