-
Apresentação
Apresentação
Esta UC tem por objectivo introduzir os fundamentos da aprendizagem profunda (deep learning), abordando os princípios teóricos, computacionais e práticos que sustentam o desenvolvimento de modelos baseados em redes neuronais profundas. São estudadas as principais arquitecturas, incluindo redes densas, convolucionais, recorrentes e modelos geradores, bem como algoritmos de optimização, funções de activação, funções objectivo, técnicas de treino e regularização, e metodologias de selecção de modelos e hiperparâmetros. A UC reforça ainda a importância da qualidade dos dados e da construção adequada de conjuntos de treino, validação e teste. No final, os estudantes deverão ser capazes de seleccionar as arquitecturas e funções objectivo mais adequadas a diferentes problemas, implementar, treinar e optimizar modelos recorrendo a bibliotecas modernas de aprendizagem profunda e avaliar criticamente o seu desempenho e a qualidade dos resultados obtidos.
-
Disciplina do curso
Disciplina do curso
-
Grau | Semestres | ECTS
Grau | Semestres | ECTS
Licenciado | Semestral | 5
-
Ano | Natureza | Lingua
Ano | Natureza | Lingua
3 | Opcional | Português
-
Código
Código
ULHT46-27708
-
Pré-requisitos e co-requisitos
Pré-requisitos e co-requisitos
Não aplicável
-
Estágio Profissional
Estágio Profissional
Não
-
Conteúdos Programáticos
Conteúdos Programáticos
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. Aspectos práticos da selecção, aplicação e optimização de redes profundas. 12. Modelos 'Large Language Models'
-
Objetivos
Objetivos
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.
-
Metodologias de ensino
Metodologias de ensino
Nas aulas teóricas são apresentados os conteúdos do programa, com recurso a apresentações e casos de estudo, estimulando a discussão entre os alunos e docentes. Nas aulas práticas, os alunos desenvolvem práticas de análise de dados que incidem em problemáticas com transição progressiva de complexidade.
-
Bibliografia principal
Bibliografia principal
- Zhang, A., Lipton, Z. C., Li, M., & Smola, A. J. (2023). Dive into deep learning. CUP, https://d2l.ai - Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning . MIT Press. https://deeplearningbook.org - Sutton R. S., & Barto, A. G. (2018). Reinforcement learning: An introduction. MIT Press. - François-Lavet, V., Henderson, P., Islam, R., Bellemare, M. G., & Pineau, J. (2018). An introduction to deep reinforcement learning. Foundations and Trends(r) in Machine Learning, 11(3-4), 219-354. - Bronstein, M. M., Bruna, J., Cohen, T., & Veli¿kovi¿, P. (2021). Geometric deep learning: Grids, groups, graphs, geodesics, and gauges. arXiv preprint arXiv:2104.13478. - https://sebastianraschka.com/blog/2021/dl-course.html
-
Avaliação
Avaliação
A disciplina é teórico-prática, havendo uma alternância entre a componente expositiva e participativa. As aulas teóricas seguem o programa definido, apresentando os conceitos teóricos sustentados por exemplos práticos. A aprendizagem dos conceitos é validada através de pequenos exercícios em papel feitos durante a aula, que permitem ao professor aferir da eficácia das suas explicações. Nas aulas práticas os alunos aplicam os conceitos teóricos na resolução de exercícios de programação feitos em computador, de forma individual ou em grupo (máximo 3 elementos por grupo). As aulas práticas decorrem sempre em sintonia com as aulas teóricas da semana anterior.
Avaliação Contínua:
30% - 1 teste com nota mínima de 9.5 valores (componente teórica).
70% - Projeto em grupos de 2/3 com defesa presencial em grupo. A nota do projeto tem nota mínima de 9.5 (componente prática).
Época de recurso/especial:
50% - Exame 50% - Project. É necessário ter 9.5 de nota mínima em cada componente para aprovar à disciplina.
-
Mobilidade
Mobilidade
Não





