JPWO2018155232A1 - 情報処理装置、情報処理方法、並びにプログラム - Google Patents

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

Info

Publication number
JPWO2018155232A1
JPWO2018155232A1 JP2019501225A JP2019501225A JPWO2018155232A1 JP WO2018155232 A1 JPWO2018155232 A1 JP WO2018155232A1 JP 2019501225 A JP2019501225 A JP 2019501225A JP 2019501225 A JP2019501225 A JP 2019501225A JP WO2018155232 A1 JPWO2018155232 A1 JP WO2018155232A1
Authority
JP
Japan
Prior art keywords
gradient
quantization
distribution
value
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019501225A
Other languages
English (en)
Other versions
JP7095675B2 (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of JPWO2018155232A1 publication Critical patent/JPWO2018155232A1/ja
Application granted granted Critical
Publication of JP7095675B2 publication Critical patent/JP7095675B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)

Abstract

本技術は、量子化を精度良く行えるようにする情報処理装置、情報処理方法、並びにプログラムに関する。機械学習の演算により算出された値の分布が、所定の確率分布に基づくと仮定して量子化を行う。演算は、ディープラーニングにおける演算であり、ディープラーニングに基づく演算により算出された勾配の分布が、所定の確率分布に基づくとして量子化を行う。複数の装置で分散して機械学習を行う分散学習において、1の装置での学習により得られた値を、他の装置に供給するときに、量子化が行われる。本技術は、ディープラーニングなどの機械学習を分散して行う装置に適用できる。

Description

