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.