Redes Neuronais e Aprendizagem Profunda

Código:
16685
Ano:
3
Semestre:
S1
Créditos ECTS:
6
Carga Horária:
PL(30H)/T(30H)
Área Científica:
Informática
Objectivos de Aprendizagem:
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.
A compatibilidade com o método de ensino é assegurada pela alternância entre a exposição de conceitos teóricos (aulas expositivas) e a sua implementação imediata em código (aulas práticas e projetos), permitindo a consolidação do conhecimento "saber-fazer".
Conteúdos programáticos:
História da IA/ML/DL, Neurónio Biológico vs. Artificial, Perceptron e Funções de Ativação (Sigmoid, Tanh, ReLU).
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.
Convoluções, Pooling, Feature Maps, e Arquiteturas Modernas (VGG, ResNet, Inception, DenseNet).
Limitações das MLPs, RNNs, LSTMs, GRUs e introdução a Mecanismos de Atenção e Transformers (ViT).
Agentes, Ambientes, Recompensas, Q-Learning, Deep Q-Networks (DQN) e Policy Gradients.
Neural Architecture Search (NAS) e fusão multimodal.
Metodologias de Ensino e Critérios de Avaliação:
A avaliação é mista, combinando a verificação de conhecimentos teóricos com a capacidade de implementação prática e resolução de problemas. A nota final é calculada através da seguinte fórmula ponderada: Nota Final = 0.5 * F + 0.2 * TP1 + 0.3 * TP2

Onde:
F (50%): Frequência escrita presencial, focado na compreensão teórica, dedução matemática e análise conceptual dos algoritmos.
TP1 (20%): Primeiro trabalho prático (entrega intercalar, novembro), focado na implementação de redes básicas e otimização.
TP2 (30%): Segundo trabalho prático (entrega final, dezembro), envolvendo problemas mais complexos (ex: CNNs avançadas, RL ou projetos aplicados).
Bibliografia principal:
Principal: Goodfellow, Ian, Bengio, Yoshua, and Courville, Aaron. Deep Learning. MIT Press, 2016. (A "bíblia" da área, cobrindo a maioria dos fundamentos teóricos).

Complementar:
Documentação oficial do PyTorch (pytorch.org) e Tutoriais oficiais (essencial para a componente prática).
Sutton, Richard S., and Barto, Andrew G. Reinforcement Learning: An Introduction. MIT Press. (Para o módulo de RL).
Artigos seminais referidos nas aulas (e.g., "Attention Is All You Need", "Deep Residual Learning for Image Recognition") para tópicos avançados como Transformers e ResNets.
Língua:
Português