(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023124376
(43)【公開日】2023-09-06
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06N 3/08 20230101AFI20230830BHJP
【FI】
G06N3/08
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022028107
(22)【出願日】2022-02-25
(71)【出願人】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100140958
【弁理士】
【氏名又は名称】伊藤 学
(74)【代理人】
【識別番号】100137888
【弁理士】
【氏名又は名称】大山 夏子
(74)【代理人】
【識別番号】100190942
【弁理士】
【氏名又は名称】風間 竜司
(72)【発明者】
【氏名】川村 聡志
(57)【要約】
【課題】高精度なニューラルネットワークを構築する。
【解決手段】入力データと、第1のニューラルネットワークとに基づいて、入力データの第1の推論結果を出力することと、第1の推論結果に基づく第1の評価結果を出力することと、第1の評価結果に基づいて第1のニューラルネットワークの第1の重みパラメータを更新することと、入力データと、更新後の第1の重みパラメータが設定された第1のニューラルネットワークと、第2のニューラルネットワークと、第2のニューラルネットワークの重み係数とに基づいて、入力データの第2の推論結果を出力することと、第2の推論結果に基づく第2の評価結果を出力することと、第2の評価結果に基づいて、重み係数を更新することと、更新後の第1の重みパラメータと、第2のニューラルネットワークの第2の重みパラメータと、更新後の重み係数とに基づいて、第2の重みパラメータを更新することと、を含む方法。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1の入力データと、第1のニューラルネットワークとに基づいて、前記第1の入力データの第1の推論結果を出力する第1の演算部と、
前記第1の推論結果に基づく第1の評価結果を出力する第1の評価部と、
前記第1の評価結果に基づいて前記第1のニューラルネットワークの第1の重みパラメータを更新する第1の更新部と、
第2の入力データと、更新後の前記第1の重みパラメータが設定された前記第1のニューラルネットワークと、第2のニューラルネットワークと、前記第2のニューラルネットワークの重み係数とに基づいて、前記第2の入力データの第2の推論結果を出力する第2の演算部と、
前記第2の推論結果に基づく第2の評価結果を出力する第2の評価部と、
前記第2の評価結果に基づいて、前記重み係数を更新する重み係数更新部と、
前記更新後の第1の重みパラメータと、前記第2のニューラルネットワークの第2の重みパラメータと、更新後の前記重み係数とに基づいて、前記第2の重みパラメータを更新する第2の更新部と、
を備える、情報処理装置。
【請求項2】
前記第2の演算部は、
前記更新後の前記第1の重みパラメータが設定された前記第1のニューラルネットワークおよび前記第2のニューラルネットワークそれぞれの第1層に対して、前記第2の入力データを入力する、
請求項1に記載の情報処理装置。
【請求項3】
前記第2の演算部は、
前記更新後の前記第1の重みパラメータが設定された前記第1のニューラルネットワークおよび前記第2のニューラルネットワークそれぞれの第2層以降に対して、直前の層からの出力に対する前記重み係数による重み付き和を入力する、
請求項1または2に記載の情報処理装置。
【請求項4】
前記第2の評価部は、前記第2の評価結果と教師ラベルとに基づく損失を算出し、前記損失に基づいて前記第2の評価結果を出力する、
請求項1~3のいずれか一項に記載の情報処理装置。
【請求項5】
前記重み係数更新部は、
前記第2の評価結果に基づく誤差逆伝播法によって前記重み係数を更新する、
請求項1~4のいずれか一項に記載の情報処理装置。
【請求項6】
前記第2の更新部は、
前記更新後の第1の重みパラメータと、前記第2のニューラルネットワークの第2の重みパラメータとに対する、前記更新後の重み係数による重み付き和によって、前記第2の重みパラメータを更新する、
請求項1~5のいずれか一項に記載の情報処理装置。
【請求項7】
前記重み係数は、前記第1のニューラルネットワークおよび前記第2のニューラルネットワークに含まれる層ごとに設けられる、
請求項1~6のいずれか一項に記載の情報処理装置。
【請求項8】
前記第1の入力データと前記第2の入力データとは、同じデータである、
請求項1~7のいずれか一項に記載の情報処理装置。
【請求項9】
前記第1の入力データと前記第2の入力データとは、異なるデータである、
請求項1~7のいずれか一項に記載の情報処理装置。
【請求項10】
第1の入力データと、第1のニューラルネットワークとに基づいて、前記第1の入力データの第1の推論結果を出力することと、
前記第1の推論結果に基づく第1の評価結果を出力することと、
前記第1の評価結果に基づいて前記第1のニューラルネットワークの第1の重みパラメータを更新することと、
第2の入力データと、更新後の前記第1の重みパラメータが設定された前記第1のニューラルネットワークと、第2のニューラルネットワークと、前記第2のニューラルネットワークの重み係数とに基づいて、前記第2の入力データの第2の推論結果を出力することと、
前記第2の推論結果に基づく第2の評価結果を出力することと、
前記第2の評価結果に基づいて、前記重み係数を更新することと、
前記更新後の第1の重みパラメータと、前記第2のニューラルネットワークの第2の重みパラメータと、更新後の前記重み係数とに基づいて、前記第2の重みパラメータを更新することと、
を備える、情報処理方法。
【請求項11】
コンピュータを、
第1の入力データと、第1のニューラルネットワークとに基づいて、前記第1の入力データの第1の推論結果を出力する第1の演算部と、
前記第1の推論結果に基づく第1の評価結果を出力する第1の評価部と、
前記第1の評価結果に基づいて前記第1のニューラルネットワークの第1の重みパラメータを更新する第1の更新部と、
第2の入力データと、更新後の前記第1の重みパラメータが設定された前記第1のニューラルネットワークと、第2のニューラルネットワークと、前記第2のニューラルネットワークの重み係数とに基づいて、前記第2の入力データの第2の推論結果を出力する第2の演算部と、
前記第2の推論結果に基づく第2の評価結果を出力する第2の評価部と、
前記第2の評価結果に基づいて、前記重み係数を更新する重み係数更新部と、
前記更新後の第1の重みパラメータと、前記第2のニューラルネットワークの第2の重みパラメータと、更新後の前記重み係数とに基づいて、前記第2の重みパラメータを更新する第2の更新部と、
を備える情報処理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
ニューラルネットワーク(以下、「NN」とも記す。)は、画像認識などの問題において高い性能を有する。このNNを活用した分野において、学習用データを用いてNNを学習し、評価用データを用いてNNの性能の検証を行う。しかし、学習中におけるNNのパラメータは学習用データに依存することで激しく変化し、パラメータの激しい変化は過学習にもつながる恐れがある。過学習とは学習用データに過度に適応することであり、評価用データに対する精度が劣化する現象のことを差す。
【0003】
近年、この課題解決のため、NNを保存する際に、NNパラメータに対して指数移動平均(Exponentially Moving Average: EMA)を適用した頑強性向上手法が取り入れられることが多い。EMAは検証用NNを学習用NNとは別に用意し、学習用NNのパラメータと検証用NNのパラメータとの重み付き和を取る手法である。この手法により汎化性能が向上し、評価用データにおいても高精度な識別が期待できる。EMAの処理は、式(1)のように示される。
【0004】
【0005】
非特許文献1に記載の方法は、特に画像認識におけるEMAを用いた半教師あり学習の手法の一つであり、学習されたNNに比べるとEMAによって保存されたNNのほうが検証用データでの精度が高いことを示している。ここで、半教師有り学習とは、NNの学習に必要とされる膨大な入力データと教師ラベルの内、一部にのみ教師ラベルが存在する状態で学習する手法であり、人手による教師ラベル付与作業の負担を軽減できる。
【0006】
非特許文献2に記載の方法は、敵対的生成ネットワーク(Generative Adversarial Network: GAN)の学習にEMAを用いた学習手法の一つであり、学習されたNNに比べるとEMAによって保存されたNNのほうが安定して学習が進むことを示している。ここで、GANとはNNに入力されるデータの特徴を学習する手法であり、実在しないが高品質のデータを生成したり、入力データの特徴に沿ったデータの変換をしたりできる。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】Zhaowei Cai、他5名、"Exponential Moving Average Normalizationfor Self-supervised and Semi-supervised Learning"、[online]、[令和4年2月9日検索]、インターネット<https://arxiv.org/abs/2101.08482>
【非特許文献2】Yasin Yazici、他5名、"THE UNUSUAL EFFECTIVENESS OF AVERAGING IN GAN TRAINING"、[online]、[令和4年2月9日検索]、インターネット<https://arxiv.org/abs/1806.04498>
【発明の概要】
【発明が解決しようとする課題】
【0008】
非特許文献1に記載の方法および非特許文献2に記載の方法は、式(1)の係数αが常に一定であり、学習開始時に人手で設定するパラメータとなる。しかし、学習対象となるNNまたは使用するデータセットによって適切な係数αが異なることも考えられる。したがって、ユーザは係数αを変えながら、NNの学習を複数回試行したり、学習後のNNの分析をしたりする必要があり、ユーザの負担が高くなる。
【0009】
そこで、本発明は、これらの問題点を解決すべく提案されたものであり、ユーザの負担を軽減しつつ、高精度なニューラルネットワークを構築することを可能とする技術が提供されることが望まれる。
【課題を解決するための手段】
【0010】
上記問題を解決するために、本発明のある観点によれば、第1の入力データと、第1のニューラルネットワークとに基づいて、前記第1の入力データの第1の推論結果を出力する第1の演算部と、前記第1の推論結果に基づく第1の評価結果を出力する第1の評価部と、前記第1の評価結果に基づいて前記第1のニューラルネットワークの第1の重みパラメータを更新する第1の更新部と、第2の入力データと、更新後の前記第1の重みパラメータが設定された前記第1のニューラルネットワークと、第2のニューラルネットワークと、前記第2のニューラルネットワークの重み係数とに基づいて、前記第2の入力データの第2の推論結果を出力する第2の演算部と、前記第2の推論結果に基づく第2の評価結果を出力する第2の評価部と、前記第2の評価結果に基づいて、前記重み係数を更新する重み係数更新部と、前記更新後の第1の重みパラメータと、前記第2のニューラルネットワークの第2の重みパラメータと、更新後の前記重み係数とに基づいて、前記第2の重みパラメータを更新する第2の更新部と、を備える、情報処理装置が提供される。
【0011】
前記第2の演算部は、前記更新後の前記第1の重みパラメータが設定された前記第1のニューラルネットワークおよび前記第2のニューラルネットワークそれぞれの第1層に対して、前記第2の入力データを入力してもよい。
【0012】
前記第2の演算部は、前記更新後の前記第1の重みパラメータが設定された前記第1のニューラルネットワークおよび前記第2のニューラルネットワークそれぞれの第2層以降に対して、直前の層からの出力に対する前記重み係数による重み付き和を入力してもよい。
【0013】
前記第2の評価部は、前記第2の評価結果と教師ラベルとに基づく損失を算出し、前記損失に基づいて前記第2の評価結果を出力してもよい。
【0014】
前記重み係数更新部は、前記第2の評価結果に基づく誤差逆伝播法によって前記重み係数を更新してもよい。
【0015】
前記第2の更新部は、前記更新後の第1の重みパラメータと、前記第2のニューラルネットワークの第2の重みパラメータとに対する、前記更新後の重み係数による重み付き和によって、前記第2の重みパラメータを更新してもよい。
【0016】
前記重み係数は、前記第1のニューラルネットワークおよび前記第2のニューラルネットワークに含まれる層ごとに設けられてもよい。
【0017】
前記第1の入力データと前記第2の入力データとは、同じデータであってもよい。
【0018】
前記第1の入力データと前記第2の入力データとは、異なるデータであってもよい。
【0019】
また、本発明の別の観点によれば、第1の入力データと、第1のニューラルネットワークとに基づいて、前記第1の入力データの第1の推論結果を出力することと、前記第1の推論結果に基づく第1の評価結果を出力することと、前記第1の評価結果に基づいて前記第1のニューラルネットワークの第1の重みパラメータを更新することと、第2の入力データと、更新後の前記第1の重みパラメータが設定された前記第1のニューラルネットワークと、第2のニューラルネットワークと、前記第2のニューラルネットワークの重み係数とに基づいて、前記第2の入力データの第2の推論結果を出力することと、前記第2の推論結果に基づく第2の評価結果を出力することと、前記第2の評価結果に基づいて、前記重み係数を更新することと、前記更新後の第1の重みパラメータと、前記第2のニューラルネットワークの第2の重みパラメータと、更新後の前記重み係数とに基づいて、前記第2の重みパラメータを更新することと、を備える、情報処理方法が提供される。
【0020】
また、本発明の別の観点によれば、コンピュータを、第1の入力データと、第1のニューラルネットワークとに基づいて、前記第1の入力データの第1の推論結果を出力する第1の演算部と、前記第1の推論結果に基づく第1の評価結果を出力する第1の評価部と、前記第1の評価結果に基づいて前記第1のニューラルネットワークの第1の重みパラメータを更新する第1の更新部と、第2の入力データと、更新後の前記第1の重みパラメータが設定された前記第1のニューラルネットワークと、第2のニューラルネットワークと、前記第2のニューラルネットワークの重み係数とに基づいて、前記第2の入力データの第2の推論結果を出力する第2の演算部と、前記第2の推論結果に基づく第2の評価結果を出力する第2の評価部と、前記第2の評価結果に基づいて、前記重み係数を更新する重み係数更新部と、前記更新後の第1の重みパラメータと、前記第2のニューラルネットワークの第2の重みパラメータと、更新後の前記重み係数とに基づいて、前記第2の重みパラメータを更新する第2の更新部と、を備える情報処理装置として機能させるプログラムが提供される。
【発明の効果】
【0021】
以上説明したように本発明によれば、ユーザの負担を軽減しつつ、高精度なニューラルネットワークを構築することを可能とする技術が提供される。
【図面の簡単な説明】
【0022】
【
図1】本発明の第1の実施形態に係る学習装置の機能構成例を示す図である。
【
図2】同実施形態に係る演算部および二重演算部それぞれの処理を説明するための図である。
【
図3】同実施形態に係る学習装置によって実行される学習段階の動作例を示すフローチャートである。
【
図4】同実施形態に係る二重演算部の処理を説明するための図である。
【
図5】本発明の第1の実施形態に係る学習装置の例としての情報処理装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【0023】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0024】
また、本明細書および図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一の機能構成を有する複数の構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、異なる実施形態の類似する構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。
【0025】
(0.実施形態の概要)
本発明の実施形態の概要について説明する。本発明の実施形態では、ニューラルネットワークの学習を行う情報処理装置(以下、「学習装置」とも言う。)について説明する。学習装置においては、学習用データに基づいてニューラルネットワークの学習が行われる(学習段階)。その後、識別装置において、学習済みのニューラルネットワークと識別用データ(テストデータ)とに基づいて識別結果が出力される(推論段階)。
【0026】
本発明の実施形態では、学習装置と識別装置とが同一のコンピュータによって実現される場合を主に想定する。しかし、学習装置と識別装置とは、別のコンピュータによって実現されてもよい。かかる場合には、学習装置によって生成された学習済みのニューラルネットワークが識別装置に提供される。例えば、学習済みのニューラルネットワークは、学習装置から識別装置に記録媒体を介して提供されてもよいし、通信を介して提供されてもよい。
【0027】
以下では、学習装置において実行される「学習段階」について説明する。以下では、ニューラルネットワークを「NN」とも表記する。
【0028】
(1.第1の実施形態)
まず、本発明の第1の実施形態について説明する。
【0029】
(学習装置の構成)
図1を参照しながら、本発明の第1の実施形態に係る学習装置の構成例について説明する。
図1は、本発明の第1の実施形態に係る学習装置10の機能構成例を示す図である。
図1に示されるように、本発明の第1の実施形態に係る学習装置10は、学習用データセット101と、入力部102と、学習用NN110と、評価部121と、更新部122と、検証用NN130と、EMA評価部141と、EMA更新部142と、保存部143とを備える。
【0030】
学習用NN110は、第1のニューラルネットワークの例に該当し、重みパラメータ111を含んで構成される。重みパラメータ111は、第1の重みパラメータの例に該当し得る。また、学習装置10は、重みパラメータ111が設定された学習用NN110を用いて演算を行う演算部112を含んで構成される。検証用NN130は、第2のニューラルネットワークの例に該当し、EMA重みパラメータ131と、EMA係数132とを含んで構成される。EMA重みパラメータ131は、第2の重みパラメータの例に該当し得る。学習装置10は、EMA重みパラメータ131およびEMA係数132を用いて演算を行う二重演算部133を含んで構成される。
【0031】
入力部102、演算部112、評価部121、更新部122、二重演算部133、EMA評価部141、EMA更新部142および保存部143などは、CPU(Central Processing Unit)またはGPU(Graphics Processing Unit)などの演算装置を含み、ROM(Read Only Memory)により記憶されているプログラムが演算装置によりRAMに展開されて実行されることにより、その機能が実現され得る。
【0032】
このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、これらのブロックは、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。演算装置による演算に必要なデータは、図示しない記憶部によって適宜記憶される。
【0033】
学習用データセット101、重みパラメータ111、EMA重みパラメータ131およびEMA係数132は、図示しない記憶部によって記憶される。かかる記憶部は、RAM(Random Access Memory)、ハードディスクドライブまたはフラッシュメモリなどのメモリによって構成されてよい。
【0034】
初期状態において、重みパラメータ111、EMA重みパラメータ131およびEMA係数132それぞれには、初期値が設定されている。例えば、重みパラメータ111、EMA重みパラメータ131およびEMA係数132それぞれに設定される初期値は、ランダムな値であってよいが、どのような値であってもよい。例えば、重みパラメータ111、EMA重みパラメータ131およびEMA係数132それぞれに設定される初期値は、あらかじめ学習によって得られた学習済みの値であってもよい。
【0035】
(学習用データセット101)
学習用データセット101は、複数の学習用データ(以下、「入力データ」とも言う。)を含んで構成される。複数の入力データそれぞれには、教師ラベルが対応付けられていてよい。なお、本発明の実施形態では、入力データが画像データである場合(特に、静止画像データである場合)を主に想定する。しかし、入力データの種類は特に限定されず、静止画像データ以外も入力データとして用いられ得る。例えば、入力データは、複数のフレームを含んだ動画像データであってもよいし、時系列データまたは音声データであってもよい。
【0036】
(入力部102)
入力部102は、学習用データセット101から入力データを順次に取得し、取得した入力データをもとにミニバッチを作成し、作成したミニバッチを学習用NN110の演算部112および検証用NN130の二重演算部133それぞれに出力する。ミニバッチのサイズは特に限定されない。また、ここでは、学習用NN110および検証用NN130
それぞれに入力される入力データは同じデータである場合を主に想定する。しかし、学習用NN110および検証用NN130それぞれに入力される入力データは異なるデータであってもよい。
【0037】
演算部112および二重演算部133それぞれは、ニューロンによって構築される計算グラフが処理順に接続されて構成されており、全体として1つのニューラルネットワークとみなされ得る。より詳細に、演算部112および二重演算部133それぞれは、畳み込み層、プーリング層および活性化関数を主に含んでよい。以下では、畳み込み層として、2次元畳み込み層が用いられる場合を主に想定するが、3次元畳み込み層が用いられてもよい。
【0038】
(演算部112)
演算部112は、入力部102から出力されたミニバッチに含まれる入力データと学習用NN110とに基づいて推論結果を得る。演算部112は、第1の演算部の例に該当し得る。また、演算部112によって得られる推論結果は、第1の推論結果の例に該当し得る。より詳細に、演算部112は、重みパラメータ111が設定された学習用NN110にミニバッチに含まれる入力データを入力させたことに基づいて、学習用NN110から出力されるデータを推論結果として得る。
【0039】
なお、演算部112から出力される推論結果の形式は、特に限定されない。しかし、演算部112から出力される推論結果の形式は、教師ラベルの形式と合わせて設定されているのがよい。例えば、教師ラベルが分類問題のクラスを示し、クラス数分の長さを有するone-hotベクトルである場合、演算部112から出力される推論結果の形式も、クラス数分の長さを有するベクトルであってよい。このとき、演算部112から出力される推論結果は、クラスごとの値(以下、「推論値」とも言う。)を含み得る。
【0040】
一例として、演算部112によって全クラスの推論値の合計が1になるように調整される場合には、それぞれのクラスに対応する推論値は、それぞれのクラスに対応する確率に相当し得る。しかし、全クラスの推論値の合計は、演算部112によって1になるように調整されていなくてもよい。いずれの場合であっても、演算部112から出力される推論値は、そのクラスの確からしさが高いほど、大きい値であり得る。
【0041】
ここで、
図2を参照しながら、演算部112の処理について説明する。
【0042】
図2は、本発明の第1の実施形態に係る演算部112および二重演算部133それぞれの処理を説明するための図である。
図2を参照すると、演算部112の構成例が示されている。
図2に示された例では、演算部112によって用いられる学習用NN110の複数の層のうち、第i層(ただし、i=1,2,・・・,n)が畳み込み層であるとし、その畳み込み層が「f
i」と表現されている。畳み込み層f
iには、重みパラメータ111のうち第i層に対応する重みパラメータが設定される。
【0043】
また、畳み込み層fiへの入力がxiと表現され、その畳み込み層fiからの出力がyiと表現されている。ただし、学習用NN110のi番目の処理層は、畳み込み層でなくてもよい。なお、第1層への入力x1は、入力部102から出力された入力データである。第2層以降への入力xi(i≧2)は、直前の層からの出力yi-1である。演算部112は、学習用NN110の最終層に対応する出力ynを推論結果として評価部121に出力する。
【0044】
【0045】
(評価部121)
評価部121は、ミニバッチごとの推論結果に基づいて評価結果を得る。評価部121は、第1の評価部の例に該当し得る。より詳細に、評価部121は、ミニバッチごとに、推論結果と目標とに基づいて損失を算出し、ミニバッチごとに、損失に基づいて評価結果を得る。評価部121は、評価結果を更新部122に出力する。
【0046】
ここで、目標は特定の目標に限定されず、一般的なニューラルネットワークにおいて用いられる目標と同様の目標が用いられてよい。例えば、教師あり学習が行われる場合、目標は、入力データに対応する教師ラベルであってもよい。
【0047】
損失の算出に用いられる損失関数は特定の関数に限定されず、一般的なニューラルネットワークにおいて用いられる損失関数と同様の損失関数が用いられてよい。例えば、損失関数は、教師ラベルと推論結果との差分に基づく平均二乗誤差であってもよいし、教師ラベルと推論結果との差分に基づく交差エントロピー誤差であってもよい。
【0048】
(更新部122)
更新部122は、評価部121から出力された評価結果に基づいて、重みパラメータ111の更新を行う。これによって、推論結果が教師ラベルに近づくように、重みパラメータ111が訓練され得る。更新部122は、第1の更新部の例に該当し得る。より詳細に、更新部122は、評価結果に基づく誤差逆伝播法(バックプロパゲーション)によって重みパラメータ111を更新してよい。
【0049】
なお、更新部122は、重みパラメータ111の更新が終わるたびに、学習用NN110の学習の終了条件が満たされたか否かを判断する。学習の終了条件が満たされていないと判断された場合には、入力部102によって次の入力データが取得され、演算部112、評価部121および更新部122それぞれによって、当該次の入力データに基づく各自の処理が再度実行される。一方、学習用NN110の学習の終了条件が満たされたと判断された場合には、学習が終了される。
【0050】
なお、学習用NN110の学習の終了条件は特に限定されず、学習用NN110の学習がある程度行われたことを示す条件であればよい。
【0051】
具体的に、学習用NN110の学習の終了件は、損失が閾値よりも小さいという条件を含んでもよい。あるいは、学習用NN110の学習の終了条件は、当該損失の変化が閾値よりも小さいという条件(当該損失が収束状態になったという条件)を含んでもよい。あるいは、学習用NN110の学習の終了条件は、重みパラメータ111の更新が所定の回数行われたという条件を含んでもよい。あるいは、学習用NN110の精度(例えば、正解率など)が算出される場合、学習用NN110の学習の終了条件は、精度が所定の割合(例えば、90%など)を超えるという条件を含んでもよい。
【0052】
(二重演算部133)
二重演算部133は、入力部102から出力されたミニバッチに含まれる入力データと、更新部122による更新後の重みパラメータ111が設定された学習用NN110と、検証用NN130と、EMA係数132とに基づいて、推論結果(以下、「EMA推論結果」とも言う。)を得る。EMA推論結果は、第2の推論結果の例に該当し得る。二重演算部133は、第2の演算部の例に該当し得る。EMA係数132は、スカラーの係数であり、検証用NN130の重み係数に該当する。以下では、EMA係数132は、時刻tごとに変化するため、時刻tにおけるEMA係数132を重み係数αtとも表現する。
【0053】
なお、時刻tは、重みパラメータ111、EMA重みパラメータ131およびEMA係数132それぞれに対応する更新回数を示す。ここでは一例として、時刻tの初期値が0であり、重みパラメータ111、EMA重みパラメータ131またはEMA係数132それぞれの更新のたびに、その重みパラメータまたは係数に対応する時刻tが1増加する場合を想定する。
【0054】
ここで、
図2を再度参照しながら、二重演算部133の処理について説明する。
【0055】
図2を参照すると、二重演算部133の構成例が示されている。
図2に示された例では、二重演算部133によって用いられる検証用NN130の複数の層のうち、第i層(ただし、i=1,2,・・・,n)が畳み込み層であるとし、その畳み込み層が「f’
i」と表現されている。畳み込み層f’
iには、EMA重みパラメータ131のうち第i層に対応する重みパラメータが設定される。畳み込み層f’
iと畳み込み層f
iとは、設定される重みパラメータは異なるが、実行する処理は同じであってよい。
【0056】
また、畳み込み層f’iへの入力がXiと表現され、その畳み込み層f’iからの出力がZ’iと表現されている。ただし、検証用NN130の第i層は、畳み込み層でなくてもよい。なお、ここでは、検証用NN130の第1層への入力X1が、学習用NN110の第1層への入力x1と同じである場合を想定する。しかし、検証用NN130の第1層への入力X1は、学習用NN110の第1層への入力x1と異なってもよい。すなわち、学習用NN110への入力データと、検証用NN130への入力データとは同じでなくてもよい。
【0057】
また、二重演算部133によって、学習用NN110に含まれる畳み込み層f
iも用いられる。
図2を参照すると、二重演算部133によって用いられる畳み込み層f
iへの入力がX
iと表現され、その畳み込み層f’
iからの出力がZ
iと表現されている。二重演算部133は、畳み込み層f’
iからの出力Z’
i=f’
i(X
i)と、畳み込み層f
iからの出力Z
i=f
i(X
i)と、EMA係数132であるα
tとに基づいて、出力Y
iを算出する。
【0058】
より詳細に、二重演算部133は、出力Zi=fi(Xi)と出力Z’i=f’i(Xi)とに対する、EMA係数132であるαtによる重み付き和によって、出力Yiを算出する。すなわち、二重演算部133は、Zi=fi(Xi)に(1-αt)を乗算し、出力Z’i=f’i(Xi)にαtを乗算し、乗算結果同士を足し合わせることによって、出力Yiを算出する。かかる出力Yiの算出式は、以下の式(2)によって表現される。
【0059】
【0060】
式(2)は、fiとf’iとにおいて、対応する重みパラメータごとに計算される。第1層への入力X1は、ミニバッチに含まれる入力データであり、第2層以降への入力Xi(i≧2)は、直前の層からの出力Yi-1である。二重演算部133は、最終層に対応する出力YnをEMA推論結果としてEMA評価部141に出力する。なお、二重演算部133から出力されるEMA推論結果の形式は、演算部112から出力される推論結果の形式と同様であってよい。
【0061】
【0062】
(EMA評価部141)
EMA評価部141は、ミニバッチごとのEMA推論結果に基づいて評価結果(以下、「EMA評価結果」とも言う。)を得る。EMA評価部141は、第2の評価部の例に該当し得る。EMA評価結果は、第2の評価結果の例に該当し得る。より詳細に、EMA評価部141は、ミニバッチごとに、EMA推論結果と目標とに基づいて損失を算出し、ミニバッチごとに、損失に基づいてEMA評価結果を得る。EMA評価部141は、EMA評価結果をEMA更新部142に出力する。
【0063】
ここで、目標は特定の目標に限定されず、一般的なニューラルネットワークにおいて用いられる目標と同様の目標が用いられてよい。例えば、教師あり学習が行われる場合、目標は、入力データに対応する教師ラベルであってもよい。
【0064】
損失の算出に用いられる損失関数は特定の関数に限定されず、一般的なニューラルネットワークにおいて用いられる損失関数と同様の損失関数が用いられてよい。例えば、損失関数は、教師ラベルとEMA推論結果との差分に基づく平均二乗誤差であってもよいし、教師ラベルとEMA推論結果との差分に基づく交差エントロピー誤差であってもよい。
【0065】
あるいは、損失関数は、以下の式(3)に示されるように、Label Smoothingが適用された教師ラベルとEMA推論結果との差分に基づく交差エントロピー誤差であってもよい。
【0066】
【0067】
ここで、lemaは、EMA推論結果に基づく損失関数であり、Cは分類問題におけるクラス数であり、δはノイズの量であり、qは、正解クラスを1、それ以外を0とするone-hotベクトルによって表現される教師ラベルである。qlsは、Label Smoothingが適用された教師ラベルである。
【0068】
(EMA更新部142)
EMA更新部142は、EMA評価部141から出力されたEMA評価結果に基づいて、EMA係数132を更新する。これによって、EMA推論結果が教師ラベルに近づくように、EMA重みパラメータ131が訓練され得る。EMA更新部142は、重み係数更新部の例に該当し得る。より詳細に、EMA更新部142は、EMA評価結果に基づく誤差逆伝播法(バックプロパゲーション)によってEMA係数132である重み係数αtを更新してよい。一例として、重み係数αtの更新式は、以下の式(4)によって表現され得る。
【0069】
【0070】
ここで、lemaは、EMA推論結果に基づく損失関数であり、μは学習率である。EMA係数132である重み係数αtの更新条件が設定されており、更新条件が満たされた場合に重み係数αtが更新されてもよい。例えば、更新条件は、重みパラメータ111が更新されたという条件であってもよいし、ユーザによってあらかじめ指定された更新タイミングが到来したという条件であってもよい。
【0071】
更新タイミングとしては、更新間隔(例えば、所定の回数に1回など)が指定されていてもよい。あるいは、重み係数αtの更新間隔は、重みパラメータ111の更新開始から常に等間隔であってもよいが、等間隔でなくてもよい。例えば、重み係数αtは、重みパラメータ111の更新開始直後の初期段階(例えば、重みパラメータ111が所定の更新回数だけ更新されるまでの段階など)において更新されなくてもよい。
【0072】
(保存部143)
保存部143は、更新後の重みパラメータ111と、EMA重みパラメータ131と、更新後のEMA係数132とに基づいて、EMA重みパラメータ131を更新する。保存部143は、第2の更新部の例に該当し得る。
【0073】
より詳細に、保存部143は、更新後の重みパラメータ111とEMA重みパラメータ131とに対する、更新後のEMA係数132による重み付き和によって、EMA重みパラメータ131を更新する。すなわち、保存部143は、更新後の重みパラメータ111に(1-αt+1)を乗算し、EMA重みパラメータ131にαt+1を乗算し、乗算結果同士を足し合わせることによって、更新後のEMA重みパラメータ131を算出する。かかる更新後のEMA重みパラメータ131の算出式は、以下の式(5)によって表現される。
【0074】
【0075】
以上に説明したように、学習装置10による学習によって、重みパラメータ111が更新されるとともに、EMA重みパラメータ131が更新される。
【0076】
以上、本発明の第1の実施形態に係る学習装置の構成例について説明した。
【0077】
(学習段階の動作)
続いて、
図3を参照しながら、本発明の第1の実施形態に係る学習装置10によって実行される「学習段階」の動作の流れについて説明する。
図3は、本発明の第1の実施形態に係る学習装置10によって実行される学習段階の動作例を示すフローチャートである。
【0078】
まず、入力部102は、学習用データセット101からバッチサイズの入力データを取得することによってミニバッチを作成し、作成したミニバッチを学習用NN110の演算部112に出力する(S101)。
【0079】
続いて、演算部112は、入力部102によって作成されたミニバッチと重みパラメータ111が設定された学習用NN110とに基づいて、ミニバッチに対応する推論結果を得る(S102)。演算部112は、ミニバッチに対応する推論結果を評価部121に出力する。
【0080】
評価部121は、演算部112から出力される推論結果を評価して評価結果を得る。評価部121は、評価結果を更新部122に出力する(S103)。更新部122は、評価部121から出力される評価結果に基づいて、学習用NN110の重みパラメータ111を更新する(S104)。検証用NN110を更新する場合(S105において「NO」)、すなわち、EMA係数132(重み係数αt)の更新条件が満たされない場合、S110に動作が移行される。
【0081】
一方、二重演算部133は、検証用NN110を更新する場合(S105において「YES」)、すなわち、EMA係数132(重み係数αt)の更新条件が満たされた場合、入力部102からミニバッチを入力する。そして、二重演算部133は、入力部102から入力したミニバッチと、更新後の重みパラメータ111が設定された学習用NN110と、EMA重みパラメータ131が設定された検証用NN130と、EMA係数132とに基づいて、式(2)を用いてEMA推論結果を得る。二重演算部133は、EMA推論結果をEMA評価部141に出力する(S106)。
【0082】
EMA評価部141は、二重演算部133から出力されるEMA推論結果を評価してEMA評価結果を得る(S107)。EMA評価部141は、EMA評価結果をEMA更新部142に出力する。EMA更新部142は、EMA評価部141から出力されるEMA評価結果に基づいてEMA係数132である重み係数αtを更新する(S108)。
【0083】
その後、保存部143は、更新後の重みパラメータ111と、EMA重みパラメータ131と、更新後のEMA係数132とに基づいて、式(5)を用いて、EMA重みパラメータ131を更新する(S109)。
【0084】
学習用NN110の学習の終了条件が満たされない場合(S110において「NO」)、S101に動作が移行される。一方、学習用NN110の学習の終了条件が満たされた場合(S110において「YES」)は、学習が終了される。
【0085】
以上、本発明の第1の実施形態に係る学習装置10によって実行される「学習段階」の動作の流れについて説明した。
【0086】
(第1の実施形態のまとめ)
以上に説明したように、本発明の第1の実施形態に係る学習装置10は、検証用NNの構築におけるEMA処理において、検証用NNの重みパラメータと学習用NNの重みパラメータとの重み付き和を計算するときに用いられる係数を学習可能とする。これにより、最適な係数が自動的に決定されるため、安定した学習が可能になるという効果が享受される。また、これによって、係数を調整するユーザの負担が軽減され得るという効果が享受される。
【0087】
以上、本発明の第1の実施形態について説明した。
【0088】
(2.第2の実施形態)
続いて、本発明の第2の実施形態について説明する。本発明の第1の実施形態においては、EMA係数132がスカラーの係数αtである場合について説明した。これは、NNを構築する全ての層が同じ値によって重み付けされることを意味する。本発明の第2の実施形態においては、EMA係数がNNに含まれる層ごとに設けられる場合について説明する。
【0089】
なお、本発明の第2の実施形態に係る学習装置10の機能構成図は、本発明の第1の実施形態に係る学習装置10の機能構成図(
図1)と同様である。また、本発明の第2の実施形態に係る学習装置10は、本発明の第1の実施形態に係る学習装置10と比較して、EMA係数132、二重演算部133、EMA更新部142および保存部143が有する機能が異なり、その他の構成要素が有する機能は同様である。
【0090】
したがって、以下では、本発明の第2の実施形態に係る学習装置10が有する、EMA係数132、二重演算部133、EMA更新部142および保存部143について主に説明し、その他の構成要素が有する機能の詳細な説明は省略する。
【0091】
本発明の第2の実施形態において、EMA係数132は、重み係数αt,i(i=1,2,・・・,n)によって表現される。すなわち、本発明の第2の実施形態において、EMA係数132である重み係数αtは、学習用NN110または検証用NN130を構成する層の総数nと同じ数設けられている。
【0092】
(二重演算部133)
二重演算部133は、入力部102から出力されたミニバッチに含まれる入力データと、更新部122による更新後の重みパラメータ111が設定された学習用NN110と、検証用NN130と、層ごとに設けられたEMA係数132とに基づいて、EMA推論結果を得る。
【0093】
図4は、本発明の第2の実施形態に係る二重演算部133の処理を説明するための図である。
図4を参照すると、二重演算部133の構成例が示されている。
図4に示された例では、第k層と第(k+1)層(ただし、k=1,2,・・・,n-1)に着目する。なお、畳み込み層f
kは、本発明の第1の実施形態に係る畳み込み層f
iと同様の構成を有し、畳み込み層f’
kは、本発明の第1の実施形態に係る畳み込み層f’
iと同様の構成を有する。
【0094】
そして、畳み込み層f’kへの入力がXkと表現され、その畳み込み層f’kからの出力がZ’kと表現されている。また、畳み込み層fkへの入力がXkと表現され、その畳み込み層f’ kからの出力がZkと表現されている。二重演算部133は、畳み込み層f’kからの出力Z’k=f’k(Xk)と、畳み込み層fkからの出力Zk=fk(Xk)と、第k層に対応するEMA係数132であるαt,kとに基づいて、出力Ykを算出する。
【0095】
より詳細に、二重演算部133は、出力Zk=fk(Xk)と出力Z’k=f’k(Xk)とに対する、第k層に対応するEMA係数132であるαt,kによる重み付き和によって、出力Ykを算出する。すなわち、二重演算部133は、Zk=fk(Xk)に(1-αt,k)を乗算し、出力Z’k=f’k(Xk)にαt,kを乗算し、乗算結果同士を足し合わせることによって、出力Ykを算出する。かかる出力Ykの算出式は、以下の式(6)によって表現される。
【0096】
【0097】
なお、出力Ykは、第(k+1)層への入力Xk+1となる。そして、第(k+1)層における処理も、第k層と同様にして実行される。すなわち、二重演算部133は、畳み込み層f’k+1からの出力Z’k+1=f’k+1(Xk+1)と、畳み込み層fk+1からの出力Zk+1=fk+1(Xk+1)と、EMA係数132であるαt,k+1とに基づいて、出力Yk+1を算出する。
【0098】
より詳細に、二重演算部133は、出力Z’k+1=f’k+1(Xk+1)と出力Zk+1=fk+1(Xk+1)とに対する、EMA係数132であるαt,k+1による重み付き和によって、出力Yk+1を算出する。すなわち、二重演算部133は、Zk+1=fk+1(Xk+1)に(1-αt,k+1)を乗算し、出力Z’k+1=f’k+1(Xk+1)にαt,k+1を乗算し、乗算結果同士を足し合わせることによって、出力Yk+1を算出する。
【0099】
なお、出力Yk+1は、第(k+2)層への入力Xk+2となる。このようにして、第1層から最終層までの各層による処理が実行され、最終層に対応する出力Ynが算出される。二重演算部133は、最終層に対応する出力YnをEMA推論結果としてEMA評価部141に出力する。
【0100】
(EMA更新部142)
EMA更新部142は、EMA評価部141から出力されたEMA評価結果に基づいて、EMA係数132である重み係数αt,k(k=1,2,・・・,n)を更新する。これによって、EMA推論結果が教師ラベルに近づくように、EMA重みパラメータ131が訓練され得る。より詳細に、EMA更新部142は、EMA評価結果に基づく誤差逆伝播法(バックプロパゲーション)によってEMA係数132である重み係数αt,k(k=n,n-1,・・・,1)を順に更新してよい。一例として、重み係数αt,kの更新式は、以下の式(7)によって表現され得る。
【0101】
【0102】
(保存部143)
保存部143は、第1層から最終層までの各層について、更新後の重みパラメータ111に(1-αt+1,k)を乗算し、EMA重みパラメータ131にαt+1,kを乗算し、乗算結果同士を足し合わせることによって、更新後のEMA重みパラメータ131を算出する。かかる更新後のEMA重みパラメータ131の算出式は、以下の式(8)によって表現される。
【0103】
【0104】
以上に説明したように、学習装置10による学習によって、重みパラメータ111が更新されるとともに、EMA重みパラメータ131が更新される。
【0105】
以上、本発明の第2の実施形態に係る学習装置の構成例について説明した。
【0106】
(学習段階の動作)
続いて、本発明の第2の実施形態に係る学習装置10によって実行される「学習段階」の動作の流れについて説明する。本発明の第2の実施形態に係る学習装置10によって実行される「学習段階」の動作例を示すフローチャートは、本発明の第1の実施形態に係る学習装置10によって実行される「学習段階」の動作例を示すフローチャート(
図2)と同様である。
【0107】
また、本発明の第2の実施形態に係る学習装置10は、本発明の第1の実施形態に係る学習装置10と比較して、二重演算部133、EMA更新部142および保存部143の動作の詳細が異なり、その他の動作の詳細は同様である。したがって、以下では、本発明の第2の実施形態に係る学習装置10が有する二重演算部133、EMA更新部142および保存部143の動作について主に説明を行い、他の動作についての詳細な説明は省略する。
【0108】
本発明の第2の実施形態においても、本発明の第1の実施形態と同様に、S101~S105が実行される。
【0109】
続いて、二重演算部133は、入力部102から入力したミニバッチと、更新後の重みパラメータ111が設定された学習用NN110と、EMA重みパラメータ131が設定された検証用NN130と、第1層から最終層までの各層に対応するEMA係数132とに基づいて、式(6)を用いてEMA推論結果を得る。二重演算部133は、EMA推論結果をEMA評価部141に出力する(S106)。
【0110】
EMA評価部141は、二重演算部133から出力されるEMA推論結果を評価してEMA評価結果を得る(S107)。EMA評価部141は、EMA評価結果をEMA更新部142に出力する。EMA更新部142は、EMA評価部141から出力されるEMA評価結果に基づいて、式(7)を用いて第1層から最終層までの各層に対応するEMA係数132を更新する(S108)。
【0111】
その後、保存部143は、更新後の重みパラメータ111と、EMA重みパラメータ131と、第1層から最終層までの各層に対応する更新後のEMA係数132とに基づいて、式(8)を用いて、EMA重みパラメータ131を更新する(S109)。
【0112】
本発明の第2の実施形態においても、本発明の第1の実施形態と同様に、S110が実行される。
【0113】
以上、本発明の第2の実施形態に係る学習装置10によって実行される「学習段階」の動作の流れについて説明した。
【0114】
(第2の実施形態のまとめ)
以上に説明したように、本発明の第2の実施形態によれば、検証用NNの構築におけるEMA処理において、検証用NNの重みパラメータと学習用NNの重みパラメータとの重み付き和を計算するときに用いられる係数が学習可能であるたけでなく、その係数が学習用NNの層ごとに設けられる。これにより、最適な係数が層ごとに自動的に決定されるため、本発明の第1の実施形態と同様の効果が享受され得るだけでなく、さらに自由度の高い検証用NNが構築され得る。
【0115】
以上、本発明の第2の実施形態について説明した。
【0116】
(3.ハードウェア構成例)
続いて、本発明の第1の実施形態に係る学習装置10のハードウェア構成例について説明する。なお、本発明の第2の実施形態に係る学習装置10のハードウェア構成も、本発明の第1の実施形態に係る学習装置10のハードウェア構成と同様に実現され得る。
【0117】
以下では、本発明の第1の実施形態に係る学習装置10のハードウェア構成例として、情報処理装置900のハードウェア構成例について説明する。なお、以下に説明する情報処理装置900のハードウェア構成例は、学習装置10のハードウェア構成の一例に過ぎない。したがって、学習装置10のハードウェア構成は、以下に説明する情報処理装置900のハードウェア構成から不要な構成が削除されてもよいし、新たな構成が追加されてもよい。
【0118】
図5は、本発明の第1の実施形態に係る学習装置10の例としての情報処理装置900のハードウェア構成を示す図である。情報処理装置900は、CPU(Central Processing Unit)901と、ROM(Read Only Memory)902と、RAM(Random Access Memory)903と、ホストバス904と、ブリッジ905と、外部バス906と、インタフェース907と、入力装置908と、出力装置909と、ストレージ装置910と、通信装置911と、を備える。
【0119】
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバス等から構成されるホストバス904により相互に接続されている。
【0120】
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905および外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
【0121】
入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバー等ユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路等から構成されている。情報処理装置900を操作するユーザは、この入力装置908を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
【0122】
出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置、ランプ等の表示装置およびスピーカ等の音声出力装置を含む。
【0123】
ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。
【0124】
通信装置911は、例えば、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置911は、無線通信または有線通信のどちらに対応してもよい。
【0125】
以上、本発明の第1の実施形態に係る学習装置10のハードウェア構成例について説明した。
【0126】
(4.まとめ)
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0127】
本発明の第1の実施形態および本発明の第2の実施形態では、学習用データが画像データである場合(特に、静止画像データである場合)について主に説明した。しかし、学習用データの種類は特に限定されない。例えば、学習用データの種類に合わせた特徴量が抽出されれば、静止画像データ以外も学習用データとして用いられ得る。例えば、学習用データは、複数のフレームを含んだ動画像データであってもよいし、音声データであってもよいし、他の時系列データであってもよい。
【0128】
このとき、学習用データが静止画像データである場合には、学習用NN110および検証用NN130それぞれに含まれる畳み込み層として2次元畳み込み層が用いられるのが一般的である。一方、学習用NN110および検証用NN130それぞれに含まれる畳み込み層として3次元畳み込み層が用いられれば、学習用データとして動画像データが適用され得る。
【0129】
本発明の第1の実施形態および本発明の第2の実施形態では、EMA係数132、すなわち重み係数αに対する制限が設けられていない。しかし、重み係数αに対して(0,1)の範囲に写像される関数を適用してもよい。例えば、(0,1)の範囲に写像される関数は、シグモイド関数sgmなどであってもよい。これによって、より安定した重み係数αの学習が行われることが期待され得る。αにシグモイド関数が適用された場合には、式(2)および式(5)は、以下の式(9)および式(10)に置き換えられる。
【0130】
【0131】
【符号の説明】
【0132】
10 学習装置
101 学習用データセット
102 入力部
111 重みパラメータ
112 演算部
121 評価部
122 更新部
131 EMA重みパラメータ
132 EMA係数
133 二重演算部
141 EMA評価部
142 EMA更新部
143 保存部