Aprendizagem Profunda

Objetivos

Esta unidade curricular visa dotar o estudante de competências para:

Compreender:
- Princípios básicos de ''''deep learning''''
- Fundamentos computacionais de redes profundas
   Algoritmos de optimização, funções de activação, funções objectivo
- Diferentes arquitecturas de redes profundas e sua utilidade:
   Densas, convolução, recorrentes, modelos geradores.
- Treino e regularização de redes profundas
- A importância das características dos dados e da criação de conjuntos de treino, validação e teste

Ser capaz de:
- Seleccionar modelos e funções objectivo adequados para cada problema
- Usar bibliotecas modernas de aprendizagem profunda
- Implementar redes profundas, optimizar os seus hiper-parâmetros e treiná-las.
- Avaliar o treino dos modelos e a qualidade dos resultados.

Conhecer:
- Tipos de problemas resolvidos com redes profundas
- Arquitecturas e regularização de redes profundas
- Métodos de selecção de modelos e hiper-parâmetros

Caracterização geral

Código

12423

Créditos

6.0

Professor responsável

João Alexandre Carvalho Pinheiro Leite, Ludwig Krippahl

Horas

Semanais - 4

Totais - 48

Idioma de ensino

Português

Pré-requisitos

-

Bibliografia

Main textbook, mandatory:

  Goodfellow, Ian, Bengio, Yoshua, Courville, Aaron: Deep Learning , MIT Press, 2016

Complementary reading:

 Skansi, Sandro: Introduction to Deep Learning: From Logical Calculus to Artificial Intelligence , Springer, 2018

 Géron, Aurélien: Hands-on machine learning with Scikit-Learn and TensorFlow: concepts, tools, and techniques to build intelligent systems O''''Reilly Media, Inc, 2017

Método de ensino

Nas aulas teóricas são leccionados os tópicos fundamentais da matéria, os quais deverão ser complementados com a leitura da bibliografia aconselhada. Nas aulas teóricas será dedicado tempo para exposição da matéria e para dúvidas e discussão com os alunos.

As aulas laboratoriais destinam-se à orientação tutorial e realização dos trabalhos práticos sobre tópicos seleccionados da matéria.

Serão disponibilizados os acetatos da matéria teórica.

Será disponibilizada uma página Web da disciplina onde se mantém informação actualizada sobre o funcionamento da mesma.

Método de avaliação

A unidade curricular (UC) segue a forma de avaliação contínua a qual consiste numa componente teórica-prática (T) e uma componente laboratorial ou de projecto (P), tendo cada componente um peso de 50% na nota final.

Ambas as componentes são avaliadas numa escala de 0 a 20 arredondadas às décimas

Para obter aprovação à disciplina um estudante necessita de:

(i)  nota mínima de 9.5 valores na componente de avaliação teórica-prática; e

(ii)  nota mínima de 9.5 valores na componente de avaliação de projecto.

A nota final da UC é definida pela média ponderada das duas componentes de avaliação, ou seja, (0.5×T + 0.5×P) numa escala de 0 a 20 valores arredondada às unidades.

Componente teórica-prática

Esta componente consiste na realização de dois testes. Os dois testes contarão em partes iguais para a nota da componente teórica-prática.

Em alternativa, esta componente pode ser realizada por exame de recurso. O exame de recurso será avaliado em duas partes independentes, cada uma correspondendo a um dos testes e substituíndo a nota desse teste caso seja superior à nota do teste correspondente.

Os testes e o exame serão online com consulta.

Componente Laboratorial ou de Projecto

Esta componente consiste na realização de 2 mini-projectos realizados em grupo, que podem incluir fichas e relatórios intermédios. Aos mini-projectos de cada grupo será atribuída uma nota única. Os dois mini-projectos contarão em partes iguais para a nota de projecto. A nota da componente de projecto é indivídual.

Cada mini-projecto terá um conjunto de aulas práticas dedicadas à sua realização.

As notas dos vários elementos de avaliação são arredondadas às décimas, excepto a nota final que é arredondada às unidades.

Conteúdo

1. Introdução: fundamentos de aprendizagem profunda, transformações não-lineares e sobreajustamento.
2. Redes neuronais artificiais, retropropagação e redes feedforward profundas.
3. Implementação e treino de redes neuronais profundas
4. Optimização e regularização de redes feedforward. Treino, teste e validação cruzada.
5. Redes de convolução, teoria e prática
6. Aprendizagem profunda não supervisionada com autoencoders.
7. Aprendizagem de representações e transferência de conhecimento.
8. Modelos geradores.
9. Redes recorrentes e problemas com dados sequenciais.
10. Aprendizagem por reforço.
11. Modelos probabilísticos estruturados.
12. Aspectos práticos da selecção, aplicação e optimização de redes profundas.
13. Visualização de dados e modelos.
14. Problemas abertos em aprendizagem profunda.

Cursos

Cursos onde a unidade curricular é leccionada: