$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Esta seção discute materiais e métodos de pesquisa relacionados a sistemas de detecção de ataques no ambiente IoT. Para replicar os experimentos no conjunto de dados CIC-IoT-2023, este protocolo descreve procedimentos específicos. A Tabela de Materiais subsequente contém uma lista de todo o hardware e software utilizados. Python (pandas, scikit-learn e TensorFlow Keras) é usado para implementar o pipeline, que é rodado no Google Colab com PySpark disponível para pré-processamento de arquivos grandes. Uma descrição detalhada dos procedimentos de pré-processamento de dados foi fornecida.
Dataset
O conjunto de dados CIC-IoT-2023, que foi divulgado pelo Instituto Canadense de Cibersegurança da Universidade de New Brunswick. "CIC IoT dataset 2023" (página de conjuntos de dados CIC da UNB) e o artigo34 do conjunto de dados são a página oficial e o artigo do conjunto de dados CIC. O conjunto de dados pode ser baixado do site do CIC e é acessível ao público em geral. Em vez de usar PCAPs brutos, os arquivos CSV de características pré-extraídos (fluxos/características) são usados nesta pesquisa. Wireshark/mergecap e CICFlowMeter são usados nos experimentos brutos que geraram o conjunto de dados; CSVs destacados são usados nesta obra. Esse conjunto de dados, derivado de dispositivos IoT reais, é utilizado nesta pesquisa. Incluídos no conjunto de dados estão registros de 33 ataques conhecidos a 105 dispositivos IoT diferentes. Diferentemente dos conjuntos de dados IoT anteriores, o CIC-IoT-2023 inclui uma grande variedade de tipos de ataques. A quantidade de cada rótulo vinculada ao tráfego benigno é mostrada na Figura 1. Um total de 46 atributos e 1 rótulo compõem este conjunto de dados. Comparado ao CSE-CIC-IDS 2018, que tinha 84 recursos, o CIC-IoT-2023 tem 37 recursos a menos.

Figura 1: Contagem de ataques no conjunto de dados CICIoT2023. Os nomes de contagem de diferentes tipos de ataques e registros benignos no conjunto de dados CICIot2023 são descrevidos. Esses diferentes tipos de ataques são amplamente categorizados em 7 classes de ataque. Portanto, existem um total de 8 classes, incluindo benigna na classificação multiclasse. Por favor, clique aqui para ver uma versão ampliada desta figura.
Pré-processamento de dados
Conjuntos de dados não devem ser utilizados em algoritmos de aprendizado profundo sem pré-processamento suficiente. O pré-processamento é feito para fornecer ao algoritmo dados mais finos, tornando o modelo mais eficiente. A saída do pipeline de pré-processamento — após codificação de rótulos, escalonamento de características e seleção de características — é chamada de "Dados Finais" e serve como entrada tanto para os componentes CNN quanto para os Transformers. Os passos a seguir estão no Google Colab usando Python. Esta pesquisa utilizou Python 3.8.10, pandas 1.3.4, NumPy 1.21.4, scikit-learn 1.0.2, matplotlib 3.4.3 e TensorFlow/Keras 2.6.0. A semente aleatória foi definida para 42 em todas as corridas.
Aquisição de dados
Essa etapa inclui a limpeza dos dados adquiridos em contextos do mundo real, pois frequentemente contém muitos erros e inconsistências. Se o conjunto de dados contém valores de texto, por exemplo, é impossível utilizar esses valores no treinamento de deep learning sem antes convertê-los em formato numérico. Ao trabalhar com o conjunto de dados, a primeira coisa feita é remover valores em branco e excluir células sem dados nelas. Linhas com dados ausentes foram eliminadas para evitar quaisquer efeitos adversos no modelo.
O conjunto de dados CIC-IoT-2023 é carregado usando pd.read_csv('ciciot2023_features_part.csv'). Essa pesquisa usou o Google Colab para treinamento de modelos e o PySpark para a limpeza inicial. Para detectar ausências, são usados os seguintes métodos: df.shape, df.info(), df.isnull().sum() e df.duplicated().sum() para duplicatas. Duplicados são eliminados usando df.drop_duplicates(inplace=True). O tipo numérico de coluna é verificado usando a fórmula df[col] = pd.to_numeric(df[col], erros='coerce'). Se novos NaNs aparecerem, o tratamento de valor faltante é reaplicado. Características que são constantes ou quase constantes também são eliminadas usando df.drop(columns=low_variance_cols, inplace=True).
Codificação de rótulos
O próximo passo é transformar as etiquetas do texto em uma representação numérica para que o modelo possa entendê-las. Para classificação binária, existem dois tipos separados de rótulos. Existem 46.686.579 registros, sendo 45.588.384 rotulados como ataques maliciosos. Com 1.098.195 discos incluídos, o selo benigno está definido para 0. Existem sete tipos distintos de ataques na classificação multiclasse. Existem oito rótulos ao todo, incluindo o tráfego benigno. A Figura 2 mostra a contagem de cada categoria desses rótulos. O mapeamento multiclasse usado nesta pesquisa é: 0 para Benigno, 1 para DoS, 2 para DDoS, 3 para reconhecimento, 4 para ataque baseado na web, 5 para falsificação, 6 para Força bruta e 7 para ataque mirai.

