JP7009020B2 - 学習方法、学習システム、学習装置、方法、適用装置、及びコンピュータプログラム - Google Patents

学習方法、学習システム、学習装置、方法、適用装置、及びコンピュータプログラム Download PDF

Info

Publication number
JP7009020B2
JP7009020B2 JP2020144863A JP2020144863A JP7009020B2 JP 7009020 B2 JP7009020 B2 JP 7009020B2 JP 2020144863 A JP2020144863 A JP 2020144863A JP 2020144863 A JP2020144863 A JP 2020144863A JP 7009020 B2 JP7009020 B2 JP 7009020B2
Authority
JP
Japan
Prior art keywords
gradient
network model
learning
neural network
weight
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
JP2020144863A
Other languages
English (en)
Other versions
JP2021034060A (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.)
Canon Inc
Original Assignee
Canon Inc
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
Priority claimed from CN201911115314.5A external-priority patent/CN112446487A/zh
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2021034060A publication Critical patent/JP2021034060A/ja
Application granted granted Critical
Publication of JP7009020B2 publication Critical patent/JP7009020B2/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/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Feedback Control In General (AREA)

Description

本開示は、ディープニューラルネットワーク(DNN)のモデリング分野に関し、特に、異なる計算精度に適したニューラルネットワークモデルの学習方法に関する。
本開示は、2019年8月29日出願で発明の名称が「TRAINING AND APPLICATION METHOD、APPARATUS、SYSTEM AND STROAGE MEDIUM OF NEURAL NETWORK MODEL」である中国特許出願第201910807591.6号の優先権を主張し、その内容全体が参照により本明細書に組み込まれる。
ディープニューラルネットワークは、複雑なネットワークアーキテクチャを有するモデルである。共通のニューラルネットワークモデルには、畳み込みニューラルネットワーク(CNN)モデル、再帰ニューラルネットワーク(RNN)モデル、グラフニューラルネットワーク(GNN)モデルなどが含まれる。図1は、単純なニューラルネットワークモデルアーキテクチャを示す(特定のネットワークアーキテクチャは示されていない)。学習されるべきデータx(特徴マップ)がニューラルネットワークモデルFに入力された後、xはネットワークモデルFにおいて上から下へ層ごとに計算され、最後に、ある分布要件を満たす出力結果yがモデルFから出力される。
図2、図3に示すCNNモデルを例にとると、モデル内に3つの重みw、w、wを含む畳み込み層が存在するものとし、図2に示す順伝播(Forward Propagation)処理において、畳み込み層の入力特徴マップと重みw、w、wに対してそれぞれ畳み込み演算を行った後、畳み込み層の出力特徴マップが取得され、次の層に出力される。最終的には、層毎の演算により、ネットワークモデルの出力結果yが得られる。出力結果yはユーザにより予測される出力結果yと比較され、それらの間の誤差が所定の閾値を超えない場合、現ネットワークモデルの性能がより良好であることを示し、そうでなく、それらの間の誤差が所定の閾値を超える場合、実際の出力結果yと予測される出力結果yとの間の誤差は、ネットワークモデルの性能を最適化するために、図3に示される逆伝播(Back Propagation)処理における畳み込み層における重みw、w、wを更新するために使用される必要がある。ここで、ネットワークモデルにおける各重みを更新する処理は、ネットワークモデルの学習処理である。
ネットワークモデルの各重みを更新する処理では、誤差評価関数L(y,y)(入力は実際の出力結果yと予測される出力結果yであり、それらの間の誤差を示す関数である)に従って、各重みwの偏微分(勾配)gがネットワークモデルにおいて下から上へ層ごとに算出される。学習される現在のネットワークモデルがt回(つまり、学習の繰り返し回数がt)学習され、ネットワークモデルで更新されるいくつかの重みがあり、現在更新されている重みがwであるとする。まず、重みwの勾配gを次式(1)に従って計算し、そして、次式(2)に従って重みwを更新し、(t+1)番目の(この)学習後の重みwt+1を求める。
Figure 0007009020000001
Figure 0007009020000002
ここで、ηtは、更新ステップスケール(学習速度とも呼ばれる)であり、これは一定でも可変でもよく、勾配gを変倍するために使用される。
重みwに対する上記の更新処理によれば、重み更新処理において、勾配の計算が重要なステップであることが知られているが、上記の式(2)は重みwと勾配との間の関係のみを考慮する、すなわち、この(現在の)学習反復における勾配に対する過去の勾配(以前の学習反復における勾配)の影響を考慮せずに、最新の更新後の勾配のみを考慮するので、勾配位置で生成される方向慣性は小さく、これはニューラルネットワークモデル学習の加速に不利である。
本開示の一態様によれば、ニューラルネットワークモデルの学習方法であって、逆伝播中のニューラルネットワークモデルにおける重みの勾配を決定することと、決定された勾配のうち少なくとも1つについて以下の処理:勾配が制約閾値範囲内にあるかどうかを判定し、制約閾値範囲を超える勾配を制約閾値範囲内に制約すること、ここで、制約閾値範囲は、ニューラルネットワークモデルの計算精度および学習の反復回数に従って決定される、を行うことと、制約された勾配を用いて重みを更新することとを有する学習方法が提供される。
本開示の別の態様によれば、ニューラルネットワークモデルの学習システムであって、少なくとも1つの第1ネットワークモデルを格納するサーバであって、ここで、第1ネットワークモデルは第2ネットワークモデルを同期させるための情報を提供し、サーバは、逆伝播中に第1ネットワークモデルにおける重みの勾配を決定し、決定された勾配のうち少なくとも1つについて、以下の処理:勾配が制約閾値範囲内にあるかどうかを判定し、制約閾値範囲を超える勾配を制約閾値範囲内に制約し、制約された勾配を用いて重みを更新し、更新された重みを出力し、ここで、制約閾値範囲は、第1ネットワークモデルの計算精度および学習の反復回数に従って決定される、を実行するために用いられ、第2ネットワークモデルを格納する端末であって、端末はサーバによって出力された重みを用いて第2ネットワークモデルを同期させるために用いられることを特徴とする学習システムが提供される。
本開示の別の態様によれば、ニューラルネットワークモデルの学習装置であって、逆伝播中にニューラルネットワークモデルにおける重みの勾配を決定する勾配決定手段と、勾配決定手段によって決定された勾配のうち少なくとも1つについて、以下の処理:勾配が制約閾値範囲内にあるかどうかを判定し、制約閾値範囲を超える勾配を制約閾値範囲内に制約すること、ここで、制約閾値範囲は、ニューラルネットワークモデルの計算精度および学習の反復回数に従って決定される、を実行する勾配制約手段と、制約された勾配を用いて重みを更新する更新手段とを有することを特徴とする学習装置が提供される。
本開示の別の態様によれば、ニューラルネットワークモデルの適用方法であって、
上記の学習方法に基づいて学習されたニューラルネットワークモデルを格納ことと、
格納されたニューラルネットワークモデルによって実行され得るタスクに対応するために必要とされるデータセットを受信することと、
格納されたニューラルネットワークモデルにおいて上から下まで各層においてデータセットに対する演算を実行して結果を出力することと
を有することを特徴とする適用方法が提供される。
本開示の別の態様によれば、ニューラルネットワークモデルの適用装置であって、
上記の学習方法に基づいて学習されたニューラルネットワークモデルを格納する格納モジュールと、
格納されたニューラルネットワークモデルによって実行され得るタスクに対応するために必要とされるデータセットを受信する受信モジュールと、
格納されたニューラルネットワークモデルにおいて上から下まで各層においてデータセットに対する演算を実行して結果を出力する処理モジュールと
を有することを特徴とする適用装置が提供される。
本開示の別の態様によれば、コンピュータによって実行されると、上記ニューラルネットワークモデルに基づいてコンピュータに学習方法を実行させる命令を記憶する非一時的なコンピュータ可読記憶媒体が提供される。
本開示のさらなる特徴は、添付の図面を参照して、例示的な実施形態の以下の説明から明らかになるであろう。
本明細書に組み込まれ、その一部を構成する添付の図面は本開示の例示的な実施形態を示し、例示的な実施形態の説明とともに、本開示の原理を説明する役割を果たす。
図1は、ニューラルネットワークモデルアーキテクチャを示す。 図2は、順伝播処理を示す。 図3は、逆伝播処理を示す。 図4は、ADAM方法のフローチャートを示す。 図5(a)は、高精度の場合の重み値および勾配値を示す。 図5(b)は、低精度の場合の重み値および勾配値を示す。 図6(a)は、高精度の場合の学習結果を示す。 図6(b)は、低精度の場合の学習結果を示す。 図6(c)は、本開示の場合の学習結果を示す。 図7は、本開示の第1の例示的な実施形態におけるニューラルネットワークモデルの学習方法のフローチャートである。 図8は、ADAM方法および本開示の方法の下での減衰率における変化を示す。 図9(a)は、高精度、低精度(本開示の技術を使用しない)下での勾配変化を示す。 図9(b)は、低精度(本開示の技術を使用する)下での勾配変化を示す。 図10は、本開示の第2の例示的な実施形態の学習システムの概略図を示す。 図11は、本開示の第3の例示的な実施形態の学習装置の概略図を示す。 図12は、本開示の第3の例示的な実施形態の学習装置のハードウェア環境の概略図を示す。 図13は、本開示の第3の例示的な実施形態に係る学習装置の適用環境の概略図を示す。
従来の重み更新処理を最適化し、ニューラルネットワークモデルの収束速度を改善し、ニューラルネットワークモデルの学習を加速するために、ADAM(Adaptive Moment Estimation)学習法を提案する。ニューラルネットワークモデルにおいて特定の重みが更新されるとき、以前の更新(学習)における重みの過去の勾配が、この更新(学習)における重みの勾配を更新するために使用され、したがって、新しい勾配が重みを更新するために使用される。図4は、ADAM法に基づいて重みを更新する方法のフローチャートを示す。学習対象のニューラルネットワークモデルがt回学習され(学習反復数はt)、ニューラルネットワークモデルの重みwが現在更新中であり、具体的な処理は以下を含むものとする。
まず、上記の式(1)を用いて、重みwの勾配gを計算する。
次に、次の導出した式(3)を用いて、重みwの過去の勾配の移動平均1次モーメント、すなわち、過去の勾配の1次モーメントの重み付き総和を計算する。
Figure 0007009020000003
ここで、βt-1+(1-β)gは漸化式(a recursive formula)であり、最初の学習のmから始まる、mt-2とこの式などを用いてmt-1を計算し、m,m....mt-1を連続的に計算し、1次重み付き総和式
Figure 0007009020000004
を導出する。βは重み付き値で、勾配減衰率を表し、0.9などの一定値にすることができる。式(3)におけるβt-i は、βのt-i乗を表す。
次に、以下の導出された式(4)を用いて、過去の勾配の移動平均2次モーメント、すなわち、過去の勾配の2次モーメントの重み付き総和を算出する。
Figure 0007009020000005
ここで、βt-1+(1-β)g は、式(3)と同様の漸化式であり、最初の学習のVから始まって、V,V....Vt-1が連続的に計算され、2次重み付き総和式
Figure 0007009020000006
が導出される。βは重み付き値で、勾配減衰率を表し、0.999などの一定値にすることができる。式(4)におけるβt-i は、βのt-i乗を表す。
最後に、式(3)及び式(4)の計算結果に従って、式(5)を用いて勾配gを更新し、更新された勾配g を得てから、式(6)に従って重みwを更新し、この学習後に重みwt+1を得るために、更新された勾配g をさらに用いる。
Figure 0007009020000007
Figure 0007009020000008
ADAMベースの重み更新方法では、この学習の間にあらかじめ計算された重みwの勾配gを使用するだけでなく、前の学習の間の重みの過去の勾配を重み付き総和の手段によって導入し、この学習で利用可能な勾配g’を得る。それにより、ニューラルネットワークモデルの学習を加速するために、勾配が連続する位置でより大きな慣性を適応的に生成できる。
ADAM方法は従来のニューラルネットワークモデルの学習速度が遅いという問題を克服するが、ADAM方法の適用の前提は、学習されたニューラルネットワークモデルが高精度モデルである(重みおよび入力xは高精度である)ということであり、例えば、モデルにおける重みwは32ビット浮動小数点タイプである。学習反復の数が増加すると、重みwは図5(a)に示すように変化し、その勾配は重み値の接線である。学習の繰り返し回数が10の場合、重みw10の勾配はg10である。学習の繰り返し回数が20の場合、重みw20の勾配はg20である。ここで、勾配gは、上述したADAM方法に従って更新された後の勾配である。図6(a)に示すように、高精度のニューラルネットワークモデルを学習すると、学習の繰り返し回数が増加すると、勾配が適度に変化し、ネットワークモデルの実際の出力結果yと予測される出力結果yとの差分値が、最低点(総損失が所定の閾値を超えない)に達するまで徐々に減少(すなわち、総損失が徐々に減少)し、学習されたニューラルネットワークの性能が期待値を満たす。
例えば、高精度ニューラルネットワークモデルを低精度に量子化する場合、32ビット浮動小数点型の重みwをブーリアン型の重みwに量子化し、その値は-1または1に過ぎない。
ここで、w=sign(w)である。
このとき、学習の反復回数が増えると、重みwの勾配の変化は図5(b)に示される。学習の反復回数が10の場合、重みw10bの勾配は
Figure 0007009020000009
になり、学習の反復回数が20の場合、重みw20bの勾配は
Figure 0007009020000010
になる。
ここで、
Figure 0007009020000011
の勾配は、以下の
Figure 0007009020000012
を導出することによって得ることができる。
Figure 0007009020000013
ここで、αは量子化スケールファクタである。
図5(a)と図5(b)を比較すると、
Figure 0007009020000014
は理論的に無限大であり、
Figure 0007009020000015
は理論的に0であることが分かる。これは、高精度浮動小数点型の重みwを低精度固定小数点型のwに量子化した場合(ここで
Figure 0007009020000016
Figure 0007009020000017
は、γt+1が十分に洗練されたネットワークに基づいており、且つ
Figure 0007009020000018
が量子化されたネットワークに基づいていることを除き、γt+1と同様に計算される)、量子化誤差
Figure 0007009020000019
が存在し、重みwの勾配gと重みwの勾配
Figure 0007009020000020
との間に差が生じるためである。低精度ネットワークモデルが学習されるとき、重みを更新するために不適切な勾配
Figure 0007009020000021
が連続的に使用されると、勾配差の累積は、ネットワークモデルが期待される性能を達成することを妨げ得る。一方、ADAM方法は、過去の勾配の重み付き総和を必要とするため、これまでの(passing)量子化誤差は量子化誤差の存在による過去の勾配を加重和しながら蓄積され、これは方向慣性をシフトさせ、従ってネットワークモデルの学習精度に影響を与える。
図6(b)に示すように、低精度ニューラルネットワークモデルを学習する場合、学習の初期段階では、学習の繰り返し回数が増加することにつれて、ネットワークモデルの実際の出力結果yと予測される出力結果yとの差分値が徐々に減少する。しかしながら、学習反復の回数が増加することにつれて、勾配変化は、勾配
Figure 0007009020000022
の不適切さのために不合理である。実際の出力結果yと予測される出力結果yとの差分値(すなわち、総損失)は常に所定の閾値を超えており、これにより、学習されたニューラルネットワークの性能が期待を満たすことができない。
本開示におけるADAM方法の欠点を説明するために、以下の3つの原理が補足的な説明として提供される。
原理1:量子化スケールファクタαと2値量子化関数sign(w)があるとする。オンライン凸最適化問題(online convex optimization problem)がある。定量的ニューラルネットワークの最適化のために、任意の初期ステップスケールηが与えられ、ADAMは最適解に収束することができない。これは、ゼロ以外のリグレット、つまりT→∞のときに
Figure 0007009020000023
であるためである。
原理2:量子化スケールファクタαと2値量子化関数sign(w)があるとする。任意のβ、βが与えられ、これは[0,1)に属し、β<√βである。オンライン凸最適化問題(online convex optimization problem)がある。定量的ニューラルネットワークの最適化のために、任意の初期ステップスケールηが与えられ、ADAMは最適解に収束することができない。これは、ゼロ以外のリグレット、つまりT→∞のときに
Figure 0007009020000024
であるためである。どのようなconvex関数
Figure 0007009020000025
に対しても、関数(F)は制約された勾配を持つ制約値Gを有する。
原理3:量子化スケールファクタαと2値量子化関数sign(w)があるとする。任意のβ、βが与えられ、これは[0,1)に属し、β<√βである。ランダム凸最適化問題(random convex optimization problem)がある。定量的ニューラルネットワークの最適化のためには、任意の初期ステップスケールηが与えられ、収束速度CはADAMに基づき、ADAMはβ、β、α、Gにより決定される。どのようなconvex関数
Figure 0007009020000026
に対しても、関数(F)は制約された勾配を持つ制約値Gを有する。
ここで、上記の原理1、原理2および原理3の詳細な説明については、本明細書の<例示的な実施形態における原理および推論>の対応する部分を参照されたい。
既存のADAM方法は上記の問題を有するので、本開示は、多層ニューラルネットワークモデルのための学習ソリューションを提案する。ADAM方法と比較して、本開示におけるソリューションは、高精度ニューラルネットワークモデルに適用されることに限定されず、低精度ニューラルネットワークモデルの学習においてもより良好な性能を有する。
上述したように、ADAM方法に基づいて低精度ネットワークモデルを学習する場合、高精度ネットワークモデルの学習と比較して、重みの量子化について量子化誤差γが存在する。ここで、wは高精度重みを表し、wは高精度重みを量子化した後の低精度重みを表す。図5(a)と図5(b)とを比較すると、重みwの勾配gと重みwの勾配
Figure 0007009020000027
とが大きく異なっていることが分かる。このため、勾配
Figure 0007009020000028
をそのまま用いて重み更新を行うことになり、ネットワークモデルの期待された性能を得ることができない。この観点から、本開示はニューラルネットワークモデルの学習の最適化された方法を提供し、低精度重みの勾配演算に対する量子化誤差の悪影響を完全に考慮する場合、勾配の制約閾値範囲は学習反復の回数およびニューラルネットワークモデルの計算精度に基づいて設定され、その結果、低精度重みの勾配が量子化誤差によって歪められる場合、歪められた勾配は設定された制約閾値範囲内に制約され、勾配の歪みは補正され、したがって、学習されたネットワークモデルは期待される性能を達成することができる。本開示のソリューションでは、ネットワークモデル(例えば、バイナリニューラルネットワークモデル(BNN))の計算精度にかかわらず、学習反復の数が増加することにつれて、勾配変化は勾配を制約することによって合理的になされ、その結果、ネットワークモデルの実際の出力結果yと予測される出力結果yとの間の差分値(すなわち、総損失)は最低点に到達することができ(誤差が所定の閾値を超えず)、したがって、学習されたニューラルネットワークの性能は図6(c)に示されるように、期待値を満たす。
以下、本開示の例示的な実施形態について、図面を参照しながら説明する。明確かつ簡潔にするために、実施形態のすべての特徴が本明細書に記載されているわけではない。しかし、開発者の特定の目標を達成するためには、装置およびビジネスに関連するそれらの制約を満たすなど、実施形態の実施中に多くの実装固有の設定を行わなければならず、これらの制約は異なる実装に応じて変更することができる、ということが理解されるべきである。さらに、開発作業は非常に複雑で時間がかかる可能性があるが、本開示の恩恵を受ける当業者にとってはルーチンの作業にすぎないことも理解されるべきである。
ここで、不必要な詳細によって本開示を曖昧にすることを避けるために、本開示による少なくともソリューションに密接に関連する処理ステップおよび/またはシステム構成のみが図面に示され、本開示に密接に関連しない他の詳細は省略されることにも留意されたい。
次に、本開示の様々な態様について説明する。
<第1の例示的な実施形態>
図7は、本開示の第1の例示的な実施形態によるニューラルネットワークモデルの学習方法を示し、学習方法の具体的な説明は以下の通りである。
ステップS101:この学習の順伝播を行い、ニューラルネットワークモデルの実際の出力結果と予測される出力結果との差分値を求める。
ニューラルネットワークモデルの学習処理は、周期的かつ反復的な処理である。各学習は、順伝播および逆伝播を含む。ここで、順伝播は、ニューラルネットワークモデルにおいて上から下に学習されるべきデータxの層ごとの演算の処理である。本開示で説明される順伝播処理は、既知の順伝播処理であってもよい。順伝播処理は、特徴マップおよび任意ビットの重みの量子化処理を含んでもよい。本開示は、これに限定されない。ニューラルネットワークモデルの実際の出力結果と予測される出力結果との差分値が所定の閾値を超えない場合、それは、ニューラルネットワークモデルにおける重みが最適解であり、学習されたニューラルネットワークモデルの性能が期待される性能に達し、ニューラルネットワークモデルの学習が終了する、ことを意味する。逆に、ニューラルネットワークモデルの実際の出力結果と予測される出力結果との差分値が所定の閾値を超える場合には、逆伝播処理を継続する必要があり、すなわち、実際の出力結果と予測される出力結果との差分値に基づいて、ニューラルネットワークモデルにおいて、下から上に層ごとに演算を行い、重みが更新されたネットワークモデルの性能が期待される性能に近づくように、モデル内の重みを更新する。
本開示に適用可能なニューラルネットワークモデルは、畳み込みニューラルネットワークモデル、再帰ニューラルネットワークモデル、グラフニューラルネットワークモデルなどの任意の既知のモデルであってもよい。本開示は、ネットワークモデルのタイプに限定されない。
本開示に適用可能なニューラルネットワークモデルの計算精度は任意の精度、例えば、高精度と低精度の両方とすることができ、用語「高精度」と「低精度」は互いに相対的であり、特定の数値を制限しない。例えば、高精度は32ビット浮動小数点タイプとすることができ、低精度は1ビット固定小数点タイプとすることができる。もちろん、16ビット、8ビット、4ビット、および2ビットなどの他の精度も、本開示のソリューションに適用可能な計算精度範囲に含まれる。用語「計算精度」は、ニューラルネットワークモデルにおける重みの精度、または本開示において限定されない、学習される入力xの精度を指すことができる。本開示で説明されるニューラルネットワークモデルは、バイナリニューラルネットワークモデル(BNN)であってもよく、もちろん、他の計算精度を有するニューラルネットワークモデルに限定されない。
ステップS102:逆伝播では、ネットワークモデルにおける各重みの勾配を算出し、少なくとも1つの重みの勾配に対して後続の最適化処理を実行する。
逆伝播において、順伝播における量子化に含まれる層をSTE(gradient estimation)技術を用いて処理する。
なお、本実施形態では、重みwの勾配について、以降の最適化処理が行われるものとする。
ニューラルネットワークモデルは多層構造であるため、逆伝播では、誤差評価関数L(y,y)(損失関数としても知られている)に従って、チェーン法を用いて各層の重みの勾配値を下から上に層ごとに算出する。なお、このステップS102において、重みの傾きを算出する方法は何れかの公知の方法でよく、本開示はこれに限定されるものではない。
なお、各重みの勾配を算出した後、勾配についてその後の最適化処理を実行してもよい。例えば、後続の最適化処理を必要とする複数の重みの勾配がある場合、後続の最適化処理が各重みの勾配の間で連続して行われ、同じ層に属する複数の重みの勾配が算出された後、この層の重みの勾配に対して後続の最適化処理が実行され、例えば、同じ層の重みの勾配に対して後続の最適化処理が並行して実行され、異なる層の重みの勾配に対して連続して実行され、ニューラルネットワークモデルの全ての重みの勾配が算出された後、重みの一部または全ての勾配に対して後続の最適化処理が実行され、例えば、後続の最適化処理が各重みの勾配の間で連続して実行され、または、ニューラルネットワークモデルの下から上への層の順序に従って、同じ層の重みの勾配に対して後続の最適化処理が並行して実行され、異なる層の重みの勾配に対して連続して実行されてもよい。本開示は、後続の最適化処理を実行する重みの勾配を限定するものではない。例えば、全ての重みの勾配値に対して後続の最適化処理を行ってもよいし、畳み込み層等の重みの勾配のみに対して後続の最適化処理を行ってもよい。
ステップS103:ステップS102で算出された重みwの勾配と、前回のN回の学習における重みwの勾配と、から、重み付き最大値を求める。ここで、Nは1以上の整数。
学習対象のネットワークモデルがt回(学習反復回数はt)学習されていると仮定し、ステップS102で、重みwの勾配をgとして計算する。このステップS103では、この学習の勾配に対する過去の勾配の影響を考慮して、前のN回の学習におけるgと勾配を含む勾配を重み付けし、最大値をとる。前のN回の学習における勾配は、本開示の方法を使用して更新された勾配であってもよく、またはADAM方法を使用して式(3)、式(4)、および式(5)を使用することによって計算された勾配であってもよい。ここで使用される過去の勾配の数Nは、tより大きくない。
ステップS103において重み付き最大値を決定するためのオプションのアルゴリズムは式(7)に示すように、過去の勾配2次モーメントの重み付き最大値を計算することである。
Figure 0007009020000029
ここで、βt-1+(1-β)g は漸化式である。算出されたv
Figure 0007009020000030
を比較し、大きい方の数値をステップS103で1回最適化処理を行った後の傾きとして用いる。このステップS103において、学習のたびに重み付き最大値が決定されるので、この学習における漸化式で計算されたvと、前の学習における重み付き最大値
Figure 0007009020000031
との間で、より大きな値が選択され、これにより、このステップS103において、過去の勾配2次モーメントの重み付き最大値が決定されることが保証される。
式(7)のβは、式(4)のβと同じ重み値0.999であってもよく、ニューラルネットワークモデルの計算精度に応じて決定される重み値であってもよい。計算精度に基づいてβを決定するためのオプションのアルゴリズムは、式(8)に示されている。
Figure 0007009020000032
ここで、β2(t)は、t番目の学習中におけるβを表しており、例えば0.999であり、β2(t-1)は、(t-1)番目の学習中におけるβを表しており、これは集合的に、β2(t)および計算精度によって決定される。
図8はADAM技術に基づく減衰率の変化(減衰率β(β及びβ)は固定値)を示し、本開示が、計算精度に基づいて減衰率βを算出する場合である。図8から分かるように、ADAM技術では、現在のt番目の学習から始まり、約t-40回の反復から、以前の減衰率はゼロに近づき、本開示の方法を用いると、現在のt番目の学習から始まり、約t-20回の反復から、以前の減衰率はゼロに近づく。すなわち、ADAM技術では現在の反復の以前の40回の反復の勾配がt番目の反復の勾配に対してより大きな影響を有するが、本開示の技術では、現在の反復の以前の20回の反復の勾配がt番目の反復の勾配に対してより大きな影響を有する。ADAM技術と比較して、本開示の技術では、過去の勾配が現在のt番目の学習における勾配に対する影響がより小さい。すなわち、ニューラルネットワークモデルの計算精度が低いほど、前回の複数回の学習に要する学習数が少なくなり、性能が向上する。
また、重み付き最大値vは、式(9)を参照して、対角行列の形式に変換することができる。
Figure 0007009020000033
なお、式(9)のVは過去の勾配の重み付き最大値の対角行列であり、式(4)の過去の勾配の重み付き総和の対角行列Vと等しくない。
ADAM方法で過去の勾配2次モーメントを加重和する方法と比較して、第1の実施形態で過去の勾配2次モーメントを重み付けした最大値を取ることは、現在のニューラルネットワークモデルの勾配の方向慣性をより良く表すことができ、重み付き最大値を取る方法は、ネットワークモデルの性能を、重み付き総和を取る方法と同様にすることができる。性能が悪化しないことを保証する場合、重み付き総和値の代わりに重み付けされた最大値が使用され、量子化誤差の累積を防止する。
このステップS103は、ステップS102で算出された勾配を一旦最適化するためのものである。これは本実施形態では好ましいステップであり、本実施形態はステップS102からステップS104に直接進む場合に限定されない。
ステップS104:制約閾値範囲を決定する。
ニューラルネットワークモデルの学習処理において、特に学習の後期段階では、収束を加速するために方向慣性を用いることに加えて、適切なステップサイズで収束するために適切な勾配を設定することも必要である。しかしながら、量子化誤差の存在により、特に低精度の場合には、量子化誤差は学習に無視できない影響を有し、ステップS103で一旦最適化された勾配は再び制約される必要がある。したがって、制約閾値範囲をどのように決定するかは、特に重要であると思われる。
以上のことから、学習の後期段階において精度が低い場合には、勾配を制約すること、すなわち、学習の繰り返し回数やモデルの計算精度が勾配に与える影響が大きいことが非常に必要であることがわかるので、学習の繰り返し回数とニューラルネットワークモデルの計算精度の両方を総合的に考慮して、制約閾値範囲を決定することができる。また、ニューラルネットワークモデルの計算精度が量子化誤差を直接決定するので、学習の繰返し回数と計算精度の両方に基づいて制約閾値範囲を決定することも、学習の繰返し回数と量子化誤差に基づいて制約閾値範囲を決定することと見なすことができる。
制約閾値範囲を決定するために使用される量子化誤差は、ニューラルネットワークモデル全体に対する量子化誤差、またはニューラルネットワークモデルにおける各重みに対する量子化誤差であり得る。量子化誤差の異なる意味に従って、決定した制約閾値範囲の意味も異なる。具体的には、一方で、制約された閾値範囲を決定するために使用される量子化誤差がニューラルネットワークモデル全体に対する量子化誤差である場合(すなわち、ニューラルネットワークモデルにおけるすべての重みに対する量子化誤差が計算され、その中の最大量子化誤差がニューラルネットワークモデルに対する量子化誤差として使用される)、決定された制約閾値範囲はニューラルネットワークモデル全体に対するものでもある。この場合、最適化処理を行う際に、ニューラルネットワークモデルにおける任意の重みの勾配を同じ制約閾値範囲を用いて制約する。一方、制約閾値範囲を決定するために使用される量子化誤差が各重みに対する量子化誤差である場合、制約閾値範囲は各重みに対して決定され、決定された制約閾値範囲は重みの勾配を制約する。
制約閾値範囲の上限値と下限値はそれぞれ、cとcの2つの抽象極限関数(abstract limit function)であると仮定する。上限値cと下限値cを計算するオプションの方法は、以下の式(10)、(11)における方法を使用することである。式(10)、(11)に示すアルゴリズムでは、上限値cと下限値cを表す抽象極限機能がそれぞれ単調に減少し、単調に増加している。
Figure 0007009020000034
Figure 0007009020000035
ここで、tは学習反復回数、γt+1は量子化誤差、βは加重値で、式(3)においてβは0.9の値とすることができ、または式(8)に示す方法でニューラルネットワークの計算精度に従って計算および決定することができる。もちろんβは、式(4)においてβを0.999の値とすることもでき、または式(8)に示す方法でニューラルネットワークの計算精度に従って計算および決定することができる。ここで、βは、勾配減衰率を示す加重値である。本実施形態では、上述したβとしてβ又はβを選択することに加えて、他の方法でβを設定することに限定されない。
式(10)および(11)から、制約閾値領域の上限値および下限値は、ニューラルネットワークモデルの量子化誤差l(w,w)および学習反復回数tによって決定されることがわかる。βの値は必ず1より小さく、l(w,w)は必ず0より大きいので、学習反復回数tが大きい(無限大に近い)とき、2つの抽象境界関数cおよびcは互いに近づいている。
オプションの方法では、ニューラルネットワークモデルが初めて学習を開始するか、学習が中断された後に学習を再開するかにかかわらず、tは0から開始し、別のオプションの方法では、ニューラルネットワークモデルが初めて学習を開始するとき、tは0から開始し、学習が中断された後にニューラルネットワークモデルが学習を再開するときは、tは学習が中断されたところから開始する。
上記の式(10)および式(11)は、このステップを実施するためのオプションの方法であり、本開示は、式(10)および式(11)の合理的な変形、またはニューラルネットワークモデルの学習反復回数および量子化誤差に基づいて制約閾値範囲を決定するための他の方法に限定されない。
ステップS105:勾配が制約閾値範囲内にあるかどうかを判定し、そうであれば、ステップS106に進み、そうでなければ、勾配を制約閾値範囲内の値に制約する。
ステップS103で一旦最適化された勾配値は、このステップS105で2回最適化(制約)される。オプションの制約方法は、式(12)に示される方法である。
Figure 0007009020000036
ここで、Fは制約マッピング値領域[μ、t]、Vは式(9)の過去の勾配2次モーメントの重み付き最大値の対角行列である。
Figure 0007009020000037
は、Vが[c、c]にマッピングされることを意味する制約マッピング演算である。
Figure 0007009020000038
は制約後の勾配を表す。Vがιより大きい場合、Vtは[c、c]に制約され、例えば、Vは上限値ιとして制約される。Vがμ未満の場合、Vは[c,c]に制約され、例えば、Vは下限値μとして制約される。また、本開示は、[c,c]内の他の値としてVを制約することに限定されるものではなく、例えば、Vが[c,c]にない場合、Vは上限値および下限値の平均値として制約される。
ステップS105における勾配の制約処理は、量子化誤差によって生じる勾配歪を克服することができ、制約された勾配は、高精度の下でネットワークモデルにおける重みの実際の勾配に実質的に近づけることができる。図9(a)に示すように、高精度ネットワーク下の勾配は正規勾配であり、量子化ネットワークモデル(低精度)下で推定された勾配値は高精度ネットワークモデル下の勾配値、すなわち、偏った勾配から大きくずれている。再び図9(b)を参照すると、量子化ネットワークモデルの下で推定されたバイアスされた累積勾配値もまた、量子化ネットワークモデルの下でも、本実施形態のソリューションに基づく勾配値から大きくずれているが、量子化ネットワークモデルの下での本実施形態のソリューションに基づく勾配値は高精度ネットワークモデルの下での勾配値に近い。従って、本実施形態は、量子化誤差によって生じる勾配歪をより良く制約することができ、歪蓄積の問題は、複数の学習の後には発生しないであろう。
ステップS106:制約された勾配を用いて重みを更新する。
オプションの方法は、式(6)を使用して重みを更新することである。このステップにおける勾配は制約処理後の勾配であるため、式(6)は式(13)に変換することができる。
Figure 0007009020000039
ここで、mは式(3)に従って計算でき、望ましくは、式(3)のβは定数0.9であるか、式(8)に示す方法に基づいてニューラルネットワークの計算精度に従って計算および決定することができる。
ステップS103およびS105では重みの勾配が2回最適化されているので、このステップS106では、最適化された勾配、すなわちニューラルネットワークモデルの学習を用いて重みを更新し、任意の計算精度でニューラルネットワークモデルの性能を期待される性能に近づけることができる。本開示の方法を実証するために、原理および推論を以下のように提供する。
原理4:量子化スケールファクタα、2値量子化関数sign(w)、量子化スケール領域
Figure 0007009020000040
があるとする。
Figure 0007009020000041
と{v}を順序関数(原理1に基づく)とする。ここで、
Figure 0007009020000042
である。それは、
Figure 0007009020000043
であると仮定される。それは、
Figure 0007009020000044
であると仮定される。本開示の方法における
Figure 0007009020000045
について、以下の式(14)に示す制約解が存在する。
Figure 0007009020000046
上記の制約ソリューションによれば、次のように推論することができる。
推論1:原理4においてβ1t=βλt-1であるとし、ここで、λ=β/√βであり、式(15)が得られる。
Figure 0007009020000047
ここで、上記の原理4および推論1の詳細は、本明細書の<例示的な実施形態における原理および推論>の対応する部分に見出すことができる。
ステップS107:更新されていない重みがあるか否か、yesの場合はステップS103を実行して他の重みの更新を継続し、そうでない場合は、この学習を終了し、処理はステップS101に進む。
なお、第1の実施形態におけるネットワークモデルのハイパーパラメータは予め記憶されていてもよいし、ネットワークを介して外部から取得されてもよいし、ローカル動作によって取得されてもよいが、これは本開示では限定されない。ハイパーパラメータは、ネットワークモデルの計算精度、学習速度η,β,β等を含むが、これらに限定されない。
本実施形態では、学習終了条件が満たされるまで、ステップS101~S107が繰り返し実行される。ここで、学習終了条件は予め設定された任意の条件であってもよいし、ニューラルネットワークモデルの実際の出力結果と予測される出力結果との差分値が所定の閾値を超えていない、ネットワークモデルの学習回数が所定回数に達する、等であっても良い。
本開示の第1の例示的な実施形態のソリューションを通じ、ニューラルネットワークモデルの計算精度が低い場合であっても、より大きな量子化誤差が生成され、したがって、重みの勾配が歪められる。しかし、本開示では、設定された制約閾値範囲を用いて歪んだ勾配を制約するため、勾配から得られるステップサイズが適切である。図6(c)を参照すると、図6(b)に示す勾配歪みにより最適解が得られないケースは発生しない。
<第2の例示的な実施形態>
本開示の第2の例示的な実施形態は、前述の第1の例示的な実施形態に基づいて、端末と、通信ネットワークと、サーバとを含むネットワークモデル学習システムを説明する。端末とサーバは、通信ネットワークを介して通信する。サーバはローカルに格納されたネットワークモデルを使用して、端末にオンラインで格納されたネットワークモデルを学習し、その結果、端末は、学習されたネットワークモデルを使用して、リアルタイムビジネスを実行することができる。以下、本開示の第2の例示的な実施形態の学習システムの各部について説明する。
学習システムにおける端末は、セキュリティカメラ等の組み込み画像取得装置、またはスマートフォンやPAD等の装置であってもよい。もちろん、端子は、組み込みデバイスなどのような弱いコンピューティング能力を有する端末でなく、強いコンピューティング能力を有する他の端末であってもよい。学習システムにおける端末の数は、実際のニーズに応じて決定することができる。例えば、学習システムがショッピングモール内のセキュリティカメラを学習するものである場合、ショッピングモール内のすべてのセキュリティカメラを端末と見なすことができる。このとき、学習システムの端末数は固定である。別の例として、学習システムがショッピングモール内のユーザのスマートフォンを学習するものである場合、ショッピングモールの無線ローカルエリアネットワークに接続されたすべてのスマートフォンを端末とみなすことができる。このとき、学習システムの端末数は固定されていない。本開示の第2の例示的な実施形態では、学習システムにおける端末のタイプおよび数は、ネットワークモデルが端末に格納され、学習され得る限り、限定されない。
学習システムにおけるサーバは、クラウドサーバのような強力なコンピューティング能力を持つ高性能サーバとすることができる。学習システムにおけるサーバの数は、サーバが提供する端末の数に応じて決定できる。例えば、学習システムにおいて学習される端末の数が少ないか、端末分布の地理的範囲が小さい場合、学習システムにおけるサーバの数は、たった1つのサーバのように少ない。学習システムにおいて学習される端末の数が多い場合、または端末分布の地理的範囲が大きい場合、サーバクラスタの確立など、学習システムにおけるサーバの数が多くなる。本開示の第2の例示的な実施形態では、学習システムにおけるサーバのタイプおよび数が、サーバが少なくとも1つのネットワークモデルを格納し、端末に格納されたネットワークモデルを学習するための情報を提供することができる限り、限定されない。
本開示の第2の例示的な実施形態における通信ネットワークは、端末とサーバとの間の情報転送を実現するための無線ネットワーク又は有線ネットワークである。本実施形態ではネットワークサーバと端末との間のアップリンク/ダウンリンク送信に現在利用可能な任意のネットワークを通信ネットワークとして利用することができ、本開示の第2の例示的な実施形態は、通信ネットワークの種類や通信方式を限定しない。もちろん、本開示の第2の例示的な実施形態は、他の通信方式に限定されない。たとえば、サードパーティの記憶領域は、この学習システムに割り当てられる。端末とサーバが情報を相互に転送したい場合は、転送する情報を第三者の記憶領域に格納する。端末とサーバは、第三者の記憶領域の情報を定期的に読み出して、それらの間の情報転送を実現する。
図10を参照して、本開示の第2の例示的な実施形態の学習システムのオンライン学習処理について詳細に説明する。図10は、学習システムの一例を示す。学習システムは、3つの端末(端末1~端末3)と、1つのサーバとを含むものとする。端末1は、該端末1が人の画像群を撮影するリアルタイム撮影を行うことができ、端末2は車の画像群を撮影し、端末3は風景の画像群を撮影する。3つの端末にはそれぞれ、学習が可能で画像処理が可能なネットワークモデルが格納されており、サーバには同一のネットワークモデルが格納されているものとする。以下、学習システムの学習処理について説明する。
ステップS201:端末は、通信ネットワークを介してサーバへの学習要求を開始する。
端末は、通信ネットワークを介してサーバへの学習要求を開始し、要求は、端末識別子などの情報を含む。端末識別子は、端末の身元(例えば、端末のIDやIPアドレス等)を一意に示す情報である。
このステップS201は、学習要求を開始する1つの端末を例にとり説明される。もちろん、複数の端末が、並列に学習要求を開始してもよい。複数の端末の処理手順は、1つの端末の処理手順と同様であり、ここでは省略する。
ステップS202:サーバは、学習要求を受信する。
図10に示す学習システムは、1つのサーバのみを含む。したがって、通信ネットワークは、端末によって開始された学習要求をサーバに転送することができる。学習システムが複数のサーバを含む場合、学習要求は、サーバのアイドル状態に応じて、比較的アイドル状態のサーバに転送され得る。
ステップS203:サーバは、受信した学習要求に応答する。
サーバは、受信した学習要求に含まれる端末識別子に従って、要求を開始した端末を決定し、したがって、端末に格納されている学習されるべきネットワークモデルを決定する。1つのオプションの方法は、サーバが学習されるべきネットワークモデルと端末との間の比較テーブルに従って、要求を開始した端末に格納されている学習されるべきネットワークモデルを決定することである。別のオプションの方法は、学習要求が学習されるべきネットワークモデルに関する情報を含むことであり、サーバは情報に基づいて学習されるべきネットワークモデルを決定することができることである。ここで、学習されるべきネットワークモデルを決定することは、ネットワークアーキテクチャ、ネットワークモデルのハイパーパラメータ等のネットワークモデルを表す情報を決定することを含むが、これに限定されるものではない。
サーバが学習すべきネットワークモデルを決定した後、本開示の第1の例示的な実施形態の方法を使用して、サーバによってローカルに格納された同じネットワークモデルを使用して要求を開始した端末に格納されているネットワークモデルを学習することができる。具体的には、サーバが第1の例示的な実施形態におけるステップS101~ステップS106の方法に従って、ネットワークモデルにおける重みをローカルに更新し、更新された重みを端末に転送することにより、端末は受信した更新された重みに従って、端末に格納されている学習対象のネットワークモデルを同期させる。ここで、サーバ内のネットワークモデルと端末内で学習されたネットワークモデルは同一のネットワークモデルであってもよいし、サーバ内のネットワークモデルは端末内のネットワークモデルよりも複雑であるが、両者の出力は近い。本開示は、サーバから出力された更新された重みが端末内のネットワークモデルを同期させて、端末内の同期されたネットワークモデルの出力を期待される出力により近づけることができる限り、サーバ内の学習に使用されるネットワークモデルおよび端末内の学習されたネットワークモデルのタイプを限定しない。
図10に示す学習システムでは、端末は能動的に学習要求を開始する。任意選択で、本開示の第2の例示的な実施形態は、サーバがクエリメッセージをブロードキャストし、端末がクエリメッセージに応答し、その後、上記の学習処理が実行されるケースに限定されない。
本開示の第2の例示的な実施形態で説明した学習システムにより、サーバは端末内のネットワークモデルに対してオンライン学習を行うことができ、学習の柔軟性を向上させるとともに、端末の業務処理能力を大幅に向上させ、端末の業務処理シナリオを拡張することができる。上記の第2の例示的な実施形態では、オンライン学習を例に挙げて学習システムを説明したが、本開示はオフライン学習処理に限定されるものではなく、ここでは繰り返さない。
<第3の例示的な実施形態>
本開示の第3の例示的な実施形態は、ニューラルネットワークモデルのための学習装置を説明し、この装置は、第1の例示的な実施形態で説明した学習方法を実行することができる。また、本装置は、オンライン学習システムに適用する場合には、第2の例示的な実施形態で説明したサーバ内の装置であってもよい。以下、図11を参照して、装置のソフトウェア構成について詳細に説明する。
第3の実施形態の学習装置は、勾配決定ユニット11と、勾配制約ユニット12と、更新ユニット13とを含み、勾配決定ユニット11は、逆伝播中のネットワークモデルにおける重みの勾配を決定するために使用され、勾配制約ユニット12は、勾配決定ユニット11によって決定された勾配のうちの少なくとも1つについて、以下の処理:勾配が制約閾値範囲内にあるかどうかを決定すること、制約閾値範囲を超える勾配を制約閾値範囲内の値に制約すること、を実行するために使用され、制約閾値範囲は、ニューラルネットワークモデルの学習の反復回数および計算精度に従って決定され、更新ユニット13は、制約された勾配を使用することによって重みを更新するために使用される。
勾配制約ユニット12は、ニューラルネットワークモデルにおける各重みの量子化誤差を決定し、最大の量子化誤差をニューラルネットワークモデルの量子化誤差として使用し、ニューラルネットワークモデルの量子化誤差および学習の反復回数を使用して制約閾値範囲を決定するためにさらに使用され、決定された制約閾値範囲は、少なくとも1つの勾配を制約することが好ましい。すなわち、ニューラルネットワークモデル全体に対して共通の制約閾値範囲が設定され、これは、制約されるべきすべての勾配を制約するために使用される。
好ましくは、勾配制約ユニット12は、ネットワークモデルにおける少なくとも1つの重みに対して、重みの量子化誤差を決定し、重みの量子化誤差と学習の反復回数とを使用することによって制約閾値範囲を決定するためにさらに使用され、決定された制約閾値範囲は、重みの勾配を制約する。言い換えれば、それぞれ独立した制約閾値範囲が各重みに対して設定され、これは、対応する重みの勾配を制約するためにのみ使用される。
学習装置は、ネットワークモデルにおける少なくとも1つの重みについて、この学習における重みによって決定された勾配と、以前の複数の学習における重みの制約された勾配と、から重み付き最大値を決定するために使用される勾配更新ユニット14をさらに含み、勾配制約ユニット12は、重み付き最大値が制約閾値範囲内にあるかどうかを判定し、制約閾値範囲を超える重み付き最大値を制約閾値範囲内の値に制約するために使用される。
また、本実施形態の学習装置は、学習システム内のサーバの機能(受信データを識別する機能、データカプセル化機能(data encapsulation function)、ネットワーク通信機能など、ここでは再度説明しない)を実装するモジュールを有する。
本開示の第3の例示的な実施形態の学習装置は、図12に示す構成で動作させることができる。データセットが図12に示される構成によって受信されると、受信されたデータセットは処理されてもよい。最終出力結果と予測される出力結果との差分値が大きい場合には、第1の実施形態で説明した学習方法を実行する。図12を参照して、学習装置のハードウェア構成は、ネットワークモデル格納部20と、特徴マップ格納部21と、畳み込み部22と、プーリング/活性化部23と、量子化部24と、制御部25とを含む。各ユニットについて、それぞれ以下に説明する。
ネットワークモデル格納部20は、本開示の第1の例示的な実施形態で説明した学習対象のネットワークモデルのハイパーパラメータを格納しており、ネットワークモデルの構成情報、各層において実行される演算に必要な情報(ネットワークモデルの計算精度、学習速度η、β、β等)を含むが、これらに限定されない。特徴マップ格納部21は、ネットワークモデルにおける各層が演算中に必要とする特徴マップ情報を格納する。
順伝播では、畳み込み部22は、ネットワークモデル格納部20によって入力された情報と、特徴マップ格納部21によって入力された情報(i層目の入力特徴マップなど)とに従って、データセットに対して畳み込み処理を行うために使用される。逆伝播では、第1の実施形態の方法に従って、制約用の制約閾値範囲が、畳み込み層における重みの計算精度と、学習回数と、に従って決定され、畳み込み層における重みの勾配は拘束される。畳込み層における重みは、制約された勾配を使用することで更新される。
プーリング/活性化部23、量子化部24などの他のユニットは、本開示を実施するために必要なユニットではない。図12は、プーリング/活性化部23及び量子化部24が含まれる場合を示している。もちろん、学習装置はプーリング/活性化部23および量子化部24を含まなくてもよく、または学習装置は正則化処理およびスケーリング処理を実行することができる他のユニットをさらに含んでもよく、これらについてはここでは再び説明しない。これらのユニットによって管理される層が重みを含む場合、層内の重みは、第1の実施形態の方法に従って、逆伝播中に更新することができる。
制御部25は、図12の各部に制御信号を出力することによって、ネットワークモデル格納部20から量子化部24の動作を制御する。
以下、図13を参照して、本開示の第3の例示的な実施形態におけるニューラルネットワークモデルの学習装置を適用した環境について説明する。図13に示す適用環境では、プロセッサ30、内部メモリ31、ネットワークインターフェース32、入力部33、外部メモリ34、およびバス35を含むデバイスが学習装置の通常動作をサポートする。
プロセッサ30は、学習装置における全体的な制御を行うために使用されるCPUまたはGPUであってもよい。内部メモリ31は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)等を含む。RAMは、プロセッサ30のメインメモリ、ワークエリア等として使用することができる。ROMは、プロセッサ30の制御プログラムを格納するために使用されてもよく、制御プログラムが動作するときに使用されるファイルまたは他のデータを格納するために使用されてもよい。ネットワークインターフェース32は、ネットワークに接続され、ネットワーク通信を実施することができる。入力部33は、キーボード、マウス等のデバイスからの入力を制御する。外部メモリ34は、起動プログラム、各種アプリケーション等を格納する。バス35は、上記の構成要素を接続するために使用される。
本開示の第1の例示的な実施形態のソリューションを使用することによるニューラルネットワークモデルの学習が実施された後、アプリケーションビジネスは、学習されたネットワークモデルを使用して実行されてもよい。第1の例示的な実施形態における方法に従って学習されたネットワークモデルをセキュリティカメラに格納する場合を例にとると、セキュリティカメラが対象検出アプリケーションを実行するものとし、セキュリティカメラがデータセットとして画像を撮影した後、撮影された画像はネットワークモデルに入力され、ネットワークモデルの上から下までの各層で画像が計算され、対象検出結果が出力される。また、本開示は、データ分類などの出力結果に対して後処理をさらに実行することに限定されない。
本明細書で説明されるアプリケーション方法に対応して、本開示はニューラルネットワークモデルのアプリケーション装置をさらに説明し、アプリケーション装置は学習されたネットワークモデルを格納する格納モジュールと、格納されたネットワークモデルによって実行され得るタスクに対応するために必要とされるデータセットを受信する受信モジュールと、格納されたネットワークモデルにおける各層において上から下へのデータセットに対する演算を実行し、結果を出力する処理モジュールと、を含む。
他の実施形態
また、本開示の実施形態は、上述の実施形態のうちの1つ以上の機能を実行するために記憶媒体(より完全には「非一時的コンピュータ可読記憶媒体」とも呼ばれる)に記録されたコンピュータ実行可能命令(例えば、1つ以上のプログラム)を読み出して実行する、および/または上述の実施形態のうちの1つ以上の機能を実行する1つ以上の回路(例えば、特定用途向け集積回路(ASIC))を含むシステムまたは装置のコンピュータによって、および、例えば、上述の実施形態のうちの1つ以上の機能を実行するために記憶媒体からコンピュータ実行可能命令を読み出して実行し、および/または、上述の実施形態のうちの1つ以上の機能を実行するために1つ以上の回路を制御することによって、システムまたは装置のコンピュータによって実行される方法によって実現されてもよい。コンピュータは、1つ以上のプロセッサ(例えば、中央処理ユニット(CPU)、マイクロ処理ユニット(MPU))を含み、コンピュータ実行可能命令を読み出して実行するための別個のコンピュータまたは別個のプロセッサのネットワークを含み得る。コンピュータ実行可能命令は例えば、ネットワークまたは記憶媒体からコンピュータに提供されてもよい。記憶媒体は例えば、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、分散コンピューティングシステムの記憶装置、光ディスク(コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、またはBlu-ray Disc(BD)TMなど)、フラッシュメモリデバイス、メモリカードなどの1つ以上を含み得る。
また、本開示の実施形態は以下の方法、すなわち、前述した実施形態の機能を実行するソフトウェア(プログラム)を、ネットワークや各種記憶媒体、システムまたは装置のコンピュータ、または中央処理ユニット(CPU)、マイクロ処理ユニット(MPU)を介して、システムまたは装置に供給し、プログラムを読み出して実行することによっても実現することができる。
本開示は例示的な実施形態を参照して説明されてきたが、本開示は開示された例示的な実施形態に限定されないことを理解されたい。以下の特許請求の範囲はそのようなすべての変更および同等の構成および機能を包含するように、最も広い解釈が与えられるべきである。
<例示的な実施形態における理論および推論>
証明に必要な補助定理:
補題1 任意の
Figure 0007009020000048
および凸関数
Figure 0007009020000049
について、
Figure 0007009020000050
および
Figure 0007009020000051
であると仮定し、ここで、任意の
Figure 0007009020000052
について、
Figure 0007009020000053
である。
証明
Figure 0007009020000054
および
Figure 0007009020000055
であるため、式(16)を得ることができる。
Figure 0007009020000056
t∈Nを与えて並べ替えることによって、α<0であると仮定すると、式(17)を得ることができる。
Figure 0007009020000057
投射特性
Figure 0007009020000058
および凸関数Fによれば、式(18)を得ることができる。
Figure 0007009020000059
式(18)が成り立たないので、式(18)は、α>0のときにのみ真であることを知ることは容易である。
補題2 v=βt-1+(1-β)g とv=0と0≦β<1とする。
Figure 0007009020000060
が与えられると、式(19)を得ることができる。
Figure 0007009020000061
β=0とv=g の場合、上記の仮定が満たされる。また、0<β<1の場合、式(20)が得られる。
Figure 0007009020000062
式(20)は勾配制約
Figure 0007009020000063
から得られる。同時に、v=0であるため、式(21)が得られる。
Figure 0007009020000064
式(21)を合計し、ここで、t=[1,T]であり、式(22)を得ることができる。
Figure 0007009020000065
式(22)は、式(23)の制約から生じる。
Figure 0007009020000066
補題3 原理3で想定されるパラメータ設定および条件について、式(24)を得ることができる。
Figure 0007009020000067
式(25)における式(24)の証明を参照する。
Figure 0007009020000068
β1t<1<1によれば、式(25)の最初の不等式が証明できる。現在の反復ステップの前のαT,i,、vT,i,における最大値の定義と、後述するアルゴリズム1によれば、式(25)における2番目の不等式を証明することができる。Cauchy-Schwarz不等式によれば、式(25)における3番目の不等式が証明できる。β1k<β(ここでk∈[T])および
Figure 0007009020000069
)によれば、式(25)における4番目の不等式が証明され得る。さらに、式(26)を得ることができる。
Figure 0007009020000070
式(27)が成り立つので、式(26)の最後の不等式も成り立つ。
Figure 0007009020000071
定理1の証明
以下の設定が考慮される。fは陰解量子化重みを含む線形関数であり、重みの定義領域F=[-1,1]。具体的には、以下の式(28)に示す関数のシーケンスを考える:
Figure 0007009020000072
ここで、
Figure 0007009020000073
は陰解量子化重みであり、その目的は量子化誤差を最小化すること、すなわち、
Figure 0007009020000074
を得ることである。式(28)は、式(29)に変換することができる。
Figure 0007009020000075
ここで、C∈Nについて、以下の式(30)が満たされる。
Figure 0007009020000076
解く問題は一次元の問題であるので、表現を簡単にするために、
Figure 0007009020000077
を省略することができる。同時に、座標インデックスをさらに省略することができる。
式(29)については、
Figure 0007009020000078
のときに最小の回帰(regret)が与えられることを見ることは困難ではない。
式(29)に対してADAM処理を行うので、式(31)を得ることができる。
Figure 0007009020000079
FはLドメイン制限を有する。このとき、全てのパラメータ設定はAdamアルゴリズムを満たしている。
原理の証明を提供するために、任意の学習速度ηが想定され、
Figure 0007009020000080
である。ここで、
Figure 0007009020000081
であり、一方、さらに、
Figure 0007009020000082
であり、ここで、
Figure 0007009020000083
である。パラメータの添え字を並べ替えることができる。任意のCステップサイズに対して、t∈Nであるとすると、
Figure 0007009020000084
となり得る。我々の目標は
Figure 0007009020000085
を提供することであり、ここで、
Figure 0007009020000086
である。
Figure 0007009020000087
が成り立つ場合、上記の仮定が成り立つことを理解することは困難ではない。さらに、
Figure 0007009020000088
であるとすると、w=sign(w)および
Figure 0007009020000089
が保持されるので、対応する勾配は、式(32)に示されるように観測される。
Figure 0007009020000090
ADAMアルゴリズムの(Ct+1)回の更新に対して、式(33)を得ることができる。
Figure 0007009020000091
βCt≧0のとき、
Figure 0007009020000092
が保持されれば、式(34)を得ることができる。
Figure 0007009020000093
Figure 0007009020000094
が保持され、上記式(34)の2番目の不等式が成立する。
よって、
Figure 0007009020000095
および
Figure 0007009020000096
が得られる。
上記の証明を完了するためには、
Figure 0007009020000097
であることを証明する必要がある。この原理を証明するために、
Figure 0007009020000098
のとき、
Figure 0007009020000099
およびF=[-1,1](ここで、Fは単純なユークリッドマッピングである)が成り立つとき、
Figure 0007009020000100
が成り立つ、ことが得られる。
再び、以下のような状況が考慮される。
Figure 0007009020000101
であれば、(Ct+2)番目の更新を行うと、式(35)を得ることができる。
Figure 0007009020000102
Figure 0007009020000103
が成立するので、式(35)の2番目の方程式も成立する。
Figure 0007009020000104
であることを証明するためには、次式(36)を証明する必要がある。
Figure 0007009020000105
式(37)は、式(36)を並べ替えることによって得ることができる。
Figure 0007009020000106
式(37)の最後の不等式は、式(38)の制約から生じる。
Figure 0007009020000107
補題1およびF=[-1,1]であるため、上記式(38)における2番目の不等式が成り立つ。
また、
Figure 0007009020000108
およびi mod Cが1または2でない場合、勾配は0と等しくなるため、式(39)を得ることができる。
Figure 0007009020000109
したがって、w=1が与えられると、式(39)は、すべての
Figure 0007009020000110
について成り立つので、式(40)を得ることができる。
Figure 0007009020000111
ここで、k∈Nである。したがって、各Cステップについて、ADAMアルゴリズムの回帰はCである。したがって、T→∞のときに
Figure 0007009020000112
が成り立つ。
原理1の証明が完了する。
原理2の証明
原理2は、原理1の最適な設定を一般化したものである。具体的には、バイナリ最適化アルゴリズムを構築することができる。さらに一般的なケースを定義し、式(41)を参照して、ADAMアルゴリズムの更新処理中に一定の偏差
Figure 0007009020000113
を設計する。
Figure 0007009020000114
以下の設定を考察する。fは陰解量子化重みを含む線形関数であり、重みの定義領域F=[-1,1]。具体的には、以下の式(42)に示す関数のシーケンスを考える。
Figure 0007009020000115
ここで、定数C∈Nは、式(43)を満たす。
Figure 0007009020000116
ここで、γ=β/√β<1である。Cは、β、β、αに基づく定数である。
kC≦0(ここで
Figure 0007009020000117
)であれば、より一般的なケースでは、mkC+Cは式(44)のようになる。
Figure 0007009020000118
kC<0である場合、mkC+C<0が依然として満たされる。
時間反復tにおいて、式(45)を得ることができる。
Figure 0007009020000119
>0の場合、陰解量子化重みを含むシーケンス関数について、式(46)を得ることができる。
Figure 0007009020000120

