情報処理学会研究報告
IPSJ SIG Technical Report

同一環境下における機械学習アルゴリズムの侵入検知精度比較評価
田河雅輝 ,a)

山森 一人 ,b)

齊藤

燎3,c)

概要：NIDS（Network Intrusion Detection System）で用いられる機械学習アルゴリズムの性能を同一環
境下で比較評価する．計 7 種の機械学習アルゴリズムを取り上げ，同一環境下で，学習サンプル数が十分な場合と乏しい場合の二つに加えて，学習サンプル中の攻撃通信と通常通信の割合が変化した時の攻撃検
出精度についても評価する．実験の結果，Catboost の精度が最も優れており，大量のサンプル数を利用できる場合は LightGBM が，少数サンプルしか利用できない場合は SAINT+PLE が良好な精度を示した．
キーワード：機械学習，分類学習，システムセキュリティ，決定木，深層学習

Comparative of machine learning algorithms for NIDS
under the same environment
Abstract: This study compares the performance of machine learning algorithms for NIDS (Network Intrusion Detection System) in the same environment. We pick up 7 machine learning algorithms in three cases.
The first is a rich training sample case, the second is a less training sample case. The last is changing theratio of attack/normal ratio in the training samples. Experiments showed that CatBoost performed the best
accuracy, LightGBM and SAINT+PLE for rich and less training samples, respectively.
Keywords: machine learning, classification learning, system security, decision tree, deep learning

1. はじめにの連通信を検知することが重要な課題になる．大量かつ短期間で変化するサイバー攻撃に対応するために，機械学習

5G などの高速ネットワーク技術の普及や，新型コロナを用いて NIDS（Network Intrusion Detection System）のウイルス流行時の遠隔勤務の一般化などにより，ネット

性能を向上させようとする研究 [2-5] が行われている．こワークトラフィックが増加している．ネットワークトラ

れらの研究は独自の環境に基づいており，同じ条件での比フィックの増加に伴い，サイバー攻撃関連の通信も増加す較は十分ではない．本研究では，NIDS への適用を前提に，る一方である．総務省 [1] によると，2021 年にはサイバー

データセットやそれに含まれる攻撃サンプルの割合などの攻撃関連の通信は 5,180 億パケットにまで達している．コ

条件を揃えて，同一環境下での機械学習アルゴリズムの比

ンピュータの安全性を確保するためには，サイバー攻撃関較調査を行うことを目的とする．
本研究では，GBDT（Gradient-Boosting-Decision-Tree）

1

2

3

a)
b)
c)

宮崎大学 工学研究科
Graduate School of Engineering,University of Miyazaki,
Japan
宮崎大学工学教育研究部
Faculty of Engineering, University of Miyazaki, Japan
宮崎大学 農学工学総合研究科
Interdisciplinary Graduate school of Agriculture and Engineering, University of Miyazaki, Japanhm17027@student.miyazaki-u.ac.jp
yamamori@cs.miyazaki-u.ac.jp
saitou@taurus.cs.miyazaki-u.ac.jp

c 1959 Information Processing Society of Japan⃝系のアルゴリズムから 3 種類，深層学習系アルゴリズムからから 2 種類を採り上げ，同一環境下で評価する．GBDT ア
ルゴリズムからは XGBoost[6]，LightGBM[7]，CatBoost[8]を ，深 層 学 習 系 ア ル ゴ リ ズ ム か ら は SAINT（Self At-

tention and INtersample attention Transformer）[9]，FTTransformer（Feature Tokenizer-Transformer）[10] を選定している．さらに数値特徴量のベクトル化に PLE（Piece-1

情報処理学会研究報告
IPSJ SIG Technical Reportwise Linear Encoding）[11] を組み合わせた SAINT+PLE，
FT-Transformer+PLE も比較対象に含めて，計 7 種の機
械学習アルゴリズムで比較を行う．

2.3 CatBoost
CatBoost[8] は，非数値特徴量であるカテゴリ特徴量の処理に優れたアルゴリズムであり，カテゴリ特徴量をラベ比較実験では，学習サンプル数が十分な場合と乏しい場

ル y の期待値に変換する TS(Target statistics) を改良した合の二つに加えて，学習サンプルの攻撃通信と通常通信のOrdered TS を用いる．一般に，TS を使うと過学習を起こ

割合が変化した時の検出精度についても評価する．

しやすいので，過学習を防ぐために Ordered TS が用いられる．

2. 比較対象の機械学習アルゴリズム

サンプル数 N の k 番目のサンプルの，あるカテゴリ特徴量を ck ，ラベルを yk とした時，TS による ck の変換結

