6 ECTS; 3º Ano, 1º Semestre, 28,0 T + 28,0 TP + 5,0 OT , Cód. 814359.
Docente(s)
- Sandra Maria Gonçalves Vilas Boas Jardim (1)(2)
(1) Docente Responsável
(2) Docente que lecciona
Pré-requisitos
É fundamental que os alunos possuam conhecimentos sólidos em:
- Álgebra Linear e Cálculo
- Linguagem Python
- Aprendizagem Automática
Objetivos
Os objetivos centrais consistem em dotar os alunos de uma compreensão teórica sólida e competências práticas na área da Aprendizagem Profunda (Deep Learning).
Os estudantes deverão:
1) Compreender os fundamentos matemáticos e algorítmicos das redes neuronais (Perceptrons, Backpropagation, Otimização);
2) Projetar e implementar arquiteturas complexas, incluindo Redes Convolucionais (CNNs) para visão, Redes Recorrentes (RNNs) e Transformers para sequências, e algoritmos de Aprendizagem por Reforço (RL);
3) Diagnosticar problemas de treino (overfitting/underfitting) e aplicar estratégias de regularização;
4) Utilizar frameworks modernas (PyTorch) para resolver problemas reais.
Programa
1. História da IA/ML/DL: Neurónio Biológico vs. Artificial,
Perceptron e Funções de Ativação (Sigmoid, Tanh, ReLU)
2. Redes "Feedforward": MLPs, Loss Functions (MSE, Cross-Entropy), Backpropagation e Descida do Gradiente; Variantes do Gradiente (SGD, Adam, RMSProp), Learning Rate, Dropout, Early Stopping e Batch/Mini-batch
3. Convoluções, Pooling, Feature Maps, e Arquiteturas Modernas (VGG, ResNet, Inception, DenseNet)
4. Limitações das MLPs, RNNs, LSTMs, GRUs e introdução a Mecanismos de Atenção e Transformers (ViT)
5. Agentes, Ambientes, Recompensas, Q-Learning, Deep Q-Networks (DQN) e Policy Gradients
6. Neural Architecture Search (NAS) e fusão multimodal.
Metodologia de avaliação
Época de Frequência
- Prova escrita: 50%
- Trabalho Prático com dois momentos de avaliação: 20% (avaliação intercalar) + 30% (avaliação final).
Época de Exame
- Prova escrita: 50%
- Trabalho Prático: 50%
Em todas as épocas, a avaliação do trabalho prático implica a sua apresentação e discussão, tendo esta discussão o peso de 50% da classificação do trabalho prático.
A classificação final resulta da média ponderada das classificações obtidas nas componentes de avaliação definidas para cada uma das épocas de avaliação. O estudante deverá obter uma classificação igual ou superior a 10 paara aprovação na UC.
Para aprovação na UC os estudantes não poderão ter uma classificação inferior a 8 valores em nenhuma das componentes de avaliação definidas.
Bibliografia
- Goodfellow, I. e Bengio, Y. e Courville, A. (2016). Deep Learning. (Vol. 1). (pp. 1---). USA: MIT Press
Método de Ensino
Aulas de tipologia teórica: exposição dos conceitos inerentes aos conteúdos programáticos; discussão de exemplos e de casos práticos.
Aulas teórico práticas: orientadas à resolução de problemas práticos.
Software utilizado nas aulas
Plataforma interativa de programação Google Colab
Objetivos de Desenvolvimento Sustentável

















