Programa do Curso
Parte 1 – Conceitos de Aprendizado Profundo e DNNs
Introdução à IA, Aprendizado de Máquina e Aprendizado Profundo
- História, conceitos básicos e aplicações usuais da inteligência artificial, além das fantasias propagadas por este domínio
- Inteligência Coletiva: agregação de conhecimento compartilhado por muitos agentes virtuais
- Algoritmos genéticos: para evoluir uma população de agentes virtuais por seleção
- Máquinas de Aprendizado Usual: definição
- Tipos de tarefas: aprendizado supervisionado, aprendizado não supervisionado, aprendizado por reforço
- Tipos de ações: classificação, regressão, clustering, 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 como estado da arte hoje (Random Forests e XGBoosts)
Conceitos Básicos de uma Rede Neural (Aplicação: Perceptron Multicamadas)
- Revisão das bases matemáticas.
- Definição de uma rede de neurônios: arquitetura clássica, ativação e
- Ponderação das ativações anteriores, profundidade de uma rede
- Definição do aprendizado de uma rede de neurônios: funções de custo, retropropagação, descenso 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...). Maldição da dimensionalidade.
- Distinção entre dados multivariados e sinais. 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
- Augmentação de Dados: como balancear 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 em Lote
- Algoritmos de otimização e convergência
Ferramentas Padrão de ML / DL
Está planejada uma apresentação simples com vantagens, desvantagens, posição no ecossistema e casos de uso.
- Ferramentas de gerenciamento de dados: Apache Spark, ferramentas do Apache Hadoop
- 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
- Funcionamento básico de uma CNN: camada convolucional, uso de um kernel,
- Padding e 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 alcançaram 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 amplas (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-a-pixel. Apresentação das
- 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.
- Funcionamento básico da RNN: ativação oculta, retropropagação através do tempo, versão desenrolada.
- Evoluções em direção às Unidades Recorrentes com Portas (GRUs) e LSTMs (Long Short-Term Memory).
- Apresentação dos diferentes estados e das evoluções trazidas por essas arquiteturas
- Problemas de convergência e gradiente vanishing
- Arquiteturas clássicas: Predição de uma série temporal, classificação ...
- Arquitetura do tipo RNN Encoder-Decoder. Uso de um modelo de atenção.
- Aplicações em PLN: codificação de palavras / caracteres, tradução.
- Aplicações em Vídeo: previsão da próxima imagem gerada de uma sequência de vídeo.
Modelos Geradores: Autoencoder Variacional (VAE) e Redes Generativas Adversariais (GAN).
- Apresentação dos modelos generativos, ligação com as CNNs
- Auto-encoder: redução de dimensionalidade e geração limitada
- Autoencoder Variacional: modelo gerador e aproximação da distribuição de dados dados. Definição e uso do espaço latente. Truque de reparametrização. Aplicações e Limites observados
- Redes Generativas 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.
- Melhoria da convergência: Wasserstein GAN, Began. Distância de Transporte Terrestre.
- Aplicações para 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 estado e ações possíveis
- Uso de uma rede neural para aproximar a função de estado
- Deep Q Learning: replay de experiências, e aplicação ao controle de um videogame.
- Otimização da política de aprendizado. On-policy && off-policy. Arquitetura Actor-critic. A3C.
- Aplicações: controle de um único videogame ou 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, givens
Treinamento e Otimização de uma rede neural usando Theano
- Modelagem da Rede Neural
- Regressão Logística
- Camadas Ocultas
- Treinamento de uma rede
- Cálculo 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 do TensorFlow
- Alimentando, Lendo e Pré-carregando Dados do TensorFlow
- Como usar a infraestrutura do TensorFlow para treinar modelos em escala
- Visualizando e Avaliando modelos com TensorBoard
Mecânica do TensorFlow
- Preparar os Dados
- Download
- Entradas e Placeholders
-
Construir o GrafoS
- Inferência
- Loss (Custo)
- Treinamento
-
Treinar o Modelo
- O Grafo
- A Sessão
- Loop de Treinamento
-
Avaliar o Modelo
- Construir o Grafo de Avaliação (Eval Graph)
- Saída da Avaliação (Eval Output)
O Perceptron
- Funções de ativação
- 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 (SVM)
- 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
- Minimizando a função de custo
- Propagação para frente
- Retropropagação
- Melhorando a maneira como as redes neurais aprendem
Redes Neurais Convolucionais
- Objetivos
- Arquitetura do Modelo
- Princípios
- Organização do Código
- Iniciando e Treinando o Modelo
- Avaliando um Modelo
Introduções Básicas a serem dadas aos módulos abaixo (Breve Introdução será fornecida conforme disponibilidade de tempo):
Tensorflow - Uso Avançado
- Encadeamento e Filas (Threading and Queues)
- TensorFlow Distribuído
- Escrevendo Documentação e Compartilhando seu Modelo
- Personalizando Leitores de Dados
- Manipulando Arquivos de Modelo TensorFlow
TensorFlow Serving
- Introdução
- Tutorial Básico de Serviço (Serving)
- Tutorial Avançado de Serviço (Serving)
- Tutorial de Serviço do Modelo Inception
Requisitos
Conhecimento prévio em física, matemática e programação. Experiência em atividades de processamento de imagens.
Os participantes devem ter um entendimento prévio dos conceitos de aprendizado de máquina e devem ter trabalhado com programação 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