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

Próximas Formações Provisórias

Categorias Relacionadas