ここで、i∈{1,...,C}である。δt+i≧0の場合、j∈{1,...,C-1}について、δt+s≧0(ここで
Figure 0007009020000121
)が成立する。公知の補題を用いて、式(47)を得ることができる。
Figure 0007009020000122
i’=C/2が成立するとする。上記式(45)を証明するためには、以下の式(48)をさらに証明する必要がある。
Figure 0007009020000123
最後に、式(49)を得ることができる。
Figure 0007009020000124
補題2及び下記式(50)によれば、
Figure 0007009020000125
の場合、下記式(51)を得ることができる。
Figure 0007009020000126
Figure 0007009020000127
Figure 0007009020000128
の場合、Cステップごとに、T→∞ の場合に
Figure 0007009020000129
が成立する。
原理2の証明が完了する。
原理3の証明
ζを任意の小さな正の実数として設定する。領域[-1,1]における一次元ランダム凸最適化設定を考慮すると、各反復回数tについて、f(w)の勾配が式(52)に示される。
Figure 0007009020000130
ここで、Cは、β、β、ξ、α*に基づく定数である。期待関数はF(w)=ζwである。したがって、領域[-1,1]における最適解は、w=-1である。
したがって、ステップサイズは、Adamによって式(53)に更新される。
Figure 0007009020000131
式(53)におけるΔの平均値E[Δ]の下限が式(54)のようになるように十分に大きい実数Cがある。
Figure 0007009020000132
ここで、Cは関数であり、これは、β、β、ξ、α*によって決定される。
原理4の証明
原理4の結果は、アルゴリズム1の有効性を証明するために使用され、ここで、アルゴリズム1は:
本開示を使用して、バイナリニューラルネットワークを学習する
入力:ネットワーク重みw∈F、初期学習速度η、減衰係数
Figure 0007009020000133
、減衰係数β、下限関数c、上限関数c
Figure 0007009020000134
初期化:勾配一次モーメントm、勾配2次モーメントv
t=1からt=Tまで、以下の演算を実行する(ここで、tは反復数であり、Tは終了数である):
Figure 0007009020000135
上述のアルゴリズム1は、バイナリニューラルネットワークモデルを例として説明されており、本開示は、他のタイプのニューラルネットワークモデルに限定されない。
以下の原理4は、アルゴリズム1の収束の証明を提供する。
Figure 0007009020000136
とすると、Fが閉じた凸解である場合にwが存在する。
式(55)が知られている。
Figure 0007009020000137
ここで、u=w
Figure 0007009020000138
と補題4とを用いた
Figure 0007009020000139
とすると、式(56)が得られる。
Figure 0007009020000140
上記式(56)を並べ替えると、式(57)が得られる。
Figure 0007009020000141
式(54)の2番目の不等式は、Cauchy-SchwarzとYoungの不等式によって証明できる。f関数のコンベクシティを用いて、各ステップにおける回帰を制限し、以下の式(58)を得る。
Figure 0007009020000142
補題3を使用することによって、式(59)を得ることができる。
Figure 0007009020000143
β1t≦β<1であるので、上記式(59)により、式(60)が得られる。
Figure 0007009020000144
γの制約に基づいて、式(61)を得ることができる。
Figure 0007009020000145
関数の実現可能な領域では、Lおよび上記の式のすべてを使用して、式(62)を得ることができる。
Figure 0007009020000146
下記式(63)によれば、
Figure 0007009020000147
以下の式(64)を得ることができる。
Figure 0007009020000148

