JP7114528B2 - 推論装置、学習装置、推論方法及び学習方法 - Google Patents

推論装置、学習装置、推論方法及び学習方法 Download PDF

Info

Publication number
JP7114528B2
JP7114528B2 JP2019126591A JP2019126591A JP7114528B2 JP 7114528 B2 JP7114528 B2 JP 7114528B2 JP 2019126591 A JP2019126591 A JP 2019126591A JP 2019126591 A JP2019126591 A JP 2019126591A JP 7114528 B2 JP7114528 B2 JP 7114528B2
Authority
JP
Japan
Prior art keywords
machine learning
learning model
decomposition
tensor
model
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
JP2019126591A
Other languages
English (en)
Other versions
JP2021012553A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2019126591A priority Critical patent/JP7114528B2/ja
Priority to US16/803,376 priority patent/US20210012228A1/en
Publication of JP2021012553A publication Critical patent/JP2021012553A/ja
Application granted granted Critical
Publication of JP7114528B2 publication Critical patent/JP7114528B2/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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/043Distributed expert systems; Blackboards
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • 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
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/166Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes

Landscapes

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

Description

本発明の実施形態は推論装置、学習装置、推論方法及び学習方法に関する。
エッジデバイス等で機械学習モデルを用いて推論処理を行う技術が従来から知られている。エッジデバイス等で推論処理を行う場合に、リソースの使用状況に合わせて推論処理の負荷を動的に調整できるようにする技術が求められている。一般に、機械学習モデルのサイズが小さいほど、推論処理の負荷は小さくなる。しかし、ニューラルネットワークをはじめとする機械学習モデルは、推論時に学習時とは異なるサイズに変更すると推論精度が大幅に低下する。
Jiahui Yu, Linjie Yang, Ning Xu, Jianchao Yang, and Thomas Huang, "Slimmable Neural Networks", arxiv preprint arXiv:1812.08928,2018.
従来の技術では、推論精度の低下を抑えながら、機械学習モデルを任意のサイズに変更することが難しかった。
実施形態の推論装置は、第1の機械学習モデルを前記第1の機械学習モデルよりもサイズが小さい第2の機械学習モデルに変更する推論装置であって、取得部と分解部と設定部と変更部と推論部とを備える。取得部は、第2の機械学習モデルの制御パラメータを取得する。分解部は、前記第1の機械学習モデルの重み係数のテンソルを、テンソル分解法によって2以上の分解テンソルに分解する。設定部は、前記制御パラメータに応じて、前記分解テンソルの幅を設定し、前記第2の機械学習モデルのサイズを設定する。変更部は、前記第1の機械学習モデルを、前記設定部により設定されたサイズを有する2以上の分解テンソルによって表される第2の機械学習モデルに変更する。推論部は、前記第2の機械学習モデルを使用して、入力データに応じた推論をする。前記重み係数のテンソルは、重み係数の行列である。前記分解テンソルは、R個の基底ベクトルにより構成される2以上の行列である。前記設定部は、前記R個の基底ベクトルからr(r≦R)個の基底ベクトルを選択することによって、前記分解テンソルの幅を設定する。前記変更部は、前記第1の機械学習モデルを、前記設定部により設定された幅を有する2以上の分解テンソルによって表される第2の機械学習モデルに変更する。
第1実施形態の推論装置の機能構成の例を示す図。 第1実施形態の分解部の分解処理の例を示す図。 第1実施形態の重み行列の幅について説明するための図。 第1実施形態の幅rの設定例(一様な場合)を示す図。 第1実施形態の幅rの設定例(非一様な場合)を示す図。 第1実施形態の変更部の変更処理の例を示す図。 第2実施形態の推論システムの装置構成の例を示す図。 第2実施形態の学習装置の機能構成の例を示す図。 第1及び第2実施形態の効果を説明するための図。 第3実施形態の自動運転システムの構成の例を示す図。 第1乃至第3実施形態の推論装置及び学習装置のハードウェア構成の例を示す図。
以下に添付図面を参照して、推論装置、学習装置、推論方法及び学習方法の実施形態を詳細に説明する。
(第1実施形態)
第1実施形態では、機械学習モデルとして多層のニューラルネットワークを用いる場合を例にして説明する。なお、機械学習モデルは、多層のニューラルネットワークに限らず、サポートベクターマシンなどの他のモデルでもよい。また、ニューラルネットワークは全結合型について説明するが、畳み込み型などであってもよい。第1実施形態の説明では、重み係数のテンソルは、行列(階数2のテンソル)として説明を行う。なお、畳み込み型の場合は、横幅×縦幅×入力チャネル×出力チャネルの階数4のテンソルを(横幅×縦幅×入力チャネル)×出力チャネルというように行列に変換できる。制御パラメータとして直接モデルサイズを取得する場合について説明する。消費電力やメモリ容量などの所望のハードウェア性能を元にモデルサイズを決めてもよい。
[機能構成の例]
図1は第1実施形態の推論装置10の機能構成の例を示す図である。第1実施形態の推論装置10は、モデル取得部11、分解部12、モデルサイズ取得部13、設定部14、変更部15、入力データ取得部16及び推論部17を備える。
モデル取得部11は、機械学習モデルを取得する。モデル取得部11は、例えば学習装置から機械学習モデルを取得する。なお、学習装置については第2実施形態で説明する。
分解部は、機械学習モデル(第1の機械学習モデル)の重み係数のテンソルを、テンソル分解法によって2以上のテンソル(分解テンソル)に分解する。第1実施形態では、分解部12は、モデル取得部11により取得された機械学習モデルの重み行列Wを分解する。
図2は第1実施形態の分解部12の分解処理の例を示す図である。図2の例は、m×nサイズの重み行列Wを幅Rの二つの行列に分解する場合を示す。重み行列Wの各成分は、実数値の重みを示す。分解方法は、例えば特異値分解(SVD:singular value decomposition)を用いて、図2のように分解する。なお分解部12は、他の分解方法を用いて重み行列Wを三つ以上に分解してもよい。
分解部12は、1≦R≦min(m,n)の範囲でRを決定する。具体的には、Rは、基底ベクトル(USの各列またはVの各行)のうち、寄与度が低い基底ベクトルを削除後に残った数である。j(=1,…,min(m,n))番目の各基底ベクトルの寄与度αは、例えば特異値の大きさに基づいて計算される。第1実施形態では、寄与度αは、特異値を最大値で正規化する下記式(1)を用いて計算される。
Figure 0007114528000001
ここでσは、j番目の基底ベクトルの特異値(対角行列Sの対角成分)を表す。なお寄与度として、分散基準、情報量基準及び判別基準などを用いてもよい。分解部12は、R個の各基底の寄与度及びパラメータ数を含むモデル情報を設定部14へ入力する。パラメータ数は、重み行列Uの成分(重み係数)の数mR、及び、重み行列V の成分の数Rnの和である。また、分解部12は、分解された重み行列の重み係数(重み行列Uの重み係数、及び、重み行列V の重み係数)を変更部15に入力する。
ニューラルネットワークが複数の層を持つ場合など、機械学習モデルが複数の重み行列Wを有する場合は、それぞれの重み行列Wについて上記分解処理を行ってもよい。なお、分解部12の分解処理は、モデル取得部11から入力された機械学習モデルに対して一度だけ実行されればよい。
図1に戻り、モデルサイズ取得部13は、機械学習モデルのモデルサイズを取得すると、当該モデルサイズを設定部14に入力する。モデルサイズは、変更部15によって生成される機械学習モデル(第2の機械学習モデル)のサイズである。なお、モデルサイズは、推論装置10のハードウェア性能を制御する制御パラメータの一例である。第1実施形態では、制御パラメータがモデルサイズである場合を例にして説明するが、制御パラメータはモデルサイズに限られない。制御パラメータは、例えばモデルサイズ、演算量、推論精度、推論速度、消費電力、メモリ量及びメモリ帯域の少なくとも1つを含む。
設定部14は、モデルサイズに応じて、重み係数のテンソルの分解テンソルの幅を設定する。第1実施形態では、設定部14は、モデルサイズ取得部13からモデルサイズが入力されるたびに、重み行列Wの幅rとして(U)V の幅r(1≦r≦R)を設定し、当該重み行列Wの幅rを示す幅情報を変更部15へ入力する。
図3は第1実施形態の重み行列Wの幅rについて説明するための図である。重み行列Wの幅rは、分解された重み行列Uの列数r(分解された重み行列V の行数r)によって決定される。設定部14は、R個の基底ベクトルからr(1≦r≦R)個の基底ベクトルを選択することによって、分解テンソル(図3では、重み行列U及び重み行列V )の幅を設定する。具体的には、設定部14は、分解部12から入力されるモデル情報をもとに、寄与度αの大きい基底ベクトルから基底ベクトルを追加して、目的のモデルサイズとなるまで、重み行列Wの幅rを増加させる。または、設定部14は、寄与度αの小さい基底ベクトルから基底ベクトルを削除して、目的のモデルサイズとなるまで重み行列Wの幅rを減少させる。
機械学習モデルが複数の重み行列Wを有する場合は、設定部14は、各重み行列Wが目的のサイズになるまで、独立に幅rの設定を行ってもよい。この場合は各重み行列Wのパラメータ数が同じであれば、幅rは一様になる。または設定部14は、複数の重み行列Wに含まれる基底ベクトルの寄与度を大きい順または小さい順に一列に並べた上で、上記幅rの設定を行ってもよい。この場合は、寄与度の大きい基底ベクトルを含む重み行列Wの幅rが優先的に増加するため、各重み行列Wのパラメータ数が同じであっても、幅rは非一様になる。
図4Aは第1実施形態の幅rの設定例(一様な場合)を示す図である。図4Bは第1実施形態の幅rの設定例(非一様な場合)を示す図である。図4A及びBの例は、512ノードをもつ中間層3つからならニューラルネットワークの幅rを設定した場合を示す。h1~3は、中間層の階層を示す。非一様の方式では、図4Bに示すように、寄与度の大きい層(寄与度の大きい基底ベクトルをより多く含む重み行列Wに対応する層)ほど幅rが大きくなる。これらの各重み行列Wの幅rとモデルサイズとの関係はテーブル化して、推論装置10で保持しておくとよい。なお、図4A及びBは、中間層3つからならニューラルネットワークの場合を例示しているが、中間層の層数は任意でよい。
図1に戻り、変更部15は、制御パラメータに応じて、第1の機械学習モデルを第2の機械学習モデルに変更する。具体的には、変更部15は、機械学習モデル(第1の機械学習モデル)を、設定部14により設定された幅を有する2以上の分解テンソルによって表される機械学習モデル(第2の機械学習モデル)に変更する。第1実施形態では、変更部15は、設定部14から、幅r(1≦r≦R)を示す幅情報が入力されるたびに、重み行列Wの幅rを変更し、変更されたモデル(重み係数)を推論部17に入力する。これにより重み行列Wのパラメータ数(重み係数の数)を、(m+n)≦(m+n)r≦(m+n)Rの範囲で変更できる。
図5は第1実施形態の変更部15の変更処理の例を示す図である。図5の例は、中間層3つからなるニューラルネットワークの幅を変更する場合を示す。この場合、1層、2層、3層目につながる重み行列Wのそれぞれが、上述の分解処理によって、重み行列US及びVに分解される。変更部15は、第1層につながる重み行列Wを、幅r1の重み行列US及びVに変更し、第2層につながる重み行列Wを、幅r2の重み行列US及びVに変更し、第3層につながる重み行列Wを、幅r3の重み行列US及びVに変更することにより、機械学習モデルを変更する。
また、変更部15は、モデルが正規化処理を有する場合、幅r(1≦r≦R)に基づいて、正規化処理のパラメータを変更することで、幅変更の影響を補正する。例えば、変更部15は、機械学習モデルが正規化処理をする正規化層を含む場合、正規化処理で使用されるパラメータを、設定部14により設定された幅に応じて補正する。第1実施形態ではニューラルネットワークがBatch normalization層を有する場合に、平均及び分散のパラメータを補正する場合について説明する。
Batch normalization層は、重み行列Wによる入力xの射影後のベクトルyを、以下のように正規化する。
Figure 0007114528000002
Figure 0007114528000003
Figure 0007114528000004
Figure 0007114528000005
ここで、Γ、βは学習で決定されるスケールおよびバイアスパラメータ、μ、Zが学習で決定される平均および分散のパラメータである。変更部15は、幅rを用いて、μ、Zの補正値μr、Zrを以下のように計算する。
Figure 0007114528000006
Figure 0007114528000007
Figure 0007114528000008
ここでΣは、学習サンプルを用いて計算されたyの共分散行列である。ZrはΣrの対角成分のみを取出した対角行列である。
このように、ニューラルネットワークの推論において、第1実施形態の推論装置10では、分解部12が、機械学習モデルの重み係数の行列Wを、行列分解法を用いて複数に分割する。変形部15が、推論時に指定される行列の幅rに基づいて行列を変形する。ニューラルネットワークが正規化層を持つ場合には、推論時に指定される幅rに応じて、正規化層のパラメータを変更する。第1実施形態により、幅rを制御することで、なるべく推論精度を保ちながら、機械学習モデルを任意のモデルサイズに変更できる。
図1に戻り、入力データ取得部16は、画像等の入力データを取得する。
推論部17は、入力データ取得部16から入力データが入力されるたびに、推論処理を行い、結果を出力する。ここでの推論処理とはニューラルネットワークの順伝播を表す。推論部17は変更部15から変更された機械学習モデル(重み係数)が入力されない限り、入力に対して同一の機械学習モデルを使い続ける。
以上説明したように、第1実施形態の推論装置10では、分解部12が、第1の機械学習モデルの重み係数のテンソル(第1実施形態では、重み行列W)を、テンソル分解法によって2以上の分解テンソルに分解する。モデルサイズ取得部13は、機械学習モデルのモデルサイズを取得する。設定部14は、モデルサイズに応じて、分解テンソルの幅を設定する。変更部15は、第1の機械学習モデルを、設定部14により設定された幅を有する2以上の分解テンソルによって表される第2の機械学習モデルに変更する。推論部17は、第2の機械学習モデルを使用して、入力データに応じた推論をする。
これにより第1実施形態の推論装置10によれば、推論精度の低下を抑えながら、機械学習モデルを任意のサイズに変更することができる。
(第2実施形態)
次に第2実施形態について説明する。第2実施形態では、第1実施形態と同様の説明については省略する。第2実施形態では、機械学習モデルとして多層のニューラルネットワークを用いる場合を例に説明する。なお、機械学習モデルは、多層のニューラルネットワークに限らず、サポートベクターマシンなどの他のモデルを用いてもよい。重み係数のテンソルは、行列(階数2のテンソル)として説明を行う。制御パラメータとしてモデルサイズを用いる場合について説明する。消費電力やメモリ容量などの所望のハードウェア性能を元にモデルサイズを決めてもよい。
[装置構成の例]
図6は第2実施形態の推論システム100の装置構成の例を示す図である。第2実施形態の推論システム100は、推論装置10及び学習装置20を備える。推論装置10の説明は、第1実施形態と同様であるので省略する。学習装置20は、モデルを学習データによって、機械学習し、学習済みモデルを推論装置10に入力する。なお、第2実施形態では、推論装置10及び学習装置20を備える推論システム100として説明するが、学習装置20単体でシステムを構成してもよい。
[機能構成の例]
図7は第2実施形態の学習装置20の機能構成の例を示す図である。第2実施形態の学習装置20は、モデル取得部21、学習データ取得部22、近似部23、損失計算部24、勾配計算部25、勾配集積部26及び更新部27を備える。
モデル取得部21は、学習開始時には、外部からモデルを受け取り、当該モデルの初期化を行う。また、モデル取得部21は、学習中は、各ステップにおいて更新されたモデルを受け取る。また、モデル取得部21は、学習終了時には、学習済みモデルを推論装置10に入力する。
学習データ取得部22は、学習開始時に外部から学習データを受け取る。学習データは、モデルの入力データと、教師データとを含む。教師データは、入力データに対応するモデルの出力データ(正解ラベル)を示す。学習データ取得部22は、学習中の各ステップでは、入力データの全てまたは一部を、幅A~Cモデル101a~cに入力し、教師データの全てまたは一部を損失計算部24に入力する。
近似部23は、m×nサイズの重み行列Wを、よりランクの低い重み行列Wに近似する。近似方法は、例えば上述の特異値分解を用いて、Wr=U とする。次数r(上述の幅r)には、1≦r≦min(m,n)の範囲で予め決定された値、累積寄与率などを用いて計算された値、及び、ランダムに選択された値などが用いられる。
なお、モデルが複数の重み行列Wを有する場合は、近似部23は、全ての重み行列Wを近似しても良いし、一部の重み行列Wを選択して近似しても良い。重み行列Wに含まれるr個の基底の選択に当たっては、第1実施形態の設定部14と同様に、特異値などに基づいて定められた寄与度が大きいものから選択するとよい。近似部23は、上述の近似方法で単一のモデルから、ランクrの異なる複数の近似モデルを生成する。なお、近似モデルの数は、3つに限らず任意でよい。
図7の例では、近似部23は、近似モデルとして、幅A~Cモデル101a~cを生成する。幅Aモデル101aは、幅r=Aである重み行列Wによって表されるモデルである。幅Bモデル101bは、幅r=Bである重み行列Wによって表されるモデルである。幅Cモデル101cは、幅r=Cである重み行列Wによって表されるモデルである。近似モデルは、それぞれの重み行列W~W以外の全てのパラメータを共有して処理を行う。
損失計算部24は、各ランクri(i=1,…,M)の近似モデルについて、損失関数L(D,Wri,Θ)(i=1,…,M)を計算する。ここで、Mはモデル数であり、例えば、図7に示す三つのモデルを用いる場合はM=3である。Dは学習データである。Lは損失関数であり、分類問題などでは例えばクロスエントロピー関数などを用いる。Wriは、ランクriの近似モデルの重み行列を表す。ΘはWri以外の全ての学習可能なパラメータを表す。なお損失関数に、重みのL正則化などの正則化関数を追加してもよい。
勾配計算部25は、各近似モデルについて、下記式(9)及び(10)により、損失関数を微分して勾配を計算する。
Figure 0007114528000009
Figure 0007114528000010
ここで、上記式(9)の重み行列Wに関する微分は、各近似モデルの重み行列Wriについてではなく、近似前の重み行列Wに関して計算する。具体的には例えば、下記式(11)又は(12)により計算する。
Figure 0007114528000011
Figure 0007114528000012
ここでUriおよびVriは、ランクriに近似した際に得られる行列である。
勾配集積部26は、各近似モデルの勾配を集積して更新部27へ入力する。具体的には、勾配集積部26は、下記式(13)及び(14)によって、各近似モデルの勾配を集積する。
Figure 0007114528000013
Figure 0007114528000014
ここでα,β(i=1,…,M)は、各損失の加重を表す係数である。α,βは、例えば予め決定された値、各モデルのランク(幅r)に応じて計算される値、及び、学習の進捗によって決定される値などである。なお損失関数に、重みのL正則化などの正則化関数を追加する場合は、上記式(13)及び(14)に正則化関数の勾配を加える。
更新部27は、勾配集積部26で集積された勾配を使って、複数の近似モデルに対して同時に損失関数を最小化することによって、学習対象のモデルのパラメータを更新する。更新方法は、momentum-SGD及びAdamなどの確率的勾配法を用いるとよい。
以上説明したように、第2実施形態の推論システム100は、推論装置10及び学習装置20を備える。推論装置10は、上述の幅rを制御することで、なるべく推論精度を保ちながら、機械学習モデルを任意のモデルサイズの近似モデルに変更する(図3参照)。
学習装置20では、モデル取得部21が、学習対象のモデルを取得する。近似部23が、モデルの重み係数のテンソル(第2実施形態では重み行列W)を、テンソル分解法によって得られる2以上の分解テンソルに分解し、モデルを、幅の異なる複数の分解テンソルによって表された複数の近似モデル(第2実施形態では、幅A~Cモデル101a~c)に近似する。学習データ取得部22が、入力データと教師データとを含む学習データを取得し、入力データを複数の近似モデルに入力する。損失計算部24が、教師データと、複数の近似モデルから入力データに応じて出力される出力データとを使用して、複数の近似モデルそれぞれの損失関数を計算する。勾配計算部25が、それぞれの損失関数の勾配を計算する。集積部26が、勾配を集積する。そして、更新部27が、集積された勾配に基づいて、複数の近似モデルの損失関数が最小化されるようにして、学習対象のモデルのパラメータを更新する。
すなわち、学習装置20では、推論装置10によって、複数の行列のランク(幅r)で近似モデルが実行されることを想定して、複数の幅rの近似モデルでの損失関数の勾配を計算しながらモデルを学習する。これにより、機械学習モデルを、なるべく推論精度を保ちながら任意のサイズに変更できるようにする。
図8は第1及び第2実施形態の効果を説明するための図である。図8の例は、10クラス一般物体認識のデータセット(CIFAR10)において、15層の畳み込み型ニューラルネットワークを使用した場合を示す。縦軸は分類精度を示す。横軸はモデルサイズを示す。
グラフ201~203は、推論装置10及び学習装置20を備える認識システム100による結果を示す。グラフ201は、推論装置10で、Batch normalization層のパラメータ補正があり、幅rの設定が非一様(特異値順)に行われている場合を示す。グラフ202は、推論装置10で、Batch normalization層のパラメータ補正があり、幅rの設定が一様に行われている場合を示す。グラフ203は、推論装置10で、Batch normalization層のパラメータ補正がなく、幅rの設定が一様に行われている場合を示す。
グラフ204は、推論装置10による結果を示す。グラフ204は、Batch normalization層のパラメータ補正がなく、幅rの設定が一様に行われている場合を示す。
(第3実施形態)
次に第3実施形態について説明する。第3実施形態では、第1実施形態と同様の説明については省略する。第3実施形態では、具体例として、推論装置10を自動運転システムで利用する場合について説明する。自動運転システムは、車両の運転を補助するシステムである。例えば、自動運転システムは、車両に取り付けられたカメラにより撮像された画像を認識し、認識結果に基づき、車両の運転制御を実行する。例えば、自動運転システムは、歩行者、車両、信号、標識及び車線等を認識して、車両の運転制御を実行する。
[構成の例]
図9は第3実施形態の自動運転システム200の構成の例を示す図である。第3実施形態の自動運転システム200は、推論装置10、取得装置30及び車両制御装置40を備える。
取得装置30は、車両に取り付けられたカメラにより撮像された画像を取得する。装置30は、取得された画像を推論装置10に入力する。
推論装置10は、制御パラメータを取得する。制御パラメータは、例えば車両に搭載された計算リソースの使用状況や複数の処理装置の優先度である。例えば、自動運転システム200で複数の処理が実行される場合、推論装置10は、推論処理の優先度が高いほど、大きいモデルサイズを設定する。推論装置10は、撮像された画像から歩行者、車両、信号、標識及び車線等のオブジェクトを認識する。推論装置10は、例えば第2実施形態の学習装置20により最適化されている。なお、学習装置20が、自動運転システム200に含まれていてもよい。
車両制御装置40は、推論装置10から入力された認識結果に基づき、制御処理を実行する。例えば、車両制御装置40は、車両を制御したり運転者に警告を与えたりする。
第3実施形態の自動運転システム200は、なるべく推論精度を保ちながら任意のモデルサイズに変更できるモデルを用いている。これにより、第3実施形態の自動運転システム200によれば、推論装置10が、自動運転システム200における推論処理の優先度に応じてモデルサイズを変更することで、自動運転システム200の消費電力などを削減することができる。
なお、第1及び第2実施形態の推論装置10および学習装置20は、自動運転システム200に限らず他のアプリケーションに適用することもできる。
例えば、推論装置10は、インフラストラクチャメンテナンスシステムに適用することができる。インフラストラクチャメンテナンスシステムに適用された推論装置10は、ドローン等に搭載されたカメラにより撮像された画像から、飛行経路の計画を行ったり、鉄橋または橋等の劣化度等を検出したりする。
また例えば、推論装置10をロボット制御システムに適用することができる。ロボット制御システムに適用された推論装置10は、搭載されたセンサ、カメラにより撮像された画像などから、ロボットの動作を制御する。
また例えば、推論装置10をPOS/サイネージシステムに適用することができる。POS/サイネージシステムに適用された推論装置10は、搭載されたカメラにより撮像された画像から、顧客の属性推定、リコメンデーションなどを行う。
また例えば、推論装置10をスマートフォンなどの端末に適用することができる。スマートフォンなどの端末に適用された推論装置10は、搭載されたカメラにより撮像された画像を認識したり、画面から入力されるテキストを認識したり、スピーカーから入力される音声を認識したりする。
これらのシステム(インフラストラクチャメンテナンスシステム、ロボット制御システム、POS/サイネージシステム、及び、スマートフォンなど)に適用された推論装置10は、第3実施形態の自動運転システム200と同様に、システム内における推論装置10の推論処理の優先度によって、モデルサイズを変更することで消費電力などを削減することができる。
また例えば、推論装置10は、監視システムに適用できる。監視システムに適用された推論装置10は、エレベーター、鉄道車両、工場、照明及び街頭などに設置されたカメラにより撮像された画像から、周囲の状況を監視して異常があれば知らせる。これらに適用された推論装置10は、時間帯や混雑状況により、モデルサイズを変更することで消費電力などを削減することができる。
最後に、第1乃至第3実施形態の推論装置10及び学習装置20のハードウェア構成の例について説明する。
[ハードウェア構成の例]
図10は第1乃至第3実施形態の推論装置10及び学習装置20のハードウェア構成の例を示す図である。
推論装置10は、制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信装置306を備える。制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信装置306は、バス310を介して接続されている。
制御装置301は、補助記憶装置303から主記憶装置302に読み出されたプログラムを実行する。主記憶装置302は、ROM(Read Only Memory)、及び、RAM(Random Access Memory)等のメモリである。補助記憶装置303は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、及び、メモリカード等である。
表示装置304は表示情報を表示する。表示装置304は、例えば液晶ディスプレイ等である。入力装置305は、コンピュータを操作するためのインタフェースである。入力装置305は、例えばキーボードやマウス等である。コンピュータがスマートフォン及びタブレット型端末等のスマートデバイスの場合、表示装置304及び入力装置305は、例えばタッチパネルである。通信装置306は、他の装置と通信するためのインタフェースである。
コンピュータで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、メモリカード、CD-R及びDVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記憶媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
またコンピュータで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。またコンピュータで実行されるプログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
またコンピュータで実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
コンピュータで実行されるプログラムは、上述の推論装置10の機能構成(機能ブロック)のうち、プログラムによっても実現可能な機能ブロックを含むモジュール構成となっている。当該各機能ブロックは、実際のハードウェアとしては、制御装置301が記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶装置302上にロードされる。すなわち上記各機能ブロックは主記憶装置302上に生成される。
なお上述した各機能ブロックの一部又は全部をソフトウェアにより実現せずに、IC(Integrated Circuit)等のハードウェアにより実現してもよい。
また複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2つ以上を実現してもよい。
また推論装置10を実現するコンピュータの動作形態は任意でよい。例えば、推論装置10を1台のコンピュータにより実現してもよい。また例えば、推論装置10を、ネットワーク上のクラウドシステムとして動作させてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10 推論装置
11 モデル取得部
12 分解部
13 モデルサイズ取得部
14 設定部
15 変更部
16 入力データ取得部
17 推論部
20 学習装置
21 モデル取得部
22 学習データ取得部
23 近似部
24 損失計算部
25 勾配計算部
26 集積部
27 更新部
30 取得装置
40 車両制御装置
301 制御装置
302 主記憶装置
303 補助記憶装置
304 表示装置
305 入力装置
306 通信装置

