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

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

Info

Publication number
JP2019185483A
JP2019185483A JP2018077055A JP2018077055A JP2019185483A JP 2019185483 A JP2019185483 A JP 2019185483A JP 2018077055 A JP2018077055 A JP 2018077055A JP 2018077055 A JP2018077055 A JP 2018077055A JP 2019185483 A JP2019185483 A JP 2019185483A
Authority
JP
Japan
Prior art keywords
data
learning
learning device
machine learning
convolution layer
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.)
Granted
Application number
JP2018077055A
Other languages
English (en)
Other versions
JP7124404B2 (ja
Inventor
優 安富
Masaru Yasutomi
優 安富
孝 河東
Takashi Kato
孝 河東
健人 上村
Taketo Uemura
健人 上村
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 JP2018077055A priority Critical patent/JP7124404B2/ja
Priority to US16/364,583 priority patent/US20190318260A1/en
Publication of JP2019185483A publication Critical patent/JP2019185483A/ja
Application granted granted Critical
Publication of JP7124404B2 publication Critical patent/JP7124404B2/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

【課題】畳み込み処理を含む学習器の判別精度を向上できる機械学習プログラム、機械学習方法および機械学習装置を提供する。【解決手段】機械学習プログラムは、畳み込み層を含む学習器を用いる。つまり、機械学習プログラムは、教師データの少なくとも一部、または、畳み込み層への入力データの少なくとも一部のデータに基づいて、学習器に含まれる、畳み込み層の処理内容に応じたサイズのフィルタを用いてデータ拡張した、拡張データを生成する処理をコンピュータに実行させる。機械学習プログラムは、教師データおよび拡張データを用いて、学習器の学習を行う処理をコンピュータに実行させる。【選択図】図1

Description

本発明は、機械学習プログラム、機械学習方法および機械学習装置に関する。
機械学習において、教師データにノイズを加えることにより教師データを拡張し、学習を進めるデータ拡張(Data Augmentation)技術が存在する。データ拡張としては、例えば、入力データや中間層出力データの要素ごとに独立なガウシアンノイズを加えることが知られている。また、教師データが自然画像である場合に、画像全体に対する明度、コントラストおよび色相を変化させることで、データ拡張を行うことが提案されている。
特開平6−348906号公報 特開2017−059071号公報 特開2008−219825号公報
しかしながら、独立なガウシアンノイズが加わったデータによるデータ拡張を畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)に適用すると、ガウシアンノイズ特有の模様を学習してしまい判別精度が低下する。一方、CNNに入力するデータが自然画像である場合に、画像全体に対する明度等を変化させてデータ拡張を行おうとしても、学習したい要素、例えば被写体のバリエーションを増加させることは難しく、判別精度の向上は難しい。
一つの側面では、畳み込み処理を含む学習器の判別精度を向上できる機械学習プログラム、機械学習方法および機械学習装置を提供することにある。
一つの態様では、機械学習プログラムは、畳み込み層を含む学習器を用いる。つまり、機械学習プログラムは、教師データの少なくとも一部、または、前記畳み込み層への入力データの少なくとも一部のデータに基づいて、前記学習器に含まれる、前記畳み込み層の処理内容に応じたサイズのフィルタを用いてデータ拡張した、拡張データを生成する処理をコンピュータに実行させる。機械学習プログラムは、前記教師データおよび前記拡張データを用いて、前記学習器の学習を行う処理をコンピュータに実行させる。
畳み込み処理を含む学習器の判別精度を向上できる。
図1は、実施例の学習装置の構成の一例を示すブロック図である。 図2は、要素ごとに独立なガウシアンノイズを付加した場合の一例を示す図である。 図3は、畳み込み層の処理の一例を示す図である。 図4は、画像全体に対する明度やコントラストの変更の一例を示す図である。 図5は、空間的に相関のあるノイズを加える場合の一例を示す図である。 図6は、ノイズの付加の一例を示す図である。 図7は、識別対象のサイズに応じたパラメータ選択の一例を示す図である。 図8は、畳み込み層のスライド窓のサイズに応じたパラメータ選択の一例を示す図である。 図9は、具体例におけるパラメータ等の一例を示す図である。 図10は、具体例における学習後のテストデータに対する精度の一例を示す図である。 図11は、実施例の学習処理の一例を示すフローチャートである。 図12は、機械学習プログラムを実行するコンピュータの一例を示す図である。
以下、図面に基づいて、本願の開示する機械学習プログラム、機械学習方法および機械学習装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
図1は、実施例の学習装置の構成の一例を示すブロック図である。図1に示す学習装置100は、畳み込み層を含む学習器を用いる機械学習装置の一例である。学習装置100は、教師データの少なくとも一部、または、畳み込み層への入力データの少なくとも一部のデータに基づいて、学習器に含まれる、畳み込み層の処理内容に応じたサイズのフィルタを用いてデータ拡張した、拡張データを生成する。学習装置100は、教師データおよび拡張データを用いて、学習器の学習を行う。これにより、学習装置100は、畳み込み処理を含む学習器の判別精度を向上できる。
まず、図2から図4を用いて、ノイズの付加と畳み込み層の処理について説明する。図2は、要素ごとに独立なガウシアンノイズを付加した場合の一例を示す図である。図2に示すグラフ10は、入力データを示すグラフである。グラフ10に示す入力データに対して、要素ごとに独立なガウシアンノイズを付加すると、例えばグラフ11に示すようになる。なお、入力データが画像の場合には、ピクセルごとに独立なガウシアンノイズを付加することになる。なお、以下の説明では、ガウシアンノイズを単にノイズとも表現する。
要素ごとに独立なガウシアンノイズの付加は、畳み込み層を有するニューラルネットワークに対しては効果が弱くなる。つまり、画像認識や物体検出に用いられるCNNは、空間的に連続している自然画像を入力データとするので、要素(ピクセル)ごとに独立なガウシアンノイズを付加するのは、実際に有りそうなデータから離れてしまい不適切である。また、畳み込み層の学習では、画像のテクスチャを特徴として学習するので、ガウシアンノイズ特有の模様を学習してしまい、推論時にもガウシアンノイズを加えないと機能しなくなる。すなわち、要素ごとに独立なガウシアンノイズの付加は、本来学習すべき特徴であるグラフ10に対して、グラフ11のようなザラついた特徴、例えば砂嵐を重畳したような画像を学習してしまうことになる。
図3は、畳み込み層の処理の一例を示す図である。図3は、入力画像12に対してフィルタ13を用いて畳み込み処理を行って出力画像14を得る場合を表す。図3の例では、入力画像12の各チャンネルに対して個別に畳み込み処理を行い、畳み込み後の値を全て足して出力画像14の1要素とする。このとき、畳み込み処理のフィルタ13は、学習によって決定する。フィルタ13の個数は、(入力画像12のチャンネル数)×(出力画像14のチャンネル数)によって求められる。このように、畳み込み層では、フィルタ13の範囲内の局所的な特徴が学習されることになる。つまり、入力画像12における隣り合った画素の関係等が重要になる。従って、要素ごとに独立なガウシアンノイズの付加は、隣り合った要素が、ノイズの範囲で必ず異なることを学習してしまい、本来学習すべき自然画像の連続的な特徴が学習出来なくなる。また、中間画像では、ピクセルごとにノイズを加えると、抽出した境界が崩れることになる。
図4は、画像全体に対する明度やコントラストの変更の一例を示す図である。図4の例では、入力データ15に対して、明度、コントラストおよび色相を変化させることで、入力データ16〜18を得ている。入力データ16〜18は、入力データ15の画像全体としてのバリエーションとなるが、例えば、服の模様や木の影といったバリエーションは生成出来ないため、これらを認識対象としたい場合に精度を伸ばせない。つまり、図4の例では、入力データの細かな変化に対応するためのデータを生成することが難しい。
次に、学習装置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は、例えば、通信部110を介して入力された学習対象の教師データを記憶する。教師データ記憶部121には、例えば、所定サイズのカラー画像のデータ群を、教師データとして記憶する。
パラメータ記憶部122は、学習器の各種パラメータやノイズ変換パラメータを記憶する。学習器の各種パラメータは、例えば、畳み込み層や全結合層の初期パラメータが挙げられる。ノイズ変換パラメータは、例えば、ガウシアンフィルタのパラメータ等が挙げられる。
学習モデル記憶部123は、教師データと、データ拡張を行った拡張データとを深層学習した学習モデルを記憶する。学習モデルは、例えば、ニューラルネットワークの各種パラメータ(重み係数)等を記憶する。つまり、学習モデル記憶部123は、畳み込み層や全結合層の学習後のパラメータを記憶する。
制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。
制御部130は、生成部131と、第1学習部132と、第2学習部133とを有し、以下に説明する情報処理の機能や作用を実現または実行する。ここで、第1学習部132および第2学習部133は、CNNの学習器である。ここで、学習器は、例えば学習プログラムとして実現され、学習プロセス、学習機能等と言い替えてもよい。第1学習部132は、畳み込み層学習部に相当し、第2学習部133は、全結合層学習部に相当する。なお、制御部130の内部構成は、図1に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
生成部131は、例えば、通信部110を介して、管理者などの端末から学習用の教師データを受信して取得する。生成部131は、取得した教師データを教師データ記憶部121に記憶する。また、生成部131は、教師データ記憶部121を参照し、教師データに基づいて、ノイズ変換パラメータを設定する。生成部131は、設定したノイズ変換パラメータをパラメータ記憶部122に記憶するとともに、第1学習部132および第2学習部133に設定する。
ここで、図5および図6を用いてノイズの付加について説明する。図5は、空間的に相関のあるノイズを加える場合の一例を示す図である。図5に示すように、生成部131は、例えば、入力データ15に対して、自然画像と同じく連続性のあるノイズ19を付加し、拡張データ20を生成する。ノイズ19は、空間的に相関のあるノイズ、つまり、ぼかしたようなノイズともいえる。拡張データ20は、自然画像として不自然でない画像になるため、データ拡張としても効果が出やすくなる。また、ノイズ19は、入力データ15のテクスチャを大きく変えてしまうことがないため、学習への悪影響が少ない。すなわち、ノイズ19を付加することで、図4に示す画像全体に対する明度やコントラストの変更によるバリエーションの生成に比べて、より細かい部分のバリエーションを生成することができる。
図6は、ノイズの付加の一例を示す図である。図6の例では、生成部131は、グラフ21に示す標準正規分布であるガウシアンノイズεに対して、下記の式(1)を用いて、ぼかして正規化したノイズεを算出する。グラフ22は、ノイズεを示す。なお、ノイズεは、ノイズの付加対象のチャンネルごとに生成する。チャンネルは、カラー画像の教師データであれば、例えば、RGB(Red,Green,Blue)の3つのチャンネルである。また、チャンネルは、中間層出力の中間画像であれば、例えば、CNNの構成に応じて百〜千個程度のチャンネルである。
Figure 2019185483
ここで、Normalize(・)は、平均0,分散1に正規化する関数であり、Blur(・)は、空間的にぼかす関数である。また、N(0,1)は、標準正規分布を示し、W,Hは、ノイズを付加する画像またはCNNの中間層出力の中間画像における幅および高さを示す。なお、Blur(・)は、DNN(Deep Neural Network)の学習でよく用いられるGPU(Graphics Processing Unit)で高速に計算できるように、畳み込みガウシアンフィルタ、または、畳み込みガウシアンフィルタの近似によって行うことができる。畳み込みガウシアンフィルタの近似は、スライド窓による平均処理(Average pooling)を数回適用することで行うことができる。
次に、生成部131は、グラフ23に示すノイズ付加の対象であるデータxに対して、下記の式(2)を用いて、ノイズεを付加する。ここで、σは、ノイズの強さを表すパラメータである。また、グラフ24は、ノイズが付加されたデータを示す。
Figure 2019185483
生成部131は、空間的なぼかし具合に対応するパラメータ(ガウシアンフィルタの分散やスライド窓の大きさ)について、ノイズの付加方法ごとに設定する。なお、空間的なぼかし具合に対応するパラメータは、ノイズ変換パラメータの一例である。
ノイズの付加方法は、例えば、大きく4つの方法が挙げられる。これらの方法を以下の説明では、方法(1)〜(4)と表現する。方法(1)は、事前に注目したい物体の画像内での大きさを決めておき、決めた大きさと同じくらいの空間的な分散となるようにパラメータを設定する。つまり、方法(1)は、識別対象のサイズに応じたパラメータを選択する。
図7は、識別対象のサイズに応じたパラメータ選択の一例を示す図である。図7は、方法(1)の一例であり、例えば、樹木の陰影によって種類を認識したい場合、つまり認識対象が明らかな場合に、その特徴が変わるようなパラメータを選択する。図7に示すデータ25では、認識対象の樹木に対応する領域25aに注目すると、ぼかし具合が細かすぎるため、認識対象の特徴が残らない。データ26では、同様に領域26aに注目すると、ぼかし具合が丁度よく、認識対象にある程度のバリエーションが出る。データ27では、同様に領域27aに注目すると、ぼかし具合が粗すぎるため、認識対象の特徴にほとんど変化がない。従って、図7の例では、生成部131は、データ26に対応するパラメータを選択する。
次に、方法(2)は、ノイズ付加対象の画像(教師データ)、または、中間層出力の中間画像をフーリエ変換し、ピークが立った周波数に対応する空間的な分散となるようにパラメータを設定する。つまり、方法(2)は、フーリエ変換でピークが立った周波数以上の成分を消去するようにパラメータを設定する。方法(2)は、画像内にパターンやテクスチャがある場合に有効である。方法(2)では、ガウシアンフィルタの場合、カットオフ周波数fが下記の式(3)であるので、σは、下記の式(4)に示すようにすることができる。ここで、Fは、サンプリング周波数を示す。
= F / 2πσ ・・・(3)
σ = (画像の高さまたは幅)/2π(ピーク周波数) ・・・(4)
次に、方法(3)は、畳み込み層のパラメータ、つまり畳み込み処理のフィルタサイズ(スライド窓のサイズ)に応じてノイズのパラメータを設定する。方法(3)では、フィルタの対象となる範囲で、ある程度変化のあるノイズとなるようにノイズのパラメータを設定する。
図8は、畳み込み層のスライド窓のサイズに応じたパラメータ選択の一例を示す図である。図8は、方法(3)の一例であり、例えば、樹木の陰影によって種類を認識したい場合、スライド窓の範囲内である程度変化のあるノイズとなるようにノイズのパラメータを設定する。図8に示すデータ28では、スライド窓28aに注目すると、ぼかし具合が細かすぎるため、ノイズの特徴を学習してしまう。データ29では、同様にスライド窓29aに注目すると、ぼかし具合が丁度よく、畳み込みフィルタの範囲内でバリエーションが出る。データ30では、同様にスライド窓30aに注目すると、ぼかし具合が粗すぎるため、1回の畳み込み処理内で見ると、ノイズの影響がほとんどない。従って、図8の例では、生成部131は、データ29に対応するノイズのパラメータを設定する。なお、スライド窓28a〜30aは、1回の畳み込み処理の対象となる範囲であり、大きさは、畳み込み処理のフィルタサイズ×フィルタサイズとなる。
また、上述の方法(1)〜(3)は、組み合わせてもよく、例えば、CNNの入力層に近い部分では、方法(1),(2)を用いて、入力データに対して注目し、ぼかし具合を設定する。また、CNNの深い層では、畳み込み層のフィルタサイズに注目して、ぼかし具合を設定する。深い層では、一般にプーリング処理等で画像サイズが小さくなっており、細かいノイズは入れにくいためである。また、深い層では、各要素にどのような特徴量が作られるか不明であるためである。
続いて、方法(4)は、いくつかのぼかし具合に関するパラメータの候補を用意しておき、それぞれ適用してみた上で、最も損失関数が大きくなったパラメータを採用する。なお、損失関数は、本来のタスク、例えば画像認識や物体検出の損失関数である。方法(4)は、これを学習のイテレーションごとに実施する。
また、教師データに対する損失関数の値は、大小によって次のようなことを示唆する。損失関数の値が「非常に小さい」場合は、過学習、つまり教師データに対する過適応の可能性がある。損失関数の値が「小さい」場合は、学習が進んでいるが、過学習の傾向がある。損失関数の値が「大きい」場合は、学習が進んでおり、過学習も抑えられている。損失関数の値が「非常に大きい」場合は、学習が進んでいない場合である。なお、本当に過学習が抑えられているか評価するためには、教師データに含まれない検証データ(validation data)に対する損失関数の値が大きくなっていないかを見ることが求められる。上述の損失関数の大小は、教師データに対する損失関数を見た場合の傾向を示すものである。また、損失関数の値が「大きい」場合とは、データ拡張が成功した複数のパラメータの候補うち、損失関数が最も大きいパラメータである場合を含む。なお、損失関数の値が「非常に大きい」場合とは、データ拡張が失敗している場合である。
従って、方法(4)では、損失関数の値がある程度大きくなるパラメータを選択することで、過学習を抑制する効果が期待できる。すなわち、方法(4)では、学習の進み具合に応じて損失関数の値がある程度大きくなるパラメータが変化するため、学習の進み具合に応じてパラメータを切り替える。これにより、方法(4)では、NNが苦手なノイズを積極的に入れることができ、汎化性能の向上が期待できる。ここで、パラメータの選択は、損失関数の値が「非常に大きい」とならずに、ある程度「大きい」となることを担保するために、ぼかし具合のパラメータ候補は、方法(1)〜(3)を用いる等により適当に設定することが求められる。また、方法(4)を方法(1)〜(3)と比較すると、方法(1)〜(3)が事前にぼかし具合のパラメータを固定するのに対して、方法(4)では、学習中にぼかし具合のパラメータを、学習の進み具合に応じて、その時々に適切な値を設定して変化させる。
生成部131は、上述の方法(1)〜(4)のうちいずれかの方法、または、これらの組み合わせを選択することで、ノイズの付加方法を選択する。なお、ノイズの付加方法は、例えば、予め設定された条件、例えば教師データの解像度および枚数やCNNの構造等に応じて、生成部131が選択するようにしてもよいし、学習装置100のユーザから受け付けるようにしてもよい。
生成部131は、選択したノイズの付加方法に応じて、学習器のパラメータを設定する。生成部131は、学習器のパラメータのうち、畳み込み層に関するパラメータを第1学習部132に設定する。また、生成部131は、学習器のパラメータのうち、全結合層に関するパラメータを第2学習部133に設定する。さらに、生成部131は、設定するパラメータをパラメータ記憶部122に記憶する。すなわち、生成部131は、教師データを各種パラメータに従ってデータ拡張した、拡張データを生成する。生成部131は、パラメータの設定が完了すると、第1学習部132に学習の開始を指示する。
言い換えると、生成部131は、教師データの少なくとも一部、または、畳み込み層への入力データの少なくとも一部のデータに基づいて、学習器に含まれる、畳み込み層の処理内容に応じたサイズのフィルタを用いてデータ拡張した、拡張データを生成する。また、生成部131は、学習器の中間層のデータに対してフィルタを用いてデータ拡張した、拡張データを生成する。また、生成部131は、学習器の入力層のデータに対してフィルタを用いてデータ拡張した、拡張データを生成する。また、生成部131は、データをフーリエ変換し、ピークが立った周波数以上の成分を消去することでデータ拡張した、拡張データを生成する。また、生成部131は、畳み込み層のスライド窓のサイズに応じたぼかし具合となるノイズをデータに付加することでデータ拡張した、拡張データを生成する。また、生成部131は、データ拡張が成功した、学習器の複数のパラメータのうち、損失関数の値が最も大きいパラメータを、学習器の学習の進み具合に応じて適用することで、拡張データを生成する。また、生成部131は、教師データの少なくとも一部、または、畳み込み層への入力データの少なくとも一部のデータに基づいて、学習器の識別対象のサイズに対応したサイズのフィルタを用いてデータ拡張した、拡張データを生成する。
図1の説明に戻って、第1学習部132は、CNNの学習器のうち、畳み込み層学習部である。第1学習部132は、生成部131から入力された畳み込み層に関するパラメータを畳み込み層に設定する。第1学習部132は、生成部131から学習の開始が指示されると、教師データ記憶部121を参照し、教師データを学習する。すなわち、第1学習部132は、教師データと、各パラメータによってデータ拡張された拡張データとを学習する。第1学習部132は、畳み込み層の学習が完了すると、学習中のデータを第2学習部133に出力する。
第2学習部133は、CNNの学習器のうち、全結合層学習部である。第2学習部133は、生成部131から入力された全結合層に関するパラメータを畳み込み層に設定する。第2学習部133は、第1学習部132から学習中のデータが入力されると、当該学習中のデータを学習する。すなわち、第2学習部133は、データ拡張された学習中のデータを学習する。第1学習部132および第2学習部133は、全結合層の学習が完了すると、学習モデルを学習モデル記憶部123に記憶する。すなわち、第1学習部132および第2学習部133は、教師データおよび拡張データを用いて、学習器の学習を行って学習モデルを生成する。
ここで、図9および図10を用いて具体例におけるデータセットおよびパラメータと、テストデータに対する精度について説明する。図9は、具体例におけるパラメータ等の一例を示す図である。図9に示す具体例は、データセットにCIFAR−10を用いる。CIFAR−10は、32×32ピクセルのRGBカラー画像が60000枚あり、10クラス分類問題である。DNN(CNN)の構造は、上述の方法(3)に対応する。ぼかし方(ぼかし具合)は、図9に示すように、「ぼかしなし」、「2x2 average poolingを2回適用」、「3x3 average poolingを2回適用」、「4x4 average poolingを2回適用」の4種類とした。
図10は、具体例における学習後のテストデータに対する精度の一例を示す図である。図10は、学習装置100において、図9に示す4種類のぼかし方のそれぞれに対応する学習モデルを生成し、各学習モデルを用いてテストデータを判別した場合の判別精度を示すものである。図10に示すように、ぼかしなしの場合に比べて、ぼかしありの場合の方が高精度となっている。また、ぼかし方によって判別精度に差が出ることがわかる。図9および図10の場合は、「2x2 average poolingを2回適用」が最も高精度であった。つまり、本具体例では、「2x2 average poolingを2回適用」が、データセット、タスクおよびネットワーク構造と相性がよかったといえる。なお、DNN(CNN)では、1%の精度の違いは十分大きいものとして考えてよい。
次に、実施例の学習装置100の動作について説明する。図11は、実施例の学習処理の一例を示すフローチャートである。
生成部131は、例えば、他の端末から学習用の教師データを受信して取得する。生成部131は、取得した教師データを教師データ記憶部121に記憶する。生成部131は、上述の方法(1)〜(4)に基づいて、ノイズの付加方法を選択する(ステップS1)。
生成部131は、選択したノイズの付加方法に応じて、学習器のパラメータを設定する(ステップS2)。つまり、生成部131は、学習器のパラメータのうち、畳み込み層に関するパラメータを第1学習部132に設定し、全結合層に関するパラメータを第2学習部133に設定する。また、生成部131は、設定するパラメータをパラメータ記憶部122に記憶する。生成部131は、パラメータの設定が完了すると、第1学習部132に学習の開始を指示する。
第1学習部132および第2学習部133は、生成部131から入力された各パラメータを設定する。第1学習部132は、生成部131から学習の開始が指示されると、教師データ記憶部121を参照し、教師データを学習する(ステップS3)。第1学習部132は、畳み込み層の学習が完了すると、学習中のデータを第2学習部133に出力する。第2学習部133は、第1学習部132から学習中のデータが入力されると、当該学習中のデータを学習する。第1学習部132および第2学習部133は、全結合層の学習が完了すると、学習モデルを学習モデル記憶部123に記憶する(ステップS4)。これにより、学習装置100は、畳み込み処理を含む学習器の判別精度を向上できる。すなわち、学習装置100は、DNN(CNN)の畳み込み層に対して、入力全体に対する変更だけでないデータ拡張を行うことができる。また、学習装置100は、DNN(CNN)の畳み込み層に対して、学習に悪影響を与えないノイズを付与することができる。つまり、学習装置100は、過学習がより抑制できる。
このように、学習装置100は、畳み込み層を含む学習器を用いる。つまり、学習装置100は、教師データの少なくとも一部、または、畳み込み層への入力データの少なくとも一部のデータに基づいて、学習器に含まれる、畳み込み層の処理内容に応じたサイズのフィルタを用いてデータ拡張した、拡張データを生成する。また、学習装置100は、教師データおよび拡張データを用いて、学習器の学習を行う。その結果、学習装置100は、畳み込み処理を含む学習器の判別精度を向上できる。
また、学習装置100は、学習器の中間層のデータに対してフィルタを用いてデータ拡張した、拡張データを生成する。その結果、学習装置100は、畳み込み処理を含む学習器の判別精度を向上できる。
また、学習装置100は、学習器の入力層のデータに対してフィルタを用いてデータ拡張した、拡張データを生成する。その結果、学習装置100は、畳み込み処理を含む学習器の判別精度を向上できる。
また、学習装置100は、データをフーリエ変換し、ピークが立った周波数以上の成分を消去することでデータ拡張した、拡張データを生成する。その結果、学習装置100は、認識対象がパターンやテクスチャを持つ場合に判別精度を向上できる。
また、学習装置100は、畳み込み層のスライド窓のサイズに応じたぼかし具合となるノイズをデータに付加することでデータ拡張した、拡張データを生成する。その結果、学習装置100は、畳み込み層の深い層にノイズを付加してデータ拡張できる。
また、学習装置100は、データ拡張が成功した、学習器の複数のパラメータのうち、損失関数の値が最も大きいパラメータを、学習器の学習の進み具合に応じて適用することで、拡張データを生成する。その結果、学習装置100は、学習器の汎化性能を向上できる。
また、学習装置100は、畳み込み層を含む学習器を用いる。つまり、学習装置100は、教師データの少なくとも一部、または、畳み込み層への入力データの少なくとも一部のデータに基づいて、学習器の識別対象のサイズに対応したサイズのフィルタを用いてデータ拡張した、拡張データを生成する。また、学習装置100は、教師データおよび拡張データを用いて、学習器の学習を行う。その結果、学習装置100は、畳み込み処理を含む学習器の判別精度を向上できる。
なお、上記実施例で挙げたニューラルネットワークは、例えば入力層、中間層(隠れ層)、出力層から構成される多段構成であり、各層は複数のノードがエッジで結ばれる構造を有する。各層は、「活性化関数」と呼ばれる関数を持ち、エッジは「重み」を持ち、各ノードの値は、前の層のノードの値、接続エッジの重みの値、層が持つ活性化関数から計算される。なお、計算方法については、公知の様々な手法を採用できる。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第1学習部132と第2学習部133とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
さらに、各装置で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
ところで、上記の各実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の各実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図12は、機械学習プログラムを実行するコンピュータの一例を示す図である。
図12に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置204と、各種装置と接続するためのインタフェース装置205と、他の情報処理装置等と有線または無線により接続するための通信装置206とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM207と、ハードディスク装置208とを有する。また、各装置201〜208は、バス209に接続される。
ハードディスク装置208には、図1に示した生成部131、第1学習部132および第2学習部133の各処理部と同様の機能を有する機械学習プログラムが記憶される。また、ハードディスク装置208には、教師データ記憶部121、パラメータ記憶部122、学習モデル記憶部123、および、機械学習プログラムを実現するための各種データが記憶される。入力装置202は、例えば、コンピュータ200の管理者から操作情報等の各種情報の入力を受け付ける。モニタ203は、例えば、コンピュータ200の管理者に対して表示画面等の各種画面を表示する。インタフェース装置205は、例えば印刷装置等が接続される。通信装置206は、例えば、図1に示した通信部110と同様の機能を有し図示しないネットワークと接続され、他の情報処理装置と各種情報をやりとりする。
CPU201は、ハードディスク装置208に記憶された各プログラムを読み出して、RAM207に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ200を図1に示した生成部131、第1学習部132および第2学習部133として機能させることができる。
なお、上記の機械学習プログラムは、必ずしもハードディスク装置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 第1学習部
133 第2学習部

