Aprendizado profundo para detecção de intrusão baseada em imagens

Autor: Zen e a arte da programação de computadores

1. Introdução

O sistema de detecção de intrusão baseado em imagem (detecção de intrusão baseada em imagem, IDI) é um campo de aplicação complexo e importante, pode ser usado para monitorar e identificar comportamentos maliciosos, ameaças e ataques em redes de computadores e tem amplo valor de aplicação. Com o desenvolvimento da tecnologia de aprendizagem profunda nos últimos anos, o processamento de imagens tornou-se um novo campo de pesquisa importante. Como um artigo de revisão, este artigo apresentará os métodos de detecção de intrusão baseados em imagens mais comumente usados, combinados com os mais recentes avanços na tecnologia de aprendizagem profunda, para fazer uma revisão objetiva dos resultados de pesquisas mais recentes em vários campos. Finalmente, também fornecemos aos leitores uma visão sobre futuras direções de pesquisa. Devido a limitações de tempo, os campos técnicos relacionados abrangidos pelo artigo ainda precisam de ser expandidos.

2. Palavras-chave: aprendizagem profunda, detecção de intrusão, extração de características de imagem, rede neural convolucional, autoencoder convolucional, aprendizagem não supervisionada, autoencoder, aprendizagem semissupervisionada, GANs, aprendizagem multitarefa, etc.

3.Prefácio

A extração de características de imagem é uma tarefa básica no aprendizado profundo e é amplamente utilizada em muitos campos de visão computacional. Pesquisas recentes mostraram que as redes neurais convolucionais (CNNs) podem capturar efetivamente informações globais em imagens e alcançar um desempenho muito bom em tarefas de classificação. Portanto, a tecnologia de extração de recursos de imagem baseada na CNN está se tornando um dos principais métodos de aprendizagem profunda atualmente.

Semelhante à extração de recursos de imagem, a classificação e reconhecimento de imagens é uma importante tarefa de aprendizado de máquina. Os métodos de classificação de imagens baseados em aprendizagem profunda são divididos principalmente em duas categorias: uma é um método não supervisionado, ou seja, o conjunto de treinamento não contém informações de rótulo e só pode usar a similaridade entre imagens para treinamento; a outra é um método supervisionado. isto é, o conjunto de treinamento inclui informações de rótulo e a correlação entre imagens, e essas informações são usadas para treinamento. Ambos os métodos têm seus prós e contras.

Métodos não supervisionados, como análise de cluster (Análise de Cluster), análise profunda de cluster (Deep Clustering), autoencoder (Autoencoder), GANs, etc. Em métodos não supervisionados, geralmente é necessário classificar primeiro o conjunto de dados e depois usar os resultados da classificação como rótulos para renomear os dados originais. Os métodos não supervisionados tendem a produzir resultados de alta qualidade devido à semelhança e à estrutura subjacente dos dados. No entanto, eles não conseguem capturar características altamente não lineares e é difícil extrair informações úteis de espaços dimensionais inferiores.

Os métodos supervisionados incluem modelos de aprendizagem profunda e máquinas de vetores de suporte (Support Vector Machines). O modelo de aprendizado profundo treina as informações do rótulo das imagens no conjunto de treinamento e aprende recursos de imagem e regras de classificação, o que possui boa precisão de classificação. No entanto, eles geralmente sofrem de problemas de ajuste excessivo e são difíceis de lidar com dados ruidosos. A máquina de vetores de suporte não precisa classificar os dados, mas usa diretamente os rótulos de saída correspondentes aos dados de entrada e obtém o limite de decisão de acordo com o princípio da margem máxima. Sua velocidade de classificação é rápida e altamente robusta para amostras pequenas, dados esparsos e dados anormais. No entanto, ele só pode capturar características lineares locais e é facilmente afetado por valores discrepantes.

