JP2019095894A - 推定装置、学習装置、学習済みモデル、推定方法、学習方法、及びプログラム - Google Patents

推定装置、学習装置、学習済みモデル、推定方法、学習方法、及びプログラム Download PDF

Info

Publication number
JP2019095894A
JP2019095894A JP2017222696A JP2017222696A JP2019095894A JP 2019095894 A JP2019095894 A JP 2019095894A JP 2017222696 A JP2017222696 A JP 2017222696A JP 2017222696 A JP2017222696 A JP 2017222696A JP 2019095894 A JP2019095894 A JP 2019095894A
Authority
JP
Japan
Prior art keywords
neural network
hidden state
sequence
input
output sequence
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
Application number
JP2017222696A
Other languages
English (en)
Inventor
ブロンデル マチュー
Blondel Mathieu
ブロンデル マチュー
ニクラエ ブラド
Vlad Niculae
ニクラエ ブラド
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017222696A priority Critical patent/JP2019095894A/ja
Publication of JP2019095894A publication Critical patent/JP2019095894A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Machine Translation (AREA)

Abstract

【課題】入力系列の部分構造と出力系列の部分構造との関係性も解釈可能とすること。【解決手段】NNモデルによって、N個の要素で構成される入力系列から出力系列を推定する推定装置であって、前記出力系列中のt番目の要素を推定するときに、第1の再帰型ニューラルネットワークの第1の隠れ状態hiと、第2の再帰型ニューラルネットワークの第2の隠れ状態h´t−1とをニューラルネットワークに入力することで得られる値をxとして、1次元のTVに関するProx作用素と単体上へのユークリッド射影との合成関数で表されるfusedmax関数、又は、OSCARに関するProx作用素と単体上へのユークリッド射影との合成関数で表されるoscarmax関数のいずれかを示す活性化関数ΠΩ(x)に入力して、重みαitを算出し、αitをhiに掛け合わせた値を用いて、h´tを算出し、t番目の要素を推定する推定手段を有することを特徴とする。【選択図】図3

Description