2.1 XGBoost
XGBoost[6] は，0 の要素が多い疎なデータや，欠損値のあるデータに対しても考慮したアルゴリズムである．具
体的には，分岐の際に 0 か欠損値を持つサンプルは，予め決まったノードに振り分けられるように設定することで，これらのサンプルに対処する．XGboost は過学習を防ぐために，正則化項に加えて Column Subsampling とShrinkage[12] 二つの手法を用いる．
Column Subsampling は学習中に入力サンプルのすべての特徴量を用いず，ランダムに採用する手法である．一方，すべてのサンプルからランダムに選択する手法を Row

果 ĉk (1 ≤ k ≤ N ) を式 (2) に示す．
∑N1{ck = ci }yiĉk = ∑Ni=1
i=1 1{ck = ci } + ε.

(2)

ここで，ε は分母が 0 にならないようにするための微小な数値であり，1{ck = ci } は ck = ci のとき 1 をとる関数
である．Ordered TS での，カテゴリ特徴量 ck の変換結果

ĉσk は式 (3) となる．
∑k−1
i=1 1{ck = ci }yiĉσk = ∑k−1
i=1 1{ck = ci } + ε.

(3)Subsampling と言い，併用が可能である．特徴量やサンプ

TS では最初のサンプルから最後のサンプルまでの，ある

ルをランダムに選択することで，学習サンプルに対する過カテゴリ特徴量の出現回数を用いるのに対して，OrderedTS

学習を防ぐ効果がある．

は変換対象の一つ前の (k − 1) 番目までの出現回数を用い

XGBoost の予測値 ŷit を求める際に，各弱学習器の出力る点に違いがある．TS の場合はカテゴリ特徴量が同じな

fj (xi ) にハイパーパラメータ η(0 < η < 1) を乗じて損失

ら同じ数値となるが，OrderedTS の場合は同じカテゴリ特関数の値を小さくし，結果として目的関数の値も小さくし徴量でもその期待値はサンプルの出現位置により異なる値て各弱学習器の影響を抑える，Shrinkage と呼ばれる手法になる．

を用いることがある．Shrinkage を踏まえた予測値 ŷit を式(1) に表す．

2.4 FT-Transformer
FT-Transformer[10] は，自然言語処理に向けて開発さ

ŷit

=

η

∑t

j=1 fj (xi ).

(1)

れた深層学習系アルゴリズムである BERT[13] と Trans-

former[14] の構造を参考に開発された，表形式データ用の深層学習系アルゴリズムであり，1 サンプルの特徴量間のη が小さ過ぎると学習の進みが遅くなり，学習にかかる時類似度を考慮している．どのようなサンプルを学習するか間が増加することに注意が必要である．

予習させる事前学習は行わない．

2.2 LightGBM

2.5 SAINTLightGBM[7] は ，学 習 速 度 が 極 め て 速 い こ と が 特 徴

SAINT[9] は表形式データ用深層学習系アルゴリズムのの GBDT ア ル ゴ リ ズ ム で あ る ．高 速 な 学 習 を 実 現 す

一つで，FT-Transformer 同様に BERT と Transformer をるために，GOSS(Gradient-based One-Side Sampling) とベースにしている．SAINT は 1 サンプルの特徴量間の類

EFB(Exclusive Feature Bundling) の二つの手法が用いら似度だけでなく，サンプル間の類似度も考慮している．まれている．

た，事前学習を採り入れ，事前学習後に問題タスクへの調GOSS はパラメータ変動に対する勾配が大きい上位 a%

整 (Fine-Tuning) を行うアルゴリズムとなっている．

のサンプルを，残ったサンプルから b% をランダムに選択し学習を行う手法であり，すべての学習サンプルを学習しない分，学習速度が上昇する．

2.6 PLE
PLE(Piecewise Linear Encoding) は数値特徴量を one-

EFB は二つの特徴量を特徴量を一つにまとめる手法で

hot 表現に類似した形式にエンコードする手法である．

あり，特徴量が減る分しきい値の候補が減り，その分学習

one-hot 表現とは，一つの成分が 1 で残りすべてが 0 に速度が上昇する．

なる表現であり，カテゴリ特徴によく用いられる．例え

c 1959 Information Processing Society of Japan⃝2

情報処理学会研究報告
IPSJ SIG Technical Report
表 1

b1

b0
e1

b2
b3
b4
e2 e3 x
e4

....

b0

e1

....

bt

e2

e3

bT

e4

x-b2
b3-b2

1 1

e t=

0

0,
if
x < bt−11,if
x ≥ bt(x-bt-1 )/(bt- bt-1 ),otherwise
w11 , w12…………w1d・ple(x)∊ℝ1×4

数値特徴とカテゴリ特徴に対する前処理．
数値特徴
カテゴリ特徴CatB無し

Label-Encode

LGB

無し

Label-Encode

XGB