本技術は情報処理装置、情報処理方法、並びにプログラムに関し、例えば、複数の装置で分散して機械学習を行う場合に適用して好適な情報処理装置、情報処理方法、並びにプログラムに関する。
近年、人工知能における研究が盛んとなり、さまざまな学習方法が提案されている。例えば、ニューラルネットワークなどと称される学習方法が提案されている。ニューラルネットワークによる学習では、一般に計算回数が膨大になるため、1台の装置で処理すると長時間の計算が必要となる傾向にある。そこで、複数台の装置で分散して処理することが提案されている(例えば、特許文献1参照)。
特開平05−108595号公報
複数台の装置で分散して処理した場合、それぞれの装置での処理負担は軽減し、処理(計算)にかかる時間を短縮することができる。処理を行う複数台の装置が、所定のネットワークで接続されている場合、各装置で計算された結果を、他の装置に供給することで分散処理が行われる。
計算結果であるパラメータのサイズは大きくなるため、装置間でデータ量の大きい計算結果を授受する必要があり、そのような授受に係わる時間も長くなってしまう。また複数の装置のそれぞれにおいて、そのような時間がかかるデータの授受が行われると、システム全体として、さらに時間がかかることになる。
複数台の装置で分散して処理した場合、処理(計算)にかかる時間を短縮することはできるが、データの授受にかかる時間が長くなり、結果として学習時間自体は、望まれているほど短縮化できない。そこで学習時間を短縮することが望まれている。
本技術は、このような状況に鑑みてなされたものであり、分散学習時の装置間でのデータの授受にかかる時間を短縮することができるようにするものである。
本技術の一側面の情報処理装置は、機械学習の演算により算出された値の分布が、所定の確率分布に基づくと仮定して量子化を行う。
本技術の一側面の情報処理方法は、機械学習の演算により算出された値の分布が、所定の確率分布に基づくと仮定して量子化を行うステップを含む。
本技術の一側面のプログラムは、コンピュータに、機械学習の演算により算出された値の分布が、所定の確率分布に基づくと仮定して量子化を行うステップを含む処理を実行させる。
本技術の一側面の情報処理装置、情報処理方法、並びにプログラムにおいては、機械学習の演算により算出された値の分布が、所定の確率分布に基づくと仮定されて量子化される。
なお、情報処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
また、プログラムは、伝送媒体を介して伝送することにより、または、記録媒体に記録して、提供することができる。
本技術の一側面によれば、分散学習時の装置間でのデータの授受にかかる時間を短縮することができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術を適用したシステムの一実施の形態の構成を示す図である。 本技術を適用したシステムの他の実施の形態の構成を示す図である。 勾配の分布を表す図である。 確率分布の例を示す図である。 正規化分布の例を示す図である。 理論値と実測値との関係を示す図である。 勾配の分布を表す図である。 理論値と実測値との関係を示す図である。 適用される確率分布について説明するための図である。 ワーカの第1の処理について説明するためのフローチャートである。 量子化処理に関わる処理について説明するためのフローチャートである。 ワーカの第2の処理について説明するためのフローチャートである。 記録媒体について説明するための図である。
以下に、本技術を実施するための形態(以下、実施の形態という)について説明する。
<システム構成例>
本技術は、機械学習における分散学習に適用できる。機械学習としては、多層構造のニューラルネットワークを用いた機械学習であるディープラーニング(深層学習)に対して、本技術を適用できる。ここでは、ディープラーニングに本技術を適用した場合を例に挙げて説明を行うが、他の機械学習に対しても適用可能である。
図1は、分散学習を行うシステムの一例の構成を示す図である。図1に示したシステムは、パラメータサーバ11とワーカ12とから構成されている。
パラメータサーバ11は、ワーカ12−1乃至12−M間でパラメータの状態などを共有するためのデータを管理する。ワーカ12−1乃至12−Mは、それぞれGPU(Graphics Processing Unit)を含む装置であり、分散学習における所定の演算を行う。
パラメータサーバ11から複数のワーカ12−1乃至12−Mに対して、パラメータ(変数)wが供給される。各ワーカ12−1乃至12−Mは、供給されたパラメータwに基づき内部モデルを更新する。また各ワーカ12−1乃至12−Mは、学習用データを受け取り、勾配gを計算する。学習用データは、各ワーカ12−1乃至12−Mに分散されて、供給される。
例えば、学習データD1は、{D11,D12,D13・・・D}のM個に分散され、ワーカ12−1には、学習データD11が供給され、ワーカ12−2には、学習データD12が供給され、ワーカ12−Mには、学習データDが供給される。
各ワーカ12−1乃至12−Mは、計算した勾配gを、パラメータサーバ11に供給する。例えば、ワーカ12−1は、勾配g1を算出し、パラメータサーバ11に供給し、ワーカ12−2は、勾配g2を算出し、パラメータサーバ11に供給し、ワーカ12−Mは、勾配gMを算出し、パラメータサーバ11に供給する。
パラメータサーバ11は、各ワーカ12−1乃至12−Mからの勾配gを受け取り、その勾配gの平均を計算し、その平均に基づき、パラメータwを更新する。パラメータサーバ11において更新されたパラメータwは、ワーカ12−1乃至12−Mにそれぞれ供給される。
このような処理が、パラメータサーバ11とワーカ12−1乃至12−Mで繰り返し行われることで学習が進められる。
図2は、分散学習を行うシステムの他の構成例を示す図である。図2に示したシステムは、P2P(Peer to Peer)と称されるシステムである。図2に示したシステムにおいては、パラメータサーバ11は設けられず、複数台のワーカ22から構成されている。
図2に示したシステムにおいては、ワーカ22−1乃至22−M同士でデータの授受が行われる。ワーカ22−1は、自己が算出した勾配g1をワーカ22−2とワーカ22−3にそれぞれ供給する。同じく、ワーカ22−2は、自己が算出した勾配g2をワーカ22−1とワーカ22−3にそれぞれ供給する。同じく、ワーカ22−3は、自己が算出した勾配g3をワーカ22−1とワーカ22−2にそれぞれ供給する。
各ワーカ22は、図1に示したワーカ12と基本的に同様の処理を行うことで、また、パラメータサーバ11が行う処理も併せて行うことで、勾配を算出したり、パラメータを更新したりする。
本技術が適用されるシステムとしては、図1または図2に示したシステムとすることができる。また、図1および図2に示したシステム以外のシステムに対しても、以下に説明する本技術を適用することはできる。以下の説明においては、図1に示したシステムを例に挙げて説明を続ける。
図1に示したシステムにおいて、例えば、ワーカ12−1乃至12−Mは、パラメータサーバ11と所定のネットワークで接続されている。例えば、ワーカ12−1から、ネットワークを介して、パラメータサーバ11に対して、ワーカ12−1で算出された勾配g1が供給される。
勾配g1は、一般的にパラメータサイズが大きい。例えば、勾配g1は、1000×1000の行列で表されるとした場合、勾配g1は、100万個のパラメータを有することになる。1パラメータを例えば、4バイトなどの所定のデータ数で授受する場合、100万×4バイトとなる。このようなデータ量のデータを、ネットワークを介して授受する場合、ネットワークの通信速度が早くても、そのデータの授受には時間がかかってしまう。
さらに、M個のワーカ12から、それぞれパラメータサーバ11に対して勾配gが供給されるため、パラメータサーバ11が全てのワーカ12から勾配gを受け取るまでの時間もかかってしまう。
分散学習することで、個々のワーカ12での処理時間は短縮されるが、勾配gの授受にかかる時間が長くなってしまうと、結果として分散学習することで、より処理時間がかかってしまう可能性もある。
そこで、ワーカ12とパラメータサーバ11との間で授受される勾配gのデータサイズを小さくすることで、勾配gの授受にかかる時間を短縮する。具体的には、ワーカ12とパラメータサーバ11との間で授受される勾配gのデータサイズを小さくするために、ワーカ12から、パラメータサーバ11に供給する勾配gを量子化する。
このような、複数の装置で分散して機械学習を行う分散学習において、1の装置での学習により得られた値を、他の装置に供給するときに行われる量子化について説明を加える。
<量子化について>
図3は、ワーカ12において算出された勾配gの結果をまとめたグラフである。図3に示した各グラフは、ワーカ12において6400個のパラメータから構成される勾配gを算出したときの、各パラメータの値とその個数の関係を示すグラフ(累積分布)である。図3に示した各グラフにおいて横軸は、勾配gの値を表し、縦軸は、累積個数(密度)を表す。
また、図3に示した各グラフは、ワーカ12における演算を100回行った毎にまとめた結果であり、例えば、Iter=100のグラフ(以下、適宜,グラフ100と記述する、他のグラフも同様に記述する)は、ワーカ12における演算を100回行った時点でのグラフであり、Iter=200のグラフは、ワーカ12における演算を200回行った時点でのグラフであり、Iter=900のグラフは、ワーカ12における演算を900回行った時点でのグラフである。
グラフ200乃至900の各グラフは、グラフの形状としては略同様な形状となっていることが読み取れる。また、その形状は、1つのピーク値(中央値)を有し、略左右対称となっている。なお、このグラフを得たワーカ12の処理においては、図3に示したようになったが、グラフ100も、他のグラフと同様に、1つのピーク値を有し、略左右対称となる形状のグラフとなる場合もある。
図示はしないが、他の学習をワーカ12において行った場合も、基本的に、図3に示したような結果が得られる。すなわち、ワーカ12により算出される勾配gをグラフにした場合、ピーク値を中心軸とした左右対称のグラフとなる(近似できる)。
このような左右対称のグラフとしては、例えば、図4のAに示すような正規分布、図4のBに示すようなラプラス分布、図4のCに示すようなコーシー分布、図4のDに示すようなスチューデントのt分布などがある。
これらの分布は、1つのピーク値を有し、そのピーク値を中心軸とした場合、左右対称となるグラフが得られる分布である。これらの分布は、平均(算術平均)または中央値が1つ計算可能な分布でもある。
図4に示した確率分布の形状と、図3に示した勾配gに関するグラフの形状を比較すると、類似していることが読み取れる。
そこで、勾配gは、左右対称な確率分布からサンプリングされたと仮定する。そして、勾配gを量子化するとき、所定の確率分布の上位p%に該当する勾配gの部分を抽出することで量子化する。
具体的に、勾配gは、左右対称な確率分布からサンプリングされたと仮定した場合に、その確率分布が正規分布である場合を例に挙げて説明する。
図5は、平均=0、分散=0.5の正規分布のグラフである。図中、qlは、確率がpl%となる点(xの値)であり、qgは、確率がpg%となる点(xの値)である。値qlと値qgは、絶対値では同一の値となる。勾配gが、図5に示した正規分布となると仮定したとき、勾配gが値ql以下の値と、値qg以上の値を抽出することで、量子化が行われる。
すなわち量子化は、次式(1)に基づき行われる。
Figure 2018155232
勾配g(=x)が、値qgよりも大きい場合、その勾配gは、値qgであるとして、送付対象とされる。勾配g(=x)が、値qlよりも小さい場合、その勾配gは、値qlであるとして、送付対象とされる。勾配g(=x)が、値qg以下であり、値ql以上である場合、その勾配gは、0とされ、送付対象から除外される。
このようにした場合、勾配gのうちの(pl+pg)%が送付対象とされる。例えば、5%の量子化を行いたい場合、(pl+pg)%=5%となり、pl=2.5、pg=2.5となる。
例えば、勾配gが、100万パラメータである場合、そのうちの5%、すなわち、5万パラメータに量子化される。よって、ワーカ12からパラメータサーバ11に送付するデータ量を低減させることができ、勾配gの授受にかかる時間を低減させることができる。これにより、分散学習における時間を大幅に短縮することができる。
図5を再度参照するに、図5に示した正規分布は、平均と分散が求められれば、作成することができる。また、確率がpl%となる値ql(確率がpg%となる値qg)をpl(pg)から一意的に求められることは既に知られている。
量子化は、まず算出された勾配gから、平均と分散(仮定した確率分布関数の定数)が求められ、勾配gに関する正規分布のグラフが作成される(実際に作成する必要はないが、説明の都合上、作成されるとする)。次に、確率plと確率pgが、それぞれ設定される。上記したように、確率plと確率pgが設定されれば、その確率plと確率pgに対応する値qlと値pgを求めることができる。
値qlと値pgが求められたあと、式(1)に基づき、送付対象となる勾配gを抽出することで、量子化が行われる。
このような、所定の確率分布に勾配gの分布が基づく仮定して量子化を行った場合においても、量子化の精度を保てることについて、図6を参照して説明する。図6に示したグラフの横軸は、量子化率の理論値を表し、縦軸は、実施に量子化された率(実測値)を表す。
なお、量子化率とは、上記した確率plと確率pgを加算した値であり、パラメータをどの程度まで減らすかを表す値である。例えば、上記した例において、100万個のパラメータを、量子化せずに、100万個のパラメータを送付する場合、量子化率は、100%であるとし、量子化して10万個のパラメータに減らして送付する場合、量子化率は10%であるとして説明を続ける。
量子化率は、ネットワークの帯域幅などを考慮して設定されるようにしても良い。例えば、帯域幅が広く、比較的多くのデータを送付できる状態の時には、量子化率を高い値(よって、あまりデータ量は削減されない)に設定し、帯域幅が狭く、比較的少ないデータしか送付できない状態の時には、量子化率を低い値(よって、データ量は削減される)に設定されるようにしても良い。
このように、量子化率を設定することで、通信の帯域制御を行え、効率良いデータの授受を行えるような設定を行えるようになる。
図6に示したグラフにおいて、グラフL1は、仮定した所定の確率分布を正規化分布とした場合のグラフを表し、グラフL2は、仮定した所定の確率分布をラプラス分布とした場合のグラフを表す。
例えば、図6に示したグラフは、A%の量子化を行うと設定(pl+pg=A%と設定)し、処理したときに、実際にどの程度の量子化が行われたかを示す図である。例えば、グラフL1を参照するに、正規化分布を仮定したときに、10%の量子化を行うと設定(pl+pg=10%と設定)し、処理したときには、実際に10%程度量子化されたことが読み取れる。この場合、理論値と実際の値が略同一となるため、精度良く量子化できることが証明できたことになる。
また例えば、グラフL2を参照するに、ラプラス分布を仮定したときに、10%の量子化を行うと設定(pl+pg=10%と設定)し、処理したときにも、実際に10%程度量子化されたことが読み取れ、精度良く量子化できることが証明されている。
ワーカ12からパラメータサーバ11に送信する勾配gのデータ量を小さくするためには、量子化は高い(量子化率の値は低い)方がよい。量子化を高くすることは、上記した説明においては、(pl+pg)の値を小さくすること該当する。
このことを考慮すると、図6に示したグラフにおいて、理論的な量子化率(pl+pg)が小さい方で、理論的な量子化率と実際の量子化率がほぼ一致し、精度良く量子化できていれば良いことがわかる。
換言すれば、図6に示したグラフにおいて、理論的な量子化率(pl+pg)が大きい方では、理論的な量子化率と実際の量子化率がかけ離れていても、ワーカ12からパラメータサーバ11に送信する勾配gのデータ量を小さくするための量子化においては、問題なく量子化を行えることがわかる。
例えば、図6に示したグラフにおいて、所定の確率分布として正規化分布を仮定して量子化を行った結果(グラフL1)を参照するに、理論的な量子化率(pl+pg)が、1〜30%程度の範囲内であれば、精度良く量子化できることが読み取れる。
また例えば、図6に示したグラフにおいて、所定の確率分布としてラプラス分布を仮定して量子化を行った結果(グラフL2)を参照するに、理論的な量子化率(pl+pg)が、1〜30%程度の範囲内であれば、精度良く量子化できることが読み取れる。
よって、本技術によれば、量子化を行いたい範囲内では、所望とする量子化率で量子化を行え、精度良く量子化を行えることが実証されている。
また、図6を参照するに、量子化に適用(仮定)する確率分布により、精度が異なる可能性があることがわかる。このことから、扱う勾配gに適した確率分布を用いることで、より精度良く量子化できることがわかる。
<勾配の和を量子化する場合>
図6に示したグラフは、勾配gそのものを量子化した場合を示している。他の量子化として、勾配gの和を量子化する場合もある。
ここで、時刻t1においてワーカ12が算出した勾配gを勾配gt1とし、時刻t2においてワーカ12が算出した勾配gを勾配gt2とし、時刻t3においてワーカ12が算出した勾配gを勾配gt3とする。
勾配gそのものを量子化する場合、時刻t1においてワーカ12は、算出した勾配gt1を量子化し、時刻t2においてワーカ12は、算出した勾配gt2を量子化し、時刻t3においてワーカ12は、算出した勾配gt3を量子化する。すなわち、勾配gそのものを量子化する場合、ワーカ12は、所定の時刻において算出した勾配gのみを対象とした量子化を行う。
勾配gの和を量子化する場合、時刻t1においてワーカ12は、算出した勾配gt1を量子化するとともに、勾配gt1を保持する。時刻t2においてワーカ12は、算出した勾配gt2と、保持している勾配gt1とを加算し、その加算した(勾配gt1+勾配gt2)を量子化するとともに、(勾配gt1+勾配gt2)を保持する。
時刻t3においてワーカ12は、算出した勾配gt3と、保持している(勾配gt1+勾配gt2)とを加算し、その加算した(勾配gt1+勾配gt2+勾配gt3)を量子化するとともに、(勾配gt1+勾配gt2+勾配gt3)を保持する。すなわち、勾配gの和を量子化する場合、ワーカ12は、所定の時刻において算出した勾配gと、その時点より前の時点で算出した勾配gを累積した和(累積勾配と記述する)を対象とし量子化を行う。
再度図6を参照するに、上記したように、量子化に適用(仮定)する確率分布により、精度が異なる可能性があることがわかる。グラフL1とグラフL2を比較すると、グラフL2の方が、グラフL1よりも、理論値が30%程度まで、比較的、実施の量子化率と一致しており、例えば、15〜30%の範囲内においては、所望(理想)とする量子化率で量子化を行えることが読み取れる。
図6は、勾配gをそのまま量子化した場合であり、グラフL2は、確率分布関数としてラプラス分布を仮定した場合である。このことから、勾配gをそのまま量子化する場合、確率分布関数としてラプラス分布を仮定して処理した方が、正規化分布を仮定して処理するよりも、精度良く量子化できることがわかる。
一方で、勾配gの和を量子化する場合、確率分布関数として正規化分布が、ラプラス分布よりも適していることについて説明を加える。図7は、図3と同じく、ワーカ12において算出された勾配gの結果をまとめたグラフであるが、ワーカ12において算出された勾配gを累積加算したときの結果をまとめたグラフである点が異なる。
図7に示した各グラフは、ワーカ12において6400個のパラメータから構成される勾配gを算出し、累積加算した値の分布を示すグラフである。図7に示した各グラフにおいて横軸は、勾配gの値を表し、縦軸は、累積個数(密度)を表す。
また、図7に示した各グラフは、ワーカ12における演算を100回行った毎にまとめた結果であり、例えば、Iter=100のグラフ(以下、適宜,グラフ100と記述する、他のグラフも同様に記述する)は、ワーカ12における演算を100回行った時点で、その100回分の勾配gを累積加算したときのグラフである。
また同様に、Iter=200のグラフは、ワーカ12における演算を200回行った時点での勾配gを累積加算したときのグラフであり、Iter=900のグラフは、ワーカ12における演算を900回行った時点での勾配gを累積加算したときのグラフである。
グラフ100乃至900は、グラフの形状としては略同様な形状となっていることが読み取れる。また、その形状は、1つのピーク値を有し、そのピーク値を中心軸として略左右対称となっている。このようなグラフの形状は、図3で示したグラフと同様である。よって、上記した場合と同じく、確率分布関数を仮定して量子化することができる。
図8を参照し、勾配gの和を量子化するとき、正規化分布を仮定して量子化した場合の精度について説明する。図8に示したグラフの横軸は、量子化率の理論値を表し、縦軸は、実測値を表す。
図8では、理論値として、4〜20%の範囲内の結果を示している。図8のグラフから、例えば、量子化率が5〜15%の範囲内のときには、比較的、理論値と一致した量子化率で量子化されることが読み取れる。
このようなことを図9にまとめる。勾配gそのものを用いて量子化する場合、確率分布関数としては、ラプラス分布を仮定し、量子化率としては15〜30%の範囲内での量子化を行う。また、勾配gの和を用いて量子化する場合、確率分布関数としては、正規化分布を仮定し、量子化率としては5〜15%の範囲内での量子化を行う。
なお、ここまでの説明においては、ラプラス分布や正規化分布を例に挙げて説明したが、これらの分布は一例であり、他の確率分布を仮定して量子化を行うことも可能である。また、上記した例においては、ラプラス分布や正規化分布が量子化に適しているとして説明したが、学習内容や分散の仕方(例えば、図1に示したようなシステムで学習を行うか、図2に示したシステムで学習を行うかなど)により、必ずしも、ラプラス分布や正規化分布が最適とは限らず、適宜、学習内容や分散の仕方などに適した確率分布関数が仮定される。
また、1つの確率分布を仮定して量子化が行われるのではなく、複数の確率分布を仮定して量子化が行われるようにしても良い。例えば、所望とする量子化率に応じて、仮定される確率分布が切り替えられるように構成しても良い。このようにした場合、例えば、量子化率が5〜15%のときには、確率分布Aが仮定されて量子化が行われ、15〜30%のときには、確率分布Bが仮定されて量子化が行われ、30〜50%のときには、確率分布Cが仮定されて量子化が行われるといったように、所望とされる量子化率に応じて、仮定される確率分布が異なるようにしても良い。
また例えば、学習の段階を、初期段階、中期段階、後期段階に分け、それぞれの段階で異なる確率分布が仮定されて、量子化が行われるようにしても良い。例えば、図3や図7に示したように、学習が進むにつれて、換言すれば、勾配gの算出回数が増えるに伴い、勾配gの分布に関するグラフの形状は少しずつ変化する。よって、このような形状の変化に合わせて、学習の段階に応じて、異なる確率分布が仮定されて、量子化が行われるようにしても良い。
また、上記した実施の形態においては、正規化分布やラプラス分布といった確率分布の関数をそのまま用いる場合を例に挙げて説明しているが、そのまま用いるのではなく、確率分布関数を変形し、その変形後の関数を用いて、上記したような量子化を行うようにしても良い。
例えば、ラプラス分布を仮定して量子化を行う場合、勾配の自然対数をとってから線形領域に見て、何%の値を使うかを決定して量子化を行うようにしても良い。本技術は、確率分布を仮定して、量子化を行うため、確率分布関数に対して何らかの処理を施した関数を用いて量子化を行うことも、本技術の範囲内である。
<ワーカの第1の処理>
上記した量子化を行うワーカ12の処理(第1の処理とする)について説明する。
図10は、ワーカ12が行う処理について説明するためのフローチャートである。また、図10では、勾配gそのものを量子化する場合について説明する。
ステップS11において、ワーカ12は、パラメータサーバ11から圧縮されたパラメータ(勾配g)を受け取る。なお、図1に示したような構成の場合、パラメータサーバ11からパラメータを受け取り、図2に示したような構成の場合、他のワーカ12からパラメータ(勾配g)を受け取る。
ステップS12において、ワーカ12は、圧縮された勾配gを非圧縮する。ステップS13において、ワーカ12は、非圧縮した勾配gを、ディシリアライズする。さらにワーカ12は、ステップS14において、ディシリアライズした勾配gを用いて、自己の内部モデルを更新する。
ステップS15において、ワーカ12は、学習データを読み込む。この学習データは、他の装置から供給されるものでも良いし、予めワーカ12が保持していても良い。また供給されるタイミングは内部モデルのアップデート後ではなく、他のタイミングであっても良い。ステップS16において、ワーカ12は、アップデートされたモデルと、読み込んだ学習データにより、勾配gを計算する。
ステップS17において、量子化処理が実行される。図11のフローチャートを参照し、ステップS17において実行される量子化処理について説明する。
ステップS31において、勾配gから、仮定する確率分布関数に関する平均と分散を算出する。例えば、仮定する確率分布が、正規化分布の場合、平均と分散が、算出された勾配gから算出される。また、例えば、仮定する確率分布が、ラプラス分布の場合、期待値と分散(ラプラス分布の関数における定数)が、算出された勾配gから算出される。
ステップS31における処理が実行されるとき、量子化時に仮定される確率分布関数の種類、例えば、正規化分布、ラプラス分布といった種類が設定される処理が含まれ、その設定された確率分布関数に関する平均と分散(確率分布関数の種類による)が算出される。
また上記したように、所定の条件により、仮定する確率分布を切り替える場合などには、仮定する確率分布が設定され、その設定された確率分布に基づく演算が行われる。
ステップS32において、確率plと確率pgが設定される。確率plと確率pgは、上記したように、量子化したい割合を示す値である。平均が0過程のもとであれば、確率plと確率pgのうち、一方が設定されれば、他方を設定することは可能である。すなわち、例えば、確率plを設定すれば、確率pgは、(1−pl)で算出できるため、確率plと確率pgのうちのどちら一方を設定し、他方は算出されるようにしても良い。
また、確率plと確率pgは、固定値としても良いし、可変値としても良い。固定値とした場合、ステップS32は、設定されている確率plと確率pgが常に用いられる。可変値とした場合、ステップS32の処理が実行される毎や、ステップS32の処理が複数回実行される毎に、確率plと確率pgが設定(更新)される。
確率plと確率pgが更新されるようにした場合、例えば、理論値と実測値の差分が0となるように確率plと確率pgが更新される。そのような更新を行う場合、学習ベースの手法または経験ベースの手法で行われるようにすることができる。
学習ベースの手法で確率plと確率pgを更新する場合、まず、理論値pから理論的に0でない量子化されたパラメータ数が求められる。パラメータ数がNだとすると、量子化されたパラメータ数は、p×N’=Nとなる。量子化関数をQ(g)とし、勾配をgであるとすると、実際のパラメータは、Q(g)≠0の個数Mになる。
学習を進めると、
{(N1,M1),・・・,(Nt,Mt),・・・,(NT,MT)}
のデータが蓄積され、この蓄積されたデータを用いることで、学習ベースでM=f(n)の関数fを求めることができる。
特定範囲の理論値pに関しては、どのようなディープラーニングアーキテクチャを用いて、理論値と実測値の関係は略同じとなるため、事前に、学習した関数fを用いることも可能である。
経験ベースの手法で確率plと確率pgを更新する場合、まず上記した学習ベースの手法と同じく、
{(N1,M1),・・・,(Nt,Mt),・・・,(NT,MT)}
のデータが蓄積される。このようなデータが蓄積されると、理論値と実測値との乖離誤差の平均が次式(2)により求められる。
Figure 2018155232
求められた平均に理論値pを加算することで、確率plと確率pgの補正が行われる。
このような手法に基づき、確率plと確率pgの更新が行われるようにしても良い。
また、確率plと確率pgを更新するようにした場合、上記した手法によらず、単に勾配gが算出された回数に応じて、確率plと確率pgが更新されるようにしても良い。例えば、学習の初期段階では、確率plと確率pgを大きい値に設定し、学習が進むにつれて、小さい値に設定されるようにしても良い。
図11のフローチャートの説明に戻り、ステップS32において、確率plと確率pgが設定されると、ステップS33に処理は進められる。ステップS33において、設定された確率plと確率pgに対応する値qlと値qgが設定される。この値qlと値qgは、図5、式(1)を参照して説明したように、勾配gを抽出するための閾値として用いられる。
ステップS34において、算出された勾配gが、式(1)に基づき、値qlと値qgと比較され、パラメータサーバ11に送信する勾配gが抽出される。式(1)に基づき、値qlより小さい勾配gと、値qgより大きい勾配gが抽出される。
このようにして、量子化処理が実行されると、処理は、ステップS18に進められる。ステップS18において、量子化された勾配gは、シリアライズされる。そして、シリアライズされた勾配gは、ステップS19において、圧縮される。そして、ステップS20において、圧縮された勾配gはパラメータサーバ11(システムによっては他のワーカ12)に送信される。
送信されるデータは、量子化により抽出された勾配gの位置を表すインデックス、値qlまたは値qgのどちらに分類されたかを表す情報が、少なくとも含まれるデータである。値qlまたは値qgのどちらに分類されたかを表す情報としては、値qlまたは値qgの値そのものであっても良いし、値qlまたは値qgのどちらに分類されたかを表す、例えばサイン(正負の情報)といった情報でも良い。
例えば、サインを用いた場合、パラメータサーバ11に、値qlまたは値qgの値そのものを送信し、その後、インデックスとサインを送信するようにしても良い。また、値qlまたは値qgの値そのものを送信するのではなく、勾配gから算出された平均と分散をパラメータサーバ11に送信し、パラメータサーバ11側で、値qlと値qgを算出し、ワーカ12からは、インデックスとサインを送信するようにしても良い。
量子化した勾配gをパラメータサーバ11や他のワーカ12に送信するときに、どのようなデータを送信するかは、適宜、システムの仕様などに合わせて設定することができる。
このように、量子化した勾配gを送信することで、送信時のデータ量を低減させることができ、勾配gの授受に関わる時間を短縮することができる。例えば、n個の勾配gを、量子化せずに送信する場合、勾配gの1パラメータをB(bits)で送信する場合、n×B(bits)となる。
これに対して、量子化することで、n×(pl+pg)×B(bits)となる。(pl+pg)は、1以下の値、例えば、0.1(=10%)であるため、n×(pl+pg)×B(bits)<n×B(bits)となる。よって、送信するデータ量は、量子化することで大幅に低減することができる。
また、上記したように、量子化するとき、勾配gが確率分布関数に従うと仮定して量子化を行うことで、精度良くデータ量を低減させる量子化を行うことができる。例えば、従来、確率的に量子化する手法と、決定論的に量子化する手法があった。
確率的に量子化する手法の場合、乱数を発生させ、その乱数に該当する勾配gを抽出することで、量子化を行うことが提案されているが、この場合、乱数を発生させるコストがかかる、パラメータをどの程度減らしても精度が落ちないかを見極めるのが困難であり、結果的に良好に量子化が行えない可能性や、データ量を低減できず、勾配gの授受にかかる時間を短縮できない可能性があった。
また、決定論的に量子化する手法の場合、決定論的な閾値を設定し、その閾値以上または以下の勾配gを抽出することで、量子化を行うことが提案されているが、この場合、勾配gをソートし、閾値と比較する必要があるため、膨大な量の勾配gをソートする時間がかかり、また精度が落ちないための閾値を適切に設定するのが困難であった。
これらに対して、本技術によれば、例えば、図6を参照して説明したように、勾配gを10%まで減らすといった量子化であっても、理論値と実測値がほぼ一致し、精度良く、かつ大幅なデータ量の削減を行える。
<ワーカの第2の処理>
上記した量子化を行うワーカ12の他の処理(第2の処理とする)について説明する。ワーカの第2の処理として、勾配gの和(以下、累積勾配gと記述する)を量子化する場合について説明する。なお、基本的な処理は、図10、図11のフローチャートを参照した説明した場合と同様であるため、同様の処理については適宜その説明を省略する。
ステップS51において、ワーカ12は、パラメータサーバ11から圧縮されたパラメータ(累積勾配g)を受け取る。なお、図1に示したような構成の場合、パラメータサーバ11からパラメータを受け取り、図2に示したような構成の場合、他のワーカ12からパラメータ(累積勾配g)を受け取る。
ステップS52において、ワーカ12は、圧縮された累積勾配gを非圧縮する。ステップS53において、ワーカ12は、非圧縮した累積勾配gを、ディシリアライズする。さらにワーカ12は、ステップS54において、ディシリアライズした累積勾配gを用いて、自己の内部モデルを更新する。
ステップS55において、ワーカ12は、学習データを読み込む。ステップS56において、アップデートされたモデルと、読み込んだ学習データにより、新たな勾配gが計算される。
ステップS57において、新たに計算された勾配gが、累積勾配gに加算される。累積勾配gを用いた演算を行う場合、このような勾配を溜める処理が行われる。
ステップS58において、量子化処理が実行される。ステップS58において実行される量子化処理は、図10に示したワーカの第1の処理におけるステップS17、すなわち図11のフローチャートに基づいて行われるため、その説明は省略する。ただし、図11に示したフローチャートの各処理において、勾配gを対象にして行われる処理は、累積勾配gを対象として行われる点は異なる。
ステップS58において、量子化処理が実行されると、処理は、ステップS59に進められる。ステップS59において、0でない量子化された累積勾配gは、累積勾配gから差分をとることで、エラーフィードバックが行われる。エラーフィードバックの後、ステップS60において、量子化された累積勾配gは、シリアライズされる。
シリアライズされた累積勾配gは、ステップS61において、圧縮される。そして、ステップS62において、圧縮された累積勾配gはパラメータサーバ11(システムによっては他のワーカ12)に送信される。
送信されるデータは、勾配gそのものを量子化する場合と同じく、量子化により抽出された累積勾配gの位置を表すインデックス、値qlまたは値qgのどちらに分類されたかを表す情報が、少なくとも含まれるデータである。
このように、量子化した累積勾配gを送信することで、送信時のデータ量を低減させることができ、累積勾配gの授受に関わる時間を短縮することができる。すなわち例えば、図8を参照して説明したように、累積勾配gを10%まで減らすといった量子化であっても、理論値と実測値がほぼ一致し、精度良く、かつ大幅なデータ量の削減を行える。
このように、本技術によれば、量子化を効率良く、精度良く行うことが可能となる。また、本技術は、機械学習による分散学習を行うときに適用することで、学習時間を短縮化することができる。
機械学習としては、例えば、ディープラーニングを適用した学習に適用することができ、本技術によれば、分散学習するときに、勾配の授受にかかる時間を短縮することができる。よって、学習にかかる時間を短縮化することができる。
<記録媒体について>
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図13は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。コンピュータにおいて、CPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003、GPU(Graphics Processing Unit)1004は、バス1005により相互に接続されている。バス1005には、さらに、入出力インタフェース1006が接続されている。入出力インタフェース1006には、入力部1007、出力部1008、記憶部1009、通信部1010、およびドライブ1011が接続されている。
入力部1007は、キーボード、マウス、マイクロフォンなどよりなる。出力部1008は、ディスプレイ、スピーカなどよりなる。記憶部1009は、ハードディスクや不揮発性のメモリなどよりなる。通信部1010は、ネットワークインタフェースなどよりなる。ドライブ1011は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア1012を駆動する。
以上のように構成されるコンピュータでは、CPU1001またはGPU1004が、例えば、記憶部1009に記憶されているプログラムを、入出力インタフェース1006およびバス1005を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU1001、GPU1004)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア1012に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア1012をドライブ1011に装着することにより、入出力インタフェース1006を介して、記憶部1009にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1010で受信し、記憶部1009にインストールすることができる。その他、プログラムは、ROM1002や記憶部1009に、予めインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また他の効果があってもよい。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
なお、本技術は以下のような構成もとることができる。
(1)
機械学習の演算により算出された値の分布が、所定の確率分布に基づくと仮定して量子化を行う
情報処理装置。
(2)
前記演算は、ディープラーニングにおける演算であり、前記ディープラーニングに基づく演算により算出された勾配の分布が、前記所定の確率分布に基づくとして量子化を行う
前記(1)に記載の情報処理装置。
(3)
複数の装置で分散して機械学習を行う分散学習において、1の装置での学習により得られた値を、他の装置に供給するときに、前記量子化が行われる
前記(1)または(2)に記載の情報処理装置。
(4)
前記所定の確率分布は、ピーク値を中心軸とする左右対称のグラフとなる分布である
前記(1)乃至(3)のいずれかに記載の情報処理装置。
(5)
前記所定の確率分布は、平均または中央値が1つ計算可能な分布である
前記(1)乃至(3)のいずれかに記載の情報処理装置。
(6)
前記所定の確率分布は、正規化分布、ラプラス分布、コーシー分布、スチューデント-T分布のいずれかである
前記(1)乃至(3)のいずれかに記載の情報処理装置。
(7)
前記算出された値から、前記所定の確率分布の関数の定数を求める
前記(1)乃至(6)のいずれかに記載の情報処理装置。
(8)
量子化する割合を設定し、その割合に対応する前記所定の確率分布における値を閾値とし、前記算出された値のうち、前記閾値以上または以下の値を抽出する
前記(1)乃至(7)のいずれかに記載の情報処理装置。
(9)
前記量子化は、前記勾配そのものを量子化対象とする、または前記勾配を累積加算した累積勾配を量子化対象とする
前記(2)乃至(8)のいずれかに記載の情報処理装置。
(10)
機械学習の演算により算出された値の分布が、所定の確率分布に基づくと仮定して量子化を行う
ステップを含む情報処理方法。
(11)
コンピュータに、
機械学習の演算により算出された値の分布が、所定の確率分布に基づくと仮定して量子化を行う
ステップを含む処理を実行させるためのプログラム。
11 パラメータサーバ, 12 ワーカ, 22 ワーカ