Claims (9)

  1. 第1の機械学習モデルを前記第1の機械学習モデルよりもサイズが小さい第2の機械学習モデルに変更する推論装置であって、
    前記第2の機械学習モデルの制御パラメータを取得する取得部と、
    前記第1の機械学習モデルの重み係数のテンソルを、テンソル分解法によって2以上の分解テンソルに分解する分解部と、
    前記制御パラメータに応じて、前記分解テンソルの幅を設定し、前記第2の機械学習モデルのサイズを設定する設定部と、
    記第1の機械学習モデルを、前記設定部により設定されたサイズを有する2以上の分解テンソルによって表される前記第2の機械学習モデルに変更する変更部と、
    前記第2の機械学習モデルを使用して、入力データに応じた推論をする推論部と、を備え、
    前記重み係数のテンソルは、重み係数の行列であり、
    前記分解テンソルは、R個の基底ベクトルにより構成される2以上の行列であり、
    前記設定部は、前記R個の基底ベクトルからr(r≦R)個の基底ベクトルを選択することによって、前記分解テンソルの幅を設定し、
    前記変更部は、前記第1の機械学習モデルを、前記設定部により設定された幅を有する2以上の分解テンソルによって表される第2の機械学習モデルに変更する、
    推論装置。
  2. 第1の機械学習モデルを前記第1の機械学習モデルよりもサイズが小さい第2の機械学習モデルに変更する推論装置であって、
    前記第2の機械学習モデルの制御パラメータを取得する取得部と、
    前記第1の機械学習モデルの重み係数のテンソルを、テンソル分解法によって2以上の分解テンソルに分解する分解部と、
    前記制御パラメータに応じて、前記分解テンソルの幅を設定し、前記第2の機械学習モデルのサイズを設定する設定部と、
    記第1の機械学習モデルを、前記設定部により設定されたサイズを有する2以上の分解テンソルによって表される前記第2の機械学習モデルに変更する変更部と
    前記第2の機械学習モデルを使用して、入力データに応じた推論をする推論部と、を備え、
    前記変更部は、前記第1の機械学習モデルを、前記設定部により設定された幅を有する2以上の分解テンソルによって表される第2の機械学習モデルに変更し、
    前記変更部は、前記第1の機械学習モデルが正規化処理をする正規化層を含む場合、正規化処理で使用されるパラメータを、前記設定部により設定された幅に応じて補正する、
    推論装置。
  3. 前記制御パラメータは、前記推論装置のハードウェア性能を制御するパラメータであり、モデルサイズ、演算量、推論精度、推論速度、消費電力、メモリ量及びメモリ帯域の少なくとも1つを含む、
    請求項1または2に記載の推論装置。
  4. 前記設定部は、前記基底ベクトルの寄与度が大きい順に、r個の基底ベクトルを選択することによって、前記分解テンソルの幅を設定する、
    請求項に記載の推論装置。
  5. 前記分解部は、前記重み係数の行列の特異値分解に基づいて、前記重み係数の行列を分解し、
    前記設定部は、特異値に基づいて定められた寄与度が大きい順に、r個の基底ベクトルを選択することによって、前記分解テンソルの幅を設定する、
    請求項に記載の推論装置。
  6. 学習対象のモデルを取得するモデル取得部と、
    前記モデルの重み係数のテンソルを、テンソル分解法によって得られる2以上の分解テンソルに分解し、前記モデルを、幅の異なる複数の前記分解テンソルによって表された複数の近似モデルに近似する近似部と、
    入力データと教師データとを含む学習データを取得し、前記入力データを前記複数の近似モデルに入力する学習データ取得部と、
    前記教師データと、前記複数の近似モデルから前記入力データに応じて出力される出力データとを使用して、前記複数の近似モデルそれぞれの損失関数を計算する損失計算部と、
    前記それぞれの損失関数の勾配を計算する勾配計算部と、
    前記勾配を集積する集積部と、
    前記集積された勾配に基づいて、前記複数の近似モデルの損失関数が最小化されるようにして、前記学習対象のモデルのパラメータを更新する更新部と、
    を備える学習装置。
  7. 第1の機械学習モデルを前記第1の機械学習モデルよりもサイズが小さい第2の機械学習モデルに変更する推論装置の推論方法であって、
    第2の機械学習モデルの制御パラメータを取得するステップと、
    前記第1の機械学習モデルの重み係数のテンソルを、テンソル分解法によって2以上の分解テンソルに分解するステップと、
    前記制御パラメータに応じて、前記分解テンソルの幅を設定し、前記第2の機械学習モデルのサイズを設定するステップと、
    記第1の機械学習モデルを、前記設定するステップにより設定されたサイズを有する2以上の分解テンソルによって表される第2の機械学習モデルに変更するステップと、
    前記第2の機械学習モデルを使用して、入力データに応じた推論をするステップと、を含み、
    前記重み係数のテンソルは、重み係数の行列であり、
    前記分解テンソルは、R個の基底ベクトルにより構成される2以上の行列であり、
    前記設定するステップは、前記R個の基底ベクトルからr(r≦R)個の基底ベクトルを選択することによって、前記分解テンソルの幅を設定し、
    前記変更するステップは、前記第1の機械学習モデルを、前記設定するステップにより設定された幅を有する2以上の分解テンソルによって表される第2の機械学習モデルに変更する、
    推論方法。
  8. 第1の機械学習モデルを前記第1の機械学習モデルよりもサイズが小さい第2の機械学習モデルに変更する推論装置の推論方法であって、
    前記第2の機械学習モデルの制御パラメータを取得するステップと、
    前記第1の機械学習モデルの重み係数のテンソルを、テンソル分解法によって2以上の分解テンソルに分解するステップと、
    前記制御パラメータに応じて、前記分解テンソルの幅を設定し、前記第2の機械学習モデルのサイズを設定するステップと、
    前記第1の機械学習モデルを、前記設定するステップにより設定されたサイズを有する2以上の分解テンソルによって表される前記第2の機械学習モデルに変更するステップと、
    前記第2の機械学習モデルを使用して、入力データに応じた推論をするステップと、を含み、
    前記変更するステップは、前記第1の機械学習モデルを、前記設定するステップにより設定された幅を有する2以上の分解テンソルによって表される第2の機械学習モデルに変更し、
    前記変更するステップは、前記第1の機械学習モデルが正規化処理をする正規化層を含む場合、正規化処理で使用されるパラメータを、前記設定するステップにより設定された幅に応じて補正する、
    推論方法。
  9. 学習対象のモデルを取得するステップと、
    前記モデルの重み係数のテンソルを、テンソル分解法によって得られる2以上の分解テンソルに分解し、前記モデルを、幅の異なる複数の前記分解テンソルによって表された複数の近似モデルに近似するステップと、
    入力データと教師データとを含む学習データを取得し、前記入力データを前記複数の近似モデルに入力するステップと、
    前記教師データと、前記複数の近似モデルから前記入力データに応じて出力される出力データとを使用して、前記複数の近似モデルそれぞれの損失関数を計算するステップと、
    前記それぞれの損失関数の勾配を計算するステップと、
    前記勾配を集積するステップと、
    前記集積された勾配に基づいて、前記複数の近似モデルの損失関数が最小化されるようにして、前記学習対象のモデルのパラメータを更新するステップと、
    を含む学習方法。
