(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023047354
(43)【公開日】2023-04-06
(54)【発明の名称】学習データ生成システム、学習データ生成方法及び学習データ生成プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20230330BHJP
【FI】
G06N20/00
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021147524
(22)【出願日】2021-09-10
(11)【特許番号】
(45)【特許公報発行日】2023-03-29
(71)【出願人】
【識別番号】592131906
【氏名又は名称】みずほリサーチ&テクノロジーズ株式会社
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】根本 裕也
(72)【発明者】
【氏名】杉原 裕規
(57)【要約】
【課題】可変長次元のデータから固定長次元のデータを効率的に生成するための学習データ生成システム、学習データ生成方法及び学習データ生成プログラムを提供する。
【解決手段】支援サーバ20は、学習データを生成する制御部21を備える。制御部21は、複数の可変長次元の第1学習データを取得し、前記第1学習データを集約した集約データを用いて、固定長次元の順序性を有する第2学習データを生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
学習データを生成する制御部を備えた学習データ生成システムであって、
前記制御部が、
複数の可変長次元の第1学習データを取得し、
前記第1学習データを集約した集約データを用いて、固定長次元の順序性を有する第2学習データを生成することを特徴とする学習データ生成システム。
【請求項2】
前記第1学習データの複数の構成要素は順序性を有しており、
前記制御部が、
前記構成要素を振幅として、周波数が異なる周期関数で合成信号を生成し、
前記合成信号から、予め定められたサンプリング周期で、固定数のサンプルを抽出し、
前記抽出したサンプルにより、前記固定長次元の前記第2学習データを生成することを特徴とする請求項1に記載の学習データ生成システム。
【請求項3】
前記サンプリング周期を、前記周期関数の最大周波数の逆数で定めることを特徴とする請求項2に記載の学習データ生成システム。
【請求項4】
前記周期関数は三角関数であることを特徴とする請求項2又は3に記載の学習データ生成システム。
【請求項5】
前記第1学習データの複数の構成要素は、第1次元数のベクトルで構成され、
前記制御部が、
前記第1次元数の空間を固定数の離散化空間で分割して、前記第1学習データを前記離散化空間にマッピングし、
前記各離散化空間における前記第1学習データの構成要素の有無により、前記固定数に対応する固定長次元の前記第2学習データを生成することを特徴とする請求項1に記載の学習データ生成システム。
【請求項6】
前記制御部が、
前記各離散化空間において配置された前記第1学習データの構成要素の個数により、前記固定数に対応する固定長次元の前記第2学習データを生成することを特徴とする請求項5に記載の学習データ生成システム。
【請求項7】
前記制御部が、
前記第1学習データを、分散が大きい主成分で第2次元数の空間を構成し、
前記第2次元数の空間で、前記固定数の離散化空間を生成することを特徴とする請求項5又は6に記載の学習データ生成システム。
【請求項8】
制御部を備えた学習データ生成システムを用いて、学習データを生成する方法であって、
前記制御部が、
複数の可変長次元の第1学習データを取得し、
前記第1学習データを集約した集約データを用いて、固定長次元の順序性を有する第2学習データを生成することを特徴とする学習データ生成方法。
【請求項9】
制御部を備えた学習データ生成システムを用いて、学習データを生成するためのプログラムであって、
前記制御部を、
複数の可変長次元の第1学習データを取得し、
前記第1学習データを集約した集約データを用いて、固定長次元の順序性を有する第2学習データを生成する手段として機能させるための学習データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習に用いる学習データを生成する学習データ生成システム、学習データ生成方法及び学習データ生成プログラムに関する。
【背景技術】
【0002】
機械学習のために、学習データ(教師データ)を用いることがある。この場合、入力層において、固定長データを利用するためには、処理対象のデータが所定長よりも長い場合には、所定長を超えたデータを削除することがある。
【0003】
また、可変長の入力に対する固定長のベクトル表現を取得する技術も検討されている(例えば、非特許文献1参照)。一方、データを固定長として扱うために、処理対象のデータが所定データ量未満である場合、データの前後にデータを追加して長さを合わせるパディングを行なうことがある。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】坪井祐太,“自然言語処理におけるディープラーニングの発展”,[online],2015年4月号,オペレーションズ・リサーチ,60巻,4号,p.205-211[令和3年8月6日検索],インターネット<URL:http://www.orsj.or.jp/archive2/or60-4/or60_4_205.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述のように、機械学習において利用する学習データにおいては、固定長データが利用しやすい。しかし、可変長データから固定長データへの変換時に、元データの性質が変化したのでは、的確な情報処理を実現できなくなる。
【課題を解決するための手段】
【0006】
上記課題を解決する学習データ生成システムは、学習データを生成する制御部を備える。そして、前記制御部が、複数の可変長次元の第1学習データを取得し、前記第1学習データを集約した集約データを用いて、固定長次元の順序性を有する第2学習データを生成する。
【発明の効果】
【0007】
本開示によれば、可変長次元のデータから固定長次元のデータを効率的に生成することができる。
【図面の簡単な説明】
【0008】
【
図1】第1の実施形態の学習データ生成システムの説明図である。
【
図2】第1の実施形態のハードウェア構成の説明図である。
【発明を実施するための形態】
【0009】
(第1の実施形態)
図1~
図4に従って、学習データ生成システム、学習データ生成方法及び学習データ生成プログラムを具体化した第1の実施形態を説明する。本実施形態では、順序性がある可変長次元の配列データ(第1学習データ)から固定長次元の配列データ(第2学習データ)を生成する場合を想定する。この配列データは、複数の構成要素の並びで構成されており、各構成要素の順番には意味がある。
図1に示すように、本実施形態の学習データ生成システムは、ユーザ端末10、支援サーバ20を用いる。
【0010】
(ハードウェア構成例)
図2は、ユーザ端末10、支援サーバ20等として機能する情報処理装置H10のハードウェア構成例である。
【0011】
情報処理装置H10は、通信装置H11、入力装置H12、表示装置H13、記憶装置H14、プロセッサH15を有する。なお、このハードウェア構成は一例であり、他のハードウェアを有していてもよい。
【0012】
通信装置H11は、他の装置との間で通信経路を確立して、データの送受信を実行するインタフェースであり、例えばネットワークインタフェースや無線インタフェース等である。
【0013】
入力装置H12は、利用者等からの入力を受け付ける装置であり、例えばマウスやキーボード等である。表示装置H13は、各種情報を表示するディスプレイやタッチパネル等である。
【0014】
記憶装置H14は、ユーザ端末10、支援サーバ20の各種機能を実行するためのデータや各種プログラムを格納する記憶装置である。記憶装置H14の一例としては、ROM、RAM、ハードディスク等がある。
【0015】
プロセッサH15は、記憶装置H14に記憶されるプログラムやデータを用いて、ユーザ端末10、支援サーバ20における各処理(例えば、後述する制御部21における処理)を制御する。プロセッサH15の一例としては、例えばCPUやMPU等がある。このプロセッサH15は、ROM等に記憶されるプログラムをRAMに展開して、各種処理に対応する各種プロセスを実行する。例えば、プロセッサH15は、ユーザ端末10、支援サーバ20のアプリケーションプログラムが起動された場合、後述する各処理を実行するプロセスを動作させる。
【0016】
プロセッサH15は、自身が実行するすべての処理についてソフトウェア処理を行なうものに限られない。例えば、プロセッサH15は、自身が実行する処理の少なくとも一部についてハードウェア処理を行なう専用のハードウェア回路(例えば、特定用途向け集積回路:ASIC)を備えてもよい。すなわち、プロセッサH15は、以下で構成し得る。
【0017】
(1)コンピュータプログラム(ソフトウェア)に従って動作する1つ以上のプロセッサ
(2)各種処理のうち少なくとも一部の処理を実行する1つ以上の専用のハードウェア回路、或いは
(3)それらの組み合わせ、を含む回路(circuitry)
プロセッサは、CPU並びに、RAM及びROM等のメモリを含み、メモリは、処理をCPUに実行させるように構成されたプログラムコード又は指令を格納している。メモリすなわちコンピュータ可読媒体は、汎用又は専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。
【0018】
(各情報処理装置の機能)
図1を用いて、ユーザ端末10、支援サーバ20の機能を説明する。
【0019】
ユーザ端末10は、本システムを利用するユーザが用いるコンピュータ端末である。
支援サーバ20は、可変長データを固定長データに変換するコンピュータシステムである。この支援サーバ20は、制御部21、可変長データ記憶部22、固定長データ記憶部23を備えている。
【0020】
制御部21は、後述する処理(取得段階、変換段階等を含む処理)を行なう。このための学習データ生成プログラムを実行することにより、制御部21は、取得部210、変換部211等として機能する。
【0021】
取得部210は、ユーザ端末10から可変長の処理対象データを取得する処理を実行する。
変換部211は、可変長データに基づいて固定長データを生成する処理を実行する。本実施形態では、周期関数を用いて、可変長データを固定長データに変換する。
【0022】
可変長データ記憶部22には、ユーザ端末10から取得した処理対象データ(第1学習データ)が記録される。
固定長データ記憶部23には、可変長次元データを、所定のデータ長に変換した、順序性を有する固定長次元データ(第2学習データ)が記録される。
【0023】
(変換処理)
次に、
図3及び
図4を用いて、変換処理を説明する。
まず、支援サーバ20の制御部21は、可変長次元ベクトルの取得処理を実行する(ステップS11)。具体的には、制御部21の取得部210は、ユーザ端末10から、可変長次元ベクトル(第1学習データ)を取得する。ここでは、機械学習に用いる複数の可変長次元ベクトルを取得する。次に、取得部210は、取得した可変長次元ベクトルを可変長データ記憶部22に記録する。
【0024】
可変長データ記憶部22に記録された可変長次元ベクトルを、順次、処理対象ベクトルとして特定して、以下の処理を繰り返す。
まず、支援サーバ20の制御部21は、周期関数で信号の合成処理を実行する(ステップS12)。具体的には、制御部21の変換部211は、取得した可変長次元ベクトルの構成要素を振幅とした周期関数を用いて合成信号(集約データ)を生成する。ここでは、周期関数として三角関数を用いる。
【0025】
例えば、可変長次元ベクトルXin1=(x10,x11,x12,x13…)を取得した場合、集約データとして、下記の関数f(t)を生成する。
f(t)=x10*cos(α0*t)+x11*sin(α0*t)+x12*cos(α1*t)+x13*sin(α1*t)+…
なお、周波数αi(i=1,2,…,N)は相互に異なる値であり、周波数分解能を考慮して決定する。
この場合、
図4に示すように、時間tを変数とする信号300が生成される。
【0026】
次に、支援サーバ20の制御部21は、サンプリング処理を実行する(ステップS13)。具体的には、制御部21の変換部211は、関数f(t)において、所定のサンプリング周期でサンプリング数N個(固定数)のサンプルの抽出(サンプリング)を行なう。
【0027】
サンプリング数Nは、周波数αiに応じて、周波数分解能を考慮して決定する。例えば、αi=i/2のとき、標本化定理より、サンプリング間隔Δt、サンプリング数Nの下限は、αiの最大周波数αmaxやその逆数を用いて、以下のように決める。
Δt=π/αmax
N=2αmax
ここでは、
図4に示すように、t0,t2,…t(N-1)の各タイミング301でサンプリングを行なう。この結果、値f(t0),f(t1),f(t2),…,f(t(N-1))を取得する。
【0028】
次に、支援サーバ20の制御部21は、固定長次元ベクトルの生成処理を実行する(ステップS14)。具体的には、制御部21の変換部211は、N次元の固定長次元ベクトルを生成する。
Xout1=(f(t0),f(t1),f(t2),…f(t(N-1)))
そして、変換部211は、変換した固定長次元ベクトル(第2学習データ)を、固定長データ記憶部23に記録する。
【0029】
以上の処理を、可変長データ記憶部22に記録されたすべての可変長次元ベクトルについて繰り返す。
そして、可変長データ記憶部22に記録された固定長次元ベクトルを教師データとして用いて、機械学習を行なう。
【0030】
本実施形態によれば、以下のような効果を得ることができる。
(1-1)本実施形態においては、支援サーバ20の制御部21は、周期関数で信号の合成処理を実行する(ステップS12)。これにより、可変長データの構成要素が多い場合も少ない場合も、一つの信号に組み込むことができる。そして、周期関数を用いるため、順番が早い構成要素も、順番が遅い構成要素も同等に信号に組み込むことができる。
【0031】
(1-2)本実施形態においては、支援サーバ20の制御部21は、サンプリング数Nのサンプリング処理(ステップS13)、固定長次元ベクトルの生成処理(ステップS14)を実行する。これにより、構成要素数が異なる可変長データを、サンプリング数Nに応じたN次元の固定長次元ベクトルに変換することができる。教師データが一定の固定長となっているため、効率的に機械学習を行なうことができる。
【0032】
(第2の実施形態)
図5~
図8に従って、学習データ生成システム、学習データ生成方法及び学習データ生成プログラムを具体化した第2の実施形態を説明する。第1の実施形態では、順序性がある可変長次元の配列データから固定長次元の配列データを生成する場合を想定する。一方、第2の実施形態では、順序性がない可変長次元の集合データ(第1学習データ)から固定長次元の集合データ(第2学習データ)を生成する場合を想定する。この集合データ(データセット)は、複数の構成要素の組み合わせで構成されており、各構成要素の順番には意味がない。第2の実施形態の支援サーバ20は、第1の実施形態の学習データの構成が異なっているが、同様の部分については、同一の符号を付し、詳細な説明を省略する。
【0033】
(変換処理)
次に、
図5~
図8を用いて、変換処理を説明する。
まず、支援サーバ20の制御部21は、可変長次元のデータセットの取得処理を実行する(ステップS21)。具体的には、制御部21の取得部210は、ユーザ端末10から、可変長次元のデータセットを取得する。ここでは、M次元ベクトルxi(第1次元数のベクトル)を任意の数だけ要素として持つ集合DS1={x11,x12,x13,…}を取得する。次に、取得部210は、取得した可変長次元のデータセットを可変長データ記憶部22に記録する。
【0034】
次に、支援サーバ20の制御部21は、離散化空間の生成処理を実行する(ステップS22)。具体的には、制御部21の変換部211は、M次元空間(第1次元数の空間)が離散化された離散化空間を作成する。
【0035】
図6に示すように、M次元空間500を、N個(固定数)に分割した離散化空間501を生成する。
ここで、次元数Mが大きい場合、変換部211は、次元削減を行なう。具体的には、可変長次元のデータセットの構成要素となり得る十分な数のM次元ベクトルxiを用いて、離散化空間を作成するL次元(第2次元数)に次元削減を行なう。この場合、データ全体の分散が大きくなるようなL次元空間(第2次元数の空間)を用いる。例えば、主成分分析により、データ全体の分散が大きくなるようなL次元空間を生成し、このL次元空間をN個に分割した離散化空間501を生成する。
【0036】
そして、可変長データ記憶部22に記録された可変長次元のデータセットを、順次、処理対象データセットとして特定して、以下の処理を繰り返す。
ここでは、支援サーバ20の制御部21は、離散化処理を実行する(ステップS23)。具体的には、制御部21の変換部211は、処理対象データセットの構成要素(x10,x11,x12,x13,…)を離散化空間にマッピングする。
具体的には、
図7に示すように、離散化空間501に、処理対象データセットの各構成要素(M次元ベクトル)を配置する。
【0037】
そして、変換部211は、構成要素の配置の有無に応じて離散化空間のラベリングを行なう。例えば、構成要素が配置された離散化空間をラベル「1」、構成要素が配置されていない離散化空間をラベル「0」のラベル付けを行なう。
具体的には、
図8に示すように、各構成要素が配置されていない離散化空間501にはラベル「0」、各構成要素が配置された離散化空間502にラベル「1」を設定する。
【0038】
次に、支援サーバ20の制御部21は、固定長次元のデータセットの生成処理を実行する(ステップS24)。具体的には、制御部21の変換部211は、各離散化空間のラベルを取得して、順序性を有するN次元の固定長次元データセットを生成する。
【0039】
そして、変換部211は、変換した固定長次元データセットを、固定長データ記憶部23に記録する。
以上の処理を、可変長データ記憶部22に記録されたすべての可変長次元データセットについて繰り返す。
【0040】
そして、可変長データ記憶部22に記録された固定長次元データセット(第2学習データ)を教師データとして用いて、機械学習を行なう。
【0041】
本実施形態によれば、以下のような効果を得ることができる。
(2-1)本実施形態においては、支援サーバ20の制御部21は、離散化空間の生成処理を実行する(ステップS22)。これにより、可変長データを割り振るために次元を削減した空間を設定できる。この場合、変換部211は、次元削減を行なう。これにより、次元数Mが大きい場合、固定長配列として扱う際のデータサイズを抑えることができる。
【0042】
(2-2)本実施形態においては、支援サーバ20の制御部21は、離散化処理(ステップS23)、固定長次元ベクトルの生成処理(ステップS24)を実行する。これにより、構成要素数が異なる可変長データを、N個に離散化された固定長次元データセットに変換することができる。
【0043】
本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記第1の実施形態では、支援サーバ20の制御部21は、周期関数で信号の合成処理を実行する(ステップS12)。ここでは、周期関数として三角関数を用いるが、周期関数は三角関数に限定されるものではない。
【0044】
・上記第2の実施形態では、支援サーバ20の制御部21は、離散化空間の生成処理を実行する(ステップS22)。この場合、変換部211は、次元削減を行なう。固定長の次元数Nが大きくない場合には、次元削減を省略してもよい。
【0045】
・上記第2の実施形態では、支援サーバ20の制御部21は、離散化処理を実行する(ステップS23)。ここでは、構成要素が配置された離散化空間を「1」、構成要素が配置されていない離散化空間を「0」のラベル付けを行なう。ここで、離散化空間に配置された構成要素の個数でラベル付けを行なってもよい。
【0046】
例えば、
図9に示すように、データセットDS21は、ボール画像と、5枚の人物画像を構成要素とする。ここで、構成要素の特徴量を、各N次元空間に配置した場合、ボール画像由来の構成要素600と、人物画像由来の構成要素601が配置される。この場合、構成要素が配置されていない離散化空間611と構成要素が配置された離散化空間612とが生成される。
【0047】
そして、離散化空間612において配置された構成要素数をカウントする。ここで、固定長次元データセット(0,0,1,5)は「フットサル」と認識できる。
一方、
図10に示すように、データセットDS22は、ボール画像と、11枚の人物画像を構成要素とする。この場合にも、離散化空間612において配置された構成要素数をカウントして、固定長次元データセット(0,0,1,11)は「サッカー」と認識できる。
【0048】
このように、離散化された構造要素数に応じて、固定長の教師データを生成することができる。
【0049】
・上記第2の実施形態では、支援サーバ20の制御部21は、離散化処理を実行する(ステップS23)。ここで用いる構成要素は、集合を表せれば、多様な特徴量を用いることができる。
例えば、
図11は、各国の国旗を表している。画像701はギニア共和国、画像702はカメルーン共和国、画像703はセネガル共和国、画像704はマリ共和国野各国旗を表している。この場合、各画像を表現するために、座標情報も含めた集合データを用いることができる。例えば、(赤四角重心座標,黄四角重心座標,緑四角重心座標、黄星重心座標)のように、各形状の色の重心位置で集約した離散化空間で、各画像を表現することができる。
【0050】
・上記第2の実施形態では、支援サーバ20の制御部21は、離散化空間の生成処理を実行する(ステップS22)。ここで、M次元データxiをL次元に次元削減する場合、深層学習を用いて作成したエンコーダを用いてもよい。
【0051】
図12に示すように、入力層のM次元ベクトルxiをL次元に圧縮し、出力層のM次元ベクトルxi’に復元する。この場合、M次元ベクトルxiとM次元ベクトルxi’とが一致するように機械学習を行なって、エンコーダ800を生成する。
【0052】
そして、N次元空間810において、各構成要素を配置して、離散化データ820を生成する。
【符号の説明】
【0053】
10…ユーザ端末、20…支援サーバ、21…制御部、210…取得部、211…変換部、22…可変長データ記憶部、23…固定長データ記憶部。
【手続補正書】
【提出日】2022-12-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
学習データを生成する制御部を備えた学習データ生成システムであって、
前記制御部が、
複数の構成要素は順序性を有し、複数の可変長次元の第1学習データを取得し、
前記構成要素を振幅として、周波数が異なる周期関数で合成信号を生成し、
前記合成信号から、予め定められたサンプリング周期で、固定数のサンプルを抽出し、
前記抽出したサンプルにより、固定長次元の順序性を有する第2学習データを生成することを特徴とする学習データ生成システム。
【請求項2】
前記サンプリング周期を、前記周期関数の最大周波数の逆数で定めることを特徴とする請求項1に記載の学習データ生成システム。
【請求項3】
前記周期関数は三角関数であることを特徴とする請求項1又は2に記載の学習データ生成システム。
【請求項4】
制御部を備えた学習データ生成システムを用いて、学習データを生成する方法であって、
前記制御部が、
複数の構成要素は順序性を有し、複数の可変長次元の第1学習データを取得し、
前記構成要素を振幅として、周波数が異なる周期関数で合成信号を生成し、
前記合成信号から、予め定められたサンプリング周期で、固定数のサンプルを抽出し、
前記抽出したサンプルにより、固定長次元の順序性を有する第2学習データを生成することを特徴とする学習データ生成方法。
【請求項5】
制御部を備えた学習データ生成システムを用いて、学習データを生成するためのプログラムであって、
前記制御部を、
複数の構成要素は順序性を有し、複数の可変長次元の第1学習データを取得し、
前記構成要素を振幅として、周波数が異なる周期関数で合成信号を生成し、
前記合成信号から、予め定められたサンプリング周期で、固定数のサンプルを抽出し、
前記抽出したサンプルにより、固定長次元の順序性を有する第2学習データを生成する手段として機能させるための学習データ生成プログラム。