$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Bu bölüm, IoT ortamında saldırı tespit sistemiyle ilgili araştırma materyalleri ve yöntemlerini tartışmaktadır. CIC-IoT-2023 veri setindeki deneyleri tekrarlamak için bu protokol belirli prosedürleri özetlemektedir. Sonraki Materyaller Tablosu , kullanılan tüm donanım ve yazılımların bir listesini içerir. Pipeline'ı uygulamak için Python (pandas, scikit-learn ve TensorFlow Keras) kullanılır; bu hattı Google Colab'da çalıştırılır ve büyük dosya ön işleme için PySpark mevcuttur. Veri ön işleme prosedürlerinin ayrıntılı bir açıklaması sunulmuştur.
Dataset
CIC-IoT-2023 veri seti, New Brunswick Üniversitesi Kanada Siber Güvenlik Enstitüsü tarafından yayımlandı. "CIC IoT veri seti 2023" (UNB CIC veri setleri sayfası) ve veri setimaddesi 34 , resmi CIC veri seti sayfası ve makalesidir. Veri seti CIC web sitesinden indirilebilir ve genel halk tarafından erişilebilir hale getirilebilir. Ham PCAP'ler yerine, önceden çıkarılmış özellik CSV dosyaları (akışlar/özellikler) bu araştırmada kullanılmıştır. Wireshark/mergecap ve CICFlowMeter da veri setini üreten ham deneylerde kullanılır; öne çıkan CSV'ler bu çalışmada kullanılmıştır. Bu veri seti gerçek IoT cihazlarından türetilmiştir ve bu araştırmada kullanılmaktadır. Veri setinde, 105 farklı IoT cihazına yönelik bilinen 33 saldırıya ait kayıtlar yer alıyor. Önceki IoT veri setlerinin aksine, CIC-IoT-2023 çok çeşitli saldırı türlerini içerir. Her etiketin zararsız trafiğe bağlı miktarı Şekil 1'de gösterilmiştir. Toplamda 46 özellik ve 1 etiket bu veri setini oluşturur. 84 özellik içeren CSE-CIC-IDS 2018'e kıyasla, CIC-IoT-2023'te 37 daha az özellik var.

