Repositório para o curso de Inteligência Computacional Faculdade de Engenharia da Computação e Telecomunicações (FCT) da Universidade Federal do Pará.
A agenda de aulas da turma pode ser consultada por esse link.
Apresentar conceitos básicos acerca de:
- Inteligência artificial (IA)
- Pré-processamento de dados, enfatizando normalização e PCA (“principal component analysis”)
- Técnicas de aprendizagem de máquina para treinamento supervisionado, treinamento não-supervisionado e aprendizagem por reforço (“reinforcement learning”)
- Uma das técnicas mais utilizadas para aprendizado não-supervisionado: agrupamento usando K-means
- Algumas das técnicas mais utilizadas para aprendizado supervisionado: árvores de decisão, boosting, redes bayesianas, SVMs (“support vector machines”)
- Redes neurais artificiais, incluindo técnicas de aprendizagem profunda (“deep learning”) e modelos com redes neurais convolucionais
- Uma das técnicas mais utilizadas para aprendizado por reforço: “Q-learning”
- Um dos modelos basilares para redes grafos neurais: "graph convolutional neural network (GCN)"
- Uma das técnicas essenciais para LLMs: mecanismos de atenção
- Identificar quais técnicas de IA devem ser aplicadas dado um problema de engenharia
- Ter conhecimento da teoria e equações matemáticas nas quais os algoritmos são baseados
- Estar apto(a) a implementar sua própria versão de algoritmos clássicos, bem como customizá-los para aplicações específicas
- Saber resolver problemas na prática usando bibliotecas “open-source” tais como as que adotam a linguagem Python.
A avaliação de cada estudante será baseado em diversas atividades, tais como provas, exercícios e trabalhos guiados. De maneira geral, a disciplina terá a seguinte divisão:
- 3 provas
- 5 projetos guiados
- 7 listas de exercícios
- GÉRON, Aurélien: Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems, 2nd Edition, 2019.
| N | Tópico | Materiais |
|---|---|---|
| 1 | Introdução à inteligência artificial | 📄 Apresentação / 💻 Jupyter notebook |
| 2 | Regressão linear | 📄 Apresentação / 💻 Jupyter notebook |
| 3 | Modelos de classificação | |
| 3.1 | k-NN | 📄 Apresentação / 💻 Jupyter notebook |
| 3.2 | Decision stump | 📄 Apresentação / 💻 Jupyter notebook |
| 3.3 | Árvores de decisão | 📄 Apresentação / 💻 Jupyter notebook |
| 3.4 | Random forest | 📄 [Apresentação] / 💻 Jupyter notebook |
| 3.5 | SVM | 📄 Apresentação / 💻 [Jupyter notebook] |
| 4 | Ensemble learning | 📄 Apresentação / 💻 [Jupyter notebook] |
| 5 | Aprendizado Bayesiano | 📄 Apresentação / 💻 [Jupyter notebook] |
| 6 | Agrupamento e detecção de anomalia | 📄 Apresentação / 💻 Jupyter notebook |
| 7 | Redução de dimensionalidade | 📄 Apresentação / 💻 Jupyter notebook |
| 8 | Introdução às redes neurais artificiais | 📄 Apresentação / 💻 [Jupyter notebook] |
| 9 | Redes neurais convolucionais | 📄 [Apresentação] / 💻 [Jupyter notebook] |
| 10 | Redes neurais recorrentes | 📄 Apresentação / 💻 [Jupyter notebook] |
| 11 | Transformers | 📄 [Apresentação] / 💻 [Jupyter notebook] |
| 12 | Mecanismos de atenção | 📄 [Apresentação] / 💻 [Jupyter notebook] |
| 13 | LLMs | 📄 [Apresentação] / 💻 [Jupyter notebook] |
| 14 | Aprendizado por reforço | 📄 [Apresentação] / 💻 [Jupyter notebook] |
| 15 | Redes grafos neurais | 📄 Apresentação / 💻 [Jupyter notebook] |
| ID | Tópico |
|---|---|
| A01 | Introdução a IA e Normalização de dados |
| A02 | [Decision stump, árvores de decisão k-NN e SVM] |
| A03 | [Redes neurais artificiais e recorrentes] |
| A04 | [Redes neurais convolucionais] |
| A05 | [YOLO e Mecanismos de atenção] |
| A06 | [Transformers e LLM] |
| A07 | [Aprendizado por reforço e GCN] |
| ID | Tópico |
|---|---|
| T00 | Template para o entregável |
| T01 | Classificação de dígitos usando Sklearn |
| T02 | [Previsão de tempo usando RNNs] |
| T03 | [Detecção de focos de lixo usando YOLO] |
| T04 | [Processamento de documentos usando LLM e RAG] |
| T05 | [Classificação de usuários em redes sociais usando GNN] |
| ID | Tópico |
|---|---|
| Q01 | k-NN, SVM, arvóres de decisão, K-means e PCA |
| Q02 | Redes neurais, CNN e YOLO |
| Q03 | CNN |
Professor:
- Aldebaro Klautau
Colaboradores:
- Cláudio Modesto
- Frank Bruno
- Faveren ShangBum
- Pedro Canavieira
- Caio Brasil