JP2019126591A 2019-07-08 2019-07-08 推論装置、学習装置、推論方法及び学習方法 Active JP7114528B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019126591A JP7114528B2 (ja) 2019-07-08 2019-07-08 推論装置、学習装置、推論方法及び学習方法
US16/803,376 US20210012228A1 (en) 2019-07-08 2020-02-27 Inference apparatus, learning apparatus, inference method, and learning method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019126591A JP7114528B2 (ja) 2019-07-08 2019-07-08 推論装置、学習装置、推論方法及び学習方法

Publications (2)

Publication Number Publication Date
JP2021012553A JP2021012553A (ja) 2021-02-04
JP7114528B2 true JP7114528B2 (ja) 2022-08-08

Family

ID=74103242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019126591A Active JP7114528B2 (ja) 2019-07-08 2019-07-08 推論装置、学習装置、推論方法及び学習方法

Country Status (2)

Country Link
US (1) US20210012228A1 (ja)
JP (1) JP7114528B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019004350A1 (ja) 2017-06-29 2019-01-03 株式会社 Preferred Networks データ識別器訓練方法、データ識別器訓練装置、プログラム及び訓練方法
US11263052B2 (en) * 2019-07-29 2022-03-01 International Business Machines Corporation Determining optimal compute resources for distributed batch based optimization applications
JP7021158B2 (ja) 2019-09-04 2022-02-16 株式会社東芝 ロボットシステムおよび駆動方法
JP7051772B2 (ja) 2019-09-12 2022-04-11 株式会社東芝 提供装置、提供方法及びプログラム
JP7384081B2 (ja) * 2020-03-18 2023-11-21 株式会社デンソー 情報処理装置、データ分解方法、及びデータ分解プログラム
WO2024071718A1 (ko) * 2022-09-28 2024-04-04 삼성전자 주식회사 증강현실 기능을 지원하는 전자 장치 및 이의 동작 방법
CN117762760B (zh) * 2023-12-27 2024-06-11 江苏博云科技股份有限公司 服务器的硬件性能测试分数获取方法、装置和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020444A (ja) 2008-07-09 2010-01-28 Sony Corp 学習装置、学習方法、およびプログラム
US20150255061A1 (en) 2014-03-07 2015-09-10 Microsoft Corporation Low-footprint adaptation and personalization for a deep neural network
WO2018016608A1 (ja) 2016-07-21 2018-01-25 株式会社デンソーアイティーラボラトリ ニューラルネットワーク装置、車両制御システム、分解処理装置、及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548210B (zh) * 2016-10-31 2021-02-05 腾讯科技(深圳)有限公司 基于机器学习模型训练的信贷用户分类方法及装置
US10713593B2 (en) * 2016-11-04 2020-07-14 Google Llc Implicit bridging of machine learning tasks
CN111886606A (zh) * 2018-02-23 2020-11-03 Asml荷兰有限公司 用于图案的语义分段的深度学习
US10877558B1 (en) * 2018-02-28 2020-12-29 Facebook Technologies, Llc Wearable gesture input device using electric impedance measurement
CN109949300B (zh) * 2018-06-03 2020-07-17 北京昆仑医云科技有限公司 解剖树结构分析的方法、***和计算机可读介质
US11710033B2 (en) * 2018-06-12 2023-07-25 Bank Of America Corporation Unsupervised machine learning system to automate functions on a graph structure
CN109460793B (zh) * 2018-11-15 2023-07-18 腾讯科技(深圳)有限公司 一种节点分类的方法、模型训练的方法及装置
US10510002B1 (en) * 2019-02-14 2019-12-17 Capital One Services, Llc Stochastic gradient boosting for deep neural networks
IL286232B1 (en) * 2019-03-26 2024-07-01 Univ California Distributed privacy-preserving computing on protected data
EP3924935A1 (en) * 2019-03-29 2021-12-22 Google LLC Processing fundus images using machine learning models to generate blood-related predictions
US11816562B2 (en) * 2019-04-04 2023-11-14 Adobe Inc. Digital experience enhancement using an ensemble deep learning model

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020444A (ja) 2008-07-09 2010-01-28 Sony Corp 学習装置、学習方法、およびプログラム
US20150255061A1 (en) 2014-03-07 2015-09-10 Microsoft Corporation Low-footprint adaptation and personalization for a deep neural network
WO2018016608A1 (ja) 2016-07-21 2018-01-25 株式会社デンソーアイティーラボラトリ ニューラルネットワーク装置、車両制御システム、分解処理装置、及びプログラム