Claims (16)

  1. 畳み込み層を含む学習器を用いた機械学習プログラムであって、
    教師データの少なくとも一部、または、前記畳み込み層への入力データの少なくとも一部のデータに基づいて、前記学習器に含まれる、前記畳み込み層の処理内容に応じたサイズのフィルタを用いてデータ拡張した、拡張データを生成し、
    前記教師データおよび前記拡張データを用いて、前記学習器の学習を行う、
    処理をコンピュータに実行させる機械学習プログラム。
  2. 前記生成する処理は、前記学習器の中間層のデータに対して前記フィルタを用いてデータ拡張した、前記拡張データを生成する、
    請求項1に記載の機械学習プログラム。
  3. 前記生成する処理は、前記学習器の入力層のデータに対して前記フィルタを用いてデータ拡張した、前記拡張データを生成する、
    請求項1または2に記載の機械学習プログラム。
  4. 前記生成する処理は、前記データをフーリエ変換し、ピークが立った周波数以上の成分を消去することでデータ拡張した、前記拡張データを生成する、
    請求項1〜3のいずれか1つに記載の機械学習プログラム。
  5. 前記生成する処理は、前記畳み込み層のスライド窓のサイズに応じたぼかし具合となるノイズを前記データに付加することでデータ拡張した、前記拡張データを生成する、
    請求項1〜4のいずれか1つに記載の機械学習プログラム。
  6. 前記生成する処理は、データ拡張が成功した、前記学習器の複数のパラメータのうち、損失関数の値が最も大きい前記パラメータを、前記学習器の学習の進み具合に応じて適用することで、前記拡張データを生成する、
    請求項1〜5のいずれか1つに記載の機械学習プログラム。
  7. 畳み込み層を含む学習器を用いた機械学習プログラムであって、
    教師データの少なくとも一部、または、前記畳み込み層への入力データの少なくとも一部のデータに基づいて、前記学習器の識別対象のサイズに対応したサイズのフィルタを用いてデータ拡張した、拡張データを生成し、
    前記教師データおよび前記拡張データを用いて、前記学習器の学習を行う、
    処理をコンピュータに実行させる機械学習プログラム。
  8. 前記生成する処理は、前記学習器の中間層のデータに対して前記フィルタを用いてデータ拡張した、前記拡張データを生成する、
    請求項7に記載の機械学習プログラム。
  9. 前記生成する処理は、前記学習器の入力層のデータに対して前記フィルタを用いてデータ拡張した、前記拡張データを生成する、
    請求項7または8に記載の機械学習プログラム。
  10. 前記生成する処理は、前記データをフーリエ変換し、ピークが立った周波数以上の成分を消去することでデータ拡張した、前記拡張データを生成する、
    請求項7〜9のいずれか1つに記載の機械学習プログラム。
  11. 前記生成する処理は、前記畳み込み層のスライド窓のサイズに応じたぼかし具合となるノイズを前記データに付加することでデータ拡張した、前記拡張データを生成する、
    請求項7〜10のいずれか1つに記載の機械学習プログラム。
  12. 前記生成する処理は、データ拡張が成功した、前記学習器の複数のパラメータのうち、損失関数が最も大きい前記パラメータを、前記学習器の学習の進み具合に応じて適用することで、前記拡張データを生成する、
    請求項7〜11のいずれか1つに記載の機械学習プログラム。
  13. 畳み込み層を含む学習器を用いた機械学習方法であって、
    教師データの少なくとも一部、または、前記畳み込み層への入力データの少なくとも一部のデータに基づいて、前記学習器に含まれる、前記畳み込み層の処理内容に応じたサイズのフィルタを用いてデータ拡張した、拡張データを生成し、
    前記教師データおよび前記拡張データを用いて、前記学習器の学習を行う、
    処理をコンピュータが実行する機械学習方法。
  14. 畳み込み層を含む学習器を用いた機械学習方法であって、
    教師データの少なくとも一部、または、前記畳み込み層への入力データの少なくとも一部のデータに基づいて、前記学習器の識別対象のサイズに対応したサイズのフィルタを用いてデータ拡張した、拡張データを生成し、
    前記教師データおよび前記拡張データを用いて、前記学習器の学習を行う、
    処理をコンピュータが実行する機械学習方法。
  15. 畳み込み層を含む学習器を用いた機械学習装置であって、
    教師データの少なくとも一部、または、前記畳み込み層への入力データの少なくとも一部のデータに基づいて、前記学習器に含まれる、前記畳み込み層の処理内容に応じたサイズのフィルタを用いてデータ拡張した、拡張データを生成する生成部と、
    前記教師データおよび前記拡張データを用いて、前記学習器の学習を行う学習部と、
    を有する機械学習装置。
  16. 畳み込み層を含む学習器を用いた機械学習装置であって、
    教師データの少なくとも一部、または、前記畳み込み層への入力データの少なくとも一部のデータに基づいて、前記学習器の識別対象のサイズに対応したサイズのフィルタを用いてデータ拡張した、拡張データを生成する生成部と、
    前記教師データおよび前記拡張データを用いて、前記学習器の学習を行う学習部と、
    を有する機械学習装置。
