(57)【要約】【課題】分類の汎化性能を向上する。【解決手段】実施形態の学習方法は、コアテンソルが生成された機械学習モデルの学習方法であって、第１学習を行う処理と、判別する処理と、生成する処理と、第２学習を行う処理とをコンピュータが実行する。第１学習を行う処理は、正解ラベルが付与された教師データにより機械学習モデルの第１学習を行う。判別する処理は、教師データの中から、学習後の機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する。生成する処理は、判別した教師データの組をもとに拡張教師データを生成する。第２学習を行う処理は、生成した拡張教師データを用いた機械学習モデルの第２学習を行う。【選択図】図４
2020119044.tif 000002
【特許請求の範囲】
【請求項１】
コアテンソルが生成された機械学習モデルの学習方法であって、
正解ラベルが付与された教師データにより前記機械学習モデルの第１学習を行い、
前記教師データの中から、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別し、
判別した教師データの組をもとに拡張教師データを生成し、
生成した前記拡張教師データを用いた前記機械学習モデルの第２学習を行う、
処理をコンピュータが実行することを特徴とする学習方法。
【請求項２】
前記生成する処理は、正解ラベルが同一の教師データの組をもとに、当該正解ラベルが付与された拡張教師データを生成する、
ことを特徴とする請求項１に記載の学習方法。
【請求項３】
前記生成する処理は、判別した前記教師データの組の前記特徴空間における重複率に基づく範囲で前記拡張教師データを生成する、
ことを特徴とする請求項１または２に記載の学習方法。
【請求項４】
コアテンソルが生成された機械学習モデルの学習方法であって、
正解ラベルが付与された教師データにより前記機械学習モデルの第１学習を行い、
前記教師データから生成された拡張教師データそれぞれに対し、学習後の前記機械学習モデルのコアテンソルを用いて前記機械学習モデルの教師データとして採用可能であるか否かを判別し、
前記判別結果に基づき、前記拡張教師データを用いた前記機械学習モデルの第２学習を行う、
処理をコンピュータが実行することを特徴とする学習方法。
【請求項５】
前記第２学習を行う処理は、採用可能と判別された前記拡張教師データを用いて学習を行う、
ことを特徴とする請求項４に記載の学習方法。
【請求項６】
前記判別する処理は、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間における前記教師データおよび前記拡張教師データの位置にもとに、前記拡張教師データが採用可能であるか否かを判別する、
ことを特徴とする請求項４または５に記載の学習方法。
【請求項７】
コアテンソルが生成された機械学習モデルの学習プログラムであって、
正解ラベルが付与された教師データにより前記機械学習モデルの第１学習を行い、
前記教師データの中から、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別し、
判別した教師データの組をもとに拡張教師データを生成し、
生成した前記拡張教師データを用いた前記機械学習モデルの第２学習を行う、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【請求項８】
コアテンソルが生成された機械学習モデルの学習プログラムであって、
正解ラベルが付与された教師データにより前記機械学習モデルの第１学習を行い、
前記教師データから生成された拡張教師データそれぞれに対し、学習後の前記機械学習モデルのコアテンソルを用いて前記機械学習モデルの教師データとして採用可能であるか否かを判別し、
前記判別結果に基づき、前記拡張教師データを用いた前記機械学習モデルの第２学習を行う、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【請求項９】
コアテンソルが生成された機械学習モデルの学習装置であって、
正解ラベルが付与された教師データにより前記機械学習モデルの学習を行う第１学習部と、
前記教師データの中から、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する判別部と、
判別した教師データの組をもとに拡張教師データを生成する生成部と、
生成した前記拡張教師データを用いた前記機械学習モデルの学習を行う第２学習部と、
を有することを特徴とする学習装置。
【請求項１０】
コアテンソルが生成された機械学習モデルの学習装置であって、
正解ラベルが付与された教師データにより前記機械学習モデルの第１学習を行う第１学習部と、
前記教師データから生成された拡張教師データそれぞれに対し、学習後の前記機械学習モデルのコアテンソルを用いて前記機械学習モデルの教師データとして採用可能であるか否かを判別する判別部と、
前記判別結果に基づき、前記拡張教師データを用いた前記機械学習モデルの第２学習を行う第２学習部と、
を有することを特徴とする学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、学習方法、学習プログラムおよび学習装置に関する。
【背景技術】
【０００２】
従来、教師データにより学習したニューラルネットワークなどの学習モデルを用いて、種々の情報の分類が行われている。例えば、情報セキュリティ分野における攻撃活動の分析では、正常または不正とする正解ラベルが付与された通信ログを教師データとして学習モデルの学習を行う。そして、学習後の学習器に用いてネットワーク内の通信ログよりサイバー攻撃の有無を分類している。
【０００３】
情報セキュリティ分野において、攻撃時の通信ログを収集することは困難であるため、教師データとする不正な通信ログの数も正常な通信ログに対して極端に少なくなる。このような、教師データにおける正解ラベルの偏りを解消する従来技術としては、サンプルベクトルが不足するラベルに関して、適当な変数を割り当てて追加するものが知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００６／０８７８５４号
【特許文献２】特開２０１１−１４１８６６号公報
【特許文献３】特開２０１５−１８５１４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、追加した教師データが未知のデータについて正しく分類するように学習モデルを学習させるという保証があるものではない。このため、分類の汎化能力の向上が見込めない場合があるという問題がある。
【０００６】
１つの側面では、分類の汎化能力の向上を可能とする学習方法、学習プログラムおよび学習装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
１つの案では、コアテンソルが生成された機械学習モデルの学習方法であって、第１学習を行う処理と、判別する処理と、生成する処理と、第２学習を行う処理とをコンピュータが実行する。第１学習を行う処理は、正解ラベルが付与された教師データにより機械学習モデルの第１学習を行う。判別する処理は、教師データの中から、学習後の機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する。生成する処理は、判別した教師データの組をもとに拡張教師データを生成する。第２学習を行う処理は、生成した拡張教師データを用いた機械学習モデルの第２学習を行う。
【発明の効果】
【０００８】
本発明の１実施態様によれば、分類の汎化性能を向上することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態にかかる学習装置の機能構成例を示すブロック図である。
【図２】図２は、データ分類の一例を示す説明図である。
【図３】図３は、ディープテンソルにおける学習の一例を示す説明図である。
【図４】図４は、実施形態にかかる学習装置の動作例を示すフローチャートである。
【図５】図５は、距離行列の生成例を説明する説明図である。
【図６】図６は、重複率の計算と中間データの生成を例示する説明図である。
【図７】図７は、重複率の計算手順を例示する説明図である。
【図８Ａ】図８Ａは、重複率の計算の具体例を示す説明図である。
【図８Ｂ】図８Ｂは、重複率の計算の具体例を示す説明図である。
【図９】図９は、実施形態にかかる学習装置による分離面を説明する説明図である。
【図１０】図１０は、学習プログラムを実行するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、実施形態にかかる学習方法、学習プログラムおよび学習装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する学習方法、学習プログラムおよび学習装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【００１１】
［概要について］
図１は、実施形態にかかる学習装置の機能構成例を示すブロック図である。図１に示す学習装置１００は、コアテンソルが生成された機械学習モデルの学習を行う。具体的には、学習装置１００は、正解ラベルが付与された教師データにより機械学習モデルの学習を行う。学習装置１００は、教師データの中から、学習後の機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する。学習装置１００は、判別した教師データの組をもとに、元の教師データとは別に教師データ群に新たに追加する教師データ（以後、拡張教師データとよぶ）を生成する。学習装置１００は、生成した拡張教師データを用いた機械学習モデルの学習を行う。これにより、学習装置１００は、機械学習モデルにおける分類の汎化性能を向上することができる。
【００１２】
図２は、データ分類の一例を示す説明図である。図２に示すデータ１１およびデータ１２は、通信ログを所定の時間帯ごとに纏めたグラフ構造データである。なお、以下の説明では、グラフ構造データを単にデータと表現する場合がある。データ１１およびデータ１２は、例えば、１０分ごとの通信ログに記録された通信元ホスト、通信先ホスト、ポート番号、通信量といった情報の関係を表す。データ１１およびデータ１２に示すようなグラフ構造データを、例えば、正常な通信と不正な通信とに分類したい場合がある。
【００１３】
このようなデータ分類では、正常な通信または不正な通信を示す正解ラベルを付与した教師データを用いて機械学習モデルの学習を行う。次いで、学習済みの機械学習モデルにデータ１１およびデータ１２を適用することで、分類結果を得ることができる。
【００１４】
なお、本実施形態では、情報セキュリティ分野における攻撃活動の分析において、通信ログのデータ１１およびデータ１２より正常な通信と不正な通信とに分類する例を挙げる。しかしながら、本実施形態は一例であり、分類対象とするデータの種別や分類内容については、本実施形態の例に限定するものではない。例えば、他の例としては、銀行の取引履歴に記録された送金元口座、送金先口座、支店名といった情報の関係を表すデータから、マネーロンダリングや振り込め詐欺が発生した時刻の取引履歴を分類してもよい。
【００１５】
また、グラフ構造データの分類では、グラフ構造データを深層学習することが可能なグラフ構造学習技術（以下、このようなグラフ構造学習を行う装置の一形態を「ディープテンソル」とよぶ）を用いる機械学習モデルによる分類を行う。
【００１６】
ディープテンソルとは、テンソル（グラフ情報）を入力とするディープラーニングであり、ニューラルネットワークの学習とともに、判別に寄与する部分グラフ構造（以下、部分構造ともいう。）を自動的に抽出する。この抽出処理は、ニューラルネットワークの学習とともに、入力テンソルデータのテンソル分解のパラメータを学習することによって実現される。
【００１７】
図３は、ディープテンソルにおける学習の一例を示す図である。図３に示すように、あるグラフ構造データの全体を表すグラフ構造２５は、テンソル２６として表すことができる。また、テンソル２６は、構造制約テンソル分解によって、コアテンソル２７と行列の積に近似することができる。ディープテンソルでは、コアテンソル２７をニューラルネットワーク２８に入力して深層学習を行い、ターゲットコアテンソル２９に近くなるように、拡張誤差逆伝搬法で最適化を行う。このとき、コアテンソル２７をグラフで表すと、特徴が凝縮された部分構造を表すグラフ３０となる。すなわち、ディープテンソルは、グラフ全体からコアテンソル２７によって重要な部分構造を自動的に学習できる。
【００１８】
このディープテンソルの部分構造においては、各教師データのテンソル中の位置関係が、分類にとって重要な部分構造であることを保証する。同時に、線形変換による教師データ間の関係を保証する。このため、ディープテンソルにおける学習後のコアテンソル２７に基づく特徴空間で互いに近接する教師データの組み合わせが同じ正解ラベルである場合、その中間にある教師データも同じ正解ラベルであることが保証される。本実施形態では、このようなディープテンソルにおける部分構造に着目し、拡張教師データを生成する。
【００１９】
具体的には、ディープテンソルにおける学習後のコアテンソル２７に基づく特徴空間に教師データを変換し、教師データの中で特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する。そして、判別した教師データの組をもとに中間データを生成し、教師データの組と同じ正解ラベルを付与した拡張教師データを生成する。これにより、未知のデータについて正しく分類するように機械学習モデルを学習させる拡張教師データを生成することができる。
【００２０】
［構成について］
次に、学習装置１００の構成について説明する。図１に示すように、学習装置１００は、通信部１１０と、表示部１１１と、操作部１１２と、記憶部１２０と、制御部１３０とを有する。なお、学習装置１００は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
【００２１】
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、図示しないネットワークを介して他の情報処理装置と有線または無線で接続され、他の情報処理装置との間で情報の通信を司る通信インタフェースである。通信部１１０は、例えば、他の端末から学習用の教師データや判別対象の新規データを受信する。また、通信部１１０は、他の端末に、学習結果や判別結果を送信する。
【００２２】
表示部１１１は、各種情報を表示するための表示デバイスである。表示部１１１は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部１１１は、制御部１３０から入力された表示画面等の各種画面を表示する。
【００２３】
操作部１１２は、学習装置１００のユーザから各種操作を受け付ける入力デバイスである。操作部１１２は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部１１２は、ユーザによって入力された操作を操作情報として制御部１３０に出力する。なお、操作部１１２は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部１１１の表示デバイスと、操作部１１２の入力デバイスとは、一体化されるようにしてもよい。
【００２４】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、教師データ記憶部１２１と、演算データ記憶部１２２と、機械学習モデル記憶部１２３とを有する。また、記憶部１２０は、制御部１３０での処理に用いる情報を記憶する。
【００２５】
教師データ記憶部１２１は、機械学習モデルの教師とする教師データを記憶する。例えば、教師データ記憶部１２１には、通信ログなどの実データを収集し、正解を示す正解ラベル（例えば正常な通信／不正な通信）を付与した教師データが格納される。
【００２６】
演算データ記憶部１２２は、制御部１３０の演算に使用する演算データを記憶する。例えば、演算データ記憶部１２２は、機械学習モデルの学習時や、拡張教師データの生成時などの演算で用いる各種データ（コアテンソル２７、教師データとその変換データ、距離行列など）を記憶する。
【００２７】
機械学習モデル記憶部１２３は、深層学習した学習済の機械学習モデルを記憶する。具体的には、機械学習モデル記憶部１２３は、学習済の機械学習モデルに関する情報として、例えば、ニューラルネットワークの各種パラメータ（重み係数）、学習済みコアテンソル２７の情報、テンソル分解の方法等を記憶する。
【００２８】
制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。制御部１３０は、学習部１３１と、生成部１３２と、判別部１３３とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図１に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００２９】
学習部１３１は、教師データ記憶部１２１に記憶された教師データまたは生成部１３２が生成した拡張学習データをもとに、ディープテンソルにおける学習を実施して、学習済の機械学習モデルを生成する処理部である。すなわち、学習部１３１は、第１学習部、第２学習部の一例である。
【００３０】
例えば、学習部１３１は、教師データをテンソル分解し、コアテンソル２７（部分グラフ構造）を生成する。次いで、学習部１３１は、生成したコアテンソル２７をニューラルネットワーク２８に入力して出力を得る。次いで、学習部１３１は、出力値の誤差が小さくなるように学習するとともに、判定精度が高くなるようにテンソル分解のパラメータを学習する。テンソル分解においては自由度があり、テンソル分解のパラメータとして、分解モデル、制約、最適化アルゴリズムの組み合わせ等が挙げられる。分解モデルは、例えば、ＣＰ（Canonical  Polyadic  decomposition）やＴｕｃｋｅｒが挙げられる。制約は、例えば、直交制約、スパース制約、スムース制約、非負制約等が挙げられる。最適化アルゴリズムは、例えば、ＡＬＳ（Alternating  Least  Square）、ＨＯＳＶＤ（Higher  Order  Singular  Value  Decomposition）、ＨＯＯＩ（Higher  Order  Orthogonal  Iteration  of  tensors）等が挙げられる。ディープテンソルにおいては、「判定精度が高くなる」という制約下でテンソル分解を行う事になる。
【００３１】
学習部１３１は、教師データの学習が完了すると、学習済の機械学習モデルを機械学習モデル記憶部１２３に記憶する。なお、ニューラルネットワークは、ＲＮＮ（再帰型ニューラルネットワーク：Recurrent  Neural  Network）など様々なニューラルネットワークを用いることができる。また、学習方法は、誤差逆伝播法など様々な手法を採用することができる。
【００３２】
生成部１３２は、判別部１３３が判別した教師データの組をもとに拡張教師データを生成する処理部である。例えば、生成部１３２は、判別部１３３が判別した教師データの組をもとに、教師データの各要素同士で中間値となる中間データを生成する。次いで、生成部１３２は、生成した中間データに教師データの組と同じ正解ラベルを付与し、拡張教師データを生成する。
【００３３】
判別部１３３は、教師データ記憶部１２１の教師データの中から、学習後の機械学習モデルのコアテンソル２７に基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する処理部である。
【００３４】
具体的には、判別部１３３は、機械学習モデル記憶部１２３に格納された機械学習モデルにおける学習済みのコアテンソル２７との掛け合わせにより各教師データを変換し、変換後の教師データ（以下、変換データと呼ぶ）を得る。次いで、判別部１３３は、変換データごとに、変換データ間の距離を計算し、距離が近い変換データ同士で付与された正解ラベルが同一であるか否かを判定する。これにより、特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別できる。
【００３５】
［動作について］
次に、学習部１３１、生成部１３２および判別部１３３に関する処理の詳細を説明する。図４は、実施形態にかかる学習装置１００の動作例を示すフローチャートである。
【００３６】
図４に示すように、処理が開始されると、学習部１３１は、教師データ記憶部１２１に記憶された教師データをもとに、ディープテンソルによる機械学習モデルの学習を行う（Ｓ１）。次いで、学習部１３１は、学習済の機械学習モデルを機械学習モデル記憶部１２３に記憶する。
【００３７】
次いで、判別部１３３は、教師データ記憶部１２１に記憶された各教師データについて、学習後の機械学習モデルのコアテンソル２７に基づく特徴空間に変換し、変換データ同士の距離行列を生成する（Ｓ２）。
【００３８】
図５は、距離行列の生成例を説明する説明図である。図５の左上は、変換データＡ〜Ｇにおける特徴空間の位置関係を示し、左下は、変換データＡを基準とした変換データＢ〜Ｇの距離を示している。なお、変換データＡ〜Ｃは、「不正な通信」を正解とする正解ラベルが付与された教師データを変換したデータである。また、変換データＥ〜Ｇは、「正常な通信」を正解とする正解ラベルが付与された教師データを変換したデータである。
【００３９】
図５に示すように、Ｓ２では、変換データＡ〜Ｇそれぞれについて、変換データ同士の距離を求め、距離行列１２２Ａを生成する。具体的には、変換データＡに対する変換データＢ〜Ｇの距離ｄ<SUB>ＡＢ</SUB>〜ｄ<SUB>ＡＧ</SUB>、…（省略）…変換データＧに対する変換データＡ〜Ｆの距離ｄ<SUB>ＧＡ</SUB>〜ｄ<SUB>ＧＦ</SUB>を求め、距離行列１２２Ａに格納する。判別部１３３は、生成した距離行列１２２Ａを演算データ記憶部１２２に格納する。
【００４０】
次いで、判別部１３３は、距離行列１２２Ａを参照し、変換データごとに、距離の近い順にソートする（Ｓ３）。例えば、図５の左下に示すように、変換データＡについては、距離行列１２２Ａの距離ｄ<SUB>ＡＢ</SUB>〜ｄ<SUB>ＡＧ</SUB>をもとに、距離の近いＣ、Ｂ、Ｇ、Ｅ、Ｆの順にソートされる。
【００４１】
次いで、判別部１３３は、距離の近い順にソートした変換データをもとに、教師ラベル（正解ラベル）の連続性条件を満たしている教師データの組み合わせを特定する（Ｓ４）。次いで、判別部１３３は、特定した教師データの組み合わせを判別部１３３へ通知する。
【００４２】
例えば、図５の左下に示すように、変換データＡの教師データについては、距離が近い順に、変換データＣ、Ｂの教師データに同一の正解ラベルが付与されている。したがって、変換データＡ、Ｃの教師データの組と、変換データＡ、Ｂの教師データの組とが連続性条件を満たしている教師データの組み合わせとなる。変換データＡに対して、変換データＣの次に距離が近い変換データＧについては、教師データに付与された正解ラベルが変換データＡの教師データと異なる。したがって、変換データＧ以降については、連続性条件を満たしていないものとなる。図示例では、変換データＡの教師データに対する組み合わせを求めているが、他の変換データＢ〜Ｇについても同様にして組み合わせを求める。
【００４３】
次いで、判別部１３３は、生成部１３２が特定した教師データの組み合わせをもとに、特定した教師データの変換データにおける重複率、すなわち特徴空間における重複率を計算する（Ｓ５）。次いで、判別部１３３は、計算した重複率に基づく範囲で、組み合わせを特定した教師データ間における中間データを生成する（Ｓ６）。
【００４４】
図６は、重複率の計算と中間データの生成を例示する説明図である。図６において、Ｕ、Ｖは、ディープテンソルの入力空間における入力データを示しており、教師データの組み合わせに対応している。Ｕ’Ｖ’は、ディープテンソルの特徴空間における入力データＵ、Ｖの変換データを示している。Ｒは、特徴空間における入力データＶ’近傍の領域である。
【００４５】
図６に示すように、生成部１３２は、入力データＵ、Ｖ間の関係を保持できる範囲で中間データを生成するため、入力データＵ、Ｖの重複率（σ）を元に、その要素行列と重複率からコアテンソル２７同士の重複率（σ’）を計算する。
【００４６】
図７は、重複率の計算手順を例示する説明図である。図７に示すように、生成部１３２は、入力データＵ、Ｖにおける各項目の重複をもとに、入力データＵ、Ｖの重複率（σ）を計算する。具体的には、生成部１３２は、Ｕに出現する項目の重み自乗和、ＵとＶに出現する項目の重み自乗和、Ｖに出現する項目の自乗和などをもとに、入力データＵ、Ｖの重複率（σ）を計算する。
【００４７】
例えば、図示例では、Ｕに出現する項目の重み自乗和は、「１＾２＊４」である。また、ＵとＶに出現する項目の重み自乗和は、「（２＋１）＾２／２」である。また、Ｖに出現する項目の自乗和は「１＾２＊５」である。したがって、生成部１３２は、σ＝｛１＾２＊４＋（２＋１）＾２／２｝／｛（２＾２＋１＾２＊４）＋（１＾２＊５）｝としてσを計算する。
【００４８】
そして、生成部１３２は、入力データＵ、Ｖにおける要素行列と重複率からコアテンソル２７同士の重複率（σ’）を計算し、計算した重複率（σ’）をもとに、中間データＷの生成可能な範囲を決定する。例えば、生成部１３２は、入力データＵ’Ｖ’間の方角に向かい、σ’に所定の重み係数（ａ）をかけた距離（ａ＊σ’）の範囲で中間データＷを生成する。
【００４９】
図８Ａ、図８Ｂは、重複率（σ’）の計算の具体例を示す説明図である。なお、図８ＡはＵからみた変換データ（Ｕ<SUB>Ｖ</SUB>’）の重複率の計算例を示しており、図８ＢはＶからみた変換データ（Ｖ<SUB>Ｕ</SUB>’）の重複率の計算例を示している。また、入力データＵＶは、ＵとＶの重複をもとに変換した入力データである。また、変換テーブルＴ１は、入力空間から特徴空間への変換に関する変換テーブルである。
【００５０】
図８Ａ、図８Ｂに示すように、重複率（σ’）の計算に際し、生成部１３２は、元の入力データＵ、Ｖをもとに、各行ごとに、重複の有無を示す「量」に変換して入力データＵＶを得る。次いで、生成部１３２は、得られた入力データＵＶに変換テーブルＴ１を掛け合わせることで、重複を考慮した変換データ（Ｕ<SUB>Ｖ</SUB>’，Ｖ<SUB>Ｕ</SUB>’）を生成する。
【００５１】
次いで、生成部１３２は、変換後データ（Ｕ<SUB>Ｖ</SUB>’，Ｖ<SUB>Ｕ</SUB>’）の重複率を求める。具体的には、各行の「量」の総和が変換後の重複率であり、Ｕ<SUB>Ｖ</SUB>’の重複率は、｛０．４８＋０＊３｝＝０．４８となる。また、Ｖ<SUB>Ｕ</SUB>’の重複率は、｛０．４３＋０＊４｝＝０．４３となる。次いで、生成部１３２は、小さい方の重複率、すなわち０．４３をσ’として使用する。
【００５２】
図４に戻り、Ｓ６に次いで、学習部１３１は、生成部１３２が生成した中間データＷを拡張学習データとして、ディープテンソルにおける再学習を実施する（Ｓ７）。次いで、学習部１３１は、所定の終了条件を満たすか否かを判定する（Ｓ８）。Ｓ８における終了条件としては、例えば、所定値への収束または所定数以上のループを行ったか否かなどがある。
【００５３】
終了条件を満たさない場合（Ｓ８：ＮＯ）、学習部１３１は、Ｓ７に処理を戻し、拡張教師データを含めた教師データによる再学習を実施する。終了条件を満たす場合（Ｓ８：ＹＥＳ）、学習部１３１は、処理を終了する。
【００５４】
［効果について］
以上のように、コアテンソル２７が生成された機械学習モデルの学習を行う学習装置１００は、学習部１３１と、判別部１３３と、生成部１３２とを有する。学習部１３１は、学習部１３１を参照し、正解ラベルが付与された教師データにより機械学習モデルの学習を行う（図４：Ｓ１）。判別部１３３は、学習部１３１の教師データの中から、学習後の機械学習モデルのコアテンソル２７に基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する（図４：Ｓ４）。生成部１３２は、判別した教師データの組をもとに拡張教師データを生成する（図４：Ｓ６）。学習部１３１は、生成した拡張教師データを用いた機械学習モデルの学習を行う（図４：Ｓ７）。
【００５５】
このように、学習装置１００では、機械学習モデルのコアテンソル２７に基づく特徴空間において関係性が保証された教師データの組をもとに教師データを追加して学習を行うので、未知のデータについて正しく分類するように機械学習モデルを学習させることができる。すなわち、学習装置１００は、分類の汎化性能を向上することが可能となる。
【００５６】
図９は、実施形態にかかる学習装置１００による分離面を説明する説明図である。図９は、所定の項目をＸ軸、Ｙ軸とした場合の教師データの分布を示しており、座標位置１２１Ａ〜１２１Ｈはそれぞれ教師データ（Ａ〜Ｈ）に対応している。なお、教師データ（Ａ〜Ｇ）は、図５の変換データＡ〜Ｇに対応するものあり、それぞれ図５と同様の正解ラベルが付与されているものとする。すなわち、座標位置１２１Ａ〜１２１Ｃは、「不正な通信」を正解とする正解ラベルが付与された教師データ（Ａ〜Ｃ）に対応している。また、座標位置１２１Ｅ〜Ｇは、「正常な通信」を正解とする正解ラベルが付与された教師データ（Ｅ〜Ｇ）に対応している。
【００５７】
また、教師データ（Ｈ）については、教師データ（Ａ〜Ｃ）と同様に「不正な通信」を正解とする正解ラベルが付与されているものとする。ただし、教師データ（Ｈ）の変換データ（Ｈ）は、特徴空間において、変換データＡに対して変換データＧより遠いものとする。
【００５８】
学習装置１００は、機械学習モデルのコアテンソル２７に基づく特徴空間において関係性が保証された教師データの組、例えば教師データ（Ａ、Ｃ）の組における中間の座標位置１２１Ｙ等において、「不正な通信」を正解とする拡張教師データを生成する。
【００５９】
なお、正解ラベルが同一の教師データ（Ａ、Ｈ）の組であっても、特徴空間において間に異なる正解ラベルの教師データ（例えばＧ）がある場合は、関係性が保証された組み合わせとはならない。このため、学習装置１００は、教師データ（Ａ、Ｈ）の組における中間の座標位置１２１Ｘにおいて、「不正な通信」を正解とする拡張教師データを生成しない。なお、座標位置１２１Ｘにおいては、「正常な通信」を正解とする教師データ（Ｇ、Ｆ）の組により、「正常な通信」を正解とする拡張教師データが生成される。したがって、学習装置１００の学習による機械学習モデルにおける分離面は、Ｐ１のようになる。
【００６０】
これに対し、任意の教師データの組（例えばＡ、Ｈの組）で拡張教師データを生成する場合は、座標位置１２１Ｘにおいて「不正な通信」を正解とする拡張教師データが生成される場合がある。このような拡張教師データを用いた学習による分離面は、Ｐ２のようになる。
【００６１】
この分離面Ｐ１、Ｐ２を比較しても明らかなように、座標位置１２１Ｘ近傍に対応する未知のデータについては、分離面Ｐ１では正しく分類することができるが、分離面Ｐ２では誤って分類されることとなる。このように、学習装置１００により学習を行った機械学習モデルでは、分類の汎化性能が向上している。
【００６２】
また、生成部１３２は、正解ラベルが同一の教師データの組をもとに、同じ正解ラベルが付与された拡張教師データを生成するので、元の教師データ間を適切に埋めるように拡張教師データを生成することができる。
【００６３】
また、生成部１３２は、教師データの組の特徴空間における重複率に基づく範囲で拡張教師データを生成するので、特徴空間に対する同一性を担保した拡張教師データを生成することができる。
【００６４】
［他の実施形態について］
なお、上記の実施形態では、機械学習モデルのコアテンソル２７に基づく特徴空間において関係性が保証された教師データの組より拡張教師データを生成する構成を例示した。しかしながら、学習装置１００は、任意の教師データから拡張教師データを作成し、作成した拡張教師データの中から、機械学習モデルのコアテンソル２７に基づく特徴空間において関係性が保証された教師データの組に関する拡張教師データを再学習に採用可能としてもよい。
【００６５】
具体的には、生成部１３２は、教師データ記憶部１２１を参照して任意の教師データから拡張教師データを作成する。次いで、判別部１３３は、生成部１３２が作成した拡張教師データそれぞれに対し、機械学習モデルのコアテンソル２７に基づく特徴空間において関係性が保証された教師データの組に関する拡張教師データを再学習に採用可能と判別する。
【００６６】
具体的には、判別部１３３は、教師データ記憶部１２１に記憶された各教師データおよび生成部１３２が作成した拡張教師データについて、学習後の機械学習モデルのコアテンソル２７に基づく特徴空間に変換する。次いで、判別部１３３は、特徴空間に変換後の各教師データおよび拡張教師データの位置関係より拡張教師データが採用可能であるか否かを判別する。より具体的には、判別部１３３は、上記の実施形態と同様、特徴空間における各教師データおよび拡張教師データの並びが連続性条件を満たしている場合に、拡張教師データは採用可能であると判別する。
【００６７】
例えば、図５の例では、「不正な通信」を正解とする正解ラベルが付与された教師データの変換データＡ、Ｃの間に、同じ正解ラベルが付与された拡張教師データの変換データがある場合、この拡張教師データを採用可能と判別する。
【００６８】
以上のように、判別部１３３は、教師データから生成された拡張教師データそれぞれに対し、学習後の機械学習モデルのコアテンソル２７を用いて機械学習モデルの教師データとして採用可能であるか否かを判別する。学習部１３１は、判別部１３３の判別結果に基づき、拡張教師データを用いた機械学習モデルの学習を行う。具体的には、判別部１３３は、判別部１３３において採用可能と判別された拡張教師データを用いて学習を行う。
【００６９】
このように、再学習する場合も上記の実施形態と同様、コアテンソル２７に基づく特徴空間において関係性が保証された拡張教師データを再学習に採用することができるので、未知のデータについて正しく分類するように機械学習モデルを学習させることができる。
【００７０】
なお、上記の実施形態では、ニューラルネットワークとして、ＲＮＮを一例として挙げたが、これに限定されない。例えば、ＣＮＮ（Convolutional  Neural  Network）など様々なニューラルネットワークを用いることができる。また、学習の手法も、誤差逆伝播以外にも公知の様々な手法を採用することができる。また、ニューラルネットワークは、例えば入力層、中間層（隠れ層）、出力層から構成される多段構成であり、各層は複数のノードがエッジで結ばれる構造を有する。各層は、「活性化関数」と呼ばれる関数を持ち、エッジは「重み」を持ち、各ノードの値は、前の層のノードの値、接続エッジの重みの値、層が持つ活性化関数から計算される。なお、計算方法については、公知の様々な手法を採用できる。また、機械学習としては、ニューラルネットワーク以外にも、ＳＶＭ（Support  Vector  Machine）等の各種手法を用いてもよい。
【００７１】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、学習部１３１と生成部１３２または生成部１３２と判別部１３３とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【００７２】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【００７３】
［ハードウエア構成について］
ところで、上記の各実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の各実施形態と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１０は、学習プログラムを実行するコンピュータの一例を示す図である。
【００７４】
図１０に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、データ入力を受け付ける入力装置２０２と、モニタ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る媒体読取装置２０４と、各種装置と接続するためのインタフェース装置２０５と、他の情報処理装置等と有線または無線により接続するための通信装置２０６とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０７と、ハードディスク装置２０８とを有する。また、各装置２０１〜２０８は、バス２０９に接続される。
【００７５】
ハードディスク装置２０８には、図１に示した学習部１３１、生成部１３２および判別部１３３の各処理部と同様の機能を有する学習プログラム２０８Ａが記憶される。また、ハードディスク装置２０８には、教師データ記憶部１２１、演算データ記憶部１２２および機械学習モデル記憶部１２３を実現するための各種データが記憶される。入力装置２０２は、例えば、コンピュータ２００の管理者から操作情報等の各種情報の入力を受け付ける。モニタ２０３は、例えば、コンピュータ２００の管理者に対して表示画面等の各種画面を表示する。インタフェース装置２０５は、例えば印刷装置等が接続される。通信装置２０６は、例えば、図１に示した通信部１１０と同様の機能を有し、図示しないネットワークと接続され、他の情報処理装置と各種情報をやりとりする。
【００７６】
ＣＰＵ２０１は、ハードディスク装置２０８に記憶された学習プログラム２０８Ａを読み出して、ＲＡＭ２０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ２００を図１に示した学習部１３１、生成部１３２および判別部１３３として機能させることができる。
【００７７】
なお、上記の学習プログラム２０８Ａは、ハードディスク装置２０８に記憶されていなくてもよい。例えば、コンピュータ２００が読み取り可能な記憶媒体に記憶された学習プログラム２０８Ａを、コンピュータ２００が読み出して実行するようにしてもよい。コンピュータ２００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤ（Digital  Versatile  Disc）、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置に学習プログラム２０８Ａを記憶させておき、コンピュータ２００がこれらから学習プログラム２０８Ａを読み出して実行するようにしてもよい。
【００７８】
以上の実施形態に関し、さらに以下の付記を開示する。
【００７９】
（付記１）コアテンソルが生成された機械学習モデルの学習方法であって、
正解ラベルが付与された教師データにより前記機械学習モデルの第１学習を行い、
前記教師データの中から、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別し、
判別した教師データの組をもとに拡張教師データを生成し、
生成した前記拡張教師データを用いた前記機械学習モデルの第２学習を行う、
処理をコンピュータが実行することを特徴とする学習方法。
【００８０】
（付記２）前記生成する処理は、正解ラベルが同一の教師データの組をもとに、当該正解ラベルが付与された拡張教師データを生成する、
ことを特徴とする付記１に記載の学習方法。
【００８１】
（付記３）前記生成する処理は、判別した前記教師データの組の前記特徴空間における重複率に基づく範囲で前記拡張教師データを生成する、
ことを特徴とする付記１または２に記載の学習方法。
【００８２】
（付記４）コアテンソルが生成された機械学習モデルの学習方法であって、
正解ラベルが付与された教師データにより前記機械学習モデルの第１学習を行い、
前記教師データから生成された拡張教師データそれぞれに対し、学習後の前記機械学習モデルのコアテンソルを用いて前記機械学習モデルの教師データとして採用可能であるか否かを判別し、
前記判別結果に基づき、前記拡張教師データを用いた前記機械学習モデルの第２学習を行う、
処理をコンピュータが実行することを特徴とする学習方法。
【００８３】
（付記５）前記第２学習を行う処理は、採用可能と判別された前記拡張教師データを用いて学習を行う、
ことを特徴とする付記４に記載の学習方法。
【００８４】
（付記６）前記判別する処理は、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間における前記教師データおよび前記拡張教師データの位置にもとに、前記拡張教師データが採用可能であるか否かを判別する、
ことを特徴とする付記４または５に記載の学習方法。
【００８５】
（付記７）コアテンソルが生成された機械学習モデルの学習プログラムであって、
正解ラベルが付与された教師データにより前記機械学習モデルの第１学習を行い、
前記教師データの中から、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別し、
判別した教師データの組をもとに拡張教師データを生成し、
生成した前記拡張教師データを用いた前記機械学習モデルの第２学習を行う、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【００８６】
（付記８）前記生成する処理は、正解ラベルが同一の教師データの組をもとに、当該正解ラベルが付与された拡張教師データを生成する、
ことを特徴とする付記７に記載の学習プログラム。
【００８７】
（付記９）前記生成する処理は、判別した前記教師データの組の前記特徴空間における重複率に基づく範囲で前記拡張教師データを生成する、
ことを特徴とする付記７または８に記載の学習プログラム。
【００８８】
（付記１０）コアテンソルが生成された機械学習モデルの学習プログラムであって、
正解ラベルが付与された教師データにより前記機械学習モデルの第１学習を行い、
前記教師データから生成された拡張教師データそれぞれに対し、学習後の前記機械学習モデルのコアテンソルを用いて前記機械学習モデルの教師データとして採用可能であるか否かを判別し、
前記判別結果に基づき、前記拡張教師データを用いた前記機械学習モデルの第２学習を行う、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【００８９】
（付記１１）前記第２学習を行う処理は、採用可能と判別された前記拡張教師データを用いて学習を行う、
ことを特徴とする付記１０に記載の学習プログラム。
【００９０】
（付記１２）前記判別する処理は、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間における前記教師データおよび前記拡張教師データの位置にもとに、前記拡張教師データが採用可能であるか否かを判別する、
ことを特徴とする付記１０または１１に記載の学習プログラム。
【００９１】
（付記１３）コアテンソルが生成された機械学習モデルの学習装置であって、
正解ラベルが付与された教師データにより前記機械学習モデルの学習を行う第１学習部と、
前記教師データの中から、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する判別部と、
判別した教師データの組をもとに拡張教師データを生成する生成部と、
生成した前記拡張教師データを用いた前記機械学習モデルの学習を行う第２学習部と、
を有することを特徴とする学習装置。
【００９２】
（付記１４）前記生成部は、正解ラベルが同一の教師データの組をもとに、当該正解ラベルが付与された拡張教師データを生成する、
ことを特徴とする付記１３に記載の学習装置。
【００９３】
（付記１５）前記生成部は、判別した前記教師データの組の前記特徴空間における重複率に基づく範囲で前記拡張教師データを生成する、
ことを特徴とする付記１３または１４に記載の学習装置。
【００９４】
（付記１６）コアテンソルが生成された機械学習モデルの学習装置であって、
正解ラベルが付与された教師データにより前記機械学習モデルの第１学習を行う第１学習部と、
前記教師データから生成された拡張教師データそれぞれに対し、学習後の前記機械学習モデルのコアテンソルを用いて前記機械学習モデルの教師データとして採用可能であるか否かを判別する判別部と、
前記判別結果に基づき、前記拡張教師データを用いた前記機械学習モデルの第２学習を行う第２学習部と、
を有することを特徴とする学習装置。
【００９５】
（付記１７）前記第２学習部は、採用可能と判別された前記拡張教師データを用いて学習を行う、
ことを特徴とする付記１６に記載の学習装置。
【００９６】
（付記１８）前記判別部は、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間における前記教師データおよび前記拡張教師データの位置にもとに、前記拡張教師データが採用可能であるか否かを判別する、
ことを特徴とする付記１６または１７に記載の学習装置。
【符号の説明】
【００９７】
１００…学習装置
１１…データ
１２…データ
２５…グラフ構造
２６…テンソル
２７…コアテンソル
２８…ニューラルネットワーク
２９…ターゲットコアテンソル
３０…グラフ
１１０…通信部
１１１…表示部
１１２…操作部
１２０…記憶部
１２１…教師データ記憶部
１２１Ａ〜１２１Ｙ…座標位置
１２２…演算データ記憶部
１２２Ａ…距離行列
１２３…機械学習モデル記憶部
１３０…制御部
１３１…学習部
１３２…生成部
１３３…判別部
２００…コンピュータ
２０１…ＣＰＵ
２０２…入力装置
２０３…モニタ
２０４…媒体読取装置
２０５…インタフェース装置
２０６…通信装置
２０７…ＲＡＭ
２０８…ハードディスク装置
２０８Ａ…学習プログラム
２０９…バス
Ａ〜Ｇ、Ｕ’、Ｖ’…変換データ
Ｐ１、Ｐ２…分離面
Ｒ…領域
Ｔ１…変換テーブル
Ｕ、Ｖ、ＵＶ…入力データ
Ｗ…中間データ
【図１】
2020119044.tif 000003
【図２】
2020119044.tif 000004
【図３】
2020119044.tif 000005
【図４】
2020119044.tif 000006
【図５】
2020119044.tif 000007
【図６】
2020119044.tif 000008
【図７】
2020119044.tif 000009
【図８Ａ】
2020119044.tif 000010
【図８Ｂ】
2020119044.tif 000011
【図９】
2020119044.tif 000012
【図１０】
2020119044.tif 000013