Also Published As

Publication number Publication date
JP2021012553A (ja) 2021-02-04
US20210012228A1 (en) 2021-01-14

Similar Documents

Publication Publication Date Title
JP7114528B2 (ja) 推論装置、学習装置、推論方法及び学習方法
US10755164B2 (en) Apparatus and method for learning a model corresponding to time-series input data
US10460230B2 (en) Reducing computations in a neural network
JP6620439B2 (ja) 学習方法、プログラム及び学習装置
CN110059740A (zh) 一种针对嵌入式移动端的深度学习语义分割模型压缩方法
US20170147921A1 (en) Learning apparatus, recording medium, and learning method
US11562250B2 (en) Information processing apparatus and method
JP6610278B2 (ja) 機械学習装置、機械学習方法及び機械学習プログラム
JP7051772B2 (ja) 提供装置、提供方法及びプログラム
US11654553B2 (en) Robot system and driving method
JP2021504836A5 (ja)
JP2021039640A (ja) 学習装置、学習システム、および学習方法
KR20190045038A (ko) 음성 인식 방법 및 장치
CN111008631A (zh) 图像的关联方法及装置、存储介质和电子装置
CN114298179A (zh) 一种数据处理方法、装置及设备
WO2020065908A1 (ja) パターン認識装置、パターン認識方法およびパターン認識プログラム
CN110136185B (zh) 一种单目深度估计方法及***
CN117034090A (zh) 模型参数调整、模型应用方法、装置、设备及介质
US20190156182A1 (en) Data inference apparatus, data inference method and non-transitory computer readable medium
US11868885B2 (en) Learning device, inference device, learning method, and inference method using a transformation matrix generated from learning data
JP7524031B2 (ja) 学習装置、方法及びプログラム
WO2022015822A1 (en) Neural network models using peer-attention
US20220138569A1 (en) Learning apparatus, method, and storage medium
WO2022201399A1 (ja) 推論装置、推論方法および推論プログラム
US20240256901A1 (en) Information processing apparatus, information processing method and non-transitory computer-readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220412

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220727

R151 Written notification of patent or utility model registration

Ref document number: 7114528

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151