Figura 2: A porcentagem de classes de ataque incluindo tráfego benigno. Existem sete tipos distintos de ataques na classificação multiclasse. Existem oito rótulos ao todo, incluindo o tráfego benigno. A figura mostra a contagem de cada categoria desses rótulos. Por favor, clique aqui para ver uma versão ampliada desta figura.
Escalonamento de características
A escalabilidade de características é um método comum para melhorar o desempenho geral de modelos de aprendizado profundo. A escalonabilidade de características neste estudo é realizada usando tecnologias Min Max Scaler e Standard Scaler. A pesquisa não os utilizou para testes; em vez disso, ele usava apenas o escalonador no conjunto de treinamento para evitar vazamento de dados. Os dados podem ser normalizados para uma distribuição de média zero, um desvio padrão com a ajuda do método Standard Scaler. Uma forma de fazer isso é dividir o número original pelo desvio padrão. Para isso, a função StandardScaler() é chamada importando o StandardScaler do sklearn.preprocessing. Ao aplicar um intervalo, frequentemente entre 0 e 1, o Min Max Scaler normaliza os dados. A função MinMaxScaler() do scikit-learn foi usada para implementar isso.
Como indicado na Eq. (1), a fórmula de normalização é:
(1)
Onde X representa o valor original em pontos e X normalizado em sua forma transformada, Xmin representa o valor mais baixo da variável, enquanto Xmax denota o valor mais alto da variável dentro do conjunto de dados.
Seleção de recursos
Incorporar todas as características de grandes conjuntos de dados no treinamento nem sempre é útil. Características dentro do conjunto de dados podem apresentar correlação e podem não melhorar o resultado. Além disso, um número excessivo de valores aumenta o custo do treinamento. Para encontrar características que não são necessárias, calculamos suas matrizes de correlação e excluímos aquelas com correlações fortes do conjunto de dados. O coeficiente de correlação de Pearson, que quantifica a relação linear entre duas características, é usado para calcular a correlação. Um valor entre -1 e +1 é obtido dividindo a covariância das duas variáveis pelo produto de seus desvios padrão. Isso é opcional e realizado no pipeline com a Recursive Feature Elimination (RFE) para seleção de características com um classificador de árvore de decisão. A eliminação de características recursivas encontra repetidamente as características mais relevantes treinando o modelo classificador e descartando as menos significativas. O código utiliza RFE de sklearn.feature_selection com um Classificador de Árvore de Decisão como estimador. Após a implementação da eliminação de características recursivas, 30 das 46 características foram selecionadas para cada uma das sete categorias de ataque, conforme mostrado na Tabela 2. Uma característica pode ser categorizada sob várias classificações de ataque. Após a conclusão do processo descrito na Figura 3, é realizado o processo de seleção das classes de ataque incluídas no conjunto de dados. CNNs modernas se destacam em aprender representações hierárquicas a partir de dados brutos, mas pré-selecionar um conjunto pequeno e de recursos de alta qualidade usando RFE traz vantagens significativas. Primeiro, o RFE com classificador de Árvore de Decisão remove rapidamente dados ruidosos ou redundantes que podem atrasar a convergência durante os primeiros ciclos de treinamento. Segundo, centralizar a CNN em um conjunto menor de sinais realmente valiosos reduz o sobreajuste, o que é crucial em conjuntos de dados de tráfego IoT com padrões altamente enviesados de benignos e prejudiciais. O método de eliminação recursiva da árvore de decisão classifica características para melhor explicabilidade do modelo e identificação de vieses específicos de domínio antes do treinamento profundo. Por fim, inicializar o CNN-Transformer nesse conjunto de recursos podado gera uma convergência mais rápida e menor uso de memória da GPU, provando que o RFE acelera e estabiliza ativamente o aprendizado de características de ponta a ponta.
Tabela 2: As características selecionadas do conjunto de dados "CIC-IoT-2023". 30 das 46 características foram selecionadas para cada uma das sete categorias de ataque nesta pesquisa usando RFE. A tabela descreve as 30 características selecionadas. Por favor, clique aqui para baixar esta Tabela.