Claims (18)

  1. ニューラルネットワークモデルの学習方法であって、
    逆伝播中のニューラルネットワークモデルにおける重みの勾配を決定する決定工程と、
    前記決定された勾配のうち少なくとも1つの勾配について勾配の二次モーメント前記ニューラルネットワークモデルの計算精度および学習の反復回数に従って決定される制約閾値範囲内にあるかどうかを判定し、前記制約閾値範囲を超える勾配の二次モーメント前記制約閾値範囲内に制約制約された勾配の二次モーメントを用いて重みを更新する更新工程
    を有することを特徴とする学習方法。
  2. 請求項1に記載の学習方法であって、
    前記勾配の二次モーメント前記制約閾値範囲の上限値よりも大きい場合には前記勾配の二次モーメントを上限値に制約し、
    前記勾配の二次モーメント前記制約閾値範囲の下限値よりも小さい場合には前記勾配の二次モーメントを下限値に制約することを特徴とする学習方法。
  3. 請求項1に記載の学習方法であって、
    前記制約閾値範囲の上限値は、連続する学習において単調に減少し、前記制約閾値範囲の下限値は、連続する学習において単調に増加することを特徴とする学習方法。
  4. 請求項1に記載の学習方法であって、さらに、
    前記ニューラルネットワークモデルにおける各重みの量子化誤差を決定し、最大の量子化誤差を前記ニューラルネットワークモデルの量子化誤差として用いる工程と、
    前記ニューラルネットワークモデルの学習の反復回数と量子化誤差とを用いて前記制約閾値範囲を決定する工程と、を有し、ここで、決定した制約閾値範囲を用いて、少なくとも1つの勾配の二次モーメントを制約することを特徴とする学習方法。
  5. 請求項1に記載の学習方法であって、さらに、
    前記ニューラルネットワークモデルにおける少なくとも1つの重みについて、重みの量子化誤差を決定する工程と、
    前記重みの量子化誤差と前記学習の反復回数とを用いて前記制約閾値範囲を決定する工程と、を有し、ここで、決定された制約閾値範囲は、重みの勾配の二次モーメントを制約するために用いられることを特徴とする学習方法。
  6. 請求項1に記載の学習方法であって、さらに、
    前記ニューラルネットワークモデルにおける少なくとも1つの重みについて、現在の学習において決定された重みの勾配の二次モーメントと、以前の複数の学習における重みの制約された勾配の二次モーメントと、から、重み付けされた最大値を決定する工程と、
    前記重み付けされた最大値が前記制約閾値範囲内にあるかどうかを判定し、前記制約閾値範囲を超える重み付けされた最大値を前記制約閾値範囲内に制約する工程と、を有することを特徴とする学習方法。
  7. 請求項6に記載の学習方法であって、前記ニューラルネットワークモデルの計算精度が低いほど、重み付けされた最大値を決定するために必要とされる以前の複数の学習の数が少ないことを特徴とする学習方法。
  8. ニューラルネットワークモデルの学習システムであって、
    第2ニューラルネットワークモデルを同期させるための情報を提供する少なくとも1つの第1ニューラルネットワークモデルを格納するサーバであって、
    逆伝播中に前記第1ニューラルネットワークモデルにおける重みの勾配を決定する決定工程と
    前記決定された勾配のうち少なくとも1つの勾配について、勾配の二次モーメント前記第1ニューラルネットワークモデルの計算精度および学習の反復回数に従って決定される制約閾値範囲内にあるかどうかを判定し、前記制約閾値範囲を超える勾配の二次モーメント前記制約閾値範囲内に制約し、制約された勾配の二次モーメントを用いて重みを更新する更新工程と
    前記更新された重みを出力する出力工程と
    を実行するために用いられる前記サーバと、
    前記第2ニューラルネットワークモデルを格納する端末であって、前記サーバによって出力された重みを用いて前記第2ニューラルネットワークモデルを同期させるために用いられる前記端末と
    を有することを特徴とする学習システム。
  9. 請求項8に記載の学習システムであって、前記サーバは更に、
    前記第1ニューラルネットワークモデルにおける各重みの量子化誤差を決定し、最大の量子化誤差を前記第1ニューラルネットワークモデルの量子化誤差として用い、
    前記第1ニューラルネットワークモデルの学習の反復回数および量子化誤差を用いて前記制約閾値範囲を決定する、ここで、決定された制約閾値範囲は少なくとも1つの勾配の二次モーメントを制約するために用いられる
    ことを特徴とする学習システム。
  10. 請求項8に記載の学習システムであって、前記サーバは更に、
    前記第1ニューラルネットワークモデルにおける少なくとも1つの重みに対して、重みの量子化誤差を決定し、
    前記重みの量子化誤差と前記学習の反復回数とを用いて前記制約閾値範囲を決定する、ここで、決定された制約閾値範囲は、重みの勾配の二次モーメントを制約するために用いられる
    ことを特徴とする学習システム。
  11. 請求項8に記載の学習システムであって、前記サーバは更に、
    前記第1ニューラルネットワークモデルにおける少なくとも1つの重みについて、現在の学習において決定された重みの勾配の二次モーメントと、以前の複数の学習における重みの制約された勾配の二次モーメントと、から、重み付けされた最大値を決定し、
    前記重み付けされた最大値が前記制約閾値範囲内にあるかどうかを判定し、前記制約閾値範囲を超える重み付けされた最大値を前記制約閾値範囲内に制約する
    ことを特徴とする学習システム。
  12. ニューラルネットワークモデルの学習装置であって、
    逆伝播中ニューラルネットワークモデルにおける重みの勾配を決定する決定手段と
    前記決定された勾配のうち少なくとも1つの勾配について、勾配の二次モーメント前記ニューラルネットワークモデルの計算精度および学習の反復回数に従って決定される制約閾値範囲内にあるかどうかを判定し、前記制約閾値範囲を超える勾配の二次モーメント前記制約閾値範囲内に制約制約された勾配の二次モーメントを用いて重みを更新する更新手段と
    を有することを特徴とする学習装置。
  13. 請求項12に記載の学習装置であって、さらに、
    前記ニューラルネットワークモデルにおける各重みの量子化誤差を決定し、最大の量子化誤差を前記ニューラルネットワークモデルの量子化誤差として用いる手段と
    前記ニューラルネットワークモデルの学習の反復回数および量子化誤差を用いて前記制約閾値範囲を決定する手段とを有し、ここで、決定された制約閾値範囲は少なくとも1つの勾配の二次モーメントを制約するために用いられる
    ことを特徴とする学習装置。
  14. 請求項12に記載の学習装置であって、更に、
    前記ニューラルネットワークモデルにおける少なくとも1つの重みに対して、重みの量子化誤差を決定する手段と
    前記重みの量子化誤差と前記学習の反復回数とを用いて前記制約閾値範囲を決定する手段とを備え、ここで、決定された制約閾値範囲は、重みの勾配の二次モーメントを制約するために用いられる
    ために用いられることを特徴とする学習装置。
  15. 請求項12に記載の学習装置であって、更に、
    前記ニューラルネットワークモデルにおける少なくとも1つの重みについて、現在の学習において決定された重みの勾配の二次モーメントと、以前の複数の学習における重みの制約された勾配の二次モーメントと、から、重み付けされた最大値を決定する手段と
    前記重み付けされた最大値が前記制約閾値範囲内にあるかどうかを判定し、前記制約閾値範囲を超える重み付けされた最大値を前記制約閾値範囲内に制約する手段と
    を有することを特徴とする学習装置。
  16. 学習されたニューラルネットワークモデルを用いて分類を出力する方法であって、
    逆伝播中のニューラルネットワークモデルにおける重みの勾配を決定する決定工程と、
    前記決定された勾配のうち少なくとも1つの勾配について勾配の二次モーメント前記ニューラルネットワークモデルの計算精度および学習の反復回数に従って決定される制約閾値範囲内にあるかどうかを判定し、前記制約閾値範囲を超える勾配の二次モーメント前記制約閾値範囲内に制約制約された勾配の二次モーメントを用いて重みを更新する更新工程と、
    前記ニューラルネットワークモデルによって実行され得るタスクに対応するために必要とされるデータセットを受信する受信工程と、
    前記ニューラルネットワークモデルにおいて各層においてデータセットに対する演算を実行して結果を出力する出力工程
    を有することを特徴とする方法。
  17. 学習されたニューラルネットワークモデルの適用装置であって、
    逆伝播中のニューラルネットワークモデルにおける重みの勾配を決定する決定手段と、
    前記決定された勾配のうち少なくとも1つの勾配について勾配の二次モーメント前記ニューラルネットワークモデルの計算精度および学習の反復回数に従って決定される制約閾値範囲内にあるかどうかを判定し、前記制約閾値範囲を超える勾配の二次モーメント前記制約閾値範囲内に制約制約された勾配の二次モーメントを用いて重みを更新する更新手段と、
    前記ニューラルネットワークモデルによって実行され得るタスクに対応するために必要とされるデータセットを受信する受信手段と、
    前記ニューラルネットワークモデルにおいて各層においてデータセットに対する演算を実行して結果を出力する出力手段
    を有することを特徴とする適用装置。
  18. コンピュータを、請求項1ないし7のいずれか1項に記載の学習方法の各工程を実行させるためのコンピュータプログラム