無し

One-Hot-Encode

SAINT

Min-Max-Scaler

Label-Encode無し

Label-Encode

FTT

Min-Max-Scaler

Label-Encode

FTT+

無し

Label-Encode

SAINT+

w21 , w22…………w2d
w31 , w32…………w3d

特徴量の最大値を 1，最小値を 0 になるように変換する

w41 , w42…………w4d

Min-Max-Scaler で正規化を行い，他の場合では前処理無w∊ℝ4×d

しで学習を行う．カテゴリ特徴量には Label-Encode で
各カテゴリを整数に変換する．Label-Encode は，例え

図 1ば ‘black’，‘white’，‘red’ といったカテゴリがある場合，

PLE によるベクトル化の例．

‘black’: 0，‘white’: 1，‘red’: 2 に変換するエンコードであば，ある特徴量に 4 つのカテゴリ A，B，C，D があり，る．カテゴリ特徴量を扱えない XGBoost は one-hot 表現

これらを one-hot 表現にすると，A:(1,0,0,0)， B:(0,1,0,0)，で整数化する．

C:(0,0,1,0)， D:(0,0,0,1) のようになる．PLE では予め二GBDT 系アルゴリズムのパラメータはライブラリのデ

つの値の区間 Bt = [bt−1 , bt ) を t(1 ≤ t ≤ T ) 個用意し，数フォルトを用い，深層学習系アルゴリズムのパラメータも値特徴量 x が bt 以上の時 et = 1，bt−1 未満の時 et = 0，

原著論文の推奨パラメータで使用する．深層学習系アルゴ

bt−1 ≤ x ≤ bt の時 et = (x − bt−1 )/(bt − bt−1 ) にエンコー

リズムのエポック数は事前学習，Fine-Tuning 共に 100 回ドする．

に固定する．対象とする問題は，通信を通常と攻撃の二つ

PLE によるベクトル化の例を図 1 に示す．図 1 の場合
は区間が 4 つあるので P LE(x) は 4 次元のベクトルになに分類するので二値分類として扱い，分類のしきい値は 0.5とする．

るが，P LE(x) は区間数 T に従い次元数が変わるので，一

一般に，二値分類問題の評価には図 2 に示す混同行列を

般に T 次元のベクトルになる．x を PLE によりベクトル

用いる．本研究では NSL-KDD のサンプルを攻撃通信，通化した v は式 (4) で定義される．

常通信に分けることになり，行方向に正解ラベル，列方向v=

P LE(x) · W + bias.

(4)

ここで，W ∈ RT ×d の重み，bias ∈ Rd はバイアスである．
二つの値の区間 Bt = [bt−1 , bt ) の決め方について説明する．区間 Bt = [bt−1 , bt ) はサンプルの各特徴を昇順に並び替え，データを T 分割した際の区切りである分位数を btに予測結果を並べた行列になる．各アルゴリズムの評価に用いる正解率と F 値の定義は以下の通りである．

Acc=

F − measure=

T P +T N
T P +T N +F P +F N × 100,
2T P
2T P +F P +F N × 100.

(5)上式で TP，TN，FP，FN は図 2 に示した通りである．

に用いる．本研究で用いる NSL-KDD[15] データセットは

正解率は全サンプル中でラベルと予測結果が一致する割

各特徴量に 0 が多いので，分位数が重複する．bt が重複し合を表す．F 値は，攻撃のラベルが付与されたサンプルのうた場合は，重複を一つにまとめて昇順に並び替え，分位数

P
ち，攻撃と予測されたものの割合を指す再現率 T PT+F
N ×100をとる．もし重複を一つにまとめた結果データ数が T 未満と，攻撃と予測したサンプルのうち，実際に攻撃のラベルになり，T 個の分位数が取れない場合は，最小値と最大値Pを持つサンプルの割合を指す適合率 T PT+F
P × 100 のバラの間から等間隔で t 分割する．本研究では，T = 4 で比較

ンスを評価できる指標で，両方がバランス良く高いと F 値実験を行う．

も高くなる．

3. 比較実験
3.1 実験環境
NSL-KDD デ ー タ セ ッ ト を 用 い ，CatBoost(CatB)，

AUROC は，通常通信と攻撃通信を分類する際のしきP
い値 θ を 0 から 1 まで変動させて，T P R = T PT+F
N を
P
縦軸に，F P R = F PF+T
N を横軸にプロットした曲線と，

F P R = 1 の直線で囲まれる部分の面積である．面積を最LightGBM(LGB)，XGBoost(XGB)，SAINT，大とする θ の時が最も誤りなく分離できている状態を指す

SAINT+PLE(SAINT+)，FT-Transformer(FTT)，

ので，AUROC は 1 に近いほど良い．図 3 に AUROC の