本発明は、推定装置、学習装置、学習済みモデル、推定方法、学習方法、及びプログラムに関する。
文書、音声、動画等の順序を持つ系列データをニューラルネットワーク(NN:Neural Network)で扱う手法として、注意機構(attention mechanism)が知られている。注意機構は、ニューラルネットワークの或る隠れ状態を推定する際に、過去に推定した隠れ状態に注目して推定する技術である。どの隠れ状態にどの程度注目すべきか(つまり、注目度)を重みとして与えることで注意機構は実現される。
例えば、機械翻訳のニューラルネットワークモデルは、入力系列を原言語(翻訳元言語)の文を示す単語系列とし、出力系列を目的言語(翻訳先言語)の文を示す単語系列とした場合に、入力系列の先頭の単語から順に入力側の再帰型ニューラルネットワーク(以降、「RNN(Recurrent Neural Network)」と表す。)に入力し、入力系列の最後の単語を当該RNNに入力した場合の出力を出力側のRNNに入力することで、出力系列の先頭の単語から順に出力系列を推定するようにモデルが構成される。このとき、出力側のRNNの各隠れ状態による推定に、直前の隠れ状態の出力と、過去に推定された入力側の各隠れ状態の重み付け和を用いるようにニューラルネットワークを構成する手法が知られている(非特許文献1参照)。
注意機構を用いたニューラルネットワークの各ステップ(上記の例では、出力系列の1つの単語を推定することが1つのステップに相当する。)では、入力側のRNNの各隠れ状態の重みを確率分布で表現する。つまり、全ての隠れ状態についての重みの総和が1となり、かつ、各隠れ状態の重みが0以上1以下の値となるように重みの値を変換する。この確率分布に変換するための活性化関数として、softmax関数が知られている(非特許文献1及び2)。また、活性化関数としてsoftmax関数の代わりに、sparsemax関数を用いる手法も知られている(非特許文献3)。
D. Bahdanau, K. Cho, and Y. Bengio. Neural machine translation by jointly learning to align and translate. In Proc. of ICLR, 2015. M.-T. Luong, H. Pham, and C. D. Manning. Effective approaches to attention-based neural machine translation. In Proc. of EMNLP, 2015. A. F. Martins and R. F. Astudillo. From softmax to sparsemax: A sparse model of attention and multi-label classification. In Proc. of ICML, 2016.
ここで、注意機構を用いたニューラルネットワークモデルの利点として、モデルの推定精度の向上の他に、解釈性の向上が期待されている。一般的なニューラルネットワークは、隠れ状態に意味を持たせることが難しく、学習されたモデルから入力系列と出力系列との関係性を解釈することは困難である。一方で、各ステップにおける注意機構の重みの確率分布は、当該ステップで推定される出力系列中の要素(例えば、単語)が、入力系列のどの隠れ状態にどの程度注目して推定されたかを表す。つまり、出力系列の或る要素が、入力系列中のどの要素から推定されたのか(言い換えれば、出力系列中のどの要素と、入力系列中のどの要素との関連性が高いか)を解釈可能となることが期待できる。例えば、機械翻訳であれば、注意機構の確率分布により、出力系列のどの単語が、入力系列のどの単語に対応するかが解釈可能となることが期待できる。
しかしながら、非特許文献1や非特許文献2に開示されているsoftmax関数は、各隠れ状態の重み(確率)が0より大きな値となるように(つまり、0にならないように)各重みを確率分布に変換するため、入力系列と出力系列との関係を解釈することは困難である。
これに対して、非特許文献3に開示されているsparsemax関数は、スパースな(つまり、0を多く含むような)確率分布に変換するため、softmax関数を用いた場合よりも解釈が向上することが期待できる。しかしながら、この場合であっても、入力系列と出力系列との個々の要素間の関係の解釈に留まり、入力系列又は出力系列中の複数の要素間の構造的な関係を解釈することは困難である。すなわち、入力系列中の部分的な構造と、出力系列中の部分的な構造との間の関係性を解釈することは困難である。例えば、入力系列や出力系列が文に対応する単語系列である場合、このような単語系列には複数の単語の組み合わせで意味を持つ熟語等が含まれることがあるが、熟語等のような複数の要素(単語)間の関係を解釈することは困難である。
本発明は、上記の点に鑑みてなされたものであって、入力系列の部分構造と出力系列の部分構造との関係性も解釈可能とすることを目的とする。
そこで、本発明の実施の形態では、第1の再帰型ニューラルネットワークと、注意機構と、第2の再帰型ニューラルネットワークとが含まれるニューラルネットワークモデルによって、N個の要素で構成される入力系列から出力系列を推定する推定装置であって、前記出力系列中のt番目の要素を推定するときに、前記第1の再帰型ニューラルネットワークの第1の隠れ状態h(i=1,・・・,N)と、前記第2の再帰型ニューラルネットワークの第2の隠れ状態h´t−1とを前記注意機構のニューラルネットワークに入力することで得られる値をxとして、1次元のTVに関するProx作用素と単体上へのユークリッド射影との合成関数で表されるfusedmax関数、又は、OSCARに関するProx作用素と単体上へのユークリッド射影との合成関数で表されるoscarmax関数のいずれかを示す活性化関数ΠΩ(x)に入力して、前記第1の隠れ状態hのそれぞれの重みα を算出し、算出したα を前記第1の隠れ状態hに掛け合わせた値を用いて、前記第2の隠れ状態h´を算出し、該第2の隠れ状態h´から前記t番目の要素を推定する推定手段、を有することを特徴とする。
入力系列の部分構造と出力系列の部分構造との関係性も解釈可能とすることができる。
従来技術における注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する処理の一例を説明するための図である。 本発明の実施の形態における注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する処理の一例を説明するための図である。 実施例1における推定装置の機能構成の一例を示す図である。 実施例1における推定装置が実行する処理の一例を説明するためのフローチャートである。 出力側RNNのt番目の隠れ状態を推定する場合の一例を説明するための図である。 実施例2における学習装置の機能構成の一例を示す図である。 ニューラルネットワークモデルのパラメータを学習する処理の一例を説明するための図である。 実施例2における学習装置が実行する処理の一例を説明するためのフローチャートである。 本発明と従来技術との比較例を示す図である。 推定装置及び学習装置のハードウェア構成の一例を示す図である。
以下、本発明の実施の形態について、図面を参照しながら説明する。以降では、注意機構を用いて、入力系列から出力系列を推定するニューラルネットワークモデル(sequence−to−sequenceのニューラルネットワークモデル)について説明する。なお、入力系列と出力系列とは可変長系列であるものとする。
<従来の注意機構を用いたニューラルネットワークモデル>
まず、従来技術における注意機構(すなわち、活性化関数としてsoftmax関数又はsparsemax関数を用いた注意機構)を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する場合について、図1を参照しながら説明する。図1は、従来技術における注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する処理の一例を説明するための図である。
図1に示すように、ニューラルネットワークモデルは、入力側RNNと、出力側RNNと、注意機構とで構成される。以降では、入力系列をa,a,・・・,aとし、出力系列をb´,b´,・・・,b´とする。また、h,h,・・・,hを入力側RNNの隠れ状態とし、h´,h´,・・・,h´を出力側RNNの隠れ状態とする。なお、Nは入力系列の要素数、Mは出力系列の要素数である。入力系列の長さは可変長であっても良い。
まず、入力系列の先頭要素aを入力側RNNに入力して、第1のニューラルネットワーク(NN1)により隠れ状態hを得る。次に、この隠れ状態hと、入力系列の次の要素aとを入力側RNNに入力して、第1のニューラルネットワーク(NN1)により次の隠れ状態hを得る。以降、同様に、入力系列の次の要素aと、1つ前の隠れ状態hi−1とを入力側RNNに入力して、第1のニューラルネットワーク(NN1)により次の隠れ状態hを得る。この結果、入力系列の最後の要素aと、1つ前の隠れ状態hN−1とが入力側RNNに入力されることで、第1のニューラルネットワーク(NN1)により隠れ状態hが得られる。
ここで、a,a,・・・,aは、入力系列の各要素に対応する所定次元の特徴ベクトルである。例えば、入力系列を原言語の文とし、出力系列を目的言語の文とするような機械翻訳の場合には、a,a,・・・,aは単語を所定次元のベクトルに変換したもの(word embedding)である。
次に、入力側RNNの最後の隠れ状態hを出力側RNNに入力して、第2のニューラルネットワーク(NN2)により出力側RNNの先頭の隠れ状態h´を得る。このとき、softmax関数又はsparsemax関数を活性化関数に用いた注意機構により入力側の各隠れ状態h,h,・・・,hに所定の確率分布に従う重みを与えたものも第2のニューラルネットワーク(NN2)の入力することで、隠れ状態h´を計算する。そして、この隠れ状態h´を第3のニューラルネットワーク(NN3)に入力することで、出力b´を得る。この出力b´が、出力系列の最初の要素の推定結果となる。
同様に、注意機構により入力側の各隠れ状態h,h,・・・,hに所定の確率分布に従う重みを与えたものと、隠れ状態h´とを第2のニューラルネットワーク(NN2)に入力することで、出力側RNNの次の隠れ状態h´を得る。そして、この隠れ状態h´を第3のニューラルネットワーク(NN3)に入力することで、出力b´を得る。以降、出力系列中の最後の要素b´が得られるまで、同様の処理を繰り返す。
なお、各ステップ(出力側RNNの隠れ状態h´を得る処理をt番目のステップと呼ぶ。ただし、t=1,2,・・・Mである。)において注意機構により与えられる重みは異なるものとする。
<本発明の実施の形態における注意機構を用いたニューラルネットワークモデル>
次に、本発明の実施の形態における注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する場合について、図2を参照しながら説明する。図2は、本発明の実施の形態における注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する処理の一例を説明するための図である。
図2に示すように、ニューラルネットワークモデルは、入力側RNNと、出力側RNNと、注意機構とで構成される。ただし、注意機構の活性化関数には、本願の発明者自らが考案したfusedmax関数又はoscarmax関数と称する関数を用いる。なお、fusedmax関数及びoscarmax関数の詳細については後述する。
まず、入力側RNNの隠れ状態h,h,・・・,hを得る処理については、図1と同様であるため、その説明を省略する。
次に、入力側RNNの最後の隠れ状態hを出力側RNNに入力して、第2のニューラルネットワーク(NN2)により出力側RNNの先頭の隠れ状態h´を得る。このとき、fusedmax関数又はoscarmax関数を活性化関数に用いた注意機構により入力側の各隠れ状態h,h,・・・,hに重みを与えたものも第2のニューラルネットワーク(NN2)の入力することで、隠れ状態h´を計算する。そして、この隠れ状態h´を第3のニューラルネットワーク(NN3)に入力することで、出力b´を得る。この出力b´が、出力系列の最初の要素の推定結果となる。
続いて、注意機構により入力側の各隠れ状態h,h,・・・,hに重みを与えたものと、隠れ状態h´とを第2のニューラルネットワーク(NN2)に入力することで、出力側RNNの次の隠れ状態h´を得る。そして、この隠れ状態h´を第3のニューラルネットワーク(NN3)に入力することで、出力b´を得る。
以降も同様に、t番目のステップにおいて、注意機構により入力側の各隠れ状態h,h,・・・,hに重みを与えたものと、隠れ状態h´t−1とを第2のニューラルネットワーク(NN2)に入力することで、出力側RNNの次の隠れ状態h´を得る。このとき、各隠れ状態h,h,・・・,hに与える重みは、1つ前の隠れ状態h´t−1と、各隠れ状態h,h,・・・,hとに基づいて、fusedmax関数又はoscarmax関数に計算される。そして、この隠れ状態h´を第3のニューラルネットワーク(NN3)に入力することで、出力b´を得る。これを出力系列中の最後の要素b´が得られるまで、繰り返す。これにより、出力系列をb´,b´,・・・,b´が得られる。
以上の処理の中で、各ステップで注意機構により与える各隠れ状態h,h,・・・,hの重みを、fusedmax関数又はoscarmax関数により計算する。
<fusedmax関数及びoscarmax関数>
上述したように、本発明の実施の形態では、注意機構の活性化関数としてfusedmax関数又はoscarmax関数を用いる。
注意機構の活性化関数は、d次元(dは1以上の整数)の実数体をd次元の単体(simplex)に射影する関数と捉えることができる。このような射影関数のうち、ニューラルネットワークモデルに用いられる注意機構の活性化関数としての利用に適したものは、一般に、以下の式1に示す形で表すことができる。
ここで、xは各要素が実数値であるd次元のベクトル(つまり、d次元の実数体内の要素)を表し、yは各要素が正の値であるd次元のベクトル(つまり、d次元の単体内の要素)を表す。Δはd次元の単体を表す。Tは転置を表す。
また、ニューラルネットワークモデルで効率的に学習可能とするためには、softmax関数やsparsemax関数と同様に、誤差逆伝播法(バックプロパゲーション(Backpropagation))を用いることが可能な形である必要がある。そのためには、上記の式1で定義したΠΩ(x)はヤコビ行列が導出可能である必要がある。このような要件を満たす関数として、本願の発明者は、以下の式2に示すfusedmax関数又は式3に示すoscarmax関数を見出した。そこで、本発明では、これらの関数を活性化関数として利用する。
ここで、γはスパース性をコントロールするために予め定めておく定数である。また、λは構造化(グループ化)の程度を決めるパラメータであり、0以上の値を取る。λ=0の場合はsparsemax関数に等しく、λが大きくなり過ぎると全ての重みが1つのグループにグループ化されてしまう。つまり、λの値を調整することで、構造化(グループ化)の程度をコントロールすることができ、λの値が大きい程グループ化され易くなる。
上記の式2に示すfusedmax関数及び式3に示すoscarmax関数は、それぞれ以下の式4及び式5に示すように合成関数の形で表すことができる。
ここで、PΔdは単体上へのユークリッド射影である。また、上記の式4で定義したPTVは、1次元のTV(1-d Total Variation又はfused lasso)に関するProx作用素(Proximal Operator)を意味する。同様に、上記の式5で定義したPOSCは、OSCARに関するProx作用素を意味する。つまり、構造正則化学習で知られている手法であるfused lasso(参考文献1)やOSCAR(参考文献2)を注意機構に応用することで、式2に示すfusedmax関数、及び、式3に示すoscarmax関数を考案したのである。
[参考文献1]R. Tibshirani, M. Saunders, S. Rosset, J. Zhu, and K. Knight. Sparsity and smoothness via the fused lasso. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 67(1):91-108, 2005.
[参考文献2]H. D. Bondell and B. J. Reich. Simultaneous regression shrinkage, variable selection, and supervised clustering of predictors with OSCAR. Biometrics, 64(1):115-123, 2008.
すると、上記の式4により、fusedmax関数のヤコビ行列は、PΔdのヤコビ行列と、PTV(x/γ)のヤコビ行列との積である。同様に、上記の式5により、oscarmax関数は、PΔdのヤコビ行列と、POSC(x/γ)のヤコビ行列との積である。ここで、PΔdのヤコビ行列は、γ=1としたときのsparsemax関数のヤコビ行列であることが知られている。
TV(x)のヤコビ行列をJPTV(x)とし、POSC(x)のヤコビ行列をJPOSC(x)として、行列JPTV(x)の(i,j)成分を[JPTV(x)]i,j、行列JPOSC(x)の(i,j)成分を[JPOSC(x)]i,jと表すこととすれば、ヤコビ行列の各成分は、以下の式6及び式7で表すことができる。
ここで、zは、PTV(x)又はPOSC(x)の最適解とする。なお、この最適解は、例えば、以下の参考文献3又は参考文献4に開示されている方法で計算することができる。
[参考文献3]L. Condat. A direct algorithm for 1-d total variation denoising. IEEE Signal Processing Letters, 20(11):1054-1057, 2013.
[参考文献4]X. Zeng and M. A. Figueiredo. Solving OSCAR regularization problems by fast approximate proximal splitting algorithms. Digital Signal Processing, 31:124-135, 2014.
また、PTVでは、zのうち、隣接する要素が同じ値であるものをグループ化し、各グループに属する要素のインデックスの集合をG と表す。一方で、POSCでは、zのうち、同じ値であるものをグループ化し、各グループに属する要素のインデックスの集合をG と表す。POCSでは、隣接していなくても同じ値であれば同じグループにグループ化される点がPTVと異なる。
(実施例1)
以降で説明する実施例1では、上述した注意機構(fusedmax関数又はoscarmax関数を活性化関数とした注意機構)を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する推定装置10について説明する。なお、実施例1では、ニューラルネットワークモデルの各パラメータは学習済であるものとする。
<推定装置10の機能構成>
まず、実施例1における推定装置10の機能構成について、図3を参照しながら説明する。図3は、実施例1における推定装置10の機能構成の一例を示す図である。
図3に示す推定装置10は、fusedmax関数又はoscarmax関数を活性化関数とした注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する1以上のコンピュータである。
図3に示す推定装置10は、fusedmax関数又はoscarmax関数を活性化関数とした注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する推定処理部100を有する。推定処理部100は、推定装置10にインストールされた1以上のプログラムがCPU(Central Processing Unit)に実行させる処理により実現される。
推定処理部100は、入力側RNNとして機能する入力側RNN部110と、注意機構として機能する注意機構部120と、出力側RNNとして機能する出力側RNN部130とを有する。
実施例1における推定装置10は、推定処理部100により、図2で説明した推定処理を実行することができる。
<推定装置10が実行する処理>
以降では、実施例1における推定装置10が実行する処理(すなわち、入力系列から出力系列を推定する処理)について、図4を参照しながら説明する。図4は、実施例1における推定装置が実行する処理の一例を説明するためのフローチャートである。
ステップS101:推定処理部100の入力側RNN部110は、入力系列a,a,・・・,aを順に入力して、入力側RNNの隠れ状態h,h,・・・,hを得る。
すなわち、推定処理部100の入力側RNN部110は、入力系列の先頭要素aを入力して、第1のニューラルネットワーク(NN1)により隠れ状態hを得る。次に、推定処理部100の入力側RNN部110は、この隠れ状態hと、入力系列の次の要素aとを入力して、第1のニューラルネットワーク(NN1)により次の隠れ状態hを得る。以降、同様に、推定処理部100の入力側RNN部110は、入力系列の次の要素aと、1つ前の隠れ状態hi−1とを入力して、第1のニューラルネットワーク(NN1)により次の隠れ状態hを得る。これにより、入力側RNNの隠れ状態h,h,・・・,hが得られる。
以降のステップS102〜ステップS106の処理は、ステップの番号を示すt毎に繰り返し実行される。なお、t=1,2,・・・Mである。
ステップS102:推定処理部100の注意機構部120は、各i(i=1,2,・・・,N)に対して、入力側RNNの隠れ状態hと、t−1番目のステップにおける出力側RNNの隠れ状態h´t−1とを入力して、x を得る。
すなわち、推定処理部100の注意機構部120は、各i(i=1,2,・・・,N)毎に、図5(a)に示すように、隠れ状態hと、隠れ状態h´t−1とを入力して、第4のニューラルネットワーク(NN4)によりx を得る。言い換えれば、推定処理部100の注意機構部120は、各h(i=1,2,・・・,N)と、h´t−1との組毎に、当該hとh´t−1との組を第4のニューラルネットワーク(NN4)に入力することで、各x を得る。これにより、x ,x ,・・・,x が得られる。なお、各x を得るために用いられる第4のニューラルネットワーク(NN4)は、全てのiに対して同じものとする。
ステップS103:推定処理部100の注意機構部120は、上記の式2に示すfusedmax関数又は式3に示すoscarmax関数の入力xを、上記のステップS102で得られたx=(x ,x ,・・・,x として、重みα=(α ,α ,・・・,α を得る。
すなわち、推定処理部100の注意機構部120は、図5(b)に示すように、式2に示すfusedmax関数又は式3に示すoscarmax関数の入力xをxとして計算する。この計算の結果として得られるy=(y,y,・・・,yが重みα=(α ,α ,・・・,α である。
ステップS104:推定処理部100の注意機構部120は、各h(i=1,2,・・・,N)に対して、上記のステップS103で得られたα=(α ,α ,・・・,α を掛け合わせたものの総和をとることで、を得る。すなわち、推定処理部100の注意機構部120は、以下の式8により、を得る。
これにより、t番目のステップにおける注意機構の出力が得られる。
ステップS105:推定処理部100の出力側RNN部130は、1つ前の出力側RNNの隠れ状態h´t−1と、上記のステップS104で得られたとからh´を得る。
すなわち、推定処理部100の注意機構部120は、図5(c)に示すように、上記のステップS104で得られたと、入力した隠れ状態h´t−1とを第2のニューラルネットワーク(NN2)に入力して、t番目のステップにおける出力側RNNの隠れ状態h´を得る。
なお、t=1である場合には、1つ前の出力側RNNの隠れ状態が存在しないため、例えば、予め決められた初期値(初期の隠れ状態h´)を用いれば良い。
ステップS106:推定処理部100の出力側RNN部130は、上記のステップS105得られたh´からb´を得る。すなわち、推定処理部100の出力側RNN部130は、上記のステップS105得られたh´を第3のニューラルネットワーク(NN3)に入力して、出力系列のt番目の要素b´を得る。
以上により、実施例1における推定装置10は、注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定することができる。このとき、実施例1における推定装置10では、注意機構の活性化関数として、式2に示すfusedmax関数又は式3に示すoscarmax関数を用いることで、出力系列の各要素を予測する際の入力側RNNの各隠れ状態の重みをグループ化することができる。これにより、実施例1における推定装置10では、入力系列と出力系列との間の構造的な関係(すなわち、1以上の要素で構成されるグループ間の対応関係)を解釈することができるようになる。
このため、実施例1における推定装置10によれば、例えば、機械翻訳のニューラルネットワークモデルにおいて、熟語や専門用語等のように複数の単語の組み合わせ(グループ)で意味を持つ用語についての対訳を解釈する(すなわち、入力系列中のどの単語の組み合わせが、出力系列中のどの単語の組み合わせの翻訳であるかを解釈する)ことができるようになる。
また、実施例における推定装置10は、機械翻訳のニューラルネットワークモデル以外にも、例えば、入力文から要約文を得るテキスト要約のニューラルネットワークモデル、大量のテキストデータから特定の意味を含む文書を検出するテキスト含意認識のニューラルネットワークモデル等、順序性のある入力系列から出力系列を推定するような様々なニューラルネットワークモデルに同様に適用することができる。特に、入力系列と出力系列に構造的な特徴がある場合に、解釈性を向上させることができる。
したがって、実施例1における推定装置10によれば、特に、構造的な特徴を有する入力系列から出力系列を推定するようなニューラルネットワークモデルにおいて、入力系列と出力系列との間の構造的な関係を解釈可能としつつ、高い精度で推定することが可能となる。
なお、第1のニューラルネットワーク(NN1)〜第4のニューラルネットワーク(NN4)の構造は任意に設計することができる。
(実施例2)
実施例1ではニューラルネットワークモデルの各パラメータは学習済であるものとして説明した。以降で説明する実施例2では、ニューラルネットワークモデルの各パラメータを学習する学習装置20について説明する。
<学習装置20の機能構成>
まず、実施例2における学習装置20の機能構成について、図6を参照しながら説明する。図6は、実施例2における学習装置20の機能構成の一例を示す図である。
図6に示す学習装置20は、fusedmax関数又はoscarmax関数を活性化関数とした注意機構を用いたニューラルネットワークモデルの各パラメータを学習する1以上のコンピュータである。
図6に示す学習装置20は、fusedmax関数又はoscarmax関数を活性化関数とした注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する推定処理部100と、当該ニューラルネットワークモデルの各パラメータを更新するパラメータ更新部200とを有する。これら各部は、学習装置20にインストールされた1以上のプログラムがCPUに実行させる処理により実現される。
推定処理部100は、入力側RNNとして機能する入力側RNN部110と、注意機構として機能する注意機構部120と、出力側RNNとして機能する出力側RNN部130とを有する。
実施例2における学習装置20は、推定処理部100及びパラメータ更新部200により、後述する学習処理を実行することができる。
<ニューラルネットワークモデルの各パラメータの学習>
次に、本発明の実施の形態における注意機構を用いたニューラルネットワークモデルの各パラメータを学習する場合について、図7を参照しながら説明する。図7は、ニューラルネットワークモデルのパラメータを学習する処理の一例を説明するための図である。なお、ニューラルネットワークモデルのパラメータとは、第1のニューラルネットワーク(NN1)〜第4のニューラルネットワーク(NN4)の隠れ層の重み(バイアスも含む)のことである。
ニューラルネットワークモデルのパラメータの学習には、入力系列a,a,・・・,aと、当該入力系列に対する出力系列の正解データb,b,・・・,bとが含まれる学習データを用いる。なお、ニューラルネットワークモデルの各パラメータには、例えば、適当な初期値が設定されていれば良い。
まず、図2と同様に、ニューラルネットワークモデルにより、入力系列a,a,・・・,aから出力系列の予測結果b´,b´,・・・,b´を得る。次に、出力系列の予測結果b´,b´,・・・,b´と、出力系列の正解データb,b,・・・,bとの誤差が小さくなるように、パラメータ更新部200により、ニューラルネットワークモデルの各パラメータを更新する。パラメータの更新には、例えば、誤差逆伝播法等を用いれば良い。これにより、ニューラルネットワークモデルの各パラメータが更新される。
<学習装置20が実行する処理>
以降では、実施例2における学習装置20が実行する処理(すなわち、学習データを用いてニューラルネットワークの各パラメータを更新する処理)について、図8を参照しながら説明する。図8は、実施例2における学習装置20が実行する処理の一例を説明するためのフローチャートである。なお、ニューラルネットワークモデルの各パラメータには、例えば、適当な初期値が設定されているものとする。
ステップS201:推定処理部100は、学習データに含まれる入力系列a,a,・・・,aから出力系列の予測結果b´,b´,・・・,b´を得る。すなわち、推定処理部100は、図4のステップS101〜ステップS106を実行することで、入力系列a,a,・・・,aから出力系列の予測結果b´,b´,・・・,b´を得る。
ステップS202:パラメータ更新部200は、例えば誤差逆伝播法等を用いて、上記のステップS201で得られた予測結果b´,b´,・・・,b´と、学習データに含まれる正解データb,b,・・・,bとの誤差が小さくなるように、ネットワークモデルの各パラメータを更新する。このとき、注意機構の重みは、図4のステップS102〜ステップS103で説明したように計算することができる。
ニューラルネットワークモデルのパラメータを更新するためには、fusedmax関数又はoscarmax関数を用いた出力値から逆伝播させる誤差の値として、fusedmax関数のヤコビ行列又はoscarmax関数のヤコビ行列が必要となる。上述したように、fusedmax関数のヤコビ行列は、PΔdのヤコビ行列と、PTV(x/γ)のヤコビ行列との積で計算することができる。また、上述したように、oscarmax関数のヤコビ行列は、PΔdのヤコビ行列と、POSC(x/γ)のヤコビ行列との積で計算することができる。
ここで、上述したように、PΔdのヤコビ行列はγ=1としたときのsparsemax関数のヤコビ行列であることが知られている。PTV(x/γ)のヤコビ行列は、上記の式6により計算することができる。また、POSC(x/γ)のヤコビ行列は、上記の式7により計算することができる。これにより、ニューラルネットワークモデルの各パラメータは、fusedmax関数又はoscarmax関数のヤコビ行列の各要素の大きさに応じた値だけ更新されることになる。
なお、上記のステップS201〜ステップS202は、例えば、複数の学習データを用いて繰り返し実行されることが好ましい。複数の学習データを用いてパラメータを更新することで、高い精度で推定が可能なニューラルネットワークモデルを構築することができる。
以上により、実施例2における学習装置20は、fusedmax関数又はoscarmax関数を活性化関数とした注意機構を用いたニューラルネットワークモデルの各パラメータを学習することができる。これにより、実施例1で説明した推定装置10を実現することができる。
<本発明と従来技術との比較例>
次に、本発明の実施の形態における注意機構を用いたニューラルネットワークモデルによる推定結果と、従来技術における注意機構を用いたニューラルネットワークモデルによる推定結果との比較例を図9に示す。図9(a)は、注意機構の活性化関数としてfusedmax関数を用いた場合の例である。図9(b)は、注意機構の活性化関数としてoscarmax関数を用いた場合の例である。図9(c)は、注意機構の活性化関数としてsoftmax関数を用いた場合の例である。
図9に示す例は、機械翻訳のニューラルネットワークモデルにおいて、注意機構が入力側RNNの各隠れ状態に対して与える重みの確率分布を視覚的に表した例である。また、図9に示す例は、原言語をフランス語、目的言語を英語として、フランス語から英語に翻訳した場合であり、横軸が入力系列となるフランス語の文の単語系列、縦軸がニューラルネットワークモデルにより予測された出力系列である英語の文の単語系列である。
横の行は、当該英語の単語の翻訳が、入力系列中のどのフランス語の単語から予測されたかを表し、色が濃い程注意機構による重みの値が大きく、当該英語の単語と関係性が高いと解釈できる。また、同じ色(つまり、同じ確率値)になっているものが、同じグループに属する単語、すなわち、構造的に関連性の高い単語の集合である可能性が高いと解釈できる。
図9(b)に示す例では、同じグループに属する単語に黒丸を付与した。例えば、図9(b)に示す例では、出力系列の単語「international」は、入力系列の単語「aide」及び「internationale」に黒丸が付与されている。これは、出力系列の単語「international」は、入力系列の単語「aide」と「internationale」とが属するグループ(単語の集合)と構造的に関連性が高い可能性があることを示している。
図9によれば、oscarmax関数による結果(図9(b))が、他の結果と比べてより自然な英語に近い翻訳結果が得られていると言える。
<推定装置10及び学習装置20のハードウェア構成>
最後に、実施例1における推定装置10と、実施例2における学習装置20とのハードウェア構成について、図10を参照しながら説明する。図10は、推定装置10及び学習装置20のハードウェア構成の一例を示す図である。なお、推定装置10と学習装置20とは同様のハードウェア構成を有するため、以降では、主に、推定装置10のハードウェア構成について説明する。
図10に示す推定装置10は、入力装置11と、表示装置12と、外部I/F13と、RAM(Random Access Memory)14と、ROM(Read Only Memory)15と、CPU16と、通信I/F17と、補助記憶装置18とを有する。これら各ハードウェアは、それぞれがバスBを介して通信可能に接続されている。
入力装置11は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置12は、例えばディスプレイ等であり、推定装置10の処理結果を表示する。なお、推定装置10は、入力装置11及び表示装置12の少なくとも一方を有していなくても良い。
外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。推定装置10は、外部I/F13を介して、記録媒体13a等の読み取りや書き込みを行うことができる。記録媒体13aには、例えば、推定処理部100を実現するプログラムやパラメータ更新部200を実現するプログラム等が記録されていても良い。
記録媒体13aには、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
RAM14は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM15は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM15には、例えば、OS(Operating System)設定やネットワーク設定等が格納されている。
CPU16は、ROM15や補助記憶装置18等からプログラムやデータをRAM14上に読み出して処理を実行する演算装置である。
通信I/F17は、推定装置10を通信ネットワークに接続するためのインタフェースである。推定処理部100を実現するプログラムやパラメータ更新部200を実現するプログラム等は、通信I/F17を介して、所定のサーバ装置等から取得(ダウンロード)されても良い。
補助記憶装置18は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置18に格納されているプログラムやデータには、例えば、OS、当該OS上において各種機能を実現するアプリケーションプログラム、推定処理部100を実現するプログラム、パラメータ更新部200を実現するプログラム等がある。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
10 推定装置
20 学習装置
100 推定処理部
110 入力側RNN部
120 注意機構部
130 出力側RNN部
200 パラメータ更新部

Claims (9)

  1. 第1の再帰型ニューラルネットワークと、注意機構と、第2の再帰型ニューラルネットワークとが含まれるニューラルネットワークモデルによって、N個の要素で構成される入力系列から出力系列を推定する推定装置であって、
    前記出力系列中のt番目の要素を推定するときに、前記第1の再帰型ニューラルネットワークの第1の隠れ状態h(i=1,・・・,N)と、前記第2の再帰型ニューラルネットワークの第2の隠れ状態h´t−1とを前記注意機構のニューラルネットワークに入力することで得られる値をxとして、1次元のTVに関するProx作用素と単体上へのユークリッド射影との合成関数で表されるfusedmax関数、又は、OSCARに関するProx作用素と単体上へのユークリッド射影との合成関数で表されるoscarmax関数のいずれかを示す活性化関数ΠΩ(x)に入力して、前記第1の隠れ状態hのそれぞれの重みα を算出し、
    算出したα を前記第1の隠れ状態hに掛け合わせた値を用いて、前記第2の隠れ状態h´を算出し、該第2の隠れ状態h´から前記t番目の要素を推定する推定手段、
    を有することを特徴とする推定装置。
  2. 前記1次元のTVに関するProx作用素と、前記OSCARに関するProx作用素とは、前記第1の隠れ状態をグループ化する程度を表すパラメータが含まれる、ことを特徴とする請求項1に記載の推定装置。
  3. 入力系列から出力系列を推定するためのニューラルネットワークモデルのパラメータを学習する学習装置であって、
    前記ニューラルネットワークモデルにより入力系列から出力系列を推定する推定手段と、
    前記推定手段により推定された前記出力系列と、前記入力系列に対する推定結果の正解の示す正解系列との誤差が小さくなるように、前記パラメータを更新する更新手段と、
    を有し、
    前記更新手段は
    1次元のTVに関するProx作用素のヤコビ行列と、単体上へのユークリッド射影のヤコビ行列との積に応じて前記パラメータを更新する、又は、OSCARに関するProx作用素のヤコビ行列と、単体上へのユークリッド射影のヤコビ行列との積に応じて前記パラメータを更新する処理を含む、ことを特徴とする学習装置。
  4. 入力系列から出力系列をコンピュータに推定させるための学習済みモデルであって、
    前記入力系列から1以上の第1の隠れ状態を生成する第1の再帰的ニューラルネットワークと、
    前記1以上の第1の隠れ状態に対する重みを生成する注意機構と、
    前記注意機構が生成した前記重みと、前記1以上の第1の隠れ状態とを掛け合わせた値を用いて、1以上の第2の隠れ状態を生成し、該第2の隠れ状態から前記出力系列を生成する第2の再帰的ニューラルネットワークと、が含まれ、
    前記第1の再帰的ニューラルネットワークは、
    前記入力系列中の先頭の要素から順に、該要素と直前に生成された第1の隠れ状態とを入力して、前記要素に対応する第1の隠れ状態を生成し、
    前記第2の再帰的ニューラルネットワークは、
    前記第1の再帰的ニューラルネットワークにより生成された最後の第1の隠れ状態を入力して、第2の隠れ状態を生成し、該第2の隠れ状態から前記出力系列中の先頭の要素を推定し、
    前記出力系列中の直前の要素の推定に用いた第2の隠れ状態と、前記注意機構により生成された前記重みと前記1以上の第1の隠れ状態とを掛け合わせた値とを入力して、次の第2の隠れ状態を生成し、該第2の隠れ状態から前記出力系列中の次の要素を推定し、
    前記注意機構は、
    前記出力系列中のt(tは2以上の整数)番目の要素を推定する場合に、前記第1の隠れ状態に含まるi番目の第1の隠れ状態に対する重みα を、y=(α ,α ,・・・,α とし、i番目の第1の隠れ状態と前記直前の要素の推定に用いた第2の隠れ状態とを所定のニューラルネットワークに入力して得られる値をx とした場合においてx=(x ,x ,・・・,x として、以下の式9に従うように生成する、
    処理を前記コンピュータに実行させることを特徴とする学習済みモデル。
  5. 第1の再帰型ニューラルネットワークと、注意機構と、第2の再帰型ニューラルネットワークとが含まれるニューラルネットワークモデルによって、N個の要素で構成される入力系列から出力系列を推定するコンピュータが、
    前記出力系列中のt番目の要素を推定するときに、前記第1の再帰型ニューラルネットワークの第1の隠れ状態h(i=1,・・・,N)と、前記第2の再帰型ニューラルネットワークの第2の隠れ状態h´t−1とを前記注意機構のニューラルネットワークに入力することで得られる値をxとして、1次元のTVに関するProx作用素と単体上へのユークリッド射影との合成関数で表されるfusedmax関数、又は、OSCARに関するProx作用素と単体上へのユークリッド射影との合成関数で表されるoscarmax関数のいずれかを示す活性化関数ΠΩ(x)に入力して、前記第1の隠れ状態hのそれぞれの重みα を算出し、
    算出したα を前記第1の隠れ状態hに掛け合わせた値を用いて、前記第2の隠れ状態h´を算出し、該第2の隠れ状態h´から前記t番目の要素を推定する、
    処理を実行することを特徴とする推定方法。
  6. 入力系列から出力系列を推定するためのニューラルネットワークモデルのパラメータを学習するコンピュータが、
    前記ニューラルネットワークモデルにより入力系列から出力系列を推定し、
    推定された前記出力系列と、前記入力系列に対する推定結果の正解の示す正解系列との誤差が小さくなるように、前記パラメータを更新する、
    処理を実行し、
    1次元のTVに関するProx作用素のヤコビ行列と、単体上へのユークリッド射影のヤコビ行列との積に応じて前記パラメータを更新する、又は、OSCARに関するProx作用素のヤコビ行列と、単体上へのユークリッド射影のヤコビ行列との積に応じて前記パラメータを更新する、ことを特徴とする学習方法。
  7. 第1の再帰型ニューラルネットワークと、注意機構と、第2の再帰型ニューラルネットワークとが含まれるニューラルネットワークモデルによって、N個の要素で構成される入力系列から出力系列を推定するコンピュータに、
    前記出力系列中のt番目の要素を推定するときに、前記第1の再帰型ニューラルネットワークの第1の隠れ状態h(i=1,・・・,N)と、前記第2の再帰型ニューラルネットワークの第2の隠れ状態h´t−1とを前記注意機構のニューラルネットワークに入力することで得られる値をxとして、1次元のTVに関するProx作用素と単体上へのユークリッド射影との合成関数で表されるfusedmax関数、又は、OSCARに関するProx作用素と単体上へのユークリッド射影との合成関数で表されるoscarmax関数のいずれかを示す活性化関数ΠΩ(x)に入力して、前記第1の隠れ状態hのそれぞれの重みα を算出し、
    算出したα を前記第1の隠れ状態hに掛け合わせた値を用いて、前記第2の隠れ状態h´を算出し、該第2の隠れ状態h´から前記t番目の要素を推定する、
    処理を実行させることを特徴とするプログラム。
  8. 入力系列から出力系列を推定するためのニューラルネットワークモデルのパラメータを学習するコンピュータに、
    前記ニューラルネットワークモデルにより入力系列から出力系列を推定し、
    推定された前記出力系列と、前記入力系列に対する推定結果の正解の示す正解系列との誤差が小さくなるように、前記パラメータを更新する、
    処理を実行させ、
    1次元のTVに関するProx作用素のヤコビ行列と、単体上へのユークリッド射影のヤコビ行列との積に応じて前記パラメータを更新する、又は、OSCARに関するProx作用素のヤコビ行列と、単体上へのユークリッド射影のヤコビ行列との積に応じて前記パラメータを更新する、ことを特徴とするプログラム。
  9. 第1の再帰型ニューラルネットワークと、注意機構と、第2の再帰型ニューラルネットワークとが含まれるニューラルネットワークモデルによって、N個の要素で構成される入力系列から出力系列を推定する推定装置であって、
    前記出力系列中のt番目の要素を推定するときに、前記第1の再帰型ニューラルネットワークの第1の各隠れ状態h(i=1,・・・,N)の重み付け和と、前記第2の再帰型ニューラルネットワークの第2の隠れ状態h´t−1とを前記第2の再帰型ニューラルネットワークに入力することで、前記出力系列中のt番目の要素の推定結果を得る推定手段を有し、
    前記推定手段における前記第1の各隠れ状態h(i=1,・・・,N)の各々に与える重みは、前記出力系列中のt番目の要素の推定に影響を与える前記入力系列の要素のうち、関連性の高い要素が同じ重みを持つように与えられる、ことを特徴とする推定装置。
JP2017222696A 2017-11-20 2017-11-20 推定装置、学習装置、学習済みモデル、推定方法、学習方法、及びプログラム Pending JP2019095894A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017222696A JP2019095894A (ja) 2017-11-20 2017-11-20 推定装置、学習装置、学習済みモデル、推定方法、学習方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017222696A JP2019095894A (ja) 2017-11-20 2017-11-20 推定装置、学習装置、学習済みモデル、推定方法、学習方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2019095894A true JP2019095894A (ja) 2019-06-20

Family

ID=66971621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017222696A Pending JP2019095894A (ja) 2017-11-20 2017-11-20 推定装置、学習装置、学習済みモデル、推定方法、学習方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2019095894A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022201512A1 (ja) * 2021-03-26 2022-09-29 日本電気株式会社 受注予測装置、受注予測方法、学習装置、学習方法、及び、記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022201512A1 (ja) * 2021-03-26 2022-09-29 日本電気株式会社 受注予測装置、受注予測方法、学習装置、学習方法、及び、記録媒体

Similar Documents

Publication Publication Date Title
Bond-Taylor et al. Deep generative modelling: A comparative review of vaes, gans, normalizing flows, energy-based and autoregressive models
Chen et al. Learning to optimize: A primer and a benchmark
US20200410384A1 (en) Hybrid quantum-classical generative models for learning data distributions
TWI698807B (zh) 以類別為基礎修剪之人工類神經網路
WO2020019236A1 (en) Loss-error-aware quantization of a low-bit neural network
US11593611B2 (en) Neural network cooperation
Valpola et al. An unsupervised ensemble learning method for nonlinear dynamic state-space models
US20220067588A1 (en) Transforming a trained artificial intelligence model into a trustworthy artificial intelligence model
CN113159072B (zh) 基于一致正则化的在线超限学习机目标识别方法及系统
CN113302605A (zh) 鲁棒且数据效率的黑盒优化
CN112446888A (zh) 图像分割模型的处理方法和处理装置
Liu et al. A modified gradient learning algorithm with smoothing L1/2 regularization for Takagi–Sugeno fuzzy models
JP2019086979A (ja) 情報処理装置、情報処理方法及びプログラム
Larios-Cárdenas et al. A hybrid inference system for improved curvature estimation in the level-set method using machine learning
JP6974651B2 (ja) 特徴推定方法、特徴推定装置、プログラム及び記録媒体
JP2019095894A (ja) 推定装置、学習装置、学習済みモデル、推定方法、学習方法、及びプログラム
Xu et al. Greedy layer-wise training of long short term memory networks
KR102105951B1 (ko) 추론을 위한 제한된 볼츠만 머신 구축 방법 및 추론을 위한 제한된 볼츠만 머신을 탑재한 컴퓨터 장치
WO2020012975A1 (ja) 変換装置、学習装置、変換方法、学習方法及びプログラム
Song et al. A data-efficient reinforcement learning method based on local Koopman operators
JP2019082847A (ja) データ推定装置、データ推定方法及びプログラム
JP7047665B2 (ja) 学習装置、学習方法及び学習プログラム
JP2021135683A (ja) 学習装置、推論装置、学習方法及び推論方法
WO2019155579A1 (ja) 特徴変換装置と方法及び記録媒体
JP7118882B2 (ja) 変数変換装置、潜在パラメータ学習装置、潜在パラメータ生成装置、これらの方法及びプログラム

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20171129