JP2020144863A 2019-08-29 2020-08-28 学習方法、学習システム、学習装置、方法、適用装置、及びコンピュータプログラム Active JP7009020B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201910807591.6 2019-08-29
CN201910807591 2019-08-29
CN201911115314.5A CN112446487A (zh) 2019-08-29 2019-11-14 神经网络模型的训练和应用方法、装置、系统及存储介质
CN201911115314.5 2019-11-14

Publications (2)

Publication Number Publication Date
JP2021034060A JP2021034060A (ja) 2021-03-01
JP7009020B2 true JP7009020B2 (ja) 2022-01-25

Family

ID=74677497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020144863A Active JP7009020B2 (ja) 2019-08-29 2020-08-28 学習方法、学習システム、学習装置、方法、適用装置、及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US20210065011A1 (ja)
JP (1) JP7009020B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200125959A1 (en) * 2019-12-19 2020-04-23 Intel Corporation Autoencoder Neural Network for Signal Integrity Analysis of Interconnect Systems
US20210374499A1 (en) * 2020-05-26 2021-12-02 International Business Machines Corporation Iterative deep graph learning for graph neural networks
US11720927B2 (en) * 2021-01-13 2023-08-08 Samsung Electronics Co., Ltd. Method and apparatus for generating user-ad matching list for online advertisement
US11515042B1 (en) * 2021-10-27 2022-11-29 Kkl Consortium Limited Method for generating a diagnosis model capable of diagnosing multi-cancer according to stratification information by using biomarker group-related value information, method for diagnosing multi-cancer by using the diagnosis model, and device using the same
CN114255234B (zh) * 2022-02-28 2022-05-20 北京鹰瞳科技发展股份有限公司 对基于眼底图像识别心脑血管风险的模型进行训练的方法及其相关产品
WO2024172378A1 (ko) * 2023-02-13 2024-08-22 (주) 애니펜 가상 공간 내에서 언어 모델을 관리하기 위한 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019080232A (ja) 2017-10-26 2019-05-23 株式会社Preferred Networks 勾配圧縮装置、勾配圧縮方法及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367798B2 (en) * 2012-09-20 2016-06-14 Brain Corporation Spiking neuron network adaptive control apparatus and methods
US11216719B2 (en) * 2017-12-12 2022-01-04 Intel Corporation Methods and arrangements to quantize a neural network with machine learning

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019080232A (ja) 2017-10-26 2019-05-23 株式会社Preferred Networks 勾配圧縮装置、勾配圧縮方法及びプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HOU, L., et al.,Analysis of Quantized Models,OpenReview.net (ICLR 2019) [online],2019年02月21日,Retrieved from the Internet <URL: https://openreview.net/forum?id=ryM_IoAqYX> [Retrieved on 2021-08-27]
LUO, L., et al.,Adaptive Gradient Methods with Dynamic Bound of Learning Rate,arXiv.org [online],arXiv:201902.09843,2019年02月26日,Retrieved from the Internet <URL: https://arxiv.org/abs/1902.09843> [Retrieved on 2021-08-27]
WU, S., et al.,Training and Inference with Integers in Deep Neural Networks,arXiv.org [online],arXiv:1802.04680,2018年02月13日,Retrieved from the Internet: <URL: https://arxiv.org/abs/1802.04680> [Retrieved on 2021-08-27]

