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
2026/2027
Pré-requisitos / Pre-Requisites
Conhecimentos básicos de Álgebra Linear, cálculo diferencial e probabilidades.
Objetivos Gerais / Objectives
Desenvolver, tanto a um nível teórico como ao nível da sua implementação (em python), alguns conceitos e técnicas fundamentais em aprendizagem automática com redes neuronais profundas. Aplicar esses conceitos e técnicas, implementando de origem ou usando a biblioteca Keras, à resolução de problemas em reconhecimento de imagem, processamento de linguagem natural e aprendizagem por reforço.
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: Identificar 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. Identificar 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. Identificar teoremas fundamentais sobre redes neuronais assimptóticas e aplicar esses resultados na análise crítica de modelos. OA8. Avaliar possíveis áreas de pesquisa para serem desenvolvidos em projeto.
Conteúdos Programáticos / Syllabus
1. Modelos matemáticos de neurónios e funções de ativação. 2. Hardware: Aceleradores de IA para aprendizagem profunda. 3. Algoritmos eficientes para operações matriciais e álgebra tensorial. 4. Backpropagation e diferenciação automática. 5. Problemas de classificação e de regressão com redes neuronais feedforward. 6. Teoremas de aproximação universal e análise assimptótica. 7. Redes de convolução e reconhecimento de imagem. 8. Técnicas de regularização. 9. Aprendizagem por reforço profunda 10. Modelos de IA sustentável.
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
As metodologias de ensino foram selecionadas de forma a corresponder aos objetivos de aprendizagem da UC. Através de uma combinação de momentos de aprendizagem online síncrona e assíncrona, os estudantes irão realizar tarefas com diferentes níveis de apoio e orientação docente, aplicar conhecimentos teóricos e desenvolver competências de resolução de problemas práticos. O docente dará feedback (corretivo e/ou cognitivo) sobre as tarefas desenvolvidas ao longo do semestre. Os estudantes irão realizar um projeto onde, com orientação do docente, os estudantes analisam e discutem possíveis áreas de pesquisa relacionados com os temas abordados, aplicam conhecimentos teóricos e desenvolvem competências de resolução de problemas e pensamento crítico. Como estratégia motivadora, a unidade curricular incluirá a tutoria entre pares ao longo do semestre, onde os estudantes se apoiam mutuamente, partilham conhecimentos e desenvolvem sentido de pertença de comunidade entre si.
Avaliação / Assessment
Avaliação ao longo do semestre: - quatro quizzes online realizados individualmente ao longo do semestre com o peso de 20% na nota final; - trabalho de investigação individual realizado ao longo do semestre (com entrega de um relatório escrito e uma componente de implementação em python), com o peso de 30% na nota final. O trabalho de investigação deverá corresponder ao desenvolvimento duma extensão livre do programa da cadeira, tendo de conter uma componente de implementação obrigatória; - teste final presencial com o peso de 50 % na nota final, com nota mínima de 7,5 valores. Avaliação por exame (1.ª Época em caso de escolha do estudante, 2.ª Época e Época Especial): Exame presencial (100% da nota final).
Metodologias de Ensino / Teaching methodologies
A UC Matemática para Aprendizagem Profunda adotará como metodologia de ensino e aprendizagem central a Aprendizagem Baseada em Tarefas, Aprendizagem Baseada em Projetos, combinadas com a Aprendizagem Colaborativa. A Tutoria entre Pares será utilizada como estratégia de motivação e envolvimento dos estudantes. Os estudantes colaboram entre si, onde um dos estudantes com mais conhecimento numa temática irá apoiar o(s) outro(s) colega(s), em modo síncrono ou assíncrono (mensagens, fóruns de discussão). Esta abordagem pedagógica está articulada com o modelo pedagógico do Iscte porque o estudante é considerado um agente ativo no seu processo de aprendizagem, a aprendizagem constrói-se na relação com os pares e docentes, o conhecimento é trabalhado como uma ferramenta para a construção e desenvolvimento de mais conhecimento e aplicado em diversos contextos.
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 foram selecionadas de forma a corresponder aos objetivos de aprendizagem da UC. Através de uma combinação de momentos de aprendizagem online síncrona e assíncrona, os estudantes irão realizar tarefas com diferentes níveis de apoio e orientação docente ao longo da UC que lhes permitirá, 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). As aulas práticas de laboratório de computação e implementação prática de técnicas em Python a par com atividades de resolução de problemas, 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). O docente dará feedback (corretivo e/ou cognitivo) sobre as tarefas realizadas pelos alunos ao longo do semestre. Desta forma existe conexão direta entre os objetivos de aprendizagem e a aplicação prática dos conceitos e técnicas aprendidas pelos alunos. Paralelamente os estudantes irão realizar um projeto onde, com orientação do docente, os estudantes analisam e discutem possíveis áreas de pesquisa para serem desenvolvidos no projeto (OA8), aplicam conhecimentos teóricos e desenvolvem competências de resolução de problemas. Os estudantes irão adquirir autonomia e pensamento crítico na utilização destes e de outros conceitos e na sua utilização em contexto de aula. A interação e colaboração entre os estudantes permite construir conhecimento em conjunto. A participação ativa é incentivada através de discussões e reflexão sobre problemas, visando à criação de uma compreensão partilhada pelo grupo. Como estratégia motivadora, a unidade curricular incluirá a tutoria entre pares ao longo do semestre, onde os estudantes se apoiam mutuamente, partilham conhecimentos e desenvolvem sentido de pertença de comunidade entre si.
Observações / Observations
.
Bibliografia Principal / Main Bibliography
"François Chollet, “Deep Learning with Python”, Manning, Second Edition 2021. Ovidiu Calin, “Deep Learning Architectures: A Mathematical Approach”, Springer, 2020. Maxim Lapan, “Deep Reinforcement Learning Hands On”, Packt, Second Edition 2020. "
Bibliografia Secundária / Secondary Bibliography
Data da última atualização / Last Update Date
2025-12-02