Programa do Curso

O curso é dividido em três dias distintos, sendo o terceiro opcional.

Dia 1 - Machine Learning e Deep Learning: conceitos teóricos

1. Introdução IA, Machine Learning e aprendizado profundo

- História, conceitos fundamentais e aplicações habituais da inteligência artificial longe das fantasias transportadas por este campo

- Inteligência coletiva: conhecimento agregado compartilhado por inúmeros agentes virtuais

- Algoritmos genéticos: evolução de uma população de agentes virtuais por seleção

- Machine Learning habitual: definição.

- Types de tâches: aprendizagem supervisionada, aprendizagem não supervisionada, aprendizagem por reforço

- Tipos de ações: classificação, regressão, agrupamento, estimativa de densidade, redução de dimensionalidade

- Exemplos de algoritmos Machine Learning: Regressão linear, Naive Bayes, Random Tree

- Aprendizado de máquina VS Aprendizado profundo: problemas nos quais o aprendizado de máquina continua sendo o estado da arte hoje (Random Forests & XGBoosts)

2. Conceitos fundamentais de uma rede neural (Aplicação: perceptron multicamadas)

- Lembrete de noções básicas de matemática.

- Definição de uma rede neural: arquitetura clássica, funções de ativação e ponderação de ativações anteriores, profundidade de uma rede

- Definição de aprendizagem de uma rede neural: funções de custo, retropropagação, gradiente descendente 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, etc.). Maldição da dimensionalidade. Distinção entre dados multi-funcionalidades e sinal. Escolha de uma função de custo de acordo com os dados.

- Aproximar uma função utilizando uma rede neural: apresentação e exemplos

- Aproximação de uma distribuição utilizando uma rede neural: apresentação e exemplos

- Aumento de dados: como equilibrar um conjunto de dados

- Generalização dos resultados de uma rede neural.

- Inicializações e regularizações de uma rede neural: regularização L1/L2, normalização em lote...

- Otimizações e algoritmos de convergência.

3. Ferramentas comuns de ML/DL

Está prevista uma apresentação simples com vantagens, desvantagens, posição no ecossistema e utilização.

- Ferramentas de gerenciamento de dados: Apache Spark, Apache Hadoop

- Ferramentas usuais Machine Learning: Numpy, Scipy, Sci-kit

- Frameworks DL nível atual: PyTorch, Keras, Lasagne

- Frameworks DL de baixo nível: Theano, Torch, Caffe, Tensorflow

 

Dia 2 – Redes Convolucionais e Recorrentes

4. Convolucional Neural Networks (CNN).

- Apresentação das CNNs: princípios fundamentais e aplicações

- Funcionamento fundamental de uma CNN: camada convolucional, utilização de um kernel, padding & stride, geração de mapas de características, camadas do tipo 'pooling'. Extensões 1D, 2D e 3D.

- Apresentação das diferentes arquiteturas CNN que trouxeram o estado da arte para classificação de 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)

- Utilização de um modelo de atenção.

- Aplicação a um cenário de classificação habitual (texto ou imagem)

- CNNs para geração: super-resolução, segmentação pixel a pixel. Apresentação das principais estratégias de aumento de mapas de características para geração de imagem.

5. Recorrente Neural Networks (RNN).

- Apresentação das RNNs: princípios fundamentais e aplicações.

- Fonctionnement fondamental du RNN: ativação oculta, retropropagação no tempo, versão desdobrada.

- Desenvolvimentos em direção a GRU (Gated Recurrent Units) e LSTM (Long Short Term Memory). Apresentação dos diferentes estados e dos desenvolvimentos provocados por estas arquiteturas

- Problemas de convergência e gradiente de fuga

- Tipos de arquiteturas clássicas: Previsão de séries temporais, classificação...

- Arquitetura do tipo RNN Encoder Decoder. Usando um modelo de atenção.

- Aplicações PNL: codificação de palavras/caracteres, tradução.

- Aplicações de Vídeo: previsão da próxima imagem gerada de uma sequência de vídeo.

 

Dia 3 – Modelos Geracionais e Reinforcement Learning

6. Modelos geracionais: AutoEncoder Variacional (VAE) e Redes Adversariais Generativas (GAN).

- Apresentação de modelos geracionais, link com CNNs vistos no dia 2

- Codificação automática: redução de dimensionalidade e geração limitada

- Autocodificador Variacional: modelo geracional e aproximação da distribuição de dados. Definição e utilização do espaço latente. Truque de reparametrização. Aplicações e limites observados

- Redes Adversariais Gerativas: princípios fundamentais. Arquitetura de duas redes (gerador e discriminador) com aprendizagem alternada, funções de custo disponíveis.

- Convergência de um GAN e dificuldades encontradas.

- Convergência melhorada: Wasserstein GAN, BeGAN. Distância móvel da Terra.

- Aplicativos para geração de imagens ou fotografias, geração de texto, super resolução.

7. Profundo Reinforcement Learning.

- Apresentação da aprendizagem por reforço: controle de um agente em um ambiente definido por um estado e possíveis ações

- Usando uma rede neural para aproximar a função de estado

- Deep Q Learning: experiência de repetição e aplicação ao controle de um videogame.

- Otimizações da política de aprendizagem. Dentro da política e fora da política. Arquitetura crítica do ator. A3C.

- Aplicações: controle de um simples videogame ou de um sistema digital.

Requisitos

Nível de engenheiro

 21 horas

Cursos Relacionados

Categorias Relacionadas