Claims (11)

  1. 機械学習の演算により算出された値の分布が、所定の確率分布に基づくと仮定して量子化を行う
    情報処理装置。
  2. 前記演算は、ディープラーニングにおける演算であり、前記ディープラーニングに基づく演算により算出された勾配の分布が、前記所定の確率分布に基づくとして量子化を行う
    請求項1に記載の情報処理装置。
  3. 複数の装置で分散して機械学習を行う分散学習において、1の装置での学習により得られた値を、他の装置に供給するときに、前記量子化が行われる
    請求項1に記載の情報処理装置。
  4. 前記所定の確率分布は、ピーク値を中心軸とする左右対称のグラフとなる分布である
    請求項1に記載の情報処理装置。
  5. 前記所定の確率分布は、平均または中央値が1つ計算可能な分布である
    請求項1に記載の情報処理装置。
  6. 前記所定の確率分布は、正規化分布、ラプラス分布、コーシー分布、スチューデント-T分布のいずれかである
    請求項1に記載の情報処理装置。
  7. 前記算出された値から、前記所定の確率分布の関数の定数を求める
    請求項1に記載の情報処理装置。
  8. 量子化する割合を設定し、その割合に対応する前記所定の確率分布における値を閾値とし、前記算出された値のうち、前記閾値以上または以下の値を抽出する
    請求項1に記載の情報処理装置。
  9. 前記量子化は、前記勾配そのものを量子化対象とする、または前記勾配を累積加算した累積勾配を量子化対象とする
    請求項2に記載の情報処理装置。
  10. 機械学習の演算により算出された値の分布が、所定の確率分布に基づくと仮定して量子化を行う
    ステップを含む情報処理方法。
  11. コンピュータに、
    機械学習の演算により算出された値の分布が、所定の確率分布に基づくと仮定して量子化を行う
    ステップを含む処理を実行させるためのプログラム。