Şekil 1: CICIoT2023 veri setindeki saldırı sayısı. CICIot2023 veri setindeki farklı saldırı türlerinin ve iyi huylu kayıtların sayı isimleri tanımlanmıştır. Bu farklı saldırı türleri genel olarak 7 saldırı sınıfına ayrılır. Yani çoklu sınıflandırmada zararlı olanlar dahil olmak üzere toplam 8 sınıf var. Bu figürün daha büyük bir versiyonunu görmek için lütfen buraya tıklayın.
Veri ön işleme
Veri setleri, yeterli ön işleme olmadan derin öğrenme algoritmalarında kullanılmamalıdır. Ön işleme, algoritmaya daha ince veri sağlamak ve nihayetinde modeli daha verimli hale getirmek için yapılır. Ön işleme boru hattının çıktısı — etiket kodlama, özellik ölçeklendirme ve özellik seçimi sonrası — "Nihai Veri" olarak adlandırılır ve hem CNN hem de Transformer bileşenlerine giriş olarak hizmet eder. Aşağıdaki adımlar Google Colab ile Python kullanılarak sunulmaktadır. Bu araştırmada Python 3.8.10, pandas 1.3.4, NumPy 1.21.4, scikit-learn 1.0.2, matplotlib 3.4.3 ve TensorFlow/Keras 2.6.0 kullanıldı. Tüm koşular için rastgele tohum 42 olarak ayarlandı.
Veri toplama
Bu adım, çoğu zaman birçok hata ve tutarsızlık içeren gerçek dünya bağlamlarından elde edilen verilerin temizlenmesini içerir. Örneğin, veri seti metin değerleri içeriyorsa, bu değerleri derin öğrenme eğitiminde kullanmak, önce onları sayısal forma dönüştürmeden imkansızdır. Veri setiyle çalışırken yapılan ilk şey boş değerleri kaldırmak ve içinde veri olmayan hücreleri silmektir. Eksik veri içeren satırlar, modele olumsuz etkiler yapılmaması için kaldırıldı.
CIC-IoT-2023 veri seti pd.read_csv('ciciot2023_features_part.csv') kullanılarak yüklenir. Bu araştırmada model eğitimi için Google Colab, ilk temizlik için ise PySpark kullanıldı. Eksikliği tespit etmek için şu yöntemler kullanılır: df.shape, df.info(), df.isnull().sum() ve df.duplicated().sum() kopyalar için. Tekrarlar df.drop_duplicates(inplace=True) kullanılarak ortadan kaldırılır. Sayısal sütun tipi, df[col] = pd.to_numeric(df[col], errors='zorlama') formülü kullanılarak doğrulanır. Yeni NaN'lar ortaya çıkarsa, eksik değer işleme yeniden uygulanır. Sabit veya neredeyse sabit olan özellikler de df.drop(columns=low_variance_cols, inplace=True) kullanılarak ortadan kaldırılır.
Etiket kodlaması
Sonraki adım, metin etiketlerini modelin anlayabilmesi için sayısal bir temsile dönüştürmektir. İkili sınıflandırma için iki ayrı etiket türü vardır. 46.686.579 kayıt var ve bunların 45.588.384'ü kötü niyetli saldırı olarak etiketlenmiştir. 1.098.195 plak dahil edildiğinde, benign plak şirketi 0'a ayarlanmıştır. Çok sınıflı sınıflandırmada yedi ayrı saldırı türü vardır. Toplam sekiz etiket vardır, bunlar arasında zararsız trafik de vardır. Şekil 2, bu etiketlerin her kategorisinin sayısını göstermektedir. Bu araştırmada kullanılan çoklu sınıf eşlemeleri şunlardır: Benign için 0, DoS için 1, DDoS için 2, keşif için 3, web tabanlı saldırı için 4, sahtecilik için 5, bruteForce için 6 ve mirai saldırısı için 7.