FTT+PLE(FTT+) の 計 七 種 に つ い て 比 較 評 価 を 行

概念を示す．

う．各機械学習アルゴリズムにおける前処理を表 1 に示

評価では，正解率と F 値，AUROC の順位に基づいて評す．数値特徴量の前処理は，PLE を用いない場合には価点を与える．評価点の付け方は，各実験でのアルゴリズ

c 1959 Information Processing Society of Japan⃝3

情報処理学会研究報告
IPSJ SIG Technical Report
表 2
CPU

予測

使用したハードウェアと言語．
Intel(R) Core(TM) i7-7700 CPU

メモリ

16.0 GB

GPGPU

通常
真
の
値

攻撃

OS

通常

TN
(True Negative)

FP(False Positive)

攻撃

FN(False Negative)

TP(True Positive)

使用言語

python 3.8.8

開発環境

VScode 1.74.3

表 3

図 2

混同行列の例．

TPR
θ=0.8

NVIDIA Quadro M4000 8.0GB
Windows 10 Pro, build 19044.2486

使用したパッケージとバージョン．
packageCatB

catboost 1.0.6

LGB

lightgbm 3.3.2

XGB

xgboost 1.6.1

SAINT

pytorch 1.12.1 で自作

SAINT+

pytorch 1.12.1 で自作

FTT

pytorch 1.12.1 で自作

FTT+

pytorch 1.12.1 で自作

θ=1.0

セットとして利用する手法である．分割数は 6 で学習用

1.0
θ=0.6

データセット 56 ，個数でいうと 104,977 個を学習に使い，

θ=0.4

テストデータは用意されている 22,544 個のをそのまま用いる．サブセットの組み合わせを替えつつ 6 回の学習，テストを行い，結果をまとめる．
θ：しきい値

θ=0.2

実験により得た各評価指標の平均を図 4 に示す．正解率 (Accuracy) は上位から FTT，LGB，CatB の順になり，

AUROC

F 値 (以下，図中では F-measure で表す) は FTT，LGB，SAINT，AUROC は CatB，XGB，SAINT+の順となり，総合評価は CatB が 1 位，LGB が 2 位，同点で XGB と
FPR
1.0

FTT が 3 位となった．
この結果から，サンプル数が大量にある場合では CatB，LGB，XGB，FTT が比較的良い精度を示すことが分かっ
図 3

AUROC の定義．

た．FTT が高い性能を示している一方で，FTT+の性能が振るわないのは，PLE により特徴量の次元が増えた分，予

ムごとに，(アルゴリズムの数 (7) ‐順位) とする．例えば，

測を阻害する余計な情報までも学習したためだと考えられ

1 位のアルゴリズムには (7 − 1) で 6 点，2 位のアルゴリズ

る．Leo ら [16] は，「表形式データには無駄な特徴量が含

ムには (7 − 2) で 5 点と，順位が下がるにつれて 1 点づつまれていた場合，深層学習のモデルは役に立たない特徴量減少させる．最下位のアルゴリズムは 0 点になる．

も無視できずに使い学習を行うため，従来の木構造の機械

正解率と F 値，AUROC の総合評価では，各評価点を合算した上位 3 つのアルゴリズムに◎，最下位に △，それ以
外には ⃝ で表す．

学習アルゴリズムに敵わない」と指摘している．

LGB の正解率と F 値が比較的に高かったことについて考える．正解率と F 値の定義から，正解率と F 値が大き各アルゴリズムは python3.8.8 で記述し，Microsoft Win-

くなるのは分子が大きいか分母が小さいかのどちらかであdows 10 上に実装した．実験に用いたハードウェア環境をる．分母は予測の度に変わることはないので，正解率と F

表 2 に，実装に使用した機械学習アルゴリズムのソフト

値の両方の分子に現れる TP が高いと推測できる．TP がウェアパッケージを表 3 にまとめる．

大きくなる理由については，今回の実験では明らかにするまでには至らず今後の調査が必要である．

3.2 実験 1: 大量サンプル数での比較実験
サンプル数が大量に用意できる場合について評価する．

3.3 実験 2: 少数サンプル数での比較実験

評価では分割交差検証を行う．分割交差検証とは，学習サンプル数を減らした時にどの程度精度を維持できる

データセットを複数のサブセットに分割し，サブセット内

か，サンプル数の減少に対する頑健性を評価する．サンプの一つを検証データセットとして用い，他を学習データ

ル数は少ない順に 10，100，1,000，10,000 個とし，学習とc 1959 Information Processing Society of Japan⃝4

情報処理学会研究報告
IPSJ SIG Technical Report

図 4

CatB
LGB
XGB
SAINT
SAINT+FTT
FTT+

Accuracy(%)

F-measure(%)