JP2019501225A 2017-02-23 2018-02-09 情報処理装置、情報処理方法、並びにプログラム Active JP7095675B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017031807 2017-02-23
JP2017031807 2017-02-23
PCT/JP2018/004566 WO2018155232A1 (ja) 2017-02-23 2018-02-09 情報処理装置、情報処理方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JPWO2018155232A1 true JPWO2018155232A1 (ja) 2019-12-12
JP7095675B2 JP7095675B2 (ja) 2022-07-05

Family

ID=63253269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019501225A Active JP7095675B2 (ja) 2017-02-23 2018-02-09 情報処理装置、情報処理方法、並びにプログラム

Country Status (4)

Country Link
US (1) US20200380356A1 (ja)
EP (1) EP3588394A4 (ja)
JP (1) JP7095675B2 (ja)
WO (1) WO2018155232A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951438B (zh) * 2019-01-15 2020-11-20 中国科学院信息工程研究所 一种分布式深度学习的通信优化方法及系统
CN109919313B (zh) * 2019-01-31 2021-06-08 华为技术有限公司 一种梯度传输的方法及分布式训练系统
JP7188237B2 (ja) * 2019-03-29 2022-12-13 富士通株式会社 情報処理装置、情報処理方法、情報処理プログラム
JP2021044783A (ja) * 2019-09-13 2021-03-18 富士通株式会社 情報処理装置,情報処理方法および情報処理プログラム
WO2021193815A1 (ja) * 2020-03-27 2021-09-30 富士フイルム株式会社 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法
WO2022153480A1 (ja) * 2021-01-15 2022-07-21 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法および記録媒体
CN113095510B (zh) * 2021-04-14 2024-03-01 深圳前海微众银行股份有限公司 一种基于区块链的联邦学习方法及装置
JP2023093838A (ja) * 2021-12-23 2023-07-05 トヨタ自動車株式会社 情報処理方法、情報処理装置及びサーバ装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06176000A (ja) * 1992-12-10 1994-06-24 Hitachi Ltd ニューロコンピュータ
JP2005234706A (ja) * 2004-02-17 2005-09-02 Denso Corp 知識ルール抽出方法及び装置、ファジィ推論型ニューラルネットワーク
JP2016029568A (ja) * 2014-07-23 2016-03-03 国立大学法人電気通信大学 線形識別器、大規模一般物体認識装置、電子計算機、モバイル端末、データ処理装置、および画像認識システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108595A (ja) 1991-10-17 1993-04-30 Hitachi Ltd ニユーラルネツトワークの分散学習装置
CN110992935B (zh) * 2014-09-12 2023-08-11 微软技术许可有限责任公司 用于训练神经网络的计算系统
US10373050B2 (en) * 2015-05-08 2019-08-06 Qualcomm Incorporated Fixed point neural network based on floating point neural network quantization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06176000A (ja) * 1992-12-10 1994-06-24 Hitachi Ltd ニューロコンピュータ
JP2005234706A (ja) * 2004-02-17 2005-09-02 Denso Corp 知識ルール抽出方法及び装置、ファジィ推論型ニューラルネットワーク
JP2016029568A (ja) * 2014-07-23 2016-03-03 国立大学法人電気通信大学 線形識別器、大規模一般物体認識装置、電子計算機、モバイル端末、データ処理装置、および画像認識システム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
久保 陽太郎: "ニューラルネットワークによる音声認識の進展", 人工知能, vol. 第31巻,第2号, JPN6018015220, 1 March 2016 (2016-03-01), JP, pages 180 - 188, ISSN: 0004656801 *
武田 龍, 外2名著: "量子化Deep Neural Networkのための有界重みモデルに基づく音響モデル学習", 第46回AIチャレンジ研究会予稿集(SIG−CHALLENGE)[オンライン], JPN6018015214, 9 November 2016 (2016-11-09), JP, pages 2 - 11, ISSN: 0004656802 *
神谷 龍司、他5名: "Binarized−DCNNによる識別計算の高速化とモデル圧縮", 電子情報通信学会技術研究報告, vol. 第116巻, 第366号, JPN6018015217, 8 December 2016 (2016-12-08), JP, pages 47 - 52, ISSN: 0004656803 *