Şekil 2: Zararsız trafik dahil saldırı sınıflarının yüzdesi. Çok sınıflı sınıflandırmada yedi ayrı saldırı türü vardır. Toplam sekiz etiket vardır, bunlar arasında zararsız trafik de vardır. Şekil, bu etiketlerin her kategorisinin sayısını göstermektedir. Bu figürün daha büyük bir versiyonunu görmek için lütfen buraya tıklayın.
Özellik ölçeklendirme
Özellik ölçeklendirme, derin öğrenme modellerinin genel performansını artırmak için yaygın bir yöntemdir. Bu çalışmada özellik ölçeklendirme, Min Max Scaler ve Standard Scaler teknolojileri kullanılarak gerçekleştirilmiştir. Araştırma onları test amaçlı kullanmadı; Bunun yerine, veri sızıntısını önlemek için yalnızca eğitim setindeki ölçekleyiciyi kullandı. Veri, Standart Ölçekleyici yöntemi yardımıyla sıfır ortalama, bir standart sapma dağılımına normalleştirilebilir. Bunu yapmanın bir yolu, orijinal sayıyı standart sapmaya bölmektir. Bunun için StandardScaler() fonksiyonu, sklearn.preprocessing sayfasından StandardScaler içe aktarılarak çağrılır. Genellikle 0 ile 1 arasında bir aralık uygulanarak, Min Max Scaler veriyi normalleştirir. Bunu uygulamak için scikit-learn'den MinMaxScaler() fonksiyonu kullanıldı.
Eq. (1)'de belirtildiği gibi, normalizasyon formülü şöyledir:
(1)
X, orijinal puan değerini, Xnormalize edilmiş olarak dönüştürülmüş formunu temsil ederken, Xmin değişkenin en düşük değerini, Xmax ise veri kümesi içindeki değişkenin en yüksek değerini temsil eder.
Özellik seçimi
Büyük veri kümelerinden tüm özelliklerin eğitime dahil edilmesi her zaman faydalı değildir. Veri setindeki özellikler korelasyon gösterebilir ve sonucu iyileştirmeyebilir. Ayrıca, aşırı sayıda değer eğitim maliyetini artırır. Gerekli olmayan özellikleri bulmak için korelasyon matrislerini hesaplarız ve güçlü korelasyona sahip olanları veri setinden çıkarırız. İki özellik arasındaki doğrusal ilişkiyi niceleyen Pearson korelasyon katsayısı korelasyonu hesaplamak için kullanılır. -1 ile +1 arasında bir değer, iki değişkenin kovaryansının standart sapmalarının çarpımına bölünmesiyle elde edilir. Bu isteğe bağlıdır ve karar ağacı sınıflandırıcısı ile özellik seçimi için Recursive Feature Elimination (RFE) ile pipeline uygulanır. Özyinelemeli özellik eliminasyonu, sınıflandırıcı modelini eğitip en az önemli olanları atarak en ilgili özellikleri tekrar tekrar bulur. Kod, sklearn.feature_selection'den RFE'yi kullanarak bir Karar Ağacı Sınıflandırıcısı olarak kullanır. Özyinelemeli özellik eliminasyonu uygulandıktan sonra, Tablo 2'de gösterildiği gibi, yedi saldırı kategorisinin her biri için 46 karakterden 30'u seçilmiştir. Bir özellik, birçok saldırı sınıflandırması altında kategorize edilebilir. Şekil 3'te belirtilen süreç tamamlandıktan sonra, veri setine dahil edilen saldırı sınıflarının seçimi işlemi gerçekleştirilir. Modern CNN'ler, ham verilerden hiyerarşik temsilleri öğrenmede üstündür, ancak RFE ile küçük ve yüksek kaliteli bir özellik setini önceden seçmek önemli avantajlara sahiptir. İlk olarak, RFE ve bir Karar Ağacı sınıflandırıcısı, erken eğitim döngülerinde yakınsamayı geciktirebilecek gürültülü veya gereksiz verileri hızla ortadan kaldırır. İkincisi, CNN'in daha küçük bir gerçekten değerli sinyal havuzuna odaklanması, aşırı uyumu azaltır; bu, yüksek derecede çarpık zararlı ve zararlı desenlere sahip IoT trafik veri setlerinde kritik öneme sahiptir. Karar ağacının özyinelemeli eleme yöntemi, modellerin daha iyi açıklanabilirliği ve derin eğitimden önce alan spesifik önyargıları belirlemek için özellikleri sıralar. Son olarak, CNN-Transformer'ın bu kesilmiş özellik setinde başlatılması, daha hızlı yakınsama ve daha düşük GPU bellek kullanımı sağlar; bu da RFE'nin uçtan uca özellik öğrenimini aktif olarak hızlandırdığını ve stabilize ettiğini kanıtlar.
Tablo 2: "CIC-IoT-2023" veri setinin seçilmiş özellikleri. Bu araştırmada yedi saldırı kategorisinin her biri için 46 karakterden 30'u RFE kullanılarak seçilmiştir. Tablo seçilen 30 özelliği tanımlıyor. Bu tabloyu indirmek için lütfen buraya tıklayın.

