Fundamentos de Inteligência Artificial (IA) – 30h
Introdução à inteligência artificial e conceitos básicos
- O que é Inteligência Artificial?
- Origens da IA: Primeiros Conceitos e Definições.
- Avanços Tecnológicos que Impulsionaram a IA.
- Principais Marcos e Eventos da IA ao Longo das Décadas.
- Distinção entre IA Fraca e IA Forte.
- Relação entre Inteligência Artificial, Machine Learning, Deep Learning e Data Science.
Principais abordagens em IA: abordagem simbólica
- Representação do Conhecimento e Lógica Formal.
- Sistemas Baseados em Regras.
- Limitações e Desafios Dessa Abordagem.
Principais abordagens em IA: aprendizagem de máquina (Machine Learning)
- Definição e Exemplos de Uso no Dia a Dia.
- Como os Algoritmos Aprendem a Partir dos Dados.
- Diferenças entre Modelos Estatísticos Tradicionais e Aprendizagem de Máquina.
Principais abordagens em IA: aprendizagem profunda (Deep Learning)
- O Que São Redes Neuronais e Sua Inspiração Biológica.
- Arquiteturas de Redes Neuronais: Feedforward, CNN, RNN, Entre Outras.
- Como o Deep Learning Revolucionou Campos como Visão por Computador, Processamento de Linguagem Natural e os Modelos de Larga Escala (LLM) Usados em Bots como o ChatGPT.
Tipos de aprendizagem: aprendizagem supervisionada
- Previsão/Estimação de uma Variável a Partir de um Conjunto de Outras Variáveis.
- Definição e Exemplos Práticos.
- Variáveis Qualitativas vs. Variáveis Quantitativas.
- Algoritmos Comuns: Regressão Linear, Árvores de Decisão, SVM, Entre Outros.
Tipos de aprendizagem: aprendizagem não supervisionada
- Como Encontrar Padrões em Dados Não Etiquetados.
- Algoritmos de Clustering (ex: K-means).
- Algoritmos de Redução de Dimensionalidade (ex: PCA)
Tipos de aprendizagem: aprendizagem por reforço
- O Processo de Aprender Através de Recompensas e Penalidades.
- Exemplos e Aplicações em Jogos, Robótica e Otimização.
Técnicas de avaliação de modelos de IA
- A Importância de Avaliar a Performance de um Modelo.
- Métricas Comuns em Aprendizagem Supervisionada: Precisão, Revocação, AUC-ROC, Entre Outras.
- Técnicas de Validação Cruzada.
- Overfitting e Underfitting: Diagnóstico e Soluções.
Projeto prático FIA – 6h
Seminário: Ética, Legislação e Proteção – 3h
- Discussão sobre a ética por trás do uso de AI
- Responsabilidade dos criadores e utilizadores
- Desafios éticos da Inteligência Artificial
- Legislação e Políticas
Visão de Computador e Stable Diffusion – 21h
Instalar OpenCV e introdução ao NumPy e Matplotlib
- Instalar OpenCV usando pip e validar a instalação
- Introdução ao OpenCV como uma biblioteca para tarefas de visão computacional
- Visão geral do NumPy: criação e manipulação de arrays, operações com arrays e indexação
- Introdução ao Matplotlib para visualização: criação de gráficos, personalização de gráficos e exibição de imagens
Carregar, exibir e modificar imagens
- Ler e exibir imagens usando OpenCV (imread e imshow)
- Compreender a representação de imagens (valores de pixéis, dimensões e canais)
- Conversão de espaços de cores das imagens (BGR, RGB, Grayscale)
- Redimensionamento, rotação e inversão de imagens
- Guardar imagens modificadas (imwrite)
Thresholding e filtragem de imagens
- Compreensão do thresholding de imagens e suas aplicações
- Aplicação de métodos de thresholding global e adaptativo no OpenCV (threshold, adaptiveThreshold)
- Introdução à filtragem de imagens para redução de ruído e realce de características
- Filtros comuns no OpenCV: Gaussian, median e bilateral
- Técnicas de detecção de bordas: Sobel, Scharr e Canny
Captura e processamento de vídeo
- Captura de vídeo de uma câmera ou arquivo usando OpenCV (VideoCapture)
- Exibição de frames de vídeo em tempo real (imshow)
- Compreensão das propriedades do vídeo (largura do frame, altura e taxa de frames)
- Processamento de frames de vídeo (transformações de imagem, conversões de espaço de cores)
- Salvamento de vídeo processado (VideoWriter)
Implementação de uma técnica simples de deteção de objetos
- Visão geral das técnicas básicas de deteção de objetos (por exemplo, baseada em cores, template matching, Haar)
- Selecionar e implementar uma técnica simples de deteção de objetos usando OpenCV
- Integrar a deteção de objetos no pipeline de processamento de vídeo
- Desenhar caixas delimitadoras e rótulos nos objetos detetados
Técnicas de deteção de objetos baseadas em Deep Learning
- Visão geral das técnicas de deteção de objetos baseadas em Deep Learning
- Arquiteturas populares de deteção de objetos (R-CNN, Fast R-CNN, Faster R-CNN, YOLO, SSD)
- Comparação de desempenho e precisão das arquiteturas de deteção de objetos
- Implementação de um modelo de deteção de objetos pré-treinado com frameworks populares de Deep Learning (TensorFlow, PyTorch)
Rastreamento de objetos em tempo real
- Visão geral das técnicas de rastreamento de objetos
- Diferença entre detecção e rastreamento de objetos
- Algoritmos de rastreamento de objetos baseados em Deep Learning
- Implementação de rastreamento de objetos em tempo real com OpenCV e Deep Learning
Compreensão do YOLO para deteção de objetos em tempo real e suas variantes
- História e motivação por de trás do YOLO
- Arquitetura e componentes do YOLO
- Como o YOLO realiza a deteção de objetos
- Diferenças entre o YOLO e outros métodos de deteção de objetos (por exemplo, Faster R-CNN, SSD)
- YOLOv1, YOLOv2 (YOLO9000) e YOLOv3
- YOLOv4, YOLOv5,… YOLOV8 and YOLO NAS: arquitetura, características e melhorias de desempenho
Deteção de objetos com YOLO
- Configuração do ambiente e dependências
- Utilização de modelos YOLO pré-treinados
- Personalização do YOLO para casos de uso específicos
- Treino de modelos
- Deteção de objetos em imagens
- Deteção de objetos em tempo real em fluxos de vídeo
- Avaliação e ajuste fino do desempenho do YOLO
Introdução a Stable Diffusion
- O que é Stable Diffusion?
- Como funciona?
- Diferentes tipos de Stable Diffusion
- As aplicações de Stable Diffusion
Gerar e manipular imagens com Stable Diffusion e Python Scripts
- Geração de imagens
- Reconstrução de imagens
- Separação de componentes
- Denoising
Projeto prático VC&D – 6h
Seminário: Entender e Enfrentar o Mundo dos Deepfakes – 3h
- Introdução aos Deepfakes
- Como os Deepfakes são criados
- Usos e aplicações dos Deepfakes
- Aplicações positivas
- Riscos e consequências
- Ferramentas de identificação e verificação de Deepfakes
Inteligência Artificial Generativa e Modelos de Linguagem de Grande Escala (LLMs) – 30h
Introdução aos Modelos Generativos
- O que é Inteligência Artificial Generativa?
- O que são modelos generativos?
- Aplicações e usos
- Diferença entre modelos discriminativos e generativos
Variational Autoencoders (VAEs)
- Introdução aos autoencoders
- Como funcionam os VAEs
- Aprendizagem de representações.
- Aplicações práticas
Transformers
- Origem e evolução dos Transformers
- Arquitetura básica dos Transformers
- Self-attention e suas vantagens
- Aplicações em tarefas de processamento de linguagem natural (PLN)
Chatbots
- Introdução aos chatbots e sua relevância
- Arquiteturas comuns de chatbots
- Utilizando Transformers em chatbots
- Desafios e considerações para a construção de chatbots
Generative Adversarial Networks (GANs)
- Introdução e motivação por trás dos GANs
- Arquitetura e funcionamento dos GANs
- Diversas variações dos GANs (DCGAN, CycleGAN, etc.)
- Aplicações e exemplos práticos
Modelos Combinados
- Combinando diferentes técnicas generativas
- VAE-GANs e suas aplicações
- Outros exemplos de modelos combinados
- Considerações práticas
Large Language Models (LLMs)
- Introdução aos modelos de linguagem de grande escala
- A revolução dos LLMs (como GPT, BERT, etc.)
- Como treinar, afinar e usar LLMs
- Extensões de ficheiros (em especial GGUF e GGML)
- GPT-3 e GPT-4 do OpenAI, LLaMA e LLaMA2 do Meta, e PaLM2 do Google
- Instalar Oobabooga Textgen WebUI for M1/M2
- Instalar LLMS do Hugging Face
- Instalar LLMS manualmente
- Alucinações e outras limitações
- Desafios e ética associada aos LLMs
Projeto prático IAG&LLM – 6h
Engenharia de Prompts para Developers – 6h
ChatBots disponíveis online para programadores
- ChatGPT (code interpreter)
- Github Copilot
- Perplexity
- Phind
Engenharia do Prompt
- Elementos essenciais de um bom Prompt
- Zero-, One- & Few-Shot Prompting
- Output Templates
- Super Prompts como CAN & DAN
Exemplos de aplicabilidade
- Gerar código a partir de conceitos elementares
- Explicar Código
- Debugging com Prompts
- Documentar com Prompts
- Refactoring com Prompts
LangChain: Como construir aplicações inovadoras alimentadas por LLMS – 30h
Compreender o LangChain
- Models – Input e Output
- Conexões de dados
- Cadeias (Chains)
- Memória (Memory)
- Agentes
- Chamadas de retorno (Callbacks)
Frameworks que normalmente surgem com LangChain
- Criar aplicações Web com Streamlit
- Construir um banco de dados vetorial com Pinecone
- Demonstração do modelo com Gradio
Enquadramento do perfil standard no universo da Inteligência Artificial
- ChatBots online e pagos
- ChatBots offline e gratuitos
- Geração e Analise de Texto, Ficheiros, Imagens, Vídeos e Áudios (humanos e outros)
Desenvolver Aplicações de IA com base no perfil dos formandos
Projeto prático LangChain – 6h
Certificação Rumos Expert (CRE): AI Expert – 8h
- Desenvolvimento de um projeto completo de Inteligência Artificial
- Identificação de problemas e definição de âmbito
- Recolha e preparação de dados relevantes
- Implementação e avaliação do modelo de IA
Ação de preparação para exame CAIP – 3h
Preparação de exame CAIP (Certified Artificial Intelligence Practitioner™) of CertNexus