Please enable JavaScript.
Coggle requires JavaScript to display documents.
PROVA 2, Definição: Estratégia que busca expçlicar o fuhncionamento o…
PROVA 2
Busca
Definição:
- Estado inicial: Onde irá começar a busca
- Conjunto de ações: O que faz a passagem de um estado para o outro
- Teste de término: Saber se o estado atingido após a realização da ação é o estado final
- Custo de caminho: Cada ação tem um custo associado
Abordagem:
- Estabelecer o problema: Definir os estados iniciais e finais, quais as possíveis ações de um estado para o outro
- Busca: Gerar como será o processo de análise da realização de uma ação
Algoritmo geral:
- Fronteira: Inicialmente contém o estado inicial e a medida que vai passando de um estado para o outro são adicionados nós na fronteira
- Ações:
- Fronteira vazia: Retorna falha, não há como atingir o objetivo
- Retira-se o primeiro nó
- Teste de término: Se chegou no último nó então retorna ele
- Consequência: Se o teste de término for falso, então adiciona-se o nó que estamos na fronteira
Métodos de busca
Busca exaustiva:
- Definição: O algoritmo não tem conhecimento da melhor ação a ser feita, então tenta todas as possíveis até achar a melhor
- Busca em largura:
- Completude: Ok
- Ótima?: Nem sempre encontra a soluçaõ com menor custo
- Busca em profundidade:
- Completude: Não
- Ótima?: Não
- Busca de custo uniforme:
- Definição: Altera a busca em largura fazendo com que somente o nó com menor custo seja adicionado a fronteira, ao invés de todos os nós adjacentes, o que gera que cada nó tenha um custo associado diferente, contradizendo o nome
- Completa: Ok
- Ótima?: Se não possui operadores com custo negativo
Custo: Parecido ao da busca em largura
Busca heurística:
- Definição: Tenta estimar o melhor nó para ser adicionado na fronteira, por meio de uma função heurística
- Busca gulosa: Busca sempre usar a menor distância de um nó para o seu nó final, podendo recalcular as distâncias
- Completa: Não, pois caso não detecte estados já percorridos pode entrar em loop
- Ótima?: Não, pois escolhe o melhor caminho entre 2 nós, sem considerar os nós já percorridos
- A estrela
Gerando funções:
- Requisito principal: A função deve ser admissível, ou seja, não superestimar o custo real da solução
Avaliação de um método:
- Completude: A estratégia sempre retorna uma solução quando existe, consegue resolver qualquer problema que tenha solução
- Qualidade: Quando existe mais de uma solução, a retornada é a melhor dentre elas
- Custo de tempo
- Custo de memória
Busca adversarial
Agentes autônomos:
- Definição: São os mesmos agentes da busca normal, porém dessa vez eles devem tomar as decisões por si mesmo dentro do ambiente que estão inseridos
- Incerteza: Fator que dificulta o planejamento da rota pelos agentes autônomos
Resolução de um problema
MiniMax
- Definição: Algoritmo de busca adversarial, que tenta sempre achar a melhor ação com a suposição de que o adversário sempre tentará minimizar a utilidade da jogada do agente
- Completa: Ok
- Ótima?: Sim
- Custo inviável: Normalmente se faz uma árvore de possibilidades, o que torna inviável ver todas as soluções possíveis, e limita a quantidade de passos a frente que o agente pode tentar prever e analisar
- Como melhorar:
- Podar a árvore
- Substituir a análise de profundidade: Ao invés de analisar a profundidade da árvore o algoritmo usaria uma função de avaliação para determinar qual seria o melhor movimento a se fazer
-
-
Word embedding
Word2vec
- Definição: Busca por meio da criação de vetores, de modo que as palvras mais parecidas ficam mais próximas dentro desse vetor
- Estrutura: Rede Neural em que os vetores de palavra são a camada inicial e a saída representa a probabilidade que uma palavra escolhida
- Camada oculta: Não busca classificar, mas sim aprender representações vetorias coerentes com o problema que quer ser resolvido
-
Continuous bago of woods
- Definição: Algoritmo que busca encontrar a palavra central(obejto de estudo) a partir das palavras do contexto
-
BERT
- Definição: Modelo que busca resolver os problemas de MLM e NSP, por meio da análise contextual. Ele aplica mecanismo de self-attention
-
Deep Learning
MLP vs Deep Learning
Estrutura dos dados
MLP
- Dados estruturados: A mlp funciona bem com dados estruturados(inteiros, reais, booleanos), que são características extraidas de forma pré-determinada de dados não estruturados
- Sensível a escala: Necessita reescalar os valores para evitar inviesamentos
- Porque não são bons em dados com alta dimensionalidade: capacidade de modelagem limitada, devido as poucas quantidades de camadas, o que faz com que saturem rapidamente
Deep Learnign
- Dados não estruturados: Possui técnicas que permite lidar com dados não estruturados, além de uma maior quantidade de dados
- Extrai característica automaticamente dos dados
- Arquitetura especializada em determinados tipos de dados
- Aprendem representações que podem ser utilizadas em outros modelos
-
Sequence Models
Características
- Entradas e saídas podem ter tamanhos diferentes em amostras distintas, ou seja, não possuem um padrão de entrada e saída
- A posição de tal dado importa para o aprendizado, ou seja, dados que possuam as mesmas features, se em locais diferentes não compartilham o que foi aprendido em outros dados
Recurrent Neural Networks
- Definição: Tipo de rede neural, que utiliza so resultados das camadas em um tempo t - 1 como entrada dessa camada para o tempo t
- Forward propagation
- Backward propagation
- Um para Um: Modelo em que os estados não se comunicam, ou seja, cada tempo t é analisado somente com base na entrada e o estado oculto da camada correspondente,uma entrada e saídas fixas. Ex: classificação de imagens
- Um para Muitos: Modelo em que a saída de uma camada é a entrada da camada subsequente, uma entrada gera uma sequência. Ex: geração de texto a partir de um prompt
- Muitos para um: Só gera previsão para o último tempo t e o estado oculto é propagado para os outros tempos, Sequência de entrada e saída. Ex: prever se vai chover baseado em vários dias
- Muitos para muitos: Mesma lógica do Muitos para um, porém em cada tempo t se tem a previsão gerada naquele tempo, **para cada entrada uma saída. Ex: tradução
- Deep RNN: RNN em que existem mais de um estado oculto
Técnicas
Gated Units: Encurtam a dependência temporal, pois fazem a recuperação de informação de forma seletiva
Mecanismo de autoatenção: Permite que o modelo pese as importâncias de cada feature baseado nas entradas e as diferenças de suas anáilises
Embeddings
Representação 1-hot
- Cada palavra vira um vetor do tamanho do vocabulário
- Vetores gigantes e esparsos
- Toda palavra equidistante de todas as outras
Representação por características
- Cada palavra vira um vetor denso, com muitas dimensões
- Os vetores capturam propriedades semânticas da palavra e essas representações são aprendidas automaticamente pelos modelos
BERT
- Definição: Modelo de deep learning em que a representação de palavras é aprendida a partir da tarefa de prever uma palavra oculta(MASKED) em uma sentença, ou seja, preve uma palavra com base nas suas vizinhanças
Transferência de aprendizado: Pode-se utilizar a arquitetura de um modelo, com as mesmas camadas e pesos internos, alterando apenas a camada de saída para poder se adaptar ao que se quer analisar
- Fine Tunning: Utiliza-se as camadas internas já treinadas e acrescenta-se uma camada focada no que se quer analisar no momento, reduzindo a quantidade de treinamento, já que a única camada que se deve treinar de verdade é a camada adicionada
Otimização
Uso de mais dados: Com mais dados, o modelo aumenta sua capacidade de generalização, já que foi exposto a mais situações
Regularização:
- Parada antecipada: Usando um conjunto de validação, a cada epoch de treinamento valida-se, caso o resultado de validação não esteja melhorando dentro de um threshold pré-definido, então não se tem necessidade de continuar treinando o modelo
- Regularização L1/L2 ou Weight Decay: Minimizar a norma dos pesos da rede juntamente com a função de perda
- L1: Incentiva os pesos serem exatamente zero
- L2: Força os pesos a serem pequenos de forma suave
- Dropout: Desativar aleatoriamente as saídas de alguns neurônios a cada forward realizado, o que melhora a capacidade de generalização do modelo, pois os outros neurônios irão que suprir a função que era realizada pelo neurônio que foi desativado
- Data augmentation: Pertubações, ou pequenas modificações nos dados que já se tem, para poder aumentar a quantidade e variedade de dados, sem a necessidade de busca por novos dados
- Controle de gradientes
- Exploding gradients: Os gradientes podem aumentar exponencialmente, por isso é importante tratar a sua saída, normalizando, limitando ou inicializando os valores próximo de zero
- Vanishing gradients: Os gradientes podem ficar muito pequenos, pode-se corrigir isso com a utilização de funções de ativação que não saturem em extremos. Problema gerado pelo vanishing gradient, é que o ajuste de peso não permite que os valores cheguem nas camadas iniciais, pois eles são reduzidos a ponto de ficarem próximos de zero próximo as camadas iniciais
Otimizadores melhores
- SGD com momento: Cria uma tendencia de manter as atualizações em direções diferentes
- Adaptativos: Ajustama as taxas de aprendizagem dinamicamente
Backpropagation through time
- Definição: Como a RNN normalmente só tem uma camada, então o backpropagation é realizado para os estados de tempo anteriorores
Modelos com mecanismos de auto-atenção
- Definição: Permite que as entradas interajam entre si e descubram quem deve prestar mais atenção. As saídas são agregados dessas interações com scores
Aprendizagem não supervisionada
- Definição: Um modelo que busca definir uma função para descrever estruturas observadas em dados não rotulados
Clustering
K-means
Parâmetro
- Número de grupos desejados(K)
Inicialização: Posicionar arbitrariamente o centro da quantidade de grupos definidos no parâmetro do modelo
Definição dos grupos
- Associação: Delegar a cada padrão encontrado a centróide mais próxima dele para geração dos grupos
- Atualização: Recalcular a posição das centróides com base nos novos dados que vão sendo agrupados nela, para garantir que somente os dados que realmente pertencem aquele grupo sejam classificados
Detecção de anomalias: Quando existem dados que não se aproximam de nenhum dos grupos que foram definidos
Problemas:
- Sensível a outliers
- Definir o melhor valor de K
- Saber qual distância usar: Distância euclidiana não é muito boa para dados com alta dimensionalidade, pois dados considerados muito perto, na verdade não se relacionam, devido a alta dimensionalidade
Avaliação de clusters
Métricas externas
- Avalia a categorização como um todo, ou seja, leva em conta os clusters
- OBS: É necessário se conhecer um ground truth, que são rótulos gerados a partir da previsão do k-means
Acurácia de clusterização:
- Calculá-se a soma dos valores da diagonal da matriz de confusão sobre todos os outros valores
- OBS: Permuta-se as colunas para maximizar o total da diagonal principal
Informação mútua normalizada
- Métrica que utiliza a entropia, permitindo penalizar modelos que geram mais clusters que o necessário
Pureza
- Análise da relação de frequência com a quantidade de clusters, ou seja, quanto maior o valor de pureza, mais clusters tem-se.
Métricas interna
- Avalia como se comportam os dados que foram categorizados pelos clusters
- OBS: Só podem ser realizados, caso se tenha conhecimento do ground truth:
- Ground truth: Comparação de cada categorização do modelo com um rótulo que se definiu após a categorização
Silhueta
- S = (b - a)/max(a, b)
- a: Distância média dentro do cluster
- b: distância média entre os clusters
- Avalia o quão bem separado são os clusters, quanto mais perto de 1 melhor e quanto mais perto de -1 mais esparçado é a categorização
Self-Organazing Map
- Definição: Segue a ideia de que o neurônio que representa melhor um padrão recebe o melhor peso e os seus vizinhos se ajustam com base nele, sendo quanto mais distante menor o ajuste
Competição:
- Para agrupar padrões o vencedor leva tudo
- Métrica: Distância euclidiana ao quadrado
Adaptação:
- O vencedor se ajusta para melhor representar o padrão
Cooperação:
- Os vizinhos também se ajustam em proporção a sua distância
-
-
-
-
Estimação de densidade
Ideia: Gerar uma distribuição de probabilidade para os padrões encontrados no problema, de modo que, quando surgir um novo padrão durante o uso do modelo, ele possa detectar se aquele padrão é legítimo ou uma anomalia
-
Autoencoders
-
Encoder
- Definição: Compacta dados para um espaço latente
Decoder
- Definição: Reconstroi os dados a partir da camada de latência
Denoising Autoenconder: Autoencoder capaz de remover ruído de um conjunto de dados, por meio do uso de uma entrada com ruído introduzido e a base para comparação na saída sendo o conjutno de dados sem ruído
- Detecção de anomalias: Comparação do erro entre a entrada e a saída a partir de um threshold, se esse erro ultrapassar esse threshold, então o dado fornecido como entrada é considerado uma anomalia
Limitações:
- A depender do tamanho da entrada e a distribuição do tamanho das camadas de encoder, pode ocorrer discontinuidades, onde dados originais são perdidos
- Não pode ser usado para geração de novos dados, pois não altera a distribuição de probabilidade do dado
Variational Autoencoder
-
Espaço latente: Possui um termo de regularização que força a distribuição das variáveis do espaço latente seguirem uma distribuição padrão, o que permite diferentes inferências sobre uma mesma variável, contribuindo para geração de novos dados
Modelos generativos
Objetivo
A partir de dados de treinamento gerar novas amostras que sigam a mesma distribuição de probabilidade, pois os modelos aprendem a descrever o conjunto de dados em termos probabilísticos
Análise do modelo pelo teorema de bayes
- Modelo discriminativo: Busca estimar o valor de y dado x
- Modelos generativos: Busca estimar o valor da probabiliade de x dado y
Máxima verossimilhança:
- Verossimilhança: Densidade de probabilidade do modelo para o conjunto de treino
Modelagem: Busca um conjunto de parâmetros que maximizem a verossimilhança entre os resultados gerados pelo modelo em comparação com os dados de treinamento
-
Ataques adversariais
Definição: Conjunto de técnicas que buscam encontrar pertubações adversariáis e construir amostras adversariáis. Dentro da analogia de fronteira de decisão de uma rede neural, seria o equivalente a tentar pegar uma amostra que está classificada corretamente e apróximá-la ao máximo da fronteira de decisão fazendo-a cruzar mas não muito
Equação: xadv = x + £, ou seja, o objetivo é minimizar a função xadv - x
Propósito
Evasão: Busca gerar entradas para enganar um modelo já treinado, para que ele faça uma inferência incorreta
Envenenamento: Busca comprometar os dados de treinamento, para que o modelo classifique certas amostras de maneira errônea
-
-
-
Alvo
Com alvo: Ataque que busca pertubar a amostra focado em alterar ela para classificar uma amostra de uma determinada maneira
- Classificação binária: Foca em alterar diretamente o gradiente de pesos
Sem alvo: Busca apenas errar a classificação de uma amostra
- Classificação binária: Apenas ultrapassar a fronteira
Conhecimento
-
Black-box: Quando o atacante não possui conhecimentos sobre o modelo, ou seja, ele só consegue inferir como funciona o modelo por meio de tentativa ou erro, caso não faça nenhuma inferência sobre o modelo ou os dados
Square attack
- Definição: Utiliza do método de random search para poder fazer a atualização dos valores de pertubação, de modo que o ataque ocorre por meio de um método de tentativa e erro
-
Métodos de defesa
Proteção de conhecimento e acesso
- Definição: Busca blindar o modelo para dificultar o acesso de atacantes às informações do modelo, por meio de:
- Escondendo o modelo e os dados de treinamento
- Limitando o número de requisições
- Esconder métricas de avaliação
Detectar e remover pertubações adversariáis
- Definição: Criar um sistema de defesa para o modelo
Suavizar as fronteiras de decisão
- Definição: Busca tornar mais imprecisa a fronteira de decisão para dificultar a passagem de uma amostra
- Gaussian noise augmentation
- Label smothing
Melhorar o modelo
- Definição: treinar o modelo com dados adversarias, para fazer com que ele automaticamente detecte esses ataques e consiga resolvê-los. Trade-off entre segurança e precisão
- Ensembles
Aprendizagem por reforço
Política
- Definição: Sequência de ações consideradas as melhores abordagens em cada estado percorrido pelo agente
-
-
Utilidade: valor atribuido a realização de uma ação
Funções de utilidade
- Definição: Função que define todas as saídas possíveis de uma ação, ela é associada a uma probabiliade condicional: P(Resultado | Ação, E), onde E é o conhecimento prévio do agente no estado que ele irá. Foco dos agentes é maximizar essa função(Princípio da máximização da utilidade)
- Problemas sequencias: São atribuidas recompensas aos estados que são percorridos para definição da utilidade de uma ação
- Tipos de recompensas:
- Recompensas aditivas: Soma-se as recompensas de cada estado
- Recompensas descontadas: Ao longo dos estados são descontados de cada recompensa por um fator que vai de 0 a 1 e que é exponencial. Lógica do fator de recompensa, quanto mais próximo de zero mais são irrelevantes as recompensas do futuro, enquanto que quanto mais próximas de 1, mais próxima da lógica da recompensa aditiva
GAN
-
-
Detecção de intrusão
Como o discriminador tenta distinguir de dados falsos gerados pelo gerador de dados verdadeiros fornecidos, basta treinar uma GAN com valores benignos, já que os valores considerados como anomalias serão gerados pelo gerador
Problemas:
- Dificuldade de treinamento, já que ela é muito sensível a vanishing e exploding gradients
WGAN
- Definição: Busca fornecer um score do quanto a amostra falsa gerada é diferente dos dados corretos
-
Possui weight clipping
- OBS: limita a capacidade do discriminador o que pode afetar a qualidade do treino
Vantagens
- Treinamento mais estável
- reduz o problema de mode collapse(gan não gerar todas as formas possíveis)
- Reduz a chance de ocorrer um gradient vanishing
- Menos sensível e impactada pelo hiperparâmetros da arquitetura da rede
WGANGP
- Definição: Melhoria da WGAN, pois ao invés de usar weight clipping, usa-se penalidade de gradiente para resolver a condição de LIpschitz, o que aumenta a estabilidade, capacidade de aprendizado e reduz o mode collapse
Definição: Estratégia que busca expçlicar o fuhncionamento o modelo que foi treinado e o porque dele fazer oq está zerado
Método intrísceto
- Definição: Busca reduzir a complexidade de um modelo para poder explicar ele com a aplicação de modelos simples
- Prós: Reduz a complexidade do modelo e torna mais fácila a sua análise de explicabilidade
- Contra: Pode perder na qualidade, pois prioriza a simplicidade a qualidade
Método post-hoc
- Definição: Aplicar sobre o modelo que queremos explicar um outro modelo para análise
- Prós: Modelo tem uma maior qualidade em comparação com os anteriores
- Contra: O seu custo computacional é maior, o que dificulta a sua interação
-