Figura 3: Funcionamento do modelo híbrido proposto. A conclusão do processo está detalhada na figura. O processo de seleção das classes de ataque incluídas no conjunto de dados é realizado. Por favor, clique aqui para ver uma versão ampliada desta figura.
Divida o conjunto de dados em um conjunto de 80% de treino e outro de 20% seguindo o passo: train_test_split (X_train, y_train, test_size=0,20, random_state=42). O conjunto de treino de 80% é ainda dividido usando train_test_split(X_train, y_train, test_size=0,20,random_state=42). Toda a seleção de modelos e ajuste de hiperparâmetros são feitos usando essas divisões precisas. A técnica de superamostragem sintética de minorias (SMOTE) é usada quando há um problema de desequilíbrio de classes. Apenas o conjunto de treinamento foi submetido ao SMOTE após a divisão e escalonamento. O efeito do SMOTE é apresentado nos resultados. Após o RFE, o estudo faz paralelo aos ramos da CNN e do Transformer usando as mesmas 30 características escolhidas para cada amostra. Os detalhes adicionais do processamento dessas 30 funcionalidades são mencionados na seção de metodologia proposta.
Metodologia proposta
Uma estrutura de segurança eficaz para sistemas de IoT, capaz de detectar ataques com mais precisão, será construída com a ajuda de um modelo de deep learning. Uma estratégia híbrida de segurança que combina redes neurais convolucionais (CNNs) com modelos transformadores é proposta. Esse método envolve treinar a arquitetura CNN usando pesos de um conjunto de dados maior e, em seguida, ajustar os parâmetros do modelo usando um conjunto de dados menor como objetivo. O objetivo principal desse modelo é melhorar a eficiência da detecção de intrusões na IoT.
Essa pesquisa utilizou o PySpark, uma plataforma do Google Colab que permite aos usuários executar programas Python no Apache Spark. Utilizando os pacotes Scikit-learn e Keras, algoritmos de aprendizado profundo foram desenvolvidos. Para treinar e testar o modelo, foi usada a seguinte configuração: Sistema operacional: Mac OS v12.6; - M2 Apple Silicon; - Tela de 13,3 polegadas; - CPU de 8 núcleos; - GPU de 8 núcleos; - 32 GB de RAM; - SSD de 256 GB.
O Instituto Canadense de Cibersegurança (CIC) criou um conjunto de dados abrangente de ameaças à IoT para avançar aplicações de análise de segurança em ambientes práticos deIoT 34. Houve um total de 33 ataques em uma rede de 105 dispositivos conectados em um sistema IoT. Com um total de 46.179.314 incidentes, os ataques são categorizados em sete grupos: DDoS, Recon, DoS, baseados na web, falsificação e força bruta, além de Mirai. Há 37.349.263 instâncias no conjunto de treinamento, 8.830.051 instâncias no conjunto de teste e um total de 46 características no conjunto de dados. Em todos os casos, dispositivos IoT malévolos lançam ataques em outros dispositivos IoT. Um total de 67 dispositivos IoT e 38 dispositivos Zigbee e Z-Wave conectados a 5 hubs foram afetados pelos ataques. Uma rede de sensores, câmeras, microcontroladores e dispositivos domésticos conectados pode ser configurada para executar diferentes tipos de ataques e registrar o tráfego resultante deles. O Wireshark captura o tráfego de rede no formato PCAP para análise posterior. Como cada experimento armazena dois fluxos de dados, o mergecap é usado para combinar os arquivos PCAP. Diversos dispositivos IoT foram usados para compilar o conjunto de dados, incluindo players de áudio, gravadores de vídeo, hubs, tomadas, sistemas de automação residencial, iluminação, sensores e gadgets de próxima geração.
Esta seção apresenta uma metodologia detalhada de pesquisa composta por muitas fases sequenciais utilizadas no estudo. Além disso, a parte define o algoritmo proposto sequencialmente e fornece um fluxograma detalhado do processo de pesquisa.
CNN
O algoritmo CNN utiliza uma rede neural artificial, uma abordagem de aprendizado profundo. A Figura 4 ilustra o algoritmo subjacente que a CNN utiliza: camadas totalmente conectadas, pooling, achatamento e convolução fazem parte dele. Uma CNN não pode funcionar sem a camada de convolução. O recebimento de dados das células é processado pela camada convolucional.
Na Equação (2), o volume de saída (Vo) é determinado por P (passada), Vi (volume de entrada), S (tamanho do núcleo do neurônio da camada convolucional) e M (enchimento zero).
(2)
Depois, um filtro é usado para extrair as propriedades do valor de entrada durante a convolução. Essa camada cria um mapa de características. Reduzir o tamanho dos dados de entrada por meio do agrupamento simplifica o treinamento e reduz o número de parâmetros a serem calculados. A camada de pooling pode ser escolhida usando o maior valor dentro do tamanho dado ou a média dos valores. A técnica desenvolvida inclui duas camadas de convolução e dois níveis de pooling. O processo de extração de características começa aqui. Os dados de características obtidos ficam disponíveis para computação. Os algoritmos CNN estão disponíveis em uma, duas ou três dimensões. O modelo utilizava uma rede neural convolucional com apenas uma dimensão. As camadas na área de classificação são conhecidas como achatadas, totalmente conectadas. Os dados precisam ser achatados após a fase convolucional para que possam ser usados na fase totalmente conexa. A camada de achatamento é onde esse processo é realizado. Dentro da camada totalmente ligada, é utilizado o paradigma convencional das redes neurais artificiais. Para aplicar CNN a dados que não são baseados em imagem, as dimensões de entrada devem ser transformadas. Como resultado, a CNN pode usar camadas convolucionais unidimensionaisque são unidimensionais 35.