Also Published As

Publication number Publication date
US20210065011A1 (en) 2021-03-04
JP2021034060A (ja) 2021-03-01

Similar Documents

Publication Publication Date Title
JP7009020B2 (ja) 学習方法、学習システム、学習装置、方法、適用装置、及びコンピュータプログラム
CN114116198B (zh) 一种移动车辆的异步联邦学习方法、系统、设备及终端
US20240104378A1 (en) Dynamic quantization of neural networks
US11657254B2 (en) Computation method and device used in a convolutional neural network
US20180350109A1 (en) Method and device for data quantization
KR102336295B1 (ko) 적응적 프루닝 및 가중치 공유를 사용하는 컨볼루션 신경망 시스템 및 그것의 동작 방법
WO2022194013A1 (en) System and method for knowledge-preserving neural network pruning
CN114787824A (zh) 联合混合模型
JP2020109647A (ja) 多層ニューラルネットワークモデルの学習及び適用方法、装置、並びに記憶媒体
WO2020147142A1 (zh) 一种深度学习模型的训练方法、系统
EP3767549A1 (en) Delivery of compressed neural networks
CN112988275B (zh) 一种基于任务感知的移动边缘计算多用户计算卸载方法
JP6935868B2 (ja) 画像認識装置、画像認識方法、およびプログラム
CN111406263A (zh) 神经网络架构搜索的方法与装置
CN112446487A (zh) 神经网络模型的训练和应用方法、装置、系统及存储介质
CN112561050A (zh) 一种神经网络模型训练方法及装置
CN116668351A (zh) 服务质量预测方法、装置、计算机设备及存储介质
CN116258196A (zh) 对神经网络进行训练的方法及更新神经网络参数的优化器
US20220335655A1 (en) Substitutional input optimization for adaptive neural image compression with smooth quality control
CN115529350A (zh) 参数优化方法、装置、电子设备和可读存储介质
CN117035045A (zh) 模型参数更新方法、装置、设备、存储介质和程序产品
KR20200024433A (ko) 시간 가변적 예측(anytime prediction)을 위한 얇은 하위 네트워크를 활용하는 방법 및 시스템
EP3767548A1 (en) Delivery of compressed neural networks
KR20220010419A (ko) 동적 예측 신뢰도 임계값 선택에 기반한 저복잡도 인공지능 모델 학습을 위한 전자 장치 및 학습 방법
CN111767204B (zh) 溢出风险检测方法、装置及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200828

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211105

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220107