JP2022013003A - 推論装置、学習装置、推論方法、プログラム、モデル生成方法及び再帰型ニューラルネットワーク - Google Patents
推論装置、学習装置、推論方法、プログラム、モデル生成方法及び再帰型ニューラルネットワーク Download PDFInfo
- Publication number
- JP2022013003A JP2022013003A JP2020115240A JP2020115240A JP2022013003A JP 2022013003 A JP2022013003 A JP 2022013003A JP 2020115240 A JP2020115240 A JP 2020115240A JP 2020115240 A JP2020115240 A JP 2020115240A JP 2022013003 A JP2022013003 A JP 2022013003A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- input
- layer
- gate
- output
- 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.)
- Pending
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
【課題】計算量を効率よく削減し、ゲートを持つ種々のニューラルネットワークに対して容易に適用可能なモデルを提供すること。
【解決手段】実施形態に係る推論装置は、入力層と、出力層と、入力層と出力層との間に設けられ、再帰型ニューラルネットワークを構成し、入力層から第1のベクトルを入力し、出力層へ第2のベクトルを出力する中間層と、を備える。中間層は、第1のベクトルと再帰入力としての第2のベクトルとに基づいて、活性化された第3のベクトルを生成し、第1のベクトルと再帰入力としての第2のベクトルとに基づいて、複数の要素が共通化された少なくとも一つのゲートベクトルを生成し、少なくとも一つのゲートベクトルと第3のベクトルとに基づいて、出力層への出力としての第2のベクトルを生成する。
【選択図】図4
Description
本明細書等に開示の実施形態は、推論装置、学習装置、推論方法、プログラム、モデル生成方法及び再帰型ニューラルネットワークに関する。
再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)は、内部に再帰ループを持ち、情報を持続させることができるモデルである。このため、系列のパターンを考慮したパターン識別が可能であり、例えば、音声認識や画像認識、文字認識、自然言語処理、機械翻訳などの様々な分野でパターン識別装置として使用されている。
再帰型ニューラルネットワークは、再帰ループを持つ中間層において、入力に加えて再帰入力も出力の計算に用いる。このため、再帰型ではないニューラルネットワークと比べて、一般的に計算量が増加する。特に、LSTM(Long Short Term Memory)に代表されるゲートを有する再帰型ニューラルネットワークでは、ゲートにおいて入力層からの入力と再帰ループによる再帰入力とを用いてゲート出力を計算するため、計算量の増加が特に顕著である。
再帰型ニューラルネットワークにおける計算量の削減については、種々検討されている。しかしながら、特定の構造を持つ再帰型ニューラルネットワークにおいて計算量を効率よく削減するモデルであっても他の構造を持つニューラルネットワークへの適用は容易でない場合があり、改善が求められている。
Sak Hasim, Andrew Senior, and Francoise Beaufays. "Long short-term memory based recurrent neural network architectures for large vocabulary speech recognition." arXiv preprint arXiv:1402.1128 (2014).
Masuko, "Computational cost reduction of long short-term memory based on simultaneous compression of input and hidden state." 2017 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU). IEEE, 2017.
本明細書等に開示の実施形態が解決しようとする課題の一つは、計算量を効率よく削減し、ゲートを持つ種々のニューラルネットワークに対して容易に適用可能なモデルを提供することである。
実施形態に係る推論装置は、入力層と、出力層と、前記入力層と前記出力層との間に設けられ、再帰型ニューラルネットワークを構成し、前記入力層から第1のベクトルを入力し、前記出力層へ第2のベクトルを出力する中間層と、を備える。前記中間層は、前記第1のベクトルと再帰入力としての前記第2のベクトルとに基づいて、活性化された第3のベクトルを生成し、前記第1のベクトルと再帰入力としての前記第2のベクトルとに基づいて、複数の要素が共通化された少なくとも一つのゲートベクトルを生成し、前記少なくとも一つのゲートベクトルと前記第3のベクトルとに基づいて、前記出力層への出力としての前記第2のベクトルを生成する。
本実施形態に係る推論装置によれば、計算量を効率よく削減し、ゲートを持つ種々のニューラルネットワークに対して容易に適用可能なモデルを提供することができる。
以下に添付図面を参照して、実施形態に係る推論装置、学習装置、推論方法、プログラム、モデル生成方法及び再帰型ニューラルネットワークを詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、以下の説明において、各図面で共通する部分には同一の符号を付して、詳細な説明を省略する。
図1は、実施形態に係る推論装置1の構成を示した図である。推論装置1は、例えば音声認識、画像認識、文字認識、自然言語処理、機械翻訳等のパターン識別処理を実行する装置である。図1に示した様に、推論装置は、入力層10、中間層11、出力層12を含む。
入力層10は、音声データ、画像データ、テキストデータ等の時系列データとしてのベクトル系列を受け付け、系列のステップ毎に、入力ベクトルとして中間層へ順次出力する。
出力層12は、入力層10に入力されたベクトル系列に対応するパターン系列を出力する。
中間層11は、入力層10と出力層12との間に設けられ、再帰型ニューラルネットワークを構成するRNN(Recurrent Neural Network)層を1層以上有する。RNN層は、入力のステップ毎に、当該ステップの下位層からの入力に加え、前ステップの当該RNN層の出力からなる再帰入力を用いて当該ステップの出力を計算する。従って、RNN層を中間層とする再帰型ニューラルネットワークを用いたパターン識別装置は、系列のパターンを考慮したパターン識別が可能である。
また、中間層11は、入力層10から入力される第1のベクトルと再帰入力としての第2のベクトルとを用いて、活性化された第3のベクトルを生成する。中間層11は、第1のベクトルと再帰入力としての第2のベクトルとを用いて、複数の要素が共通化された少なくとも一つのゲートベクトルを生成する。中間層11は、少なくとも一つのゲートベクトルと第3のベクトルとに基づいて、出力層12への出力としての第2のベクトルを生成する。
本実施形態においては、説明を具体的にするため、中間層11が有するRNN層は、LSTM(Long Short Term Memory)であるとする。ここで、LSTMは、例えば、入力を制御する入力ゲート、記憶を制御する忘却ゲート、および出力を制御する出力ゲートを備えたLSTMブロックと呼ばれるメモリセルを有する。RNN層にLSTMを用いた推論装置1は、入力ゲート、忘却ゲート、および出力ゲートを用いて入力、記憶、および出力を制御することで、長期の記憶の保持が可能である。
図2は、中間層11に用いられるLSTMの構成を示したブロック図である。
なお、図2において、各矢印はベクトル全体を一つのノードの出力から他のノードの入力へ運ぶことを意味する。実線矢印は下層からの入力ベクトルxtに関わる伝播に対応し、破線矢印は再帰入力に関わる隠れ状態ベクトルht-1の伝播に対応する。σで示された四角形、tanhで示された四角形は、入力したベクトルの各要素のシグモイド関数を演算する演算層、入力したベクトルの各要素のtanh関数を演算する演算層をそれぞれ意味する。また、中心に+が示された円形、中心に一点が示された円形は、入力したベクトル間の要素ごとの加算を実行する演算層、入力したベクトル間の要素ごとの積(アダマール積)を実行する演算層をそれぞれ意味する。なお、入力ベクトルxt、隠れ状態ベクトルhtは、それぞれ第1のベクトル、第2のベクトルの一例である。以下では簡単のためバイアスベクトルを省略して説明する。
まず、LSTM11の出力ゲートについて説明する。LSTM11に下層からの入力ベクトルxtが入力されると、入力ベクトルxtに出力ゲートのための線形変換行列Woxが積算されたベクトルWoxxtが演算層140に入力される。また、演算層140には、LSTM11の前回の出力ベクトルである(再帰入力としての)隠れ状態ベクトルht-1に出力ゲートのための線形変換行列Wohが積算されたベクトルWohht-1が入力される。
演算層140は、ベクトルWoxxtとベクトルWohht-1とを加算し、ベクトルWoxxt+Wohht-1を演算層142へ出力する。演算層142は、ベクトルWoxxt+Wohht-1の各要素のシグモイド関数を演算し、出力ゲートベクトルotを出力する。
次に、LSTM11の入力ゲートについて説明する。LSTM11に下層からの入力ベクトルxtが入力されると、入力ベクトルxtに入力ゲートのための線形変換行列Wixが積算されたベクトルWixxtが演算層120に入力される。また、演算層120には、LSTM11の前回の出力ベクトルである(再帰入力としての)隠れ状態ベクトルht-1に入力ゲートのための線形変換行列Wihが積算されたベクトルWihht-1が入力される。
演算層120は、ベクトルWixxtとベクトルWihht-1とを加算し、ベクトルWixxt+Wihht-1を演算層122へ出力する。演算層122は、ベクトルWixxt+Wihht-1の各要素のシグモイド関数を演算し、入力ゲートベクトルitを出力する。
次に、LSTM11の忘却ゲートについて説明する。LSTM11に下層からの入力ベクトルxtが入力されると、入力ベクトルxtに忘却ゲートのための線形変換行列Wfxが積算されたベクトルWfxxtが演算層130に入力される。また、演算層130には、LSTM11の前回の出力ベクトルである(再帰入力としての)隠れ状態ベクトルht-1に入力ゲートのための線形変換行列Wfhが積算されたベクトルWfhht-1が入力される。
演算層130は、ベクトルWfxxtとベクトルWfhht-1とを加算し、ベクトルWfxxt+Wfhht-1を演算層132へ出力する。演算層132は、ベクトルWfxxt+Wfhht-1の各要素のシグモイド関数を演算し、忘却ゲートベクトルftを出力する。
次に、LSTM11のメモリーセル(以下、単に「セル」と呼ぶ)を用いて、入力ベクトルxtの入力から隠れ状態ベクトルhtの出力までの動作について説明する。
LSTM11に下層からの入力ベクトルxtが入力されると、入力ベクトルxtに線形変換行列Waxが積算されたベクトルWaxxtが演算層110に入力される。また、演算層110には、LSTM11の前回の出力ベクトルである(再帰入力としての)隠れ状態ベクトルht-1に線形変換行列Wahが積算されたベクトルWahht-1が入力される。
演算層110は、ベクトルWaxxtとベクトルWahht-1とを加算して得られたベクトルを演算層112へ出力する。演算層112は、演算層110からのベクトルの各要素のtanh関数を演算して入力アクティベーションベクトルatを生成し、演算層114へ出力する。なお、入力アクティベーションベクトルatは、第3のベクトルの一例である。
演算層114には、演算層112からの入力アクティベーションベクトルatと入力ゲートベクトルitとが入力される。演算層114は、演算層112からの入力アクティベーションベクトルatと入力ゲートベクトルitとの要素ごとの積を実行し、得られたベクトルを演算層116へ出力する。なお、演算層114から演算層116へ出力されるベクトルは、第3のベクトルの一例である。
演算層116には、演算層114からのベクトルと演算層133からのベクトルとを加算し、セルアクティベーションベクトルctを演算層118へ出力する。ここで、演算層133からのベクトルは、忘却ゲートベクトルftと前回の(再帰入力としての)セルアクティベーションベクトルct-1との要素ごとの積を実行して得られるベクトルである。なお、セルアクティベーションベクトルctは、第3のベクトルの一例である。
演算層118は、セルアクティベーションベクトルctの各要素のtanh関数を演算して得られたベクトルを演算層119へ出力する。なお、演算層118から演算層119へ出力されるベクトルは、第3のベクトルの一例である。
演算層119には、演算層118からのベクトルと出力ゲートベクトルotとが入力される。演算層119は、演算層118からのベクトルと出力ゲートベクトルotとの要素ごとの積を実行し、得られたベクトルを隠れ状態ベクトルhtとして上層へ出力する。
上述したLSTM11における入力ゲートベクトルit、忘却ゲートベクトルft、出力ゲートベクトルot、入力アクティベーションベクトルat、セルアクティベーションベクトルct、隠れ状態ベクトルhtは、それぞれ以下のように定式化することができる。
ここで、中心に一点が示された円形は、入力したベクトル間の要素ごとの積を実行する演算層を意味する。また、簡単のため,バイアスベクトルは省略している。
一般的なLSTMにおいて、入力ベクトルxtがN次元、隠れ状態ベクトルhtがM次元である場合を想定する。係る場合、入力ゲートベクトルit、忘却ゲートベクトルft、出力ゲートベクトルot、入力アクティベーションベクトルat、セルアクティベーションベクトルctはM次元となる。
また、式(1)を用いた入力ゲートベクトルitの計算では、線形変換行列Wix、Wihを用いた行列演算における積の数(すなわち、線形変換行列Wix、Wihの要素数の和)は、NM+MM個となる。
同様に、式(2)を用いた忘却ゲートベクトルftの計算では、線形変換行列Wfx、Wfhを用いた行列演算における積の数(すなわち、線形変換行列Wfx、Wfhの要素数の和)は、NM+MM個となる。
同様に、式(3)を用いた出力ゲートベクトルotの計算では、線形変換行列Wox、Wohを用いた行列演算における積の数(すなわち、線形変換行列Wox、Wohの要素数の和)は、NM+MM個となる。
同様に、式(4)を用いた入力アクティベーションベクトルatの計算では、線形変換行列Wax、Wahを用いた行列演算における積の数(すなわち、線形変換行列Wax、Wahの要素数の和)は、NM+MM個となる。
ここで、LSTMにおける行列演算の積の数をLSTMの計算指標と定義する。この計算指標は、LSTMを用いた推論装置の演算負荷を示すパラメータと捉えることができる。上述の内容から、一般的な推論装置が有するLSTMの計算指標は4(N+M)Mとなる。
本実施形態に係る推論装置1は、LSTMの計算指標を低くするために、次のような構成を用いる。なお、以下においては、説明を具体的にするため及び一般的なLSTMと比較容易にするため、入力ベクトルxtはN次元ベクトルであり、隠れ状態ベクトルhtはM次元ベクトルである場合を想定する。
本実施形態に係る推論装置1では、例えば、L(Lは2以上の自然数)個のノード(すなわち、入力アクティベーションベクトルまたは/およびセルアクティベーションベクトルの要素)ごとにゲートの値を共有する。このゲートの値の共有は、入力ゲート、出力ゲート、忘却ゲートのうち、少なくとも一つにおいて適用することができる。以下においては説明を具体的にするため、入力ゲート、出力ゲート、忘却ゲートの全てにおいて、L個のノードごとにゲートの値を共有する場合を例とする。
ここで、上付きの添字mはベクトルの要素番号を意味する。
一方、本実施形態に係る推論装置1において、L個のノードごとにゲートの値を共有する場合、式(5)、(6)をベクトルの要素ごとに記述すると、一般性を失わずに、それぞれ以下の式(9)、(10)の様に表記することができる。
すなわち、本実施形態に係る推論装置1においては、L個のノードごとにゲートの値を共有することで、入力ゲートベクトルit、忘却ゲートベクトルft、出力ゲートベクトルotの次元数をM/Lとすることができる。
また、本実施形態に係る推論装置1においては、式(1)を用いた入力ゲートベクトルitの計算では、線形変換行列Wix、Wihを用いた行列演算における積の数(すなわち、線形変換行列Wix、Wihの要素数の和)は、NM/L+MM/L個となる。
同様に、本実施形態に係る推論装置1においては、式(2)を用いた忘却ゲートベクトルftの計算では、線形変換行列Wfx、Wfhを用いた行列演算における積の数(すなわち、線形変換行列Wfx、Wfhの要素数の和)は、NM/L+MM/L個となる。
同様に、本実施形態に係る推論装置1においては、式(3)を用いた出力ゲートベクトルotの計算では、線形変換行列Wox、Wohを用いた行列演算における積の数(すなわち、線形変換行列Wox、Wohの要素数の和)は、NM/L+MM/L個となる。
一方、本実施形態に係る推論装置1においても、L個のノードごとのゲートの値の共有に関係しない、式(4)を用いた入力アクティベーションベクトルatの計算では、線形変換行列Wax、Wahを用いた行列演算における積の数は、NM+MM個のままとなる。
すなわち、本実施形態に係る推論装置1におけるLSTMの計算指標は、(1+3/L)(N+M)Mとなる。従って、一般的なLSTMの計算指標は4(N+M)Mと比較して、LSTMの計算指標を削減することができ、計算における負荷を軽減することができる。これは、本実施形態に係る推論装置1では、複数のノードでゲートの値を共有してゲートそのものの次元(ゲートの出力の次元)を削減しているからである。
なお、ゲートの値を共有化するノードの数Lは、計算指標を削減するパラメータとして寄与する。本実施形態においては、ゲートの値を共有化するノードの数Lを削減率とも呼ぶ。
(比較例)
入力ベクトルxtが4次元(N=4)、隠れ状態ベクトルhtが4次元(M=4)である場合を想定する。
入力ベクトルxtが4次元(N=4)、隠れ状態ベクトルhtが4次元(M=4)である場合を想定する。
係る場合、LSTMにおいては、入力ゲートベクトルit、忘却ゲートベクトルft、出力ゲートベクトルot、入力アクティベーションベクトルat、セルアクティベーションベクトルctは4次元となる。
すなわち、LSTMにおいて、式(7)を次元ごとに書くと、次の式(11)、(12)、(13)、(14)の様になる。同様に、LSTMにおいて、式(8)を次元ごとに書くと、次の式(15)、(16)、(17)、(18)の様になる。
図3は、比較例に係るLSTMにおいて、ゲートの値を共有しないゲートベクトル270と、アクティベーションベクトル250との演算を模式的に示した図である。なお、図3において、中心に×が示された円形は要素同士の積を意味する。図4においても同様である。
図3に示した様に、ゲートベクトル270は、ゲートの値を共有していないため、四次元ベクトルの要素として、独立した四つのゲートの値270a、270b、270c、270dを有している。アクティベーションベクトル250は、独立した要素250a、250b、250c、250dを有している。
各ゲートの値270a、270b、270c、270dは、演算層280、281、282、283において、それぞれ対応するアクティベーションベクトルの要素250a、250b、250c、250dと積算される。その結果、各ゲートの値が積算された要素260a、260b、260c、260dを含むアクティベーションベクトル260が出力される。
図3において、例えばゲートベクトル270が忘却ゲートベクトルftとすれば、四つのゲートの値270a、270b、270c、270dの計算に用いる線形変換行列Wfx、Wfhのサイズは4行4列となる。同様に、ゲートベクトル270が入力ゲートベクトルitであるとすれば、入力ゲートベクトルitの計算に用いる線形変換行列Wix、Wihのサイズは4行4列となる。ゲートベクトル270が出力ゲートベクトルotであるとすれば、出力ゲートベクトルotの計算に用いる線形変換行列Wox、Wohのサイズは4行4列となる。
従って、比較例に係るLSTMの計算指標は4×(4+4)×4=128である。
一方、本実施形態に係る推論装置1において、2個(削減率L=2)のノードごとのゲートの値を共有するLSTMを想定する。係る場合、入力ゲートベクトルit、忘却ゲートベクトルft、出力ゲートベクトルotは、二つのノードで値が共有されるため2(=4/2)次元となる。一方、入力アクティベーションベクトルat、セルアクティベーションベクトルctは4次元のままである。
すなわち、本実施形態に係る推論装置が有するLSTMにおいて、式(9)を次元ごとに書くと、次の式(19)、(20)、(21)、(22)の様になる。同様に、比較例に係るLSTMにおいて、式(10)を次元ごとに書くと、次の式(23)、(24)、(25)、(26)の様になる。
図4は、本実施形態に係る推論装置1が有するLSTMにおいて、ゲートの値を2つ毎に共有したゲートベクトル170と、アクティベーションベクトル150との演算を模式的に示した図である。
図4に示した様に、ゲートベクトル170は、ゲートの値を二つごとに共有している。このため、ゲートベクトル170は、4次元ベクトルから2次元ベクトルになり、その要素として二つのゲートの値170a、170bを有している。アクティベーションベクトル150は、要素150a、150b、150c、150dを有している。
ゲートの値170aは、演算層180、181において、対応するアクティベーションベクトルの要素150a、150bと積算される。また、ゲートの値170bは、演算層182、183において、対応するアクティベーションベクトルの要素150c、150dと積算される。その結果、各ゲートの値が積算された要素160a、160b、160c、160dを含むアクティベーションベクトル160が出力される。
図4において、例えばゲートベクトル170を忘却ゲートベクトルftとすれば、忘却ゲートベクトルftの計算に用いる線形変換行列Wfx、Wfhのサイズは、二つのゲートの値170a、170bを計算すればよいため、2行4列とすることができる。同様に、ゲートベクトル270を入力ゲートベクトルitとすれば、入力ゲートベクトルitの計算に用いる線形変換行列Wix、Wihのサイズを2行4列とすることができる。ゲートベクトル270を出力ゲートベクトルotとすれば、出力ゲートベクトルotの計算に用いる線形変換行列Wox、Wohのサイズを2行4列とすることができる。
従って、本実施形態に係る推論装置1が有するLSTMの計算指標は、削減率L=2に従って、(1+3/2)(4+4)×4=80となる。その結果、本実施形態に係る推論装置1によれば、LSTMの計算指標を削減することができ、計算における負荷を軽減することができる。
次に、推論装置1を学習(訓練)により生成する学習装置2について説明する。
図5は、実施形態に係る学習装置2の構成の一例を示すブロック図である。学習装置2は、学習により推論装置1を生成するために用いられるモデル(以下、「学習用モデル」と呼ぶ。)を用いて学習を行う。従って、学習用モデルは、推論装置1と同様の構成を有する。学習用モデルの中間層11のネットワークパラメータは、本実施形態の学習装置2において、訓練データを用いた訓練(学習)により最適化することができる。
図5に示すように、学習装置2は、初期化部21、勾配計算部22、パラメータ更新部23を備える。
初期化部21は、学習用モデルが有するRNNのネットワークパラメータを初期化する。勾配計算部22は、学習用モデルの現在のパラメータで損失関数の勾配を計算する。パラメータ更新部23は、勾配計算部22が計算した損失関数の勾配に基づいて、現在の学習用モデルのネットワークパラメータを更新する。
すなわち、勾配計算部22は、削減率Lを用いて、L個のノードごとにゲートの値が共有化された学習用モデルの損失関数の勾配を、例えば誤差逆伝播法を用いて計算する。このため、学習時においても、ゲートの数やゲートの行列演算に用いるベクトルの次元(ゲートの入力の次元)ではなく,複数のノードでゲートの値を共有してゲートそのものの次元(ゲートの出力の次元)を削減することで計算量を削減することができる。
以上述べた様に、本実施形態に係る推論装置1は、入力層10と、出力層12と、入力層10と出力層12との間に設けられ、LSTMを構成し、入力層10から第1のベクトルとしての入力ベクトルxtを入力し、出力層12へ第2のベクトルとしての隠れ状態ベクトルhtを出力する中間層11と、を備える。中間層11は、入力ベクトルxtと再帰入力としての隠れ状態ベクトルht-1とを用いて、入力アクティベーションベクトルat、セルアクティベーションベクトルct等の活性化された第3のベクトルを生成する。中間層11は、入力ベクトルxtと再帰入力としての隠れ状態ベクトルht-1とを用いて、複数の要素が共通化された少なくとも一つのゲートベクトルit、ft、otを生成する。中間層11は、少なくとも一つのゲートベクトルit、ft、otと第3のベクトルとに基づいて、出力層12への出力としての隠れ状態ベクトルhtを生成する。
従って、ゲートの数やゲートの行列演算に用いるベクトルの次元ではなく,複数のノードでゲートの値を共有してゲートそのものの次元(ゲートの出力の次元)を削減することで計算量を削減することができる。従って、例えばLSTMの出力や入力の次元を線形変換によって削減する手法とは異なり、計算量を効率よく削減しつつ、ゲートを持つ種々のニューラルネットワークに対して容易に適用可能なモデルを実現することができる。
また、本実施形態に係る推論装置1を、例えば音声認識装置に提要した場合、計算量を削減することができるため、パーソナルロボット等の電力消費を削減して稼働時間を伸ばすことができる。また、低スペックのプロセッサを選択可能にして製品コストを削減することができる。
(変形例1)
上述した実施形態においては、LSTMが有する入力ゲート、出力ゲート、忘却ゲートの全てのゲートについて、削減率Lを用いて、複数の要素を共通化することで計算指標を低くする場合を例示した。これに対し、必ずしも全てのゲートに適用する必要はなく、例えば一つ又は二つのゲートについて、選択的に複数の要素を共通化することで計算指標を低くするようにしてもよい。
上述した実施形態においては、LSTMが有する入力ゲート、出力ゲート、忘却ゲートの全てのゲートについて、削減率Lを用いて、複数の要素を共通化することで計算指標を低くする場合を例示した。これに対し、必ずしも全てのゲートに適用する必要はなく、例えば一つ又は二つのゲートについて、選択的に複数の要素を共通化することで計算指標を低くするようにしてもよい。
また、上述した実施形態においては、LSTMが有する入力ゲート、出力ゲート、忘却ゲートの全てのゲートについて、同じ削減率Lを用いて、L個のノードごとにゲートの値を共有化した。これに対し、入力ゲート、出力ゲート、忘却ゲート間において、異なる削減率Lを用いてゲートの値を共有化するようにしてもよい。
さらに、LSTMの様々な変種、例えば入力ゲートと忘却ゲートを統合したCIFG(Coupled Input and Forget Gate)等に対しても、本実施形態に係る推論装置1の構成を適用することができる。
(変形例2)
上記実施形態においては、LSTM11を有する推論装置1を例として説明した。これに対し、ゲート構造を有する他の推論装置、例えばGRU(Gated Recurrent Unit)を有する推論装置にも適用することができる。
上記実施形態においては、LSTM11を有する推論装置1を例として説明した。これに対し、ゲート構造を有する他の推論装置、例えばGRU(Gated Recurrent Unit)を有する推論装置にも適用することができる。
一般的なGRUにおける入力ゲートベクトルit、更新ゲートベクトルzt、初期化ゲートベクトルrt、隠れ状態ベクトルhtは、それぞれ以下の式(27)、(28)、(29)、(30)のように定式化することができる。
ここで、Wz、Uz、Wr、Ur、W、Uはそれぞれ線形変換行列である、また、簡単のため,バイアスベクトルは省略している。
例えば、入力ベクトルxtがN次元、隠れ状態ベクトルhtがM次元である場合を想定する。係る場合、更新ゲートベクトルzt、初期化ゲートベクトルrtはM次元となる。
また、式(27)を用いた更新ゲートベクトルztの計算、式(28)を用いた初期化ゲートベクトルrtの計算、式(29)を用いたベクトルの計算では、線形変換行列Wz、Uz、Wr、Ur、W、Uを用いた行列演算における積の数(すなわち、線形変換行列Wix、Wihの要素数の和)は、それぞれNM+MM個となる。従って、一般的なGRUにおける計算指標は3(N+M)Mとなる。
初期化ゲートベクトルrtの計算に用いる線形変換行列Wr、Urのサイズは、L個のゲートの値を計算すればよいため、N/L行M列とすることができる。同様に、ゲートベクトルzt
nの計算に用いる線形変換行列Wz、UzのサイズをN/L行M列とすることができる。
従って、本実施形態に係る推論装置1の構成が適用されたGRUの計算指標は(1+2/L)(N+M)Mである。その結果、本実施形態に係る推論装置1によれば、一般的GRUに比して、計算指標を削減することができ、計算における負荷を軽減することができる。
(変形例4)
上述した実施形態においては、LSTMが有するゲートについて、削減率Lを用いて、複数の要素を共通化することで計算指標を低くする構成について説明した。当該構成に加えて、ゲートの数を少なくしたり、ゲートの行列演算に用いるベクトルの次元を低くする構成も組み合わせることもできる。これにより、さらに計算指標を削減することができ、計算における負荷を軽減することができる。
上述した実施形態においては、LSTMが有するゲートについて、削減率Lを用いて、複数の要素を共通化することで計算指標を低くする構成について説明した。当該構成に加えて、ゲートの数を少なくしたり、ゲートの行列演算に用いるベクトルの次元を低くする構成も組み合わせることもできる。これにより、さらに計算指標を削減することができ、計算における負荷を軽減することができる。
(変形例5)
上記実施形態は、推論装置1はパターン識別処理を実行する装置である場合を例として説明した。これに対し、パターン認識処理に限らず、全般的な推論処理(推定処理)を実行する推論装置において、ゲートについて削減率Lを用いて、複数の要素を共通化することで計算指標を低くするようにしてもよい。
上記実施形態は、推論装置1はパターン識別処理を実行する装置である場合を例として説明した。これに対し、パターン認識処理に限らず、全般的な推論処理(推定処理)を実行する推論装置において、ゲートについて削減率Lを用いて、複数の要素を共通化することで計算指標を低くするようにしてもよい。
(補足説明)
前述した実施形態における推論装置1、又は学習装置2の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、又はGPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、フレキシブルディスク、CD-ROM(Compact Disc-Read Only Memory)、又はUSB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアがASIC(Application Specific Integrated Circuit)、又はFPGA(Field Programmable Gate Array)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
前述した実施形態における推論装置1、又は学習装置2の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、又はGPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、フレキシブルディスク、CD-ROM(Compact Disc-Read Only Memory)、又はUSB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアがASIC(Application Specific Integrated Circuit)、又はFPGA(Field Programmable Gate Array)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。
図6は、前述した実施形態における推論装置1、又は学習装置2のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ71と、主記憶装置72(メモリ)と、補助記憶装置73(メモリ)と、ネットワークインタフェース74と、デバイスインタフェース75と、を備え、これらがバス76を介して接続されたコンピュータ7として実現されてもよい。
図6のコンピュータ7は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図6では、1台のコンピュータ7が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース74等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における推論装置1、又は学習装置2は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
前述した実施形態における推論装置1、又は学習装置2の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ7と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
プロセッサ71は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、又はASIC等)であってもよい。また、プロセッサ71は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ71は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ71は、量子コンピューティングに基づく演算機能を含むものであってもよい。
プロセッサ71は、コンピュータ7の内部構成の各装置等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ71は、コンピュータ7のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ7を構成する各構成要素を制御してもよい。
前述した実施形態における推論装置1及、又は学習装置2は、1又は複数のプロセッサ71により実現されてもよい。ここで、プロセッサ71は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
主記憶装置72は、プロセッサ71が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置72に記憶された情報がプロセッサ71により読み出される。補助記憶装置73は、主記憶装置72以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。前述した実施形態における推論装置1、又は学習装置2において各種データを保存するための記憶装置は、主記憶装置72又は補助記憶装置73により実現されてもよく、プロセッサ71に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶部102は、主記憶装置72又は補助記憶装置73により実現されてもよい。
記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサが接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。前述した実施形態における推論装置1、又は学習装置2が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ))とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
ネットワークインタフェース74は、無線又は有線により、通信ネットワーク8に接続するためのインタフェースである。ネットワークインタフェース74は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース74により、通信ネットワーク8を介して接続された外部装置9Aと情報のやり取りが行われてもよい。なお、通信ネットワーク8は、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等の何れか、又は、それらの組み合わせであってよく、コンピュータ7と外部装置9Aとの間で情報のやり取りが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。
デバイスインタフェース75は、外部装置9Bと直接接続するUSB等のインタフェースである。
外部装置9Aはコンピュータ7とネットワーク8を介して接続されている装置である。外部装置9Bはコンピュータ7と直接接続されている装置である。
外部装置9A又は外部装置9Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ、キーボード、マウス、又はタッチパネル等のデバイスであり、取得した情報をコンピュータ7に与える。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
また、外部装置9A又は外部装置9Bは、一例として、出力装置でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、又は有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
また、外部装置9Aまた外部装置9Bは、記憶装置(メモリ)であってもよい。例えば、外部装置9Aはネットワークストレージ等であってもよく、外部装置9BはHDD等のストレージであってもよい。
また、外部装置9A又は外部装置9Bは、前述した実施形態における推論装置1、又は学習装置2の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ7は、外部装置9A又は外部装置9Bの処理結果の一部又は全部を送信又は受信してもよい。
本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c、又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdd有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。
本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する、備える「(having)等)」が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
本明細書(請求項を含む)において、「最適化(optimize)」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は電子回路を含む装置等を含んでよい。
本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置(メモリ)のうち個々の記憶装置(メモリ)は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、数値又は数式を説明に用いている場合は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。
1 推論装置
2 学習装置
10 入力層
11 中間層(LSTM)
12 出力層
7 コンピュータ
8 ネットワーク
9A、9B 外部装置
71 プロセッサ
72 主記憶装置
73 補助記憶装置
74 ネットワークインタフェース
75 デバイスインタフェース
76 バス
110、112、114、116、118、119 演算層
120、122、130、132、140、142 演算層
150、160、250、260 アクティべーションベクトル
170、270 ゲートベクトル
150a、150b、150c、150d 要素
160a、160b、160c、160d 要素
170a、170b、170c、170d 要素
250a、250b、250c、250d 要素
260a、260b、260c、260d 要素
270a、270b、270c、270d 要素
2 学習装置
10 入力層
11 中間層(LSTM)
12 出力層
7 コンピュータ
8 ネットワーク
9A、9B 外部装置
71 プロセッサ
72 主記憶装置
73 補助記憶装置
74 ネットワークインタフェース
75 デバイスインタフェース
76 バス
110、112、114、116、118、119 演算層
120、122、130、132、140、142 演算層
150、160、250、260 アクティべーションベクトル
170、270 ゲートベクトル
150a、150b、150c、150d 要素
160a、160b、160c、160d 要素
170a、170b、170c、170d 要素
250a、250b、250c、250d 要素
260a、260b、260c、260d 要素
270a、270b、270c、270d 要素
Claims (12)
- 入力層と、
出力層と、
前記入力層と前記出力層との間に設けられ、再帰型ニューラルネットワークを構成し、前記入力層から第1のベクトルを入力し、前記出力層へ第2のベクトルを出力する中間層と、を備え
前記中間層は、
前記第1のベクトルと再帰入力としての前記第2のベクトルとに基づいて、活性化された第3のベクトルを生成し、
前記第1のベクトルと再帰入力としての前記第2のベクトルとに基づいて、複数の要素が共通化された少なくとも一つのゲートベクトルを生成し、
前記少なくとも一つのゲートベクトルと前記第3のベクトルとに基づいて、前記出力層への出力としての前記第2のベクトルを生成する、
推論装置。 - 前記中間層は、L(Lは2以上の自然数)個ごとに要素が共通化された前記少なくとも一つのゲートベクトルを生成する、
請求項1に記載の推論装置。 - 前記中間層は、前記少なくとも一つのゲートベクトルの複数の要素が共通化されたことにより低次元化された変換行列を用いて、前記少なくとも一つのゲートベクトルを生成する、
請求項1又は2に記載の推論装置。 - 前記中間層は、前記再帰型ニューラルネットワークとしてLSTM(Long Short Term Memory)を含み、
前記少なくとも一つのゲートベクトルは、入力ゲートベクトル、出力ゲートベクトル、忘却ゲートベクトルの少なくともいずれかを含む、
請求項1乃至3のうちいずれか一項に記載の推論装置。 - 前記中間層は、前記再帰型ニューラルネットワークとしてGRU(Gated Recurrent Unit)を含み、
前記少なくとも一つのゲートベクトルは、更新ゲートベクトル、初期化ゲートベクトルの少なくともいずれかを含む、
請求項1乃至3のうちいずれか一項に記載の推論装置。 - 前記中間層は、
同一の削減率を用いて前記複数の要素が共通化された複数の前記ゲートベクトルを生成し、
複数の前記ゲートベクトルと前記第3のベクトルとに基づいて、前記第2のベクトルを生成する、
請求項1乃至5のうちいずれか一項に記載の推論装置。 - 前記中間層は、二以上の削減率を用いて前記複数の要素が共通化された複数の前記ゲートベクトルを生成し、
複数の前記ゲートベクトルと前記第3のベクトルとに基づいて、前記第2のベクトルを生成する、
請求項1乃至5のうちいずれか一項に記載の推論装置。 - 入力層と、出力層と、前記入力層と前記出力層との間に設けられ、再帰型ニューラルネットワークを構成し、前記入力層から第1のベクトルを入力し、前記出力層へ第2のベクトルを出力する中間層と、を備える推論モデルを学習する学習装置であって、
前記中間層は、
前記第1のベクトルと再帰入力としての前記第2のベクトルとに基づいて、活性化された第3のベクトルを生成し、
前記第1のベクトルと再帰入力としての前記第2のベクトルとに基づいて、複数の要素が共通化された少なくとも一つのゲートベクトルを生成し、
前記少なくとも一つのゲートベクトルと前記第3のベクトルとに基づいて、前記出力層への出力としての前記第2のベクトルを生成するものであり、
前記推論モデルのパラメータを用いた損失関数の勾配を計算する勾配計算部と、
前記勾配に基づいて前記推論モデルのパラメータを更新するパラメータ更新部と、
を有する学習装置。 - 入力層と、出力層と、前記入力層と前記出力層との間に設けられ、再帰型ニューラルネットワークを構成し、前記入力層から第1のベクトルを入力し、前記出力層へ第2のベクトルを出力する中間層と、を備える推論装置において実行される推論方法であって、
前記中間層において、
前記第1のベクトルと再帰入力としての前記第2のベクトルとに基づいて、活性化された第3のベクトルを生成し、
前記第1のベクトルと再帰入力としての前記第2のベクトルとに基づいて、複数の要素が共通化された少なくとも一つのゲートベクトルを生成し、
前記少なくとも一つのゲートベクトルと前記第3のベクトルとに基づいて、前記出力層への出力としての前記第2のベクトルを生成すること、
を備えた推論方法。 - 入力層と、出力層と、前記入力層と前記出力層との間に設けられ、再帰型ニューラルネットワークを構成し、前記入力層から第1のベクトルを入力し、前記出力層へ第2のベクトルを出力する中間層と、を備える推論装置としての機能をコンピュータに実現させるためのプログラムであって、
前記中間層において、
前記第1のベクトルと再帰入力としての前記第2のベクトルとをに基づいて、活性化された第3のベクトルを生成するステップと、
前記第1のベクトルと再帰入力としての前記第2のベクトルとをに基づいて、複数の要素が共通化された少なくとも一つのゲートベクトルを生成するステップと、
前記少なくとも一つのゲートベクトルと前記第3のベクトルとに基づいて、前記出力層への出力としての前記第2のベクトルを生成するステップと、
を少なくとも1台のコンピュータに実行させるプログラム。 - 入力層と、出力層と、前記入力層と前記出力層との間に設けられ、再帰型ニューラルネットワークを構成し、前記入力層から第1のベクトルを入力し、前記出力層へ第2のベクトルを出力する中間層と、を備える推論モデルを生成するモデル生成方法であって、
前記中間層は、
前記第1のベクトルと再帰入力としての前記第2のベクトルとに基づいて、活性化された第3のベクトルを生成し、
前記第1のベクトルと再帰入力としての前記第2のベクトルとに基づいて、複数の要素が共通化された少なくとも一つのゲートベクトルを生成し、
前記少なくとも一つのゲートベクトルと前記第3のベクトルとに基づいて、前記出力層への出力としての前記第2のベクトルを生成するものであり、
前記推論モデルのパラメータを用いた損失関数の勾配を計算し、
前記勾配に基づいて前記推論モデルのパラメータを更新すること、
を有するモデル生成方法。 - 請求項11に記載のモデル生成方法を用いて生成した再帰型ニューラルネットワーク。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020115240A JP2022013003A (ja) | 2020-07-02 | 2020-07-02 | 推論装置、学習装置、推論方法、プログラム、モデル生成方法及び再帰型ニューラルネットワーク |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020115240A JP2022013003A (ja) | 2020-07-02 | 2020-07-02 | 推論装置、学習装置、推論方法、プログラム、モデル生成方法及び再帰型ニューラルネットワーク |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022013003A true JP2022013003A (ja) | 2022-01-18 |
Family
ID=80169549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020115240A Pending JP2022013003A (ja) | 2020-07-02 | 2020-07-02 | 推論装置、学習装置、推論方法、プログラム、モデル生成方法及び再帰型ニューラルネットワーク |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022013003A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116881996A (zh) * | 2023-09-07 | 2023-10-13 | 华南理工大学 | 基于鼠标操作的建模意图预测方法 |
-
2020
- 2020-07-02 JP JP2020115240A patent/JP2022013003A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116881996A (zh) * | 2023-09-07 | 2023-10-13 | 华南理工大学 | 基于鼠标操作的建模意图预测方法 |
CN116881996B (zh) * | 2023-09-07 | 2023-12-01 | 华南理工大学 | 基于鼠标操作的建模意图预测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102486030B1 (ko) | 완전연결층 신경망 정방향 연산 실행용 장치와 방법 | |
US20180240010A1 (en) | Technologies for optimized machine learning training | |
CN108345939A (zh) | 基于定点运算的神经网络 | |
CN113723613B (zh) | 对量子电路进行模拟的方法及装置 | |
CN113723612B (zh) | 对单向量子计算机计算模型的量子系统进行操作的方法及装置 | |
US20230214450A1 (en) | Method, electronic device, and computer program product for training model | |
WO2022272303A1 (en) | Compute in memory-based machine learning accelerator architecture | |
CN111033462A (zh) | 在基于处理器的系统中使用矩阵处理器提供高效浮点运算 | |
CN114186609A (zh) | 模型训练方法和装置 | |
WO2009131007A1 (ja) | Simd型並列計算機システム、simd型並列計算方法及び制御プログラム | |
JP2022013003A (ja) | 推論装置、学習装置、推論方法、プログラム、モデル生成方法及び再帰型ニューラルネットワーク | |
CN112214200B (zh) | 一种量子减法运算方法、装置、电子装置及存储介质 | |
CN113098802A (zh) | 量子噪声信道的逆映射分解方法及装置、电子设备和介质 | |
US20230024977A1 (en) | Method of processing data, data processing device, data processing program, and method of generating neural network model | |
CN109272112B (zh) | 一种面向神经网络的数据重用指令映射方法、系统及装置 | |
WO2022163629A1 (ja) | 推定装置、訓練装置、推定方法、生成方法及びプログラム | |
WO2024034688A1 (ja) | 学習装置、推論装置及びモデル作成方法 | |
US20230168873A1 (en) | Scheduling apparatus, training apparatus, scheduler and generation method | |
CN116935977B (zh) | 分子基态的电子结构计算方法及相关设备 | |
US11907679B2 (en) | Arithmetic operation device using a machine learning model, arithmetic operation method using a machine learning model, and training method of the machine learning model | |
US20240005070A1 (en) | Inference device and inference method | |
US20240095570A1 (en) | System and method for quantum circuit design for cognitive interference effects | |
KR102339896B1 (ko) | 프로세싱 엘리먼트, 이의 동작 방법, 및 이를 포함하는 가속기 | |
US20240144025A1 (en) | Information processing device, information processing method, program | |
CN116579435B (zh) | 量子电路的分类方法、装置、电子设备、介质和产品 |