De modo geral, os métodos não supervisionados são adequados para conjuntos de dados maiores sem informações de rótulo, para que possam capturar a distribuição geral de recursos; os métodos supervisionados são adequados para pequenas quantidades de conjuntos de dados rotulados ou conjuntos de dados com informações de rótulo. O treinamento com informações de rótulo conhecidas pode alcançar melhores resultados. resultados de classificação. No entanto, os dois também têm limitações e limitações diferentes. Em aplicações práticas, como escolher o método de classificação mais adequado ainda é uma questão fundamental.

A aprendizagem semissupervisionada é uma direção de pesquisa emergente no campo da aprendizagem profunda, cuja ideia é usar informações de rótulos existentes e dados não rotulados para treinamento para resolver problemas como falta de dados, baixa eficiência de rotulagem e ruído de rotulagem. Os modelos de aprendizagem profunda podem melhorar a capacidade de classificação de dados desconhecidos usando informações de rótulos conhecidos, alcançando assim melhores resultados de classificação. No entanto, como o modelo depende de informações de rótulo ao processar dados não rotulados, isso pode levar a um ajuste excessivo. Além disso, mesmo que sejam utilizadas informações de rótulo, o modelo pode ter dificuldade em convergir ou mesmo prever com precisão devido a diferentes características dos dados.

A fim de colmatar a lacuna entre os dois tipos de métodos acima mencionados, os atuais centros de investigação centram-se principalmente no campo da aprendizagem semissupervisionada. Este método visa usar informações de rótulo existentes e dados não rotulados para treinar em conjunto um modelo de aprendizagem profunda, a fim de obter melhores resultados de classificação. Por exemplo, a atualmente popular rede U-Net e a rede SimCLR são pesquisas nessa direção. Na prática, como combinar vários modelos de aprendizagem profunda e estratégias de aprendizagem semissupervisionadas para estabelecer um sistema eficaz, eficiente e escalável ainda é um tópico muito importante.

Este artigo espera fazer uma avaliação objetiva do status atual da pesquisa e da direção do desenvolvimento, revisando os resultados de pesquisas mais recentes em métodos tradicionais de detecção de intrusão de imagens, extração de recursos CNN, aprendizagem não supervisionada, aprendizagem semissupervisionada, etc. Ao mesmo tempo, este artigo tentará olhar para o futuro e discutir o planejamento de longo prazo do aprendizado profundo na área de detecção de intrusão de imagens.

4. Tecnologia central

4.1 Métodos tradicionais de detecção de intrusão de imagem

Os métodos tradicionais de detecção de intrusão de imagens são divididos em dois métodos baseados em análise estatística e aprendizado de máquina. Os métodos baseados em análise estatística incluem algoritmo K-Means, método no domínio da frequência, transformada de Fourier, etc. Os métodos de aprendizado de máquina incluem classificadores Bayesianos, máquinas de vetores de suporte, etc. Esta seção apresentará brevemente vários métodos tradicionais de detecção de intrusão.

(a) Métodos baseados em análise estatística (como K-Means)

O algoritmo K-Means é um algoritmo de cluster não supervisionado comumente usado. Este algoritmo mede a semelhança entre dois pontos com base na distância, classificando pontos semelhantes em uma categoria e classificando pontos diferentes em categorias diferentes. O algoritmo K-Means consiste em duas etapas: inicializar o ponto central e atualizar iterativamente o ponto central. Primeiro, K pontos centrais são selecionados aleatoriamente. Geralmente, o valor de K é 2 ou 3. Em seguida, calcule a distância entre cada ponto e o ponto central com base na distância euclidiana e atribua o ponto com a menor distância à categoria correspondente até que todos os pontos sejam atribuídos à categoria correspondente. Repita o processo acima até que o ponto central não mude ou pare após atingir o número especificado de vezes.

