(57)【要約】【課題】統合レコードの生成に伴う判別精度の劣化を防止できる学習プログラム、学習方法および学習装置を提供する。【解決手段】学習プログラムは、複数のフォーマットのいずれかを有し、複数のフォーマットは複数の項目を有するレコードをデータ単位とする入力データを入力する処理をコンピュータに実行させる。学習プログラムは、入力データに含まれるデータ単位それぞれについて複数のレコードから統合フォーマットを有する複数の統合レコードを生成することで、変換データを生成する処理をコンピュータに実行させる。学習プログラムは、変換データを、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる処理をコンピュータに実行させる。【選択図】図１
2019179404.tif 000002
【特許請求の範囲】
【請求項１】
複数のフォーマットのいずれかを有し、前記複数のフォーマットは複数の項目を有するレコードをデータ単位とする入力データを入力し、
前記入力データに含まれる前記データ単位それぞれについて複数のレコードから統合フォーマットを有する複数の統合レコードを生成することで、変換データを生成し、
前記変換データを、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる、
処理をコンピュータに実行させる学習プログラム。
【請求項２】
前記統合フォーマットは、前記複数のフォーマットのうち、それぞれに含まれる項目を統合したフォーマットである、
請求項１に記載の学習プログラム。
【請求項３】
前記生成する処理は、第１のフォーマットに対応する第１統合レコードのデータが不足する項目のセルを空欄とし、空欄としたセルに第２のフォーマットに対応する第２統合レコードのデータを複写して、前記変換データを生成する、
請求項２に記載の学習プログラム。
【請求項４】
前記生成する処理は、前記第１統合レコードと前記第２統合レコードとを時刻順に並べ、前記第２統合レコードの数が２つ以上の場合、不足する数だけ前記第１統合レコードを複製し、前記第１統合レコードに対して、直近の時刻から順に前記第２統合レコードのデータを複写して、前記変換データを生成する、
請求項３に記載の学習プログラム。
【請求項５】
前記学習させる処理は、生成した前記変換データのうち、前記第１統合レコードから最直近ｎ行目までの前記第２統合レコードに基づく前記変換データを学習した第１学習済モデルと、最直近ｎ＋１行目までの前記第２統合レコードに基づく前記変換データを学習した第２学習済モデルとを生成し、
生成した前記変換データに基づく評価用データを用いて、前記第１学習済モデルおよび前記第２学習済モデルの分類精度を比較し、比較した前記分類精度が同一となるまで前記ｎを増加させた場合における、前記第１学習済モデルと、前記第１統合レコードに対する前記第２統合レコードの紐付け数である前記ｎを出力する、
処理を前記コンピュータに実行させる請求項４に記載の学習プログラム。
【請求項６】
前記生成する処理は、前記第１のフォーマットの項目と、前記第２のフォーマットの項目とのうち、互いに変換可能な項目について、前記第１のフォーマットの項目に、前記第２のフォーマットの項目を変換する、
請求項３〜５のいずれか１つに記載の学習プログラム。
【請求項７】
複数のフォーマットのいずれかを有し、前記複数のフォーマットは複数の項目を有するレコードをデータ単位とする入力データを入力し、
前記入力データに含まれる前記データ単位それぞれについて複数のレコードから統合フォーマットを有する複数の統合レコードを生成することで、変換データを生成し、
前記変換データを、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる、
処理をコンピュータが実行する学習方法。
【請求項８】
複数のフォーマットのいずれかを有し、前記複数のフォーマットは複数の項目を有するレコードをデータ単位とする入力データを入力する入力部と、
前記入力データに含まれる前記データ単位それぞれについて複数のレコードから統合フォーマットを有する複数の統合レコードを生成することで、変換データを生成する生成部と、
前記変換データを、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる学習部と、
を有する学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習プログラム、学習方法および学習装置に関する。
【背景技術】
【０００２】
近年、各種のデータを入力とする機械学習が行われている。機械学習における入力データは、例えば、様々なセンサや装置から取得したデータである場合、入力データに含まれる複数のレコードが、複数の異なるフォーマットである場合や、個数が可変である場合がある。この様な入力データを機械学習する場合、例えば、入力データをそろえるために変換等を行ってから、機械学習が行われる。また、グラフ構造のデータを深層学習する事が可能なグラフ構造学習技術（以降、このようなグラフ構造学習を行う装置の一形態を「ディープテンソル」と呼ぶ。）が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１７９５４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、複数の異なるフォーマットの項目をそろえた統合レコードを生成する場合に、元のデータには値が存在しない項目についても、統合レコードに何らかの値を設定する必要がある。例えば、元のデータには値が存在しない項目の値をＮＡ（Not  Available）とした統合レコードを生成して学習を行うと、統合レコードにおける「ＮＡ」の値の設定は、データが”無い”ことを表す新たな特徴量を付加したこととなってしまう。この場合、グラフ構造のデータにおいて、統合レコードの生成に伴い設定されるＮＡがノードやラベルとして意味を持ち学習されることとなり、判別精度を向上させる妨げとなり得る。
【０００５】
一つの側面では、統合レコードの生成に伴う判別精度の劣化を防止できる学習プログラム、学習方法および学習装置を提供することにある。
【課題を解決するための手段】
【０００６】
一つの態様では、学習プログラムは、複数のフォーマットのいずれかを有し、前記複数のフォーマットは複数の項目を有するレコードをデータ単位とする入力データを入力する処理をコンピュータに実行させる。学習プログラムは、前記入力データに含まれる前記データ単位それぞれについて複数のレコードから統合フォーマットを有する複数の統合レコードを生成することで、変換データを生成する処理をコンピュータに実行させる。学習プログラムは、前記変換データを、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる処理をコンピュータに実行させる。
【発明の効果】
【０００７】
統合レコードの生成に伴う判別精度の劣化を防止できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例の学習装置の構成の一例を示すブロック図である。
【図２】図２は、グラフ構造データに基づくデータ分類の一例を示す図である。
【図３】図３は、フォーマットの異なるデータを統合したい場合の一例を示す図である。
【図４】図４は、フォーマットの異なるデータを統合したい場合の他の一例を示す図である。
【図５】図５は、異なるフォーマットのデータの統合レコードの一例を示す図である。
【図６】図６は、空欄となるセルにＮＡを付与した統合レコードの一例を示す図である。
【図７】図７は、ＮＡが意味を持った場合のグラフの変化の一例を示す図である。
【図８】図８は、遠隔操作における通信およびコマンドのデータの一例を示す図である。
【図９】図９は、ディープテンソルにおける学習の一例を示す図である。
【図１０】図１０は、ディープテンソルによる部分構造の抽出と他の部分構造の決定方法との比較の一例を示す図である。
【図１１】図１１は、部分構造の情報量の比較の一例を示す図である。
【図１２】図１２は、分類精度とデータの組み合わせの情報量との関係の一例を示す図である。
【図１３】図１３は、統合データ記憶部の一例を示す図である。
【図１４】図１４は、複製データ記憶部の一例を示す図である。
【図１５】図１５は、複製データの生成の一例を示す図である。
【図１６】図１６は、実施例の学習処理の一例を示すフローチャートである。
【図１７】図１７は、実施例の判別処理の一例を示すフローチャートである。
【図１８】図１８は、学習プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて、本願の開示する学習プログラム、学習方法および学習装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
【実施例】
【００１０】
図１は、実施例の学習装置の構成の一例を示すブロック図である。図１に示す学習装置１００は、複数のフォーマットのいずれかを有し、複数のフォーマットは複数の項目を有するレコードをデータ単位とする入力データを入力する。学習装置１００は、入力データに含まれるデータ単位それぞれについて複数のレコードから統合フォーマットを有する複数の統合レコードを生成することで、変換データを生成する。学習装置１００は、変換データを、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる。これにより、学習装置１００は、統合レコードの生成に伴う判別精度の劣化を防止できる。
【００１１】
まず、図２から図４を用いてグラフ構造データについて説明する。図２は、グラフ構造データに基づくデータ分類の一例を示す図である。図２に示すデータ１１およびデータ１２は、通信ログを所定の時間帯ごとに纏めたグラフ構造データである。なお、以下の説明では、グラフ構造データを単にデータと表現する場合がある。データ１１およびデータ１２は、例えば、１０分ごとの通信ログに記録された通信元ホスト、通信先ホスト、ポート番号、通信量といった情報の関係を表す。データ１１およびデータ１２に示すようなグラフ構造データを、例えば、通常通信と不正通信とに分類したい場合がある。なお、この様なグラフ構造データにおける分類では、一般にエッジリストと呼ばれる形式が採用される。不正通信では、例えば、ＤＤｏＳ（Distributed  Denial  of  Service）攻撃や標的型攻撃等が発生した時刻の通信ログを分類したい要望がある。ところが、通信ログは、例えば、１時間に１００件以上記録されるため、人が多量の通信ログから不正通信を発見することは難しい。
【００１２】
また、他の例としては、銀行の取引履歴に記録された送金元口座、送金先口座、支店名といった情報の関係を表すデータから、マネーロンダリングや振り込め詐欺が発生した時刻の取引履歴を分類したい要望がある。取引履歴についても、例えば、１時間に１００件以上記録されるため、人が多量の取引履歴から不正な取引履歴を発見することは難しい。
【００１３】
これに対し、複数のログを統合して機械学習を行うことで、この様な不正通信等を判別することが考えられる。複数のログを統合する場合には、機械学習で利用可能なデータフォーマットに合わせるため、異なる種類のログ間で補完することが求められる。例えば、通信ログとコマンドのログとを統合したい場合や、人事情報および勤怠情報を統合したい場合が挙げられる。これらの異なる種類のログは、レコード数、生成元の違い、時間のずれ、勤務区分の変更、データの粒度等のように、情報の質や量が異なる。
【００１４】
図３は、フォーマットの異なるデータを統合したい場合の一例を示す図である。図３に示すデータ１３およびデータ１４は、通信ログおよびコマンドログであり、異なるフォーマットのデータであるが、同じ時間帯のデータであるので統合したい場合の一例である。
【００１５】
図４は、フォーマットの異なるデータを統合したい場合の他の一例を示す図である。図４に示すデータ１５およびデータ１６は、月の途中で勤務区分が変更になった場合の勤務データであり、異なるフォーマットのデータであるが、同じ人物のデータであるので統合したい場合の一例である。図４の例では、通常勤務からフレックス勤務になっても勤務時間自体は存在するので、データ１６の裏には勤務時間が隠れていることになる。つまり、図４の例は、勤務区分の変更を跨ぐ場合でも、１ヶ月単位でグラフ構造データとしたい場合である。
【００１６】
次に、図５から図８を用いて、通信およびコマンドの場合を例として、データの統合について説明する。図５は、異なるフォーマットのデータの統合レコードの一例を示す図である。図５の例では、Ｗｉｎｄｏｗｓ（登録商標）の通信ログの一例であるログＡと、Ｗｉｎｄｏｗｓのコマンド起動ログの一例であるログＢとを統合してデータ１７を生成している。データ１７では、ログＡとログＢとの統合フォーマットを有する統合レコードに、どちらのログも格納されている。また、データ１７は、６次元のテンソルと考えることができる。
【００１７】
データ１７の統合レコードは、統合フォーマットとして、「時刻」、「送信ＩＰ（Internet  Protocol）」、「受信ＩＰ」、「受信ポートＮｏ」、「送信ポートＮｏ」、「コマンド属性」、「コマンドパス」といった項目を有する。統合フォーマットの項目のうち、「時刻」、「送信ＩＰ」、「受信ＩＰ」、「受信ポートＮｏ」および「送信ポートＮｏ」の各項目は、ログＡに対応する。また、「時刻」、「コマンド属性」、「コマンドパス」の各項目は、ログＢに対応する。なお、項目「時刻」は、どちらのログにも存在するので、１つの項目に統合している。また、統合レコードにおいて、データが不足する項目は、空欄となり、図５の例では、「？」で表している。
【００１８】
データ１７では、１行目と４行目とがログＡに対応する統合レコードであり、２行目と３行目とがログＢに対応する統合レコードである。このため、１行目と４行目とは、項目「コマンド属性」および「コマンドパス」が空欄となり、２行目と３行目とは、項目「送信ＩＰ」、「受信ＩＰ」、「受信ポートＮｏ」および「送信ポートＮｏ」が空欄となる。この様な空欄となったセルが存在する統合レコードでは、空欄を何らかのデータで補完することが求められる。しかしながら、補完の方法には、様々な仮説や方式が混在しており、ある仮説が全てのデータに対して有効であるとは定義しにくい。これに対し、本実施例では、空欄を適切に補完したデータに対してディープテンソルを用いることで、例えば、マルウエア等の遠隔操作による攻撃検知時に、背景にある最適な組み合わせも学習することによって、汎化性を向上させる。
【００１９】
図６は、空欄となるセルにＮＡを付与した統合レコードの一例を示す図である。図６のデータ１８は、データ１７の空欄となるセルにＮＡ、つまりデータが存在しないことを表す特徴量を付与してデータを補完した場合である。データ１８のように、ＮＡを補完すると、グラフ構造データとしての意味がデータ１７と異なることになる。
【００２０】
図７は、ＮＡが意味を持った場合のグラフの変化の一例を示す図である。図７に示すグラフ１９は、データ１７を用いて本来表現したいグラフの一例である。一方、グラフ２０は、データ１７の空欄となるセルをＮＡで補完したデータ１８を用いて表現したグラフの一例である。グラフ２０では、本来情報が存在しないはずの架空のノード２１を通じて２つのログの情報が繋がることになる。このため、グラフ２０は、一定の通信が裏に潜んだ状態を再現できない。つまり、データ１７にＮＡを補完することは、学習モデルの汎化性が低下することになる。すなわち、データ１８に示す様なＮＡで空欄を補完する方法は、新しいデータに対する分類精度が低下することになる。このことは、人が判断する教師ラベルと異なる視点で学習モデルを生成することになるので、本来学習させたい学習モデルとのずれが大きくなる。
【００２１】
図８は、遠隔操作における通信およびコマンドのデータの一例を示す図である。図８に示すデータ２２は、遠隔操作が行われる場合の通信の確立行動の後に、遠隔操作に関するコマンドが実行された場合の統合レコードを用いたデータの一例である。通信の確立行動は、例えば、時刻「００：００」から「００：０３」までの統合レコードに示すように、ポートスキャン２３が行われる。ポートスキャン２３の後には、時刻「００：０５」および「００：０６」の統合レコードに示すように、コマンド実行２４が行われる。ところが、データ２２には、ポートスキャン２３およびコマンド実行２４とは異なる正常な通信やコマンド実行も存在するため、コマンド実行２４の直近の通信を、当該コマンド実行２４に強制的に割り当てることは難しい。例えば、データ２２では、時刻「００：０４」の統合レコードは、遠隔操作とは関係がない通信のログを表している。このように、統合レコード間の紐付けには、様々な組み合わせが存在しているので、これらを自動的に抽出したい、つまり分類したいニーズがある。すなわち、学習モデルの汎化性を上げたいということに繋がる。
【００２２】
続いて、ディープテンソルと部分構造の情報量とについて説明する。ディープテンソルとは、テンソル（グラフ情報）を入力とするディープラーニングであり、ニューラルネットワークの学習とともに、判別に寄与する部分グラフ構造（以下、部分構造ともいう。）を自動的に抽出する。この抽出処理は、ニューラルネットワークの学習とともに、入力テンソルデータのテンソル分解のパラメータを学習することによって実現される。
【００２３】
図９は、ディープテンソルにおける学習の一例を示す図である。図９に示すように、あるグラフ構造データの全体を表すグラフ構造２５は、テンソル２６として表すことができる。また、テンソル２６は、構造制約テンソル分解によって、コアテンソル２７と行列の積に近似することができる。ディープテンソルでは、コアテンソル２７をニューラルネットワーク２８に入力して深層学習を行い、ターゲットコアテンソル２９に近くなるように、拡張誤差逆伝搬法で最適化を行う。このとき、コアテンソル２７をグラフで表すと、特徴が凝縮された部分構造を表すグラフ３０となる。すなわち、ディープテンソルは、グラフ全体からコアテンソルによって重要な部分構造を自動的に学習できる。
【００２４】
図１０は、ディープテンソルによる部分構造の抽出と他の部分構造の決定方法との比較の一例を示す図である。図１０では、元となるグラフ３１を、隣接関係等の特定の関係性をベースに変換して部分構造を決定する場合と、ディープテンソルを用いて部分構造を抽出した場合とを比較する。特定の関係性に基づく部分構造を決定する場合、例えば、あるノードを中心に他のノードが６個付くことが特徴であると決定した部分構造３２に対して、データの組み合わせが増えると、他のノードが７個付くことや８個付くことが重要という学習になる。つまり、特定の関係性に基づく部分構造３２では、特徴量（情報量）が変動するため、分類結果が変動してしまう。
【００２５】
これに対し、ディープテンソルを用いて分類に寄与する任意の部分構造を抽出する場合、近いノードを分類するといった仮定とは関係なく、分類に寄与する部分構造３３ａ，３３ｂ，３３ｃを抽出する。このとき、新たな入力データがディープテンソルに入力されても、分類に寄与する部分構造が見つからない場合、部分構造３３ａ，３３ｂ，３３ｃは、入力データに対して不変である。すなわち、ディープテンソルでは、特定の繋がり方を仮定しなくても、分類に寄与する部分構造を抽出することができる。
【００２６】
図１１は、部分構造の情報量の比較の一例を示す図である。図１１では、元のデータ群３４からディープテンソルを用いて抽出する部分構造群３５と、設計で決定する部分構造群３６とを比較する。元のデータ群３４は、データ３４ａからデータ３４ｅに向かうに連れて情報量が多くなる。部分構造群３５では、部分構造３５ａから部分構造３５ｅが、それぞれデータ３４ａからデータ３４ｅより抽出された部分構造である。部分構造群３５では、部分構造３５ａから部分構造３５ｅにかけて、部分構造が付加されている。このとき、部分構造３５ｆおよび部分構造３５ｇは、追加されたが重要でない部分であるとすると、部分構造３５ｄ以降は、精度面への寄与がないと言える。
【００２７】
一方、部分構造群３６では、部分構造３６ａから部分構造３６ｅが、それぞれデータ３４ａからデータ３４ｅより抽出された部分構造である。部分構造群３６では、部分構造３６ａから部分構造３６ｅにかけて、部分構造が付加されている。このとき、部分構造３６ｂから部分構造３６ｅは、部分構造３６ａからの変動分全ての情報を取り込んでいるので、ノイズが多くなる。つまり、部分構造３６ｄおよび部分構造３６ｅは、追加されたが重要でない部分である部分構造３５ｆおよび部分構造３５ｇに対応する部分構造がノイズとなっている。
【００２８】
図１２は、分類精度とデータの組み合わせの情報量との関係の一例を示す図である。図１２のグラフ３７は、ディープテンソルを用いて抽出した部分構造群３５と、設計で決定する部分構造群３６とにおける分類精度と組み合わせの情報量との関係を、それぞれグラフ３８およびグラフ３９で示す。グラフ３８に示すように、部分構造群３５では、組み合わせの情報量が増加しても、分類精度は低下せず、ある一定の分類精度を維持する。ここで、組み合わせの情報量は、組み合わせ中から補完する範囲を徐々に増大させ、評価精度（分類精度）が最大になるまでとしている。つまり、ディープテンソルでは、分類に寄与する部分構造の最適化が行われるため、適切な補完範囲が求まる。なお、グラフ３８に示すように、補完パターンが変化しても（組み合わせの情報量が増加しても）結果が全く変動しなくなることが、補完パターンの最適化となる。
【００２９】
これに対し、グラフ３９に示すように、部分構造群３６では、組み合わせの情報量が増加すると、ノイズの影響を受けて分類精度が低下していくことになる。つまり、部分構造群３６では、仮説やアルゴリズムに依存して結果が変動してしまうため、補完パターンが変化しても（組み合わせの情報量が増加しても）結果が全く変動しなくなることが成り立たない。
【００３０】
このように、ディープテンソルでは、元の大きな入力データから、特徴が凝縮されたコアテンソルを自動的に抽出することができる。このとき、コアテンソルは、検知の分類精度を最大化する観点の結果として選択されるので、結果として分類に寄与する部分グラフ構造を自動的に抽出できることになる。すなわち、設計で決定する部分構造群３６を用いた場合では、情報量が多くなると、無駄な組み合わせが多いせいで学習が進まなくなって分類精度が上がらない。これに対し、ディープテンソルでは、必要な部分構造が抽出出来ればノイズの有無は関係なくなってしまうため、組み合わせを増大しても学習を進めることができる。
【００３１】
次に、学習装置１００の構成について説明する。図１に示すように、学習装置１００は、通信部１１０と、表示部１１１と、操作部１１２と、記憶部１２０と、制御部１３０とを有する。なお、学習装置１００は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
【００３２】
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、図示しないネットワークを介して他の情報処理装置と有線または無線で接続され、他の情報処理装置との間で情報の通信を司る通信インタフェースである。通信部１１０は、例えば、他の端末から学習用の訓練データや判別対象の新規データを受信する。また、通信部１１０は、他の端末に、学習結果や判別結果を送信する。
【００３３】
表示部１１１は、各種情報を表示するための表示デバイスである。表示部１１１は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部１１１は、制御部１３０から入力された表示画面等の各種画面を表示する。
【００３４】
操作部１１２は、学習装置１００のユーザから各種操作を受け付ける入力デバイスである。操作部１１２は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部１１２は、ユーザによって入力された操作を操作情報として制御部１３０に出力する。なお、操作部１１２は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部１１１の表示デバイスと、操作部１１２の入力デバイスとは、一体化されるようにしてもよい。
【００３５】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、統合データ記憶部１２１と、複製データ記憶部１２２と、学習済モデル記憶部１２３とを有する。また、記憶部１２０は、制御部１３０での処理に用いる情報を記憶する。
【００３６】
統合データ記憶部１２１は、取得した訓練データを統合フォーマットに整形した統合データを記憶する。図１３は、統合データ記憶部の一例を示す図である。図１３に示すように、統合データ記憶部１２１は、「時刻」、「送信元ＩＰ」、「送信先ＩＰ」、「送信元ポート」、「送信先ポート」、「コマンド種別」、「コマンド内容」といった項目を有する。なお、統合データ記憶部１２１の各項目は、例えば、上述の図５に示すデータ１７の「時刻」、「送信ＩＰ」、「受信ＩＰ」、「受信ポートＮｏ」、「送信ポートＮｏ」、「コマンド属性」、「コマンドパス」にそれぞれ対応する。
【００３７】
「時刻」は、各統合レコードのログデータが取得された時刻を示す情報である。「送信元ＩＰ」は、例えば、遠隔操作を行う側のサーバ等のＩＰアドレスを示す情報である。「送信先ＩＰ」は、例えば、遠隔操作される側のパーソナルコンピュータ等のＩＰアドレスを示す情報である。「送信元ポート」は、例えば、遠隔操作を行う側のサーバ等のポート番号を示す情報である。「送信先ポート」は、例えば、遠隔操作される側のパーソナルコンピュータ等のポート番号を示す情報である。「コマンド種別」は、例えば、遠隔操作される側のパーソナルコンピュータ等における、起動されたコマンドの種別を示す情報である。「コマンド内容」は、例えば、遠隔操作される側のパーソナルコンピュータ等における、起動されたコマンドの内容を示す情報である。つまり、統合データ記憶部１２１の統合フォーマットは、複数のフォーマットのうち、それぞれに含まれる項目を統合したフォーマットである。
【００３８】
図１の説明に戻って、複製データ記憶部１２２は、例えば、第１のフォーマットに対応する第１統合レコードの空欄となるセルに、第２のフォーマットに対応する第２統合レコードのデータを複写した複製データを記憶する。図１４は、複製データ記憶部の一例を示す図である。図１４に示すように、複製データ記憶部１２２は、例えば、コマンドに対応するレコードを第１統合レコードとし、通信に対応するレコードを第２統合レコードとする。複製データ記憶部１２２は、第１統合レコードと第２統合レコードとを時刻順に並べ、第１統合レコードの空欄となるセルに、第１統合レコードから最直近１行目の第２統合レコードのデータを複写した複製データ１２２ａを有する。また、複製データ記憶部１２２は、第１統合レコードを１行複製し、第１統合レコードから最直近２行目までの第２統合レコードのデータを複写した複製データ１２２ｂを有する。
【００３９】
以下同様に、複製データ記憶部１２２は、複写する第２統合レコードの数をｎとすると、第１統合レコードを（ｎ−１）行複製し、第１統合レコードから最直近ｎ行目までの第２統合レコードのデータをそれぞれ複写した複製データ１２２ｎを有する。つまり、ある第１統合レコードをＬとすると、第２統合レコードのデータが複写された同じ時刻の第１統合レコードの数は、Ｌ１，Ｌ２，・・・，Ｌｎで表すことができる。
【００４０】
複製データ１２２ａから複製データ１２２ｎは、それぞれ「時刻」、「送信元ＩＰ」、「送信先ＩＰ」、「送信元ポート」、「送信先ポート」、「コマンド種別」、「コマンド内容」といった項目を有する。なお、各項目は、統合データ記憶部１２１と同様であるのでその説明を省略する。また、複製データ１２２ａから複製データ１２２ｎでは、データの複写元である第２統合レコードの空欄には、ＮＡを付与している。この場合、ＮＡは、通信に対応する第２統合レコードにおいて、バリエーションの１つとして扱う。
【００４１】
図１の説明に戻って、学習済モデル記憶部１２３は、複製データ、つまりフォーマットを変換した変換データを深層学習した学習済モデルを記憶する。学習済モデルは、例えば、ニューラルネットワークの各種パラメータ（重み係数）や、テンソル分解の方法等を記憶する。
【００４２】
制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。制御部１３０は、生成部１３１と、学習部１３２と、比較部１３３と、判別部１３４とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図１に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００４３】
生成部１３１は、例えば、通信部１１０を介して、他の端末から学習用の訓練データを取得する。すなわち、生成部１３１は、複数のフォーマットのいずれかを有し、複数のフォーマットは複数の項目を有するレコードをデータ単位とする入力データを入力する入力部の一例である。生成部１３１は、取得した訓練データを統合フォーマットに整形して統合データを生成する。生成部１３１は、例えば、図５に示すログＡおよびログＢに基づくデータ１７のように、複数のフォーマットのうち、それぞれに含まれる項目を統合した統合フォーマットに、訓練データの各フォーマットのデータを整形して統合データを生成する。生成部１３１は、生成した統合データを統合データ記憶部１２１に記憶する。
【００４４】
生成部１３１は、統合データを生成すると、第１のフォーマットに対応する第１統合レコードの空欄となるセルに、第２のフォーマットに対応する第２統合レコードのデータを複写した複製データを生成する。ここで、複写する第２統合レコードの数をｎとし、複製する第１統合レコードの数を（ｎ−１）とする。生成部１３１は、第１統合レコードに最直近ｎ行目までの第２統合レコードを紐付けして複製データを生成する。つまり、ｎは、第１統合レコードに対する第２統合レコードの紐付行数を表す。なお、生成部１３１は、初回のみ最直近ｎ行目までの複製データと、最直近ｎ＋１行目までの複製データとを生成する。生成部１３１は、生成した複製データを複製データ記憶部１２２に記憶する。なお、生成部１３１は、ｎが増加すると、その都度生成した複製データを複製データ記憶部１２２に記憶する。つまり、複製データ記憶部１２２には、複製データがｎ＝１から順番に記憶される。なお、第１統合レコードの空欄となるセルが複数ある場合には、少なくとも１つ以上の空欄に、第２統合レコードのデータを複写するようにしてもよい。
【００４５】
ここで、図１５を用いて複製データの生成について説明する。図１５は、複製データの生成の一例を示す図である。図１５の例では、統合レコード４０を第１統合レコードとし、統合レコード４１，４２を第２統合レコードとした場合の複製データの生成を示す。生成部１３１は、統合レコード４０の空欄（？印欄）に、統合レコード４１，４２の対応するセルのデータを複写することで、結合間のありえる組み合わせを徐々に増大させる。すなわち、生成部１３１は、統合レコード４０を１つ複製して統合レコード４０ａ，４０ｂとする。次に、生成部１３１は、統合レコード４１のデータを統合レコード４０ａに複写する。また、生成部１３１は、統合レコード４２のデータを統合レコード４０ｂに複写する。従って、統合レコード４０ａ，４０ｂは、全ての項目にデータが含まれ、統合レコード４０，４１，４２の組み合わせを表現できる。
【００４６】
生成部１３１は、複製データを生成すると、生成した複製データを、交差検証を行うために分割する。生成部１３１は、例えば、Ｋ−分割交差検証や一個抜き交差検証（LOOCV：Leave  One  Out  Cross  Validation）を用いて、学習用データおよび評価用データを生成する。なお、生成部１３１は、訓練データが少なく複製データも少ない場合には、学習に用いた複製データを用いて正しく判定できているかどうかを検証するようにしてもよい。生成部１３１は、生成した学習用データを学習部１３２に出力する。また、生成部１３１は、生成した評価用データを比較部１３３に出力する。
【００４７】
言い換えると、生成部１３１は、入力データに含まれるデータ単位それぞれについて複数のレコードから統合フォーマットを有する複数の統合レコードを生成することで、変換データ（複製データ）を生成する。また、生成部１３１は、第１のフォーマットに対応する第１統合レコードのデータが不足する項目のセルを空欄とし、空欄としたセルに第２のフォーマットに対応する第２統合レコードのデータを複写して、変換データ（複製データ）を生成する。また、生成部１３１は、第１統合レコードと第２統合レコードとを時刻順に並べ、第２統合レコードの数が２つ以上の場合、不足する数だけ第１統合レコードを複製する。生成部１３１は、第１統合レコードに対して、直近の時刻から順に第２統合レコードのデータを複写して、変換データ（複製データ）を生成する。また、生成部１３１は、第１のフォーマットの項目と、第２のフォーマットの項目とのうち、互いに変換可能な項目について、第１のフォーマットの項目に、第２のフォーマットの項目を変換する。
【００４８】
図１の説明に戻って、学習部１３２は、生成部１３１から学習用データが入力されると、学習用データを学習して学習済モデルを生成する。つまり、学習部１３２は、学習用データをテンソル分解し、コアテンソル（部分グラフ構造）を生成する。学習部１３２は、生成したコアテンソルをニューラルネットワークに入力して出力を得る。学習部１３２は、出力値の誤差が小さくなるように学習するとともに、判定精度が高くなるようにテンソル分解のパラメータを学習する。テンソル分解においては自由度があり、テンソル分解のパラメータとして、分解モデル、制約、最適化アルゴリズムの組み合わせ等が挙げられる。分解モデルは、例えば、ＣＰ（Canonical  Polyadic  decomposition）やＴｕｃｋｅｒが挙げられる。制約は、例えば、直交制約、スパース制約、スムース制約、非負制約等が挙げられる。最適化アルゴリズムは、例えば、ＡＬＳ（Alternating  Least  Square）、ＨＯＳＶＤ（Higher  Order  Singular  Value  Decomposition）、ＨＯＯＩ（Higher  Order  Orthogonal  Iteration  of  tensors）等が挙げられる。ディープテンソルにおいては、「判定精度が高くなる」という制約下でテンソル分解を行う事になる。
【００４９】
学習部１３２は、学習用データの学習が完了すると、学習済モデルを学習済モデル記憶部１２３に記憶する。このとき、学習済モデル記憶部１２３には、複製データの紐付行数ｎに対応する学習済モデルと、紐付行数ｎ＋１に対応する学習済モデルとが記憶されている状態となるようにする。つまり、学習部１３２は、初回のみ紐付行数ｎに対応する学習済モデルと、紐付行数ｎ＋１に対応する学習済モデルとの２つの学習済モデルを生成する。学習部１３２は、紐付行数ｎ＝２以降では、従前の紐付行数ｎ＋１に対応する学習済モデルを紐付行数ｎに対応する学習済モデルに移行し、新たに学習した紐付行数ｎ＋１に対応する学習済モデルを生成する。なお、ニューラルネットワークは、ＲＮＮ（再帰型ニューラルネットワーク：Recurrent  Neural  Network）など様々なニューラルネットワークを用いることができる。また、学習方法は、誤差逆伝播法など様々な手法を採用することができる。
【００５０】
言い換えると、学習部１３２は、変換データ（複製データ）を、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる。また、学習部１３２は、生成した変換データ（複製データ）のうち、第１統合レコードから最直近ｎ行目までの第２統合レコードに基づく変換データを学習した第１学習済モデルを生成する。また、学習部１３２は、変換データ（複製データ）のうち、最直近ｎ＋１行目までの第２統合レコードに基づく変換データを学習した第２学習済モデルを生成する。
【００５１】
比較部１３３は、学習部１３２で学習用データの学習が完了すると、学習済モデル記憶部１２３を参照して、生成部１３１から入力された評価用データを用いて、評価用データの分類精度を比較する。つまり、比較部１３３は、紐付行数直近ｎに対応する学習済モデルを用いた場合の評価用データの分類精度と、紐付行数直近ｎ＋１に対応する学習済モデルを用いた場合の評価用データの分類精度とを比較する。
【００５２】
比較部１３３は、比較の結果、紐付行数直近ｎの分類精度が、紐付行数直近ｎ＋１の分類精度とほぼ等しいか否かを判定する。なお、分類精度の比較は、比較した分類精度が同一であるか否かを判定するようにしてもよい。比較部１３３は、紐付行数直近ｎの分類精度が、紐付行数直近ｎ＋１の分類精度とほぼ等しくないと判定した場合には、紐付行数ｎをインクリメントして、次の複製データを生成するように生成部１３１に指示する。比較部１３３は、紐付行数直近ｎの分類精度が、紐付行数直近ｎ＋１の分類精度とほぼ等しいと判定した場合には、その時の紐付行数直近ｎに対応する学習済モデル、つまり紐付行数ｎの学習済モデル、および、当該紐付行数ｎを学習済モデル記憶部１２３に記憶する。すなわち、このときの紐付行数ｎの学習済モデルは、分類精度が変動しなくなった状態である。これにより、本実施例では、訓練データが膨大である場合であっても、組み合わせの展開が非現実的なサイズになることなく、学習済モデルが生成できる。
【００５３】
言い換えると、比較部１３３は、生成した変換データ（複製データ）に基づく評価用データを用いて、第１学習済モデルおよび第２学習済モデルの分類精度を比較する。比較部１３３は、比較した分類精度が同一となるまでｎを増加させた場合における、第１学習済モデルと、第１統合レコードに対する第２統合レコードの紐付け数であるｎを出力する。
【００５４】
判別部１３４は、学習済モデルの生成後に、新規データを取得し、学習済モデルを用いて判別した判別結果を出力する。判別部１３４は、例えば、通信部１１０を介して、他の端末から判別対象の新規データを受信して取得する。判別部１３４は、取得した新規データを学習時と同じ統合フォーマットに整形して判別対象の統合データを生成する。
【００５５】
判別部１３４は、学習済モデル記憶部１２３を参照し、判別に用いる紐付行数ｎ時の学習済モデルおよび当該紐付行数ｎを取得する。判別部１３４は、取得した紐付行数ｎに基づいて、判別対象の統合データの第１統合レコードに最直近ｎ行目までの第２統合レコードを紐付けして、判別対象の複製データを生成する。
【００５６】
判別部１３４は、取得した紐付行数ｎ時の学習済モデルを用いて判別対象の複製データを判別する。すなわち、判別部１３４は、学習済モデルの各種パラメータを設定したニューラルネットワークを構築し、テンソル分解の方法を設定する。判別部１３４は、生成した判別対象の複製データをテンソル分解し、ニューラルネットワークに入力して、判別結果を取得する。判別部１３４は、取得した判別結果を表示部１１１に出力して表示したり、記憶部１２０に出力して記憶したりする。
【００５７】
次に、実施例の学習装置１００の動作について説明する。まず、学習済モデルを生成する学習処理について説明する。図１６は、実施例の学習処理の一例を示すフローチャートである。
【００５８】
生成部１３１は、例えば、他の端末から学習用の訓練データを取得する（ステップＳ１）。生成部１３１は、取得した訓練データを統合フォーマットに整形して統合データを生成する（ステップＳ２）。生成部１３１は、生成した統合データを統合データ記憶部１２１に記憶する。
【００５９】
生成部１３１は、統合データを生成すると、第１統合レコードに最直近ｎ行目までの第２統合レコードを紐付けして、最直近ｎ行目までの複製データを生成する（ステップＳ３）。また、生成部１３１は、第１統合レコードに最直近ｎ＋１行目までの第２統合レコードを紐付けして、最直近ｎ＋１行目までの複製データを生成する（ステップＳ４）。生成部１３１は、生成した複製データを複製データ記憶部１２２に記憶する。
【００６０】
生成部１３１は、複製データを生成すると、生成した複製データを、交差検証を行うために分割する（ステップＳ５）。生成部１３１は、交差検証に基づく評価用データを生成する（ステップＳ６）。また、生成部１３１は、交差検証に基づく学習用データを生成する（ステップＳ７）。生成部１３１は、生成した学習用データを学習部１３２に出力する。また、生成部１３１は、生成した評価用データを比較部１３３に出力する。
【００６１】
学習部１３２は、生成部１３１から学習用データが入力されると、学習用データを学習し（ステップＳ８）、学習済モデルを生成する（ステップＳ９）。なお、学習部１３２は、初回のみ紐付行数ｎに対応する学習済モデルと、紐付行数ｎ＋１に対応する学習済モデルとの２つの学習済モデルを生成する。学習部１３２は、学習用データの学習が完了すると、学習済モデルを学習済モデル記憶部１２３に記憶する。
【００６２】
比較部１３３は、学習部１３２で学習用データの学習が完了すると、学習済モデル記憶部１２３を参照して、生成部１３１から入力された評価用データを用いて、評価用データの分類精度を比較する（ステップＳ１０）。比較部１３３は、比較の結果、紐付行数直近ｎの分類精度が、紐付行数直近ｎ＋１の分類精度とほぼ等しいか否かを判定する（ステップＳ１１）。比較部１３３は、紐付行数直近ｎの分類精度が、紐付行数直近ｎ＋１の分類精度とほぼ等しくないと判定した場合には（ステップＳ１１：否定）、紐付行数ｎをインクリメントする（ステップＳ１２）。また、比較部１３３は、次の複製データを生成するように生成部１３１に指示し、ステップＳ４に戻る。
【００６３】
比較部１３３は、紐付行数直近ｎの分類精度が、紐付行数直近ｎ＋１の分類精度とほぼ等しいと判定した場合には（ステップＳ１１：肯定）、紐付行数ｎの学習済モデルおよび紐付行数ｎを学習済モデル記憶部１２３に記憶し（ステップＳ１３）、学習処理を終了する。これにより、学習装置１００は、統合レコードの生成に伴う判別精度の劣化を防止（抑制）できる。つまり、学習装置１００は、遠隔操作の例では、コマンドの近傍の適切な通信確立行動が対応付けられたデータを学習できる。すなわち、学習装置１００は、汎化性が高い学習済モデルを生成できる。
【００６４】
続いて、新規データを判別する判別処理について説明する。図１７は、実施例の判別処理の一例を示すフローチャートである。
【００６５】
判別部１３４は、例えば、他の端末から判別対象の新規データを受信して取得する（ステップＳ２１）。判別部１３４は、取得した新規データを学習時と同じ統合フォーマットに整形して判別対象の統合データを生成する（ステップＳ２２）。
【００６６】
判別部１３４は、学習済モデル記憶部１２３を参照し、判別に用いる紐付行数ｎ時の学習済モデルおよび当該紐付行数ｎを取得する。判別部１３４は、取得した紐付行数ｎに基づいて、判別対象の統合データの第１統合レコードに最直近ｎ行目までの第２統合レコードを紐付けして、判別対象の複製データを生成する（ステップＳ２３）。
【００６７】
判別部１３４は、取得した紐付行数ｎ時の学習済モデルを用いて判別対象の複製データを判別する（ステップＳ２４）。判別部１３４は、判別結果を、例えば表示部１１１に出力して表示させる（ステップＳ２５）。これにより、学習装置１００は、統合レコードの生成に伴う判別精度の劣化を防止した学習済モデルを用いて判別対象のデータを判別するので、例えば、遠隔操作の攻撃の検知精度を向上させることができる。すなわち、学習装置１００は、汎化性が向上することで検知精度を向上させることができる。
【００６８】
このように、学習装置１００は、複数のフォーマットのいずれかを有し、複数のフォーマットは複数の項目を有するレコードをデータ単位とする入力データを入力する。学習装置１００は、入力データに含まれるデータ単位それぞれについて複数のレコードから統合フォーマットを有する複数の統合レコードを生成することで、変換データを生成する。また、学習装置１００は、変換データを、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる。その結果、学習装置１００は、統合レコードの生成に伴う判別精度の劣化を防止できる。
【００６９】
また、学習装置１００における統合フォーマットは、複数のフォーマットのうち、それぞれに含まれる項目を統合したフォーマットである。その結果、異なるフォーマットのデータを統合できる。
【００７０】
また、学習装置１００は、第１のフォーマットに対応する第１統合レコードのデータが不足する項目のセルを空欄とし、空欄としたセルに第２のフォーマットに対応する第２統合レコードのデータを複写して、変換データを生成する。その結果、統合レコードの生成に伴う判別精度の劣化を防止できる。
【００７１】
また、学習装置１００は、第１統合レコードと第２統合レコードとを時刻順に並べ、第２統合レコードの数が２つ以上の場合、不足する数だけ第１統合レコードを複製する。また、学習装置１００は、第１統合レコードに対して、直近の時刻から順に第２統合レコードのデータを複写して、変換データを生成する。その結果、学習装置１００は、関連性の高いデータから順に紐付けすることができる。
【００７２】
また、学習装置１００は、生成した変換データのうち、第１統合レコードから最直近ｎ行目までの第２統合レコードに基づく変換データを学習した第１学習済モデルと、最直近ｎ＋１行目までの第２統合レコードに基づく変換データを学習した第２学習済モデルとを生成する。また、学習装置１００は、生成した変換データに基づく評価用データを用いて、第１学習済モデルおよび第２学習済モデルの分類精度を比較する。また、学習装置１００は、比較した分類精度が同一となるまでｎを増加させた場合における、第１学習済モデルと、第１統合レコードに対する第２統合レコードの紐付け数であるｎを出力する。その結果、学習装置１００は、検知の分類精度を最大化しつつ、過学習を防止できる。また、学習装置１００は、学習における計算時間の短縮を図ることができる。
【００７３】
また、学習装置１００は、第１のフォーマットの項目と、第２のフォーマットの項目とのうち、互いに変換可能な項目について、第１のフォーマットの項目に、第２のフォーマットの項目を変換する。その結果、学習装置１００は、重複する項目を纏めることができる。
【００７４】
なお、上記実施例では、ニューラルネットワークとして、ＲＮＮを一例として挙げたが、これに限定されない。例えば、ＣＮＮ（Convolutional  Neural  Network）など様々なニューラルネットワークを用いることができる。また、学習の手法も、誤差逆伝播以外にも公知の様々な手法を採用することができる。また、ニューラルネットワークは、例えば入力層、中間層（隠れ層）、出力層から構成される多段構成であり、各層は複数のノードがエッジで結ばれる構造を有する。各層は、「活性化関数」と呼ばれる関数を持ち、エッジは「重み」を持ち、各ノードの値は、前の層のノードの値、接続エッジの重みの値、層が持つ活性化関数から計算される。なお、計算方法については、公知の様々な手法を採用できる。また、機械学習としては、ニューラルネットワーク以外にも、ＳＶＭ（support  vector  machine）等の各種手法を用いてもよい。
【００７５】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、生成部１３１と学習部１３２とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【００７６】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【００７７】
ところで、上記の各実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の各実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１８は、学習プログラムを実行するコンピュータの一例を示す図である。
【００７８】
図１８に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、データ入力を受け付ける入力装置２０２と、モニタ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る媒体読取装置２０４と、各種装置と接続するためのインタフェース装置２０５と、他の情報処理装置等と有線または無線により接続するための通信装置２０６とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０７と、ハードディスク装置２０８とを有する。また、各装置２０１〜２０８は、バス２０９に接続される。
【００７９】
ハードディスク装置２０８には、図１に示した生成部１３１、学習部１３２、比較部１３３および判別部１３４の各処理部と同様の機能を有する学習プログラムが記憶される。また、ハードディスク装置２０８には、統合データ記憶部１２１、複製データ記憶部１２２、学習済モデル記憶部１２３、および、学習プログラムを実現するための各種データが記憶される。入力装置２０２は、例えば、コンピュータ２００の管理者から操作情報等の各種情報の入力を受け付ける。モニタ２０３は、例えば、コンピュータ２００の管理者に対して表示画面等の各種画面を表示する。インタフェース装置２０５は、例えば印刷装置等が接続される。通信装置２０６は、例えば、図１に示した通信部１１０と同様の機能を有し図示しないネットワークと接続され、他の情報処理装置と各種情報をやりとりする。
【００８０】
ＣＰＵ２０１は、ハードディスク装置２０８に記憶された各プログラムを読み出して、ＲＡＭ２０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ２００を図１に示した生成部１３１、学習部１３２、比較部１３３および判別部１３４として機能させることができる。
【００８１】
なお、上記の学習プログラムは、必ずしもハードディスク装置２０８に記憶されている必要はない。例えば、コンピュータ２００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ２００が読み出して実行するようにしてもよい。コンピュータ２００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤ（Digital  Versatile  Disc）、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこの学習プログラムを記憶させておき、コンピュータ２００がこれらから学習プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００８２】
１００  学習装置
１１０  通信部
１１１  表示部
１１２  操作部
１２０  記憶部
１２１  統合データ記憶部
１２２  複製データ記憶部
１２３  学習済モデル記憶部
１３０  制御部
１３１  生成部
１３２  学習部
１３３  比較部
１３４  判別部
【図１】
2019179404.tif 000003
【図２】
2019179404.tif 000004
【図３】
2019179404.tif 000005
【図４】
2019179404.tif 000006
【図５】
2019179404.tif 000007
【図６】
2019179404.tif 000008
【図７】
2019179404.tif 000009
【図８】
2019179404.tif 000010
【図９】
2019179404.tif 000011
【図１０】
2019179404.tif 000012
【図１１】
2019179404.tif 000013
【図１２】
2019179404.tif 000014
【図１３】
2019179404.tif 000015
【図１４】
2019179404.tif 000016
【図１５】
2019179404.tif 000017
【図１６】
2019179404.tif 000018
【図１７】
2019179404.tif 000019
【図１８】
2019179404.tif 000020