Programa do Curso

O curso divide-se em três dias distintos, sendo o terceiro facultativo.

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

1. Introdução à IA Machine Learning & Deep Learning

- História, conceitos fundamentais e aplicações comuns da inteligência artificial, longe das fantasias associadas a este domínio.

- Inteligência colectiva: agregação de conhecimentos partilhados por muitos agentes virtuais

- Algoritmos genéticos: desenvolvimento de uma população de agentes virtuais através de seleção

- 5] Habitual: definição.

- Tipos de tarefas: aprendizagem supervisionada, aprendizagem não supervisionada, aprendizagem por reforço

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

- Exemplos de algoritmos Machine Learning: regressão linear, Naive Bayes, árvore aleatória

- Aprendizagem automática VS Deep Learning: problemas em que Machine Learning continua a ser o estado da arte (Random Forests & XGBoosts)

2. Conceitos fundamentais de uma rede neuronal (Aplicação: perceptron de várias camadas)

- Recordação dos fundamentos matemáticos.

- Definição de uma rede neuronal: arquitetura clássica, funções de ativação e de ponderação das activações anteriores, profundidade de uma rede, etc.

- Definição da aprendizagem em redes neuronais: funções de custo, retropropagação, descida do gradiente estocástico, máxima verosimilhança.

- Modelação de uma rede neuronal: modelação dos dados de entrada e de saída em função do tipo de problema (regressão, classificação, etc.). A maldição da dimensionalidade. Distinção entre dados com múltiplas características e sinal. Escolha de uma função de custo em função dos dados.

- Aproximação de uma função através de uma rede neuronal: apresentação e exemplos

- Aproximação de uma distribuição através de uma rede neuronal: apresentação e exemplos.

- Aumento dos dados: como equilibrar um conjunto de dados

- Generalizar os resultados de uma rede neuronal.

- Inicialização e regularização de uma rede neuronal: regularização L1/L2, normalização em lote, etc.

- Algoritmos de otimização e de convergência.

3. Ferramentas comuns de ML / DL

É feita uma apresentação simples com vantagens, desvantagens, posição no ecossistema e utilização.

- Ferramentas de gestão de dados: Apache Spark, Apache Hadoop.

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

- Quadros de DL de alto nível: PyTorch, Keras, Lasagne

- Quadros de 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 básico de uma CNN: camada convolucional, utilização de um kernel, padding & stride, geração de mapas de características, camadas de pooling. Extensões 1D, 2D e 3D.

- Apresentação das várias arquitecturas de CNN que têm representado o estado da arte na classificação de imagens: LeNet, VGG Networks, Network in Network, Inception, Resnet. Apresentação das inovações trazidas por cada arquitetura e das suas aplicações mais globais (convolução 1x1 ou ligações residuais).

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

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

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

5. Recorrente Neural Networks (RNN).

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

- Funcionamento básico das RNNs: ativação oculta, retropropagação no tempo, versão desdobrada.

- Evolução para GRUs (Gated Recurrent Units) e LSTM (Long Short Term Memory). Apresentação dos diferentes estados e desenvolvimentos trazidos por estas arquitecturas.

- Problemas de convergência e de desaparecimento do gradiente

- Tipos de arquitecturas clássicas: predição de uma série temporal, classificação, etc.

- Arquitetura RNN codificadora-descodificadora. Utilização de um modelo de atenção.

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

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

Dia 3 - Modelos geracionais e Reinforcement Learning.

6. Modelos geracionais: Variational AutoEncoder (VAE) e Generative Adversarial Networks (GAN).

- Apresentação dos modelos geracionais, ligação com as CNNs vistas no dia 2

- Auto-encoder: redução da dimensionalidade e geração limitada

- Auto-encoder variacional: modelo geracional e aproximação da distribuição dos dados. Definição e utilização do espaço latente. Truque de reparametrização. Aplicações e limitações observadas

- Redes Adversariais Generativas: princípios fundamentais. Duas arquitecturas de rede (geradora e discriminadora) com aprendizagem alternada, funções de custo disponíveis.

- Convergência de uma GAN e dificuldades encontradas.

- Melhoria da convergência: GAN de Wasserstein, BeGAN. Distância de deslocação da terra.

- Aplicações para geração de imagens ou fotografias, geração de texto, super-resolução.
resolução.

7. Profundo Reinforcement Learning.

- Apresentação da aprendizagem por reforço: controlo de um agente num ambiente definido por um estado e acções possíveis.

- Utilização de uma rede neuronal para aproximar a função de estado

- Deep Q Learning: repetição de experiências e aplicação ao controlo de um jogo de vídeo.

- Otimização da política de aprendizagem. Política de aprendizagem && fora da política. Arquitetura crítica do ator. A3C.

- Aplicações: controlo de um jogo de vídeo simples ou de um sistema digital.

Requisitos

Nível de engenheiro

 21 Horas

Número de participantes


Preço por Participante

Declaração de Clientes (2)

Próximas Formações Provisórias

Categorias Relacionadas