Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
Matemática
Departamento / Department
Departamento de Matemática
Ano letivo / Execution Year
2025/2026
Pré-requisitos / Pre-Requisites
Conhecimentos básicos de Álgebra Linear, cálculo diferencial e probabilidades.
Objetivos Gerais / Objectives
Desenvolver alguns conceitos e técnicas fundamentais em aprendizagem automática com redes neuronais profundas.
Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes
OA1: Reconhecer as várias componentes dum modelo de aprendizagem profunda com redes neuronais. OA2: Implementar, em versão stand-alone, usando python, versões simplificadas das componentes implícitas em OA1. OA3. Relacionar diferentes arquiteturas com a resolução de diferentes problemas. OA4. Aplicar técnicas de regularização para melhorar a performance de modelos de aprendizagem profunda. OA5. Conhecer em detalhe e aplicar o algoritmo DQN no contexto de aprendizagem por reforço. OA6. Utilizar a biblioteca Keras na implementação de modelos de aprendizagem profunda com vista à resolução de problemas em reconhecimento de imagem, processamento de linguagem natural e aprendizagem por reforço. OA7. Conhecer teoremas fundamentais sobre redes neuronais assimptóticas e aplicar esses resultados na análise crítica de modelos.
Conteúdos Programáticos / Syllabus
1. Regressão linear. 2. Classificadores lineares. 3. Redes neuronais densas e backprop. 4. Teoremas de aproximação universal e análise assimptótica. 5. Diferenciação automática. 6. Introdução ao TensorFlow e ao Keras 7. Técnicas de regularização. 8. Redes de convolução. 9. Data augmentation e fine-tuning. 10. Introdução à aprendizagem por reforço profunda
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular unit's content dovetails with the specified learning outcomes
O programa abrange tópicos como classificação e regressão, neurónios artificiais, "backpropagation", teoremas de aproximação universal, redes de convolução, técnicas de regularização e aprendizagem por reforço profunda (ARP). Os objetivos de aprendizagem estão claramente alinhados com o programa. A partir do exposto, os estudantes reconhecerão as componentes de modelos de aprendizagem profunda (AP), implementarão programas em Python e relacionarão diferentes arquiteturas para a resolução de problemas. Também irão adquirir capacidades para aplicar técnicas de regularização para melhoria de desempenho, e utilizar o algoritmo DQN em contextos de ARP. A utilização da biblioteca Keras permitirá que os alunos implementem modelos de AP em reconhecimento de imagens, processamento de linguagem natural e tarefas de ARP. Os estudantes irão ainda estudar teoremas fundamentais, capacitando-os a analisar teoricamente modelos de AP.
Avaliação / Assessment
Os alunos deverão escolher entre dois modelos de avaliação: Modelo 1 (Avaliação Regular): Composto por 2 momentos de avaliação prática presencial e individual (50 % cada). Nestas avaliações, será pedido aos alunos para adaptarem e modificarem os códigos desenvolvidos em aula, devidamente complementados pelo trabalho autónomo dos alunos. Esse trabalho autónomo, de preparação para a avaliação, é organizado em fichas de trabalho semanais. Modelo 2 (Melhoria de Nota): Caso os alunos não estejam satisfeitos com o resultado da avaliação no Modelo 1, podem realizar um trabalho de grupo (grupos de até 4 elementos) que terá um peso de 30% na avaliação, sendo os restantes 70% determinados pelo resultado na Avaliação Regular. Observação: Todos os momentos de avaliação estão sujeitos a uma eventual discussão oral.
Metodologias de Ensino / Teaching methodologies
As aulas desenrolam-se de acordo com as seguintes metodologias de ensino-aprendizagem (MEA): MEA1. Exposição e discussão MEA2. Resolução de exercícios MEA3.Trabalho autónomo do aluno
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes
A metodologia de ensino MEA1, que envolve exposição e discussão, é coerente com todos os objetivos de aprendizagem. Através desta metodologia, os alunos podem adquirir conhecimentos relativos a modelos básicos de redes neuronais artificiais (OA1, OA3), apreender resultados matemáticos fundadores da teoria das redes neuronais (OA7) e reconhecer algoritmos fundamentais de aprendizagem profunda (OA2, OA4, OA5). Em geral, a MEA1 fornece uma plataforma para uma compreensão aprofundada dos objetivos de aprendizagem. Em relação à MEA2, que se concentra na resolução de problemas, alinha-se bem com todos os objetivos de aprendizagem. Ao se envolverem em atividades de resolução de problemas, os alunos podem aplicar ativamente o conhecimento adquirido em todos os objetivos de aprendizagem. A metodologia MEA2 promove a aprendizagem prática e a aplicação prática dos objetivos de aprendizagem. No que diz respeito à MEA3, que envolve o estudo autónomo, de acordo com o planeamento semanal das aulas, ela apoia a realização de todos os objetivos de aprendizagem. Através do estudo autónomo, os alunos podem aprofundar a sua compreensão dos conceitos fundamentais subjacentes a todos os objetivos de aprendizagem, explorando-os ao seu próprio ritmo. A MEA3 promove a aprendizagem independente e estimula o desenvolvimento dos objetivos de aprendizagem desejados. Relativamente a MEA4, que envolve aulas práticas de laboratório de computação e implementação prática de técnicas em Python, alinha-se perfeitamente com todos os objetivos de aprendizagem. Esta abordagem permite que os alunos pratiquem e implementem algoritmos básicos associados a todos os OA e adquiram experiência prática na implementação das técnicas correspondentes em Python e utilização da biblioteca Keras (OA6). A MEA4 garante uma conexão direta entre os objetivos de aprendizagem e a aplicação prática dos conceitos e técnicas aprendidas pelos alunos.
Observações / Observations
--
Bibliografia Principal / Main Bibliography
- François Chollet, “Deep Learning with Python”, Manning, Second Edition 2021. - Maxim Lapan, “Deep Reinforcement Learning Hands On”, Packt, Second Edition 2020.
Bibliografia Secundária / Secondary Bibliography
- Ian Goodfellow and Yoshua Bengio, and Aaron Courville, "Deep Learning", MIT press, 2016
Data da última atualização / Last Update Date
2025-07-25