Also Published As

Publication number Publication date
EP3588394A4 (en) 2020-03-04
WO2018155232A1 (ja) 2018-08-30
JP7095675B2 (ja) 2022-07-05
EP3588394A1 (en) 2020-01-01
US20200380356A1 (en) 2020-12-03

Similar Documents

Publication Publication Date Title
JP7095675B2 (ja) 情報処理装置、情報処理方法、並びにプログラム
JP6227813B1 (ja) 分散深層学習装置及び分散深層学習システム
US8904149B2 (en) Parallelization of online learning algorithms
CN111030861B (zh) 一种边缘计算分布式模型训练方法、终端和网络侧设备
JP5418408B2 (ja) シミュレーションパラメータ校正方法、装置及びプログラム
CN112381209B (zh) 一种模型压缩方法、系统、终端及存储介质
US20220156633A1 (en) System and method for adaptive compression in federated learning
US20210312295A1 (en) Information processing method, information processing device, and information processing program
CN113487035A (zh) 量子门的控制脉冲确定方法、装置及电子设备
JP7364699B2 (ja) 機械学習装置、コンピュータ装置、制御システム、及び機械学習方法
CN111429142A (zh) 一种数据处理方法、装置及计算机可读存储介质
CN116341652A (zh) 一种面向云际环境的大模型分布式训练方法及相关设备
TW202001701A (zh) 影像的量化方法及神經網路的訓練方法
Khojasteh et al. The value of timing information in event-triggered control: The scalar case
JP2019212111A (ja) 分散学習方法及び分散学習装置
US20230024977A1 (en) Method of processing data, data processing device, data processing program, and method of generating neural network model
US20220164664A1 (en) Method for updating an artificial neural network
TWI584667B (zh) 多請求的排程方法及排程裝置
CN116050557A (zh) 电力负荷预测方法、装置、计算机设备和介质
KR102243119B1 (ko) 가변 정밀도 양자화 장치 및 방법
CN114548421A (zh) 一种针对联邦学习通信开销的优化处理方法及装置
CN114298319A (zh) 联合学习贡献值的确定方法、装置、电子设备及存储介质
CN112699994A (zh) 一种深度学习模型的自动化训练与测试系统
KR20200104959A (ko) 분산 딥러닝 환경에서 데이터 압축 장치 및 방법
JP2021082014A (ja) 推定装置、訓練装置、推定方法、訓練方法、プログラム及び非一時的コンピュータ可読媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220606

R151 Written notification of patent or utility model registration

Ref document number: 7095675

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151