chore: checkpoint PROTEAN research planning and architecture

This commit is contained in:
willtanoe committed 2026-09-24 17:08:56 +00:00
commit 2cc6a9859e
22 files changed
+2138

No files matched your search

+118
View File
@@ -0,0 +1,118 @@
# Optimasi Agregasi Prototype pada PROTEAN melalui Pembobotan Berbasis Dukungan Sampel Kelas untuk Deteksi Serangan Langka pada Data Non-IID
Optimizing Prototype Aggregation in PROTEAN through Class-Sample-Support Weighting for Rare Attack Detection under Non-IID Data Distributions
Nama: Muhamad Wildan Rizky
NIM: 20102520001
## 1. Dasar Pemilihan Fokus Penelitian
PROTEAN dipilih karena dirancang untuk federated intrusion detection pada data non-IID, termasuk ketika jenis serangan tertentu jarang ditemukan atau tidak tersedia pada sebagian klien. Metode ini menggabungkan pertukaran class prototype dengan model aggregation untuk mendukung pembelajaran antarklien (Chennoufi et al., 2025).
Penelitian ini berfokus pada prototype aggregation di server. Bagian ini dipilih karena global prototype berperan dalam dua proses: sebagai acuan prototype alignment selama training dan sebagai pembanding embedding saat inferensi. Dengan demikian, cara server menggabungkan local prototype dapat memengaruhi representasi kelas sekaligus keputusan deteksi.
Persamaan (2) PROTEAN memberi kontribusi yang sama kepada local prototype, sedangkan jumlah sampel yang membentuknya dapat berbeda antarklien. Perbedaan ini menjadi dasar untuk menguji pembobotan berdasarkan dukungan sampel kelas. Manfaat pembobotan tersebut masih perlu dibuktikan melalui eksperimen.
## 2. Mekanisme PROTEAN
### Pembentukan local prototype
Klien melatih model dengan data lokal. Untuk kelas j yang memiliki Nᵢⱼ > 0 sampel pada klien i, local prototype Cᵢⱼ merupakan rata-rata embedding sampel kelas tersebut, sebagaimana dituliskan pada Persamaan (1) PROTEAN. Dengan zᵢⱼₖ sebagai embedding sampel ke-k, rumusnya dapat ditulis sebagai:
Cᵢⱼ = (1 / Nᵢⱼ) Σₖ zᵢⱼₖ
### Agregasi di server
Klien mengirim parameter model dan local prototype ke server. Persamaan (2) pada paper menuliskan agregasi keduanya sebagai rata-rata dari M peserta. Untuk global prototype kelas j, rumusnya adalah:
C̄ⱼ = (1 / M) Σᵢ₌₁ᴹ Cᵢⱼ
Gambar 1 menggunakan istilah “Weighted averaging”, tetapi Persamaan (2) tidak memuat bobot berdasarkan Nᵢⱼ. Karena itu, rujukan formal untuk pembahasan agregasi dalam penelitian ini adalah persamaan tersebut.
### Pembelajaran lokal berikutnya
Server mengirim model global dan global prototype kembali ke klien. Objective pada Persamaan (3) menggabungkan classification loss, prototype alignment, dan model parameter alignment. Ketiganya digunakan untuk melatih model lokal pada communication round berikutnya.
### Inferensi
Pada Bagian 3.2, paper menjelaskan bahwa sampel baru diberi label berdasarkan global prototype dengan jarak L² terkecil terhadap embedding sampel tersebut. Karena itu, perubahan posisi global prototype dapat langsung memengaruhi hasil klasifikasi.
## 3. Baseline dan Penanganan Kelas yang Tidak Tersedia
Baseline utama adalah reproduksi PROTEAN. Sebelum eksperimen, implementasi agregasi perlu diperiksa, terutama ketika suatu klien tidak memiliki sampel kelas j. Persamaan (2) memakai M peserta, tetapi rumus itu sendiri belum menjelaskan perlakuan terhadap prototype kelas yang tidak tersedia.
Agregasi hanya dari klien yang memiliki kelas j tidak langsung dianggap identik dengan baseline PROTEAN. Jika aturan tersebut diperlukan dalam implementasi penelitian, perbedaannya harus dicatat dan diuji secara terpisah. Dengan demikian, pengaruh perubahan peserta agregasi tidak tercampur dengan pengaruh perubahan bobot.
Dalam formulasi usulan, Sⱼ menyatakan kumpulan klien yang menyumbang local prototype kelas j dari sampel kelas yang benar-benar tersedia pada round tersebut. Setiap anggota Sⱼ memiliki Nᵢⱼ > 0. Definisi ini berlaku untuk usulan penelitian; kesesuaiannya dengan implementasi asli tetap harus diverifikasi.
## 4. Masalah yang Diteliti
Local prototype merangkum embedding dari sejumlah sampel kelas. Ketika Nᵢⱼ berbeda antarklien, equal weighting memberi kontribusi yang sama kepada ringkasan yang dibentuk dari jumlah observasi berbeda. Pembobotan berdasarkan Nᵢⱼ dapat menggeser global prototype, tetapi pergeseran tersebut belum tentu meningkatkan deteksi.
Nᵢⱼ digunakan sebagai ukuran dukungan sampel, bukan ground-truth quality score. Prototype dari sedikit sampel belum tentu buruk, dan prototype dari banyak sampel belum tentu lebih mewakili variasi serangan yang ingin dideteksi.
Hipotesis penelitian adalah bahwa pengaruh pembobotan bergantung pada ketimpangan dukungan sampel dan perbedaan local prototype antarklien. Eksperimen perlu menunjukkan kapan pembobotan membantu deteksi kelas langka, kapan pengaruhnya kecil, dan kapan pembobotan justru merugikan klien tertentu.
## 5. Mekanisme Agregasi yang Diusulkan
Usulan penelitian mengatur kekuatan pembobotan dukungan sampel melalui parameter β. Bobot klien i untuk kelas j ditentukan oleh wᵢⱼ = Nᵢⱼᵝ, dengan 0 ≤ β ≤ 1. Global prototype dihitung sebagai:
C̄ⱼ(β) = [Σᵢ∈Sⱼ Nᵢⱼᵝ Cᵢⱼ] / [Σᵢ∈Sⱼ Nᵢⱼᵝ]
Pada β = 0, semua klien dalam Sⱼ memiliki bobot sama. Nilai ini menjadi kontrol equal weighting untuk formulasi usulan. Nilai β = 0 hanya dapat disebut identik dengan baseline PROTEAN jika peserta agregasi dan penanganan kelas yang tidak tersedia juga sama.
Pada β = 1, kontribusi sebanding dengan jumlah sampel kelas. Karena local prototype merupakan rata-rata embedding, hasil agregasinya setara dengan rata-rata seluruh embedding lokal kelas j yang disertakan pada round tersebut. Nilai 0 < β < 1 memberi pengaruh dukungan sampel yang lebih moderat.
Rumus dengan β merupakan usulan penelitian. Informasi Nᵢⱼ diperlukan sebagai metadata agregasi; embedding tiap sampel tidak perlu dikirim ke server.
## 6. Kondisi yang Memengaruhi Hasil Pembobotan
Equal weighting memberi pengaruh yang sama kepada setiap klien penyumbang prototype. Sebaliknya, semakin besar β, semakin besar pengaruh klien dengan Nᵢⱼ yang tinggi. Pilihan ini dapat memperkuat representasi dari banyak observasi, tetapi juga dapat mengurangi pengaruh variasi serangan yang hanya ditemukan pada klien dengan sedikit sampel.
Jika hanya satu klien yang menyumbang prototype kelas j, hasil agregasi tetap Cᵢⱼ untuk semua nilai β. Untuk local prototype yang sama, pembobotan juga tidak mengubah hasil ketika jumlah sampel seluruh klien dalam Sⱼ sama. Artinya, perubahan β tidak selalu menghasilkan global prototype yang berbeda.
Batas tersebut berlaku pada satu langkah agregasi dengan local prototype yang tetap. Dalam training berulang, perubahan pada kelas lain masih mungkin memengaruhi model dan embedding. Oleh karena itu, efek langsung pembobotan dan perubahan kinerja setelah training perlu dianalisis secara terpisah.
## 7. Parameter dan Sasaran Optimasi
Parameter utama yang dicari adalah β. Pengujian awal menggunakan β ∈ {0; 0,25; 0,5; 0,75; 1}. Satu nilai β digunakan untuk seluruh kelas dan klien dalam satu eksperimen. Untuk setiap kondisi non-IID, β dipilih berdasarkan macro-F1 rare class pada validation set. Skor dihitung per klien yang memiliki rare class, lalu dirata-ratakan antarklien dan antar-random seed.
Optimasi dalam rancangan ini dilakukan melalui pencarian pada kandidat β tersebut. Nilai yang dipilih adalah yang terbaik di antara kandidat yang diuji, bukan klaim optimum global. Test set digunakan setelah pemilihan β selesai. Macro-F1 keseluruhan, recall rare class, dan hasil per klien tetap dilaporkan untuk menilai konsekuensi pilihan tersebut.
Learning rate, jumlah communication round, local epoch, batch size, arsitektur model, serta parameter loss dibuat sama dalam setiap perbandingan. Partisi data dan random seed juga dipasangkan agar perubahan hasil dapat ditelusuri ke mekanisme agregasi.
## 8. Pertanyaan Penelitian
RQ1. Bagaimana hubungan antara ketimpangan dukungan sampel kelas, perbedaan local prototype, dan kinerja deteksi kelas langka pada PROTEAN?
RQ2. Bagaimana perubahan β memengaruhi global prototype dan kinerja deteksi kelas langka pada kondisi non-IID yang berbeda?
RQ3. Apakah nilai β yang dipilih melalui validasi berubah pada tingkat ketimpangan yang berbeda, dan apa dampaknya terhadap kinerja keseluruhan serta hasil per klien?
## 9. Rancangan Evaluasi
Evaluasi menggunakan X-IIoTID dan 5G-NIDD. Mengikuti kondisi eksperimen PROTEAN, partisi awal menggunakan Dirichlet dengan α sebesar 0,75; 0,5; dan 0,25. Data training, validasi, dan pengujian dipisahkan. Kelas langka ditentukan dari data training sebelum pemilihan β.
Paper PROTEAN mengevaluasi dua kelas serangan dengan sampel training paling sedikit pada setiap klien dan membahas kelas yang tidak terlihat saat training dalam evaluasi zero-shot. Dalam penelitian ini, rare class adalah dua kelas serangan dengan jumlah sampel training paling sedikit di antara kelas yang tersedia pada klien tersebut (Nᵢⱼ > 0). Jika hanya satu kelas serangan yang tersedia, kelas itu yang dievaluasi. Kelas serangan dengan Nᵢⱼ = 0 dianalisis sebagai unseen class. Klien tanpa sampel serangan pada training tidak masuk perhitungan rare class. Pemisahan ini merupakan definisi operasional penelitian dan perlu dicatat saat membandingkan hasil dengan paper.
Baseline PROTEAN dibandingkan dengan formulasi usulan pada seluruh kandidat β. Jika penanganan kelas yang tidak tersedia pada baseline berbeda dari definisi Sⱼ, equal weighting pada Sⱼ digunakan sebagai kontrol tambahan. Dengan kontrol ini, perbedaan akibat peserta agregasi dapat dibedakan dari perbedaan akibat bobot.
Untuk setiap partisi, catat total sampel per kelas, jumlah klien yang memiliki kelas tersebut, dan ketimpangan Nᵢⱼ di antara klien penyumbang prototype. Nilai α saja tidak cukup untuk menjelaskan kondisi data karena random seed yang berbeda dapat menghasilkan distribusi yang berbeda.
Efek langsung pembobotan diperiksa dengan menghitung kandidat global prototype dari kumpulan local prototype yang sama pada round yang sama. Evaluasi training lengkap kemudian mengukur F1 dan recall rare class, macro-F1 keseluruhan, serta hasil per klien. Evaluasi diulang pada beberapa random seed dan dilaporkan sebagai rata-rata beserta variasinya. Komposisi validation set dan test set perlu dicatat agar metrik kelas langka tidak ditafsirkan tanpa melihat jumlah sampel evaluasinya.
## 10. Kontribusi yang Ditargetkan
Penelitian menargetkan analisis tentang kondisi ketika pembobotan dukungan sampel membantu atau merugikan prototype aggregation pada PROTEAN. Hasil yang dicari mencakup pengaruh β terhadap representasi global, kinerja kelas langka, dan klien dengan dukungan sampel kecil, serta pemilihan β berdasarkan validasi pada kondisi non-IID yang berbeda.
Pembobotan prototype yang melibatkan jumlah sampel kelas sudah dibahas dalam FedProto (Tan et al., 2022). Karena itu, kebaruan tidak dapat ditetapkan hanya dari penggunaan Nᵢⱼ atau penambahan β. Kontribusi perlu ditunjukkan melalui perbedaan mekanisme, temuan tentang perilakunya, dan bukti eksperimen dibandingkan penelitian terkait.
## 11. Batas Fokus Penelitian
Modifikasi difokuskan pada prototype aggregation di server. Arsitektur embedding, model aggregation, fungsi loss beserta λ dan μ, serta aturan inferensi mengikuti baseline yang telah diverifikasi. Eksperimen mempertahankan pengaturan tersebut agar dampak pembobotan dapat diinterpretasikan dengan jelas.
## Daftar Pustaka
Chennoufi, S., Han, Y., Blanc, G., De Cristofaro, E., & Kiennert, C. (2025). PROTEAN: Federated Intrusion Detection in Non-IID Environments through Prototype-Based Knowledge Sharing. Proceedings of the 30th European Symposium on Research in Computer Security (ESORICS 2025). arXiv:2507.05524v1.
Tan, Y., Long, G., Liu, L., Zhou, T., Lu, Q., Jiang, J., & Zhang, C. (2022). FedProto: Federated Prototype Learning across Heterogeneous Clients. Proceedings of the AAAI Conference on Artificial Intelligence, 36(8), 8432–8440.