IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クラウドブリック コーポレーションの特許一覧

特許7069504ディープラーニングマシンの信頼度判断方法
<>
  • 特許-ディープラーニングマシンの信頼度判断方法 図1
  • 特許-ディープラーニングマシンの信頼度判断方法 図2
  • 特許-ディープラーニングマシンの信頼度判断方法 図3
  • 特許-ディープラーニングマシンの信頼度判断方法 図4
  • 特許-ディープラーニングマシンの信頼度判断方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-10
(45)【発行日】2022-05-18
(54)【発明の名称】ディープラーニングマシンの信頼度判断方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20220511BHJP
【FI】
G06N20/00 130
【請求項の数】 5
(21)【出願番号】P 2020179176
(22)【出願日】2020-10-26
(65)【公開番号】P2022036880
(43)【公開日】2022-03-08
【審査請求日】2020-10-26
(31)【優先権主張番号】10-2020-0106630
(32)【優先日】2020-08-24
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】519000593
【氏名又は名称】クラウドブリック コーポレーション
(74)【代理人】
【識別番号】100079049
【弁理士】
【氏名又は名称】中島 淳
(74)【代理人】
【識別番号】100084995
【弁理士】
【氏名又は名称】加藤 和詳
(72)【発明者】
【氏名】パク スン ヨン
(72)【発明者】
【氏名】キム テ ヨン
(72)【発明者】
【氏名】チョン テ チュン
(72)【発明者】
【氏名】キム ドク ス
【審査官】吉倉 大智
(56)【参考文献】
【文献】Mattias Teye ほか,Bayesian uncertainty estimation for batch normalized deep networks,Proceedings of Machine Learning Research [online],vol.80,2018年,pp.4907-4916,[検索日 2021.12.20], インターネット:<URL:http://proceedings.mlr.press/v80/teye18a.html>
【文献】Lukasz Wandzik ほか,Uncertainty quantification in deep residual neural networks,arXiv [online],v1,2020年07月09日,pp.1-10,[検索日 2021.12.20], インターネット:<URL:https://arxiv.org/abs/2007.04905v1>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 21/00
(57)【特許請求の範囲】
【請求項1】
ディープラーニングマシンが、判定するデータのクラスを仮判定するステップと、
前記ディープラーニングマシンが、仮判定したデータの攻撃/正常の比率を確認し、正常又は攻撃の有無が判断されたM個のテストデータを用いてN個のミニバッチを構成し、前記N個のミニバッチを含むミニバッチセットをT個構成するステップ、及び
前記ディープラーニングマシンが、前記ミニバッチセットを構成するN個のミニバッチのそれぞれに備えられたテストデータを判定して、前記N個のミニバッチのそれぞれの攻撃/正常の比率を判断する過程を複数回繰り返し行うステップ、とを含み、
前記T個のミニバッチセットのそれぞれに用いられる前記M個のテストデータは同一であるが、前記ミニバッチのそれぞれのテストデータの組み合わせは前記ミニバッチ毎に互いに異なり、前記ミニバッチのそれぞれの大きさはM/Nである、ディープラーニングマシンの信頼度判断方法。
【請求項2】
前記複数回は、ミニバッチセットの個数T個と同一である、請求項1に記載のディープラーニングマシンの信頼度判断方法。
【請求項3】
前記M個のテストデータは、仮判定されたデータのみから構成される、請求項1に記載のディープラーニングマシンの信頼度判断方法。
【請求項4】
前記N個のミニバッチのそれぞれに含まれる前記テストデータの正常:攻撃の比率は1:1である、請求項2に記載のディープラーニングマシンの信頼度判断方法。
【請求項5】
前記M個のテストデータにおいて前記ミニバッチのそれぞれのデータの構成を攻撃/正常の比率1:1に合わせるために訓練データからオーバーサンプリングをする、請求項3に記載のディープラーニングマシンの信頼度判断方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディープラーニングマシンの信頼度を判断する方法に関するものである。
【背景技術】
【0002】
ディープラーニングは、機械が人間のように特定データの種類を学習し、自ら認知、推論、判断をすることができる技術である。例えば、ディープラーニングは、機械に数万点の絵を学習させ、新しい絵が何かを機械自らが認識できるようにする技術である。
【0003】
ディープラーニングが適用されたディープラーニングマシンを活用するためには、ディープラーニングマシンの信頼度が確認できていなければならず、このために、ディープラーニングマシンの信頼度を判断する過程を施す必要がある。
【0004】
しかし、ディープラーニングマシンの信頼度を判断するために、従来では多くの計算量が要求されており、そのため、ディープラーニングマシンが実際に用いられるまでには多くのテストや期間が要求されていた。
【先行技術文献】
【特許文献】
【0005】
【文献】韓国登録番号第10-2107847:ウェブトラフィック学習のための16進数イメージ変換と増分学習を適用したディープラーニング方法
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した問題点を解決するために提案された本発明の目的は、テストデータの判定の際に計算量を低減させることができる、ディープラーニングマシンの信頼度判断方法を提供することである。
【課題を解決するための手段】
【0007】
上述した技術的課題を達成するための本発明に係るディープラーニングマシンの信頼度判断方法は、判定するデータのクラスを仮判定するステップと、仮判定したデータの攻撃/正常の比率を確認し、正常又は攻撃の有無が判断されたM個のテストデータを用いてN個のミニバッチを構成し、前記N個のミニバッチを含むミニバッチセットの個数をT個構成するステップ、及び前記ミニバッチセットを構成するN個のミニバッチのそれぞれに備えられたテストデータを判定して、前記N個のミニバッチのそれぞれの攻撃/正常の比率を判断する過程を複数回繰り返し行う(好ましくは、T回行う)ステップと、を含み、前記T個のミニバッチセットのそれぞれに用いられる前記M個のテストデータは同一であるが、前記ミニバッチのそれぞれのテストデータの組み合わせは、前記ミニバッチ毎に互いに異なり、前記ミニバッチのそれぞれの大きさはM/Nである、ディープラーニングマシンの信頼度判断方法である。
【発明の効果】
【0008】
本発明によれば、既存のディープラーニングマシンの信頼度判断方法に比べて判定の信頼度が向上し、且つ、既存のMCBNよりも少ない計算量でディープラーニングマシンの信頼度を判断することができる。
【図面の簡単な説明】
【0009】
図1図1は、本発明に係るディープラーニングマシンの信頼度判断方法が適用されるディープラーニングシステムを示した例示図である。
図2図2は、本発明に適用されるディープラーニングマシンの構成を示した例示図である。
図3図3は、従来のディープラーニングマシンの信頼度判断方法を示した例示図である。
図4図4は、従来のMCBN方法を用いたディープラーニングマシンの信頼度判断方法を示した例示図である。
図5図5は、本発明に係るディープラーニングマシンの信頼度判断方法を示した例示図である。
【発明を実施するための形態】
【0010】
以下、添付の図面を参考して本発明の実施例について詳述する。
【0011】
本発明は、本出願人によって出願され登録となった韓国登録番号第10-2107847号(以下、韓国登録特許と略する)に記載されている方法、又は現在公開されている種々の方法を用いてディープラーニングを行うディープラーニングマシンの信頼度を判断する方法に関するものである。
【0012】
したがって、本発明に適用されるディープラーニングマシンは、基本的にディープラーニング技術を用いてディープラーニング学習を行う。
【0013】
すなわち、本発明は、ディープラーニング学習を行ったディープラーニングマシンの信頼度を判断する方法に関するものである。
【0014】
図1は、本発明に係るディープラーニングマシンの信頼度判断方法が適用されるディープラーニングシステムを示した例示図であり、図2は、本発明に適用されるディープラーニングマシンの構成を示した例示図である。
【0015】
本発明が適用されるディープラーニングシステムは、図1に示されたように、ディープラーニング技術を用いるディープラーニングマシン20、及びディープラーニングマシンがディープラーニング学習を行うために用いるサーバ10を含む。
【0016】
ディープラーニングマシン20は、図2に示されたように、ネットワークを介して外部装置と通信を行う通信部21と、ユーザから各種の情報の入力を受ける入力部23と、各種の情報を出力する出力部24と、各種の情報を格納する格納部25、及びこれらの構成の機能を制御する制御部22と、を含む。
【0017】
ディープラーニングマシン20は、現在一般的に用いられているサーバであってよく、パーソナルコンピュータ(PC)であってよく、その他、タブレッドPCやスマートフォンなどのような各種の電子装置であってもよい。
【0018】
ディープラーニングマシン20は、韓国登録特許などを通じて公開されている各種の方法を用いて、ディープラーニング技術を学習する。この場合、ディープラーニングマシン20は、サーバ10から提供される各種の訓練データを用いてディープラーニング技術を学習することができる。また、ディープラーニングマシン20は、サーバ10から訓練データを読み込むこともできる。特に、ディープラーニングマシン20は、本発明に係るディープラーニングマシンの信頼度判断方法を行うこともできる。
【0019】
しかし、本発明に係るディープラーニングマシンの信頼度判断方法は、ディープラーニングマシン20とサーバ10とで行われてもよい。例えば、ディープラーニングマシン20では、テストデータの攻撃又は正常を判断する機能を遂行し、サーバ10では、後述するミニバッチセットを設定し、前記ディープラーニングマシン20での前記判断による平均を用いてディープラーニングマシンの信頼度を判断する機能を遂行してよい。
【0020】
以下、先ず、従来のディープラーニングマシンの信頼度判断方法、従来のMCBN方法を用いたディープラーニングマシンの信頼度判断方法、及び本発明に係るディープラーニングマシンの信頼度判断方法について簡略に説明する。
【0021】
第一に、HTTPトラフィックのための従来のディープラーニングマシンの信頼度判断方法を説明する。
【0022】
ディープラーニングマシンが学習を行ってから信頼度判断のための判定を行うとき、該ディープラーニングマシンは、テストデータのみから構成されたミニバッチ(mini batch)で1回の判定だけを行う。
【0023】
テストの際、学習済みのディープラーニングマシンのbatch normalization layerのパラメータが固定され、dropoutが非活性化する。
【0024】
同一のテストデータを同一の構造のディープラーニングマシンがテストするため、ディープラーニングマシンが同一のテストデータを繰り返し判定するとしても、判定確率値は毎回同一であるしかなく、当該値は概して1に近い値を示す。
【0025】
すなわち、判定が間違っても判定確率値の多くが1に近いため、当該判定をどの程度信頼できるか分からない。理想的にディープラーニングマシンが信頼できるためには、判定エラーが発生したデータに対する判定確率は1/2に近く、また、正常な判定がなされたなデータであれば判定確率が1に近くなければならない。
【0026】
第二に、従来のMCBN方法を用いたディープラーニングマシンの信頼度判断方法を説明する。
【0027】
前記したのような問題を解決するために、従来では、MCBN(Monte Carlo Batch Normalization)技法を適用していた。
【0028】
MCBN技法を用いたディープラーニングマシンが学習後に、判定をするテストデータ1個に、残りは学習に用いられたデータ(以下、訓練データと略する)をランダムに選択して複数のミニバッチ(mini-batch)を構成し、該ディープラーニングマシンが複数のミニバッチを繰り返し判定する。
【0029】
判定データに対して繰り返しの判定のための複数のミニバッチ(mini-batch)の構成の際、学習に用いられた訓練データを再びランダムに選択する。また、ミニバッチ(mini-batch)を構成する訓練データの攻撃:正常の比率は、訓練過程における攻撃:正常の比率と一致させる必要がある。
【0030】
通常、訓練過程では、ラベル間の判定正確度の均衡を合わせるためにオーバーサンプリングによってラベル間の均衡が1:1に維持される。
【0031】
すなわち、ディープラーニングマシンは判定するデータが与えられると繰り返しの判定を行い、このとき、判定データ(テストデータ)を除くすべてのデータは既存の学習データからランダムに選定され、判定毎にその構成が変わる。
【0032】
また、判定の際、学習済みのマシンを構成するbatch normalization layerとdropout layerが活性化する。
【0033】
判定データ(テストデータ)を除くすべての学習データは判定毎に変化し、これはbatch normalization layerに影響を及ぼす。
【0034】
MCBN技法を用いたディープラーニングマシンによれば、判定をする度に判定確率が変化し、これを平均すれば実際の判定確率値に収斂するはずであるという期待が可能である。よって、従来の信頼度よりも向上した信頼度が得られる。
【0035】
第三に、本発明に係るディープラーニングマシンの信頼度判断方法を説明する。
【0036】
先ず、本発明の目的は次のとおりである。
【0037】
本発明の目的は、ディープラーニングマシン20が判定したデータに対する結果値がどの程度の信頼性があるかを正確に示すことである。
【0038】
また、既存のMCBNの場合、たった1個のデストデータの判定のために、判定が必要ではない訓練データを用いてmini-batchを構成することから過度な計算量を必要としていたので、本発明は、信頼度の判断に必要な計算量を軽減することを目的とする。
【0039】
次に、本発明の構成は以下のとおりである。
【0040】
ディープラーニングマシン20が訓練をした後に、訓練済みのデータの攻撃/正常の比率を確認する過程が必要である。
【0041】
先ず、テストデータを既存の方法にて学習されたディープラーニングマシンにかけてクラスを仮判定する。
【0042】
仮判定されたデータの攻撃/正常の比率を確認し、少数で構成されたクラスに対して訓練データからオーバーサンプリングによって、各クラス間のデータセットの比率を、訓練済みのデータの攻撃/正常の比率に合わせる。通常、攻撃/正常の比率は略1:1に合わせる。
【0043】
攻撃/正常の比率が合わせられたデータを用いて判定を行うとき、テストデータのみから構成されたmini batchを複数回テストする。このとき、既存の方法にて学習されたマシンによって判定エラーが生じ得るが、大半は判定エラーのないテストデータから構成されているため、mini-batchを構成するテストデータの攻撃/正常の比率は、訓練過程における比率とほぼ同様なものとなる。
【0044】
前記テスト過程を行うとき、テストをする度に、mini batchの構成が変わり、学習されたマシンのbatch normalization layer及びdropout layerが毎回変化する。
【0045】
同じテストデータが毎回異なる構造のディープラーニングマシンでテストされるため、判定確率値に偏差が生じ得る。毎回判定確率値が異なることから、信頼度もまた一様に分布され得る。
【0046】
すなわち、判定確率値に対する信頼度が信憑性を増し得る。
【0047】
最後に、本発明は次のような効果を奏する。
【0048】
本発明は、既存のディープラーニングマシンの判定信頼度よりも高い信頼度を確保できながらも、本発明でなされる計算量はMCBNよりも少なくて済む。
【0049】
第四に、以下の説明で用いられる用語を整理すると、次のとおりである。
【0050】
判定確率値はreliability scoreを意味し、判定正確度を意味する。
【0051】
判定信頼度は1回の平均を意味し、特に、攻撃/正常と判定したとき、この判定をどの程度信頼できるかを意味する。よって、平均確率が1に近いほど当該判定は信頼でき、平均確率が0.5に近いほど当該判定は信頼し難い。
【0052】
判定クラスは攻撃又は正常と分類される。
【0053】
ミニバッチ(Mini-batch)は、判定するデータを分けたグループを意味し、例えば、100個のデータを5個ずつ分けると、20個のmini-batchが生成される。
【0054】
Batch normalizationは、テストをする度に、異なった構成となるmini-batchセットに係る結果に対する平均値を求めることを意味する。
【0055】
Dropoutは、ディープラーニングマシンの神経網構造を簡素化することで過剰適合問題を解決することを意味する。
【0056】
accuracyは、実際クラスと一致する個数を全体判定個数で割った値を意味する。
【0057】
F1 scoreは、precisionとre-callの調和平均を意味する。
【0058】
判定エラーデータは、実際クラスとは逆に判定したデータを意味する。
【0059】
少数で構成されたクラスに対して訓練データからオーバーサンプリングによって、各クラス間のデータセットの比率を1:1に合わせるということは、テストするデータを既に訓練済みのマシンに任意にかけると、データは攻撃と正常の2つのクラスに分けられ、攻撃が正常トラフィックに比べて少ないと、訓練データから攻撃データを持ってきてテストデータの攻撃と正常の個数を1:1 比率に合わせるということを意味する。
【0060】
以下では、実際の例を参照して、従来の信頼度判断方法及び本発明に係るディープラーニングマシンの信頼度判断方法を説明する。
【0061】
図3は、従来のディープラーニングマシンの信頼度判断方法を示した例示図であり、図4は、従来のMCBN方法を用いたディープラーニングマシンの信頼度判断方法を示した例示図であり、図5は、本発明に係るディープラーニングマシンの信頼度判断方法を示した例示図である。
【0062】
ディープラーニングマシン20が学習を行った後、ディープラーニングマシン20が正常に駆動できるか否かの確認が取れると、ディープラーニングマシン20は実質的にユーザによって用いられ得る。
【0063】
第一に、図3を参照して、従来のディープラーニングマシンの信頼度判断方法を説明する。
【0064】
先ず、テストデータがディープラーニングマシン20を活用して判定される。
【0065】
訓練過程ではdropout layerやbatch normalization layerを活性化して訓練を行うのに対し、テスト過程ではdropout layerやbatch normalization layerが非活性化する。このため、常に同一の判定結果が出る。すなわち、従来のディープラーニングマシンの信頼度判断方法を用いる場合、一回以上テストをすることは意味がない。
【0066】
従来のディープラーニングマシンの信頼度判断方法における問題は、誤判定に対する確率値が常に同一であるため、判定に対する正確度又は信頼度を確認し難いということである。
【0067】
第二に、図4を参照して、従来のMCBN方法を用いたディープラーニングマシンの信頼度判断方法を説明する。
【0068】
先ず、図4には、大きさが4のmini-batchを用いた判定データ、すなわち、テストデータ3個を判定する過程が示されている。
【0069】
次に、各Mini-batchは、テストデータ1個及び訓練データ3個から構成され、ディープラーニングマシンは3回繰り返し判定を行う。
【0070】
次に、訓練の際、訓練データのオーバーサンプリングによって攻撃/正常の比率が1:1に合わせられる。このため、判定過程で用いられるmini-batchでの攻撃/正常データの比率も1:1に構成される必要がある。訓練データはオーバーサンプリングによって1:1比率に合わせたので、図4中の各mini-batchの攻撃/正常データの比率も1:1に合わせられる。
【0071】
ここで、不足したデータを既存の訓練データで埋めるのがオーバーサンプリングである。例えば、攻撃が6個、正常が3個であったとすると、攻撃:正常を1:1の比率に合わせるための3個の正常データをどこかから持ってくる行為がオーバーサンプリングである。MCBNの場合、3個の正常データは訓練データから得られる。
【0072】
ここで、攻撃/正常の比率を1:1に合わせるということは次のような意味をもつ。すなわち、図4に示された例において、テストデータが1個あり、テストデータが攻撃なのか正常なのか知らない状況である。この場合、訓練データは攻撃が6個、正常が3個である。訓練データのうち正常データ3個をコピーすることで、攻撃テストデータ6個及び正常テストデータ6個が得られる。そして、mini-batchは、テストデータ1個、訓練データlの攻撃6個、訓練データの正常6個から構成される。すると、攻撃:正常の比率が7:6あるいは6:7になるため「ほぼ」1:1の比率になることができる。
【0073】
この場合、1個のテストデータを判定するためには、判定の必要がない3個の訓練データが含まれることから、計算する量が、図3に示された既存の方法よりもテストデータ分増加する。すなわち、図3に示された方法に比べて、MCBNを用いる方法における計算量は、mini-batchの大きさ×繰り返し判定回数分増加する。ここで、図4に示された例における繰り返し判定回数は3であるとする。
【0074】
次に、他のMini-batchセットをテストする度に神経網のdropoutが異なり、与えられたテストデータとともに構成された訓練データも異なるため、batch normalization値も変わる。すなわち、神経網の構造が異なる。
【0075】
そのため、同一のテストデータを計3回繰り返す度に判定確率値が変わる。ここで、同一のテストデータを繰り返す(計3回)度に判定確率値が変わるということは、例えば、テストデータ1に対してはミニバッチset1、ミニバッチset2、ミニバッチset3で3回繰り返され、テストデータ2に対しても計3回繰り返され、テストデータ3に対しても同様に計3回繰り返されるということを意味する。
【0076】
最後に、前記したような判定確率値に対する平均値を用いて信頼度を計算することができる。
【0077】
第三に、本発明に係るディープラーニングマシンの信頼度判断方法を説明する。
【0078】
先ず、ディープラーニングマシン20でテストデータが攻撃か正常かが任意に判定される。図5に示された例では、テストデータが攻撃6個、正常4個で、計10個のテストデータが任意に判定される。
【0079】
この場合、攻撃/正常の比率を1:1に合わせのために、ディープラーニングマシンを訓練したデータから正常データ2個が得られる。
【0080】
次に、攻撃/正常の比率が1:1に合わせられたテストデータでmini-batchが構成される。
【0081】
次に、すべてのテストデータを活用したMini-batchセットがテストされる。
【0082】
次に、mini-batchができる限りテストデータで構成されるため、既存よりも最小繰り返し判定回数分の計算量がさらに必要となる。すなわち、本発明では最大繰り返し判定回数×2だけの計算量が要求される。敷衍して説明すると、ミニバッチができる限りテストデータで構成されるため、少なくとも既存より繰り返し判定回数分の計算量がさらに必要になる。
【0083】
次に、他のMini-batchセットがテストされる度に神経網のdropoutが異なり、与えられた判定データとともに構成された訓練データも異なるため、batch normalization値も異なる。すなわち、神経網の構造が異なる。
【0084】
このため、同一のデータが計3回繰り返される度に判定確率値が変わる。
【0085】
次に、前記したような判定確率値に対する平均値を用いて信頼度を計算することができる。
【0086】
最後に、本発明における判定の信頼度がMCBN技法と類似の理由は、MCBN技法と同様、同一のデータが他の構造の神経網で複数回テストされ、判定確率値の平均が得られるためである。
【0087】
以下では、従来の方法(図3及び図4)と本発明に係るディープラーニングマシンの信頼度判断方法における計算の複雑度を比較する。
【0088】
先ず、図3を参照した既存の方法では1回の判定だけがなされる。しかし、図3を参照した既存の方法では信頼度を判断し難い。
【0089】
次に、図4を参照したMCBN方法を用いたディープラーニングマシンの信頼度判断方法では、[既存の計算量(1)×繰り返し判定回数T×テストデータ個数M]分の計算量が要求される。ここで、Tはmini-batchセットの個数であり、MはMini-batchを構成するテストデータの個数であるとする。
【0090】
最後に、図5を参照した本発明に係るディープラーニングマシンの信頼度判断方法では、MCBN方法で得られた信頼度と類似の信頼度が得られ、且つMCBN方法における計算量よりも少ない計算量が要求される。
【0091】
第一に、テストデータの攻撃/正常の比率が同一である場合には、[既存の計算量(1)×繰り返し判定回数T]分の計算量が要求される。この場合、オーバーサンプリングが不要である。
【0092】
第二に、テストデータの攻撃/正常の比率が1:0である場合には、[既存の計算量(1)×繰り返し判定回数×2]分の計算量が要求される。この場合、攻撃分のオーバーサンプリングが必要であるため、計算量が2倍増加し得る。
【0093】
すなわち、本発明に係る計算量([既存の計算量(1)×繰り返し判定回数T]又は[既存の計算量(1)×繰り返し判定回数×2])は、図3に示された既存の方法の計算量よりは多いが、図4に示されたMCBN技法の計算量([既存の計算量(1)×繰り返し判定回数T×テストデータ個数M])よりは最大M倍少なく、且つ最小M/2倍少なくて済む。
【0094】
その理由は、MCBNの場合には、1つのMini-batchに1個のテストデータだけが含まれるからである。すなわち、1つのMini-batchの大きさが4とするとき、MCBNの場合、オーバーサンプリングの前のテストデータが12個あれば、オーバーサンプリングの後に12個のMini-batchでMini-batchセットを構成し、結局は、計48個のデータが判定される必要がある。しかし、本発明では、オーバーサンプリングの前のテストデータが12個あり、攻撃/正常の比率が1:1であれば、オーバーサンプリングが不要であるため、3個のMini-batchでMini-batchセットを構成し、結局は、計12個のデータを判定すれば済む。
【0095】
また他の例として、テストデータMが100個であり、Mini-batchの大きさが10であり、繰り返し判定回数Tが5である場合、
【0096】
図3に示された既存の方法における計算量は、[100/10=10]であり(計10個のMini-batchをテスト)、
【0097】
図4に示されたMCBN方法における計算量は、[((100/10)×(100))×5=5000]であり、
【0098】
図5に示された本発明に係る方法における計算量は、
【0099】
第一に、オーバーサンプリングの前のテストデータの攻撃/正常の比率が同一である場合、[(100/10)×5=50]であり、
【0100】
第二に、オーバーサンプリングの前のテストデータの攻撃/正常の比率が1:0である場合、[((100/10)×(2))×5=100]である。
【0101】
したがって、本発明によれば、図3に示された既存の方法より高く、且つ図4に示されたMCBN方法と類似の信頼度が得られ、なお、図3に示された既存の方法よりは多くの計算量が要求されるが、図4に示されたMCBN方法における計算量よりは少ない計算量が要求される。
【0102】
したがって、本発明によれば、高い信頼度及び少ない計算量を確保することができる。
【0103】
以下では、本発明に係るディープラーニングマシンの信頼度判断方法をステップ別に説明する。
【0104】
先ず、正常又は攻撃の有無が判断されているM個のテストデータを用いてN個のミニバッチを構成し、前記N個のミニバッチを含むミニバッチセットを構成する過程がT回繰り返される。図5に示された例において、Mは12であり、Nは3である。すなわち、図5に示された例では、12個のテストデータを用いて3個のミニバッチが構成され、3個のミニバッチが1つのミニバッチセットを形成する。
【0105】
前記ミニバッチセットを構成する過程をT回繰り返すステップは、正常又は攻撃の有無が判断されているM個のテストデータを用いてN個のミニバッチを構成し、前記N個のミニバッチを含む第1のミニバッチセットを構成するステップ、及び前記第1のミニバッチセットを構成するN個のミニバッチの組み合わせとは異なる組み合わせを有するN個のミニバッチを、前記M個のテストデータを用いて構成し、前記N個のミニバッチを含む第Tのミニバッチセットを構成するステップを含む。
【0106】
すなわち、図5に示された例では、Tが3になる。よって、3個のミニバッチセットが形成される。
【0107】
この場合、前記T個のミニバッチセットのそれぞれに用いられる前記M個のテストデータは同一である。
【0108】
すなわち、図5に示された例において、第1のミニバッチセット(Mini-batch set1)に用いられる12個のテストデータと、第2のミニバッチセット(Mini-batch set2)に用いられる12個のテストデータと、第3のミニバッチセット(Mini-batch set3)に用いられる12個のテストデータはいずれも同一である。
【0109】
しかし、M/N個のテストデータの組み合わせは、前記ミニバッチ毎に互いに異なる。
【0110】
すなわち、図5に示された例において、3個のミニバッチセットに含まれた9個のミニバッチを構成する4個のテストデータの組み合わせは、9個のミニバッチのそれぞれにおいて互いに異なる。例えば、第1のミニバッチセット(Mini-batch set1)を構成する第1のミニバッチ(Mini-batch1)は「1、2、7、8」のテストデータで構成され、第2のミニバッチ(Mini-bath2)は「3、4、9、10」のテストデータで構成され、第3のミニバッチ(Mini-batch3)は「5、6、11、12」で構成される。
【0111】
また、前記N個のミニバッチのそれぞれに含まれる前記M/N個のテストデータの正常:攻撃の比率は1:1に合わせられるか、1:1に近接した比率に合わせられる。
【0112】
例えば、図5に示された例において、第1のミニバッチセットを構成する3個のミニバッチのそれぞれにおいて、攻撃テストデータと正常テストデータとの比率は2:2=1:1に設定されている。
【0113】
また、前記M個のテストデータのうち一部のデータは、攻撃/正常の比率を1:1に合わせるために訓練データから得られてよい。
【0114】
例えば、図5に示された例において、第1のミニバッチセットを構成する12個のテストデータのうちの2個(11番及び12番)は訓練データである。しかし、本発明がこれに限定されるものではない。よって、M個のテストデータに訓練データが含まれなくてもよい。
【0115】
次いで、ある1つのミニバッチセットを構成するN個のミニバッチのそれぞれに備えられたM/N個のテストデータを判定して、前記N個のミニバッチのそれぞれの攻撃/正常の比率を判断する過程が、計T個のミニバッチセットに対して行われる。
【0116】
すなわち、第1のミニバッチセットを構成するN個のミニバッチのそれぞれに備えられたM/N個のテストデータを判定して、前記第1のミニバッチセットを構成する前記N個のミニバッチのそれぞれの攻撃/正常の比率が判断され、第2のミニバッチセットを構成するN個のミニバッチのそれぞれに備えられたM/N個のテストデータを判定して、前記第2のミニバッチセットを構成する前記N個のミニバッチのそれぞれの攻撃/正常の比率が判断され、第Tのミニバッチセットを構成するN個のミニバッチのそれぞれに備えられたM/N個のテストデータを判定して、前記第Tのミニバッチセットを構成する前記N個のミニバッチのそれぞれの攻撃/正常の比率が判断される。
【0117】
最後に、N個のミニバッチのそれぞれに対するT回の攻撃/正常の比率の平均が0.7より大きく1.3より小さいと、前記判断に信頼性があると判断され、前記N個のミニバッチのそれぞれに対するT回の攻撃/正常の比率の平均が0.7以下であるか、1.3以上であると、前記判断に信頼性がないと判断される。
【0118】
すなわち、本発明は、T回の攻撃/正常の比率の平均が1に近いと、前記判断に信頼性があると判断され、T回の攻撃/正常の比率の平均が0.5に近いか、0に近いか、無限大であると、前記判断にが信頼性がないと判断される。
【0119】
例えば、図5に示された例において、第1のミニバッチセットに備えられた第1のミニバッチにおける攻撃/正常の比率と、第2のミニバッチセットに備えられた第1のミニバッチにおける攻撃/正常の比率と、第3のミニバッチセットに備えられた第1のミニバッチにおける攻撃/正常の比率の平均が1に近いと、前記判断に信頼性があると判断されてよい。
【0120】
または、図5に示された例において、第1のミニバッチセットに備えられた3個のミニバッチにおける攻撃/正常の比率と、第2のミニバッチセットに備えられた3個のミニバッチにおける攻撃/正常の比率と、第3のミニバッチセットに備えられた3個のミニバッチにおける攻撃/正常の比率の平均が1に近いと、前記判断に信頼性があると判断されてよい。
【0121】
前述した本発明と既存のMCBN方式との差異点は次のとおりである。
【0122】
MCBNの動作過程は次のとおりである。
【0123】
通常的に訓練過程の場合、正常:攻撃の比率が1:1に維持されて進められる。
【0124】
仮に、特定ラベル(正常又は攻撃)が異常に低いと、通常、当該ラベルをオーバーサンプリングして1:1に維持し訓練が進められる。
【0125】
このとき、batch normalizationとdropoutが活性化して進められる。
【0126】
一般的には訓練が終了すると、batch normalization(BN)とdropoutが非活性化しevaluation data(又は、判定データ)を入力して、当該dataの正常又は攻撃の有無が判断される。
【0127】
MCBNの場合、テストデータの個数Mが16であると、1個の判定データ+15個の訓練データ(テストデータの正常:攻撃が1:1にオーバーサンプリング)を用いてmini-batchが構成される。
【0128】
この場合、BN+dropoutを活性化して判定がT回行われる。
【0129】
この場合、判定する度に異なる訓練データが用いられ、異なるdropoutが用いられるため、当該判定データの結果値には変化が生じる。
【0130】
これを平均すると、当該判定データの判定結果がより安定したものになるというのがMCBNの特徴である。
【0131】
しかし、MCBNの問題点は、1つの判定データを判定するのに通常的な判定技法に比べてM×T倍の計算量を必要とするということである。
【0132】
なぜならば、判定が不要な(M-1)個の訓練データがmini-batchを構成するのに必要となり、このような判定がT回繰り返される必要があるためである。
【0133】
一方、本発明の場合、通常的な判定技法を通じて判定データの正常:攻撃が判定される。
【0134】
先ず、判定されたラベルを基準にどのラベルが不足しているかをみて、不足しているラベルは訓練データから持ってくる。
【0135】
例えば、攻撃ラベルと判定されたデータが少な過ぎると、当該ラベルの訓練データを持ってきて1:1比率が合わせられる。例えば、図5に示された例では、12個のテストデータのうち2個(11番及び12番)は訓練データである。
【0136】
この場合、前述したように、本発明では、極端の場合、MCBNの半分の計算量だけが必要となる。
【0137】
理想的な場合、すなわち、既に攻撃正常ラベルの比率が1:1である場合、計算量はMCBNに比べて1/Mに軽減する。
【0138】
なぜならば、攻撃:正常の比率が1:1に既に維持されているため、訓練データからデータを持ってくる必要がなく、単にT回だけ繰り返されるからである。
【0139】
本発明の属する技術分野における当業者であれば、本発明がその技術的思想や必須特徴を変更することなく他の具体的な形態で実施され得ることが理解できるはずである。したがって、以上で記述した実施例は、あらゆる面で例示的なものであって限定的なものではないと理解すべきである。本発明の範囲は前記した詳細な説明ではなく特許請求の範囲によって示され、特許請求の範囲の意味及び範囲、そしてその等価概念から導き出されるすべての変更又は変形された形態が本発明の範囲に含まれると解釈されるべきである。
【符号の説明】
【0140】
20:ディープラーニングマシン
10:制御サーバ
図1
図2
図3
図4
図5