Ficha Unidade Curricular (FUC)

Informação Geral / General Information


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

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
30.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 :
31.0h/sem
Trabalho Autónomo :
119.0
Horas de Trabalho Total :
150.0h/sem

Á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