Figura 4: Algoritmo básico da CNN. O funcionamento básico e os componentes do modelo CNN são descritos. Por favor, clique aqui para ver uma versão ampliada desta figura.
Aprendizado com transformadores
Além disso, para realizar experimentos adicionais, utilizamos o framework de modelagem de transformadores. O modelo pode lidar simultaneamente com todos os pontos da sequência devido ao mecanismo de autoatenção do transformador. O resultado é um tempo de treinamento mais rápido para o modelo e melhor uso dos recursos computacionais pelo transformador durante a inferência e o treinamento. O transformador é composto principalmente por uma série de codificadores e decodificadores empilhados. O processo de codificação envolve a troca de uma linguagem por outra, mas o processo de decodificação envolve determinar a probabilidade de uma linguagem diferente usar resultados anteriores. Como os codificadores são principalmente responsáveis pela extração de características, o modelo sugerido utiliza exclusivamente componentes do codificador. O codificador transformador consiste em embedding de entrada/posição, uma rede neural feedforward, normalização de camadas, autoatenção multi-cabeça e uma rede residual.
Para preparar os dados de entrada para processamento pelo transformador, uma camada de embedding é usada para converter as características categóricas em representações vetoriais densas. O embutimento de posição mostra como as características são conectadas sequencialmente, enquanto o embutimento de entrada mostra como diferentes entradas estão relacionadas em um espaço comum. Antes que o transformador processe características categóricas, essa pesquisa utiliza embedding de entrada para transformá-las em vetores densos.
Uma expansão do mecanismo de atenção, o mecanismo de autoatenção multicabeça, é a base da arquitetura do transformador. Utilizando um produto escalar escalado, esta pesquisa emprega o mecanismo de autoatenção multicabeças.
(3)
onde a matriz de consulta (Q), matriz de chave (K), matriz de valores (V) e dimensão da matriz de chave (dk) são denotadas, respectivamente. Ao permitir que o modelo se concentre em dados de várias características mapeadas para subespaços separados, resultando em valores de atenção distintos, um mecanismo de atenção com produto escalar escalado em múltiplas cabeças difere do mecanismo de atenção escalar escalado. O sobreajuste é menos provável quando os níveis de atenção são calculados independentemente para cada cabeça. A formulação específica é a seguinte:
(4)
(5)
Onde h é o número de cabeças de atenção, d,v e drepresentam a dimensão de v e modelo. Também

