IA - Conceitos e Ética
Força
A Força de IA se refere ao nível de desempenho, capacidade de processamento ou habilidade de uma inteligência artificial em realizar tarefas complexas.
-
IA Fraca (ou Estreita / Narrow AI)
- Foca em uma tarefa específica.
- Ex: Assistentes virtuais, tradutores automáticos, reconhecimento de fala.
- ChatGPT está nesta classificação.
-
IA Forte ou Geral (AGI – Artificial General Intelligence)
- Teria capacidade de raciocinar como um ser humano em qualquer tarefa cognitiva.
- Ainda não existe.
- Teria raciocínio abstrato, senso comum, criatividade e até emoções simuladas.
-
IA Superinteligente (ASI – Artificial Super Intelligence)
- Muito além do intelecto humano.
- É especulativa e ainda teórica.
- Poderia melhorar a si mesma e resolver problemas complexos de forma autônoma.
Capacidade
• Máquinas Reativas: são ferramentas que segue os princípios mais básicos das IA’s, realizando apenas atividades reativas. Isso pois elas não têm memória armazenada, podendo apenas agir conforme experiências passadas. O exemplo mais clássico é o Deep Blue, ferramenta de xadrez criada pela IBM em 1990.
• Memória Limitada: são IA’s com sistema de memória, portanto podem usar experiências passadas para informar decisões futuras. Elas basicamente olham ao passado, para definir o que fazer no futuro. O principal tipo de IA do tipo de Memória Limitada, que estudaremos no curso, são as ferramentas de Machine Learning.
• Teoria da Mente: como o nome aponta, essa classificação é apenas teórica. Ela se relaciona com as IA’s fortes, com capacidade de simular (e superar) a mente humana.
• Autoconsciência: também um nível ainda não alcançado. Aqui é o grande objetivo final daciência de dados, criar uma inteligência autoconsciente, capaz de evoluir e se replicar.
Ética
IA Explicável é um tipo de IA que consegue explicar de forma clara por que chegou a determinada decisão, recomendação ou resultado.
Ela responde à pergunta:
❓ “Por que a IA fez isso?”
❓ “O que levou a essa conclusão?”
Muitos modelos de IA (como redes neurais profundas) funcionam como caixas-pretas: eles dão o resultado, mas ninguém entende exatamente como chegaram lá.
Isso é perigoso em áreas como:
- 🏥 Saúde (ex: diagnóstico de doenças)
- ⚖️ Justiça (ex: decisões judiciais automatizadas)
- 💰 Finanças (ex: crédito negado)
- 🚗 Carros autônomos (ex: por que freou?)
- 🧪 Ciência (ex: descoberta de padrões complexos)
Com a IA Explicável, dá pra:
- Aumentar a confiança dos usuários
- Detectar preconceitos (bias) nos dados
- Corrigir erros e injustiças
- Obedecer a leis de transparência e ética
Ela pode usar várias estratégias, como:
- Mostrar quais variáveis influenciaram a decisão (ex: “sua renda teve mais peso do que seu histórico de crédito”)
- Gerar gráficos, mapas de calor, ou textos explicativos
- Criar modelos mais simples (como árvores de decisão) em vez de redes neurais complexas
Exemplo:
Você pediu um empréstimo e foi negado por um sistema de IA.
❌ IA não-explicável: “Seu pedido foi negado.”
✅ IA explicável: “Seu pedido foi negado porque seu score de crédito está abaixo de 550 e sua renda é inferior à média dos aprovados.”
Resumo:
- IA Explicável (XAI) = Transparência + Confiança + Responsabilidade
- Fundamental para a ética na IA e para aplicações críticas
- Ainda é um desafio técnico, especialmente em modelos mais complexos (tipo GPT, redes neurais profundas, etc)
IA Responsável (Responsible AI) é um conjunto de princípios, práticas e tecnologias que garantem que a IA seja usada de forma ética, segura, justa e transparente.
É tipo dizer:
“Vamos criar IA com consciência social e moral, mesmo que ela mesma ainda não tenha consciência.”
O que envolve uma IA Responsável?
Ela considera várias frentes:
-
Ética
- A IA respeita valores humanos: justiça, privacidade, não causar dano.
- Ex: não discriminar pessoas com base em raça, gênero ou classe.
-
Transparência
- As decisões da IA devem ser compreensíveis (ligado à IA Explicável).
- Usuários devem saber que estão lidando com uma IA.
-
Privacidade e Segurança
- Protege dados pessoais, não vaza informações, e evita uso indevido.
- Ex: criptografia, anonimização de dados.
-
Justiça / Ausência de Viés (Fairness)
- A IA não deve favorecer um grupo e prejudicar outro injustamente.
- Ex: Um algoritmo de emprego que favorece homens precisa ser revisto.
-
Accountability (Responsabilidade legal e prática)
- Alguém deve ser responsabilizado pelas decisões da IA (não vale dizer "a máquina decidiu").
- Pode envolver governos, empresas, desenvolvedores.
-
Sustentabilidade
- Considera o impacto ambiental da IA.
Exemplo prático:
Uma empresa usa IA para contratar funcionários.
Uma IA Responsável:
- Foi treinada com dados diversos.
- Explica por que aprovou ou reprovou candidatos.
- Não discrimina com base em gênero ou raça.
- É auditada regularmente.
- Tem um canal para contestar decisões automatizadas.
Diferença entre os termos:
Termo | Foco principal |
---|---|
IA Explicável | Transparência nas decisões |
IA Justa | Eliminar vieses/preconceitos |
IA Segura | Evitar riscos, ataques e danos |
IA Responsável | Tudo isso junto, com ética e prestação de contas |
Ciclo de Criação
As inteligências artificiais passam por um ciclo de desenvolvimento adaptável e iterativo - isso é, é um ciclo que se repte inúmeras vezes até o resultado desejado ser atingido.
• Definição do problema
• Integração e preparação dos dados
• Desenvolvimento e treinamento do modelo
• Avaliação e refinamento do modelo
• Implementação
• MLOps
Definição do Problema
A principal etapa aqui é a engenharia de requisitos, que envolve elicitar tudo que a inteligência artificial deve entregar.
Preparação de dados
Coleta de dados >> Limpeza de dados >> Pré-processamento >> Divisão dos dados dos dados >> Implementação dos dados
Limpeza de Dados
-
deduplicação é uma técnica de remoção de dados, destinada a remover duplicatas de um dados dentro de um conjunto, mantendo somente uma representação daquele valor.
-
Tratamento de Valores Ausentes
Podemos excluir os dados ausentes, ou usar diferentes técnicas para a imputação de valores - isso é, atribuir um valor de alguma forma para aquele espaço de valores. Para isso, temos algumas técnicas:
• Interpolação linear: Aplicação de técnicas matemáticas e estatísticas para calcular o valor, envolvendo as variáveis limítrofes (do limite superior e inferior).
• Medidas de dispersão: é possível aplicar diretamente as diferentes medidas de dispersão para achar o valor, como média, mediana e variância.
• Imputação baseada em aprendizado de máquina: podemos ter modelos de aprendizado de máquina treinados para preencher esses valores. É comum o uso de algoritmos de predição (regressão) ou baseados em distância, como o k-NN.
• Substituição: é possível fazer uma imputação pura, embora não seja uma técnica desejada. Aqui, usamos 0, valores máximos, valores mínimos, entre outros, para substituir os valores ausentes.
-
Detecção e remoção de outliers e ruídos
-
Padronização dos dados
A padronização envolve trazer os dados para um mesmo padrão, seja de tipo de dado, seja de escala de variação. O foco das questões envolve justamente essa segunda parte: trazer dados para uma mesma escala de variação, usualmente com mesma média e mesma variância. Temos algumas técnicas para isso, que você deve saber:
• Normalização Min-Max: reescala os dados para um intervalo fixo, geralmente de 0 a 1.
• Normalização Z-Score: transforma o conjunto de dados para uma escala normal padrão, com média igual a 0 e desvio padrão igual a 1. Para isso, usamos a fórmula estatística do Z-Score.
É um método intermediário, quanto à sensibilidade a outliers.
• Escalas robustas: formas de escalar os dados conforme intervalos de quartis, como decis e percentis. É uma ferramenta útil quando temos muitos outliers e ruídos nos dados.
Pré-processamento dos dados
O pré-processamento visa preparar os dados brutos para análise ou modelagem por meio da aplicação de uma série de técnicas e transformações.
Dados Estruturados (Tabelas, planilhas, bancos relacionais)
1 - Enriquecimento dos dados
O enriquecimento é feito através da alimentação da base de dados com dados externos. Com isso, temos dados mais completos, com diferentes pontos de vistas, que vão servir melhor para treinar o modelo.
2 - Tratamento de Outliers e ruídos
3 - Imputação de Valores Faltantes
Dados Não estruturados (Textos, imagens, áudios, vídeos)
1 - Tokenização - Separação do texto em palavras ou frases.
2 - Remoção de Stopwords - Exclusão de palavras sem valor semântico relevante.
3 - Lowercasing - Conversão de texto para minúsculas.
Divisão e Implementação dos Dados
Após o processamento, os dados devem ser divididos em dois conjuntos: treinamento e validação (ou teste).
- O conjunto de treinamento é usado para ensinar o modelo, sofrendo ajustes durante o processo.
- O conjunto de validação serve para verificar se o modelo está aprendendo corretamente, sem enviesar.
Implementação
Após a validação e aprovação do modelo, ele é disponibilizado ao público, entrando na fase chamada "em produção".
Nessa etapa, o modelo pode ser acessado por fontes externas e está pronto para uso real.
Todas as IAs que interagimos fazem parte dessa fase, pois só são liberadas quando estão estáveis e implementadas.
ML Ops
ML Ops, Machine Learning Ops ou Operações de Machine Learning é o nome da prática de inteligência artificial que se concentra na implantação, gerenciamento e manutenção de modelos de inteligências artificiais em ambientes de produção de forma eficiente e escalável.
De forma geral, é o gerenciamento da produção, desde a saída do “chão de fábrica”, até seu funcionamento e a manutenção desse funcionamento, garantindo que tudo ocorra conforme o planejado inicialmente.
Linguagem Natural
O Processamento de Linguagem Natural, ou PLN, combina poder computacional, inteligência artificial e linguística humana para permitir dispositivos computacionais a reconhecerem, entenderem e gerar texto e fala. Em linguagem aqui, temos uma interpretação - então, temos a linguagem escrita, falada e símbolos sendo interpretados.
Algumas aplicações do PLN envolvem:
• Tradução de textos (escritos e falados)
• Resposta a falas
• Reconhecimento de voz
• Sumarização de conjuntos de texto
• Identificação de sentimento
• Geração de texto ou gráficos
O processo de desenvolvimento de um PLN envolve, usualmente, as seguintes etapas - que não necessariamente seguirão uma linha temporal contínua:
• Pré-Processamento do Texto: Os dados são conjuntos de textos. Graças a isso, temos algumas práticas específicas dessa área:
o Tokenização: dividir o texto em unidades menores, como frases, palavras ou subpalavras - esse bloco é chamado de token.
o Remoção de stop words: stop words são palavras irrelevantes para o sentido do texto, como artigos e preposições. Elas são removidas para diminuir a dimensionalidade, a quantidade de variáveis no texto.
• Tagging ou etiquetagem: envolve atribuir rótulos às palavras. Esses rótulos podem, dentre outros, ser atribuídos conforme a classe gramatical, com o Part-of-Speech Tagging (POS Tagging), ou com base em entidades nomeadas (entidades reconhecidas, como empresas), com o NER (Named Entity Recognition).
O POS-Tagging é uma forma de etiquetagem de palavras, que atribui um rótulo a uma palavra baseado na sua classe gramatical.
• Análises semânticas e sintáticas: podemos analisar o texto, quase como uma etiquetagem, conforme o significado semântico ou sintático da palavra no contexto analisado.
• Vetorização: é a conversão de dados textuais em vetores, isso é, números que ocupam algum espaço num plano bidimensional ou tridimensional, como um ponto no espaço, permitindo que algoritmos computacionais lidem com essa. Temos diversas técnicas, como Word Embeddings, TL-IDF, entre outros.
IA Generativa
Conceito
As Inteligências Artificiais Generativas são inteligências voltadas à criação de uma variedade de dados - imagens, vídeos, áudios, textos, modelos 3D, e por aí vai. As IAs generativas são dotadas de uma extrema capacidade computacional, produzindo conteúdos complexos e altamente realistas.
- São fundamentalmente baseados em aprendizado não supervisionado.
Geração de Texto
Para gerações de texto, é usual que sejam usados diferentes tipos de redes neurais, como a Rede Neural Recorrente e a Rede Transformer, ou a Cadeia de Markov (ou Markov chain).
A cadeia de Markov, com modelo estocástico, ajuda a IA a prever a próxima palavra ou ação com base na anterior, tornando possível criar frases com sentido e auxiliar na escrita automática.
Geração de Imagens, Vozes e Vídeos
Para gerações de imagens, costuma-se usar algoritmos de aprendizado profundo, uma espécie de rede neural especializada, mais complexa.
Exemplos de tipos de redes neurais de aprendizado profundo utilizadas são as Redes Generativas Adversárias (GAN) e as redes de Autoencoder Variacional. Em uma rede adversária generativa (GAN), o gerador cria dados e o discriminador avalia se esses dados pertencem ao conjunto de treinamento real.
Redes Generativas Adversariais (GANs)
Duas redes neurais que competem entre si:
1 - Gerador (Generator): cria dados falsos (ex: imagens, textos)
2 - Discriminador (Discriminator): tenta distinguir se os dados são reais ou gerados
Funcionamento:
- Gerador tenta enganar o Discriminador
- Discriminador tenta identificar o falso
- Esse "jogo" melhora ambos com o tempo
Objetivo:
Gerar dados realistas que imitam dados verdadeiros
(ex: rostos humanos, vozes, textos, obras de arte)
Aplicações:
- Deepfakes
- Criação de imagens realistas
- Geração de música e arte
- Aumento de dados para treino de IA
Large Language Models
Um LLM é uma IA generativa especializada em reconhecer e gerar textos.
Sua principal característica é o uso de grandes volumes de dados no treinamento.
Esses modelos utilizam redes neurais do tipo transformer e se baseiam em aprendizado profundo (deep learning), permitindo que o próprio modelo compreenda e processe os dados de forma autônoma e sofisticada, com pouco pré-processamento externo.
- Utiliza a rede neural transformers.
Exemplos envolvem ChatGPT, Bard, Copilot, e outros, além de chatbots mais interativos.
Mixture of Experts
É uma técnica de aprendizado de máquina que divide o problema em diversos especialistas. Especialistas são modelos individuais que são especializados em aprender padrões específicos ou características dos dados. Cada especialista é treinado para resolver um subproblema específico dentro do problema global. Os especialistas podem ser modelos de diferentes tipos (por ex., redes neurais, árvores de decisão) ou múltiplas instâncias do mesmo tipo de modelo, treinados em subconjuntos distintos dos dados.
Esses especialistas são conectados por uma rede chamada de Rede de Detecção, ou Gated Network. A rede é responsável por determinar o quanto cada especialista deve contribuir para a predição final.
A rede de seleção recebe as mesmas entradas dos especialistas e gera um conjunto de pesos (probabilidades) para cada especialista. Esses pesos determinam a influência de cada especialista na predição final. A rede de seleção é treinada junto com os especialistas para aprender a melhor maneira de combinar suas previsões.
Por que isso é útil?
- Economiza energia e tempo
- Deixa a IA mais rápida e inteligente
- Ajuda a lidar com tarefas complexas, dividindo o trabalho
Parâmetros de LLM
Assim como um cachorro precisa de comandos para fazer truques, uma LLM precisa de parâmetros para funcionar corretamente. Esses parâmetros definem seu comportamento e são ajustados principalmente via API, não nas interfaces comuns como o ChatGPT.
Além disso, a conversa com uma LLM pode ser armazenada em uma "thread", que guarda o histórico para evitar repetições e manter o diálogo mais fluido e coerente.
🧠 1. Número de Parâmetros
Quantidade de "pesos" treináveis. Quanto mais, maior a capacidade do modelo.
🧾 2. Tamanho do Contexto (Tokens)
Limite de palavras/fragmentos que o modelo analisa por vez. Afeta coerência.
📈 3. Taxa de Aprendizado (Learning Rate)
Controla o ritmo de aprendizado no treinamento. Muito alto = instável, muito baixo = lento.
🔥 4. Temperature
Controla a criatividade das respostas:
- Baixo como 0,1 = mais previsível
- Alto como 0,9 = mais variado/aleatório
💬 5. Prompt
É o texto de entrada que serve como uma instrução para a LLM.
É a pergunta que tu faz todo dia no ChatGpt.
Retrieval-Augmented Generation (RAG)
É uma técnica para aprimorar a acurácia e a confiabilidade dos modelos generativos, com fatos recuperados de fontes externas.
O RAG é uma técnica usada para superar a limitação dos LLMs, que não conseguem acessar ou aprender informações novas após o treinamento.
Problema que resolve:
LLMs são treinados com dados fixos. Com o tempo, esses dados se tornam desatualizados, e reentreinar o modelo com novos dados é difícil e caro.
Como o RAG funciona?
O processo acontece em duas etapas principais:
1️⃣ Recuperação de Informação (Retrieval)
O sistema busca documentos ou trechos relevantes de uma base externa (artigos, PDFs, manuais, bancos de dados, etc.) com base no prompt do usuário.
🔍 Técnicas comuns:
- Vector search (busca vetorial com embeddings)
- BM25 (baseado em palavras-chave e frequência)
- Outras técnicas semânticas ou textuais
Os embeddings vetoriais transformam o texto em representações numéricas que permitem ao sistema comparar a similaridade semântica entre consultas e documentos em um espaço de alta dimensão.
2️⃣ Geração de Texto (Generation)
O modelo de linguagem (como o GPT) recebe o prompt original + os textos recuperados, e com isso gera uma resposta mais precisa e atualizada.
✅ Resumo simplificado:
O RAG permite que a IA busque informações atualizadas em fontes externas antes de responder. Ele junta o melhor de dois mundos:
🧾 Recuperação de dados + ✍️ Geração natural de texto.
Visão computacional
A visão computacional, ou computer vision, é uma das áreas da inteligência artificial que permite computadores e sistemas obtenham informações significativas a partir de imagens digitais, vídeos e outras entradas visuais.
Se a IA permite que os computadores pensem, o Computer Vision permite que eles vejam, observem e compreendam.
Duas tecnologias essenciais são usadas para realizar isto:
- Redes neurais de aprendizado profundo.
- Redes neurais do tipo convolucional (CNN).
A máquina de aprendizado usa modelos algorítmicos que permitem que um computador ensine a si mesmo sobre o contexto dos dados visuais.
Se dados suficientes são alimentados através do modelo, o computador "olha" os dados e se ensina a distinguir uma imagem de outra.
Para alcançar um nível adequado de imagem, é possível a utilização de técnicas de tratamentos de imagem: eliminar artefatos indesejados, como granulação ou pixels isolados, aplicar operações de filtragem, como suavização (blur), realce de bordas, detecção de linhas, etc.
Mas cuidado, esses tratamentos de imagem não são a atividade fim. Eles são utilizados durante o processo de captação e identificação de objetos, mas não são o objetivo da visão computacional.
Temos uma abordagem para visão, chamada de baseada em modelos, que utiliza dois tipos distintos de modelos na visualização. Um modelo de objeto, que pode ser um modelo geométrico, produzido por computador, ou uma declaração abstrata sobre propriedades gerais dos objetos - por exemplo, a afirmação de que todos os rostos em baixa resolução são aproximadamente iguais.
O outro modelo é chamado de modelo de renderização. Ele descreve os processos físicos, geométricos e estatísticos que produzem o estímulo a partir do mundo. Embora os modelos de renderização sejam agora sofisticados e exatos, o estímulo geralmente é ambíguo.
Pré-processamento
As etapas de pré-processamento envolverão diferentes tratamentos e transformações das imagens para que essas características sejam extraídas de forma mais clara e precisa.
Redimensionamento de Imagens
A etapa de pré-processamento usualmente se inicia, após a carga da imagem, com etapas de redimensionamento e corte (crop) da imagem. É ideal que o redimensionamento não torne a imagem de baixa qualidade, com conteúdo confuso, e o corte não deixe características identificadores de fora da imagem.
O redimensionamento de imagens também pode reduzir o custo computacional e o uso de memória do modelo, pois reduz o número de pixels a serem processados, trazendo uma quantidade menor de variáveis e características que devem ser processadas pelos computadores.
Normalização de Imagem
O processo de normalização busca trazer diferentes variáveis para uma escala de variação em comum. Por exemplo, podemos trazer variáveis que variam de 20-100kg e 50-250cm para uma variação no intervalo [0, 1] ou [-1, 1], melhorando a interpretabilidade.
Especificamente, dentro de imagens, podemos ter uma normalização de pixels. O objetivo é ter uma variação constante de brilho e contraste, melhorando a interpretabilidade e a extração de características de uma imagem.
Redução de Ruído e Realces
É o tratamento das imagens, em que se procura uma melhoria de resolução com a redução de ruídos na imagem (aqueles granulados que acontecem quando você tira uma foto muito escura), e o realce de “bordas”, chamado de sharpen. Comumente, as ferramentas de realce de bordas usam um filtro, chamado de Filtro de Laplace. Ele encontra áreas de mudança drástica entre cores, texturas e brilho, identificando essas áreas como as “bordas” dos objetos.
Outra ferramenta interessante são os filtros bilaterais. Existem diversas formas de suavização de imagem, como o gaussian blur e o box blur, mas que, em sua maioria, acabam removendo características de bordas das imagens. Os filtros bilaterais fazem essa suavização, mantendo as bordas destacadas - chegando nisso a partir da análise tanto da proximidade espacial, quanto da similaridade de cores dos pixels.
Reconhecimento Óptico de Caracteres (OCR)
O Optical Character Recognition (OCR), ou Reconhecimento Óptico de Caracteres, é uma tecnologia essencial em visão computacional que permite a conversão de texto impresso ou manuscrito em imagens para um formato digital, geralmente de texto editável.
Prompt - Técnicas
Zero-Shot Prompting
Resumo:
Você dá uma tarefa diretamente, sem fornecer nenhum exemplo. Confia que o modelo já sabe como responder.
Exemplo:
"Traduza o seguinte para o francês: 'Onde fica a estação de trem?'"
Few-Shot Prompting
Resumo:
Você fornece alguns exemplos antes da pergunta principal, para “ensinar” o padrão desejado.
Exemplo:
Exemplo 1:
Inglês: Hello → Português: Olá
Exemplo 2:
Inglês: Good night → Português: Boa noite
Tarefa:
Inglês: Thank you → ?
Resposta esperada: Obrigado
Chain-of-Thought Prompting
Resumo:
Você pede explicitamente que o modelo mostre o raciocínio passo a passo antes da resposta final.
Exemplo:
"João tem 3 maçãs. Ele compra mais 2. Depois dá 1 para Maria. Quantas maçãs ele tem agora? Pense passo a passo."
Resposta esperada:
João começa com 3.
Compra mais 2 → agora tem 5.
Dá 1 para Maria → fica com 4.
Resposta final: 4
Tree-of-Thought Prompting
Resumo:
Ao invés de seguir um único caminho lógico (linha reta), explora múltiplas possibilidades (como ramos de uma árvore), avaliando cada uma antes de decidir.
Exemplo (simplificado):
"Quais são as melhores formas de aumentar produtividade no trabalho remoto? Explore diferentes ideias antes de concluir."
Resposta esperada:
Ramo 1: Melhorar comunicação → usar Slack, reuniões diárias...
Ramo 2: Gerenciamento de tempo → técnicas como Pomodoro...
Ramo 3: Ambiente de trabalho → cadeira ergonômica, iluminação...
Conclusão: Combinar comunicação clara + bom ambiente + disciplina no tempo.
Self-Consistency
Resumo:
Em vez de uma única resposta, o modelo gera várias cadeias de pensamento (como no Chain-of-Thought), e escolhe a mais comum ou coerente entre elas.
Exemplo:
Mesma pergunta do Chain-of-Thought, mas o modelo responde de 5 formas diferentes e escolhe a que mais aparece como “final confiável”.
Resultado:
Maioria das respostas termina com “João tem 4 maçãs” → essa é a resposta final escolhida.