AUROC(%)

Accuracy rate

Result

100
95
90
85
80
75
70
65
60

サンプルが大量に準備できる場合の各評価指標． 正解率:Ac-

curacy，F 値:F-measure，AUROC:AUROC，y 軸:%．
サンプルが大量に準備できた場合の各アルゴリズムの評価点
図 5と総合評価．
正解率

F値

AUROC

総合評価

CatB

4

3

6

◎

LGB

5

5

3

◎

XGB

2

2

5

◎

SAINT

3

4

2

⃝

SAINT+

1

1

4

⃝

FTT

6

6

1

◎

FTT+

0

0

0

△

予測を 10 回行い，各指標の平均を求めて，順位をもとに評価点を与える．入力するサンプルは試行回ごとにランダムで取得するが，同一試行回で各アルゴリズムに入力する
サンプルは同じものにする．
正解率の変化を示す図 5 では，サンプル数 10 での正解
率は CatB，XGB，SAINT，SAINT+が比較的に高く，サAccuracy(%)

100

1000

number of samples

CatB
LGB
XGB
SAINT
SAINT+
FTT
FTT+

10000

サンプル数を変化させたときの正解率の推移．x 軸: 学習サン
プル数， y 軸: 正解率 (%)．

F-measure

表 4

85
80
75
70
65
60
55
50
45 10

図 6

80
70
60
50
40
30
20 10

F-measure(%)

100

1000

number of samples

CatB
LGB
XGB
SAINT
SAINT+
FTT
FTT+

10000

サンプル数を変化させたときの F 値の推移．x 軸: 学習サンプ
ル数， y 軸:F 値 (%)．

ンプル数 100 で LGB，FTT，FTT+の正解率が上昇する
が，FTT と FTT+はやや低い．十分なサンプル数がある

FTT+はサンプル数を増やしても AUROC が上がりづらい

場合と比べて FTT の正解率が低いのは，少ないサンプル

性質が見てとれる．

に対する過学習が原因だと考えられる．実際に FTT の学

各指標の評価点をサンプル数ごとに与え合計した結果を

習データ，検証データ，テストデータの正解率を調べると，

表 5 に示す．表 5 を見ると，十分なサンプル数がある場

学習データで 77.56%，検証データで 53.46%，テストデー

合と異なり，SAINT，SAINT+の精度が比較的高い結果とタで 43.08%を示し過学習の状態であることが分かった．

なった，その一方で，同じ深層学習系アルゴリズムの FTT

F 値の変化を示す図 6 では，サンプル数 10 での F 値はと FTT+の精度が低い．SAINT と FTT は構造が似てお正解率と同様に CatB，XGB，SAINT，SAINT+が比較的り，異なる点は事前学習と Intersample-Attention の有無でに高く，サンプル数 100 で LGB，FTT，FTT+の正解率がある．このことから，Intersample-Attention，もしくは事上昇するが，FTT と FTT+はやや低い．FTT の F 値が十

前学習が頑健性の向上に効果がある考えられる．CatB が分なサンプル数がある場合と比べて低いのは，正解率と同

事前学習無しでも SAINT と SAINT+に近い精度を示して様に少ないサンプル数による過学習が原因と考えられる．

いるのは，Ordered TS がデータ拡張に近い効果を発揮し，サンプル数 1,000 での F 値では各アルゴリズムで大きな差それが少数サンプルに対する頑健性を向上させたと考えらはなく，サンプル数 10,000 ですべてのアルゴリズムが同等れる．以上をまとめると，少数サンプルに対する頑健性がとなった．

高いのは，SAINT+と CatB，SAINT と結論付けられる．

AUROC の変化を示す図 7 では，サンプル数 10 での
AUROC は CatB，SAINT，SAINT+，FTT，FTT+が比較的高い．サンプル 1,000 ではどのアルゴリズムでも大き3.4 実験 3: 攻撃サンプルの割合を変化させた時の比較実験な差はなく，サンプル 10,000 では SAINT，FTT，FTT+がサンプル数を 10,000 に固定し，攻撃サンプルの割合を低くなった．十分なサンプル数がある時も SAINT，FTT，10%から 90%まで，10%づつ変化させた時の性能を評価す

FTT+の AUROC は低いことを考えると，SAINT，FTT，る．他の実験同様に，試行回ごとにサンプルはランダム抽c 1959 Information Processing Society of Japan⃝5

情報処理学会研究報告
IPSJ SIG Technical Report

AUROC

90
80
70

CatB
LGB
XGB
SAINT
SAINT+
FTT
FTT+

60
50
10
図 7

100

1000

Accuracy rate (%)

AUROC(%)

100

10000

number of samples

サンプル数を変化させたときの AUROC の推移．x 軸: 学習

