JP7326867B2 - 情報処理装置、情報処理プログラム及び情報処理方法 - Google Patents

情報処理装置、情報処理プログラム及び情報処理方法 Download PDF

Info

Publication number
JP7326867B2
JP7326867B2 JP2019095468A JP2019095468A JP7326867B2 JP 7326867 B2 JP7326867 B2 JP 7326867B2 JP 2019095468 A JP2019095468 A JP 2019095468A JP 2019095468 A JP2019095468 A JP 2019095468A JP 7326867 B2 JP7326867 B2 JP 7326867B2
Authority
JP
Japan
Prior art keywords
learning
mini
batch
data
unit
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.)
Active
Application number
JP2019095468A
Other languages
English (en)
Other versions
JP2020190895A (ja
Inventor
晶大 田渕
明彦 笠置
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 JP2019095468A priority Critical patent/JP7326867B2/ja
Priority to EP20170677.7A priority patent/EP3742353A1/en
Priority to US16/861,273 priority patent/US11941505B2/en
Priority to CN202010396902.7A priority patent/CN111985606B/zh
Publication of JP2020190895A publication Critical patent/JP2020190895A/ja
Application granted granted Critical
Publication of JP7326867B2 publication Critical patent/JP7326867B2/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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、情報処理装置、情報処理プログラム及び情報処理方法に関する。
一般に、DNN(Deep Neural Network)を用いた学習処理では、汎化性能の高い適切な重みパラメータを算出するために、学習用データをランダムに変形してミニバッチを生成する、いわゆるデータ拡張処理が行われる。
特開2017-97585号公報 特開2017-16414号公報
しかしながら、データ拡張処理により生成されるミニバッチを用いた場合、データ拡張処理によらずに生成されるミニバッチを用いた場合と比較して、学習処理の際にバッチノーマライゼーション部で算出される推論用パラメータの偏りが大きくなる。この結果、学習結果(学習済みのモデル)の性能(推論精度)が低下する場合がある。
一つの側面では、学習結果の性能を向上させることを目的としている。
一態様によれば、ニューラルネットワークを用いて学習処理を行う情報処理装置であって、
学習用データに対してデータ拡張処理を行い第1のミニバッチを生成する処理と、該学習用データに対してデータ拡張処理を行わずに第2のミニバッチを生成する処理とを実行する生成部と、
前記学習処理の際、前記第1のミニバッチを用いて学習を行った後に、各ネットワーク層の重みパラメータを固定したうえで、前記第2のミニバッチを用いて学習を行う学習部とを有する。
学習結果の性能を向上させることができる。
情報処理装置の機能構成の一例を示す第1の図である。 情報処理装置のハードウェア構成の一例を示す図である。 情報処理装置の拡張部の機能構成の一例を示す図である。 学習処理時のミニバッチの構成例を示す図である。 情報処理装置の学習部の機能構成の一例を示す第1の図である。 情報処理装置による学習処理の流れを示す第1のフローチャートである。 情報処理装置の学習部の機能構成の一例を示す第2の図である。 情報処理装置による学習処理の流れを示す第2のフローチャートである。 情報処理装置の機能構成の一例を示す第2の図である。 情報処理装置の更新部及び推論部の機能構成の一例を示す図である。 情報処理装置による推論処理の流れを示すフローチャートである。
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
[第1の実施形態]
<情報処理装置の機能構成>
はじめに、ニューラルネットワークの一例であるDNN(Deep Neural Network)を用いて学習処理を行う情報処理装置の機能構成について説明する。図1は、情報処理装置の機能構成の一例を示す第1の図である。情報処理装置100には、情報処理プログラムがインストールされており、当該プログラムが実行されることで、情報処理装置100は、拡張部110、学習部120、推論部130として機能する。
拡張部110は生成部の一例である。拡張部110は、学習用データ格納部140に格納された学習用データを読み出し、読み出した学習用データに対して、データ拡張処理を行いミニバッチ(第1のミニバッチ)を生成する第1のデータ処理を実行する。
また、拡張部110は、学習用データ格納部140に格納された学習用データを読み出し、読み出した学習用データに対して、データ拡張を行わずにミニバッチ(第2のミニバッチ)を生成する第2のデータ処理を実行する。
つまり、拡張部110は、学習用データに対してデータ拡張処理を行い第1のミニバッチを生成する第1のデータ処理と、学習用データに対してデータ拡張処理を行わずに第2のミニバッチを生成する第2のデータ処理とを実行する。
学習部120は、DNNを用いて学習処理を行う。具体的には、学習部120は、はじめに、第1のミニバッチを用いて学習を行い、所定のepoch数分の学習が完了すると、第2のミニバッチを用いて学習を行う。
このように、はじめに、第1のミニバッチを用いて学習を行うことで、学習部120では、汎化性能の高い適切な重みパラメータを算出することできる。
一方で、所定のepoch数分の学習が完了した後は、第2のミニバッチを用いて学習を行うことで、学習部120では、バッチノーマライゼーション部にて、偏りの少ない適切な推論用パラメータを算出することできる。バッチノーマライゼーション部にて算出される推論用パラメータは、直近のミニバッチ(ここでは、偏りの少ない第2のミニバッチ)に強く依存するからである。
つまり、学習部120では、汎化性能の高い適切な重みパラメータと、偏りの少ない適切な推論用パラメータとを算出することができる。この結果、第1の実施形態によれば、学習処理の際に第1のミニバッチのみを用いて学習を行った場合と比較して、学習結果(学習済みのモデル)の性能(推論精度)を向上させることができる。
推論部130は、推論用データ格納部150に格納された推論用データを読み出し、学習部120による学習処理の結果得られた学習結果(学習済みのモデル)に入力することで、推論結果を出力する。
<情報処理装置のハードウェア構成>
次に、情報処理装置100のハードウェア構成について説明する。図2は、情報処理装置のハードウェア構成の一例を示す図である。図2に示すように、情報処理装置100は、CPU(Central Processing Unit)201、GPU(Graphics Processing Unit)202を有する。また、情報処理装置100は、ROM(Read Only Memory)203、RAM(Random Access Memory)204を有する。なお、CPU201、GPU202、ROM203、RAM204は、いわゆるコンピュータを形成する。
また、情報処理装置100は、補助記憶装置205、表示装置206、操作装置207、ドライブ装置208を有する。なお、情報処理装置100の各ハードウェアは、バス209を介して相互に接続されている。
CPU201は、補助記憶装置205にインストールされている各種プログラム(例えば、情報処理プログラム等)を実行する演算デバイスである。
GPU202は、画像処理用の演算デバイスであり、CPU201により各種プログラムが実行される際に、画像データである学習用データまたは推論用データについて、並列処理による高速演算を実行する。なお、図2の例では、説明の便宜上、情報処理装置100が1つのGPUを有する場合について示しているが、情報処理装置100が有するGPUの数は1つに限定されない。
ROM203は、不揮発性メモリである。ROM203は、補助記憶装置205にインストールされている各種プログラムをCPU201が実行するために必要な各種プログラム、データ等を格納する主記憶デバイスとして機能する。具体的には、ROM203はBIOS(Basic Input/Output System)やEFI(Extensible Firmware Interface)等のブートプログラム等を格納する、主記憶デバイスとして機能する。
RAM204は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の揮発性メモリである。RAM204は、補助記憶装置205にインストールされている各種プログラムがCPU201によって実行される際に展開される作業領域を提供する、主記憶デバイスとして機能する。
補助記憶装置205は、各種プログラムや、各種プログラムが実行される際に用いられるデータを格納する補助記憶デバイスである。例えば、学習用データ格納部140及び推論用データ格納部150は、補助記憶装置205において実現される。
表示装置206は、情報処理装置100の内部状態等を表示する表示デバイスである。操作装置207は、情報処理装置100のユーザが情報処理装置100に対して各種指示を入力する際に用いる入力デバイスである。
ドライブ装置208は記録媒体210をセットするためのデバイスである。ここでいう記録媒体210には、CD-ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体210には、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
なお、補助記憶装置205にインストールされる各種プログラムは、例えば、配布された記録媒体210がドライブ装置208にセットされ、該記録媒体210に記録された各種プログラムがドライブ装置208により読み出されることでインストールされる。あるいは、補助記憶装置205にインストールされる各種プログラムは、不図示のネットワークよりダウンロードされることでインストールされてもよい。
<情報処理装置の拡張部の機能構成>
次に、情報処理装置100の拡張部110の機能構成について説明する。図3は、情報処理装置の拡張部の機能構成の一例を示す図である。
図3に示すように、拡張部110は、学習用データ格納部140より学習用データを読み出し、第1のデータ処理と第2のデータ処理とを行う。なお、図3の例では、学習用データ格納部140より読み出す学習用データが同じサイズの場合を示しているが、実際には、様々なサイズのデータが含まれているものとする。
拡張部110では、第1のデータ処理として、
・読み出した学習用データそれぞれについて、サイズが5%~90%の範囲、かつ、アスペクト比が0.667~1.5の範囲で、領域を切り出し、
・切り出した領域を224×224[画素]にリサイズし、
所定数のまとまりであるミニバッチを複数含む第1のミニバッチとして出力する(図3の例では、N個のミニバッチを含む第1のミニバッチとして出力した様子を示している)。
また、拡張部110では、第2のデータ処理として、
・読み出した学習用データそれぞれについて、短辺が256[画素]となるようにリサイズし、
・リサイズした学習用データそれぞれについて、中心領域の224×224[画素]を切り出し、
所定数のまとまりであるミニバッチを複数含む第2のミニバッチとして出力する(図3の例では、N個のミニバッチを含む第2のミニバッチとして出力した様子を示している)。
<学習処理時のミニバッチの構成例>
次に、拡張部110において第1のデータ処理により生成された第1のミニバッチの学習処理時の構成例と、第2のデータ処理により生成された第2のミニバッチの学習処理時の構成例とについて説明する。
図4は、学習処理時のミニバッチの構成例を示す図である。図4に示すように、学習処理の際、学習部120では、第1のデータ処理により生成された第1のミニバッチのうち、1番目の第1のミニバッチ(“ミニバッチ1”)を用いて1回目の学習を行う。以降、学習部120では、N番目の第1のミニバッチ(“ミニバッチN”)まで、N回の学習を行う。これにより、学習部120では、1epoch分の学習が完了する。
なお、本実施形態における学習処理では、100epoch分の学習を行うものとする。学習部120では、そのうち、Xepoch目(例えば、90≦X≦99)までは、第1のデータ処理により生成された第1のミニバッチを用いて学習を行う(epochごとに第1のデータ処理を行い、新たに第1のミニバッチを生成して学習を行うものとする)。
一方、学習部120では、X+1epoch目~100epoch目までは、第2のデータ処理により生成された第2のミニバッチを用いて学習を行う。
<学習部の機能構成>
次に、情報処理装置100の学習部120の機能構成について説明する。図5は、情報処理装置の学習部の機能構成の一例を示す第1の図である。図5に示すように、学習部120は、入力部と、第1層から第M層までの各ネットワーク層(DNNの各ネットワーク層)と、比較部とを有する。また、第1層から第M層までの各ネットワーク層は、例えば、畳み込み部と、バッチノーマライゼーション部(BN部)と、活性化部と、プーリング部とを有する(図5下側参照)。
図5に示す機能構成のもと、学習部120では、1epoch目からXepoch目までは、第1のミニバッチを入力部に入力する。これにより、第1層には、1番目からN番目までの各ミニバッチが、順次、入力されるとともに、比較部には、対応する正解データが通知される。
第1層から第M層までの各ネットワーク層では、前回の学習によって更新された重みパラメータを用いて、入力部(または前層のネットワーク層)から出力されたデータを演算し、次層のネットワーク層に出力する。また、第M層から出力されたデータは、認識結果として、比較部に出力される。
比較部では、第M層から出力された認識結果と、入力部から通知された正解データとを比較し、両者の差分値を算出する。なお、比較部により算出された差分値は逆伝播され、第1層から第M層までの各ネットワーク層の重みパラメータを更新する。
ここで、各ネットワーク層に含まれる各部(図5の下側参照)のうち、畳み込み部、活性化部、プーリング部の処理についての詳細な説明は省略し、ここでは、BN部の処理について詳細な説明を行う。
BN部は、入力された各ミニバッチの平均μと分散σとを用いて、入力された各ミニバッチを正規化し、更に、アフィン変換を行う(下式参照。ただし、xは各ミニバッチに含まれる各データを指すものとする)。
Figure 0007326867000001
なお、上式において、学習パラメータγ及びβは、各ミニバッチを用いて学習を行う際に、重みパラメータと同様に、差分値の逆伝播に伴って更新される。そして、BN部では、下式に基づいて、推論用パラメータ(μの移動平均値及びσの移動平均値)を算出する。
Figure 0007326867000002
一方、図5に示す機能構成のもと、学習部120では、X+1epoch目から100epoch目までは、第2のミニバッチを入力部に入力する。これにより、第1層には、1番目からN番目までの各ミニバッチが、順次、入力されるとともに、比較部には、対応する正解データが、順次、通知される。
第1層から第M層までの各ネットワーク層では、前回の学習によって更新された重みパラメータを用いて、入力部(または前層のネットワーク層)から出力されたデータを演算し、次層のネットワーク層に出力する。また、第M層から出力されたデータは、認識結果として、比較部に入力される。
比較部では、第M層から出力された認識結果と、入力部から通知された正解データとを比較し、両者の差分値を算出する。なお、比較部により算出された差分値は逆伝播され、第1層から第M層までの各ネットワーク層の重みパラメータを更新する。
ここで、X+1epoch目以降の各学習を行う時点では、通常、学習率が低下しており、重みパラメータ更新時の更新量はわずかである。一方で、BN部で算出される推論用パラメータは、学習処理が終了する前の直近に入力されるミニバッチ(つまり、X+1epoch目から100epoch目までの第2のミニバッチ)により大きく変化する。
このように、学習部120では、第1のミニバッチを用いて学習を行い、その後、第2のミニバッチを用いて学習を行う。
これにより、学習部120では、汎化性能の高い適切な重みパラメータと、偏りの少ない適切な推論用パラメータとを算出することができる。この結果、第1の実施形態によれば、学習処理の際に第1のミニバッチのみを用いて学習を行った場合と比較して、学習結果(学習済みのモデル)の性能(推論精度)を向上させることができる。
<学習処理の流れ>
次に、情報処理装置100による学習処理の流れについて説明する。図6は、情報処理装置による学習処理の流れを示す第1のフローチャートである。図6に示すように、ステップS601において、拡張部110は、学習用データ格納部140より学習用データを読み出す。
ステップS602において、拡張部110は、読み出した学習用データに対して、データ拡張処理を行い第1のミニバッチを生成する。ステップS603において、学習部120は、第1のミニバッチを用いた学習を開始する。
ステップS604において、学習部120は、Xepoch目の学習が完了したか否かを判定する。ステップS604において、Xepoch目の学習が完了していないと判定した場合には(ステップS604においてNoの場合には)、再びステップS602のデータ拡張処理を行い、第1のミニバッチを用いた学習を継続する。一方、ステップS604において、Xepoch目の学習が完了したと判定した場合には(ステップS604においてYesの場合には)、ステップS605に進む。
ステップS605において、拡張部110は、読み出した学習用データに対してデータ拡張処理を行わずに第2のミニバッチを生成する。ステップS606において、学習部120は、第2のミニバッチを用いた学習を開始する。
ステップS607において、学習部120は、学習処理を終了するか否かを判定する。ステップS607において、学習処理を終了しないと判定した場合には(ステップS607においてNoの場合には)、第2のミニバッチを用いた学習を継続する。一方、ステップS607において、学習処理を終了すると判定した場合には(ステップS607においてYesの場合には)、学習処理を終了する。
以上の説明から明らかなように、第1の実施形態に係る情報処理装置100では、拡張部110が、学習用データに対してデータ拡張処理を行い第1のミニバッチを生成する処理と、データ拡張処理を行わずに第2のミニバッチを生成する処理とを実行する。また、学習部が、学習処理の際、第1のミニバッチを用いて学習を行った後に、第2のミニバッチを用いて学習を行う。
これにより、第1の実施形態に係る情報処理装置100では、汎化性能の高い適切な重みパラメータと、偏りの少ない適切な推論用パラメータとを算出することができる。この結果、第1の実施形態に係る情報処理装置100によれば、学習結果の性能を向上させることができる。
[第2の実施形態]
上記第1の実施形態では、第2のミニバッチを用いて学習を行う際、学習パラメータに加え、重みパラメータも更新するものとして説明した。これに対して、第2の実施形態では、第2のミニバッチを用いて学習を行う際、学習率をゼロに設定することで、重みパラメータを固定し、学習パラメータのみを更新する。以下、第2の実施形態について、上記第1の実施形態との相違点を中心に説明する。
<学習部の機能構成>
はじめに、第2の実施形態に係る情報処理装置100の学習部120の機能構成について説明する。図7は、情報処理装置の学習部の機能構成の一例を示す第2の図である。図5との相違点は、X+1epoch目から100epoch目まで、第2のミニバッチを用いて学習を行うにあたり、学習率をゼロに設定する点である。
これにより、第M層から出力された認識結果と、入力部から通知された正解データとの差分値が逆伝播された場合であっても、第1層から第M層までの各ネットワーク層の重みパラメータは更新量がゼロとなり、固定される。
一方で、BN部で更新される学習パラメータは、学習率の設定に関わらず、学習処理が終了する前の直近に入力されるミニバッチ(つまり、X+1epoch目から100epoch目までの第2のミニバッチ)により大きく変化する。
このように、学習部120では、第1のミニバッチを用いて学習を行うことで算出した、汎化性能の高い適切な重みパラメータを維持したまま、学習を継続する。また、学習部120では、第2のミニバッチを用いて学習を行うことで、偏りの少ない適切な推論用パラメータを算出する。
これにより、第2の実施形態の場合、上記第1の実施形態と比較して、重みパラメータを更新する必要がないため、逆伝播の処理が不要になる。この結果、第2の実施形態によれば、学習速度を向上させることができる。
<学習処理の流れ>
次に、第2の実施形態に係る情報処理装置100による学習処理の流れについて説明する。図8は、情報処理装置による学習処理の流れを示す第2のフローチャートである。図6に示す学習処理との相違点は、ステップS801である。
ステップS801において、学習部120は、学習率をゼロに設定することで、第2のミニバッチを用いて学習を行う際の重みパラメータを固定する。
以上の説明から明らかなように、第2の実施形態に係る情報処理装置100では、拡張部110が、学習用データに対してデータ拡張処理を行い第1のミニバッチを生成する処理と、データ拡張処理を行わずに第2のミニバッチを生成する処理とを実行する。また、学習部が、第1のミニバッチを用いて学習を行った後に、重みパラメータを固定して、第2のミニバッチを用いて学習を行う。
これにより、第2の実施形態に係る情報処理装置100によれば、汎化性能の高い適切な重みパラメータと、偏りの少ない適切な推論用パラメータとを算出することができる。この結果、第2の実施形態に係る情報処理装置100によれば、上記第1の実施形態が奏する効果に加えて、学習速度を向上させることができる。
[第3の実施形態]
上記第1及び第2の実施形態では、学習処理の際に、X+1epochから100epoch目に、第2のミニバッチを用いて学習を行うことで、偏りの少ない適切な推論用パラメータを算出するものとして説明した。
これに対して、第3の実施形態では、更に、推論処理の際に、推論用データを用いて、推論用パラメータを更新する。これにより、第3の実施形態によれば、学習用データと推論用データとで、内容が大きく変わった場合であっても、学習結果の性能(推論精度)が低下するのを抑えることができる。
以下、第3の実施形態について、上記第1及び第2の実施形態との相違点を中心に説明する。
<情報処理装置の機能構成>
はじめに、第3の実施形態に係る情報処理装置の機能構成について説明する。図9は、情報処理装置の機能構成の一例を示す第2の図である。図1を用いて説明した情報処理装置100との相違点は、図9に示す情報処理装置900の場合、更新部910を有する点である。
更新部910は、例えば、学習処理が完了し、かつ、学習率をゼロに設定した学習部120と同様の機構を含んでいる。これにより、更新部910は、推論用データ格納部150に格納された所定数の推論用データを読み出した際、推論用パラメータ(μの移動平均値及びσの移動平均値)を算出する。また、更新部910は、算出した推論用パラメータを、推論部130に含まれる各層のBN部に設定する(図10の例は、第1層のBN部に設定した様子を示している)。これにより、推論部130は、推論用データに基づいて算出された推論用パラメータが各層のBN部に設定された状態で推論用データを入力し、推論結果を出力することができる。
<更新部及び推論部の機能構成>
次に、第3の実施形態に係る情報処理装置900の更新部910及び推論部130の機能構成について説明する。図10は、情報処理装置の更新部及び推論部の機能構成の一例を示す図である。
図10に示すように、更新部910は、推論用データ格納部150より、所定数の推論用データを読み出し、推論用パラメータ(μの移動平均値及びσの移動平均値)を算出する。また、更新部910は、算出した推論用パラメータを、推論部130に含まれる各層のBN部に設定する。
<推論処理の流れ>
次に、第3の実施形態に係る情報処理装置900による推論処理の流れについて説明する。図11は、情報処理装置による推論処理の流れを示すフローチャートである。
ステップS1101において、更新部910は、推論用データ格納部150より所定数の推論用データを読み出す。
ステップS1102において、更新部910は、読み出した所定数の推論用データを解析し、学習用データと比較して、データ内容が大きく変更されているか否かを判定する。ステップS1102において、データ内容が大きく変更されていないと判定した場合には(ステップS1102においてNoの場合には)、ステップS1105に進む。
一方、ステップS1102において、データ内容が大きく変更されていると判定した場合には(ステップS1102においてYesの場合には)、ステップS1103に進む。
ステップS1103において、更新部910は、読み出した所定数の推論用データに基づいて、推論用パラメータを算出する。
ステップS1104において、更新部910は、算出した推論用パラメータについて、推論部130に含まれる各層のBN部に設定する。
ステップS1105において、推論部130は、読み出した推論用データを用いて推論処理を行う。また、推論部130は、推論結果を出力し、推論処理を終了する。
以上の説明から明らかなように、第3の実施形態に係る情報処理装置900では、推論処理の際、更新部910が、推論用データを用いて推論用パラメータを算出し、BN部に設定する。
これにより、第3の実施形態に係る情報処理装置900によれば、汎化性能の高い適切な重みパラメータと、推論用データに則した適切な推論用パラメータとを用いて、推論処理を行うことができる。この結果、第3の実施形態に係る情報処理装置900によれば、学習結果の性能(推論精度)を向上させることができる。
[その他の実施形態]
上記第1及び第2の実施形態では、データ拡張処理の処理内容を図3に例示したが、データ拡張処理の処理内容はこれに限定されず、学習用データをランダムに変形する処理内容であれば、他の処理内容であってもよい。
例えば、第1のデータ処理により生成される第1のミニバッチの分散σの方が、第2のデータ処理により生成される第2のミニバッチの分散σより大きくなるように、データ拡張処理を行ってもよい。
また、上記第1及び第2の実施形態では、説明の便宜上、情報処理装置100が、1つのGPU202を有する場合について説明した。一方で、情報処理装置100は、複数のGPUを有していてもよい。この場合、例えば、各GPUにおいて実現されるBN部が推論用パラメータ(μの移動平均値及びσの移動平均値)を算出するにあたっては、各GPUにおいて実現されるBN部が算出した推論用パラメータの平均値を、各BN部に設定するようにしてもよい。
また、上記第1及び第2の実施形態では、Xepoch目の学習が完了したと判定した場合に、第1のミニバッチを用いた学習から第2のミニバッチを用いた学習へと切り替えるものとして説明した。しかしながら、第1のミニバッチを用いた学習から第2のミニバッチを用いた学習へと切り替えるタイミングはこれに限定されない。例えば、学習率が所定の値に到達した場合に、第1のミニバッチを用いた学習から第2のミニバッチを用いた学習へと切り替えるようにしてもよい。
また、上記第1及び第2の実施形態では、100epoch分の学習を行うものとしたが、epoch数は100に限定されない。
また、上記第2の実施形態では、データ内容が大きく変更されていると判定した場合に、推論用データに基づいて推論用パラメータを算出するものとして説明した。しかしながら、推論用データに基づいて推論用パラメータを算出するか否かの判定はこれに限定されない。推論用データに基づいて算出される平均μ、分散σが所定の閾値以上変化した場合に、推論用データに基づいて推論用パラメータを算出するようにしてもよい。
また、上記各実施形態では、拡張部、学習部、更新部、推論部が、1台の情報処理装置100(または、900)において実現されるものとして説明した。しかしながら、これらの各部は、複数台の情報処理装置において実現されてもよい。
なお、開示の技術では、以下に記載する付記のような形態が考えられる。
(付記1)
ニューラルネットワークを用いて学習処理を行う情報処理装置であって、
学習用データに対してデータ拡張処理を行い第1のミニバッチを生成する処理と、該学習用データに対してデータ拡張処理を行わずに第2のミニバッチを生成する処理とを実行する生成部と、
前記学習処理の際、前記第1のミニバッチを用いて学習を行った後に、前記第2のミニバッチを用いて学習を行う学習部と
を有する情報処理装置。
(付記2)
前記学習部は、前記学習処理の際、前記第1のミニバッチを用いて行う学習が、予め定められたepoch数に到達した場合に、前記第2のミニバッチを用いて学習を行う、付記1に記載の情報処理装置。
(付記3)
前記学習部は、前記学習処理の際、前記第1のミニバッチを用いて行う学習が、予め定められた学習率に到達した場合に、前記第2のミニバッチを用いて学習を行う、付記1に記載の情報処理装置。
(付記4)
前記学習部は、前記学習処理の際、前記第1のミニバッチを用いて学習を行った後に、前記学習部に含まれる各ネットワーク層の重みパラメータを固定したうえで、前記第2のミニバッチを用いて学習を行う、付記1に記載の情報処理装置。
(付記5)
前記学習処理により得られた学習結果に、推論用データを入力することで推論処理を行う推論部と、
前記推論用データを入力する際、前記推論用データを用いて推論用パラメータを算出し、前記推論部に設定する更新部と
を更に有する、付記1に記載の情報処理装置。
(付記6)
ニューラルネットワークを用いて学習処理を行うコンピュータに、
学習用データに対してデータ拡張処理を行い第1のミニバッチを生成する処理と、該学習用データに対してデータ拡張処理を行わずに第2のミニバッチを生成する処理とを実行し、
前記学習処理の際、前記第1のミニバッチを用いて学習を行った後に、前記第2のミニバッチを用いて学習を行う、
処理を実行させる情報処理プログラム。
(付記7)
ニューラルネットワークを用いて学習処理を行うコンピュータが、
学習用データに対してデータ拡張処理を行い第1のミニバッチを生成する処理と、該学習用データに対してデータ拡張処理を行わずに第2のミニバッチを生成する処理とを実行し、
前記学習処理の際、前記第1のミニバッチを用いて学習を行った後に、前記第2のミニバッチを用いて学習を行う、
処理を実行する情報処理方法。
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
100 :情報処理装置
110 :拡張部
120 :学習部
130 :推論部
900 :情報処理装置
910 :更新部

Claims (6)

  1. ニューラルネットワークを用いて学習処理を行う情報処理装置であって、
    学習用データに対してデータ拡張処理を行い第1のミニバッチを生成する処理と、該学習用データに対してデータ拡張処理を行わずに第2のミニバッチを生成する処理とを実行する生成部と、
    前記学習処理の際、前記第1のミニバッチを用いて学習を行った後に、各ネットワーク層の重みパラメータを固定したうえで、前記第2のミニバッチを用いて学習を行う学習部と
    を有する情報処理装置。
  2. 前記学習部は、前記学習処理の際、前記第1のミニバッチを用いて行う学習が、予め定められたepoch数に到達した場合に、前記第2のミニバッチを用いて学習を行う、請求項1に記載の情報処理装置。
  3. 前記学習部は、前記学習処理の際、前記第1のミニバッチを用いて行う学習が、予め定められた学習率に到達した場合に、前記第2のミニバッチを用いて学習を行う、請求項1に記載の情報処理装置。
  4. 前記学習処理により得られた学習結果に、推論用データを入力することで推論処理を行う推論部と、
    前記推論用データを入力する際、前記推論用データを用いて推論用パラメータを算出し、前記推論部に設定する更新部と
    を更に有する、請求項1に記載の情報処理装置。
  5. ニューラルネットワークを用いて学習処理を行うコンピュータに、
    学習用データに対してデータ拡張処理を行い第1のミニバッチを生成、該学習用データに対してデータ拡張処理を行わずに第2のミニバッチを生成
    前記学習処理の際、前記第1のミニバッチを用いて学習を行った後に、各ネットワーク層の重みパラメータを固定したうえで、前記第2のミニバッチを用いて学習を行う、
    処理を実行させる情報処理プログラム。
  6. ニューラルネットワークを用いて学習処理を行うコンピュータが、
    学習用データに対してデータ拡張処理を行い第1のミニバッチを生成、該学習用データに対してデータ拡張処理を行わずに第2のミニバッチを生成
    前記学習処理の際、前記第1のミニバッチを用いて学習を行った後に、各ネットワーク層の重みパラメータを固定したうえで、前記第2のミニバッチを用いて学習を行う、
    処理を実行する情報処理方法。
JP2019095468A 2019-05-21 2019-05-21 情報処理装置、情報処理プログラム及び情報処理方法 Active JP7326867B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019095468A JP7326867B2 (ja) 2019-05-21 2019-05-21 情報処理装置、情報処理プログラム及び情報処理方法
EP20170677.7A EP3742353A1 (en) 2019-05-21 2020-04-21 Information processing apparatus, information processing program, and information processing method
US16/861,273 US11941505B2 (en) 2019-05-21 2020-04-29 Information processing apparatus of controlling training of neural network, non-transitory computer-readable storage medium for storing information processing program of controlling training of neural network, and information processing method of controlling training of neural network
CN202010396902.7A CN111985606B (zh) 2019-05-21 2020-05-12 信息处理设备、计算机可读存储介质以及信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019095468A JP7326867B2 (ja) 2019-05-21 2019-05-21 情報処理装置、情報処理プログラム及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2020190895A JP2020190895A (ja) 2020-11-26
JP7326867B2 true JP7326867B2 (ja) 2023-08-16

Family

ID=70390912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019095468A Active JP7326867B2 (ja) 2019-05-21 2019-05-21 情報処理装置、情報処理プログラム及び情報処理方法

Country Status (4)

Country Link
US (1) US11941505B2 (ja)
EP (1) EP3742353A1 (ja)
JP (1) JP7326867B2 (ja)
CN (1) CN111985606B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7021132B2 (ja) * 2019-01-22 2022-02-16 株式会社東芝 学習装置、学習方法およびプログラム
KR102265947B1 (ko) * 2020-11-23 2021-06-17 주식회사 엠로 기계 학습 기반 정보 제공 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170206457A1 (en) 2016-01-20 2017-07-20 Adobe Systems Incorporated Digital Content Interaction Prediction and Training that Addresses Imbalanced Classes
JP2019502970A (ja) 2015-10-20 2019-01-31 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 抵抗型処理ユニット
JP2019053383A (ja) 2017-09-13 2019-04-04 株式会社豊田中央研究所 ニューラルネットワーク装置及びその製造方法
WO2019079198A1 (en) 2017-10-16 2019-04-25 Illumina, Inc. CLASSIFICATION OF A CONNECTION SITE BASED ON DEEP LEARNING
US20220036548A1 (en) 2019-04-15 2022-02-03 Genentech, Inc. Ovarian toxicity assessment in histopathological images using deep learning

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110055131A1 (en) * 2009-08-28 2011-03-03 Hung-Han Chen Method of universal computing device
US9607233B2 (en) * 2012-04-20 2017-03-28 Applied Materials Israel Ltd. Classifier readiness and maintenance in automatic defect classification
US11017311B2 (en) * 2014-06-30 2021-05-25 Hewlett Packard Enterprise Development Lp Dataset augmentation based on occlusion and inpainting
JP6620439B2 (ja) 2015-07-01 2019-12-18 株式会社リコー 学習方法、プログラム及び学習装置
JP2017097585A (ja) 2015-11-24 2017-06-01 株式会社リコー 学習装置、プログラム及び学習方法
CN105825228B (zh) * 2016-03-14 2019-04-30 百度在线网络技术(北京)有限公司 图像识别方法及装置
US10915808B2 (en) * 2016-07-05 2021-02-09 International Business Machines Corporation Neural network for chemical compounds
CN108052862B (zh) * 2017-11-09 2019-12-06 北京达佳互联信息技术有限公司 年龄预估方法和装置
WO2019221654A1 (en) * 2018-05-17 2019-11-21 Tobii Ab Autoencoding generative adversarial network for augmenting training data usable to train predictive models
KR102641116B1 (ko) * 2018-08-23 2024-02-27 삼성전자주식회사 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치
US20200218982A1 (en) * 2019-01-04 2020-07-09 Microsoft Technology Licensing, Llc Dithered quantization of parameters during training with a machine learning tool

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019502970A (ja) 2015-10-20 2019-01-31 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 抵抗型処理ユニット
US20170206457A1 (en) 2016-01-20 2017-07-20 Adobe Systems Incorporated Digital Content Interaction Prediction and Training that Addresses Imbalanced Classes
JP2019053383A (ja) 2017-09-13 2019-04-04 株式会社豊田中央研究所 ニューラルネットワーク装置及びその製造方法
WO2019079198A1 (en) 2017-10-16 2019-04-25 Illumina, Inc. CLASSIFICATION OF A CONNECTION SITE BASED ON DEEP LEARNING
US20220036548A1 (en) 2019-04-15 2022-02-03 Genentech, Inc. Ovarian toxicity assessment in histopathological images using deep learning

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAYAMA, Masahiro,Methodology for Constructing Optimal Multi-layered Neural Networks,Computer Science Department Technical Report[online],University of California,1991年09月,[retrieved on 2022.12.27], Retrieved from the Internet: <URL: https://ftp.cs.ucla.edu/tech-report/1991-reports/910068.pdf>

Also Published As

Publication number Publication date
US20200372321A1 (en) 2020-11-26
EP3742353A1 (en) 2020-11-25
CN111985606A (zh) 2020-11-24
US11941505B2 (en) 2024-03-26
JP2020190895A (ja) 2020-11-26
CN111985606B (zh) 2024-05-07

Similar Documents

Publication Publication Date Title
US20190065958A1 (en) Apparatus and Methods for Training in Fully Connected Layers of Convolutional Networks
KR102129895B1 (ko) 폴드된 특징 데이터에 대한 컨볼루션 연산을 수행하기 위한 방법 및 장치
US20190114742A1 (en) Image upscaling with controllable noise reduction using a neural network
JP7326867B2 (ja) 情報処理装置、情報処理プログラム及び情報処理方法
US20080183792A1 (en) Method for Performing Arithmetic Operations Using a Multi-Core Processor
KR20200066952A (ko) 확장 컨벌루션 연산을 수행하는 장치 및 방법
US20210357740A1 (en) Second-order optimization methods for avoiding saddle points during the training of deep neural networks
CN110874628A (zh) 人工神经网络及其中控制定点的方法
EP3855364A1 (en) Training machine learning models
CN112396085A (zh) 识别图像的方法和设备
CN114792387A (zh) 图像恢复方法和设备
US10824944B2 (en) Method for feature data recalibration and apparatus thereof
US20220092410A1 (en) Architected library interface for kernel fusion
US20210125033A1 (en) Apparatus and method for neural network processing
JP7279507B2 (ja) 情報処理装置、情報処理プログラム及び制御方法
KR20200072308A (ko) 뉴럴 네트워크에서 컨볼루션 연산을 수행하는 방법 및 장치
KR102559036B1 (ko) 음수값을 갖는 활성화 함수에서 제로 스키핑을 제공하는 방법 및 장치
JP7169768B2 (ja) 画像処理装置、画像処理方法
US20190073584A1 (en) Apparatus and methods for forward propagation in neural networks supporting discrete data
US20230334315A1 (en) Information processing apparatus, control method of information processing apparatus, and storage medium
US11960574B2 (en) Image generation using adversarial attacks for imbalanced datasets
EP4102419A1 (en) Method and system for kernel continuing learning
KR102271254B1 (ko) 이진화된 컨벌루션 신경망의 추론 속도 향상 장치 및 방법
US11907679B2 (en) Arithmetic operation device using a machine learning model, arithmetic operation method using a machine learning model, and training method of the machine learning model
US20230237374A1 (en) Method of controlling machine learning model and system performing the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230301

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230717

R150 Certificate of patent or registration of utility model

Ref document number: 7326867

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150