JP2018077055A 2018-04-12 2018-04-12 機械学習プログラム、機械学習方法および機械学習装置 Active JP7124404B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018077055A JP7124404B2 (ja) 2018-04-12 2018-04-12 機械学習プログラム、機械学習方法および機械学習装置
US16/364,583 US20190318260A1 (en) 2018-04-12 2019-03-26 Recording medium with machine learning program recorded therein, machine learning method, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018077055A JP7124404B2 (ja) 2018-04-12 2018-04-12 機械学習プログラム、機械学習方法および機械学習装置

Publications (2)

Publication Number Publication Date
JP2019185483A true JP2019185483A (ja) 2019-10-24
JP7124404B2 JP7124404B2 (ja) 2022-08-24

Family

ID=68161684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018077055A Active JP7124404B2 (ja) 2018-04-12 2018-04-12 機械学習プログラム、機械学習方法および機械学習装置

Country Status (2)

Country Link
US (1) US20190318260A1 (ja)
JP (1) JP7124404B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021100818A1 (ja) * 2019-11-19 2021-05-27
JP2021117969A (ja) * 2020-01-23 2021-08-10 同▲済▼大学 ランダムバッチマスクとマルチスケール表現学習を融合した人物再同定方法
KR20210123824A (ko) * 2020-04-06 2021-10-14 인하대학교 산학협력단 딥러닝 성능향상을 위한 주파수 도메인에서의 데이터 증강 방법 및 장치
US11347972B2 (en) 2019-12-27 2022-05-31 Fujitsu Limited Training data generation method and information processing apparatus
WO2022196293A1 (ja) 2021-03-15 2022-09-22 オムロン株式会社 データ生成装置、データ生成方法及びプログラム
JP7472658B2 (ja) 2020-06-02 2024-04-23 富士通株式会社 行動区間推定モデル構築装置、行動区間推定モデル構築方法及び行動区間推定モデル構築プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7279368B2 (ja) * 2019-01-17 2023-05-23 富士通株式会社 学習方法、学習プログラムおよび学習装置
JP7163786B2 (ja) 2019-01-17 2022-11-01 富士通株式会社 学習方法、学習プログラムおよび学習装置
EP3789924A1 (en) * 2019-09-09 2021-03-10 Robert Bosch GmbH Stochastic data augmentation for machine learning
JP2021179833A (ja) * 2020-05-14 2021-11-18 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10420523B2 (en) * 2016-03-21 2019-09-24 The Board Of Trustees Of The Leland Stanford Junior University Adaptive local window-based methods for characterizing features of interest in digital images and systems for practicing same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIANMIN BAO, ET AL.: ""CVAE-GAN: Fine-Grained Image Generation through Asymmetric Training"", 2017 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV), JPN6022003810, 22 October 2017 (2017-10-22), pages 2764 - 2773, ISSN: 0004695271 *
竹木 章人, 外3名: ""情報損失の無い並列的特徴量プーリングを用いた画像認識"", 信学技報, vol. vol.117, no.432, IE2017-112, JPN6022003807, 8 February 2018 (2018-02-08), JP, pages 239 - 244, ISSN: 0004695270 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021100818A1 (ja) * 2019-11-19 2021-05-27
JP7160416B2 (ja) 2019-11-19 2022-10-25 学校法人関西学院 水増しを用いた学習方法及び学習装置
US11347972B2 (en) 2019-12-27 2022-05-31 Fujitsu Limited Training data generation method and information processing apparatus
JP2021117969A (ja) * 2020-01-23 2021-08-10 同▲済▼大学 ランダムバッチマスクとマルチスケール表現学習を融合した人物再同定方法
KR20210123824A (ko) * 2020-04-06 2021-10-14 인하대학교 산학협력단 딥러닝 성능향상을 위한 주파수 도메인에서의 데이터 증강 방법 및 장치
KR102486795B1 (ko) * 2020-04-06 2023-01-10 인하대학교 산학협력단 딥러닝 성능향상을 위한 주파수 도메인에서의 데이터 증강 방법 및 장치
JP7472658B2 (ja) 2020-06-02 2024-04-23 富士通株式会社 行動区間推定モデル構築装置、行動区間推定モデル構築方法及び行動区間推定モデル構築プログラム
WO2022196293A1 (ja) 2021-03-15 2022-09-22 オムロン株式会社 データ生成装置、データ生成方法及びプログラム