rate of attacks

図 8

サンプル数， y 軸:AUROC(%)．

攻撃サンプルの割合を変化させた時の正解率の推移．x 軸: 攻撃サンプルの割合， y 軸: 正解率 (%)．

少数サンプル数での比較実験による各アルゴリズムの評価点の合計と総合評価．
正解率

F値

AUROC

総合評価

CatB

15

13

23

◎

LGB

10

10

10

⃝

XGB

14

15

7

⃝

SAINT

17

16

8

◎

SAINT+

18

15

20

◎

FTT

2

5

7

△

FTT+

8

10

9

⃝

F-measure rate

表 5

Accuracy(%)
90
85
80
75
70
CatB
LGB
XGB
SAINT
65
SAINT+FTT
FTT+
60 10% 20% 30% 40% 50% 60% 70% 80% 90%

出するが，各アルゴリズムに入力するサンプルは各試行回

rate of attacks

で同じものにする．サンプル数を 10,000 に固定したのは，
少数サンプルの場合の比較結果から，すべてのアルゴリズ
ムの分類精度が同等である方が，攻撃サンプルの割合の変F-measure(%)
90
85
80
75
70
CatB
LGB
XGB
SAINT
65
SAINT+FTT
FTT+
60 10% 20% 30% 40% 50% 60% 70% 80% 90%

図 9

攻撃サンプルの割合を変化させた時の F 値の推移．x 軸: 攻撃
サンプルの割合， y 軸:F 値 (%)．

化による指標の変動が現れやすいと判断したためである．
正解率の変化を示す図 8 では，どのアルゴリズムでも攻と SAINT+は攻撃の割合が変わっても大きな変化がないこ

撃サンプルの割合が増えるほど正解率は上昇しており，多様とが分かる．一方で，SAINT と FTT，FTT+がサンプルな攻撃サンプルを学習すれば正解率が上昇すること示して数の大小によらず AUROC が低かったのと同様，ここでもいる．攻撃サンプルの割合 20%から 70%までは SAINT とAUROC は低い．AUROC の精度の変化は，サンプル数やSAINT+が上位で，80%から GBDT アルゴリズムがそれらサンプル内の内訳は大きく影響しない分，アルゴリズムにをやや上まわる．少数サンプルでの頑健性が高い SAINT，

依存していると考えられる．

SAINT+と CatB が攻撃サンプルの割合 10%から上位に位

各指標の評価点を攻撃サンプルの割合ごとに付与し合計置しており，攻撃サンプルの割合の変化に対する頑健性もした結果を表 6 にまとめる．正解率は高い順に SAINT+，あると考えられる．

SAINT，XGB となり，F 値は SAINT，SAINT+，AUROC

F 値の変化を示す図 9 では，どのアルゴリズムでも F 値

は CatB，LGB，SAINT+となり，総合評価では CatB，は最低でも 70%以上であることから，攻撃サンプル割合

SAINT+，LGB の順になった．AUROC では攻撃サンプが低い状態で学習しても，攻撃を見落とすことは少ないとルの割合の変化による影響はあまり見られないが，正解率言える．正解率と同様に攻撃サンプルの割合が増えるほどと F 値は，攻撃サンプルの割合が増えれば増えるほど，すF 値は上昇し，攻撃サンプルの割合 20%から 70%まではべてのアルゴリズムで上昇している．一般に，機械学習アSAINT と SAINT+が上位で，80%から GBDT アルゴリズ

ルゴリズムでは分類したいクラスに属するサンプル数はそ

ムが上まわる．SAINT，SAINT+と CatB が攻撃サンプル

れぞれ均等にすることが推奨される．本研究の場合，攻撃の割合 10%から高い F 値を示しており，F 値から見てもこという 1 つのラベルに多種多様な攻撃サンプルが含まれてれらは攻撃サンプルの割合の変化に対する頑健性をもつとおり，これらを均等に学習するためには多くの攻撃サンプ

考えられる．

ルが必要になる．そのため，攻撃サンプルの割合が高い方

AUROC の変化を示す図 10 から，GBDT アルゴリズム

c 1959 Information Processing Society of Japan
⃝が，正解率と F 値が上昇したと考えられる．

6

情報処理学会研究報告

AUROC (%)

IPSJ SIG Technical Report

AUROC(%)
100
95
90
85
80
CatB
LGB
75
XGB
SAINT
SAINT+
70
FTT
FTT+
65 10% 20% 30% 40% 50% 60% 70% 80% 90%
rate of attacks

図 10