Em seguida, a normalização das camadas é usada para estabilizar o processo de treinamento. Para evitar a explosão do gradiente, a normalização de camadas limita a saída de cada camada a uma certa faixa. Tanto a convergência quanto a velocidade de treinamento do modelo podem ser melhoradas por isso. Enquanto a normalização em lote leva em conta os dados em lote, a normalização por camada não leva.
Modelo proposto CNN-Transformer
Esta pesquisa oferece uma técnica híbrida CNN-Transformer para detectar intrusões em redes IoT, considerando os benefícios distintos de ambas as arquiteturas. A Figura 5 mostra os principais componentes da técnica híbrida proposta CNN-Transformer. Após realizar todas as etapas de pré-processamento, incluindo limpeza, normalização, codificação de rótulos e seleção de características, cada amostra no conjunto de dados é representada por um vetor de características tridimensional, chamado de Dados Finais. Os mesmos Dados Finais são duplicados e alimentados em paralelo para ambos os ramos do modelo híbrido. Depois, esses Dados Finais são enviados simultaneamente para os blocos CNN e Transformer. CNN e transformador não dependem um do outro de forma alguma; Ambos podem trabalhar com os mesmos dados de entrada ao mesmo tempo. As saídas achatadas dos dois ramos, CNN e Transformer, são concatenadas para produzir um vetor de características fundidas, que é passado para as camadas densas, que as classificam. O bloco CNN altera a forma de entrada para (num_features, 1) para que operações convolucionais possam ser realizadas entre dimensões de características para encontrar padrões espaciais locais. Ao mesmo tempo, o ramo Transformer altera a mesma entrada para um formato sequencial e a envia para um espaço de imersão de dimensão superior, seguido pela codificação posicional. Isso permite que o transformer preste atenção no espaço de características e encontre relações contextuais globais. O design único do transformador é usado para extração de características, enquanto a função sigmoide e as camadas completamente ligadas fornecem a conexão de mapeamento entre características e rótulos. O modelo CNN-Transformer é estruturalmente representado pela Figura 5. O resultado é um sistema de oito categorias para classificar ataques, com DDoS, Recon, DoS, Benigno, Web-based, Spoofing, Brute Force e Mirai como componentes. O processo de avaliação do CNN-Transformer proposto é mostrado na Figura 5.

