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
2024/2025
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.
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: Reconhecer 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. Conhecer 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. Conhecer teoremas fundamentais sobre redes neuronais assimptóticas e aplicar esses resultados na análise crítica de modelos.
Conteúdos Programáticos / Syllabus
1. Modelos matemáticos de neurónios e funções de ativação. 2. (Aula Convidada) 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. Introdução à aprendizagem por reforço profunda
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
O programa abrange tópicos como neurónios artificiais, aceleradores de hardware, algoritmos matriciais eficientes, "backpropagation", classificação e regressão, teoremas de aproximação universal, redes de convolução, técnicas de regularização e aprendizagem por reforço profunda (ARP). Os objetivos de aprendizagem estão claramente alinhados com o programa. A partir do exposto, os estudantes reconhecerão as componentes de modelos de aprendizagem profunda (AP), implementarão programas em Python e relacionarão diferentes arquiteturas para a resolução de problemas. Também irão adquirir capacidades para aplicar técnicas de regularização para melhoria de desempenho, e utilizar o algoritmo DQN em contextos de ARP. A utilização da biblioteca Keras permitirá que os alunos implementem modelos de AP em reconhecimento de imagens, processamento de linguagem natural e tarefas de ARP. Os estudantes irão ainda estudar teoremas fundamentais, capacitando-os a analisar teoricamente modelos de AP.
Avaliação / Assessment
Aprovação com classificação não inferior a 10 valores numa das modalidades: - Avaliação ao longo do semestre v1: fichas de exercícios (70% no total) realizadas individualmente + trabalho de grupo (30%). - Avaliação ao longo do semestre v2: exame (70 %), realizado numa das épocas de exame + trabalho de grupo (30 %). - Avaliação por exame: exame (100 %), realizado numa das épocas de exame. > Cada ficha de exercícios terá uma componente escrita e uma componente de implementação em python. As resoluções apresentadas estão sujeitos a discussão. > Os trabalhos de grupo deverão ser realizados em grupos de até 4 elementos e estão sujeitos a discussão. Consistem no desenvolvimento duma aplicação de aprendizagem profunda.
Metodologias de Ensino / Teaching methodologies
As aulas desenrolam-se de acordo com as seguintes metodologias de ensino-aprendizagem (MEA): MEA1. Exposição e discussão MEA2. Resolução de exercícios MEA3.Trabalho autónomo do aluno MEA4. Aulas convidadas.
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
A metodologia de ensino MEA1, que envolve exposição e discussão, é coerente com todos os objetivos de aprendizagem. Através desta metodologia, os alunos podem 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). Em geral, a MEA1 fornece uma plataforma para uma compreensão aprofundada dos objetivos de aprendizagem. Em relação à MEA2, que se concentra na resolução de problemas, alinha-se bem com todos os objetivos de aprendizagem. Ao se envolverem em atividades de resolução de problemas, os alunos podem aplicar ativamente o conhecimento adquirido em todos os objetivos de aprendizagem. A metodologia MEA2 promove a aprendizagem prática e a aplicação prática dos objetivos de aprendizagem. No que diz respeito à MEA3, que envolve o estudo autónomo, de acordo com o planeamento semanal das aulas, ela apoia a realização de todos os objetivos de aprendizagem. Através do estudo autónomo, os alunos podem aprofundar a sua compreensão dos conceitos fundamentais subjacentes a todos os objetivos de aprendizagem, explorando-os ao seu próprio ritmo. A MEA3 promove a aprendizagem independente e estimula o desenvolvimento dos objetivos de aprendizagem desejados. Relativamente a MEA4, que envolve aulas práticas de laboratório de computação e implementação prática de técnicas em Python, alinha-se perfeitamente com todos os objetivos de aprendizagem. Esta abordagem 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). A MEA4 garante uma conexão direta entre os objetivos de aprendizagem e a aplicação prática dos conceitos e técnicas aprendidas pelos alunos. Finalmente, a utilização de aulas convidadas (MEA5), permite abordar outros temas e expandir os horizontes dos alunos. Por exemplo uma aula convidada sobre hardware para IA com redes neuronais dá-nos informação valiosa por si mesma e fornece guias valiosos para a construção e implementação computacional eficiente de algoritmos de aprendizagem profunda.
Observações / Observations
--
Bibliografia Principal / Main Bibliography
- François Chollet, “Deep Learning with Python”, Manning, Second Edition 2021. - Simon J. D. Prince, "Understanding Deep Learning", MIT press, 2023.
Bibliografia Secundária / Secondary Bibliography
- Ian Goodfellow and Yoshua Bengio, and Aaron Courville, "Deep Learning", MIT press, 2016 - Maxim Lapan, “Deep Reinforcement Learning Hands On”, Packt, Second Edition 2020.
Data da última atualização / Last Update Date
2024-07-20