Embora o algoritmo K-Means seja simples e fácil de entender, ele assume que todos os pontos obedecem à distribuição gaussiana e que a distribuição dentro de cada classe é semelhante, o que resulta na incapacidade de capturar cenas de distribuição não gaussiana. Além disso, o algoritmo K-Means é altamente sensível a valores discrepantes. Se houver valores discrepantes, eles podem violar a suposição de uniformidade e causar desvios nos resultados do agrupamento.

(b)Método da transformada de Fourier

O método da transformada de Fourier refere-se à amostragem de uma função usando curvas seno e cosseno e, em seguida, desenhar uma curva usando a frequência como abcissa e a amplitude correspondente como ordenada. Observando o formato da curva, você pode determinar se existe comportamento de intrusão. O método da transformada de Fourier é um método para realizar a transformada rápida de Fourier em sinais de imagem. A transformada de Fourier serve para converter sinais no domínio do tempo em sinais no domínio da frequência para análise e classificação de sinais. O método da transformada de Fourier é uma análise de sinais de oscilação logarítmica.

Observando o diagrama de sinais após a transformada de Fourier, podemos determinar se há comportamento de intrusão. Quanto maior a amplitude do gráfico do sinal, mais comportamento intrusivo existe na imagem. Se uma intrusão for descoberta, você pode considerar punir o intruso ou chamar a polícia. O método da transformada de Fourier é relativamente simples e fácil de entender, mas possui requisitos mais elevados em imagens porque requer amostragem, reamostragem e filtragem de imagens.

(c) Diagrama de tempo

O diagrama de sequência é um método que usa informações de tempo para extrair recursos de imagens. Um diagrama de tempo introduz informações da linha do tempo em uma imagem. Especificamente, um diagrama de temporização é uma coleção de pixels de imagem organizados em ordem temporal. O tempo do comportamento de intrusão pode ser determinado através do diagrama de sequência.

Os diagramas de sequência são geralmente construídos usando janelas deslizantes. O tamanho da janela deslizante pode ser um valor fixo ou dinâmico, por exemplo, pode ser movido em um passo fixo a cada vez. Através do diagrama de sequência, é possível determinar se o comportamento de intrusão existe e seu desenvolvimento.

4.2 Método de extração de recursos CNN

Antes dos métodos de aprendizagem profunda, a CNN era um importante método de extração de características de imagem. Existem três formas principais de extração de características de imagem baseadas na CNN: ponta a ponta, classificação e sequência. Esta seção apresenta brevemente esses três métodos.

(a) De ponta a ponta

O modelo CNN ponta a ponta usará diretamente a imagem original como entrada e, finalmente, produzirá os resultados da detecção do alvo. Este modelo não requer extração de recursos primeiro e pode aprender diretamente as informações de categoria, localização e escala do alvo. Os métodos ponta a ponta geralmente requerem dados suficientes para alcançar bons resultados. No entanto, suas desvantagens são a velocidade lenta e o consumo de recursos.

Existem alguns trabalhos que tentam realizar a detecção de intrusões através de métodos ponta a ponta, como os famosos YOLO, SSD, etc.

(b) Classificação

O modelo de classificação CNN usa a rede CNN para extrair características da imagem e enviá-las para um classificador linear. Este método requer primeiro o treinamento de uma rede CNN e, em seguida, o uso da rede treinada para classificar o conjunto de teste. A vantagem desse método é que ele é rápido e consome menos recursos. No entanto, requer dados de treinamento suficientes para obter um bom desempenho de classificação.

Alguns trabalhos tentam realizar detecção de intrusão através de métodos de classificação, como os famosos InceptionNet, AlexNet, etc.

(c) Sequência

O modelo de sequência CNN é um método de processamento de imagens de séries temporais. Ele extrai recursos relevantes na sequência de imagens e, em seguida, usa RNN como LSTM para modelagem de sequência. A vantagem deste método é que ele pode capturar dependências locais durante o processamento de dados de sequência de vídeo. No entanto, sua desvantagem é que ele não modela totalmente as informações completas da sequência de imagens, portanto só pode ser usado para apagar temporariamente parte do intruso.