3.6 終わりに
5G などの高速ネットワーク技術の普及や，新型コロナウ
イルス流行時の遠隔勤務の一般化などにより，ネットワー
クトラフィックが増加している．ネットワークトラフィッ
クの増加に伴い，サイバー攻撃関連の通信も増加している．大量かつ短期間で変化するサイバー攻撃に対応するために，機械学習を用いて NIDS の性能を向上させようとする研究が行われているが，これらの研究は独自の環境に基づいており，同じ条件での比較は十分ではない．本研究では，データセットやそれに含まれる攻撃サンプルの割合などの条件を揃えて，同一環境下での機械学習アルゴリズム

攻撃サンプルの割合を変化させた時の AUROC の推移．xの比較調査を行うことを目的とした．本研究では，NIDS

軸: 攻撃サンプルの割合， y 軸:AUROC(%)．

を対象とした機械学習アルゴリズムの性能を，同一環境下で，どのような状況で高精度な分類結果を示すのか調査を

表 6

攻撃サンプルの割合を変えた時の各アルゴリズムの評価点の合計と総合評価．
正解率

F値

AUROC

CatB

32

29

54

行った．

総合評価

比較対象の機械学習アルゴリズムは GBDT 系アルゴリズ◎

ムから XGBoost，LightGBM，CatBoost の 3 種，深層学習

LGB

29

25

41

◎

系アルゴリズムから FT-Transformer，SAINT の 2 種，それ

XGB

34

31

28

⃝

らに PLE を加えた FT-Transformer+PLE，SAINT+PLE

SAINT

37

40

17

⃝

の二つ，計 7 種を採り上げた．

SAINT+

42

37

39

◎

FTT

1

2

5

△

FTT+

14

25

5

⃝

サンプル数が多い場合，正解率 (Accuracy) について上位
から FT-Transformer，LightGBM，CatBoost の順になり，正解率は 80% 近くまでに達した．F 値 (F-measure) は FT-

Transformer，LihghtGBM，SAINT の順となり，AUROC は
表 7

3 つの比較実験の総合評価．
実験 1
実験 2
実験 3

CatB

◎

◎

◎

LGB

◎

⃝

◎

XGB

◎

⃝

⃝

CatBoost，XGBoost，SAINT +PLE の順となり AUROC
は 95% を超えることが分かった．総合評価では CatBoost，LightGBM，同点で XGBoost と FT-Transformer の順に
なった．

SAINT

⃝

◎

⃝

サンプル数が少ない場合，サンプル数 10 での正解率はSAINT+⃝◎◎

CatB，XGB，SAINT，SAINT +PLE が 70%を超えた．サ

FTT

◎

△

△

ンプル数 100 での LGB，FTT，FTT+の正解率も 70%以

FTT+

△

⃝

⃝

上まで上昇する．サンプル数 10 での F 値は正解率と同様に CatB，XGB，SAINT，SAINT+が 70%程度，サンプル

3.5 実験のまとめ

数 1,000 では，各アルゴリズムで大きな差はなく，サンプ

3 つの比較実験の総合評価をまとめた結果を表 7 に示す．

ル数 10,000 ですべてのアルゴリズムが同等の値を示した．

表中の実験 1 はサンプルが大量に準備できた場合，実験 2

サンプル数 10 での AUROC は CatB，SAINT，SAINT+，

はサンプル数を変化させた場合，実験 3 は攻撃サンプルのFTT，FTT+が 85%を超え，サンプル数 1,000 ではどのア割合を変えた時の各アルゴリズムの総合評価をそれぞれ

ルゴリズムでも大きな差はなく 90%を超えた．正解率，示す．

F 値，AUROC をまとめた総合評価では SAINT+PLE，

表 7 から，CatBoost がすべての実験で良好な成績を示

CatBoost，SAINT の順になった．

しており，次に LightGBM，SAINT+の順に性能が良いこ

攻撃サンプルの割合を変えての比較実験では，どのアルとが分かる．NSL-KDD データセットは，テストデータ

ゴリズムでも攻撃の割合が増えるほど正解率が上昇しておセットのうち，学習データにはない種類の攻撃サンプルがり，豊富かつ多様な攻撃サンプルを学習すれば正解率が上半分近くを占めており，学習データに対して高精度な結昇すること示した．攻撃サンプルの割合が 20%から 70%

果を示しても，テストデータの予測では誤ることが多い．

までは，SAINT と SAINT+が上位で，80%から GBDT ア

CatBoost がどの実験でも比較的高性能なのは，サンプル

ルゴリズムがやや上回った．F 値も同様に攻撃サンプル

数に大きく左右されない過学習対策である Ordered TS がの割合が 80%以上から GBDT アルゴリズムが優れてい大きな要因だと考えられる．

た．AUROC では，CatBoost が常に最上位に位置し，続c 1959 Information Processing Society of Japan⃝7

情報処理学会研究報告
IPSJ SIG Technical Report

いて LGB と SAINT+が並ぶ形が多かった．正解率，F 値，

