Aprendizagem Profunda Aplicada

Ano
0
Ano lectivo
2022-2023
Código
02042728
Área Científica
Métodos Computacionais Avançados
Língua de Ensino
Português
Outras Línguas de Ensino
Inglês
Modo de Ensino
Presencial
Créditos ECTS
6.0
Tipo
Opcional
Nível
2º Ciclo - Mestrado

Conhecimentos de Base Recomendados

Álgebra Linear, Cálculo, Probabilidades e Estatística, Programação, Introdução à Aprendizagem Computacional

Métodos de Ensino

Nas aulas teóricas (T) serão expostos e discutidos de modo crítico os conceitos, teorias e algoritmos que permitem realizar as 4 Tarefas Tuteladas (TTs) e o projeto final. As PL destinam-se a apresentar as infra-estruturas de hardware e software que suportam a aprendizagem profunda, sendo que o framework de software preferencial será PyTorch, e apoiar a realização das TTs e do projeto final. A avaliação será feita exclusivamente em função do desempenho do aluno na realização das 4 TTs e do projeto de forma a enfatizar o caráter aplicado da disciplina

Resultados de Aprendizagem

Esta disciplina pretende ser uma abordagem prática a uma técnica de aprendizagem máquina incontornável que é a aprendizagem profunda, em que o foco está no "como fazer" ao mesmo tempo que se explicam os fundamentos teóricos básicos. Os mini-projetos ou tarefas tuteladas exploram conceitos-chave e aplicações simples, enquanto que o projeto final permite uma exploração aprofundada de uma área de aplicação específica. No final da unidade curricular, o aluno terá uma visão geral da aprendizagem profunda e suas aplicações, com ênfase especial em aplicações em visão computacional e robótica. O aluno também terá um conhecimento prático de vários tipos de redes neurais, será capaz de implementá-las e treiná-las, e terá uma compreensão qualitativa de seu funcionamento interno.

Estágio(s)

Não

Programa

1. Introdução

 

2. Redes neuronais e aprendizagem profunda

- Conceitos de base

- Introdução às redes neuronais

- Abordagens profundas vs "rasas"

 

3. Redes neuronais convolucionais (CNNs)

- Blocos de construção

- Arquiteturas populares

- Técnicas de treino

- Visualização para compreender redes neuronais e fazer "debug"

- Aplicações em detecção de objetos e segmentação semântica

 

4. Redes neuronais Recorrentes (RNNs)

- Modelação sequencial com RNNs

- Redes recorrentes fechadas (GRUs) e memória de curto prazo (LSTMs)

- Aplicações em modelação de idiomas e legendagem de imagens

 

5. Modelos generativos

- Modelos autoregressivos: o caso do PixelCNN

- AutoEncoders Variacionais (VAEs)

- Redes adversas generativas (GANs)

- Aplicações em síntese de imagens

 

6. Aprendizagem por Reforço Profundo (Deep RL)

- Introdução a Deep RL

- Aplicações em robótica

Docente(s) responsável(eis)

Cristiano Premebida

Métodos de Avaliação

Avaliação
Projecto: 40.0%
Trabalho laboratorial ou de campo: 60.0%

Bibliografia

 

- Ian Goodfellow, Yoshua Bengio and Aaron Courville, Deep Learning, MIT Press 2016.

- F Chollet, Deep Learning with Python, Manning Publications, 2017

- A Géron, Hands-on Machine Learning with Scikit-Leran and TensorFlow, O'Reilly, 2017

- David Forsyth, Applied Machine Learning, Springer, 2019