Also Published As

Publication number Publication date
US20190318260A1 (en) 2019-10-17
JP7124404B2 (ja) 2022-08-24

Similar Documents

Publication Publication Date Title
JP7124404B2 (ja) 機械学習プログラム、機械学習方法および機械学習装置
Schuler et al. A machine learning approach for non-blind image deconvolution
JP6441980B2 (ja) 教師画像を生成する方法、コンピュータおよびプログラム
CN108805023B (zh) 一种图像检测方法、装置、计算机设备及存储介质
JP4746050B2 (ja) ビデオデータを処理するための方法及びシステム
US9697583B2 (en) Image processing apparatus, image processing method, and computer-readable recording medium
EP3963516B1 (en) Teaching gan (generative adversarial networks) to generate per-pixel annotation
JP2003331285A (ja) パラメータに基づいたシャープニングおよびスムージングを行う方法
JP7362297B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6013178B2 (ja) 画像処理装置および画像処理方法
JP2010511326A (ja) デジタル画像のダイナミックレンジを増強するための装置及び方法
US20150063697A1 (en) Method and apparatus for segmenting object in image
US10936938B2 (en) Method for visualizing neural network models
JP2017004350A (ja) 画像処理装置、画像処理方法、及びプログラム
KR20200015095A (ko) 영상 처리 장치 및 그 동작방법
JP5617841B2 (ja) 画像処理装置、画像処理方法および画像処理用プログラム
JP7336033B2 (ja) データ増強基盤事物分析モデル学習装置及び方法
JP7362924B2 (ja) データ増強基盤空間分析モデル学習装置及び方法
US11580620B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable medium
JP6604131B2 (ja) 電子機器および情報表示プログラム
TWI733341B (zh) 用於圖像放大與增強的方法與裝置
WO2020166596A1 (ja) 画像処理システム及びプログラム
JP2018190394A (ja) 監視ビデオにおけるデータの拡張方法及び装置
JP7342517B2 (ja) 画像処理装置、方法、及びプログラム
Webb et al. Exploring the deep feature space of a cell classification neural network

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: 20211215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220329

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: 20220712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220725

R150 Certificate of patent or registration of utility model

Ref document number: 7124404

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150