Alguns trabalhos tentam realizar detecção de intrusão através de métodos sequenciais, como os famosos ST-CNN, SE-CNN, etc.

4.3 Métodos de aprendizagem não supervisionados

O aprendizado não supervisionado é um ramo do aprendizado de máquina que visa aprender conhecimento a partir de dados não rotulados. Os modelos de aprendizagem profunda precisam classificar os dados, mas devido às diferentes características dos dados, muitas vezes é difícil para o modelo obter melhores resultados de classificação. Portanto, a aprendizagem não supervisionada oferece outra opção. A aprendizagem não supervisionada inclui principalmente análise de cluster, cluster profundo, codificadores automáticos, GANs, etc.

(a) Análise de Cluster

A análise de cluster refere-se ao processo de agrupar pontos de amostra de um conjunto de dados entre si. Existem diferentes opções para métricas de similaridade, como distância euclidiana, distância de Mahalanobis, coeficiente de correlação de Pearson, etc. O objetivo da análise de cluster é encontrar as características salientes dos dados, ou seja, determinar as características estruturais dos dados, de modo a obter compressão de dados e redução de dimensionalidade e melhorar a eficiência do processamento de dados.

Alguns trabalhos tentam realizar detecção de intrusão por meio de análise de cluster, como OPTICS, SCOTCH, etc.

(b) Clustering Profundo

Clustering profundo refere-se ao uso de modelos de aprendizado profundo para agrupar dados não rotulados em várias categorias. Diferente de outros métodos de aprendizado não supervisionado, o clustering profundo não simplesmente agrupa amostras nas classes mais próximas, mas usa um modelo de aprendizado profundo para aprender as semelhanças entre as amostras, de modo que as amostras sejam agrupadas em classes com distâncias semelhantes. Os modelos de clustering profundo requerem todo o conjunto de dados como entrada e, portanto, são capazes de capturar a distribuição geral de recursos.

Alguns trabalhos tentam realizar detecção de intrusão por meio de métodos de agrupamento profundo, como HDBSCAN, DLCM, etc.

(c) Codificador automático

Autoencoders são um modelo de aprendizagem não supervisionado que pode ser usado para extrair recursos internos de dados. O autoencoder consiste em um codificador e um decodificador. O codificador codifica os dados de entrada em uma variável latente e o decodificador decodifica a variável latente nos dados originais. O objetivo do autoencoder é fazer com que os dados originais sejam codificados e depois decodificados o mais próximo possível dos dados originais, capturando assim as características internas dos dados.

Alguns trabalhos tentam realizar detecção de intrusão por meio de autoencoders, como VAE, AAE, DAE, etc.

(d) GANs (Redes Adversariais Gerativas)

GANs são um modelo generativo que pode gerar diversos dados, como imagens, vídeos, texto e áudio. GANs consistem em um gerador e um discriminador, o gerador gera dados de destino a partir de ruído aleatório, e o discriminador é responsável por distinguir os dados reais dos dados gerados. O objetivo dos GANs é gerar dados o mais consistentes possível com os dados reais, para que o gerador possa ser usado para destruir dados reais e evitar vazamento de dados reais.

Alguns trabalhos tentam realizar detecção de intrusão por meio de GANs, como WGAN, SNGAN, etc.

4.4 Método de aprendizagem semissupervisionado

A aprendizagem semissupervisionada refere-se ao treinamento de um modelo em um conjunto limitado de dados rotulados e ao uso de dados não rotulados para supervisão. No campo da detecção de intrusão de imagens, os métodos de aprendizagem semissupervisionados são divididos em aprimoramento de dados, aprendizagem colaborativa, aprendizagem conjunta e aprendizagem por transferência.

(a) Aumento de dados