AUROC をまとめた総合評価では CatBoost，SAINT+，LGB の順になった．

[11]

実験の結果，CatBoost が常に正解率は 73%以上，F 値は70%以上，AUROC は 90%以上に達し，他のアルゴリズム
よりも高精度となった．LightGBM は最低でもサンプルは[12]

100 個必要となることが分かった．SAINT+PLE は比較的に高性能だが，大量サンプルでの学習では GBDT アルゴリ

[13]

ズムよりも劣ることが分かった．どの機械学習アルゴリズ
ムでも，攻撃の割合が増えるほど正解率は上がることを示した．まとめると，どの場合でも Catboost の精度は上位[14]になり，大量のサンプル数を利用できる場合は LightGBM
が，少数サンプルしか利用出来ない場合は SAINT+PLEが良いとの結果を得た．

[15]

今後課題として，NSL-KDD データセット以外での比較と，他の深層学習系アルゴリズムを加えての比較，大量のデータが利用できる場合に LightGBM の TP が高い原因の解明が挙げられる．

[16]“Revisiting deep learning models for tabular data”, Advances in Neural Information Processing Systems, Vol.
34, pp. 18932–18943, (2021).
Gorishniy Y., Rubachev I. and Babenko A.: “On Embeddings for Numerical Features in Tabular Deep Learning”,
arXiv preprint arXiv:2203.05556v2, (2022).
Friedman J.H.: “Stochastic gradient boosting”, Computational statistics & data analysis, Vol. 38, No. 4, pp.
367–378, (2002).
Devlin J., Chang M., Lee K. and Toutanova K.: “Bert:
Pre-training of deep bidirectional transformers for language understanding”, arXiv preprint arXiv:1810.04805(2018).
Vaswani A., Shazeer N., Parmar N., Uszkoreit J., Jones
L., Gomez A.N., Kaiser L. and Polosukhin I.: “Attention is all you need”, Advances in neural information
processing systems, Vol. 30, pp. 6000–6010, (2017).
Tavallaee M., Bagheri E., Lu W. and Ghorbani A.: “Adetailed analysis of the KDD CUP 99 data set”, 2009
IEEE symposium on computational intelligence for security and defense applications, pp. 1–6, (2009).
Grinsztajn L., Oyallon E. and Varoquaux G.: “Why dotree-based models still outperform deep learning on tabular data?” arXiv preprint arXiv:2207.08815, (2022).

謝辞 本研究は JSPS 科研費 JP19K12139 の助成により行われたものです．
参考文献
[1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

[10]

総 務 省：令 和 4 年 版 情 報 処 理 白 書 第 2 部, 入 手 先⟨https://www.soumu.go.jp/johotsusintokei/whitepaper/
ja/r04/pdf/01honpen.pdf⟩ (2023.1.20).
Mohd R.Z., Zuhairi M.F., Shadil A.Z. and Dao H.:“Anomaly-based nids: A review of machine learning
methods on malware detection”, 2016 International Conference on Information and Communication Technology(ICICTM), pp. 266–270, (2016).
Jin D., Lu Y., Qin J., Cheng Z. and Mao Z.: “KC-IDS:
Multi-layer intrusion detection system”, 2020 International Conference on High Performance Big Data andIntelligent Systems (HPBD&IS), pp. 1–5, (2020).
Tang C., Luktarhan N. and Zhao Y.: “An efficient intrusion detection method based on LightGBM and autoencoder”, Symmetry, Vol. 12, No. 9, pp. 1458–1474,(2020).
Dhaliwal S. S., Nahid A. and Abbas R.: “Effective intrusion detection system using XGBoost”, Information,
Vol. 9, No. 7, pp. 149–173, (2018).
Chen T. and Guestrin C.: “Xgboost: A scalable tree
boosting system”, Proceedings of the 22nd acm sigkdd
international conference on knowledge discovery anddata mining, pp. 785–794, (2016).
Ke G., Meng Q., Finley T., Wang T., Chen W., Ma W.,
Ye Q. and Liu T.: “Lightgbm: A highly efficient gradientboosting decision tree”, Advances in neural information
processing systems, Vol. 30, pp. 3149–3157, (2017).
Dorogush A.V., Ershov V. and Gulin A.: “CatBoost:gradient boosting with categorical features support”,
arXiv preprint arXiv:1810.11363, (2018).
Somepalli G., Goldblum M., Schwarzschild A., Bruss
C.B.,Goldstein T.: “Saint: Improved neural networks
for tabular data via row attention and contrastive pretraining”, arXiv preprint arXiv:2106.01342, (2021).
Gorishniy Y., Rubachev I., Khrulkov V. and Babenko A.:

c 1959 Information Processing Society of Japan⃝

8