Tópicos Avançados em Inteligência Artificial
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Ciência de Computadores |
Ocorrência: 2024/2025 - 1S 
Ciclos de Estudo/Cursos
Docência - Responsabilidades
Língua de trabalho
Inglês
Objetivos
Proporcionar aos alunos conhecimentos sobre os novos desenvolvimentos em IA que envolvem avanços em áreas tão díspares como lógica, estatística e investigação operacional.
Enfase será colocada em:
- pesquisa probabilistica, com foco em Monte Carlo Tree Search
- modelos gráficos probabilísticos, dirigidos e não dirigidos, incluindo inferência e aprendizagem de parâmetros e de estrutura; ligação â classificadores lineares e redes neuronais
- representacão lógica: Lógica de primeira ordem (FOL) e Datalog para representação de estrutura; aprendizagem de programas lógicos em Programação Lógica Indutiva (ILP).
- integração: Aprendizagem relacional estatística (SRL) e redes neuronais-lógicas (NeSy).
O curso requer competências adquiridas em Desenho e Análise de Algoritmos, Inteligência Artificial e Data Mining.
Resultados de aprendizagem e competências
Desenvolver a capacidade de utilização de técnicas de inteligência artificial e algoritmos de pesquisa em situações práticas em que parte do conhecimento resida em bases de dados.
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
Desenho e Análise de Algoritmos, Inteligência Artificial, Data Mining I
Programa
Esta UC funcionará em 3 módulos, como segue:
Módulo 1: Monte Carlo Tree Search
1.1. Introdução à Aprendizagem por Reforço::
- Coneitos gerais
- Processos de decisão de Markov (MDPs)
- Exploration vs. exploitation
1.2. Bandit Algorithms:
- Multi-armed bandit problem
- Epsilon-greedy, UCB, Thompson sampling
- Contextual bandits
-Aplicações selecionadas
1.3. Monte Carlo Tree Search:
- Fundamentos de MCTS
- Políticas de árvore e políticas padrão
- Limite superior de confiança para árvores (UCT)
- Aplicações (jogos, robótica)
1.4.Tópicos Avançados:
- Aprendizagem profunda por reforço
- Aplicações em domínios selecionados
Módulo 2: Representação em Lógica de primeira ordem e modelação
2.1 Introdução à programação lógica probabilística
- breve revisão de programação lógica
- representação do conhecimento usando programação lógica
- representação do conhecimento usando programação lógica probabilística
- sintaxe e semântica de programação lógica probabilística utilizando ProbLog e CLP(BN)
2.2 Aprendizagem de Programas em Lógica Probabilística
- introdução à programação lógica indutiva (ILP)
- algoritmos e sistemas para ILP
- limitações
- aprendendo regras probabilísticas lógicas de primeira ordem
- algoritmos e complexidade
- cálculos de probabilidade exatos e aproximados
- combinando inferência probabilística com inferência lógica
2.3 Argumentação Bipolar (se o tempo permitir)
Módulo 3:
3.1 ILP revisitado:
- lidar com grandes data-sets
- Exemplos
- Inducão como Abdução.
3.2 SRL e NeSy
- From Problog to NNs: it's all about layers
- From TensorLog to GNNs: it's all about matrixes
- Experimental Evaluation
3.3 Generative Models
- Does Logic Programming need attention?
- Meliad and AlphaProof
- Tanenbaum's ToW
3.4 Where do you go from here?
- Discussion with free-ring-your-favorite-paper!
Bibliografia Obrigatória
Richard S. Sutton and Andrew G. Barto; Reinforcement Learning: An Introduction, MIT Press. ISBN: 978-0262039246 (http://incompleteideas.net/book/the-book-2nd.html)
Fabrizio Riguzzi;; Foundations of Probabilistic Logic Programming Languages, Semantics, Inference and Learning, River Publishers, 2022
Luc de Raedt;
Probabilistic inductive logic programming. ISBN: 9783540786511
Bibliografia Complementar
Stuart Russell, Peter Norvig; Artificial Intelligence: A Modern Approach, Pearson, 2020. ISBN: 978-0134610993
Observações Bibliográficas
Apontamentos disponíveis no Moodle.
Métodos de ensino e atividades de aprendizagem
Exposição teórica com discussão da aplicação em inteligência artifical.
Resolução de exercícios.
Software
python
Palavras Chave
Ciências Físicas > Ciência de computadores > Cibernética > Inteligência artificial
Ciências Físicas > Matemática > Matemática aplicada > Análise numérica
Ciências Físicas > Matemática > Matemática aplicada > Investigação operacional
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Designação |
Peso (%) |
Teste |
75,00 |
Exame |
25,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Estudo autónomo |
106,00 |
Frequência das aulas |
56,00 |
Total: |
162,00 |
Obtenção de frequência
Frequência obrigatória às aulas, de acordo com o regulamento da U.P.
Fórmula de cálculo da classificação final
Classificação final = T1 + T2 + T3 + E
T1 = classificação do 1º teste, com cotação de 5 valores
T2 = classificação do 2º teste, com cotação de 5 valores
T3 = classificação do 2º teste, com cotação de 5 valores
E = classificação do exame final, com cotação de 5 valores
Nota: alunos com média de 75% ou superior nos testes estão dispensados do exame final.
Provas e trabalhos especiais
n/a
Trabalho de estágio/projeto
n/a
Avaliação especial (TE, DA, ...)
Idêntica à dos restantes estudantes.
Melhoria de classificação
Exame final.