特開2020-119044(P2020-119044A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧
特開2020-119044学習方法、学習プログラムおよび学習装置
<>
  • 特開2020119044-学習方法、学習プログラムおよび学習装置 図000003
  • 特開2020119044-学習方法、学習プログラムおよび学習装置 図000004
  • 特開2020119044-学習方法、学習プログラムおよび学習装置 図000005
  • 特開2020119044-学習方法、学習プログラムおよび学習装置 図000006
  • 特開2020119044-学習方法、学習プログラムおよび学習装置 図000007
  • 特開2020119044-学習方法、学習プログラムおよび学習装置 図000008
  • 特開2020119044-学習方法、学習プログラムおよび学習装置 図000009
  • 特開2020119044-学習方法、学習プログラムおよび学習装置 図000010
  • 特開2020119044-学習方法、学習プログラムおよび学習装置 図000011
  • 特開2020119044-学習方法、学習プログラムおよび学習装置 図000012
  • 特開2020119044-学習方法、学習プログラムおよび学習装置 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2020-119044(P2020-119044A)
(43)【公開日】2020年8月6日
(54)【発明の名称】学習方法、学習プログラムおよび学習装置
(51)【国際特許分類】
   G06N 20/00 20190101AFI20200710BHJP
   G06N 5/02 20060101ALI20200710BHJP
   G06N 3/04 20060101ALI20200710BHJP
【FI】
   G06N99/00 153
   G06N5/02
   G06N3/04
【審査請求】未請求
【請求項の数】10
【出願形態】OL
【全頁数】19
(21)【出願番号】特願2019-7311(P2019-7311)
(22)【出願日】2019年1月18日
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】西野 琢也
(57)【要約】
【課題】分類の汎化性能を向上する。
【解決手段】実施形態の学習方法は、コアテンソルが生成された機械学習モデルの学習方法であって、第1学習を行う処理と、判別する処理と、生成する処理と、第2学習を行う処理とをコンピュータが実行する。第1学習を行う処理は、正解ラベルが付与された教師データにより機械学習モデルの第1学習を行う。判別する処理は、教師データの中から、学習後の機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する。生成する処理は、判別した教師データの組をもとに拡張教師データを生成する。第2学習を行う処理は、生成した拡張教師データを用いた機械学習モデルの第2学習を行う。
【選択図】図4
【特許請求の範囲】
【請求項1】
コアテンソルが生成された機械学習モデルの学習方法であって、
正解ラベルが付与された教師データにより前記機械学習モデルの第1学習を行い、
前記教師データの中から、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別し、
判別した教師データの組をもとに拡張教師データを生成し、
生成した前記拡張教師データを用いた前記機械学習モデルの第2学習を行う、
処理をコンピュータが実行することを特徴とする学習方法。
【請求項2】
前記生成する処理は、正解ラベルが同一の教師データの組をもとに、当該正解ラベルが付与された拡張教師データを生成する、
ことを特徴とする請求項1に記載の学習方法。
【請求項3】
前記生成する処理は、判別した前記教師データの組の前記特徴空間における重複率に基づく範囲で前記拡張教師データを生成する、
ことを特徴とする請求項1または2に記載の学習方法。
【請求項4】
コアテンソルが生成された機械学習モデルの学習方法であって、
正解ラベルが付与された教師データにより前記機械学習モデルの第1学習を行い、
前記教師データから生成された拡張教師データそれぞれに対し、学習後の前記機械学習モデルのコアテンソルを用いて前記機械学習モデルの教師データとして採用可能であるか否かを判別し、
前記判別結果に基づき、前記拡張教師データを用いた前記機械学習モデルの第2学習を行う、
処理をコンピュータが実行することを特徴とする学習方法。
【請求項5】
前記第2学習を行う処理は、採用可能と判別された前記拡張教師データを用いて学習を行う、
ことを特徴とする請求項4に記載の学習方法。
【請求項6】
前記判別する処理は、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間における前記教師データおよび前記拡張教師データの位置にもとに、前記拡張教師データが採用可能であるか否かを判別する、
ことを特徴とする請求項4または5に記載の学習方法。
【請求項7】
コアテンソルが生成された機械学習モデルの学習プログラムであって、
正解ラベルが付与された教師データにより前記機械学習モデルの第1学習を行い、
前記教師データの中から、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別し、
判別した教師データの組をもとに拡張教師データを生成し、
生成した前記拡張教師データを用いた前記機械学習モデルの第2学習を行う、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【請求項8】
コアテンソルが生成された機械学習モデルの学習プログラムであって、
正解ラベルが付与された教師データにより前記機械学習モデルの第1学習を行い、
前記教師データから生成された拡張教師データそれぞれに対し、学習後の前記機械学習モデルのコアテンソルを用いて前記機械学習モデルの教師データとして採用可能であるか否かを判別し、
前記判別結果に基づき、前記拡張教師データを用いた前記機械学習モデルの第2学習を行う、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【請求項9】
コアテンソルが生成された機械学習モデルの学習装置であって、
正解ラベルが付与された教師データにより前記機械学習モデルの学習を行う第1学習部と、
前記教師データの中から、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する判別部と、
判別した教師データの組をもとに拡張教師データを生成する生成部と、
生成した前記拡張教師データを用いた前記機械学習モデルの学習を行う第2学習部と、
を有することを特徴とする学習装置。
【請求項10】
コアテンソルが生成された機械学習モデルの学習装置であって、
正解ラベルが付与された教師データにより前記機械学習モデルの第1学習を行う第1学習部と、
前記教師データから生成された拡張教師データそれぞれに対し、学習後の前記機械学習モデルのコアテンソルを用いて前記機械学習モデルの教師データとして採用可能であるか否かを判別する判別部と、
前記判別結果に基づき、前記拡張教師データを用いた前記機械学習モデルの第2学習を行う第2学習部と、
を有することを特徴とする学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、学習方法、学習プログラムおよび学習装置に関する。
【背景技術】
【0002】
従来、教師データにより学習したニューラルネットワークなどの学習モデルを用いて、種々の情報の分類が行われている。例えば、情報セキュリティ分野における攻撃活動の分析では、正常または不正とする正解ラベルが付与された通信ログを教師データとして学習モデルの学習を行う。そして、学習後の学習器に用いてネットワーク内の通信ログよりサイバー攻撃の有無を分類している。
【0003】
情報セキュリティ分野において、攻撃時の通信ログを収集することは困難であるため、教師データとする不正な通信ログの数も正常な通信ログに対して極端に少なくなる。このような、教師データにおける正解ラベルの偏りを解消する従来技術としては、サンプルベクトルが不足するラベルに関して、適当な変数を割り当てて追加するものが知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】国際公開第2006/087854号
【特許文献2】特開2011−141866号公報
【特許文献3】特開2015−185149号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の従来技術では、追加した教師データが未知のデータについて正しく分類するように学習モデルを学習させるという保証があるものではない。このため、分類の汎化能力の向上が見込めない場合があるという問題がある。
【0006】
1つの側面では、分類の汎化能力の向上を可能とする学習方法、学習プログラムおよび学習装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、コアテンソルが生成された機械学習モデルの学習方法であって、第1学習を行う処理と、判別する処理と、生成する処理と、第2学習を行う処理とをコンピュータが実行する。第1学習を行う処理は、正解ラベルが付与された教師データにより機械学習モデルの第1学習を行う。判別する処理は、教師データの中から、学習後の機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する。生成する処理は、判別した教師データの組をもとに拡張教師データを生成する。第2学習を行う処理は、生成した拡張教師データを用いた機械学習モデルの第2学習を行う。
【発明の効果】
【0008】
本発明の1実施態様によれば、分類の汎化性能を向上することができる。
【図面の簡単な説明】
【0009】
図1図1は、実施形態にかかる学習装置の機能構成例を示すブロック図である。
図2図2は、データ分類の一例を示す説明図である。
図3図3は、ディープテンソルにおける学習の一例を示す説明図である。
図4図4は、実施形態にかかる学習装置の動作例を示すフローチャートである。
図5図5は、距離行列の生成例を説明する説明図である。
図6図6は、重複率の計算と中間データの生成を例示する説明図である。
図7図7は、重複率の計算手順を例示する説明図である。
図8A図8Aは、重複率の計算の具体例を示す説明図である。
図8B図8Bは、重複率の計算の具体例を示す説明図である。
図9図9は、実施形態にかかる学習装置による分離面を説明する説明図である。
図10図10は、学習プログラムを実行するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、実施形態にかかる学習方法、学習プログラムおよび学習装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する学習方法、学習プログラムおよび学習装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【0011】
[概要について]
図1は、実施形態にかかる学習装置の機能構成例を示すブロック図である。図1に示す学習装置100は、コアテンソルが生成された機械学習モデルの学習を行う。具体的には、学習装置100は、正解ラベルが付与された教師データにより機械学習モデルの学習を行う。学習装置100は、教師データの中から、学習後の機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する。学習装置100は、判別した教師データの組をもとに、元の教師データとは別に教師データ群に新たに追加する教師データ(以後、拡張教師データとよぶ)を生成する。学習装置100は、生成した拡張教師データを用いた機械学習モデルの学習を行う。これにより、学習装置100は、機械学習モデルにおける分類の汎化性能を向上することができる。
【0012】
図2は、データ分類の一例を示す説明図である。図2に示すデータ11およびデータ12は、通信ログを所定の時間帯ごとに纏めたグラフ構造データである。なお、以下の説明では、グラフ構造データを単にデータと表現する場合がある。データ11およびデータ12は、例えば、10分ごとの通信ログに記録された通信元ホスト、通信先ホスト、ポート番号、通信量といった情報の関係を表す。データ11およびデータ12に示すようなグラフ構造データを、例えば、正常な通信と不正な通信とに分類したい場合がある。
【0013】
このようなデータ分類では、正常な通信または不正な通信を示す正解ラベルを付与した教師データを用いて機械学習モデルの学習を行う。次いで、学習済みの機械学習モデルにデータ11およびデータ12を適用することで、分類結果を得ることができる。
【0014】
なお、本実施形態では、情報セキュリティ分野における攻撃活動の分析において、通信ログのデータ11およびデータ12より正常な通信と不正な通信とに分類する例を挙げる。しかしながら、本実施形態は一例であり、分類対象とするデータの種別や分類内容については、本実施形態の例に限定するものではない。例えば、他の例としては、銀行の取引履歴に記録された送金元口座、送金先口座、支店名といった情報の関係を表すデータから、マネーロンダリングや振り込め詐欺が発生した時刻の取引履歴を分類してもよい。
【0015】
また、グラフ構造データの分類では、グラフ構造データを深層学習することが可能なグラフ構造学習技術(以下、このようなグラフ構造学習を行う装置の一形態を「ディープテンソル」とよぶ)を用いる機械学習モデルによる分類を行う。
【0016】
ディープテンソルとは、テンソル(グラフ情報)を入力とするディープラーニングであり、ニューラルネットワークの学習とともに、判別に寄与する部分グラフ構造(以下、部分構造ともいう。)を自動的に抽出する。この抽出処理は、ニューラルネットワークの学習とともに、入力テンソルデータのテンソル分解のパラメータを学習することによって実現される。
【0017】
図3は、ディープテンソルにおける学習の一例を示す図である。図3に示すように、あるグラフ構造データの全体を表すグラフ構造25は、テンソル26として表すことができる。また、テンソル26は、構造制約テンソル分解によって、コアテンソル27と行列の積に近似することができる。ディープテンソルでは、コアテンソル27をニューラルネットワーク28に入力して深層学習を行い、ターゲットコアテンソル29に近くなるように、拡張誤差逆伝搬法で最適化を行う。このとき、コアテンソル27をグラフで表すと、特徴が凝縮された部分構造を表すグラフ30となる。すなわち、ディープテンソルは、グラフ全体からコアテンソル27によって重要な部分構造を自動的に学習できる。
【0018】
このディープテンソルの部分構造においては、各教師データのテンソル中の位置関係が、分類にとって重要な部分構造であることを保証する。同時に、線形変換による教師データ間の関係を保証する。このため、ディープテンソルにおける学習後のコアテンソル27に基づく特徴空間で互いに近接する教師データの組み合わせが同じ正解ラベルである場合、その中間にある教師データも同じ正解ラベルであることが保証される。本実施形態では、このようなディープテンソルにおける部分構造に着目し、拡張教師データを生成する。
【0019】
具体的には、ディープテンソルにおける学習後のコアテンソル27に基づく特徴空間に教師データを変換し、教師データの中で特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する。そして、判別した教師データの組をもとに中間データを生成し、教師データの組と同じ正解ラベルを付与した拡張教師データを生成する。これにより、未知のデータについて正しく分類するように機械学習モデルを学習させる拡張教師データを生成することができる。
【0020】
[構成について]
次に、学習装置100の構成について説明する。図1に示すように、学習装置100は、通信部110と、表示部111と、操作部112と、記憶部120と、制御部130とを有する。なお、学習装置100は、図1に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
【0021】
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、図示しないネットワークを介して他の情報処理装置と有線または無線で接続され、他の情報処理装置との間で情報の通信を司る通信インタフェースである。通信部110は、例えば、他の端末から学習用の教師データや判別対象の新規データを受信する。また、通信部110は、他の端末に、学習結果や判別結果を送信する。
【0022】
表示部111は、各種情報を表示するための表示デバイスである。表示部111は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部111は、制御部130から入力された表示画面等の各種画面を表示する。
【0023】
操作部112は、学習装置100のユーザから各種操作を受け付ける入力デバイスである。操作部112は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部112は、ユーザによって入力された操作を操作情報として制御部130に出力する。なお、操作部112は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部111の表示デバイスと、操作部112の入力デバイスとは、一体化されるようにしてもよい。
【0024】
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部120は、教師データ記憶部121と、演算データ記憶部122と、機械学習モデル記憶部123とを有する。また、記憶部120は、制御部130での処理に用いる情報を記憶する。
【0025】
教師データ記憶部121は、機械学習モデルの教師とする教師データを記憶する。例えば、教師データ記憶部121には、通信ログなどの実データを収集し、正解を示す正解ラベル(例えば正常な通信/不正な通信)を付与した教師データが格納される。
【0026】
演算データ記憶部122は、制御部130の演算に使用する演算データを記憶する。例えば、演算データ記憶部122は、機械学習モデルの学習時や、拡張教師データの生成時などの演算で用いる各種データ(コアテンソル27、教師データとその変換データ、距離行列など)を記憶する。
【0027】
機械学習モデル記憶部123は、深層学習した学習済の機械学習モデルを記憶する。具体的には、機械学習モデル記憶部123は、学習済の機械学習モデルに関する情報として、例えば、ニューラルネットワークの各種パラメータ(重み係数)、学習済みコアテンソル27の情報、テンソル分解の方法等を記憶する。
【0028】
制御部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とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図1に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0029】
学習部131は、教師データ記憶部121に記憶された教師データまたは生成部132が生成した拡張学習データをもとに、ディープテンソルにおける学習を実施して、学習済の機械学習モデルを生成する処理部である。すなわち、学習部131は、第1学習部、第2学習部の一例である。
【0030】
例えば、学習部131は、教師データをテンソル分解し、コアテンソル27(部分グラフ構造)を生成する。次いで、学習部131は、生成したコアテンソル27をニューラルネットワーク28に入力して出力を得る。次いで、学習部131は、出力値の誤差が小さくなるように学習するとともに、判定精度が高くなるようにテンソル分解のパラメータを学習する。テンソル分解においては自由度があり、テンソル分解のパラメータとして、分解モデル、制約、最適化アルゴリズムの組み合わせ等が挙げられる。分解モデルは、例えば、CP(Canonical Polyadic decomposition)やTuckerが挙げられる。制約は、例えば、直交制約、スパース制約、スムース制約、非負制約等が挙げられる。最適化アルゴリズムは、例えば、ALS(Alternating Least Square)、HOSVD(Higher Order Singular Value Decomposition)、HOOI(Higher Order Orthogonal Iteration of tensors)等が挙げられる。ディープテンソルにおいては、「判定精度が高くなる」という制約下でテンソル分解を行う事になる。
【0031】
学習部131は、教師データの学習が完了すると、学習済の機械学習モデルを機械学習モデル記憶部123に記憶する。なお、ニューラルネットワークは、RNN(再帰型ニューラルネットワーク:Recurrent Neural Network)など様々なニューラルネットワークを用いることができる。また、学習方法は、誤差逆伝播法など様々な手法を採用することができる。
【0032】
生成部132は、判別部133が判別した教師データの組をもとに拡張教師データを生成する処理部である。例えば、生成部132は、判別部133が判別した教師データの組をもとに、教師データの各要素同士で中間値となる中間データを生成する。次いで、生成部132は、生成した中間データに教師データの組と同じ正解ラベルを付与し、拡張教師データを生成する。
【0033】
判別部133は、教師データ記憶部121の教師データの中から、学習後の機械学習モデルのコアテンソル27に基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する処理部である。
【0034】
具体的には、判別部133は、機械学習モデル記憶部123に格納された機械学習モデルにおける学習済みのコアテンソル27との掛け合わせにより各教師データを変換し、変換後の教師データ(以下、変換データと呼ぶ)を得る。次いで、判別部133は、変換データごとに、変換データ間の距離を計算し、距離が近い変換データ同士で付与された正解ラベルが同一であるか否かを判定する。これにより、特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別できる。
【0035】
[動作について]
次に、学習部131、生成部132および判別部133に関する処理の詳細を説明する。図4は、実施形態にかかる学習装置100の動作例を示すフローチャートである。
【0036】
図4に示すように、処理が開始されると、学習部131は、教師データ記憶部121に記憶された教師データをもとに、ディープテンソルによる機械学習モデルの学習を行う(S1)。次いで、学習部131は、学習済の機械学習モデルを機械学習モデル記憶部123に記憶する。
【0037】
次いで、判別部133は、教師データ記憶部121に記憶された各教師データについて、学習後の機械学習モデルのコアテンソル27に基づく特徴空間に変換し、変換データ同士の距離行列を生成する(S2)。
【0038】
図5は、距離行列の生成例を説明する説明図である。図5の左上は、変換データA〜Gにおける特徴空間の位置関係を示し、左下は、変換データAを基準とした変換データB〜Gの距離を示している。なお、変換データA〜Cは、「不正な通信」を正解とする正解ラベルが付与された教師データを変換したデータである。また、変換データE〜Gは、「正常な通信」を正解とする正解ラベルが付与された教師データを変換したデータである。
【0039】
図5に示すように、S2では、変換データA〜Gそれぞれについて、変換データ同士の距離を求め、距離行列122Aを生成する。具体的には、変換データAに対する変換データB〜Gの距離d<SUB>AB</SUB>〜d<SUB>AG</SUB>、…(省略)…変換データGに対する変換データA〜Fの距離d<SUB>GA</SUB>〜d<SUB>GF</SUB>を求め、距離行列122Aに格納する。判別部133は、生成した距離行列122Aを演算データ記憶部122に格納する。
【0040】
次いで、判別部133は、距離行列122Aを参照し、変換データごとに、距離の近い順にソートする(S3)。例えば、図5の左下に示すように、変換データAについては、距離行列122Aの距離d<SUB>AB</SUB>〜d<SUB>AG</SUB>をもとに、距離の近いC、B、G、E、Fの順にソートされる。
【0041】
次いで、判別部133は、距離の近い順にソートした変換データをもとに、教師ラベル(正解ラベル)の連続性条件を満たしている教師データの組み合わせを特定する(S4)。次いで、判別部133は、特定した教師データの組み合わせを判別部133へ通知する。
【0042】
例えば、図5の左下に示すように、変換データAの教師データについては、距離が近い順に、変換データC、Bの教師データに同一の正解ラベルが付与されている。したがって、変換データA、Cの教師データの組と、変換データA、Bの教師データの組とが連続性条件を満たしている教師データの組み合わせとなる。変換データAに対して、変換データCの次に距離が近い変換データGについては、教師データに付与された正解ラベルが変換データAの教師データと異なる。したがって、変換データG以降については、連続性条件を満たしていないものとなる。図示例では、変換データAの教師データに対する組み合わせを求めているが、他の変換データB〜Gについても同様にして組み合わせを求める。
【0043】
次いで、判別部133は、生成部132が特定した教師データの組み合わせをもとに、特定した教師データの変換データにおける重複率、すなわち特徴空間における重複率を計算する(S5)。次いで、判別部133は、計算した重複率に基づく範囲で、組み合わせを特定した教師データ間における中間データを生成する(S6)。
【0044】
図6は、重複率の計算と中間データの生成を例示する説明図である。図6において、U、Vは、ディープテンソルの入力空間における入力データを示しており、教師データの組み合わせに対応している。U’V’は、ディープテンソルの特徴空間における入力データU、Vの変換データを示している。Rは、特徴空間における入力データV’近傍の領域である。
【0045】
図6に示すように、生成部132は、入力データU、V間の関係を保持できる範囲で中間データを生成するため、入力データU、Vの重複率(σ)を元に、その要素行列と重複率からコアテンソル27同士の重複率(σ’)を計算する。
【0046】
図7は、重複率の計算手順を例示する説明図である。図7に示すように、生成部132は、入力データU、Vにおける各項目の重複をもとに、入力データU、Vの重複率(σ)を計算する。具体的には、生成部132は、Uに出現する項目の重み自乗和、UとVに出現する項目の重み自乗和、Vに出現する項目の自乗和などをもとに、入力データU、Vの重複率(σ)を計算する。
【0047】
例えば、図示例では、Uに出現する項目の重み自乗和は、「1^2*4」である。また、UとVに出現する項目の重み自乗和は、「(2+1)^2/2」である。また、Vに出現する項目の自乗和は「1^2*5」である。したがって、生成部132は、σ={1^2*4+(2+1)^2/2}/{(2^2+1^2*4)+(1^2*5)}としてσを計算する。
【0048】
そして、生成部132は、入力データU、Vにおける要素行列と重複率からコアテンソル27同士の重複率(σ’)を計算し、計算した重複率(σ’)をもとに、中間データWの生成可能な範囲を決定する。例えば、生成部132は、入力データU’V’間の方角に向かい、σ’に所定の重み係数(a)をかけた距離(a*σ’)の範囲で中間データWを生成する。
【0049】
図8A図8Bは、重複率(σ’)の計算の具体例を示す説明図である。なお、図8AはUからみた変換データ(U<SUB>V</SUB>’)の重複率の計算例を示しており、図8BはVからみた変換データ(V<SUB>U</SUB>’)の重複率の計算例を示している。また、入力データUVは、UとVの重複をもとに変換した入力データである。また、変換テーブルT1は、入力空間から特徴空間への変換に関する変換テーブルである。
【0050】
図8A図8Bに示すように、重複率(σ’)の計算に際し、生成部132は、元の入力データU、Vをもとに、各行ごとに、重複の有無を示す「量」に変換して入力データUVを得る。次いで、生成部132は、得られた入力データUVに変換テーブルT1を掛け合わせることで、重複を考慮した変換データ(U<SUB>V</SUB>’,V<SUB>U</SUB>’)を生成する。
【0051】
次いで、生成部132は、変換後データ(U<SUB>V</SUB>’,V<SUB>U</SUB>’)の重複率を求める。具体的には、各行の「量」の総和が変換後の重複率であり、U<SUB>V</SUB>’の重複率は、{0.48+0*3}=0.48となる。また、V<SUB>U</SUB>’の重複率は、{0.43+0*4}=0.43となる。次いで、生成部132は、小さい方の重複率、すなわち0.43をσ’として使用する。
【0052】
図4に戻り、S6に次いで、学習部131は、生成部132が生成した中間データWを拡張学習データとして、ディープテンソルにおける再学習を実施する(S7)。次いで、学習部131は、所定の終了条件を満たすか否かを判定する(S8)。S8における終了条件としては、例えば、所定値への収束または所定数以上のループを行ったか否かなどがある。
【0053】
終了条件を満たさない場合(S8:NO)、学習部131は、S7に処理を戻し、拡張教師データを含めた教師データによる再学習を実施する。終了条件を満たす場合(S8:YES)、学習部131は、処理を終了する。
【0054】
[効果について]
以上のように、コアテンソル27が生成された機械学習モデルの学習を行う学習装置100は、学習部131と、判別部133と、生成部132とを有する。学習部131は、学習部131を参照し、正解ラベルが付与された教師データにより機械学習モデルの学習を行う(図4:S1)。判別部133は、学習部131の教師データの中から、学習後の機械学習モデルのコアテンソル27に基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する(図4:S4)。生成部132は、判別した教師データの組をもとに拡張教師データを生成する(図4:S6)。学習部131は、生成した拡張教師データを用いた機械学習モデルの学習を行う(図4:S7)。
【0055】
このように、学習装置100では、機械学習モデルのコアテンソル27に基づく特徴空間において関係性が保証された教師データの組をもとに教師データを追加して学習を行うので、未知のデータについて正しく分類するように機械学習モデルを学習させることができる。すなわち、学習装置100は、分類の汎化性能を向上することが可能となる。
【0056】
図9は、実施形態にかかる学習装置100による分離面を説明する説明図である。図9は、所定の項目をX軸、Y軸とした場合の教師データの分布を示しており、座標位置121A〜121Hはそれぞれ教師データ(A〜H)に対応している。なお、教師データ(A〜G)は、図5の変換データA〜Gに対応するものあり、それぞれ図5と同様の正解ラベルが付与されているものとする。すなわち、座標位置121A〜121Cは、「不正な通信」を正解とする正解ラベルが付与された教師データ(A〜C)に対応している。また、座標位置121E〜Gは、「正常な通信」を正解とする正解ラベルが付与された教師データ(E〜G)に対応している。
【0057】
また、教師データ(H)については、教師データ(A〜C)と同様に「不正な通信」を正解とする正解ラベルが付与されているものとする。ただし、教師データ(H)の変換データ(H)は、特徴空間において、変換データAに対して変換データGより遠いものとする。
【0058】
学習装置100は、機械学習モデルのコアテンソル27に基づく特徴空間において関係性が保証された教師データの組、例えば教師データ(A、C)の組における中間の座標位置121Y等において、「不正な通信」を正解とする拡張教師データを生成する。
【0059】
なお、正解ラベルが同一の教師データ(A、H)の組であっても、特徴空間において間に異なる正解ラベルの教師データ(例えばG)がある場合は、関係性が保証された組み合わせとはならない。このため、学習装置100は、教師データ(A、H)の組における中間の座標位置121Xにおいて、「不正な通信」を正解とする拡張教師データを生成しない。なお、座標位置121Xにおいては、「正常な通信」を正解とする教師データ(G、F)の組により、「正常な通信」を正解とする拡張教師データが生成される。したがって、学習装置100の学習による機械学習モデルにおける分離面は、P1のようになる。
【0060】
これに対し、任意の教師データの組(例えばA、Hの組)で拡張教師データを生成する場合は、座標位置121Xにおいて「不正な通信」を正解とする拡張教師データが生成される場合がある。このような拡張教師データを用いた学習による分離面は、P2のようになる。
【0061】
この分離面P1、P2を比較しても明らかなように、座標位置121X近傍に対応する未知のデータについては、分離面P1では正しく分類することができるが、分離面P2では誤って分類されることとなる。このように、学習装置100により学習を行った機械学習モデルでは、分類の汎化性能が向上している。
【0062】
また、生成部132は、正解ラベルが同一の教師データの組をもとに、同じ正解ラベルが付与された拡張教師データを生成するので、元の教師データ間を適切に埋めるように拡張教師データを生成することができる。
【0063】
また、生成部132は、教師データの組の特徴空間における重複率に基づく範囲で拡張教師データを生成するので、特徴空間に対する同一性を担保した拡張教師データを生成することができる。
【0064】
[他の実施形態について]
なお、上記の実施形態では、機械学習モデルのコアテンソル27に基づく特徴空間において関係性が保証された教師データの組より拡張教師データを生成する構成を例示した。しかしながら、学習装置100は、任意の教師データから拡張教師データを作成し、作成した拡張教師データの中から、機械学習モデルのコアテンソル27に基づく特徴空間において関係性が保証された教師データの組に関する拡張教師データを再学習に採用可能としてもよい。
【0065】
具体的には、生成部132は、教師データ記憶部121を参照して任意の教師データから拡張教師データを作成する。次いで、判別部133は、生成部132が作成した拡張教師データそれぞれに対し、機械学習モデルのコアテンソル27に基づく特徴空間において関係性が保証された教師データの組に関する拡張教師データを再学習に採用可能と判別する。
【0066】
具体的には、判別部133は、教師データ記憶部121に記憶された各教師データおよび生成部132が作成した拡張教師データについて、学習後の機械学習モデルのコアテンソル27に基づく特徴空間に変換する。次いで、判別部133は、特徴空間に変換後の各教師データおよび拡張教師データの位置関係より拡張教師データが採用可能であるか否かを判別する。より具体的には、判別部133は、上記の実施形態と同様、特徴空間における各教師データおよび拡張教師データの並びが連続性条件を満たしている場合に、拡張教師データは採用可能であると判別する。
【0067】
例えば、図5の例では、「不正な通信」を正解とする正解ラベルが付与された教師データの変換データA、Cの間に、同じ正解ラベルが付与された拡張教師データの変換データがある場合、この拡張教師データを採用可能と判別する。
【0068】
以上のように、判別部133は、教師データから生成された拡張教師データそれぞれに対し、学習後の機械学習モデルのコアテンソル27を用いて機械学習モデルの教師データとして採用可能であるか否かを判別する。学習部131は、判別部133の判別結果に基づき、拡張教師データを用いた機械学習モデルの学習を行う。具体的には、判別部133は、判別部133において採用可能と判別された拡張教師データを用いて学習を行う。
【0069】
このように、再学習する場合も上記の実施形態と同様、コアテンソル27に基づく特徴空間において関係性が保証された拡張教師データを再学習に採用することができるので、未知のデータについて正しく分類するように機械学習モデルを学習させることができる。
【0070】
なお、上記の実施形態では、ニューラルネットワークとして、RNNを一例として挙げたが、これに限定されない。例えば、CNN(Convolutional Neural Network)など様々なニューラルネットワークを用いることができる。また、学習の手法も、誤差逆伝播以外にも公知の様々な手法を採用することができる。また、ニューラルネットワークは、例えば入力層、中間層(隠れ層)、出力層から構成される多段構成であり、各層は複数のノードがエッジで結ばれる構造を有する。各層は、「活性化関数」と呼ばれる関数を持ち、エッジは「重み」を持ち、各ノードの値は、前の層のノードの値、接続エッジの重みの値、層が持つ活性化関数から計算される。なお、計算方法については、公知の様々な手法を採用できる。また、機械学習としては、ニューラルネットワーク以外にも、SVM(Support Vector Machine)等の各種手法を用いてもよい。
【0071】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、学習部131と生成部132または生成部132と判別部133とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【0072】
さらに、各装置で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【0073】
[ハードウエア構成について]
ところで、上記の各実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の各実施形態と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図10は、学習プログラムを実行するコンピュータの一例を示す図である。
【0074】
図10に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置204と、各種装置と接続するためのインタフェース装置205と、他の情報処理装置等と有線または無線により接続するための通信装置206とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM207と、ハードディスク装置208とを有する。また、各装置201〜208は、バス209に接続される。
【0075】
ハードディスク装置208には、図1に示した学習部131、生成部132および判別部133の各処理部と同様の機能を有する学習プログラム208Aが記憶される。また、ハードディスク装置208には、教師データ記憶部121、演算データ記憶部122および機械学習モデル記憶部123を実現するための各種データが記憶される。入力装置202は、例えば、コンピュータ200の管理者から操作情報等の各種情報の入力を受け付ける。モニタ203は、例えば、コンピュータ200の管理者に対して表示画面等の各種画面を表示する。インタフェース装置205は、例えば印刷装置等が接続される。通信装置206は、例えば、図1に示した通信部110と同様の機能を有し、図示しないネットワークと接続され、他の情報処理装置と各種情報をやりとりする。
【0076】
CPU201は、ハードディスク装置208に記憶された学習プログラム208Aを読み出して、RAM207に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ200を図1に示した学習部131、生成部132および判別部133として機能させることができる。
【0077】
なお、上記の学習プログラム208Aは、ハードディスク装置208に記憶されていなくてもよい。例えば、コンピュータ200が読み取り可能な記憶媒体に記憶された学習プログラム208Aを、コンピュータ200が読み出して実行するようにしてもよい。コンピュータ200が読み取り可能な記憶媒体は、例えば、CD−ROMやDVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置に学習プログラム208Aを記憶させておき、コンピュータ200がこれらから学習プログラム208Aを読み出して実行するようにしてもよい。
【0078】
以上の実施形態に関し、さらに以下の付記を開示する。
【0079】
(付記1)コアテンソルが生成された機械学習モデルの学習方法であって、
正解ラベルが付与された教師データにより前記機械学習モデルの第1学習を行い、
前記教師データの中から、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別し、
判別した教師データの組をもとに拡張教師データを生成し、
生成した前記拡張教師データを用いた前記機械学習モデルの第2学習を行う、
処理をコンピュータが実行することを特徴とする学習方法。
【0080】
(付記2)前記生成する処理は、正解ラベルが同一の教師データの組をもとに、当該正解ラベルが付与された拡張教師データを生成する、
ことを特徴とする付記1に記載の学習方法。
【0081】
(付記3)前記生成する処理は、判別した前記教師データの組の前記特徴空間における重複率に基づく範囲で前記拡張教師データを生成する、
ことを特徴とする付記1または2に記載の学習方法。
【0082】
(付記4)コアテンソルが生成された機械学習モデルの学習方法であって、
正解ラベルが付与された教師データにより前記機械学習モデルの第1学習を行い、
前記教師データから生成された拡張教師データそれぞれに対し、学習後の前記機械学習モデルのコアテンソルを用いて前記機械学習モデルの教師データとして採用可能であるか否かを判別し、
前記判別結果に基づき、前記拡張教師データを用いた前記機械学習モデルの第2学習を行う、
処理をコンピュータが実行することを特徴とする学習方法。
【0083】
(付記5)前記第2学習を行う処理は、採用可能と判別された前記拡張教師データを用いて学習を行う、
ことを特徴とする付記4に記載の学習方法。
【0084】
(付記6)前記判別する処理は、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間における前記教師データおよび前記拡張教師データの位置にもとに、前記拡張教師データが採用可能であるか否かを判別する、
ことを特徴とする付記4または5に記載の学習方法。
【0085】
(付記7)コアテンソルが生成された機械学習モデルの学習プログラムであって、
正解ラベルが付与された教師データにより前記機械学習モデルの第1学習を行い、
前記教師データの中から、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別し、
判別した教師データの組をもとに拡張教師データを生成し、
生成した前記拡張教師データを用いた前記機械学習モデルの第2学習を行う、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【0086】
(付記8)前記生成する処理は、正解ラベルが同一の教師データの組をもとに、当該正解ラベルが付与された拡張教師データを生成する、
ことを特徴とする付記7に記載の学習プログラム。
【0087】
(付記9)前記生成する処理は、判別した前記教師データの組の前記特徴空間における重複率に基づく範囲で前記拡張教師データを生成する、
ことを特徴とする付記7または8に記載の学習プログラム。
【0088】
(付記10)コアテンソルが生成された機械学習モデルの学習プログラムであって、
正解ラベルが付与された教師データにより前記機械学習モデルの第1学習を行い、
前記教師データから生成された拡張教師データそれぞれに対し、学習後の前記機械学習モデルのコアテンソルを用いて前記機械学習モデルの教師データとして採用可能であるか否かを判別し、
前記判別結果に基づき、前記拡張教師データを用いた前記機械学習モデルの第2学習を行う、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【0089】
(付記11)前記第2学習を行う処理は、採用可能と判別された前記拡張教師データを用いて学習を行う、
ことを特徴とする付記10に記載の学習プログラム。
【0090】
(付記12)前記判別する処理は、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間における前記教師データおよび前記拡張教師データの位置にもとに、前記拡張教師データが採用可能であるか否かを判別する、
ことを特徴とする付記10または11に記載の学習プログラム。
【0091】
(付記13)コアテンソルが生成された機械学習モデルの学習装置であって、
正解ラベルが付与された教師データにより前記機械学習モデルの学習を行う第1学習部と、
前記教師データの中から、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間において互いに近接し、正解ラベルが同一の教師データの組を判別する判別部と、
判別した教師データの組をもとに拡張教師データを生成する生成部と、
生成した前記拡張教師データを用いた前記機械学習モデルの学習を行う第2学習部と、
を有することを特徴とする学習装置。
【0092】
(付記14)前記生成部は、正解ラベルが同一の教師データの組をもとに、当該正解ラベルが付与された拡張教師データを生成する、
ことを特徴とする付記13に記載の学習装置。
【0093】
(付記15)前記生成部は、判別した前記教師データの組の前記特徴空間における重複率に基づく範囲で前記拡張教師データを生成する、
ことを特徴とする付記13または14に記載の学習装置。
【0094】
(付記16)コアテンソルが生成された機械学習モデルの学習装置であって、
正解ラベルが付与された教師データにより前記機械学習モデルの第1学習を行う第1学習部と、
前記教師データから生成された拡張教師データそれぞれに対し、学習後の前記機械学習モデルのコアテンソルを用いて前記機械学習モデルの教師データとして採用可能であるか否かを判別する判別部と、
前記判別結果に基づき、前記拡張教師データを用いた前記機械学習モデルの第2学習を行う第2学習部と、
を有することを特徴とする学習装置。
【0095】
(付記17)前記第2学習部は、採用可能と判別された前記拡張教師データを用いて学習を行う、
ことを特徴とする付記16に記載の学習装置。
【0096】
(付記18)前記判別部は、学習後の前記機械学習モデルのコアテンソルに基づく特徴空間における前記教師データおよび前記拡張教師データの位置にもとに、前記拡張教師データが採用可能であるか否かを判別する、
ことを特徴とする付記16または17に記載の学習装置。
【符号の説明】
【0097】
100…学習装置
11…データ
12…データ
25…グラフ構造
26…テンソル
27…コアテンソル
28…ニューラルネットワーク
29…ターゲットコアテンソル
30…グラフ
110…通信部
111…表示部
112…操作部
120…記憶部
121…教師データ記憶部
121A〜121Y…座標位置
122…演算データ記憶部
122A…距離行列
123…機械学習モデル記憶部
130…制御部
131…学習部
132…生成部
133…判別部
200…コンピュータ
201…CPU
202…入力装置
203…モニタ
204…媒体読取装置
205…インタフェース装置
206…通信装置
207…RAM
208…ハードディスク装置
208A…学習プログラム
209…バス
A〜G、U’、V’…変換データ
P1、P2…分離面
R…領域
T1…変換テーブル
U、V、UV…入力データ
W…中間データ
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図9
図10