(57)【要約】【課題】本開示は、ネットワークシステムにおけるトラフィック群から学習を行い、学習したトラフィック群の持つ特徴と同じ特徴を持った擬似トラフィックを生成することを目的とする。【解決手段】本開示に係るトラフィック生成装置１００は、擬似トラフィック生成モデル部１１と、入力されたトラフィックが擬似トラフィックか学習トラフィックかを識別するトラフィック識別モデル部１２と、トラフィック識別モデル部１２に入力されたトラフィックとトラフィック識別モデル部１２の識別結果が一致しているかを判定する識別結果判定部１３と、トラフィック識別モデル部１２の識別結果が一致している場合、学習トラフィックを基に擬似トラフィック生成モデル部１１における擬似トラフィックの生成に用いるパラメータを更新する更新部と、を備える。【選択図】図１
2018125632.tif 000002
【特許請求の範囲】
【請求項１】
ノイズデータを用いて擬似トラフィックを生成し、生成した擬似トラッフィクが学習トラフィックに似るように学習する擬似トラフィック生成モデル部と、
入力されたトラフィックが擬似トラフィックか学習トラフィックかを識別し、識別精度が高くなるように学習するトラフィック識別モデル部と、
前記トラフィック識別モデル部に入力されたトラフィックと前記トラフィック識別モデル部の識別結果が一致しているかを判定する識別結果判定部と、
前記トラフィック識別モデル部の識別結果と前記入力されたトラフィックが一致している場合、入力された学習トラフィックを基に前記擬似トラフィック生成モデル部における擬似トラフィックの生成に用いるパラメータを更新する更新部と、
を備えるトラフィック生成装置。
【請求項２】
前記更新部は、前記トラフィック識別モデル部の識別結果と前記入力されたトラフィックが一致していない場合、入力された学習トラフィックを基に前記トラフィック識別モデル部における識別に用いるパラメータを更新する、
請求項１に記載のトラフィック生成装置。
【請求項３】
学習用トラフィックの一部を前記学習トラフィックとして抽出し、抽出した学習トラフィックを前記トラフィック識別モデル部及び前記更新部に入力する学習トラフィック抽出部をさらに備える、
請求項１又は２に記載のトラフィック生成装置。
【請求項４】
前記学習トラフィックの元となる学習用トラフィックの少なくとも一部を前記擬似トラフィックに結合させて結合擬似トラフィックを生成し、前記結合擬似トラフィックを前記トラフィック識別モデル部に入力する擬似トラフィック結合部をさらに備える、
請求項１から３のいずれかに記載のトラフィック生成装置。
【請求項５】
擬似トラフィック生成モデル部が、ノイズデータを用いて擬似トラフィックを生成する擬似トラフィック生成ステップと、
トラフィック識別モデル部が、入力されたトラフィックが擬似トラフィックか学習トラフィックかを識別するトラフィック識別ステップと、
識別結果判定部が、前記トラフィック識別モデル部に入力されたトラフィックと前記トラフィック識別モデル部の識別結果が一致しているかを判定する識別結果判定ステップと、
更新部が、前記トラフィック識別モデル部の識別結果と前記入力されたトラフィックが一致している場合、入力された学習トラフィックを基に前記擬似トラフィック生成モデル部における疑似トラフィックの生成に用いるパラメータを更新する更新ステップと、
を実行するトラフィック生成方法。
【請求項６】
前記更新ステップにおいて、前記更新部が、前記トラフィック識別モデル部の識別結果と前記入力されたトラフィックが一致していない場合、入力された学習トラフィックを基に前記トラフィック識別モデル部における識別に用いるパラメータを更新する、
請求項５に記載のトラフィック生成方法。
【請求項７】
前記トラフィック識別ステップにおいて、学習トラフィック抽出部が、前記学習トラフィックの元となる学習用トラフィックの一部を前記学習トラフィックとして抽出し、抽出した学習トラフィックを前記トラフィック識別モデル部及び前記更新部に入力し、
前記更新ステップにおいて、更新部が、前記学習トラフィック抽出部の抽出した学習トラフィックを基に、前記擬似トラフィック生成モデル部における擬似トラフィックの生成に用いるパラメータを更新する、
請求項５又は６に記載のトラフィック生成方法。
【請求項８】
前記擬似トラフィック生成ステップにおいて、擬似トラフィック結合部が、前記学習トラフィックの元となるトラフィックの少なくとも一部を前記擬似トラフィックに結合させて結合擬似トラフィックを生成し、前記結合擬似トラフィックを前記トラフィック識別モデル部に入力する、
請求項５から７のいずれかに記載のトラフィック生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、トラフィック群の持つ特徴と同じ特徴を持った擬似トラフィックを生成するトラフィック生成装置及びトラフィック生成方法に関する。
【背景技術】
【０００２】
現在、通信の高速化などに伴ってネットワークシステムにおいて送受信されるトラフィックは非常に膨大な量である。これらのトラフィックを保存もしくは送受信するためには膨大なリソース（ストレージ、ネットワーク帯域および送受信時間、電力など）を必要とする。例えば、現在では、数百ＧＢ・数ＴＢのストレージや、数Ｇｂｐｓの帯域と数時間などのリソースが必要となっている。
【０００３】
現状ではトラフィックそのものではなく、類似する擬似的なトラフィックもしくはトラフィックの持つ特徴のみが必要である場合でも、膨大なトラフィックの保存、通信が必要となっている（以降、あるトラフィック群に類似する擬似的なトラフィックもしくはトラフィックの持つ特徴の事をまとめて擬似トラフィックと呼ぶ）。
【０００４】
また、トラフィックは多くの場合、機密情報を含んでいる。例えば利益獲得を目的としてトラフィックそのものを売買することはセキュリティの観点などから困難であることが多い。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｇｏｏｄｆｅｌｌｏｗ，  Ｉａｎ，  Ｐｏｕｇｅｔ−Ａｂａｄｉｅ，  Ｊｅａｎ，  Ｍｉｒｚａ，  Ｍｅｈｄｉ，  Ｘｕ，  Ｂｉｎｇ，  Ｗａｒｄｅ−Ｆａｒｌｅｙ，  Ｄａｖｉｄ，  Ｏｚａｉｒ，  Ｓｈｅｒｊｉｌ，  Ｃｏｕｒｖｉｌｌｅ，  Ａａｒｏｎ  ａｎｄ  Ｂｅｎｇｉｏ，  Ｙｏｓｈｕａ，  “Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｓ”，  ＮＩＰＳ２０１４
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本開示は、ネットワークシステムにおけるトラフィック群から学習を行い、学習したトラフィック群の持つ特徴と同じ特徴を持った擬似トラフィックを生成することを目的とする。
【課題を解決するための手段】
【０００７】
データを生成モデルの構築手法としてＧＡＮｓ（ｇｅｎｅｒａｔｉｖｅ  ａｄｖｅｒｓａｒｉａｌ  ｎｅｔｓ）が知られている（非特許文献１参照。）。そこで、本開示は、擬似トラフィックを生成するトラフィック生成システムにおいてＧＡＮｓによる手法を用いた。
【０００８】
より具体的には、本開示のトラフィック生成装置は、
ノイズデータを用いて擬似トラフィックを生成し、生成した擬似トラッフィクが学習トラフィックに似るように学習する擬似トラフィック生成モデル部と、
入力されたトラフィックが擬似トラフィックか学習トラフィックかを識別し、識別精度が高くなるように学習するトラフィック識別モデル部と、
前記トラフィック識別モデル部に入力されたトラフィックと前記トラフィック識別モデル部の識別結果が一致しているかを判定する識別結果判定部と、
前記トラフィック識別モデル部の識別結果と前記入力されたトラフィックが一致している場合、入力された学習トラフィックを基に前記擬似トラフィック生成モデル部における擬似トラフィックの生成に用いるパラメータを更新する更新部と、
を備える。
【０００９】
本開示のトラフィック生成装置では、前記更新部は、前記トラフィック識別モデル部の識別結果と前記入力されたトラフィックが一致していない場合、入力された学習トラフィックを基に前記トラフィック識別モデル部における識別に用いるパラメータを更新してもよい。
【００１０】
本開示のトラフィック生成装置では、学習用トラフィックの一部を前記学習トラフィックとして抽出し、抽出した学習トラフィックを前記トラフィック識別モデル部及び前記更新部に入力する学習トラフィック抽出部をさらに備えてもよい。
【００１１】
本開示のトラフィック生成装置では、前記学習トラフィックの元となる学習用トラフィックの少なくとも一部を前記擬似トラフィックに結合させて結合擬似トラフィックを生成し、前記結合擬似トラフィックを前記トラフィック識別モデル部に入力する擬似トラフィック結合部をさらに備えてもよい。
【００１２】
より具体的には、本開示のトラフィック生成方法は、
擬似トラフィック生成モデル部が、ノイズデータを用いて擬似トラフィックを生成する擬似トラフィック生成ステップと、
トラフィック識別モデル部が、入力されたトラフィックが擬似トラフィックか学習トラフィックかを識別するトラフィック識別ステップと、
識別結果判定部が、前記トラフィック識別モデル部に入力されたトラフィックと前記トラフィック識別モデル部の識別結果が一致しているかを判定する識別結果判定ステップと、
更新部が、前記トラフィック識別モデル部の識別結果と前記入力されたトラフィックが一致している場合、入力された学習トラフィックを基に前記擬似トラフィック生成モデル部における疑似トラフィックの生成に用いるパラメータを更新する更新ステップと、
を実行する。
【００１３】
本開示のトラフィック生成方法では、
前記更新ステップにおいて、前記更新部が、前記トラフィック識別モデル部の識別結果と前記入力されたトラフィックが一致していない場合、入力された学習トラフィックを基に前記トラフィック識別モデル部における識別に用いるパラメータを更新してもよい。
【００１４】
また、本開示のトラフィック生成方法では、  前記トラフィック識別ステップにおいて、学習トラフィック抽出部が、前記学習トラフィックの元となる学習用トラフィックの一部を前記学習トラフィックとして抽出し、抽出した学習トラフィックを前記トラフィック識別モデル部及び前記更新部に入力し、
前記更新ステップにおいて、更新部が、前記学習トラフィック抽出部の抽出した学習トラフィックを基に、前記擬似トラフィック生成モデル部における擬似トラフィックの生成に用いるパラメータを更新してもよい。
【００１５】
本開示のトラフィック生成方法では、前記擬似トラフィック生成ステップにおいて、擬似トラフィック結合部が、前記学習トラフィックの元となるトラフィックの少なくとも一部を前記擬似トラフィックに結合させて結合擬似トラフィックを生成し、前記結合擬似トラフィックを前記トラフィック識別モデル部に入力してもよい。
【００１６】
本開示のトラフィック生成プログラムは、本開示に係るトラフィック生成装置に備わる各機能をコンピュータに実現させるためのプログラムであり、本開示に係るトラフィック生成方法に備わる各ステップをコンピュータに実行させるためのプログラムである。本開示のトラフィック生成プログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
【００１７】
なお、上記各開示は、可能な限り組み合わせることができる。
【発明の効果】
【００１８】
本開示によれば、ネットワークシステムにおけるトラフィック群から学習を行い、学習したトラフィック群の持つ特徴と同じ特徴を持った擬似トラフィックを生成することができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係るトラフィック生成装置の第一例である。
【図２】本実施形態に係る擬似トラフィック生成モデル部の一例である。
【図３】本実施形態に係るトラフィック識別モデル部の一例である。
【図４】本実施形態に係る学習フローの一例である。
【図５】本実施形態に係るトラフィック生成装置の第二例である。
【図６】本実施形態に係るトラフィック生成装置の第三例である。
【発明を実施するための形態】
【００２０】
以下、本開示の実施形態について、図面を参照しながら詳細に説明する。なお、本開示は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本開示は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【００２１】
本開示は、一般的に画像生成などの用途で知られているＧＡＮｓをトラフィック生成に応用した。ＧＡＮｓと呼ばれる手法を用いることで、学習するトラフィックのデータ構造について考慮することなく、擬似トラフィック生成モデルを実現することが可能となる。ＧＡＮｓを用いる事でデータ構造を意識せずに学習可能である。
【００２２】
ＧＡＮｓでは、生成モデルとデータの真贋を判定する識別モデルが存在する。生成モデルでは識別モデルを騙すデータを生成することを目的とし、識別モデルは生成モデルが作成したデータを見抜くことを目的とし、互いに切磋琢磨して相互に学習させることで精度の高いデータを生成する。本開示は、トラフィック生成システムの生成モデルを構築する際に、擬似トラフィック生成モデルと生成トラフィックの真贋を判定するトラフィック識別モデルを相互に学習させるＧＡＮｓと呼ばれる手法を用いることで、自動的に学習を行い擬似トラフィック生成モデルの精度を高めることが可能となる。
【００２３】
学習トラフィック及び擬似トラフィックは、トラフィックに含まれる任意の単位のデータである。例えば、区切り無くパケット全体を対象としてもよいが、ＧＡＮｓをそのまま学習箇所をパケット全体に適用することはせず、Ｅｔｈｅｒフレーム部分、ＩＰヘッダ部分、ペイロード部分などに分割して学習させ、部分的なトラフィックの生成を可能とする構成としてもよい。これにより、トラフィック生成モデルの学習の際に、学習箇所をパケットの特定部分に絞りその他の箇所については固定値や後から設定可能とする事で、元トラフィックと異なっていてはならない部分「以外」の部分についてのみ擬似トラフィックを生成することが可能となる。
【００２４】
具体的には、ＩＰヘッダのＦｌａｇｓの１ｂｉｔ目（必ず０になる）などの、値が固定値になっているものや、ヘッダチェックサムなどの、パケットヘッダ確定後に計算する必要があるものなどから擬似トラフィックを生成するため、区切り有りがあるように設定した。ただし、ＩＰ、Ｅｔｈｅｒ、ペイロード等の大まかな区切りで学習することで部分的に学習することも可能である。
【００２５】
さらに特定のビット（ＩＰバージョンやフラグなど）については、設定可能とすることで壊れていないパケットを生成可能である。ＩＰのバージョン、フラグなど、特定の箇所については固定値や設定可能とする構成とした。トラフィック生成モデルの活性化関数に一般によく用いられるＲｅＬＵではなくＴａｈｎを用いる事で学習精度を向上することができる。
【００２６】
また、トラフィック生成モデルの活性化関数にドロップアウトの割合（０≦ｒａｔｅ＜１）を一般によく用いられる０．５などの値ではなく、０．９９などの非常に大きな値を用いることで過学習を防ぎ、学習の精度を向上することができる。
【００２７】
（実施形態１）
図１は、本実施形態に係るトラフィック生成装置の第一例である。トラフィック生成装置１００は、擬似トラフィック生成モデル部１１、トラフィック識別モデル部１２、識別結果判定部１３を備える。識別結果判定部１３は、識別結果判定部及び更新部として機能する。擬似トラフィック生成モデル部１１及びトラフィック識別モデル部１２が深層学習すなわちＤＮＮ（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）などの学習機能を有する。トラフィック生成装置１００に備わるこれらの機能部は、コンピュータにモデル学習プログラム１０を実行させることで実現する。
【００２８】
擬似トラフィック生成モデル部１１は、ノイズデータを用いて擬似トラフィックを生成するためのモデル部である。ノイズデータは、擬似トラフィック生成モデル部１１の入力であり、擬似トラフィックを生成する際のシーズとなるデータである。ノイズデータは、学習トラフィックとは異なる任意のデータ列を用いることができ、例えば、乱数データを用いることができる。
【００２９】
トラフィック識別モデル部１２は、入力されたトラフィックが擬似トラフィック生成モデル部１１から出力された擬似トラフィックか、学習トラフィックか、を識別するためのモデル部である。ここで、学習トラフィックは、擬似トラフィック生成モデル部１１およびトラフィック識別モデル部１２の学習を実施するためのデータである。学習トラフィックは、例えば、トラフィック保存に広く用いられているｐｃａｐファイルから読みだしたトラフィックが挙げられる。
【００３０】
識別結果判定部１３は、トラフィック識別モデル部１２に入力されたトラフィックと、トラフィック識別モデル部１２が判定した識別結果が一致しているかを判定することで、トラフィック識別モデル１２の識別結果の正誤を判定する。
【００３１】
例えば、トラフィック識別モデル部１２に擬似トラフィックが入力されて、トラフィック識別モデル部１２が入力された擬似トラフィックを擬似トラフィックと判定した場合、識別結果判定部１３は、トラフィック識別モデル部１２に入力されたトラフィックとトラフィック識別モデル部１２の識別結果が一致しているため、トラフィック識別モデル１２の識別結果を正しいと判断する。
【００３２】
逆に、トラフィック識別モデル部１２に擬似トラフィックが入力されて、トラフィック識別モデル部１２が入力された擬似トラフィックを学習トラフィックと判定した場合、識別結果判定部１３は、トラフィック識別モデル部１２に入力されたトラフィックとトラフィック識別モデル部１２の識別結果が一致しないため、トラフィック識別モデル１２の識別結果を誤りと判断する。
【００３３】
また、識別結果判定部１３は、トラフィック識別モデル１２の識別結果の正誤判定及び入力された学習トラフィックに基づいて擬似トラフィック生成モデル部１１又はトラフィック識別モデル部１２の誤差を計算する。例えば、識別結果が正しいと判断された場合、識別結果判定部１３は擬似トラフィック生成モデル部１１の誤差を計算する。また、識別結果が誤りと判断された場合、識別結果判定部１３はトラフィック識別モデル１２の誤差を計算する。
【００３４】
識別結果判定部１３は、計算した誤差に応じて、擬似トラフィック生成モデル部１１又はトラフィック識別モデル部１２を更新する。識別結果判定部１３が擬似トラフィック生成モデル部１１の誤差を計算した場合、識別結果判定部１３は擬似トラフィック生成モデル部１１における擬似トラフィックの生成に用いるパラメータを更新する。また、識別結果判定部１３がトラフィック識別モデル部１２の誤差を計算した場合、識別結果判定部１３はトラフィック識別モデル部１２における識別に用いるパラメータを更新する。
【００３５】
〔トラフィック生成モデル部〕
図２は、本実施形態に係る擬似トラフィック生成モデル部１１の一例を示す。擬似トラフィック生成モデル部１１は、ノイズデータを用いて擬似トラフィックを生成し、生成した擬似トラッフィクが学習トラフィックに似るように学習する機能を有する。例えば、擬似トラフィック生成モデル部１１は、入力層３１、隠れ層３２、出力層３３を備える。入力層３１は、トラフィック生成のシーズとなるノイズデータを入力するための層である。隠れ層３２は、トラフィックの特徴を学習し、重み付けの変更などを行う層である。
【００３６】
ここで、トラフィックの特徴としては、パケット内の各ｂｉｔの分布確率が挙げられる。重みづけとしては、例えば、深層学習において、入力層３１のノード３１Ａ−１と隠れ層３２のノード３２Ａ−２との間、隠れ層３２のノード３２Ａ−２と次の隠れ層３２のノード３２Ｂｎ−１との間、隠れ層３２のノード３２Ｂｎ−１と出力層３３のノード３３Ａ−ｎとの間を接続している各リンクにおいて、重みづけがなされていることが挙げられる。
【００３７】
出力層３３は、擬似トラフィックが生成される層である。本実施形態における実装では、次元数はトラフィック生成モデル部１１の生成する擬似トラフィックのビット数と同じにしている。
【００３８】
〔トラフィック識別モデル部〕
図３は、本実施形態に係るトラフィック識別モデル部１２の一例を示す。トラフィック識別モデル部１２は、入力されたトラフィックが擬似トラフィックか学習トラフィックかを識別し、識別精度が高くなるように学習する機能を有する。入力層４１は、擬似トラフィック生成モデル部１１が生成した擬似トラフィック又は学習トラフィックを入力するための層である。本実施形態における実装では、次元数は擬似トラフィック生成モデル部１１の出力層３３の次元数と同じである。
【００３９】
隠れ層４２は、トラフィックの特徴を学習し、重み付けの変更などを行う層である。トラフィックの特徴及び重みづけは、擬似トラフィック生成モデル部１１と同様である。出力層４３は、識別結果を出力する層である。次元は実装方法によって異なる。
【００４０】
本実施形態では、２次元で学習トラフィックか擬似トラフィックかを識別する例を述べるが、ＤＮＮの次元は２次元で限定されるものではない。
【００４１】
〔学習フロー〕
図４に、本実施形態に係るトラフィック生成モデルの構築方法の一例を示す。本実施形態に係るトラフィック生成モデルのトラフィック生成方法は、トラフィック生成装置１００が、擬似トラフィック生成ステップと、トラフィック識別ステップと、識別結果判定ステップと、更新ステップと、を順に実行する。擬似トラフィック生成ステップではステップＳ１０１を実行し、トラフィック識別ステップではステップＳ１０２を実行し、識別結果判定ステップではステップＳ１０３を実行し、更新ステップではステップＳ１０４〜１０９を実行する。
【００４２】
擬似トラフィック生成モデル部１１とトラフィック識別モデル部１２の学習が進めばよく、実装の違いにより学習フローの各手順は前後する可能性がある。また、その他一般的な深層学習において用いられている学習フローに置き換わってもよい。トラフィック識別モデル部１２が、学習トラフィックか擬似トラフィックであるかを判断し、擬似トラフィック生成モデル部１１及びトラフィック識別モデル部１２がどのように学習するかについては以下のとおりである。
【００４３】
ステップＳ１００：擬似トラフィック生成モデル部１１及びトラフィック識別モデル部１２が学習を開始する。
ステップＳ１０１：擬似トラフィック生成モデル部１１が入力されたノイズデータを基に、擬似トラフィックを生成して、トラフィック識別モデル部１２に入力する。ここでは、プログラミング言語のライブラリとして用意されている乱数生成関数によって生成された乱数データをノイズデータとする。
【００４４】
ステップＳ１０２：トラフィック識別モデル部１２が、入力されたトラフィックが擬似トラフィックか、学習トラフィックかを識別し、識別結果を識別結果判定部１３に入力する。
【００４５】
ステップＳ１０３：識別結果判定部１３が、トラフィック識別モデル部１２に入力されたトラフィックに基づいて、トラフィック識別モデル部１２の識別結果の正誤を判定する。ステップＳ１０１では、トラフィック識別モデル部１２に擬似トラフィックを入力しているため、トラフィック識別モデル部１２の識別結果が擬似トラフィックとした場合はトラフィック識別モデル部１２の識別結果が正しく、トラフィック識別モデル部１２の識別結果が学習トラフィックとした場合はトラフィック識別モデル部１２の識別結果が誤りとなる。
【００４６】
ステップＳ１０４：ステップＳ１０３におけるトラフィック識別モデル部１２の識別結果が擬似トラフィックであるとしたとき、すなわちトラフィック識別モデル部１２の識別結果が正しい場合、識別結果判定部１３が擬似トラフィック識別モデル部１２の識別結果と誤差計算用として識別結果判定部１３に入力された学習トラフィックの誤差を計算する。識別結果判定部１３が計算した誤差を擬似トラフィック生成モデル部１１の誤差とする。擬似トラフィック生成モデル部１１はこの誤差を小さくしようとする。
【００４７】
ステップＳ１０５：識別結果部１３が、ステップＳ１０４で測定した誤差に基づいて、学習トラフィックと擬似トラフィックの誤差を小さくしようと擬似トラフィック生成モデル部１１における擬似トラフィックの生成に用いるパラメータを更新する。すなわち、学習によって、擬似トラフィック生成モデル部１１が生成する擬似トラフィックが、学習トラフィックに近づいて誤差が小さくなるように、擬似トラフィック生成モデル部１１における擬似トラフィックの生成に用いるパラメータを更新する。これにより、生成した擬似トラフィックが学習トラフィックに似るように、トラフィック識別モデル部１２を学習させることができる。
【００４８】
擬似トラフィック生成モデル部１１における擬似トラフィックの生成に用いるパラメータは、例えば、擬似トラフィック生成モデル部１１における入力層、隠れ層、出力層の次元数や接続関係、重みづけ、発火の閾値などが挙げられる。
【００４９】
ステップＳ１０６：ステップＳ１０３におけるトラフィック識別モデル部１２の識別結果が学習トラフィックとしたとき、すなわちトラフィック識別モデル部１２の識別結果が誤りである場合、識別結果判定部１３が擬似トラフィック識別モデル部１２の識別結果と誤差計算用として識別結果判定部１３に入力された学習トラフィックの誤差を計算する。識別結果判定部１３が計算した誤差をトラフィック識別モデル部１２の誤差としてとる。
【００５０】
ステップＳ１０７：識別結果部１３が、ステップＳ１０６で測定したトラフィック識別モデル部１２の誤差を小さくするようにトラフィック識別モデル部１２における識別に用いるパラメータを更新する。つまり、トラフィック識別モデル部１２は、擬似トラフィックをより高精度に識別できるように、トラフィック識別モデル部１２における識別に用いるパラメータを更新される。これにより、識別精度が高くなるように、トラフィック識別モデル部１２を学習させることができる。
【００５１】
トラフィック識別モデル部１２における識別に用いるパラメータとしては、例えば、トラフィック識別モデル部１２における入力層、隠れ層、出力層の次元数や接続関係、重みづけなどが挙げられる。
【００５２】
ステップＳ１０８：指定したステップ数の学習が完了したかどうかを判定する。指定したステップ数の学習が完了していない場合、再びステップＳ１０１の動作を行う。指定したステップ数の学習が完了した場合、ステップＳ１０９の動作に移る。
【００５３】
ステップＳ１０９：学習フローに沿って学習を進め、学習完了後に擬似トラフィック生成モデル部１１及びトラフィック識別モデル部１２の更新を保存する（入力層、隠れ層、出力層の次元数や接続関係、重みづけなどのパラメータを保存する）。これにより、生成モデルの学習を終了する。
【００５４】
ＧＡＮｓを用いることで、非常に少ない手順で学習トラフィックから生成モデルを構築することができる。学習トラフィックを入力するだけで自動的に生成モデルと識別モデルが相互に学習しモデルの精度が高くなる。パケットの構造などを考慮せずにパケットの持つ特徴を抽出することが可能となる。
【００５５】
（実施形態２）
図５は、本実施形態に係るトラフィック生成装置の第二例を示す。本実施形態に係るモデル学習プログラムは、実施形態１と同様に擬似トラフィック生成モデル部１１と、トラフィック識別モデル部１２と、識別結果判定部１３とを備え、新たに学習トラフィック抽出部１４を備える。擬似トラフィック生成モデル部１１、トラフィック識別モデル部１２及び識別結果判定部１３の構成、並びに、擬似トラフィック生成ステップ、トラフィック識別ステップ、識別結果判定ステップについては、実施形態１と同様である。
【００５６】
本実施形態の学習トラフィック抽出部１４は、元となる学習用トラフィックを分割し、学習したい箇所のみを学習トラフィックとしてトラフィック識別モデル部１２及び識別結果判定部１３に入力として与えるための機能部である。トラフィックの学習箇所以外の部分は、学習用トラフィックから抽出しても良いし、別途生成しても良い。
【００５７】
トラフィックの一部のみを学習する場合（例えばＩＰヘッダ部分のみを学習する場合）は学習トラフィック抽出部１４を用いて元となる学習用トラフィックから抽出された学習トラフィックを用意する。この時に学習トラフィックの切り出された箇所と擬似トラフィックの生成する箇所は一致するようにモデルを構築する（次元数を合わせるなど）。
【００５８】
（実施形態３）
図６は、本実施形態に係るトラフィック生成装置の第三例を示す。本実施形態に係るトラフィック生成装置１００は、実施形態１に記載の擬似トラフィック生成モデル部１１に代え、擬似トラフィック生成モデル部２１及び擬似トラフィック結合部２２を備える。擬似トラフィック生成モデル部２１及び擬似トラフィック結合部２２は、コンピュータにトラフィック生成プログラム２０を実行させることで実現する。擬似トラフィック生成プログラム２０は、実施形態１及び２において、保存されたモデルを用いて擬似トラフィックを生成する。
【００５９】
擬似トラフィック生成モデル部２１は、実施形態１及び２を実施して学習した擬似トラフィック生成モデル部１１である。擬似トラフィック生成モデル部２１は、擬似トラフィック生成モデル部１１と同様にノイズデータを用いて擬似トラフィックを演算して、出力する。
【００６０】
擬似トラフィック結合部２２は、擬似トラフィック生成モデル部２１で生成された擬似トラフィックと、トラフィックの学習箇所以外の部分を組み合わせるための機能部である。擬似トラフィック生成モデル部２１が生成した擬似トラフィックがトラフィックの一部のみである場合（たとえばＩＰヘッダのみ）、結合用トラフィックとしてトラフィックの残りの部分（たとえばＥｔｈｅｒフレーム部分とペイロード部分）を用意して、擬似トラフィック結合部２２においてそれらを結合することでＩＰパケットとして結合擬似トラフィックを生成する。
【００６１】
トラフィック生成方法におけるトラフィック生成装置１００の動作は、図４と同様である。ただし、図４における「生成された擬似トラフィック」は「結合擬似トラフィック」に代わる。ステップＳ１０２において、トラフィック識別モデル部１２が、擬似トラフィック生成モデル部２１が結合した結合擬似トラフィックを用いて、擬似トラフィックか、学習トラフィックかを識別する。
【００６２】
なお、本実施形態では、モデル学習プログラム１０と擬似トラフィック生成プログラム２０を別々のプログラムとしたが、一つのプログラム内にかかれていても良い。
【００６３】
〔発明によって生じる効果〕
ＧＡＮｓを用いることで、非常に少ない手順で学習トラフィックから擬似トラフィックの生成モデルを構築することができる。学習トラフィックを入力するだけで、自動的に擬似トラフィック生成モデル部１１とトラフィック識別モデル部１２が相互に学習し、擬似トラフィック生成モデル部１１の精度が高くなる。また擬似トラフィック生成モデル部１１を学習させることで、パケットの構造などを考慮せずにパケットの持つ特徴を抽出することが可能となる。ここで、トラフィック生成モデル部１１及びトラフィック識別モデル部１２に用いられる学習機能はＤＮＮに限定されない。例えば、隠れ層が１層や２層のＮＮ（Ｎｅｕｒａｌ  ｎｅｔ）やＲＮＮ（Ｒｅｃｕｒｒｅｎｔ  ＮＮ）であっても、本実施形態と同様の効果を得ることができる。
【００６４】
擬似トラフィック生成モデル部１１の学習後、擬似トラフィックを非常に軽量なノイズデータ（乱数、数十Ｂｙｔｅ）から生成することができる。学習済みの擬似トラフィック生成モデルもまた非常に軽量（数百ｋＢ）である。これによって、擬似トラフィックが必要な場合には、学習後に元のトラフィックを削除する事が可能となり、ストレージリソースを節約する事ができる。
【００６５】
また、擬似トラフィックが必要な場合、トラフィックそのものを送受信する必要がなくなり、擬似トラフィック生成モデルの送信後にノイズからトラフィックを生成すれば良いため、帯域、時間を節約する事ができる。
【００６６】
また、擬似トラフィックはノイズデータから生成されるため、トラフィックそのものと類似しているが、全く同一ではない。このため、ネットワーク装置の試験において擬似トラフィックを用いることで、想定外のトラフィックが流れた際にバグが存在しないかテストする、ウイルス検知システムにおいて擬似トラフィックを用いることでウイルスに対して柔軟性を持った検知を可能とするようにウイルス検知システムの学習を行う、などの応用が可能となる。
【００６７】
また、利益獲得のためのトラフィック売買を考えた場合、トラフィックそのものではなく擬似トラフィックを売買することでセキュリティリスクを低減することができる。
【産業上の利用可能性】
【００６８】
本開示は情報通信産業に適用することができる。
【符号の説明】
【００６９】
１０：モデル学習プログラム
１１、２１：擬似トラフィック生成モデル部
１２：トラフィック識別モデル部
１３：識別結果判定部
１４：学習トラフィック抽出部
２０：擬似トラフィック生成プログラム
２２：擬似トラフィック結合部
３１、４１：入力層
３２、４２：隠れ層
３３、４３：出力層
１００：トラフィック生成装置
【図１】
2018125632.tif 000003
【図２】
2018125632.tif 000004
【図３】
2018125632.tif 000005
【図４】
2018125632.tif 000006
【図５】
2018125632.tif 000007
【図６】
2018125632.tif 000008