Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04839
Acrónimo :
IaAP
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :

Carga Horária / Course Load


Semestre :
1
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
36.0h/sem
Aula Prática e Laboratorial (PL) :
0.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
37.0h/sem
Trabalho Autónomo :
113.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


Inteligência Artificial

Departamento / Department


Departamento de Ciências e Tecnologias da Informação

Ano letivo / Execution Year


2025/2026

Pré-requisitos / Pre-Requisites


Para frequentar esta UC, é essencial que os alunos possuam sólidos conhecimentos sólidos de programação, preferencialmente Python. Além disso, devem dominar conceitos de matemática, tais como álgebra linear, cálculo diferencial e probabilidades. É também necessário que os alunos tenham conhecimentos prévios de aprendizagem automática, incluindo modelos supervisionados e não supervisionados, e noções de sobreajuste e regularização.

Objetivos Gerais / Objectives


Apresentar a área da aprendizagem profunda. Discutir diferentes arquiteturas para abordar problemas com imagens, séries temporais e observações simples. Ser capaz de implementar e treinar uma rede neural. Proporcionar uma compreensão detalhada da arquitetura dos Transformers, incluindo o mecanismo de atenção e auto-atenção, bem como aplicações práticas como os modelos BERT e GPT. Introdução a modelos generativos: autoencoders, autoencoders variacionais e redes adversárias generativas (GANs).

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. Compreender o Campo da Aprendizagem Profunda OA2. Adquirir Conhecimento das Diferentes Arquiteturas de Redes Neuronais OA3. Desenvolver Proficiência na Implementação e Treino de Redes Neuronais OA4. Compreender a Arquitetura dos Transformadores OA5. Compreender os Modelos Generativos

Conteúdos Programáticos / Syllabus


P1. Introdução à Aprendizagem Profunda - História, principais aplicações e casos de estudo P2. Redes Neuronais Densas (MLP) P3. Redes Neuronais Convolucionais (CNNs) - Fundamentos, arquiteturas populares (LeNet, AlexNet, VGG, ResNet) e aplicações. P4. Redes Neuronais Recorrentes (RNNs) - Fundamentos, necessidade de LSTMs para dependencias distantes - Aplicações em previsão de séries temporais e processamento de linguagem natural P5. Implementação e treino de Redes Neuronais - Construção de modelos - Técnicas de treino, validação e avaliação - Ajuste de hiperparâmetros e técnicas de regularização P6. Transformadores - Fundamentos e arquitetura - O mecanismo de atenção e auto-atenção - Modelos BERT e GPT - Uso de transformadores em NLP e noutras áreas, tais como visão computacional. P7. Modelos Generativos - Autoencoders, Autoencoders Variacionais (VAEs) e redes adversárias generativas (GANs)

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes


OA1: P1 - Fornece conhecimentos fundamentais, história, aplicações e estudos de caso de aprendizagem profunda. OA2: P2, P3, P4, P6 - Abrangem uma variedade de arquiteturas de redes neuronais, incluindo MLPs, CNNs, RNNs e transformadores, garantindo um conhecimento abrangente. OA3: P5 - Foca em competências práticas, tais como a construção de modelos, treino, validação e otimização, assegurando que os alunos desenvolvem proficiência na implementação e treino de redes neuronais. OA4: P6 - Fornece uma compreensão detalhada da arquitetura dos transformadores e analisa modelos fundacionais, tais como o BERT e GPT. OA5: P7 - Abrange autoencoders, autoencoders variacionais (VAEs) e redes adversárias generativas (GANs), proporcionando uma compreensão completa dos modelos generativos.

Avaliação / Assessment


Avaliação ao longo do semestre: Teste Intermédio (25%) + PROJETO (25%, em grupo) + Teste Final (50%, após o fim das aulas). Avaliação por exame: Teste individual (50%, cobrindo toda a matéria) + prova prática (50%, a realizar em computador). A avaliação por exame ocorre sempre que o estudante optar por esta modalidade ou não tenha obtido nota positiva na avaliação ao longo do semestre. Pode ser realizada na 1ª época, 2ª época ou época especial (Artº 14 do RGACC). A nota final do PROJETO é fixada para cada grupo através de uma apresentação e dependerá do código, da documentação apresentada e do desempenho dos estudantes na apresentação. As perguntas dos testes podem envolver aspetos relativos ao trabalho. Nenhum dos componentes de avaliação requer uma nota mínima.

Metodologias de Ensino / Teaching methodologies


Esta unidade curricular está organizada em aulas teórico-práticas, que integram uma componente explicativa e demonstrativa com uma forte vertente prática. Durante as sessões, os conceitos teóricos são primeiramente introduzidos e explicados, seguidos de uma parte prática onde os estudantes aplicam os conceitos apresentados. Esta abordagem permite que os alunos consolidem o conhecimento teórico através de atividades práticas, promovendo uma compreensão mais profunda dos temas. Para além das horas de contacto, espera-se que os estudantes dediquem entre 6 a 8 horas semanais de trabalho autónomo, que incluirá a leitura de materiais de apoio, a realização de exercícios práticos adicionais e a preparação de projetos. Este trabalho autónomo é fundamental para a consolidação dos conhecimentos e o desenvolvimento das competências práticas necessárias.

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


As metodologias de ensino, que incluem aulas teórico-práticas e trabalho autónomo, estão diretamente alinhadas com os objetivos de aprendizagem. As aulas teórico-práticas fornecem a base teórica e a oportunidade de aplicar conhecimentos em exercícios práticos, essencial para alcançar objetivos, tais como a familiarização com conceitos fundamentais (OA1), conhecimento de diferentes arquiteturas de redes neuronais e transformadores (OA2, OA4) e construção e treino de modelos (OA3). O trabalho autónomo, através da consulta da bibliografia, revisão da matéria e resolução de exercícios, reforça a compreensão dos conceitos e prepara os alunos para problemas mais complexos. A avaliação ao longo do semestre, composta por teste intermédio, projeto e teste final, e a avaliação por exame, que inclui um teste individual e uma prova prática, garante que os alunos possuem uma compreensão abrangente e integrada dos conteúdos. O teste intermédio e o teste individual avaliam os conhecimentos básicos e intermédios (OA1 e OA2), enquanto que o projeto e a prova prática testam a aplicação de conceitos avançados, como a manipulação de dados e a criação de modelos preditivos (OA3, OA4 e OA5). Desta forma, a combinação das metodologias de ensino e de avaliação assegura que os estudantes desenvolvem tanto a compreensão teórica quanto as competências práticas necessárias.

Observações / Observations


Bibliografia Principal / Main Bibliography


* Deep Learning. Ian Goodfellow and Yoshua Bengio and Aaron Courville, 2016 (https://www.deeplearningbook.org/). MIT Press * Deep learning in Python/ Pytorch, Eli Stevens, Luca Antiga, Thomas Viehmann (2020). Manning Publications (Free book)

Bibliografia Secundária / Secondary Bibliography


* Neural Networks and Deep Learning. Michael A. Nielsen. Determination Press, 2015 (Creative Commons, http://neuralnetworksanddeeplearning.com/) * Artificial Intelligence Engines: A Tutorial Introduction to the Mathematics of Deep Learning: James Stone 2019 Sebtel Press * Introduction to Deep Learning: Eugene Charniak 2019 MIT Press * [Deep Learning with Python](http://https//www.manning.com/books/deep-learning-with-python): François Chollet 2017 Manning Publications * Hands-On Machine Learning with Scikit-Learn & TensorFlow. Aurélien Géron. O'Reilly, 2019

Data da última atualização / Last Update Date


2025-03-27