Figura 5: Arquitetura do modelo proposto. A figura mostra a forma de entrada e o processo de avaliação do CNN-Transformer proposto. Por favor, clique aqui para ver uma versão ampliada desta figura.
Duas redes neurais convolucionais unidimensionais (CNNs) com filtros de 64 e 128 unidades e tamanho de 3 núcleos, duas camadas de max-pooling, um passo de achatamento, três camadas densas com 256, 128 e 64 unidades, e três camadas dropout compõem a camada de rede neural convolucional (CNN).
Os dados de entrada são processados por meio de uma camada convolucional 1D com uma função de ativação ReLU, 64 filtros, um kernel 3x3 e um stride 1x1 na primeira camada. Após a camada anterior, há uma camada MaxPooling1D com tamanho de pool 2. Para tornar o modelo mais flexível e diminuir seu custo computacional, essa camada diminui as dimensões espaciais da área de saída. A terceira camada é mais uma camada convolucional 1D; possui 128 filtros, um núcleo de três tamanhos, um passo de um e uma função de ativação chamada ReLU. Usando mais filtros para extrair características de entrada, essa camada é semelhante à primeira camada de max pooling. A saída da primeira camada é então processada usando a técnica. Depois, uma camada máxima de pooling foi adicionada após a segunda camada de convolução, e seu tamanho de pool também era 2. Mais uma vez, essa camada é usada para reduzir a amostragem dos mapas de características. A quinta camada é uma camada de achatamento, e ela pega a saída da camada anterior e a transforma em um vetor unidimensional.
Os subconjuntos de características obtidos são incorporados como um último passo antes de se tornarem a entrada do transformador. Além disso, a atenção multi-cabeças — um vetor unidimensional de oito cabeças com dimensão de 32 chaves — é usada para avaliar a importância de cada cabeça. A camada de atenção multi-cabeça é o componente principal do transformador. Essa camada permite que o modelo aprenda a partir das representações embutidas de diferentes características de forma adaptativa. A camada de atenção multi-cabeças é composta por várias cabeças de autoatenção, que também são chamadas de "atenção escalar escalado". Após aplicar a normalização de camada com épsilon ajustado para 1e-6, o objetivo é eliminar discrepâncias de escala entre várias características e garantir a estabilidade da saída. Ao manter a saída de cada camada dentro de uma faixa predeterminada, a normalização de camadas diminui a probabilidade de explosão de gradiente. Após a saída do transformador, há uma camada de achatamento, que simplifica sua combinação com a CNN ao reduzi-la a um único vetor.
O próximo passo é combinar as saídas achatadas da CNN e do Transformer usando uma camada de concatenação. Função de ativação "relu", regularização L2 e uma camada densa com 256 unidades seguem a camada de achatamento. Em seguida, há uma camada de dropout com taxa de 0,5, que ajuda a evitar sobreajuste. Uma camada densa adicional de 128 unidades usando regularização L2 e a função de ativação "relu" seguem-se. A taxa de abandono em uma camada adicional de abandono é 0,3. A função de ativação do ReLU, regularização L2 e uma camada densa de 64 unidades compõem a camada subsequente. A próxima camada assume a forma de uma camada de dropout com taxa de 0,2, eliminando aleatoriamente 20% das unidades internas. Uma camada densa com uma função de ativação softmax cria uma distribuição de probabilidade para as classes de saída da camada anterior. Existem exatamente tantas unidades nessa camada quanto classes de saída.
O modelo sugerido pode ser expresso numericamente da seguinte forma:
Seja X os dados de entrada CNN, onde X
R(n×1), após remodelação, e n é o número de características selecionadas, respectivamente. X é colocado em um espaço de imersão de dimensão superior de forma R(n × d_model) para o bloco Transformer. Antes de entrar no mecanismo de autoatenção, é usada a codificação posicional.
A seguir está a expressão da operação na camada Conv1D, que usa 64 filtros e um tamanho de kernel de 3:
(6)
onde Yi,j é a saída na posição j doi-ésimo filtro, k é o núcleo de tamanho 3, b1
R64 é o termo de viés para cada filtro, Wk representa os pesos do filtro, e ReLU é a função de ativação. Em seguida, a camada MaxPooling é aplicada com tamanho de pool 2, resultando em uma saídaZ 1,j.
(7)
Uma camada adicional de convolução ID com tamanho de kernel 3 e 128 filtros está incluída como terceira camada do modelo; sua expressão é:
(8)
Onde k é o núcleo de tamanho 3, b2
R128 é o termo de viés para cada filtro, e ReLU é a função de ativação. Outra camada máxima de pool é aplicada, recebendo a entrada da segunda camada de convolução com tamanho de pool 2. A saída Z2,j é dada por:
(9)
A quinta camada é uma camada de achatamento expressa como:
(10)
Em seguida vêm as camadas transformadores, que incluem uma camada de embedding, uma camada de atenção multi-cabeça e a normalização de camadas
(11)
E é o vetor de embedding para a classe de entrada c, e We é a matriz de pesos contendo vetores de embedding para todas as categorias. Isso mapeia cada inteiro em c para um vetor denso de 32 componentes de valores reais. Em seguida, há uma camada de atenção multi-cabeças, conforme formulado nas Equações (3),(4) e (5).
A matriz chave tem tamanho dk = 32 e dimensão h=8. D,V eD Modelo representam as respectivas dimensões de V e modelo. Também 
Para uma saída x = MultiHead(Q,K,V), a normalização da camada fornece:
(12)
Onde y é a saída normalizada, γ e β são os parâmetros aprendíveis, e μ e σ2 denotam a média e a variância para x, respectivamente. Em seguida, vem a camada de achatamento para o transformador, definida como

No final de todas as camadas, a expressão resultante é mostrada como








Onde Z1
R256, Z2
R128, Z3
R64 e Y
R 8. Esse modelo híbrido também calcula a função de perda para classificação multiclasse, que pode ser expressa como

onde:
Yc representa o rótulo verdadeiro (codificado com um seu) para a classe cc,
Y'c é a probabilidade prevista para a classe c
O algoritmo proposto é explicado em detalhes na Tabela 3 .
Tabela 3: O algoritmo proposto CNN-Transformer. O algoritmo proposto é explicado passo a passo na Tabela 3. Por favor, clique aqui para baixar esta Tabela.