Ficha Unidade Curricular (FUC)

Informação Geral / General Information


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

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) :
24.0h/sem
- Síncrono à distância (TP) :
8.0h/sem
- Assíncrono à distância (TP) :
16.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
- Síncrono à distância (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
25.0h/sem
Trabalho Autónomo :
0.0
Horas de Trabalho Total :
25.0h/sem

Área científica / Scientific area


Matemática

Departamento / Department


Departamento de Matemática

Ano letivo / Execution Year


2025/2026

Pré-requisitos / Pre-Requisites


Conhecimentos de programação, preferencialmente em Python Definições e conceitos fundamentais de Machine Learning, (preferencialmente) Noções elementares de estatística, como distribuições de probabilidade e interpretação de métricas (preferencialmente)

Objetivos Gerais / Objectives


A unidade curricular Fundamentos de Aprendizagem Profunda tem como objetivo dotar os estudantes dos conhecimentos e competências necessárias para compreenderem, selecionarem e aplicarem técnicas de aprendizagem profunda a problemas reais, evitando a sobrevalorização de fundamentos matemáticos avançados. Assim, pretende-se que os estudantes consigam distinguir a aprendizagem profunda da aprendizagem automática tradicional, identificar e utilizar as camadas, arquiteturas e ferramentas mais adequadas a diferentes tipos de dados (imagens 2D/3D, séries temporais univariadas e multivariadas) e problemas, bem como implementar soluções práticas utilizando frameworks amplamente difundidas no mercado, tais como Keras e PyTorch. A ênfase recai na aplicação prática e no desenvolvimento de soluções funcionais, assegurando que, ao concluir a UC, o estudante está apto a enfrentar desafios reais, desde a identificação do problema até à implementação e análise crítica dos resultados obtidos.

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


No final desta UC, cada estudante deverá ser capaz de: OA1: Compreender os princípios fundamentais da aprendizagem profunda e reconhecer as diferenças face à aprendizagem automática tradicional, relacionando-os com problemas reais. OA2: Identificar e explicar as principais camadas, técnicas e arquiteturas de redes profundas, compreendendo a sua adequação a diferentes tipos de dados e desafios. OA3: Aplicar, de forma orientada, frameworks como Keras e PyTorch para implementar modelos de aprendizagem profunda, desde a preparação dos dados até ao treino e inferência. OA4: Ajustar e avaliar o desempenho dos modelos, interpretando métricas, analisando resultados e propondo melhorias. OA5: Resolver problemas reais, colaborando com outros estudantes em estudos de caso e projetos, desenvolvendo competências analíticas, comunicacionais e de trabalho em equipa.

Conteúdos Programáticos / Syllabus


CP1: Introdução à aprendizagem profunda: conceitos chave, histórico, distinção face à aprendizagem automática tradicional. CP2: Camadas convolucionais, densas, recorrentes, normalização, dropout, funções de ativação e técnicas de regularização. CP3: Seleção e aplicação de técnicas adequadas aos diferentes tipos de dados tais como imagens 2D/3D, sequências temporais univariadas e multivariadas. CP4: Introdução prática às frameworks TensorFlow, Keras e PyTorch, desenvolvimento de modelos simples e análise dos resultados. CP5: Arquiteturas pré-existentes (e.g., ResNet, VGG, U-Net) e o seu reuso, transferência de aprendizagem e fine-tuning de modelos pré-treinados. CP6: Métricas de desempenho, interpretação de resultados, identificação de estrangulamentos, propostas de otimização e ajuste fino. CP7: Exploração de casos de estudo reais, desde a definição do desafio, modelação de dados, implementação e treino do modelo, até à análise crítica e apresentação dos resultados.

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 CP1 e CP2 criam a base conceptual necessária para OA1 e OA2, assegurando o domínio de conceitos essenciais da aprendizagem profunda e das camadas utilizadas em arquiteturas de redes. O CP3, ao tratar diferentes tipos de dados e problemas, apoia a consecução do OA2 e, posteriormente, OA4, pois prepara o estudante para adaptar as técnicas a cenários variados. O CP4 introduz Keras e PyTorch, permitindo a concretização do OA3, ao facultar as ferramentas para implementar modelos. O CP5, com o estudo de arquiteturas consagradas e a transferência de aprendizagem, reforça OA2 e OA3, motivando a reutilização inteligente de conhecimento pré-existente. O CP6, focado na avaliação e melhoria de modelos, relaciona-se com OA4, permitindo uma análise crítica e a interpretação de métricas. Finalmente, o CP7, ao propor projetos aplicados, integra todos os conhecimentos adquiridos, possibilitando ao estudante resolver problemas reais, trabalhar em equipa e refletir criticamente sobre o processo (OA5).

Avaliação / Assessment


Esta UC, pelo seu carácter prático, segue o modelo de Avaliação ao Longo do Semestre (previsto em RGACC), sem exame final, e possui a seguinte composição: - 2 Quizzes (20%): Ao longo do semestre serão disponibilizados vários quizzes online de curta duração, para serem realizados individualmente. Realizados individualmente, visam aferir a compreensão dos conteúdos teóricos e práticos à medida que são introduzidos, permitindo um feedback rápido e contínuo. Não será exigida nota mínima nos quizzes, mas a sua realização contribui para a consolidação das aprendizagens. - Mini-Projeto (30%): Neste mini-projeto realizado em grupos, o estudante desenvolve uma aplicação simples de aprendizagem profunda, desde a preparação dos dados até à primeira versão funcional do modelo. São avaliadas a capacidade de implementação, a clareza do código e a correta utilização das ferramentas abordadas. - Projeto Final (50%): O Projeto Final, realizado em grupo, é mais complexo e requer a integração de camadas, arquiteturas e técnicas avançadas. Valoriza-se a otimização do modelo, a análise crítica de resultados e a capacidade de propor melhorias. Este projeto permite consolidar todas as competências adquiridas. Para obter aprovação na UC, o estudante deverá alcançar uma nota final mínima de 10 valores, resultante da soma ponderada dos quizzes (20%), do Mini-Projeto (30%) e do Projeto Final (50%). Cada componente de avaliação (quizzes, mini-projeto e projeto final) possuí uma nota mínima de 8,5 valores. É exigida uma nota mínima de 10 valores na classificação final. Se o estudante não obtiver aprovação à UC, será considerado como Reprovado. Um estudante é considerado como Reprovado caso não atinja aprovação com a Avaliação ao Longo do Semestre (quizzes + projeto) desta UC. A melhoria de nota poderá ser obtida no ano letivo seguinte, repetindo as componentes de avaliação, em conformidade com o regulamento em vigor. A 1ª Época e 2ª Época poderão ser utilizadas para realização de momentos de avaliação. A presença nas sessões síncronas não é obrigatória. Para além do RGACC, o estudante deve consultar o Regulamento de Estudantes com Estatuto Especial (REEE) e o Código de Conduta Académica (CCA).

Metodologias de Ensino / Teaching methodologies


"A UC segue uma abordagem de Ensino a Distância (EaD) centrada no estudante, combinando métodos síncronos e assíncronos para uma aprendizagem flexível, colaborativa e orientada para a prática. Os estudantes têm acesso a aulas expositivas online, disponibilizadas em plataformas digitais, que apresentam e discutem conceitos e casos de uso, incentivando a interação e o esclarecimento de dúvidas em tempo real. A componente prática é apoiada por materiais como jupyter notebooks e tutoriais vídeo, disponibilizados em ambiente virtual de aprendizagem, permitindo a exploração autónoma de frameworks (Keras, PyTorch) e a resolução de exercícios orientados. Estas atividades assíncronas estimulam a autonomia e a aprendizagem no ritmo do estudante, fortalecendo competências técnicas e analíticas. A aprendizagem baseada em tarefas e estudos de caso assegura a ligação direta entre teoria e prática: pequenos exercícios práticos permitem consolidar os conceitos gradualmente, enquanto estudos de caso mais complexos, desenvolvidos em grupos, promovem a colaboração, a discussão crítica e a capacidade de resolver problemas reais. A utilização de fóruns, chats e sessões de videoconferência para revisão e discussão de resultados garante feedback contínuo e construtivo. A articulação com o modelo pedagógico do Iscte garante a centralidade do estudante no processo de aprendizagem, valorizando a participação ativa, a autonomia e a colaboração. As atividades de avaliação formativa (quizzes, tarefas práticas) orientam a progressão do estudante, enquanto o trabalho de projeto de maior envergadura consolida as competências e prepara para desafios profissionais. Este ecossistema digital promove a capacidade de aprendizagem ao longo da vida, a flexibilidade e o pensamento crítico, resultando numa aquisição de competências coerente com os objetivos de aprendizagem."

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 adotadas nesta UC foram cuidadosamente selecionadas para garantir a coerência com os objetivos de aprendizagem. A combinação de aulas teóricas online, quizzes, tarefas práticas e projetos permite uma integração fluida entre conceitos e aplicação, reforçando o desenvolvimento progressivo de competências. A introdução gradual dos conceitos fundamentais (OA1) nas aulas expositivas e materiais multimédia facilita a compreensão das diferenças entre aprendizagem profunda e aprendizagem automática tradicional. Estes conteúdos teóricos sustentam a aquisição de competências mais complexas (OA2), permitindo ao estudante identificar camadas e técnicas apropriadas para diferentes problemas e tipos de dados. A aplicação prática, assegurada pelos jupyter notebooks, frameworks open-source (Keras, PyTorch) e exercícios orientados, garante o desenvolvimento de competências técnicas (OA3). A análise crítica e a avaliação de resultados, apoiada por tutoriais, exercícios práticos e fóruns de discussão, consolida OA4, ao permitir que os estudantes interpretem métricas, identifiquem estrangulamentos e proponham melhorias. A aprendizagem colaborativa, materializada nos estudos de caso, trabalhos de grupo e projeto final, assegura a aquisição de competências transversais relacionadas com a comunicação, o trabalho em equipa e a capacidade de abordar problemas complexos (OA5). Estes projetos incorporam dados e cenários de aplicação próximos do contexto profissional, fortalecendo a relevância das aprendizagens. O modelo EaD, ao permitir a flexibilidade de horários, o acesso a recursos digitais e a interação síncrona e assíncrona, potencia a autonomia e a motivação do estudante. A integração entre aulas teóricas, práticas, quizzes e projeto final torna o processo de aprendizagem dinâmico, coerente e orientado para a aquisição de competências aplicáveis em ambientes profissionais reais. Desta forma, as metodologias de ensino, as estratégias de avaliação e os recursos pedagógicos estão alinhados com os OAs, promovendo uma formação holística e relevante em Fundamentos de Aprendizagem Profunda.

Observações / Observations


.

Bibliografia Principal / Main Bibliography


"1. Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. 2. Godoy, D. V. (2022). Deep learning with PyTorch step-by-step: A beginner’s guide: Volume I: Fundamentals. 3. Chollet, F. (2021). Deep Learning with Python (2.ª ed.). Manning.

Bibliografia Secundária / Secondary Bibliography


1. Stevens, J., Antiga, L., & Viebranz, T. (2020). Deep Learning with PyTorch. Manning. 2. Patterson, J., & Gibson, A. (2017). Deep Learning: A Practitioner’s Approach. O’Reilly."

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


2025-05-23