(57)【要約】      （修正有）【課題】ウェブトラフィック（ＵＲＬ）に対するディープラーニングの正確度を高めることで、ハッキングを迅速に認識し、対応する。【解決手段】方法は、ディープラーニングマシンが、１６進数を用いてウェブトラフィック（ＵＲＬ）をイメージ化して、学習し、イメージ化されたウェブトラフィックを加重値を用いた増分学習を用いて分析して、ウェブトラフィック分析機能を向上させ、分析機能を用いてウェブトラフィックの攻撃を検知する。【選択図】図２
2020013536.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも二つ以上のディープラーニングマシンのそれぞれが１６進数を用いてウェブトラフィックを学習する段階、及び
前記ディープラーニングマシンが加重値を用いた増分学習を用いてウェブトラフィックを学習する段階を含み、
前記少なくとも二つ以上のディープラーニングマシンのそれぞれが１６進数を用いてウェブトラフィックを学習する段階は、
ウェブトラフィックが受信されると、前記ディープラーニングマシンのそれぞれが前記ウェブトラフィックの文字列をＵＴＦ−８  １６進数でエンコードする段階、及び
前記ディープラーニングマシンのそれぞれが前記文字列をイメージに変換し、該イメージをディープラーニング学習する段階を含み、
前記増分学習を用いてウェブトラフィックを学習する段階は、
前記ディープラーニングマシンのうちの、ディープラーニングマシン１が１〜３週目のデータを学習し、ディープラーニングマシン２が２〜４週目のデータを学習し、ディープラーニングマシン３が３〜５週目のデータを学習して、前記ディープラーニングマシンが学習するデータを重畳させる段階、
５週目のデータのうち管理者によって既に判断が済んだ一部のデータを用いて前記ディープラーニングマシンをテストする段階、及び
該テストの結果を用いて前記ディープラーニングマシンのそれぞれに対する重みを設定する段階を含む、
ウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法。
【請求項２】
前記重みがそれぞれ設定された前記ディープラーニングマシンがウェブトラフィックの攻撃を検知する段階をさらに含む、請求項１に記載のウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディープラーニング方法（Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ  Ｍｅｔｈｏｄ）に関するものである。
【背景技術】
【０００２】
ディープラーニングは、機械が人間のように特定データの種類を学習し、自ら認知、推論、判断をすることができる技術である。例えば、ディープラーニングは、機械に数万の絵を学習させ、新しい絵が何かを機械自らが認識できるようにする技術である。
【０００３】
ディープラーニングは、データをイメージとして認識した後、複数回のデータ圧縮やプロセッシングを通じて学習を進める。
【０００４】
イメージを認識するように設計されているアルゴリズムは多いのに対し、文字列が認識できるように設計されているアルゴリズムはあまりない。そして、文字列が認識できるアルゴリズムは、大概６８個の文字しか認識できないように設計されている。すなわち、従来のディープラーニング方法では、英文小文字２６個、数字１０個、記号３２個からなる計６８個の文字をイメージに変換してディープラーニングモジュールを学習させている。
【０００５】
しかし、ウェブトラフィック（または、ウェブアドレス或いはＵＲＬという）にディープラーニングを適用するためには、ディープラーニングモジュールが全世界の言語を認識する必要があるだけでなく、大文字／小文字もまた区別しなければならない。
【０００６】
なぜならば、ウェブトラフィック（ＵＲＬ）が英語のみで生成されるとは限らず、全世界のあらゆる言語で生成されることも考えられ、英語の場合でも、大文字か小文字かによって意味が変わるためである。よって、ディープラーニングモジュールが６８個の文字しか認識できないと、ウェブトラフィックに対する学習が正常に行われ難い。
【０００７】
また、一回、一定のデータで学習を終えたディープラーニングモジュールを新しいデータに関してさらに学習させることは不可能である。つまり、ディープラーニングモジュールは新しいデータに関する学習を積み重ねていくことができない。
【０００８】
したがって、ウェブトラフィック（ＵＲＬ）にディープラーニングを適用する場合、経時的に又は新しいデータをテストする比重が高くなるほどディープラーニングモジュールの正確度は落ちる。サイトを一度リニューアルしたりサイト内に新しいページを追加したりする場合、既存に学習されたデータとは全く異なる形式のウェブトラフィック（ＵＲＬ）が使われる可能性が高いためである。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】大韓民国公開公報１０−２０１８−００６６６４３号：ディープラーニング基盤の映像比較を用いた商品検索システム及び方法
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述した問題点を解決するために提案された本発明の目的は、１６進数を用いてウェブトラフィック（ＵＲＬ）を認識することができ、且つ増分学習を用いてウェブトラフィック（ＵＲＬ）の認識率を増加させることができる、ウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法を提供することである。
【課題を解決するための手段】
【００１１】
上述した技術的課題を達成するための本発明に係る、ウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法は、少なくとも二つ以上のディープラーニングマシンのそれぞれが１６進数を用いてウェブトラフィックを学習する段階；及び前記ディープラーニングマシンが加重値を用いた増分学習を用いてウェブトラフィックを学習する段階を含み、前記少なくとも二つ以上のディープラーニングマシンのそれぞれが１６進数を用いてウェブトラフィックを学習する段階は、ウェブトラフィックが受信されると、前記ディープラーニングマシンのそれぞれが前記ウェブトラフィックの文字列をＵＴＦ−８  １６進数でエンコードする段階；及び前記ディープラーニングマシンのそれぞれが前記文字列をイメージに変換し、該イメージをディープラーニング学習する段階を含み、前記増分学習を用いてウェブトラフィックを学習する段階は、前記ディープラーニングマシンのうちの、ディープラーニングマシン１が１〜３週目のデータを学習し、ディープラーニングマシン２が２〜４週目のデータを学習し、ディープラーニングマシン３が３〜５週目のデータを学習して、前記ディープラーニングマシンが学習するデータを重畳させる段階；５週目のデータのうち管理者によって既に判断が済んだ一部のデータを用いて前記ディープラーニングマシンをテストする段階；及び該テスト結果を用いて前記ディープラーニングマシンのそれぞれに対する重みを設定する段階を含む。
【発明の効果】
【００１２】
本発明は、ウェブトラフィック（ＵＲＬ）にディープラーニングを適用する場合に発生し得る問題点を解決するためのものであって、以下のような効果を提供している。
【００１３】
第一に、本発明は、６８個の文字しか認識できない従来のディープラーニングアルゴリズムの限界を超えて、ディープラーニングモジュールがＵＴＦ−８  １６進数を認識できるようにすることで、ディープラーニングモジュールがウェブトラフィックに関する学習をすることができるようにする効果を提供している。
【００１４】
ディープラーニングモジュールがＵＴＦ−８  １６進数を認識できるようにすることで、ディープラーニングモディユルは、英文の場合は２個の１６進数チャンネルで２５６字を表現することができ、ハングルの場合は６個の１６進数チャンネルで１６、７７７、２１６字を表現することができる。この場合、英文は１ｂｙｔｅ、ハングルは３ｂｙｔｅｓの大きさを有する。
【００１５】
第二に、ウェブサイトの特性上、全く新しいパターンのトラフィックが入ってくるに決まっているが、従来は、一度学習を終えたディープラーニングモジュールに新しいデータをさらに学習させることは困難であった。これを解決するために、本発明では、増分学習（Ｉｎｃｒｅｍｅｎｔａｌ  Ｌｅａｒｎｉｎｇ）を用いている。すなわち、本発明では、学習したデータの周期が異なる複数のディープラーニングモジュールを用い、エラー率に応じた加重値（Ｗｅｉｇｈｔ）を各モジュールに指定することでディープラーニングの正確度を高めている。
【００１６】
第三に、本発明によれば、ウェブトラフィック（ＵＲＬ）に対するディープラーニングの正確度を高めることで、ハッキングを迅速に認識し、これに対して迅速に対応することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明に係るウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法が適用されるディープラーニングシステムの一実施例の構成図。
【図２】本発明に係るウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法の一実施例の流れ図。
【図３】本発明に係るウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法に適用される１６進数活用方法を説明するための例示図。
【図４】本発明に係るウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法のうちの１６進数を用いる方法を示す例示図。
【図５】本発明に係るウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法のうちの増分学習方法を示す例示図。
【発明を実施するための形態】
【００１８】
以下、添付の図面を参考して本発明の実施例について詳述する。
【００１９】
図１は、本発明に係るウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法が適用されるディープラーニングシステムの一実施例の構成図である。
【００２０】
本発明に係るウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法（以下、ディープラーニング方法と略する）が適用されるディープラーニングシステムは、図１に示すように、少なくとも二つ以上のディープラーニングマシン１０、前記ディープラーニングマシン１０を制御及び管理する制御サーバ２０、一般ユーザが用いるユーザ端末機３０、ハッカーが用いるハッカー端末機４０、及び前記ディープラーニングマシン１０を管理する管理業者９０から本発明に従って生成されたディープラーニングソリューションを提供されて運営する業者サーバ５０を含む。
【００２１】
前記管理業者９０は、本発明に係るディープラーニング方法を行ってディープラーニングソリューションを生成し、ウェブトラフィック攻撃を直接検知することができ、または、前記ディープラーニングソリューション９０を、業務提携を結んでいる前記業者サーバ５０に提供することもできる。
【００２２】
前記業者サーバ５０は、ユーザ端末機３０に多様なサービスを提供するサーバであり、前記ディープラーニングソリューション９０を搭載している。したがって、不法的な意図を持っているハッカーによって用いられるハッカー端末機４０から前記業者サーバ５０へのウェブトラフィックによるハッキングの試みがあると、前記ディープラーニングソリューション９０が該ハッキングを遮断させることができる。本発明においてウェブトラフィックとは、ウェブアドレス或いはＵＲＬのことを意味する。
【００２３】
すなわち、前記管理業者９０は、本発明に係るディープラーニング方法を用いて、ウェブトラフィックによるハッキングを防止することができるディープラーニングソリューションを開発して直接用いることができるだけでなく、当該ディープラーニングソリューションを前記業者サーバ５０に提供することもできる。
【００２４】
前記業者サーバ５０は、一般ユーザを相手にしてサービスを提供する業者によって管理されており、前記ディープラーニングソリューションを用いてウェブトラフィックによるハッキングを遮断させることができる。
【００２５】
本発明に係るディープラーニング方法の特徴は次のとおりである。
【００２６】
例えば、本発明では、４つのディープラーニングマシン１０が、１６進数を活用して文字列を認識して、ハッキングに係る文字列を把握する学習をする。この場合、４つのディープラーニングマシンが互いに重畳するデータで学習をし、１次的に学習及びテストされた結果に応じて、各ディープラーニングマシンの重みが決まる。
【００２７】
重みが決まった状態で、ディープラーニングマシンは新しく受信されるウェブトラフィックを分析し、ハッキングの有無を判断することができる。
【００２８】
すなわち、重みが決まった状態で、ディープラーニングマシンは新たに収集されたデータ、つまり、ウェブトラフィックを分析し、該ウェブトラフィックが攻撃であるか否かを検知し、その結果に応じて、前記ウェブトラフィックを遮断するか、または例外処理することができる。
【００２９】
因みに、本発明では、例えば、４つのディープラーニングマシンが、１６進数を活用して文字列を認識して、ハッキングに係る文字列を把握する学習をする。この場合、４つのディープラーニングマシンが互いに重畳するデータで学習をし、１次的に学習及びテストされた結果に応じて、各ディープラーニングマシンの重みが決まる。
【００３０】
重みが決まった状態で、前記ディープラーニングマシンは、ウェブトラフィックを分析して、該ウェブトラフィックの攻撃（ハッキング）の有無を判断する。
【００３１】
この場合、前記ディープラーニングマシンをすべてウェブトラフィックの攻撃の検知に用いることもでき、または、前記ディープラーニングマシンから抽出された分析アルゴリズムが別途のディープラーニングソリューションとして生成され、該ディープラーニングソリューションが組み込まれた一つのディープラーニングマシン、例えば、前記業者サーバ５０がウェブトラフィックの攻撃を検知することもでき、若しくは前記ディープラーニングマシンを制御する一つのサーバ、例えば、前記制御サーバ２０がウェブトラフィックの攻撃を検知することもできる。
【００３２】
因みに、本発明に係るディープラーニング方法は、少なくとも二つ以上のディープラーニングマシンのそれぞれが１６進数を用いてウェブトラフィックを学習する段階及び前記ディープラーニングマシンが加重値を用いた増分学習を用いてウェブトラフィックを学習する段階を含む。
【００３３】
ここで、前記少なくとも二つ以上のディープラーニングマシンのそれぞれが１６進数を用いてウェブトラフィックを学習する段階は、ウェブトラフィックが受信されると、前記ディープラーニングマシンのそれぞれが前記ウェブトラフィックの文字列をＵＴＦ−８  １６進数でエンコードする段階及び前記ディープラーニングマシンのそれぞれが前記文字列をイメージに変換し、該イメージをディープラーニング学習する段階を含む。
【００３４】
また、前記増分学習を用いてウェブトラフィックを学習する段階は、前記ディープラーニングマシンのうちの、ディープラーニングマシン１が１〜３週目のデータを学習し、ディープラーニングマシン２が２〜４週目のデータを学習し、ディープラーニングマシン３が３〜５週目のデータを学習して、前記ディープラーニングマシンが学習するデータを重畳させる段階、５週目のデータのうち管理者によって既に判断が済んだ一部のデータを用いて前記ディープラーニングマシンをテストする段階、及び前記テスト結果を用いて前記ディープラーニングマシンのそれぞれに対する重みを設定する段階を含む。
【００３５】
この場合、前記重みがそれぞれ設定された前記ディープラーニングマシンはウェブトラフィックの攻撃を検知する。
【００３６】
以下、前記ディープラーニングマシン１０によって行われる本発明に係るディープラーニング方法を説明する。
【００３７】
図２は、本発明に係るウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法の一実施例の流れ図であり、図３は、本発明に係るウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法に適用される１６進数活用方法を説明するための例示図である。
【００３８】
本発明に係るディープラーニング方法は、図２に示すように、前記ディープラーニングマシン１０が１６進数を用いてウェブトラフィックをイメージ化してからウェブトラフィックを認識する段階（１００）、少なくとも二つ以上の前記ディープラーニングマシン１０がイメージ化されたウェブトラフィックを加重値を用いた増分学習を用いて分析してウェブトラフィック分析機能を向上させる段階（２００）、及び前記分析機能を用いてウェブトラフィックの攻撃を検知する段階（３００）を含む。
【００３９】
本発明は、前記ディープラーニングマシンがウェブトラフィックを持続的に学習するようにすることで、ウェブトラフィック分析の正確度を保持することができるという効果を提供している。
【００４０】
本発明の核心的な特徴は次のとおりである。
【００４１】
第一に、本発明では、１６進数を用いてウェブトラフィックをイメージ化して、ウェブトラフィックを認識することができる。
【００４２】
ウェブトラフィックの特性上、種々の国の言語が使われており、英語の場合でも、ウェブトラフィックとして大文字及び小文字の双方が用いられている。しかし、従来の６８個の文字列によっては、英語の大文字及び他の言語に対する表現が不可能であった。
【００４３】
すなわち、ウェブトラフィックをディープラーニングに適用するためには、より多くの文字列をより迅速に認識する必要がある。このような条件を満たすために、本発明では、ＵＴＦ−８  １６進数フォーマットを用いている。
【００４４】
すなわち、ウェブトラフィックがＵＴＦ−８  １６進数を用いて管理されることで、従来よりも多くの文字列が認識できる。
【００４５】
本発明では、ＵＴＦ−８  １６進数が用いられるため、１６個のチャンネルが用いられている。
【００４６】
本発明で用いられるＵＴＦ−８  １６進数はエンコーディング／デコーディング方式である。ＵＴＦ−８  １６進数が用いられると、例えば、Ａは４１、Ｊは４ａ、ｊは６ａといった方法で変換が可能である。
【００４７】
ディープラーニングマシンに対し、「４１」はＵＴＦ−８  １６進数の形態であると知らせておくと、ディープラーニングマシンでは、「４１」をデコードして「Ａ」と認識することができる。
【００４８】
しかし、ウェブトラフィックに対するディープラーニング方法を用いるディープラーニングマシンは、ウェブトラフィックがイメージ化された情報を受信する。そのため、単に「Ａ」を「４１」に変換のうえ、ディープラーニングマシンに対し「Ａ」は「４１」に相当する値を有することを学習させることはできない。
【００４９】
既存の６８個の文字列しか学習できなかったディープラーニングマシンに対してＤＢＦＣを学習させるためには、図３に示すようなイメージを学習させる必要がある。
【００５０】
例えば、図３に示す表の各升はピクセル（イメージ）とされ、該表のＸ軸、すなわち、横軸の項目は入力値であり、Ｙ軸、すなわち、縦軸の項目は各升がマッチングされている文字を意味する。
【００５１】
つまり、ディープラーニングマシンがウェブページのＵＲＬ形式を受け入れるためには、ＵＴＦ−８  １６進数に対するイメージ変換が行われる必要がある。
【００５２】
因みに、本発明では、ＵＴＦ−８  １６進数形式がイメージ化されて表現されていてよい。
【００５３】
既存の場合、大文字も小文字に変換して６８字中に属する文字が入力される場合は６８次元ｏｎｅ−ｈｏｔ  ｖｅｃｔｏｒに変換され、それに属しない文字が入力される場合は６８次元零ベクトルに変換、すなわち、無視される。
【００５４】
しかし、本発明では、大文字を小文字に変換せずに、そのままユニコードを支援するエンコーディング技法（ＵＴＦ−８である必要なし）で読み込み、これらはコンピューターにビットで格納される。
【００５５】
例えば、アルファベットは文字当たり８ビット、ハングルは文字当たり１６ビットで格納される。本発明では、これらのビットを４ビット単位で１６進数変換をする。すなわち、本発明では、アルファベットは文字当たり２桁の１６進数、ハングルは文字当たり４桁の１６進数で変換する。
【００５６】
このような変換が行われると、すべての文字が１６進数で表現されるため、変換対象になる最終文字列は０１２３４５６７８９ａｂｃｄｅｆ中の一つだけで構成され得る。すなわち、文字当たり１６次元ｏｎｅ  ｈｏｔ  ｖｅｃｔｏｒにすることができる。
【００５７】
このような作業を経ると、英文だけで構成された文字列は２倍になる（文字当たり二つの１６進数であるため）。その結果、神経網の訓練に用いられるメモリ量は増加し、メモリ量は入力文字列の長さにも影響され得る。
【００５８】
本発明が１６進数を活用する特徴について改めて整理すると、次のとおりである。
【００５９】
従来では、６８個の文字列しかに認識できなかったが、本発明では、１６進数を活用することにより、６８個よりも多くの文字列を認識することができる。
【００６０】
特に、本発明は、（ｉ）ウェブトラフィックが受信されると、（ｉｉ）ディープラーニングマシン１０のそれぞれが文字列をＵＴＦ−８  １６進数でエンコードし、（ｉｉｉ）文字列をイメージに変換して、（ｉｖ）イメージをディープラーニング学習するという特徴を有している。
【００６１】
すなわち、本発明が１６進数を用いるということは、ディープラーニングマシン１０がウェブトラフィックの文字列をＵＴＦ−８  １６進数で表現するということを意味する。
【００６２】
本発明の特徴は、ウェブトラフィックをＵＴＦ−８  １６進数でエンコードしてイメージ化した後、イメージ化された情報をディープラーニング学習に用いるということである。
【００６３】
第二に、本発明では、増分学習を用いている。
【００６４】
ウェブトラフィックの特性上、サイトの構造が変更されたり改善されたりした場合、既存に入ってきていたウェブトラフィックの形態が確然と変わるため、既存に用いられていたディープラーニングマシンの正確度が落ちる確率が高い。すなわち、従来のディープラーニング方法によれば、ディープラーニングマシンがウェブトラフィックを学習した時期から時間が経つにつれ、ディープラーニングマシンがウェブトラフィックを分析しハッキングの有無を把握する正確度が落ちるという不具合が生じることがあった。これに対し、従来は、ディープラーニングマシンを追加データにて「アップデート」するのが困難であった。
【００６５】
これを解決するために、本発明では、増分学習（ｉｎｃｒｅｍｅｎｔａｌ  ｌｅａｒｎｉｎｇ）を用いている。
【００６６】
増分学習によれば、ディープラーニングマシンを追加データにて「アップデート」することができ、その結果、一つのディープラーニングマシンが誤った判断を下した場合、一緒に用いられていた他のディープラーニングマシンが該誤った判断を修正することができる。
【００６７】
因みに、増分学習とは、追加的な学習が不可能だったディープラーニングマシン一つを、学習周期が異なる他のディープラーニングマシンと一緒に運用しながら、各ディープラーニングマシンにエラー率に応じた重みを指定し、ディープラーニングマシンのそれぞれのエラーを最小化させる方法である。
【００６８】
従来の増分学習方法では、各ディープラーニングマシンに重複するデータなしで、新しいデータだけを学習していた。例えば、従来の増分学習方法では、ディープラーニングマシン１には１週目のデータだけを学習させ、ディープラーニングマシン２には２週目のデータだけ学習させ、ディープラーニングマシン３には３週目のデータだけを学習させていた。ウェブトラフィックのパターンが一定であると仮定すれば、これは問題にならない。しかし、ウェブトラフィックの形態は変わりやすいため、各ディープラーニングマシンが特定の周期だけ学習した状態でエラー率が計算され、各ディープラーニングマシンに重みが指定されると、一つのディープラーニングマシンの結果だけが過大評価される恐れがある。
【００６９】
これを防止するために、本発明では、ディープラーニングマシンが学習するデータの周期が重なるように設計されている。例えば、ディープラーニングマシン１は１週目〜４週目のデータを学習するように設定され、ディープラーニングマシン２は２週目〜５週目のデータを学習するように設定され、ディープラーニングマシン３は３週目〜６週目のデータを学習するように設定されていてよい。
【００７０】
また、本発明では、最近のデータで各マシンのエラー率が計算でき、且つ最もエラー率の低いディープラーニングマシンが検知用ディープラーニングマシンとして活用できる。
【００７１】
この場合、ディープラーニングマシンのエラー率に応じて、重みが各ディープラーニングマシンに指定されていてよい。
【００７２】
すなわち、前記したような本発明によれば、一つのディープラーニングマシンが過大な評価を下すことが防止でき、且つウェブトラフィックの特性が考慮され得る。
【００７３】
本発明が増分学習を用いて特徴についてあらためて整理すると、次のとおりである。
【００７４】
本発明が用いる増分学習の最大の特徴は、例えば、ディープラーニングマシン１が１〜３週目のデータを学習し、ディープラーニングマシン２が２〜４週目のデータを学習し、ディープラーニングマシン３が３〜５週目のデータを学習することで、各ディープラーニングマシンの学習するデータが重畳されるということである。
【００７５】
この場合、５週目のデータの約１０％に対しては、ディープラーニングマシンが学習をせず、学習されないデータはテスター用として用いられる。
【００７６】
この余分の１０％のデータによって３つのディープラーニングマシンをテストすると、ディープラーニングマシンのそれぞれのエラー率（正確度）を把握することができる。
【００７７】
なぜなら、該余分の１０％のデータは、正しい検知か誤った検知かについての管理者による判断済みのデータであるからた。
【００７８】
前記正確度（エラー率）に基づき、図５に示した公式によって、各ディープラーニングマシンの重みが設定されていてよい。すなわち、正確度が高いマシンは重みを高く、正確度が低いマシンは重みが低く設定されていてよい。
【００７９】
前記過程を通じて最終的にウェブトラフィック分析機能を向上することができる。
【００８０】
以下、図４を参考して１６進数を活用する本発明の特徴を詳述し、図５を参照して増分学習についての特徴を詳述する。
【００８１】
図４は、本発明に係るウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法のうちの１６進数を用いる方法を示した例示図である。図４中の（ａ）は、従来のディープラーニング方法を示し、（ｂ）は、本発明に係るディープラーニング方法を示す。
【００８２】
従来のディープラーニング方法では、（ａ）に示すように、ウェブトラフィックが受信されると、ウェブトラフィックを６８個の文字で表現するために、マシンがウェブトラフィックを６８個のチャンネルを活用してイメージに変換させた後、変換されたイメージに対してディープラーニング学習を行って、最終的に学習を完了する。
【００８３】
しかし、本発明に係るディープラーニング方法では、（ｂ）に示すように、ウェブトラフィックが受信されると、ウェブトラフィックを１６進数で表現するために、マシンがウェブトラフィックを１６個のチャンネルを活用してイメージに変換させた後、変換されたイメージに対してディープラーニング学習を行って、最終的に学習を完了する。
【００８４】
つまり、本発明によれば、従来は６８個の文字しか表現できなかったウェブトラフィックが、英文の場合は２個の１６進数チャンネルを用いて２５６字が表現でき、ハングルの場合は６個の１６進数チャンネルを用いて１６,７７７,２１６字が表現できる。
【００８５】
この場合、英文は１ｂｙｔｅで表現でき、ハングルは３ｂｙｔｅｓで表現できる。
【００８６】
つまり、本発明によれば、種々の文字及び形態で構成されたあらゆる種類のウェブトラフィックが認識でき、その結果、あらゆる種類のハッキングが検出できる。
【００８７】
１６進数変換について敷衍して説明すると、次のとおりである。
【００８８】
ウェブトラフィック、つまり、ＵＲＬは、既存の文字列と異なり、大・小文字の差異と言語の差異によって、その意味が確然と変わることがある。従来は６８個の文字列以外の文字がウェブトラフィックに入力されると、当該文字は空白と処理されていた（大文字の場合には小文字に置換）。
【００８９】
例えば、「https://www.asdf.com/悪戯ファイル.exe」が成功すると、すなわち、正常に行われると、攻撃（ハッキング）と判断され得るが、従来は、「https://www.asdf.com/    .exe」と認識されていたため、「https://www.asdf.com/    .exe」は実行自体ができなかった。
【００９０】
しかし、ディープラーニングマシンが学習をするとき、「https://www.asdf.com/    .exe」が攻撃、すなわち、ハッキングだと学習をしたら、それ以降は「https://www.asdf.com/善良ファイル.exe」が受信されたとき、「https://www.asdf.com/善良ファイル.exe」が攻撃ではないにもかかわらず、ディープラーニングマシンが「https://www.asdf.com/善良ファイル.exe」を攻撃と判断することがある。このため、かかるエラーは修正されるべきである。そこで、本発明では、ＵＴＦ−８  １６進数を用いている。
【００９１】
すなわち、ＵＴＦ−８  １６進数を用いると、より多くの文字列が認識できるため、ディープラーニングマシンはより多様な情報を認識して、より多様な分析結果を提供することができる。
【００９２】
また、ＵＴＦ−８  １６進数を用いると、メモリの増加を最小化しつつより多くの文字列に関する情報を迅速に格納することができる。
【００９３】
図５は、本発明に係るウェブトラフィック学習のための１６進数イメージ変換と増分学習を適用したディープラーニング方法のうちの増分学習方法を示した例示図である。
【００９４】
本発明に適用される増分学習方法は、次のような特徴を有している。
【００９５】
第一に、本発明に適用される増分学習方法では、各周期毎に学習したマシンのエラー率を計算し、それに応じた重みを指定することができる。
【００９６】
第二に、本発明に適用される増分学習方法では、複数のマシンを同時に運用することで、一つのマシンに対するエラーを最小化することができる。
【００９７】
第三に、本発明に適用される増分学習方法では、新しいウェブトラフィックを迅速に認識することができるため、新しいウェブトラフィックに関するより迅速な対応が可能となる。
【００９８】
本発明に適用される増分学習方法は、図１及び図４に示すような四つのディープラーニングマシンだけを用いるものに限定されることではない。すなわち、本発明に適用されるディープラーニングマシンの数と学習周期は、状況に応じて多様に変更され得る。
【００９９】
増分学習について敷衍して説明すると、次のとおりである。
【０１００】
一般に、ディープラーニングマシンがいくら学習をしても、ディープラーニングマシンがウェブトラフィックのハッキングの有無を１００％正確に判断することはできない。この正確ではない部分をエラー率という。経時的にディープラーニングマシンの学習基盤は古いデータであるのに対し、ウェブトラフィックはいつも変わるため、ディープラーニングマシンの正確度は次第に落ちるようになる。
【０１０１】
また、従来の方法では、既に学習を完了したディープラーニングマシンを新しいデータを用いてさらに学習させることもできなかった。
【０１０２】
これを解決するために、本発明では、新しいデータにて学習されたディープラーニングマシンを、古いデータで学習されているディープラーニングマシンと一緒に用いており、このような方法を増分学習という。
【０１０３】
例えば、従来の方法で、ディープラーニングマシン１は第１週のデータを学習し、ディープラーニングマシン２は第２週のデータを学習し、ディープラーニングマシン３は第３週のデータを学習したと仮定するとき、ディープラーニングマシン３は、第３週のデータから約１０％を除外した残りのデータで学習をする。
【０１０４】
この場合、三つのディープラーニングマシンに対し、前記除外しておいた１０％のデータによってテストを行うと、前記三つのディープラーニングマシンに対するエラー率が得られる。
【０１０５】
エラー率が得られると、各ディープラーニングマシンに対し重みが指定される。
【０１０６】
例えば、ディープラーニングマシン１はエラー率３％、ディープラーニングマシン２はエラー率２％、ディープラーニングマシン３はエラー率１％と仮定したとき、ｌｏｇ（１／エラー率）の公式によって、ディープラーニングマシン１の重み（ｗｅｉｇｈｔ）は約１．５、ディープラーニングマシン２の重みは約１．７、ディープラーニングマシン３の重みは約２とされ得る。
【０１０７】
この場合、新しいウェブトラフィックを、ディープラーニングマシン１では攻撃（ハッキング）と判断し、ディープラーニングマシン２では攻撃でないと判断し、ディープラーニングマシン３では攻撃と判断すると、最終判定は攻撃と判断することができる。すなわち、ディープラーニングマシンのそれぞれの重みと判断結果を考慮して最終的な判断結果を算出することができる。
【０１０８】
次いで、次の学習周期になると、ディープラーニングマシン１が外され、ディープラーニングマシン４が新たに追加される。
【０１０９】
つまり、従来は、ディープラーニングマシンが学習するデータが重なっていなかったため、特定のマシンの重みが飛躍的に偏る傾向となることもあった。なぜなら、エラー率を算定するためのテストデータが概して新しい形式のウェブトラフィックであると、最近のデータで学習したディープラーニングマシンのエラー率が低く、残りのディープラーニングマシンのエラー率が高くなるからである。
【０１１０】
したがって、ディープラーニングマシン１のエラー率が３０％で、ディープラーニングマシン２のエラー率が２０％で、ディープラーニングマシン３のエラー率が５％であるとすれば、ｌｏｇ（１／エラー率）の公式によって、ディープラーニングマシン１の重みは約０．５、ディープラーニングマシン２の重みは約０．７、ディープラーニングマシン３の重みは約１．３に設定され得る。
【０１１１】
この場合、ディープラーニングマシン１とディープラーニングマシン２が正しく、５％の確率でディープラーニングマシン３が間違っていても、無条件でディープラーニングマシン３の結果が最終判断結果になる。
【０１１２】
しかし、本発明のように、学習周期が重なると、例えば、前述したように、ディープラーニングマシン１は１週目〜４週目のデータを学習するように設定され、ディープラーニングマシン２は２週目〜５週目のデータを学習するように設定され、ディープラーニングマシン３は３週目〜６週目のデータを学習するように設定されて、各ディープラーニングマシンが以前のデータと新しいデータとの双方によって学習されると、重みが偏る現象を防止することができる。
【０１１３】
なぜなら、ディープラーニングマシンが、新しいデータだけではなく、既存のデータでも学習したからである。
【０１１４】
本発明の属する技術分野の当業者であれば、本発明がその技術的思想や必須特徴を変更することなく、他の具体的な形態で実施され得ることが理解できるであろう。よって、以上で記述した実施例は、すべての面で例示的なものであって限定的なものではないと理解すべきである。本発明の範囲は、前記詳細な説明よりは特許請求の範囲によって示され、特許請求の範囲の意味及び範囲、そしてその等価概念から導出されるすべての変更または変形された形態が本発明の範囲に含まれるものと解釈されなければならない。
【符号の説明】
【０１１５】
１０：ディープラーニングマシン            ２０：制御サーバ
３０：ユーザ端末機                        ４０：ハッカー端末機
５０：業者サーバ                          ９０：管理業者
【図１】
2020013536.tif 000003
【図２】
2020013536.tif 000004
【図３】
2020013536.tif 000005
【図４】
2020013536.tif 000006
【図５】
2020013536.tif 000007