IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 富士通株式会社の特許一覧

特開2024-33924データ拡張プログラム,データ拡張方法およびデータ拡張装置
<>
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図1
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図2
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図3
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図4
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図5
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図6
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図7
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図8
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図9
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図10
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図11
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図12
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図13
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図14
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図15
  • 特開-データ拡張プログラム,データ拡張方法およびデータ拡張装置 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024033924
(43)【公開日】2024-03-13
(54)【発明の名称】データ拡張プログラム,データ拡張方法およびデータ拡張装置
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240306BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022137848
(22)【出願日】2022-08-31
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100092978
【弁理士】
【氏名又は名称】真田 有
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】高橋 秀和
(57)【要約】
【課題】データ拡張を行なう際に不自然なデータが生成されることを抑制する。
【解決手段】第1の複数のデータと第1の複数のデータのそれぞれに含まれる複数の属性に関する統計情報とを取得し、第1の複数のデータのそれぞれに含まれる複数の属性の値に基づいて、第1の複数のデータにおける属性間の関係性を特定し、第1の複数のデータと統計情報と第1の複数のデータにおける属性間の関係性とに基づいて、データを生成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
第1の複数のデータと前記第1の複数のデータのそれぞれに含まれる複数の属性に関する統計情報とを取得し、
前記第1の複数のデータのそれぞれに含まれる複数の属性の値に基づいて、前記第1の複数のデータにおける属性間の関係性を特定し、
前記第1の複数のデータと前記統計情報と前記第1の複数のデータにおける属性間の関係性とに基づいて、データを生成する、
処理をコンピュータに実行させることを特徴とするデータ拡張プログラム。
【請求項2】
前記データを生成する処理は、前記第1の複数のデータに対して前記複数の属性を含むベースデータを加えることで行なうデータ拡張によるデータ傾向変化を小さくするという条件に基づいて、前記ベースデータに含まれる前記複数の属性の値の更新を行なう処理を含み、
前記データは更新後のベースデータである、
ことを特徴とする、請求項1に記載のデータ拡張プログラム。
【請求項3】
前記更新する処理は、前記ベースデータと前記統計情報との前記複数の属性毎の標準誤差の総和を小さくするという条件に基づいて実行されることを特徴とする、請求項2に記載のデータ拡張プログラム。
【請求項4】
前記統計情報に基づいて、生成する前記データの数を決定する、
処理を前記コンピュータに実行させることを特徴とする、請求項1~3のいずれか1項に記載のデータ拡張プログラム。
【請求項5】
第1の複数のデータと前記第1の複数のデータのそれぞれに含まれる複数の属性に関する統計情報とを取得し、
前記第1の複数のデータのそれぞれに含まれる複数の属性の値に基づいて、前記第1の複数のデータにおける属性間の関係性を特定し、
前記第1の複数のデータと前記統計情報と前記第1の複数のデータにおける属性間の関係性とに基づいて、データを生成する、
処理をコンピュータが実行することを特徴とするデータ拡張方法。
【請求項6】
第1の複数のデータと前記第1の複数のデータのそれぞれに含まれる複数の属性に関する統計情報とを取得し、
前記第1の複数のデータのそれぞれに含まれる複数の属性の値に基づいて、前記第1の複数のデータにおける属性間の関係性を特定し、
前記第1の複数のデータと前記統計情報と前記第1の複数のデータにおける属性間の関係性とに基づいて、データを生成する、
処理を実行する制御部を含むことを特徴とするデータ拡張装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ拡張プログラム,データ拡張方法およびデータ拡張装置に関する。
【背景技術】
【0002】
ディープラーニング(Deep Learning:深層学習)等の機械学習システムにおいては、機械学習モデルの訓練に用いるための高品質かつ十分な量の訓練データを用意することが求められている。
【0003】
訓練データには、例えば、テーブル形式データが用いられることがある。
【0004】
図14はテーブル形式のデータを例示する図である。
【0005】
図14に示すテーブル形式データの各エントリは、それぞれ被験者に対応する。この図14に示す例においては、気温24℃のオフィスでの温冷感を示すデータであり、被験者の年齢,性別,身長および体重の組み合わせと、当該被験者の温冷感とを対応付けている。温冷感は、被験者が感じた温冷感(暑い/寒い)を数値化した値であり、-3(寒い)~+3(暑い)の範囲の値で表す。
【0006】
このようなテーブル形式のデータを訓練データとして用いる場合において、特定の値または範囲においてデータ数が少なくなる場合がある。あるデータの値または範囲をクラスという場合がある。また、データ数が多いクラスが多数派クラスという場合があり、データ数が少ないクラスを少数派クラスという場合がある。
【0007】
図15はデータの分布例を示す図であり、図14に例示したような温冷感を示すデータに関して年齢と温冷感との対応を分布図として示す。
【0008】
この図15に示す例においては、高齢者層がデータ数が少ない少数派クラスに相当し、若年層がデータ数が多い多数派クラスに相当する。多数派クラスをメジャークラス(major class)といってもよく、少数派クラスをマイノリティクラス(minority class)といってもよい。
【0009】
十分な量の訓練データを用意するために、少数派クラスに属するデータを生成することが望ましい。
【0010】
データを生成する手法の一つとして、データ拡張(Data Augmentation:データオーグメンテーション)が知られている。
【0011】
データ拡張手法として、例えば、内挿および外挿が知られている。内挿および外挿は、データセットの中に目的となる値のデータが存在しない場合、推定データを求めデータセットを拡張する技術である。
【0012】
内挿は、既存データから分布・傾向を求め、分布内での推定データを求める手法である。内装をデータの補間といってもよい。一方、外挿は、既存データから求めた分布・傾向が、分布外でも有効とする前提の上、分布外のデータを推定する手法である。外挿をデータの補外といってもよい。
【0013】
また、他のデータ拡張手法として、SMOTE(Synthetic Data Augmentation for Tabular Data)が知られている。SMOTEにおいては、既存の少数派データからKNN(K-Nearest Neighbor Algorithm : k近傍法)を用いて疑似的にデータを内挿する。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】国際公開第2018/220700号
【特許文献2】米国特許出願公開第2015/0088791号明細書
【発明の概要】
【発明が解決しようとする課題】
【0015】
しかしながら、このような従来のデータ拡張手法においては、データの属性値を人工的に生成した結果、不自然なデータが生成される場合がある。
【0016】
図16は従来のデータ拡張手法により生成したデータを追加したテーブル形式のデータを例示する図である。
【0017】
この図16においては、図14に示したテーブル形式データ(符号P0参照)に従来のデータ拡張手法により生成したデータ(符号P1参照)が加えられている。
【0018】
従来のデータ拡張手法により人工的に生成したデータにおいては、例えば、175cmの身長に対して30kgの体重のような、実世界での身長と体重との相関と矛盾する値が生成される場合がある(符号P2参照)。
【0019】
また、例えば、一般的なデータ分布範囲が-1~+1である温冷感に対して、-3のような矛盾する値が生成される場合もある(符号P3参照)。
【0020】
このように、従来のデータ拡張手法においては、例えば、属性値間の相関関係に矛盾した属性値や既存のデータ分布に矛盾した属性値のような不自然なデータを生成するおそれがある。
【0021】
1つの側面では、本発明は、データ拡張を行なう際に不自然なデータが生成されることを抑制することを目的とする。
【課題を解決するための手段】
【0022】
このため、このデータ拡張プログラムは、第1の複数のデータと前記第1の複数のデータのそれぞれに含まれる複数の属性に関する統計情報とを取得し、前記第1の複数のデータのそれぞれに含まれる複数の属性の値に基づいて、前記第1の複数のデータにおける属性間の関係性を特定し、前記第1の複数のデータと前記統計情報と前記第1の複数のデータにおける属性間の関係性とに基づいて、データを生成する、処理をコンピュータに実行させる。
【発明の効果】
【0023】
一実施形態によれば、データ拡張を行なう際に不自然なデータが生成されることを抑制することができる。
【図面の簡単な説明】
【0024】
図1】実施形態の一例としてのデータ拡張装置の機能構成を示す図である。
図2】実施形態の一例としてのデータ拡張装置において取り扱う既存データを例示する図である。
図3】実施形態の一例としてのデータ拡張装置において取り扱う外部統計情報を例示する図である。
図4】一実施形態に係るデータ拡張装置の機能を実現するコンピュータのハードウェア構成例を示すブロック図である。
図5】実施形態の一例としてのデータ拡張装置のベース人工データ生成部の処理を説明するための図である。
図6】実施形態の一例としてのデータ拡張装置のベース人工データ生成部の処理を説明するための図である。
図7】実施形態の一例としてのデータ拡張装置のベース人工データ生成部の処理を説明するための図である。
図8】実施形態の一例としてのデータ拡張装置のベース人工データ生成部の処理を説明するための図である。
図9】実施形態の一例としてのデータ拡張装置の照合部の処理を説明するための図である。
図10】実施形態の一例としてデータ拡張装置におけるデータ傾向抽出部の処理を説明するための図である。
図11】実施形態の一例としてのデータ拡張装置の人工データ最適化部によるベース人工データの最適化手法を説明するための図である。
図12】実施形態の一例としてのデータ拡張装置の人工データ最適化部の処理を説明するための図である。
図13】実施形態の一例としてのデータ拡張装置の処理を説明するためのフローチャートである。
図14】テーブル形式のデータを例示する図である。
図15】データの分布例を示す図である。
図16】従来のデータ拡張手法により生成したデータを追加したテーブル形式のデータを例示する図である。
【発明を実施するための形態】
【0025】
以下、図面を参照して本データ拡張プログラム,データ拡張方法およびデータ拡張装置にかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0026】
図1は実施形態の一例としてのデータ拡張装置1の機能構成を示す図である。
【0027】
データ拡張装置1は、複数の既存データ(第1の複数のデータ)に基づいて人工データ(拡張データ,第2のデータ)を生成することでデータ拡張を実現する。データ拡張装置1は、少数派クラスに属する人工データを生成する。
【0028】
既存データは、機械学習モデルの訓練データとして用いられてよい。
【0029】
図2は実施形態の一例としてのデータ拡張装置1において取り扱う既存データを例示する図である。
【0030】
図2に示す既存データは、気温24℃のオフィスでの被験者の温冷感を示すデータであり、複数の属性のデータを組み合わせたテーブル形式のデータである。図2に例示するテーブル形式データにおいては、被験者の年齢(Age),性別(Sex),身長(Subject height)および体重(Subject weight)の組み合わせと、当該被験者の温冷感(Thermal sensation)とを対応付けている。
【0031】
テーブル形式データに含まれる複数の属性間においては、何等かの関係性があってよい。例えば、一般的に身長と体重には相関がある。テーブル形式データは、属性間に関係を含むデータであるといってよい。
【0032】
温冷感は、被験者が感じた温冷感(暑い/寒い)を数値化した値であり、-3(寒い)~+3(暑い)の範囲の値で表す。
【0033】
データ拡張装置1は、既存データと外部統計情報とに基づいて人工データを生成する。外部統計情報は、既存データに含まれる属性に関する統計情報であり、本データ拡張装置1の外部において生成された統計情報である。
【0034】
図3は実施形態の一例としてのデータ拡張装置1において取り扱う外部統計情報を例示する図である。
【0035】
この図3においては、符号A~Dで示す4つの外部統計情報が示されている。符号Aは、身長に関する外部統計情報であって、60歳以上の男性の平均身長(μ11cm)および分散(μ11)と、60歳以上の女性の平均身長(μ12cm)および分散(μ12)とを含む。
【0036】
符号Bは、体重に関する外部統計情報であって、60歳以上の男性の平均体重(μ21kg)および分散(μ21)と、60歳以上の女性の平均体重(μ22kg)および分散(μ22)とを含む。
【0037】
符号Cは、人口分布に関する外部統計情報であって、男性と女性の各年齢層別(15歳未満/15歳以上60歳未満/60歳以上)の人口分布を示す。符号Dは温冷感に関する外部統計情報であって、温冷感の値がとり得る範囲を示す。
【0038】
一実施形態に係るデータ拡張装置1は、仮想サーバ(VM;Virtual Machine)であってもよいし、物理サーバであってもよい。また、データ拡張装置1の機能は、1台のコンピュータにより実現されてもよいし、2台以上のコンピュータにより実現されてもよい。さらに、データ拡張装置1の機能のうちの少なくとも一部は、クラウド環境により提供されるHW(Hardware)リソース及びNW(Network)リソースを用いて実現されてもよい。
【0039】
図4は一実施形態に係るデータ拡張装置1の機能を実現するコンピュータ10のハードウェア(HW)構成例を示すブロック図である。データ拡張装置1の機能を実現するHWリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが図4に例示するHW構成を備えてよい。
【0040】
図4に示すように、コンピュータ10は、HW構成として、例示的に、プロセッサ10a、グラフィック処理装置10b、メモリ10c、記憶部10d、IF(Interface)部10e、IO(Input / Output)部10f、及び読取部10gを備えてよい。
【0041】
プロセッサ10aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ10aは、コンピュータ10内の各ブロックとバス10jで相互に通信可能に接続されてよい。なお、プロセッサ10aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
【0042】
プロセッサ10aとしては、例えば、CPU、MPU、APU、DSP、ASIC、FPGA等の集積回路(IC;integrated circuit)が挙げられる。なお、プロセッサ10aとして、これらの集積回路の2以上の組み合わせが用いられてもよい。CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。
【0043】
グラフィック処理装置10bは、IO部10fのうちのモニタ等の出力装置に対する画面表示制御を行なう。また、グラフィック処理装置10bは、機械学習モデルを利用した機械学習処理及び推論処理を実行するアクセラレータとしての構成を有してよい。グラフィック処理装置10bとしては、種々の演算処理装置、例えば、GPU(Graphics Processing Unit)、APU、DSP、ASICまたはFPGA等の集積回路(IC)が挙げられる。
【0044】
メモリ10cは、種々のデータやプログラム等の情報を格納するHWの一例である。メモリ10cとしては、例えばDRAM(Dynamic Random Access Memory)等の揮発性メモリ、及び、PM(Persistent Memory)等の不揮発性メモリ、の一方または双方が挙げられる。
【0045】
記憶部10dは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部10dとしては、HDD(Hard Disk Drive)等の磁気ディスク装置、SSD(Solid State Drive)等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。
【0046】
記憶部10dは、コンピュータ10の各種機能の全部若しくは一部を実現するプログラム10h(データ拡張プログラム)を格納してよい。
【0047】
例えば、データ拡張装置1のプロセッサ10aは、記憶部10dに格納されたプログラム10hをメモリ10cに展開して実行することにより、後述するデータ拡張機能を実現できる。また、記憶部10dには、データ拡張装置1としての機能を実現する各部(図1参照)が処理の過程で生成する各種データを記憶させてもよい。
【0048】
IF部10eは、本コンピュータ10と他のコンピュータとの間の接続及び通信の制御等を行なう通信IFの一例である。例えば、IF部10eは、イーサネット(登録商標)等のLAN(Local Area Network)、或いは、FC(Fibre Channel)等の光通信等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方または双方の通信方式に対応してよい。
【0049】
例えば、データ拡張装置1は、IF部10e及びネットワークを介して、図示しない他の情報処理装置と相互に通信可能に接続されてよい。なお、プログラム10hは、当該通信IFを介して、ネットワークからコンピュータ10にダウンロードされ、記憶部10dに格納されてもよい。
【0050】
IO部10fは、入力装置、及び、出力装置、の一方または双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。また、IO部10fは、入力装置及び表示装置が一体となったタッチパネル等を含んでもよい。出力装置は、グラフィック処理装置10bに接続されてよい。
【0051】
読取部10gは、記録媒体10iに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10gは、記録媒体10iを接続可能または挿入可能な接続端子または装置を含んでよい。読取部10gとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10iにはプログラム10hが格納されてもよく、読取部10gが記録媒体10iからプログラム10hを読み出して記憶部10dに格納してもよい。
【0052】
記録媒体10iとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。
【0053】
上述したコンピュータ10のHW構成は例示である。従って、コンピュータ10内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、または、バスの追加若しくは削除等は適宜行なわれてもよい。
【0054】
図1に示すように、データ拡張装置1は、例示的に、ベース人工データ生成部101,照合部102,データ傾向抽出部103,人工データ最適化部104および終了判定部105としての機能を備えてよい。これらの機能は、コンピュータ10(図4参照)のハードウェアにより実現されてよい。
【0055】
ベース人工データ生成部101は、本データ拡張装置1が生成する人工データのベースとなるベース人工データ(ベースデータ)を生成する。ベース人工データ生成部101は、少数派クラスに属するベース人工データを生成する。
【0056】
ベース人工データ生成部101には、少数派クラスに関する情報と、外部統計情報とが入力される。ベース人工データ生成部101には複数の既存データの情報が入力されてもよい。ベース人工データ生成部101は、記憶部10dの所定の記憶領域に記憶された少数派クラスに関する情報および外部統計情報を読み出すことで、少数派クラスに関する情報,外部統計情報および複数の既存データを取得してよい。複数の既存データを既存データセットといってよい。
【0057】
ベース人工データ生成部101においては、既存データ(第1の複数のデータ)と既存データのそれぞれに含まれる複数の属性に関する外部統計情報(統計情報)とを取得する処理を実現する。
【0058】
少数派クラスに属するベース人工データを少数派クラス人工データといってよい。ベース人工データ生成部101は複数のベース人工データを生成してよい。
【0059】
ベース人工データ生成部101は、生成するベース人工データの数Nを、外部統計情報に基づいて決定する。なお、生成するベース人工データの数Nのうち男性の数をN1とし、女性の数をN2とする。N=N1+N2である。
【0060】
以下に示す例においては、データ拡張装置1が、図2に例示する既存データセットと図3に例示する外部統計情報とに基づいて人工データを生成する例について示す。また、60歳以上の年齢層が少数派クラスであり、データ拡張装置1が、この少数派クラスである60歳以上のクラスに属する人工データを生成するものとする。
【0061】
例えば、ベース人工データ生成部101は、人口分布に関する外部統計情報(図3の符号C参照)に基づいて、60歳以上の男性の割合x1(図3に示す例においてはx1=25.6%)と、60歳未満の男性の割合x2(図3に示す例においてはx2=74.4%)とをそれぞれ取得する。
【0062】
また、ベース人工データ生成部101は、既存データセットにおける60歳以上の男性の数a1(図2に示す例においてはa1=0)と、既存データセットにおける60歳未満の男性の数a2(図2に示す例においてはa2=4)とを取得する。
【0063】
そして、ベース人工データ生成部101は、(a1 + N1):a2=x1:x2となるN1を算出することで、生成する男性のベース人工データの数N1を決定する。図2および図3に示す例においては、N1=1.38≒2である。ベース人工データ生成部101は、2つの60歳以上の男性ベース人工データを生成することを決定する。
【0064】
同様に、ベース人工データ生成部101は、人口分布に関する外部統計情報(図3の符号C参照)に基づいて、60歳以上の女性の割合y1(図3に示す例においてはy1=31.5%)と、60歳未満の女性の割合y2(図3に示す例においてはy2=68.5%)とをそれぞれ取得する。
【0065】
また、ベース人工データ生成部101は、既存データセットにおける60歳以上の女性の数b1(図2に示す例においてはb1=1)と、既存データセットにおける60歳未満の女性の数b2(図2に示す例においてはb2=3)とを取得する。
【0066】
そして、ベース人工データ生成部101は、(b1 + N2):b2=y1:y2となるN2を算出することで、生成する女性のベース人工データの数N2を決定する。
【0067】
図2および図3に示す例においては、N2=0.38≒1である。ベース人工データ生成部101は、1つの60歳以上の女性ベース人工データを生成することを決定する。
【0068】
ベース人工データ生成部101は、算出したベース人工データの数(N)のベース人工データを生成する。図2および図3に示す例においては、ベース人工データ生成部101は、男性2名と女性1名の合計3名分(N=3)のベース人工データのエントリを生成する。ベース人工データの初期値においては、各エントリに含まれる各属性値はブランクであってよい。
【0069】
図5は実施形態の一例としてのデータ拡張装置1のベース人工データ生成部101の処理を説明するための図である。この図5に示す例においては、既存データセットと、ベース人工データ生成部101が生成した少数派クラスのベース人工データとを示している。
【0070】
この図5に例示するベース人工データは、60歳以上の男性用の2つのエントリと60歳以上の女性用の1つのエントリとを有する。また、各エントリ各属性値はブランクとなっていてよい。以下、便宜上、ベース人工データのエントリを単にベース人工データという場合がある。
【0071】
ベース人工データ生成部101は、生成したベース人工データを構成するための情報を、記憶部10dの所定の記憶領域に記憶させる。
【0072】
ベース人工データ生成部101は、生成したベース人工データの各エントリに対して、年齢(Age)および性別(Sex)の属性値を人工的に生成し、設定する。
【0073】
図6は実施形態の一例としてのデータ拡張装置1のベース人工データ生成部101の処理を説明するための図である。この図5に示す例においては、ベース人工データ生成部101が生成したベース人工データに対して、年齢(Age)および性別(Sex)の属性値を設定した状態を示す。
【0074】
ベース人工データ生成部101は、生成したベース人工データのうち、算出した男性のベース人工データの数N1(図6に示す例ではN1=2)に相当するベース人工データのエントリに対して、性別(Sex)に男性(Male)を設定する。
【0075】
また、ベース人工データ生成部101は、生成したベース人工データのうち、算出した女性のベース人工データの数N2(図6に示す例ではN2=1)に相当するベース人工データのエントリに対して、性別(Sex)に女性(Female)を設定する。
【0076】
さらに、ベース人工データ生成部101は、生成した各ベース人工データに対して、それぞれ60以上の値をランダムに生成して、年齢(Age)に設定する。この年齢には、例えば、図示しない寿命に関する外部統計情報等に基づいて上限値(例えば、100)を設定することが望ましい。また、年齢の値として、値が小さいほど(60に近くなるほど)出現確率を高くしてもよい。
【0077】
次に、ベース人工データ生成部101は、生成したベース人工データの各エントリに対して、身長(Subject height)および体重(Subject weight)の属性値を人工的に生成し、設定する。
【0078】
図7は実施形態の一例としてのデータ拡張装置1のベース人工データ生成部101の処理を説明するための図である。この図7に示す例においては、ベース人工データ生成部101が生成した人工データに対して、身長(Subject height)および体重(Subject weight)の属性値が設定された状態を示す。
【0079】
ベース人工データ生成部101は、生成したベース人工データのうち、算出した男性のベース人工データの数N1に相当するベース人工データのエントリに対して、男性の身長および体重に関する外部統計情報(身長の平均値と分散,体重の平均値と分散)に基づき、身長の値を決定し、設定する。
【0080】
ベース人工データ生成部101は、例えば、外部統計情報における男性の平均身長に基づき、分散の値が示す範囲内においてランダムに生成した値を、ベース人工データに設定する身長の値として用いる。
【0081】
また、ベース人工データ生成部101は、例えば、外部統計情報における男性の平均体重に基づき、分散の値が示す範囲内においてランダムに生成した値を、ベース人工データに設定する体重の値として用いる。
【0082】
同様に、ベース人工データ生成部101は、生成したベース人工データのうち、算出した女性のベース人工データの数N2に相当するベース人工データのエントリに対して、女性の身長および体重に関する外部統計情報(身長の平均値と分散,体重の平均値と分散)に基づき、体重の値を決定し、設定する。
【0083】
ベース人工データ生成部101は、例えば、外部統計情報における女性の平均身長に基づき、分散の値が示す範囲内においてランダムに生成した値を、ベース人工データに設定する身長の値として用いる。
【0084】
また、ベース人工データ生成部101は、例えば、外部統計情報における女性の平均体重に基づき、分散の値が示す範囲内においてランダムに生成した値を、ベース人工データに設定する体重の値として用いる。
【0085】
ベース人工データ生成部101がベース人工データに対して設定した身長および体重の値は、後述する人工データ最適化部104により更新され、最適化される。ベース人工データ生成部101がベース人工データに対して設定する身長および体重の各値(属性値)をベース属性値といってもよい。
【0086】
次に、ベース人工データ生成部101は、生成したベース人工データの各エントリに対して、温冷感(Thermal sensation)の属性値を人工的に生成し、設定する。
【0087】
ベース人工データ生成部101は、生成した各ベース人工データに対して、温冷感に関する外部統計情報が示す範囲内(図3に示す例においては-1~+3)においてランダムに生成した値を、ベース人工データに設定する温冷感の値として用いてよい。
【0088】
図8は実施形態の一例としてのデータ拡張装置1のベース人工データ生成部101の処理を説明するための図である。この図8に示す例においては、ベース人工データ生成部101が生成した人工データに対して、温冷感(Thermal sensation)の属性値を設定した状態を示す。
【0089】
Thermal sensationは公開されたデータベースの値で、値範囲は[-3:+3]と決まっている。
従来手法では、外部統計データが考慮されず、Thermal sensation属性値を乱数により生成するため、矛盾した値(-3=寒い)が生成される。
【0090】
これに対して、本データ拡張装置1においては、既存データセットから60歳以上のThermal sensation属性値の統計情報を取得して、その統計情報に従って人工データを生成する。そのため、例えば、一般的なデータ分布範囲が-1~+1である温冷感に対して、-3のような矛盾する値が生成されることがない。
【0091】
照合部102は、ベース人工データ生成部101が生成したベース人工データと外部統計情報とを照合し、ベース人工データと外部統計情報との誤差を抽出(算出)する。
【0092】
人工データの属性Xiについて、外部統計情報が与える平均を符号X iで表し、ベース人工データを符号xijで表す場合に、標準誤差SEiは以下の式(1)で表される。
【0093】
【数1】
である。
【0094】
図9は実施形態の一例としてのデータ拡張装置1の照合部102の処理を説明するための図である。
【0095】
この図9に示す例においては、ベース人工データ生成部101が生成したベース人工データにおける身長(Subject height)の各属性値に基づいて、標準誤差SE1が算出されている。また、ベース人工データにおける体重(Subject weight)の各属性値に基づいて、標準誤差SE2,が算出されている。
【0096】
また、照合部102は、ベース人工データと外部統計情報との属性i毎の誤差(標準誤差)SEiの総和ΣSEiを算出する。
【0097】
図9に示す例においては、照合部102は、ベース人工データにおける身長(Subject height)の各属性値に基づいて算出した標準誤差SE1と、ベース人工データにおける体重(Subject weight)の各属性値に基づいて算出した標準誤差SE2との和(SE1+ SE2)が、ベース人工データと外部統計情報との属性i毎の誤差の総和ΣSEiである。誤差の総和ΣSEiを便宜上、ΣSEと表してもよい。
【0098】
なお、図9に示す例において、照合部102は、ベース人工データにおける、温冷感(Thermal sensation)の各属性値に基づいて、標準誤差SE3を算出してもよい。また、照合部102は、ベース人工データと外部統計情報との属性i毎の誤差の総和ΣSEiに、温冷感(Thermal sensation)の各属性値に基づいて算出した標準誤差SE3を加算してもよい。
【0099】
照合部102は、算出した誤差の総和ΣSEを記憶部10dの所定の記憶領域に記憶させる。
【0100】
データ傾向抽出部103は、既存データにベース人工データを追加することで既存データに対するデータ拡張を行なった場合のデータ傾向変化ΣΔrを抽出する。データ傾向抽出部103には、複数の既存データ(既存データセット)が入力される。データ傾向抽出部103は、記憶部10dの所定の記憶領域に記憶された既存データセットを読み出すことで既存データセットを取得してよい。
【0101】
既存データセットの属性Xiと属性Xjとの相関関係をRXiXjと表す。
データ傾向抽出部103は、既存データセット(第1の複数のデータ)のそれぞれに含まれる複数の属性の値に基づいて、既存データセット(第1の複数のデータ)における属性間の関係性を特定する。
【0102】
相関係数の変分Δrは以下の式(2)で表される。
Δr = r'XiXj- rXiXj ・・・(2)
ここで、rXiXjは既存データセットの相関係数であり、r'XiXjは既存データセットにベース人工データを追加することでデータ拡張を行なった状態での相関係数である。
【0103】
図10は実施形態の一例としてデータ拡張装置1におけるデータ傾向抽出部103の処理を説明するための図である。
【0104】
図10において、符号Aは、年齢層毎のデータ分布を例示するものであり、横軸が年齢層を、縦軸がデータ数を示す。また、この符号Aに示す例においては、既存データにベース人工データを追加することでデータ拡張を行なった状態でのデータ分布を示しており、既存データに対して、少数派クラスである60歳台のベース人工データを追加した例を示す。
【0105】
また、図10において、符号Bは、Teenager層(20歳未満)およびAdult層(20歳以上)の身長と体重との相関関係を例示するものであり、横軸が身長を、縦軸が体重を示す。
【0106】
この符号Bに示す例において、符号L1を付して示す直線は、既存データのTeenager層の身長と体重との相関関係を示す。この既存データのTeenager層の身長と体重との相関関係をRTeenagerと表してもよい。
【0107】
また、符号L2を付して示す直線は、既存データのAdult層の身長と体重との相関関係を示す。この既存データのAdult層の身長と体重との相関関係をRAdultと表してもよい。
さらに、符号L3を付して示す直線は、データ拡張によって変化したAdult層の身長と体重との相関関係を示す。
【0108】
人工データ最適化部104は、データ傾向抽出部103によって算出されたデータ傾向変化ΣΔrを小さくするという条件に基づいて、ベース人工データを最適化する。
【0109】
人工データ最適化部104は、ベース人工データの属性値を更新することで最適化を行なってよく、例えば、ベース人工データの身長および体重の少なくとも一方の値を所定量変更することを繰り返し行なうことで、最適化を実現する。
【0110】
例えば、人工データ最適化部104は、ベース人工データにおける身長の値を1cm増加もしくは減少させる更新を繰り返し行なってもよく、体重の値を1kg増加もしくは減少させる更新を繰り返し行なってもよい。
【0111】
また、人工データ最適化部104は、ベース人工データの身長もしくは体重のいずれか一方の値を更新することで最適化を行なってもよく、また、身長もしくは体重の両方の値を更新することで最適化を行なってもよい。
【0112】
図11は実施形態の一例としてのデータ拡張装置1の人工データ最適化部104によるベース人工データの最適化手法を説明するための図である。
【0113】
図11においては、図10の符号Bに示した既存データのAdult層の身長と体重との相関関係RAdultを示す直線L2と、データ拡張として用いられるベース人工データP1と、ベース人工データP1に対して最適化を行なうことで属性値が変更された更新後のベース人工データP1′とを示す。
【0114】
人工データ最適化部104は、ベース人工データP1に対して、相関係数の変分Δrが小さくなるように属性値を更新することで、更新後のベース人工データP1′を生成する。
【0115】
人工データ最適化部104は、例えば、ベース人工データP1の身長の値と体重の値の少なくとも一方を更新することで、更新後のベース人工データP1′を生成する。
【0116】
人工データ最適化部104は、既存データセット(第1の複数のデータ)に対して既存データセットと同じ複数の属性を含むベース人工データ(ベースデータ)を加えることで行なうデータ拡張によるデータ傾向変化(ΣΔr)を小さくするという条件に基づいて、ベース人工データに含まれる複数の属性の値の更新を行なう。
【0117】
この更新は、ベース人工データと外部統計情報との複数の属性毎の標準誤差SEの総和ΣSEを小さくするという条件に基づいて実行される。
【0118】
人工データ最適化部104は、既存データセット(第1の複数のデータ)と外部統計情報と既存データセットにおける属性間の関係性とに基づいて、人工データを生成するといえる。
【0119】
終了判定部105は、ベース人工データに対する最適化を終了するか否かの判定を行なう。
【0120】
標準誤差SEiの総和ΣSEiの最小化は、ベース人工データと外部統計情報との誤差の最小化を意味する。また、データ傾向変化ΣΔrの最小化は、ベース人工データを用いた既存データのデータ拡張による生じる不自然さの最小化を意味する。
【0121】
終了判定部105は、多目的最低化手法を用いて、ΣSEを最小化する目的関数min(ΣSE)とΣΔrを最小化する目的関数min(ΣΔr)との間で最適解を求める。
【0122】
上述した人工データ最適化部104による人工データ変更により、データ傾向変化(ΣΔr)の値は減少するが、ΣSEは増加していく。終了判定部105は、min(ΣSE) かつmin(ΣΔr)の両方を満たすポイントを最適解として決定する。
【0123】
なお、多目的最適化問題を解く手法として、既知の種々の手法を用いてよく、その説明は省略する。
【0124】
図12は実施形態の一例としてのデータ拡張装置1の人工データ最適化部104の処理を説明するための図である。
【0125】
この図12においては、横軸がΣSEであり縦軸がΣΔrである座標空間において、目的関数min(ΣSE)と目的関数min(ΣΔr)とを同時に求める多目的最適化関数のグラフを示す。初期値においては、ΣΔr最大でΣSEは最小値を示す。
【0126】
終了判定部105は、ΣSEとΣΔrとの両方が最小化したか、すなわち、目的関数min(ΣSE)と目的関数min(ΣΔr)とが満たされたかを判断する。
【0127】
ΣSEとΣΔrとの両方が最小化した場合に、終了判定部105は、人工データ最適化部104によるベース人工データの最適化を終了させる。人工データ最適化部104により最適化されたベース人工データが、既存データに対する拡張データ(人工データ,第2のデータ)として機械学習モデルの訓練データとして用いられる。
【0128】
上述の如く構成された実施形態の一例としてのデータ拡張装置1の処理を、図13に示すフローチャート(ステップS1~S5)に従って説明する。
【0129】
ステップS1において、ベース人工データ生成部101が、少数派クラスに属するN人分のベース人工データを生成する。ベース人工データ生成部101は、生成するベース人工データの数Nを、外部統計情報に基づいて決定する。また、ベース人工データ生成部101は、生成したベース人工データに対して、ベース属性値(身長,体重,温冷感)を設定する。
【0130】
ステップS2において、照合部102が、ベース人工データと外部統計情報との属性毎の誤差の総和ΣSEを算出(抽出)する。
【0131】
ステップS3において、データ傾向抽出部103が、既存データにベース人工データを追加することで既存データに対するデータ拡張を行なった場合のデータ傾向変化ΣΔrを算出(抽出)する。
【0132】
ステップS4において、終了判定部105が、ΣSEとΣΔrとの両方が最小化したか、すなわち、目的関数min(ΣSE)と目的関数min(ΣΔr)が求められたかを確認する。
【0133】
確認の結果、ΣSEおよびΣΔrの少なくとも一方が最小化していない場合には(ステップS4のNOルート参照)、ステップS5に移行する。
【0134】
ステップS5において、人工データ最適化部104が、ΣΔrを小さくするという条件に基づいてベース人工データの更新を行なう。その後、処理はステップS2に戻る。
【0135】
ステップS4における確認の結果、終了判定部105が、ΣSEとΣΔrとの両方が最小化した、すなわち、目的関数min(ΣSE)と目的関数min(ΣΔr)とが求められたと判断した場合に(ステップS4のYESルート参照)、処理を終了する。
【0136】
このように、実施形態の一例としてのデータ拡張装置1によれば、ベース人工データ生成部101が生成した、ベース属性値を有するベース人工データに対して、照合部102が外部統計情報との照合を行ない、ベース人工データと外部統計情報との属性毎の標準誤差の総和ΣSEを算出する。
【0137】
また、データ傾向抽出部103が、既存データにベース人工データを追加することで既存データに対するデータ拡張を行なった場合のデータ傾向変化ΣΔrを算出(抽出)する。
【0138】
そして、人工データ最適化部104が、目的関数min(ΣSE)と目的関数min(ΣΔr)とを満たすように、ベース人工データの最適化を行なう。
【0139】
すなわち、人工データ最適化部104が、データ拡張に用いる人工データの元となるベース人工データと外部統計情報との誤差(ΣSE)を最小化する。また、人工データ最適化部104は、既存データにベース人工データを追加してデータ拡張を行なうことで生じるデータ傾向の変分ΣΔrを小さくするという条件に基づいて、ベース人工データの属性値を更新する。
【0140】
これにより、外部統計情報を使った既存データセットに含まれていない少数派クラスのデータ拡張を行なうに際して、ベース人工データを、極力、外部統計情報に近づけながら、不自然な人工データの生成を抑止することができる。なお、不自然な人工データには、属性値間に矛盾があるデータや既存データのデータ分布に矛盾したデータが含まれる。
【0141】
データの自然さの性質は、既存データに含まれる。人工データ最適化部104が、既存データにベース人工データを追加してデータ拡張を行なうことで生じるデータ傾向の変分ΣΔrを小さくするという条件に基づいて、ベース人工データの属性値を更新することで、生成する人工データから不自然さを取り除くことができる。これより、当該人工データにより少数派クラスのデータ拡張を行なう場合においても、自然な訓練データを生成することができる。
【0142】
また、人工データにより少数派クラスのデータ拡張を行なう場合において、データ傾向変化によるモデル変更を最少化し、データ拡張による影響を低減することができる。
【0143】
本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【0144】
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
【0145】
例えば、上述した実施形態においては、気温24℃のオフィスでの温冷感を示すデータを人工データとして生成する例を示したが、これに限定されるものではなく、適宜変更して実施することができる。
【0146】
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【0147】
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1の複数のデータと前記第1の複数のデータのそれぞれに含まれる複数の属性に関する統計情報とを取得し、
前記第1の複数のデータのそれぞれに含まれる複数の属性の値に基づいて、前記第1の複数のデータにおける属性間の関係性を特定し、
前記第1の複数のデータと前記統計情報と前記第1の複数のデータにおける属性間の関係性とに基づいて、データを生成する、
処理をコンピュータに実行させることを特徴とするデータ拡張プログラム。
【0148】
(付記2)
前記データを生成する処理は、
前記第1の複数のデータ対して前記複数の属性を含むベースデータを加えることで行なうデータ拡張によるデータ傾向変化を小さくするという条件に基づいて、前記ベースデータに含まれる前記複数の属性の値の更新を行なう処理を含み、
前記データは更新後のベースデータであることを特徴とする、付記1に記載のデータ拡張プログラム。
【0149】
(付記3)
前記更新する処理は、前記ベースデータと前記統計情報との前記複数の属性毎の標準誤差の総和を小さくするという条件に基づいて実行されることを特徴とする、付記2に記載のデータ拡張プログラム。
【0150】
(付記4)
前記統計情報に基づいて、生成する前記データの数を決定する
処理を前記コンピュータに実行させることを特徴とする、付記1~3のいずれか1項に記載のデータ拡張プログラム。
【0151】
(付記5)
第1の複数のデータと前記第1の複数のデータのそれぞれに含まれる複数の属性に関する統計情報とを取得し、
前記第1の複数のデータのそれぞれに含まれる複数の属性の値に基づいて、前記第1の複数のデータにおける属性間の関係性を特定し、
前記第1の複数のデータと前記統計情報と前記第1の複数のデータにおける属性間の関係性とに基づいて、データを生成する、
処理をコンピュータが実行することを特徴とするデータ拡張方法。
【0152】
(付記6)
前記データを生成する処理は、
前記第1の複数のデータに対して前記複数の属性を含むベースデータを加えることで行なうデータ拡張によるデータ傾向変化を小さくするという条件に基づいて、前記ベースデータに含まれる前記複数の属性の値の更新を行なう処理を含み、
前記データは更新後のベースデータであることを特徴とする、付記5に記載のデータ拡張方法。
【0153】
(付記7)
前記更新する処理は、
前記ベースデータと前記統計情報との前記複数の属性毎の標準誤差の総和を小さくするという条件に基づいて実行されることを特徴とする、付記6に記載のデータ拡張方法。
【0154】
(付記8)
前記統計情報に基づいて、生成する前記データの数を決定する
処理を前記コンピュータが実行することを特徴とする、付記5~7のいずれか1項に記載のデータ拡張方法。
【0155】
(付記9)
第1の複数のデータと前記第1の複数のデータのそれぞれに含まれる複数の属性に関する統計情報とを取得し、
前記第1の複数のデータのそれぞれに含まれる複数の属性の値に基づいて、前記第1の複数のデータにおける属性間の関係性を特定し、
前記第1の複数のデータと前記統計情報と前記第1の複数のデータにおける属性間の関係性とに基づいて、データを生成する、
処理を実行する制御部を含むことを特徴とするデータ拡張装置。
【0156】
(付記10)
前記データを生成する処理は、前記第1の複数のデータに対して前記複数の属性を含むベースデータを加えることで行なうデータ拡張によるデータ傾向変化を小さくするという条件に基づいて、前記ベースデータに含まれる前記複数の属性の値の更新を行なう処理を含み、
前記データは更新後のベースデータであることを特徴とする、付記9に記載のデータ拡張装置。
【0157】
(付記11)
前記更新する処理は、
前記ベースデータと前記統計情報との前記複数の属性毎の標準誤差の総和を小さくするという条件に基づいて実行されることを特徴とする、付記2に記載のデータ拡張プログラム。
【0158】
(付記12)
前記制御部が、
前記統計情報に基づいて、生成する前記データの数を決定する
処理を実行することを特徴とする、付記9~11のいずれか1項に記載のデータ拡張装置。
【符号の説明】
【0159】
1 データ拡張装置
10 コンピュータ
10a プロセッサ
10b グラフィック処理装置
10c メモリ
10d 記憶部
10e IF部
10f IO部
10g 読取部
10h プログラム
10i 記録媒体
10j バス
101 ベース人工データ生成部
102 照合部
103 データ傾向抽出部
104 人工データ最適化部
105 終了判定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16