Şekil 3: Önerilen hibrit modelin işleyişi. Sürecin tamamlanması şekilde belirtilmiştir. Veri setine dahil edilen saldırı sınıflarının seçilme süreci gerçekleştirilir. Bu figürün daha büyük bir versiyonunu görmek için lütfen buraya tıklayın.
Veri setini %80 tren ve %20 test seti olarak şu adımı takip ederek bölebilirsiniz: train_test_split (X_train, y_train, test_size=0.20, random_state=42). %80 eğitim seti train_test_split(X_train, y_train, test_size=0.20,random_state=42) ile daha da bölünür. Tüm model seçimi ve hiperparametre ayarlamaları bu kesin bölünmelerle yapılır. Sentetik azınlık aşırı örnekleme tekniği (SMOTE), sınıf dengesizliği sorunu olduğunda kullanılır. Sadece eğitim seti, bölünme ve ölçeklendirme sonrası SMOTE'ye maruz kaldı. SMOTE'nin etkisi sonuçlarda sunulmaktadır. RFE'nin ardından çalışma, CNN ve Transformer dallarıyla paralel ilerleyerek her örnek için seçilen aynı 30 özelliği kullandı. Bu 30 özelliğin işleme ile ilgili daha ayrıntılı detaylar önerilen metodoloji bölümünde belirtilmiştir.
Önerilen metodoloji
Saldırıları daha doğru tespit edebilen IoT sistemleri için etkili bir güvenlik çerçevesi, derin öğrenme modeli sayesinde oluşturulacaktır. Konvolüsyon sinir ağlarını (CNN'ler) transformatör modellerle birleştiren hibrit bir güvenlik stratejisi önerilmektedir. Bu yöntem, CNN mimarisinin daha büyük bir veri setinden alınan ağırlıklarla eğitilmesini ve ardından daha küçük bir veri seti kullanılarak modelin parametrelerinin ince ayarlanmasını içerir. Bu modelin temel amacı, IoT'de müdahale algılama verimliliğini artırmaktır.
Bu araştırma, kullanıcıların Apache Spark üzerinde Python programlarını çalıştırmasına olanak tanıyan Google Colab platformu PySpark'ı kullandı. Scikit-learn ve Keras paketleri kullanılarak derin öğrenme algoritmaları geliştirilmiştir. Modeli eğitmek ve test etmek için şu yapılandırma kullanıldı: İşletim sistemi: Mac OS v12.6; - M2 Apple Silikon; - 13.3 inç ekran; - 8 çekirdekli CPU; - 8 çekirdekli GPU; - 32 GB RAM; - 256 GB SSD.
Kanada Siber Güvenlik Enstitüsü (CIC), pratik IoT ortamlarında güvenlik analiz uygulamalarını ilerletmek için kapsamlı bir IoT tehdit veriseti oluşturmuştur 34. Bir IoT sisteminde 105 bağlı cihazdan oluşan ağda toplam 33 saldırı gerçekleşti. Toplam 46.179.314 olayla saldırılar yedi gruba ayrılır: DDoS, Recon, DoS, web tabanlı, sahtecilik ve kaba kuvvet, ayrıca Mirai. Eğitim setinde 37.349.263 örnek, test setinde 8.830.051 örnek ve veri setinde toplamda 46 özellik bulunmaktadır. Her durumda, kötü niyetli IoT cihazları diğer IoT cihazlarına saldırılar başlatır. Toplam 67 IoT cihazı ve 5 hub'a bağlı 38 Zigbee ve Z-Wave cihazı saldırılardan etkilendi. Bağlı sensörler, kameralar, mikrodenetleyiciler ve akıllı ev cihazlarından oluşan bir ağ farklı türde saldırılar gerçekleştirmek ve bunlardan kaynaklanan trafiği kaydetmek üzere kurulabilir. Wireshark, daha fazla analiz için ağ trafiğini PCAP formatında yakalar. Her deney iki veri akışını depoladığı için, mergecap kullanılarak PCAP dosyaları birleştirilir. Veri setini derlemek için ses oynatıcılar, video kaydediciler, hublar, elektrik prizleri, ev otomasyon sistemleri, aydınlatma, sensörler ve NextGen cihazlar gibi çeşitli IoT cihazları kullanıldı.
Bu bölüm, çalışmada kullanılan birçok ardışık aşamadan oluşan ayrıntılı bir araştırma metodolojisi sunar. Ayrıca, bölüm önerilen algoritmayı sıralı olarak tanımlar ve araştırma sürecinin ayrıntılı bir akış şemasını sunar.
CNN
CNN algoritması, yapay sinir ağı olan derin öğrenme yaklaşımı kullanır. Şekil 4 , CNN'in kullandığı temel algoritmayı göstermektedir: tamamen bağlı katmanlar, havuzlama, düzleştirme ve konvolüsyon, bunların hepsi bunun bir parçasıdır. Bir CNN, konvolüsyon katmanı olmadan çalışamaz. Alıcı hücre verisi, konvolüsyon katman tarafından işlenir.
Denklem (2)'de, çıkış hacmi (Vo) P (adım), Vi (giriş hacmi), S (konvolüsyon katman nöron çekirdeği boyutu) ve M (sıfır dolgu) ile belirlenir.
(2)
Sonrasında, konvolüsyon sırasında giriş değerinin özelliklerini çıkarmak için bir filtre kullanılır. Bu katman bir özellik haritası oluşturur. Girdi veri boyutunu havuzlama yoluyla azaltmak, eğitimi kolaylaştırır ve hesaplanacak parametre sayısını azaltır. Havuzlama katmanı, verilen boyuttaki en büyük değer veya değerlerin ortalaması kullanılarak seçilebilir. Geliştirilen teknik, iki katman konvolüsyon ve iki seviye havuzlama içerir. Özellik çıkarma süreci burada başlar. Elde edilen özellik verileri hesaplama için kullanılabilir hale getirilir. CNN algoritmaları bir, iki veya üç boyutlu olarak mevcuttur. Model, yalnızca bir boyutlu konvolüsyonel sinir ağı kullandı. Sınıflandırma alanındaki katmanlar düzleştirilmiş ve tamamen bağlı olarak bilinir. Veri, konvolüsyon fazdan sonra düzleştirilmelidir, böylece tam bağlı faz olarak kullanılabilir. Bu işlemin gerçekleştirildiği yer, düzleştirilmiş katmandır. Tam bağlı katman içinde, yapay sinir ağlarının geleneksel paradigması kullanılır. CNN'i görüntü tabanlı olmayan verilere uygulamak için giriş boyutları dönüştürülmelidir. Sonuç olarak, CNN tek boyutlu35 boyutlu konvolüsyon katmanlar kullanabilir.

Şekil 4: CNN temel algoritması. CNN modelinin temel çalışma ve bileşenleri tanımlanır. Bu figürün daha büyük bir versiyonunu görmek için lütfen buraya tıklayın.
Transformatör öğrenimi
Ayrıca, daha fazla deney yapmak için transformatör modelleme çerçevesini kullanıyoruz. Model, transformatörün kendine dikkat mekanizması sayesinde dizideki tüm noktaları aynı anda yönetebilir. Sonuç olarak, model için daha hızlı bir eğitim süresi ve trafonun çıkarım ve eğitim sırasında bilgisayar kaynaklarının daha iyi kullanılması sağlanır. Transformatör esas olarak üst üste yığılmış kodlayıcı ve çözücülerden oluşur. Kodlama süreci, bir dili diğerine dönüştürmeyi içerirken, çözme süreci önceki çıktılar kullanılarak farklı bir dilin olasılığını belirlemeyi içerir. Kodlayıcılar çoğunlukla özellik çıkarımından sorumlu olduğundan, önerilen model yalnızca kodlayıcı bileşenlerini kullanır. Transformatör kodlayıcısı, giriş/konum gömme, ileriye doğru besleme sinir ağı, katman normalizasyonu, çoklu başlı öz-dikkat ve kalıntı ağdan oluşur.
Transformatör tarafından işleme için giriş verilerini hazırlamak için, kategorik özellikleri yoğun vektör temsillerine dönüştürmek için bir göme katmanı kullanılır. Pozisyon gömme özelliklerin sıralı olarak nasıl bağlandığını gösterirken, giriş gömme farklı girdilerin ortak bir alanda nasıl ilişkili olduğunu gösterir. Transformatör kategorik özellikleri işlemeden önce, bu araştırma girdi gömülmesini kullanarak onları yoğun vektörlere dönüştürür.
Dikkat mekanizmasının bir genişlemesi olan çoklu kafalı öz-dikkat mekanizması, transformatör mimarisinin temelini oluşturur. Ölçekli nokta çarpımı kullanarak, bu araştırma çok başlı öz-dikkat mekanizmasını kullanmaktadır.
(3)
burada sorgu matrisi (Q), anahtar matrisi (K), değer matrisi (V) ve anahtar matris boyutu (dk) sırasıyla belirtilir. Modelin farklı özelliklerden gelen verilere odaklanmasına izin vererek, farklı alt alanlara eşlenmiş ve böylece farklı dikkat değerleri elde edilmesine olanak tanırken, çok başlı ölçekli nokta-çarpım dikkat mekanizması, ölçekli nokta-çarpım dikkat mekanizmasından farklılaşır. Her kafa için bağımsız olarak dikkat seviyeleri hesaplandığında aşırı uyum olasılığı daha düşüktür. Özel formülasyon şöyledir:
(4)
(5)
Burada h dikkat başı sayısıdır, dv ve dmodeli v ve modelin boyutunu temsil eder. De

Sonrasında, eğitim sürecini stabilize etmek için katman normalizasyonu kullanılır. Gradyent patlamasını önlemek için, katman normalizasyonu her katmanın çıkışını belirli bir aralıkla sınırlar. Modelin yakınsaması ve eğitim hızı bu sayede geliştirilebilir. Toplu normalizasyon toplu verileri dikkate alırken, katman normalizasyonu bunu dikkate almaz.
CNN-Transformer önerdiği model
Bu araştırma, her iki mimarinin ayırt edici avantajlarını göz önünde bulundurarak, IoT ağlarındaki sızdırmaları tespit etmek için hibrit bir CNN-Transformer tekniği sunmaktadır. Şekil 5 , önerilen CNN-Transformer hibrit tekniğinin ana bileşenlerini göstermektedir. Temizlik, normalizasyon, etiket kodlaması ve özellik seçimi dahil olmak üzere tüm ön işleme aşamaları tamamlandıktan sonra, veri setindeki her örnek 30 boyutlu bir özellik vektörü ile temsil edilir; bu vektör Nihai Veri olarak adlandırılır. Aynı Nihai Veriler, hibrit modelin her iki dalına paralel olarak çoğaltılır ve beslenir. Daha sonra, bu Son Veriler aynı anda hem CNN hem de Transformer bloklarına gönderilir. CNN ve transformer hiçbir şekilde birbirine bağımlı değildir; ikisi de aynı girdi veriyle aynı anda çalışabilir. İki dalın (CNN ve Transformer) yassılaştırılmış çıkışları, birleştirilerek birleşmiş bir özellik vektörü oluşturulur ve bu vektör, onları sınıflandıran yoğun katmanlara iletilir. CNN bloğu, giriş şeklini (num_features, 1) olarak değiştirir, böylece özellik boyutları arasında konvolüsyon işlemler yapılarak yerel mekansal desenler bulunabilir. Aynı zamanda, Transformer dalı aynı girişi ardışık bir formata dönüştürür ve daha yüksek boyutlu bir göme alanına gönderir, ardından konumsal kodlama yapılır. Bu, transformatorun özellik alanında kendine dikkat etmesini ve küresel bağlamsal ilişkileri bulmasını sağlar. Transformatörün benzersiz tasarımı özellik çıkarımı için kullanılırken, sigmoid fonksiyonu ve tamamen bağlı katmanlar özellikler ile etiketler arasındaki eşleme bağlantısını sağlar. CNN-Transformer modeli yapısal olarak Şekil 5 ile temsil edilmiştir. Sonuç olarak, saldırıları sınıflandırmak için sekiz kategorili bir sistem ortaya çıkıyor; bunlar DDoS, Recon, DoS, Benign, Web Based, Spoofing, Brute Force ve Mirai'nin bileşenleri olarak kullanılıyor. Önerilen CNN-Transformatorun değerlendirme süreci Şekil 5'te gösterilmiştir.

Şekil 5: Önerilen modelin mimarisi. Şekil, önerilen CNN-Transformatorun giriş şekli ve değerlendirme sürecini göstermektedir. Bu figürün daha büyük bir versiyonunu görmek için lütfen buraya tıklayın.
64 ve 128 birimlik filtrelere ve 3 çekirdek boyutuna sahip iki tek boyutlu konvolüsyon sinir ağı (CNN), iki maksimum havuzlama katmanı, bir düzleştirme adımı, 256, 128 ve 64 birimli üç yoğun katman ve üç dropout katmanı konvolüsyon sinir ağı (CNN) katmanını oluşturur.
Giriş verileri, ReLU aktivasyon fonksiyonu, 64 filtre, 3x3 çekirdek ve ilk katmanda 1x1 adım olan 1D konvolüsyon katman aracılığıyla işlenir. Önceki katmanı takip eden MaxPooling1D katmanı havuz boyutu 2 olarak belirlenir. Modeli daha esnek hale getirmek ve hesaplama maliyetini azaltmak için, bu katman çıktı alanının mekansal boyutlarını azaltır. Üçüncü katman ise bir başka 1D konvolüsyon katmandır; 128 filtre, üç boyutlu bir çekirdek, bir adım ve ReLU adlı bir aktivasyon fonksiyonu vardır. Giriş özelliklerini çıkarmak için daha fazla filtre kullanıldığında, bu katman ilk maksimum havuzlama katmanına benzer. İlk katmanın çıktısı bu teknikle işlenir. Daha sonra, ikinci konvolüsyon katmandan sonra maksimum havuzlama katmanı eklendi ve havuz boyutu da 2 oldu. Yine, bu katman özellik haritalarını aşağı örneklemek için kullanılır. Beşinci katman bir düzleştirme katmanıdır ve önceki katmandan çıkan çıktıyı tek boyutlu bir vektör haline getirir.
Elde edilen özellik alt kümeleri, transformatörün girişi olmadan önce son bir adım olarak gömülüyor. Ayrıca, her başın önemini değerlendirmek için çok başlı dikkat — sekiz başlık, 32 anahtarlı tek boyutlu bir vektör — kullanılır. Çok başlı dikkat katmanı, transformatörün ana bileşenidir. Bu katman, modelin farklı özelliklerin gömülü temsillerinden uyarlanabilir bir şekilde öğrenmesini sağlar. Çok başlı dikkat katmanı, "ölçekli nokta-çarpım dikkati" olarak da adlandırılan birkaç öz-dikkat başlığından oluşur. Epsilon 1e-6 olarak ayarlanmış katman normalizasyonu uygulandıktan sonra, amaç çeşitli özellikler arasındaki ölçek uyumsuzluklarını ortadan kaldırmak ve çıktı kararlılığını sağlamaktır. Her katmanın çıkışını önceden belirlenmiş aralıkta tutarak, katman normalizasyonu gradyan patlama olasılığını azaltır. Transformatörün çıkışını takip eden bir düzleştirme katmanı bulunur; bu katman, CNN ile kombinasyonunu basitleştirerek tek bir vektöre indirgenir.
Sonraki adım, CNN ve Transformer'ın düzleştirilmiş çıkışlarını birleştirme katmanı kullanarak birleştirmektir. Aktivasyon fonksiyonu "relu", L2 düzenleme ve 256 birimlik yoğun bir tabaka düzleştirilmiş tabakayı takip eder. Bunu 0.5 oranında bir dropout katmanı takip eder, bu da aşırı uyumu önlemeye yardımcı olur. L2 düzenleme ve "relu" aktivasyon fonksiyonu kullanılarak ek olarak 128 birimlik yoğun bir katman gelir. Ek bir katlanma katmanında ayrılma oranı 0.3'tür. ReLU aktivasyon fonksiyonu, L2 düzenleme ve 64 birimlik yoğun bir katman sonraki katmanı oluşturur. Sonraki katman, içindeki birimlerin %20'sini rastgele ortadan kaldıran 0.2 oranında bir çıkma katmanı şeklindedir. Softmax aktivasyon fonksiyonuna sahip yoğun bir katman, son katmanın çıktı sınıfları için olasılık dağılımı oluşturur. Bu katmanda çıktı sınıfları kadar birim var.
Önerilen model aşağıdaki gibi sayısal olarak ifade edilebilir:
X, CNN giriş verisi olsun, burada yeniden şekillendirildikten sonra X
R(n×1) ve n sırasıyla seçilmiş özelliklerin sayısıdır. X, Transformer bloğu için R(n × d_model) şeklindeki daha yüksek boyutlu bir göme alanına yerleştirilir. Kendine dikkat mekanizmasına geçmeden önce, konumsal kodlama kullanılır.
Aşağıda, 64 filtre ve 3 çekirdek boyutu kullanan Conv1D katmanındaki işlemin ifadesi verilmiştir:
(6)
burada Yi,j, i filtrenin j konumundaki çıktı, k 3 boyutlu çekirdek, b1
R64 her filtre için yanlılık terimi, Wk filtre ağırlıklarını temsil eder ve ReLU aktivasyon fonksiyonudur. Sonra, MaxPooling katmanı 2 havuz boyutuyla uygulanır ve Z1,j çıktısı elde edilir.
(7)
Modelin üçüncü katmanı olarak 3 çekirdek boyutu ve 128 filtreli ekstra bir ID konvolüsyon katmanı da dahil edilmiştir; İfadesi şöyledir:
(8)
Burada k, 3 boyutlu çekirdek, b2
R128 her filtre için önyargı terimi, ReLU ise aktivasyon fonksiyonudur. Başka bir maksimum havuz katmanı uygulanır, girdi havuz boyutu 2 olan ikinci konvolüsyon katmanından alınır. Z2,j çıktısı şu şekilde verilir:
(9)
Beşinci katman, şu şekilde ifade edilen bir düzleştirme katmanıdır:
(10)
Sonra, göme katmanı, çoklu başlı dikkat katmanı ve katman normalizasyonunu içeren transformator katmanları gelir
(11)
E, giriş sınıfı etiketi c için gömü vektörü, We ise tüm kategoriler için gömü vektörlerini içeren ağırlık matrisidir. Bu, c'deki her tam sayıyı 32 gerçek değerli bileşenden oluşan yoğun bir vektörle eşler. Sırada, Denklem (3),(4) ve (5)'te formüle edildiği gibi çok başlı bir dikkat katmanı vardır.
Anahtar matrisin boyutu dk =32 ve boyutu h=8 şeklindedir. dv ve dmodeli , v'ler ve modelin ilgili boyutlarını ifade eder. De 
x = MultiHead(Q,K,V) çıktısı için, katman normalizasyonu şunları sağlar:
(12)
Burada y normalize çıktı, γ ve β öğrenilebilir parametrelerdir ve μ ile σ2 sırasıyla x için ortalama ve varyansı gösterir. Sonra, transformatör için düzleştirici katman olarak tanımlanır

Tüm katmanların sonunda, ortaya çıkan ifade şu şekilde gösterilir








burada z1
r256, z2
r128, z3
r64 ve y
r8. Bu hibrit model ayrıca çoklu sınıflandırma için kayıp fonksiyonunu da hesaplar ve bu fonksiyon şu şekilde ifade edilebilir

nerede:
Yc , cc sınıfı için gerçek etiketi (tek sıcak kodlu) temsil eder,
Y'c, c sınıfı için tahmin edilen olasılıktır
Önerilen algoritma, Tablo 3'te ayrıntılı olarak açıklanmıştır.
Tablo 3: Önerilen CNN-Transformer algoritması. Önerilen algoritma, Tablo 3'te adım adım açıklanmıştır. Bu tabloyu indirmek için lütfen buraya tıklayın.