O aumento de dados refere-se à geração de mais dados expandindo o conjunto de dados. No campo da detecção de intrusão, existem duas opções para métodos de aprimoramento de dados: uma é aumentar uma única imagem e a outra é aumentar toda a sequência de imagens. O objetivo do aumento de dados é reduzir o tamanho das amostras de treinamento e aumentar a capacidade de generalização do modelo.

Alguns trabalhos tentam realizar a detecção de intrusões por meio de métodos de aprimoramento de dados, como AutoAugment, RandAugment, etc.

(b) Aprendizagem Colaborativa

A aprendizagem colaborativa refere-se a vários modelos treinando uma função objetivo em conjunto para melhorar o desempenho do modelo. No campo da detecção de intrusão de imagens, existem duas opções de métodos de aprendizagem colaborativa, uma é o treinamento conjunto e a outra é a aprendizagem por classificador. O treinamento conjunto significa que vários modelos treinam conjuntamente uma função alvo, como permitir que vários modelos prevejam se há intrusão na imagem e depois os combinem para classificação. O aprendizado do classificador refere-se à classificação de dados previstos incorretamente e entregá-los para a próxima iteração junto com os dados corretos.

Alguns trabalhos tentam realizar a detecção de intrusões por meio de métodos de aprendizagem colaborativa, como CoMatch e CORAL no artigo.

(c) Aprendizagem de fusão

O aprendizado federado refere-se ao treinamento de vários modelos ao mesmo tempo e, em seguida, ao uso de seus resultados de previsão para fazer previsões. A aprendizagem conjunta pode melhorar o desempenho do modelo sem aumentar as amostras de treinamento. No campo da detecção de intrusão de imagens, existem duas opções para métodos de aprendizagem conjunta, uma é a fusão de recursos e a outra é a aprendizagem multitarefa. A fusão de recursos significa que vários modelos compartilham determinados extratores de recursos e, em seguida, fundem seus resultados de previsão. O aprendizado multitarefa refere-se ao treinamento de múltiplos modelos para diferentes tarefas, como prever se há intrusão na imagem, o tipo de comportamento de ataque na imagem, o tipo de objeto alvo na imagem, etc.

Alguns trabalhos tentam realizar detecção de intrusão por meio de métodos de aprendizagem conjunta, como JIGSAW, DANN, MMSeg, etc.

(d) Transferência de aprendizagem

A aprendizagem por transferência refere-se ao uso de um modelo pré-treinado e ao ajuste fino com base nele. A aplicação da aprendizagem por transferência no campo da detecção de intrusão de imagens inclui principalmente extração de recursos e detecção de alvos. A extração de recursos é principalmente pré-treinada em tarefas de classificação de imagens e depois ajustada em outras tarefas. A detecção de objetos envolve principalmente o pré-treinamento na tarefa de detecção de objetos e, em seguida, o ajuste fino em outras tarefas. Em ambos os casos, a aprendizagem por transferência reduz a necessidade de recursos computacionais e melhora o desempenho do modelo.

Alguns trabalhos tentam realizar a detecção de intrusões por meio de métodos de aprendizagem por transferência, como SimCLR, BYOL, SwAV, etc.

5. Visão geral

O conteúdo principal deste capítulo são métodos tradicionais de detecção de intrusão de imagem, métodos de extração de recursos CNN, métodos de aprendizagem não supervisionados, métodos de aprendizagem semissupervisionados e direções de pesquisas futuras. Através da introdução deste capítulo, o leitor deverá ser capaz de compreender as características, vantagens e limitações dos principais métodos atuais na área de detecção de intrusão de imagens. Ao mesmo tempo, através da introdução de métodos tradicionais de detecção de intrusão de imagem, métodos de extração de recursos CNN, métodos de aprendizagem não supervisionados e métodos de aprendizagem semissupervisionados, os leitores podem compreender as limitações dos métodos tradicionais e as direções de melhoria para o desenvolvimento.

Acho que você gosta

Origin blog.csdn.net/universsky2015/article/details/133566070
Recomendado
Clasificación