JP7139657B2 - 学習プログラム、学習方法および学習装置 - Google Patents

学習プログラム、学習方法および学習装置 Download PDF

Info

Publication number
JP7139657B2
JP7139657B2 JP2018069153A JP2018069153A JP7139657B2 JP 7139657 B2 JP7139657 B2 JP 7139657B2 JP 2018069153 A JP2018069153 A JP 2018069153A JP 2018069153 A JP2018069153 A JP 2018069153A JP 7139657 B2 JP7139657 B2 JP 7139657B2
Authority
JP
Japan
Prior art keywords
data
learning
values
items
records
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018069153A
Other languages
English (en)
Other versions
JP2019179457A (ja
Inventor
琢也 西野
亮太 菊地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018069153A priority Critical patent/JP7139657B2/ja
Priority to US16/362,690 priority patent/US20190303789A1/en
Publication of JP2019179457A publication Critical patent/JP2019179457A/ja
Application granted granted Critical
Publication of JP7139657B2 publication Critical patent/JP7139657B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Virology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、学習プログラム、学習方法および学習装置に関する。
近年、各種のデータを入力とする機械学習が行われている。機械学習における入力データは、例えば、様々な機器から取得したデータである場合、データを取得する機器の設置場所やタイミングが異なるため、同一のデータであっても重なってしまう場合がある。また、時間的遅延がある場合や、データ中に欠損値が発生した場合等では、これらのデータの適切な紐付けや扱いが難しい場合がある。この様な入力データを機械学習する場合、例えば、欠損部分を補完した入力データを用いることがある。また、グラフ構造のデータを深層学習する事が可能なグラフ構造学習技術(以降、このようなグラフ構造学習を行う装置の一形態を「ディープテンソル」と呼ぶ。)が知られている。
特開2007-179542号公報
しかしながら、欠損部分を補完する場合に、欠損部分を例えばNA(Not Available)で補完したり、統計分布に基づく値で補完して学習を行うと、結果として補完する値の設計に対応した特徴量が付加された学習が行われることになる。このため、機械学習に必要な欠損部分の補完が、判別精度を向上させる妨げとなり得る。
一つの側面では、補完の影響による判別精度の劣化を抑制できる学習プログラム、学習方法および学習装置を提供することにある。
一つの態様では、学習プログラムは、複数の項目を有するレコードをデータ単位とする複数ログから生成された入力データを入力する処理をコンピュータに実行させる。学習プログラムは、前記入力データの項目の一部の値が欠落している補完対象レコードに対し、欠落した値の少なくとも一部を候補値から補完した変換データを生成する処理をコンピュータに実行させる。学習プログラムは、前記変換データを、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる処理をコンピュータに実行させる。
補完の影響による判別精度の劣化を抑制できる。
図1は、実施例の学習装置の構成の一例を示すブロック図である。 図2は、社内ネットワークへの侵入とログの取得場所の一例を示す図である。 図3は、複数の機器から取得したデータにおける欠損パターンの一例を示す図である。 図4は、欠損値を補完する候補値の一例を示す図である。 図5は、ディープテンソルにおける学習の一例を示す図である。 図6は、ディープテンソルによる部分構造の抽出と他の部分構造の決定方法との比較の一例を示す図である。 図7は、部分構造の情報量の比較の一例を示す図である。 図8は、分類精度とデータの組み合わせの情報量との関係の一例を示す図である。 図9は、統合データ記憶部の一例を示す図である。 図10は、複製データ記憶部の一例を示す図である。 図11は、複製データの生成の一例を示す図である。 図12は、実施例の学習処理の一例を示すフローチャートである。 図13は、実施例の判別処理の一例を示すフローチャートである。 図14は、学習プログラムを実行するコンピュータの一例を示す図である。
以下、図面に基づいて、本願の開示する学習プログラム、学習方法および学習装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
図1は、実施例の学習装置の構成の一例を示すブロック図である。図1に示す学習装置100は、複数の項目を有するレコードをデータ単位とする複数ログから生成された入力データを入力する。学習装置100は、入力データの項目の一部の値が欠落している補完対象レコードに対し、欠落した値の少なくとも一部を候補値から補完した変換データを生成する。学習装置100は、変換データを、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる。これにより、学習装置100は、補完の影響による判別精度の劣化を抑制できる。
まず、図2から図4を用いて、ログの取得およびデータの欠損について説明する。図2は、社内ネットワークへの侵入とログの取得場所の一例を示す図である。図2は、ある社内ネットワーク11に対して外部の攻撃者から攻撃を受けた場合におけるログの取得場所を示す。攻撃者は、例えば、攻撃サーバ12からファイアウォール13を経由して、社内ネットワーク11内の端末14にマルウェアを送りつける。マルウェアは、感染した端末14を起点にして不正な活動を行う。不正な活動は、例えば、図3中の攻撃(1)~(4)等に示すように、他の端末等の社内ネットワーク11内に対して行われる。マルウェアは、活動する際に攻撃者の活動に特徴的な操作や、通信の一連の流れ等に痕跡を残す。この様な活動は、例えば、ファイアウォール13のログ、端末14や端末14から攻撃を受けた他の端末におけるイベントログ、侵入経路15の通信をキャプチャしたログといった各種のログに記録される。
ところが、マルウェアの不正な通信や活動履歴は、通常の通信や操作履歴と一見すると見分けが付きにくい。また、それぞれの単独のログ等の特定の履歴だけでは不正な通信等であるかを判断しにくいため、従来は専門家がそれぞれのログから総合的に判断していた。この総合的な判断を実現するために、本実施例では、限定された情報が記録される多くのログについて、結合したグラフ構造データとして機械学習し、通常操作と攻撃者の活動とを分類する。ログとしては、攻撃活動の典型的なパターンである、通信の確立行動と、プロセスの活動とがあり、少なくともこれら2種類のログの情報をグラフ構造データとする。ここで、通信の確立活動は、例えば、通信関係のログに表出する。また、プロセスの活動、つまり遠隔によるコマンド操作の活動は、プロセスやイベントログに表出する。
このように、複数の機器からログを取得した場合、それぞれのログでは、機器間の取得地点の違いや、時間的な遅延や粒度の違いが生じる。このため、それぞれのログを統合した統合データでは、同一の活動に対するログが複数のレコードに記録される場合がある。また、ログのデータは、同一種類の機器であっても、異なる個体であれば、故障等によりログの一部に欠損が生じる場合がある。つまり、統合データは、項目の一部の値が欠落しているレコードが存在する場合がある。なお、以下の説明では、項目の一部の値が欠落していることを欠損と称し、その値を欠損値と称する場合がある。
図3は、複数の機器から取得したデータにおける欠損パターンの一例を示す図である。図3に示すデータ16は、機器Aおよび機器Bからの情報(ログ)を統合したデータであり、欠損がない場合の一例である。一方、データ17は、機器Aおよび機器Bからの情報(ログ)を統合したデータであり、例えば、機器Bが故障しているため、2行目のレコードにおいて、項目「コマンド属性」のデータが欠損している場合の一例である。この様な欠損パターンの場合では、各レコードの前後関係が明らかであれば、部分欠損の補完(紐付け)は容易であるが、前後関係が他のログとの関連により不明確になる場合がある。不明確になる例としては、ポートスキャンやDDoS(Distributed Denial of Service)攻撃等のように、短時間で多数の通信が様々に情報を変えながら行われる場合等が挙げられる。この場合、部分欠損の補完が本当に正しいのかどうかを判定することが難しくなる。また、データ16およびデータ17では、1行目と2行目、および、3行目と4行目が、それぞれ同一の活動に基づくログであるとする。すると、データ16およびデータ17の例では、1行目と2行目、および、3行目と4行目において、時間粒度が異なる。このように、時間粒度が異なる機器同士のログは、単純に紐付けることが難しい場合がある。
データ17に示すような単独の欠損の補完には、多重代入法やMICE(Multivariate Imputation by Chained Equations)法等を用いて統計分布に基づく値で補完することが考えられる。ところが、欠損値を、出現頻度が高いから適切な値であるとして、出現頻度の高い値で補完してしまうと、マルウェア等の攻撃のようにレアケースである場合には、正常データの出現頻度に引きずられてしまい、適切な補完とはならなくなる。また、これらの補完の方法には、様々な仮説や方式が混在しており、ある仮説が全てのデータに対して有効であるとは定義しにくい。これに対し、本実施例では、欠損を適切に補完したデータに対してディープテンソルを用いることで、例えば、マルウェア等の遠隔操作による攻撃検知時に、背景にある最適な組み合わせも学習することによって、汎化性を向上させる。
図4は、欠損値を補完する候補値の一例を示す図である。図4に示すデータ18では、9行目のレコードの項目「コマンド属性」が欠損値19となっている。欠損値19は、単に欠損しているだけなので、データ18中に1つは適切な組み合わせパターンが存在する。欠損値19では、1行目から8行目のレコードの同じ項目の値「Launch」および「Access」が補完する候補値となる。つまり、欠損値19は、1行目から8行目のレコードの「Launch」および「Access」のうち、いずれかの値で補完できる。
続いて、ディープテンソルと部分構造の情報量とについて説明する。ディープテンソルとは、テンソル(グラフ情報)を入力とするディープラーニングであり、ニューラルネットワークの学習とともに、判別に寄与する部分グラフ構造(以下、部分構造ともいう。)を自動的に抽出する。この抽出処理は、ニューラルネットワークの学習とともに、入力テンソルデータのテンソル分解のパラメータを学習することによって実現される。
図5は、ディープテンソルにおける学習の一例を示す図である。図5に示すように、あるグラフ構造データの全体を表すグラフ構造25は、テンソル26として表すことができる。また、テンソル26は、構造制約テンソル分解によって、コアテンソル27と行列の積に近似することができる。ディープテンソルでは、コアテンソル27をニューラルネットワーク28に入力して深層学習を行い、ターゲットコアテンソル29に近くなるように、拡張誤差逆伝搬法で最適化を行う。このとき、コアテンソル27をグラフで表すと、特徴が凝縮された部分構造を表すグラフ30となる。すなわち、ディープテンソルは、グラフ全体からコアテンソルによって重要な部分構造を自動的に学習できる。
図6は、ディープテンソルによる部分構造の抽出と他の部分構造の決定方法との比較の一例を示す図である。図6では、元となるグラフ31を、隣接関係等の特定の関係性をベースに変換して部分構造を決定する場合と、ディープテンソルを用いて部分構造を抽出した場合とを比較する。特定の関係性に基づく部分構造を決定する場合、例えば、あるノードを中心に他のノードが6個付くことが特徴であると決定した部分構造32に対して、データの組み合わせが増えると、他のノードが7個付くことや8個付くことが重要という学習になる。つまり、特定の関係性に基づく部分構造32では、特徴量(情報量)が変動するため、分類結果が変動してしまう。
これに対し、ディープテンソルを用いて分類に寄与する任意の部分構造を抽出する場合、近いノードを分類するといった仮定とは関係なく、分類に寄与する部分構造33a,33b,33cを抽出する。このとき、新たな入力データがディープテンソルに入力されても、分類に寄与する部分構造が見つからない場合、部分構造33a,33b,33cは、入力データに対して不変である。すなわち、ディープテンソルでは、特定の繋がり方を仮定しなくても、分類に寄与する部分構造を抽出することができる。
図7は、部分構造の情報量の比較の一例を示す図である。図7では、元のデータ群34からディープテンソルを用いて抽出する部分構造群35と、設計で決定する部分構造群36とを比較する。元のデータ群34は、データ34aからデータ34eに向かうに連れて情報量が多くなる。部分構造群35では、部分構造35aから部分構造35eが、それぞれデータ34aからデータ34eより抽出された部分構造である。部分構造群35では、部分構造35aから部分構造35eにかけて、部分構造が付加されている。このとき、部分構造35fおよび部分構造35gは、追加されたが重要でない部分であるとすると、部分構造35d以降は、精度面への寄与がないと言える。
一方、部分構造群36では、部分構造36aから部分構造36eが、それぞれデータ34aからデータ34eより抽出された部分構造である。部分構造群36では、部分構造36aから部分構造36eにかけて、部分構造が付加されている。このとき、部分構造36bから部分構造36eは、部分構造36aからの変動分全ての情報を取り込んでいるので、ノイズが多くなる。つまり、部分構造36dおよび部分構造36eは、追加されたが重要でない部分である部分構造35fおよび部分構造35gに対応する部分構造がノイズとなっている。
図8は、分類精度とデータの組み合わせの情報量との関係の一例を示す図である。図8のグラフ37は、ディープテンソルを用いて抽出した部分構造群35と、設計で決定する部分構造群36とにおける分類精度と組み合わせの情報量との関係を、それぞれグラフ38およびグラフ39で示す。グラフ38に示すように、部分構造群35では、組み合わせの情報量が増加しても、分類精度は低下せず、ある一定の分類精度を維持する。ここで、組み合わせの情報量は、組み合わせ中から補完する範囲を徐々に増大させ、評価精度(分類精度)が最大になるまでとしている。つまり、ディープテンソルでは、分類に寄与する部分構造の最適化が行われるため、適切な補完範囲が求まる。なお、グラフ38に示すように、補完パターンが変化しても(組み合わせの情報量が増加しても)結果が全く変動しなくなることが、補完パターンの最適化となる。
これに対し、グラフ39に示すように、部分構造群36では、組み合わせの情報量が増加すると、ノイズの影響を受けて分類精度が低下していくことになる。つまり、部分構造群36では、仮説やアルゴリズムに依存して結果が変動してしまうため、補完パターンが変化しても(組み合わせの情報量が増加しても)結果が全く変動しなくなることが成り立たない。
このように、ディープテンソルでは、元の大きな入力データから、特徴が凝縮されたコアテンソルを自動的に抽出することができる。このとき、コアテンソルは、検知の分類精度を最大化する観点の結果として選択されるので、結果として分類に寄与する部分グラフ構造を自動的に抽出できることになる。すなわち、設計で決定する部分構造群36を用いた場合では、情報量が多くなると、無駄な組み合わせが多いせいで学習が進まなくなって分類精度が上がらない。これに対し、ディープテンソルでは、必要な部分構造が抽出出来ればノイズの有無は関係なくなってしまうため、組み合わせを増大しても学習を進めることができる。
次に、学習装置100の構成について説明する。図1に示すように、学習装置100は、通信部110と、表示部111と、操作部112と、記憶部120と、制御部130とを有する。なお、学習装置100は、図1に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、図示しないネットワークを介して他の情報処理装置と有線または無線で接続され、他の情報処理装置との間で情報の通信を司る通信インタフェースである。通信部110は、例えば、他の端末から学習用の訓練データや判別対象の新規データを受信する。また、通信部110は、他の端末に、学習結果や判別結果を送信する。
表示部111は、各種情報を表示するための表示デバイスである。表示部111は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部111は、制御部130から入力された表示画面等の各種画面を表示する。
操作部112は、学習装置100のユーザから各種操作を受け付ける入力デバイスである。操作部112は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部112は、ユーザによって入力された操作を操作情報として制御部130に出力する。なお、操作部112は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部111の表示デバイスと、操作部112の入力デバイスとは、一体化されるようにしてもよい。
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部120は、統合データ記憶部121と、複製データ記憶部122と、学習済モデル記憶部123とを有する。また、記憶部120は、制御部130での処理に用いる情報を記憶する。
統合データ記憶部121は、取得した訓練データを統合した統合データを記憶する。図9は、統合データ記憶部の一例を示す図である。図9に示すように、統合データ記憶部121は、「時刻」、「送信IP」、「受信IP」、「受信ポートNo」、「送信ポートNo」、「コマンド属性」、「コマンドパス」といった項目を有する。
「時刻」は、各レコードのログデータが取得された時刻を示す情報である。「送信IP」は、例えば、遠隔操作を行う側のサーバ等のIPアドレスを示す情報である。「受信IP」は、例えば、遠隔操作される側のパーソナルコンピュータ等のIPアドレスを示す情報である。「受信ポートNo」は、例えば、遠隔操作を行う側のサーバ等から見たポート番号を示す情報である。「送信ポートNo」は、例えば、遠隔操作される側のパーソナルコンピュータ等から見たポート番号を示す情報である。「コマンド属性」は、例えば、遠隔操作される側のパーソナルコンピュータ等における、起動されたコマンドの属性を示す情報である。「コマンドパス」は、例えば、遠隔操作される側のパーソナルコンピュータ等における、起動されたコマンドパス、例えば実行ファイル名を示す情報である。なお、統合データ記憶部121では、欠損値を「欠損」として表している。
図1の説明に戻って、複製データ記憶部122は、欠損値の補完対象レコードに、欠損値の候補値を代入(複写)した複製データを記憶する。図10は、複製データ記憶部の一例を示す図である。図10に示すように、複製データ記憶部122は、例えば、統合データの各レコードを時刻順に並べ、補完対象レコードの欠損しているセルに、欠損値の候補値を複写した複製データ122aを有する。また、複製データ記憶部122は、補完対象レコードを1行複製し、基の補完対象レコードと合わせて2種類の候補値をそれぞれ複写した複製データ122bを有する。つまり、複製データ記憶部122は、欠損値の候補値の数をm個とすると、補完対象レコードを(m-1)行複製し、それぞれの候補値を複写した複製データ122mを有することになる。
複製データ122mは、それぞれ「時刻」、「送信IP」、「受信IP」、「受信ポートNo」、「送信ポートNo」、「コマンド属性」、「コマンドパス」といった項目を有する。なお、各項目は、統合データ記憶部121と同様であるのでその説明を省略する。
図1の説明に戻って、学習済モデル記憶部123は、複製データ、つまり欠損値を補完した変換データを深層学習した学習済モデルを記憶する。学習済モデルは、例えば、ニューラルネットワークの各種パラメータ(重み係数)や、テンソル分解の方法等を記憶する。
制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部130は、生成部131と、学習部132と、比較部133と、判別部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図1に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
生成部131は、例えば、通信部110を介して、他の端末から学習用の訓練データを取得する。すなわち、生成部131は、複数の項目を有するレコードをデータ単位とする複数ログから生成された入力データを入力する入力部の一例である。生成部131は、取得した訓練データを統合した統合データを生成する。生成部131は、例えば、図3に示す機器Aおよび機器Bからの情報に基づくデータ17のように、それぞれのデータを統合した統合データを生成する。このとき、生成部131は、例えば、各レコードを時刻順に並べる。生成部131は、生成した統合データを統合データ記憶部121に記憶する。
生成部131は、生成した統合データから補完対象レコードを特定する。生成部131は、特定した補完対象レコードの欠損値の列について、他のレコードから候補値を抽出する。生成部131は、例えば、抽出した候補値の数をm個とすると、補完対象レコードを最大で(m-1)行複製する。つまり、生成部131は、候補値の数に対して不足する数だけ補完対象レコードを複製する。ここで、補完対象レコードの複製は、n=0からn=mまで順に行い、それぞれに対応する複製データを生成することになる。なお、候補値は、項目に当てはまる値がいくつかの候補に決まっている場合、予め設定した複数種類の設定値であってもよい。
生成部131は、それぞれの補完対象レコードの欠損部分のセルに、それぞれの候補値を代入、つまり複写して複製データを生成する。このとき、生成部131は、補完対象レコードの複製数をn行とすると、n=0から順に複製データをm個生成することになる。なお、n=0の場合とは、補完対象レコードを複製せずに、欠損部分のセルに補完値を複写する場合である。生成部131は、候補値を複写する場合、補完対象レコードの欠損していない項目のうち、他のレコードの対応する項目と値が一致する項目の数が多い順に、他のレコードから抽出した候補値を複写する。つまり、生成部131は、他のレコードの各項目の値が補完対象レコードと似ている順に、候補値を複写して複製データを生成する。また、生成部131は、補完対象レコードの直近の時刻の他のレコードから順に候補値を複写して複製データを生成してもよい。なお、生成部131は、初回のみ補完対象レコードをn行複製した複製データと、n+1行複製した複製データとを生成する。
生成部131は、生成した複製データを複製データ記憶部122に記憶する。なお、生成部131は、nが増加すると、その都度生成した複製データを複製データ記憶部122に記憶する。つまり、複製データ記憶部122には、複製データがn=0から順番に記憶される。なお、補完対象レコードの欠損部分のセルが複数ある場合には、少なくとも1つ以上の欠損部分のセルに、候補値を複写して補完するようにしてもよい。
ここで、図11を用いて複製データの生成について説明する。図11は、複製データの生成の一例を示す図である。図11の複製データ40の例では、生成部131は、補完対象レコードの欠損値の列である項目「コマンド属性」の列について、レコード群41の項目「コマンド属性」から候補値「Launch」および「Access」を抽出する。生成部131は、候補値の数mが2個であるので、補完対象レコードを1行複製し、各補完対象レコードに候補値を複写して補完対象レコード42a,42bを生成する。
生成部131は、複製データを生成すると、生成した複製データを、交差検証を行うために分割する。生成部131は、例えば、K-分割交差検証や一個抜き交差検証(LOOCV:Leave One Out Cross Validation)を用いて、学習用データおよび評価用データを生成する。なお、生成部131は、訓練データが少なく複製データも少ない場合には、学習に用いた複製データを用いて正しく判定できているかどうかを検証するようにしてもよい。生成部131は、生成した学習用データを学習部132に出力する。また、生成部131は、生成した評価用データを比較部133に出力する。
言い換えると、生成部131は、入力データの項目の一部の値が欠落している補完対象レコードに対し、欠落した値の少なくとも一部を候補値から補完した変換データを生成する。また、生成部131は、補完対象レコードの値が欠落している項目に、同じ項目の値が欠落していないレコードの複数種類の値を候補値とし、該候補値のうち、いずれかの値を複写して補完した変換データを生成する。また、生成部131は、補完対象レコードを含む複数のレコードを時刻順に並べ、候補値の数に対して不足する数だけ補完対象レコードを複製し、補完対象レコードのそれぞれに対して、候補値のそれぞれを複写して、変換データを生成する。また、生成部131は、補完対象レコードのそれぞれに対して、補完対象レコードの値が欠落していない項目のうち、候補値を有するレコードの対応する項目と値が一致する項目の数が多い順に、候補値のそれぞれを複写して、変換データを生成する。また、生成部131は、補完対象レコードのそれぞれに対して、直近の時刻から順に候補値のそれぞれを複写して、変換データを生成する。また、生成部131は、補完対象レコードの値が欠落している項目に、予め設定した複数種類の設定値を候補値とし、該候補値のうち、いずれかの値を複写して補完した変換データを生成する。
図1の説明に戻って、学習部132は、生成部131から学習用データが入力されると、学習用データを学習して学習済モデルを生成する。つまり、学習部132は、学習用データをテンソル分解し、コアテンソル(部分グラフ構造)を生成する。学習部132は、生成したコアテンソルをニューラルネットワークに入力して出力を得る。学習部132は、出力値の誤差が小さくなるように学習するとともに、判定精度が高くなるようにテンソル分解のパラメータを学習する。テンソル分解においては自由度があり、テンソル分解のパラメータとして、分解モデル、制約、最適化アルゴリズムの組み合わせ等が挙げられる。分解モデルは、例えば、CP(Canonical Polyadic decomposition)やTuckerが挙げられる。制約は、例えば、直交制約、スパース制約、スムース制約、非負制約等が挙げられる。最適化アルゴリズムは、例えば、ALS(Alternating Least Square)、HOSVD(Higher Order Singular Value Decomposition)、HOOI(Higher Order Orthogonal Iteration of tensors)等が挙げられる。ディープテンソルにおいては、「判定精度が高くなる」という制約下でテンソル分解を行う事になる。
学習部132は、学習用データの学習が完了すると、学習済モデルを学習済モデル記憶部123に記憶する。このとき、学習済モデル記憶部123には、複製データの複製行数nに対応する学習済モデルと、複製行数n+1に対応する学習済モデルとが記憶されている状態となるようにする。つまり、学習部132は、初回のみ複製行数nに対応する学習済モデルと、複製行数n+1に対応する学習済モデルとの2つの学習済モデルを生成する。学習部132は、複製行数n=1以降では、従前の複製行数n+1に対応する学習済モデルを複製行数nに対応する学習済モデルに移行し、新たに学習した複製行数n+1に対応する学習済モデルを生成する。なお、ニューラルネットワークは、RNN(再帰型ニューラルネットワーク:Recurrent Neural Network)など様々なニューラルネットワークを用いることができる。また、学習方法は、誤差逆伝播法など様々な手法を採用することができる。
言い換えると、学習部132は、変換データ(複製データ)を、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる。また、学習部132は、生成した変換データ(複製データ)のうち、補完対象レコードをn行複製して候補値を補完した変換データを学習した第1学習済モデルを生成する。また、学習部132は、変換データ(複製データ)のうち、補完対象レコードをn+1行複製して候補値を補完した変換データを学習した第2学習済モデルを生成する。
比較部133は、学習部132で学習用データの学習が完了すると、学習済モデル記憶部123を参照して、生成部131から入力された評価用データを用いて、評価用データの分類精度を比較する。つまり、比較部133は、n行複製に対応する学習済モデルを用いた場合の評価用データの分類精度と、n+1行複製に対応する学習済モデルを用いた場合の評価用データの分類精度とを比較する。
比較部133は、比較の結果、n行複製の分類精度が、n+1行複製の分類精度とほぼ等しいか否かを判定する。なお、分類精度の比較は、比較した分類精度が同一であるか否かを判定するようにしてもよい。比較部133は、n行複製の分類精度が、n+1行複製の分類精度とほぼ等しくないと判定した場合には、複製行数nをインクリメントして、次の複製データを生成するように生成部131に指示する。比較部133は、n行複製の分類精度が、n+1行複製の分類精度とほぼ等しいと判定した場合には、その時のn行複製に対応する学習済モデル、つまり複製行数nの学習済モデル、および、当該複製行数nに対応するn+1個の補完値を学習済モデル記憶部123に記憶する。すなわち、このときの複製行数nの学習済モデルは、分類精度が変動しなくなった状態である。
言い換えると、比較部133は、生成した変換データに基づく評価用データを用いて、第1学習済モデルおよび第2学習済モデルの分類精度を比較する。比較部133は、比較した分類精度が同一となるまでnを増加させた場合における、第1学習済モデルと、補完対象レコードに補完したn+1個の補完値を出力する。
判別部134は、学習済モデルの生成後に、新規データを取得し、学習済モデルを用いて判別した判別結果を出力する。判別部134は、例えば、通信部110を介して、他の端末から判別対象の新規データを受信して取得する。判別部134は、取得した新規データを統合した判別対象の統合データを生成する。生成部131は、生成した統合データから補完対象レコードを特定する。
判別部134は、学習済モデル記憶部123を参照し、判別に用いる複製行数n時の学習済モデルおよびn+1個の補完値を取得する。判別部134は、取得したn+1個の補完値に基づいて、判別対象の統合データの補完対象レコードをn個複製し、各補完対象レコードにn+1個の補完値それぞれを複写して、判別対象の複製データを生成する。
判別部134は、取得した複製行数n時の学習済モデルを用いて判別対象の複製データを判別する。すなわち、判別部134は、学習済モデルの各種パラメータを設定したニューラルネットワークを構築し、テンソル分解の方法を設定する。判別部134は、生成した判別対象の複製データをテンソル分解し、ニューラルネットワークに入力して、判別結果を取得する。判別部134は、取得した判別結果を表示部111に出力して表示したり、記憶部120に出力して記憶したりする。
次に、実施例の学習装置100の動作について説明する。まず、学習済モデルを生成する学習処理について説明する。図12は、実施例の学習処理の一例を示すフローチャートである。
生成部131は、例えば、他の端末から学習用の訓練データを取得する(ステップS1)。生成部131は、取得した訓練データを統合した統合データを生成する。生成部131は、生成した統合データを統合データ記憶部121に記憶する。生成部131は、生成した統合データから補完対象レコードを特定する(ステップS2)。
生成部131は、特定した補完対象レコードの欠損値の列について、他のレコードから候補値を抽出する(ステップS3)。生成部131は、候補値を抽出すると、補完対象レコードをn行複製し、各補完対象レコードに候補値を複写して複製データを生成する(ステップS4)。また、生成部131は、補完対象レコードをn+1行複製し、各補完対象レコードに候補値を複写して複製データを生成する(ステップS5)。なお、nの初期値は0とすることができる。生成部131は、生成した複製データを複製データ記憶部122に記憶する。
生成部131は、複製データを生成すると、生成した複製データを、交差検証を行うために分割する(ステップS6)。生成部131は、交差検証に基づく評価用データを生成する(ステップS7)。また、生成部131は、交差検証に基づく学習用データを生成する(ステップS8)。生成部131は、生成した学習用データを学習部132に出力する。また、生成部131は、生成した評価用データを比較部133に出力する。
学習部132は、生成部131から学習用データが入力されると、学習用データを学習し(ステップS9)、学習済モデルを生成する(ステップS10)。なお、学習部132は、初回のみ複製行数nに対応する学習済モデルと、複製行数n+1に対応する学習済モデルとの2つの学習済モデルを生成する。学習部132は、学習用データの学習が完了すると、学習済モデルを学習済モデル記憶部123に記憶する。
比較部133は、学習部132で学習用データの学習が完了すると、学習済モデル記憶部123を参照して、生成部131から入力された評価用データを用いて、評価用データの分類精度を比較する(ステップS11)。比較部133は、比較の結果、n行複製の分類精度が、n+1行複製の分類精度とほぼ等しいか否かを判定する(ステップS12)。比較部133は、n行複製の分類精度が、n+1行複製の分類精度とほぼ等しくないと判定した場合には(ステップS12:否定)、複製行数nをインクリメントする(ステップS13)。また、比較部133は、次の複製データを生成するように生成部131に指示し、ステップS5に戻る。
比較部133は、n行複製の分類精度が、n+1行複製の分類精度とほぼ等しいと判定した場合には(ステップS12:肯定)、複製行数nの学習済モデルおよびn+1個の補完値を学習済モデル記憶部123に記憶し(ステップS14)、学習処理を終了する。これにより、学習装置100は、補完の影響による判別精度の劣化を抑制できる。つまり、学習装置100は、汎化性が高い学習済モデルを生成できる。
なお、本学習処理の例では、補完値として適切な組み合わせが存在するものとして説明しているため、ステップS12で例外処理を行っていないが、候補値の数が多い場合には、ステップS12の判定を所定回数行った時点でステップS14に進むようにしてもよい。所定回数は、例えば、学習処理の所要時間に応じて決定することができる。例えば、所定回数は、ステップS5~S12までの処理が1時間かかるとした場合、1日分、つまり24回とすることができる。また、候補値の数が多い場合には、ランダムに選択した候補値を用いてステップS5~S12までの処理を何回か実行し、上位に来る候補値を用いるようにしてもよい。
続いて、新規データを判別する判別処理について説明する。図13は、実施例の判別処理の一例を示すフローチャートである。
判別部134は、例えば、他の端末から判別対象の新規データを受信して取得する(ステップS21)。判別部134は、取得した新規データを統合した判別対象の統合データを生成する。生成部131は、生成した統合データから補完対象レコードを特定する(ステップS22)。
判別部134は、学習済モデル記憶部123を参照し、判別に用いる複製行数n時の学習済モデルおよびn+1個の補完値を取得する。判別部134は、取得したn+1個の補完値に基づいて、判別対象の統合データの補完対象レコードをn個複製し、各補完対象レコードにn+1個の補完値それぞれを複写して、判別対象の複製データを生成する(ステップS23)。
判別部134は、取得した複製行数n時の学習済モデルを用いて判別対象の複製データを判別する(ステップS24)。判別部134は、判別結果を、例えば表示部111に出力して表示させる(ステップS25)。これにより、学習装置100は、補完の影響による判別精度の劣化を抑制した学習済モデルを用いて判別対象のデータを判別するので、例えば、遠隔操作の攻撃の検知精度を向上させることができる。すなわち、学習装置100は、汎化性が向上することで検知精度を向上させることができる。
このように、学習装置100は、複数の項目を有するレコードをデータ単位とする複数ログから生成された入力データを入力する。学習装置100は、入力データの項目の一部の値が欠落している補完対象レコードに対し、欠落した値の少なくとも一部を候補値から補完した変換データを生成する。また、学習装置100は、変換データを、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる。その結果、学習装置100は、補完の影響による判別精度の劣化を抑制できる。
また、学習装置100は、補完対象レコードの値が欠落している項目に、同じ項目の値が欠落していないレコードの複数種類の値を候補値とし、該候補値のうち、いずれかの値を複写して補完した変換データを生成する。その結果、学習装置100は、欠落した値を補完して学習を行うことができる。
また、学習装置100は、補完対象レコードを含む複数のレコードを時刻順に並べ、候補値の数に対して不足する数だけ補完対象レコードを複製し、補完対象レコードのそれぞれに対して、候補値のそれぞれを複写して、変換データを生成する。その結果、学習装置100は、関連性が高いと期待される候補値から順に補完することができる。
また、学習装置100は、補完対象レコードのそれぞれに対して、補完対象レコードの値が欠落していない項目のうち、候補値を有するレコードの対応する項目と値が一致する項目の数が多い順に、候補値のそれぞれを複写して、変換データを生成する。その結果、学習装置100は、より関連性が高いと期待される候補値から順に補完することができる。
また、学習装置100は、補完対象レコードのそれぞれに対して、直近の時刻から順に候補値のそれぞれを複写して、変換データを生成する。その結果、学習装置100は、より関連性が高いと期待される候補値から順に補完することができる。つまり、学習装置100は、例えば、コマンドの近傍の適切な通信確立行動が対応付けられたデータを学習できる。すなわち、学習装置100は、汎化性が高い学習済モデルを生成できる。
また、学習装置100は、生成した変換データのうち、補完対象レコードをn行複製して候補値を補完した変換データを学習した第1学習済モデルと、補完対象レコードをn+1行複製して候補値を補完した変換データを学習した第2学習済モデルとを生成する。また、学習装置100は、生成した変換データに基づく評価用データを用いて、第1学習済モデルおよび第2学習済モデルの分類精度を比較する。また、学習装置100は、比較した分類精度が同一となるまでnを増加させた場合における、第1学習済モデルと、補完対象レコードに補完したn+1個の補完値を出力する。その結果、学習装置100は、検知の分類精度を最大化しつつ、過学習を防止できる。また、学習装置100は、学習における計算時間の短縮を図ることができる。
また、学習装置100は、補完対象レコードの値が欠落している項目に、予め設定した複数種類の設定値を候補値とし、該候補値のうち、いずれかの値を複写して補完した変換データを生成する。その結果、学習装置100は、学習における計算時間の短縮を図ることができる。
なお、上記実施例では、ニューラルネットワークとして、RNNを一例として挙げたが、これに限定されない。例えば、CNN(Convolutional Neural Network)など様々なニューラルネットワークを用いることができる。また、学習の手法も、誤差逆伝播以外にも公知の様々な手法を採用することができる。また、ニューラルネットワークは、例えば入力層、中間層(隠れ層)、出力層から構成される多段構成であり、各層は複数のノードがエッジで結ばれる構造を有する。各層は、「活性化関数」と呼ばれる関数を持ち、エッジは「重み」を持ち、各ノードの値は、前の層のノードの値、接続エッジの重みの値、層が持つ活性化関数から計算される。なお、計算方法については、公知の様々な手法を採用できる。また、機械学習としては、ニューラルネットワーク以外にも、SVM(support vector machine)等の各種手法を用いてもよい。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、生成部131と学習部132とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
さらに、各装置で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
ところで、上記の各実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の各実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図14は、学習プログラムを実行するコンピュータの一例を示す図である。
図14に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置204と、各種装置と接続するためのインタフェース装置205と、他の情報処理装置等と有線または無線により接続するための通信装置206とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM207と、ハードディスク装置208とを有する。また、各装置201~208は、バス209に接続される。
ハードディスク装置208には、図1に示した生成部131、学習部132、比較部133および判別部134の各処理部と同様の機能を有する学習プログラムが記憶される。また、ハードディスク装置208には、統合データ記憶部121、複製データ記憶部122、学習済モデル記憶部123、および、学習プログラムを実現するための各種データが記憶される。入力装置202は、例えば、コンピュータ200の管理者から操作情報等の各種情報の入力を受け付ける。モニタ203は、例えば、コンピュータ200の管理者に対して表示画面等の各種画面を表示する。インタフェース装置205は、例えば印刷装置等が接続される。通信装置206は、例えば、図1に示した通信部110と同様の機能を有し図示しないネットワークと接続され、他の情報処理装置と各種情報をやりとりする。
CPU201は、ハードディスク装置208に記憶された各プログラムを読み出して、RAM207に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ200を図1に示した生成部131、学習部132、比較部133および判別部134として機能させることができる。
なお、上記の学習プログラムは、必ずしもハードディスク装置208に記憶されている必要はない。例えば、コンピュータ200が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ200が読み出して実行するようにしてもよい。コンピュータ200が読み取り可能な記憶媒体は、例えば、CD-ROMやDVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこの学習プログラムを記憶させておき、コンピュータ200がこれらから学習プログラムを読み出して実行するようにしてもよい。
100 学習装置
110 通信部
111 表示部
112 操作部
120 記憶部
121 統合データ記憶部
122 複製データ記憶部
123 学習済モデル記憶部
130 制御部
131 生成部
132 学習部
133 比較部
134 判別部

Claims (7)

  1. 複数の項目を有するレコードをデータ単位とする複数ログから生成された入力データを入力し、
    前記入力データの項目の一部の値が欠落している補完対象レコードに対し、前記補完対象レコードの値が欠落している項目に、同じ項目の値が欠落していないレコードの複数種類の値を候補値とし、前記候補値の数に応じて前記補完対象レコードを複製し、前記補完対象レコードのそれぞれに対して、前記候補値のそれぞれを複写して補完した変換データを生成し、
    前記変換データを、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる、
    処理をコンピュータに実行させる学習プログラム。
  2. 前記変換データ、レコードに対応づいた時刻順に並べられる
    請求項に記載の学習プログラム。
  3. 前記生成する処理は、前記補完対象レコードのそれぞれに対して、前記補完対象レコードの値が欠落していない項目のうち、前記候補値を有するレコードの対応する項目と値が一致する項目の数が多い順に、前記候補値のそれぞれを複写して、前記変換データを生成する、
    請求項1または2に記載の学習プログラム。
  4. 前記生成する処理は、前記補完対象レコードのそれぞれに対して、直近の時刻から順に前記候補値のそれぞれを複写して、前記変換データを生成する、
    請求項1~3のいずれか1つに記載の学習プログラム。
  5. 前記学習させる処理は、生成した前記変換データのうち、前記補完対象レコードをn行複製して前記候補値を補完した前記変換データを学習した第1学習済モデルと、前記補完対象レコードをn+1行複製して前記候補値を補完した前記変換データを学習した第2学習済モデルとを生成し、
    生成した前記変換データに基づく評価用データを用いて、前記第1学習済モデルおよび前記第2学習済モデルの分類精度を比較し、比較した前記分類精度が同一となるまで前記nを増加させた場合における、前記第1学習済モデルと、前記補完対象レコードに補完したn+1個の補完値を出力する、
    処理を前記コンピュータに実行させる請求項のいずれか1つに記載の学習プログラム。
  6. 複数の項目を有するレコードをデータ単位とする複数ログから生成された入力データを入力し、
    前記入力データの項目の一部の値が欠落している補完対象レコードに対し、前記補完対象レコードの値が欠落している項目に、同じ項目の値が欠落していないレコードの複数種類の値を候補値とし、前記候補値の数に応じて前記補完対象レコードを複製し、前記補完対象レコードのそれぞれに対して、前記候補値のそれぞれを複写して補完した変換データを生成し、
    前記変換データを、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる、
    処理をコンピュータが実行する学習方法。
  7. 複数の項目を有するレコードをデータ単位とする複数ログから生成された入力データを入力する入力部と、
    前記入力データの項目の一部の値が欠落している補完対象レコードに対し、前記補完対象レコードの値が欠落している項目に、同じ項目の値が欠落していないレコードの複数種類の値を候補値とし、前記候補値の数に応じて前記補完対象レコードを複製し、前記補完対象レコードのそれぞれに対して、前記候補値のそれぞれを複写して補完した変換データを生成する生成部と、
    前記変換データを、入力テンソルデータをテンソル分解し深層学習を行う学習器により学習させる学習部と、
    を有する学習装置。
JP2018069153A 2018-03-30 2018-03-30 学習プログラム、学習方法および学習装置 Active JP7139657B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018069153A JP7139657B2 (ja) 2018-03-30 2018-03-30 学習プログラム、学習方法および学習装置
US16/362,690 US20190303789A1 (en) 2018-03-30 2019-03-25 Computer-readable recording medium, learning method, and learning device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018069153A JP7139657B2 (ja) 2018-03-30 2018-03-30 学習プログラム、学習方法および学習装置

Publications (2)

Publication Number Publication Date
JP2019179457A JP2019179457A (ja) 2019-10-17
JP7139657B2 true JP7139657B2 (ja) 2022-09-21

Family

ID=68054484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018069153A Active JP7139657B2 (ja) 2018-03-30 2018-03-30 学習プログラム、学習方法および学習装置

Country Status (2)

Country Link
US (1) US20190303789A1 (ja)
JP (1) JP7139657B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6775740B1 (ja) * 2019-06-20 2020-10-28 昭和電工マテリアルズ株式会社 設計支援装置、設計支援方法及び設計支援プログラム
JP7394023B2 (ja) 2020-06-03 2023-12-07 日立Geニュークリア・エナジー株式会社 溶接作業評価装置、溶接作業評価方法およびプログラム
CN114489790A (zh) * 2020-11-13 2022-05-13 中科寒武纪科技股份有限公司 数据处理装置、数据处理方法及相关产品
WO2022190327A1 (ja) * 2021-03-11 2022-09-15 日本電信電話株式会社 学習方法、推定方法、学習装置、推定装置、及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012027537A (ja) 2010-07-20 2012-02-09 Kobe Steel Ltd 出力値予測方法、該装置および該方法のプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012027537A (ja) 2010-07-20 2012-02-09 Kobe Steel Ltd 出力値予測方法、該装置および該方法のプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
丸橋 弘治,「人やモノのつながりを表すグラフデータから新たな知見を導く新技術Deep Tensor」,FUJITSU,富士通株式会社,2017年09月01日,第68巻, 第5号,pp.29-35

Also Published As

Publication number Publication date
JP2019179457A (ja) 2019-10-17
US20190303789A1 (en) 2019-10-03

Similar Documents

Publication Publication Date Title
JP7139657B2 (ja) 学習プログラム、学習方法および学習装置
US11455284B2 (en) Method and system for adaptively imputing sparse and missing data for predictive models
Pu et al. A hybrid unsupervised clustering-based anomaly detection method
Chen et al. Outlier detection with autoencoder ensembles
Hu et al. Ganfuzz: a gan-based industrial network protocol fuzzing framework
US10635978B2 (en) Ensembling of neural network models
CN110505241B (zh) 一种网络攻击面检测方法及系统
JP7302019B2 (ja) システムレベルセキュリティのための階層的挙動行動のモデル化および検出システムおよび方法
Chakraborty et al. Hellinger net: A hybrid imbalance learning model to improve software defect prediction
JP7047498B2 (ja) 学習プログラム、学習方法および学習装置
Tan et al. Adversarial attacks on remote user authentication using behavioural mouse dynamics
JP7151500B2 (ja) 学習方法、学習プログラムおよび学習装置
JP7115207B2 (ja) 学習プログラム、学習方法および学習装置
US11556785B2 (en) Generation of expanded training data contributing to machine learning for relationship data
Hong et al. The entropy and PCA based anomaly prediction in data streams
JP2019128603A (ja) 学習プログラム、学習方法および学習装置
JP6985765B2 (ja) セキュリティアセスメントシステム
JP7102866B2 (ja) 学習プログラム、学習方法および学習装置
Leevy et al. Feature evaluation for IoT botnet traffic classification
Ayachi et al. Increasing the Performance of an IDS using ANN model on the realistic cyber dataset CSE-CIC-IDS2018
Timčenko et al. The hybrid machine learning support for entropy based network traffic anomaly detection
Wang et al. Network intrusion detection with workflow feature definition using bp neural network
Gomathy et al. Network intrusion detection using genetic algorithm and neural network
Ku et al. Intrusion detection based on self-adaptive differential evolutionary extreme learning machine
YOLACAN et al. A framework for studying new approaches to anomaly detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220822

R150 Certificate of patent or registration of utility model

Ref document number: 7139657

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150