(57)【要約】【課題】入力系列の部分構造と出力系列の部分構造との関係性も解釈可能とすること。【解決手段】ＮＮモデルによって、Ｎ個の要素で構成される入力系列から出力系列を推定する推定装置であって、前記出力系列中のｔ番目の要素を推定するときに、第１の再帰型ニューラルネットワークの第１の隠れ状態ｈｉと、第２の再帰型ニューラルネットワークの第２の隠れ状態ｈ´ｔ−１とをニューラルネットワークに入力することで得られる値をｘとして、１次元のＴＶに関するＰｒｏｘ作用素と単体上へのユークリッド射影との合成関数で表されるｆｕｓｅｄｍａｘ関数、又は、ＯＳＣＡＲに関するＰｒｏｘ作用素と単体上へのユークリッド射影との合成関数で表されるｏｓｃａｒｍａｘ関数のいずれかを示す活性化関数ΠΩ（ｘ）に入力して、重みαｉｔを算出し、αｉｔをｈｉに掛け合わせた値を用いて、ｈ´ｔを算出し、ｔ番目の要素を推定する推定手段を有することを特徴とする。【選択図】図３
2019095894.tif 000002
【特許請求の範囲】
【請求項１】
第１の再帰型ニューラルネットワークと、注意機構と、第２の再帰型ニューラルネットワークとが含まれるニューラルネットワークモデルによって、Ｎ個の要素で構成される入力系列から出力系列を推定する推定装置であって、
前記出力系列中のｔ番目の要素を推定するときに、前記第１の再帰型ニューラルネットワークの第１の隠れ状態ｈｉ（ｉ＝１，・・・，Ｎ）と、前記第２の再帰型ニューラルネットワークの第２の隠れ状態ｈ´ｔ−１とを前記注意機構のニューラルネットワークに入力することで得られる値をｘとして、１次元のＴＶに関するＰｒｏｘ作用素と単体上へのユークリッド射影との合成関数で表されるｆｕｓｅｄｍａｘ関数、又は、ＯＳＣＡＲに関するＰｒｏｘ作用素と単体上へのユークリッド射影との合成関数で表されるｏｓｃａｒｍａｘ関数のいずれかを示す活性化関数ΠΩ（ｘ）に入力して、前記第１の隠れ状態ｈｉのそれぞれの重みαｉｔを算出し、
算出したαｉｔを前記第１の隠れ状態ｈｉに掛け合わせた値を用いて、前記第２の隠れ状態ｈ´ｔを算出し、該第２の隠れ状態ｈ´ｔから前記ｔ番目の要素を推定する推定手段、
を有することを特徴とする推定装置。
【請求項２】
前記１次元のＴＶに関するＰｒｏｘ作用素と、前記ＯＳＣＡＲに関するＰｒｏｘ作用素とは、前記第１の隠れ状態をグループ化する程度を表すパラメータが含まれる、ことを特徴とする請求項１に記載の推定装置。
【請求項３】
入力系列から出力系列を推定するためのニューラルネットワークモデルのパラメータを学習する学習装置であって、
前記ニューラルネットワークモデルにより入力系列から出力系列を推定する推定手段と、
前記推定手段により推定された前記出力系列と、前記入力系列に対する推定結果の正解の示す正解系列との誤差が小さくなるように、前記パラメータを更新する更新手段と、
を有し、
前記更新手段は
１次元のＴＶに関するＰｒｏｘ作用素のヤコビ行列と、単体上へのユークリッド射影のヤコビ行列との積に応じて前記パラメータを更新する、又は、ＯＳＣＡＲに関するＰｒｏｘ作用素のヤコビ行列と、単体上へのユークリッド射影のヤコビ行列との積に応じて前記パラメータを更新する処理を含む、ことを特徴とする学習装置。
【請求項４】
入力系列から出力系列をコンピュータに推定させるための学習済みモデルであって、
前記入力系列から１以上の第１の隠れ状態を生成する第１の再帰的ニューラルネットワークと、
前記１以上の第１の隠れ状態に対する重みを生成する注意機構と、
前記注意機構が生成した前記重みと、前記１以上の第１の隠れ状態とを掛け合わせた値を用いて、１以上の第２の隠れ状態を生成し、該第２の隠れ状態から前記出力系列を生成する第２の再帰的ニューラルネットワークと、が含まれ、
前記第１の再帰的ニューラルネットワークは、
前記入力系列中の先頭の要素から順に、該要素と直前に生成された第１の隠れ状態とを入力して、前記要素に対応する第１の隠れ状態を生成し、
前記第２の再帰的ニューラルネットワークは、
前記第１の再帰的ニューラルネットワークにより生成された最後の第１の隠れ状態を入力して、第２の隠れ状態を生成し、該第２の隠れ状態から前記出力系列中の先頭の要素を推定し、
前記出力系列中の直前の要素の推定に用いた第２の隠れ状態と、前記注意機構により生成された前記重みと前記１以上の第１の隠れ状態とを掛け合わせた値とを入力して、次の第２の隠れ状態を生成し、該第２の隠れ状態から前記出力系列中の次の要素を推定し、
前記注意機構は、
前記出力系列中のｔ（ｔは２以上の整数）番目の要素を推定する場合に、前記第１の隠れ状態に含まるｉ番目の第１の隠れ状態に対する重みαｔｉを、ｙ＝（αｔ１，αｔ２，・・・，αｔＮ）Ｔとし、ｉ番目の第１の隠れ状態と前記直前の要素の推定に用いた第２の隠れ状態とを所定のニューラルネットワークに入力して得られる値をｘｔｉとした場合においてｘ＝（ｘｔ１，ｘｔ２，・・・，ｘｔＮ）Ｔとして、以下の式９に従うように生成する、
【数６】
2019095894.tif 000008
処理を前記コンピュータに実行させることを特徴とする学習済みモデル。
【請求項５】
第１の再帰型ニューラルネットワークと、注意機構と、第２の再帰型ニューラルネットワークとが含まれるニューラルネットワークモデルによって、Ｎ個の要素で構成される入力系列から出力系列を推定するコンピュータが、
前記出力系列中のｔ番目の要素を推定するときに、前記第１の再帰型ニューラルネットワークの第１の隠れ状態ｈｉ（ｉ＝１，・・・，Ｎ）と、前記第２の再帰型ニューラルネットワークの第２の隠れ状態ｈ´ｔ−１とを前記注意機構のニューラルネットワークに入力することで得られる値をｘとして、１次元のＴＶに関するＰｒｏｘ作用素と単体上へのユークリッド射影との合成関数で表されるｆｕｓｅｄｍａｘ関数、又は、ＯＳＣＡＲに関するＰｒｏｘ作用素と単体上へのユークリッド射影との合成関数で表されるｏｓｃａｒｍａｘ関数のいずれかを示す活性化関数ΠΩ（ｘ）に入力して、前記第１の隠れ状態ｈｉのそれぞれの重みαｉｔを算出し、
算出したαｉｔを前記第１の隠れ状態ｈｉに掛け合わせた値を用いて、前記第２の隠れ状態ｈ´ｔを算出し、該第２の隠れ状態ｈ´ｔから前記ｔ番目の要素を推定する、
処理を実行することを特徴とする推定方法。
【請求項６】
入力系列から出力系列を推定するためのニューラルネットワークモデルのパラメータを学習するコンピュータが、
前記ニューラルネットワークモデルにより入力系列から出力系列を推定し、
推定された前記出力系列と、前記入力系列に対する推定結果の正解の示す正解系列との誤差が小さくなるように、前記パラメータを更新する、
処理を実行し、
１次元のＴＶに関するＰｒｏｘ作用素のヤコビ行列と、単体上へのユークリッド射影のヤコビ行列との積に応じて前記パラメータを更新する、又は、ＯＳＣＡＲに関するＰｒｏｘ作用素のヤコビ行列と、単体上へのユークリッド射影のヤコビ行列との積に応じて前記パラメータを更新する、ことを特徴とする学習方法。
【請求項７】
第１の再帰型ニューラルネットワークと、注意機構と、第２の再帰型ニューラルネットワークとが含まれるニューラルネットワークモデルによって、Ｎ個の要素で構成される入力系列から出力系列を推定するコンピュータに、
前記出力系列中のｔ番目の要素を推定するときに、前記第１の再帰型ニューラルネットワークの第１の隠れ状態ｈｉ（ｉ＝１，・・・，Ｎ）と、前記第２の再帰型ニューラルネットワークの第２の隠れ状態ｈ´ｔ−１とを前記注意機構のニューラルネットワークに入力することで得られる値をｘとして、１次元のＴＶに関するＰｒｏｘ作用素と単体上へのユークリッド射影との合成関数で表されるｆｕｓｅｄｍａｘ関数、又は、ＯＳＣＡＲに関するＰｒｏｘ作用素と単体上へのユークリッド射影との合成関数で表されるｏｓｃａｒｍａｘ関数のいずれかを示す活性化関数ΠΩ（ｘ）に入力して、前記第１の隠れ状態ｈｉのそれぞれの重みαｉｔを算出し、
算出したαｉｔを前記第１の隠れ状態ｈｉに掛け合わせた値を用いて、前記第２の隠れ状態ｈ´ｔを算出し、該第２の隠れ状態ｈ´ｔから前記ｔ番目の要素を推定する、
処理を実行させることを特徴とするプログラム。
【請求項８】
入力系列から出力系列を推定するためのニューラルネットワークモデルのパラメータを学習するコンピュータに、
前記ニューラルネットワークモデルにより入力系列から出力系列を推定し、
推定された前記出力系列と、前記入力系列に対する推定結果の正解の示す正解系列との誤差が小さくなるように、前記パラメータを更新する、
処理を実行させ、
１次元のＴＶに関するＰｒｏｘ作用素のヤコビ行列と、単体上へのユークリッド射影のヤコビ行列との積に応じて前記パラメータを更新する、又は、ＯＳＣＡＲに関するＰｒｏｘ作用素のヤコビ行列と、単体上へのユークリッド射影のヤコビ行列との積に応じて前記パラメータを更新する、ことを特徴とするプログラム。
【請求項９】
第１の再帰型ニューラルネットワークと、注意機構と、第２の再帰型ニューラルネットワークとが含まれるニューラルネットワークモデルによって、Ｎ個の要素で構成される入力系列から出力系列を推定する推定装置であって、
前記出力系列中のｔ番目の要素を推定するときに、前記第１の再帰型ニューラルネットワークの第１の各隠れ状態ｈｉ（ｉ＝１，・・・，Ｎ）の重み付け和と、前記第２の再帰型ニューラルネットワークの第２の隠れ状態ｈ´ｔ−１とを前記第２の再帰型ニューラルネットワークに入力することで、前記出力系列中のｔ番目の要素の推定結果を得る推定手段を有し、
前記推定手段における前記第１の各隠れ状態ｈｉ（ｉ＝１，・・・，Ｎ）の各々に与える重みは、前記出力系列中のｔ番目の要素の推定に影響を与える前記入力系列の要素のうち、関連性の高い要素が同じ重みを持つように与えられる、ことを特徴とする推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推定装置、学習装置、学習済みモデル、推定方法、学習方法、及びプログラムに関する。
【背景技術】
【０００２】
文書、音声、動画等の順序を持つ系列データをニューラルネットワーク（ＮＮ：Neural Network）で扱う手法として、注意機構（attention mechanism）が知られている。注意機構は、ニューラルネットワークの或る隠れ状態を推定する際に、過去に推定した隠れ状態に注目して推定する技術である。どの隠れ状態にどの程度注目すべきか（つまり、注目度）を重みとして与えることで注意機構は実現される。
【０００３】
例えば、機械翻訳のニューラルネットワークモデルは、入力系列を原言語（翻訳元言語）の文を示す単語系列とし、出力系列を目的言語（翻訳先言語）の文を示す単語系列とした場合に、入力系列の先頭の単語から順に入力側の再帰型ニューラルネットワーク（以降、「ＲＮＮ（Recurrent Neural Network）」と表す。）に入力し、入力系列の最後の単語を当該ＲＮＮに入力した場合の出力を出力側のＲＮＮに入力することで、出力系列の先頭の単語から順に出力系列を推定するようにモデルが構成される。このとき、出力側のＲＮＮの各隠れ状態による推定に、直前の隠れ状態の出力と、過去に推定された入力側の各隠れ状態の重み付け和を用いるようにニューラルネットワークを構成する手法が知られている（非特許文献１参照）。
【０００４】
注意機構を用いたニューラルネットワークの各ステップ（上記の例では、出力系列の１つの単語を推定することが１つのステップに相当する。）では、入力側のＲＮＮの各隠れ状態の重みを確率分布で表現する。つまり、全ての隠れ状態についての重みの総和が１となり、かつ、各隠れ状態の重みが０以上１以下の値となるように重みの値を変換する。この確率分布に変換するための活性化関数として、ｓｏｆｔｍａｘ関数が知られている（非特許文献１及び２）。また、活性化関数としてｓｏｆｔｍａｘ関数の代わりに、ｓｐａｒｓｅｍａｘ関数を用いる手法も知られている（非特許文献３）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】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.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、注意機構を用いたニューラルネットワークモデルの利点として、モデルの推定精度の向上の他に、解釈性の向上が期待されている。一般的なニューラルネットワークは、隠れ状態に意味を持たせることが難しく、学習されたモデルから入力系列と出力系列との関係性を解釈することは困難である。一方で、各ステップにおける注意機構の重みの確率分布は、当該ステップで推定される出力系列中の要素（例えば、単語）が、入力系列のどの隠れ状態にどの程度注目して推定されたかを表す。つまり、出力系列の或る要素が、入力系列中のどの要素から推定されたのか（言い換えれば、出力系列中のどの要素と、入力系列中のどの要素との関連性が高いか）を解釈可能となることが期待できる。例えば、機械翻訳であれば、注意機構の確率分布により、出力系列のどの単語が、入力系列のどの単語に対応するかが解釈可能となることが期待できる。
【０００７】
しかしながら、非特許文献１や非特許文献２に開示されているｓｏｆｔｍａｘ関数は、各隠れ状態の重み（確率）が０より大きな値となるように（つまり、０にならないように）各重みを確率分布に変換するため、入力系列と出力系列との関係を解釈することは困難である。
【０００８】
これに対して、非特許文献３に開示されているｓｐａｒｓｅｍａｘ関数は、スパースな（つまり、０を多く含むような）確率分布に変換するため、ｓｏｆｔｍａｘ関数を用いた場合よりも解釈が向上することが期待できる。しかしながら、この場合であっても、入力系列と出力系列との個々の要素間の関係の解釈に留まり、入力系列又は出力系列中の複数の要素間の構造的な関係を解釈することは困難である。すなわち、入力系列中の部分的な構造と、出力系列中の部分的な構造との間の関係性を解釈することは困難である。例えば、入力系列や出力系列が文に対応する単語系列である場合、このような単語系列には複数の単語の組み合わせで意味を持つ熟語等が含まれることがあるが、熟語等のような複数の要素（単語）間の関係を解釈することは困難である。
【０００９】
本発明は、上記の点に鑑みてなされたものであって、入力系列の部分構造と出力系列の部分構造との関係性も解釈可能とすることを目的とする。
【課題を解決するための手段】
【００１０】
そこで、本発明の実施の形態では、第１の再帰型ニューラルネットワークと、注意機構と、第２の再帰型ニューラルネットワークとが含まれるニューラルネットワークモデルによって、Ｎ個の要素で構成される入力系列から出力系列を推定する推定装置であって、前記出力系列中のｔ番目の要素を推定するときに、前記第１の再帰型ニューラルネットワークの第１の隠れ状態ｈｉ（ｉ＝１，・・・，Ｎ）と、前記第２の再帰型ニューラルネットワークの第２の隠れ状態ｈ´ｔ−１とを前記注意機構のニューラルネットワークに入力することで得られる値をｘとして、１次元のＴＶに関するＰｒｏｘ作用素と単体上へのユークリッド射影との合成関数で表されるｆｕｓｅｄｍａｘ関数、又は、ＯＳＣＡＲに関するＰｒｏｘ作用素と単体上へのユークリッド射影との合成関数で表されるｏｓｃａｒｍａｘ関数のいずれかを示す活性化関数ΠΩ（ｘ）に入力して、前記第１の隠れ状態ｈｉのそれぞれの重みαｉｔを算出し、算出したαｉｔを前記第１の隠れ状態ｈｉに掛け合わせた値を用いて、前記第２の隠れ状態ｈ´ｔを算出し、該第２の隠れ状態ｈ´ｔから前記ｔ番目の要素を推定する推定手段、を有することを特徴とする。
【発明の効果】
【００１１】
入力系列の部分構造と出力系列の部分構造との関係性も解釈可能とすることができる。
【図面の簡単な説明】
【００１２】
【図１】従来技術における注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する処理の一例を説明するための図である。
【図２】本発明の実施の形態における注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する処理の一例を説明するための図である。
【図３】実施例１における推定装置の機能構成の一例を示す図である。
【図４】実施例１における推定装置が実行する処理の一例を説明するためのフローチャートである。
【図５】出力側ＲＮＮのｔ番目の隠れ状態を推定する場合の一例を説明するための図である。
【図６】実施例２における学習装置の機能構成の一例を示す図である。
【図７】ニューラルネットワークモデルのパラメータを学習する処理の一例を説明するための図である。
【図８】実施例２における学習装置が実行する処理の一例を説明するためのフローチャートである。
【図９】本発明と従来技術との比較例を示す図である。
【図１０】推定装置及び学習装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、図面を参照しながら説明する。以降では、注意機構を用いて、入力系列から出力系列を推定するニューラルネットワークモデル（ｓｅｑｕｅｎｃｅ−ｔｏ−ｓｅｑｕｅｎｃｅのニューラルネットワークモデル）について説明する。なお、入力系列と出力系列とは可変長系列であるものとする。
【００１４】
＜従来の注意機構を用いたニューラルネットワークモデル＞
まず、従来技術における注意機構（すなわち、活性化関数としてｓｏｆｔｍａｘ関数又はｓｐａｒｓｅｍａｘ関数を用いた注意機構）を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する場合について、図１を参照しながら説明する。図１は、従来技術における注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する処理の一例を説明するための図である。
【００１５】
図１に示すように、ニューラルネットワークモデルは、入力側ＲＮＮと、出力側ＲＮＮと、注意機構とで構成される。以降では、入力系列をａ１，ａ２，・・・，ａＮとし、出力系列をｂ´１，ｂ´２，・・・，ｂ´Ｍとする。また、ｈ１，ｈ２，・・・，ｈＮを入力側ＲＮＮの隠れ状態とし、ｈ´１，ｈ´２，・・・，ｈ´Ｎを出力側ＲＮＮの隠れ状態とする。なお、Ｎは入力系列の要素数、Ｍは出力系列の要素数である。入力系列の長さは可変長であっても良い。
【００１６】
まず、入力系列の先頭要素ａ１を入力側ＲＮＮに入力して、第１のニューラルネットワーク（ＮＮ１）により隠れ状態ｈ１を得る。次に、この隠れ状態ｈ１と、入力系列の次の要素ａ２とを入力側ＲＮＮに入力して、第１のニューラルネットワーク（ＮＮ１）により次の隠れ状態ｈ２を得る。以降、同様に、入力系列の次の要素ａｉと、１つ前の隠れ状態ｈｉ−１とを入力側ＲＮＮに入力して、第１のニューラルネットワーク（ＮＮ１）により次の隠れ状態ｈｉを得る。この結果、入力系列の最後の要素ａＮと、１つ前の隠れ状態ｈＮ−１とが入力側ＲＮＮに入力されることで、第１のニューラルネットワーク（ＮＮ１）により隠れ状態ｈＮが得られる。
【００１７】
ここで、ａ１，ａ２，・・・，ａＮは、入力系列の各要素に対応する所定次元の特徴ベクトルである。例えば、入力系列を原言語の文とし、出力系列を目的言語の文とするような機械翻訳の場合には、ａ１，ａ２，・・・，ａＮは単語を所定次元のベクトルに変換したもの（word embedding）である。
【００１８】
次に、入力側ＲＮＮの最後の隠れ状態ｈＮを出力側ＲＮＮに入力して、第２のニューラルネットワーク（ＮＮ２）により出力側ＲＮＮの先頭の隠れ状態ｈ´１を得る。このとき、ｓｏｆｔｍａｘ関数又はｓｐａｒｓｅｍａｘ関数を活性化関数に用いた注意機構により入力側の各隠れ状態ｈ１，ｈ２，・・・，ｈＮに所定の確率分布に従う重みを与えたもの−ｈ１も第２のニューラルネットワーク（ＮＮ２）の入力することで、隠れ状態ｈ´１を計算する。そして、この隠れ状態ｈ´１を第３のニューラルネットワーク（ＮＮ３）に入力することで、出力ｂ´１を得る。この出力ｂ´１が、出力系列の最初の要素の推定結果となる。
【００１９】
同様に、注意機構により入力側の各隠れ状態ｈ１，ｈ２，・・・，ｈＮに所定の確率分布に従う重みを与えたもの−ｈ２と、隠れ状態ｈ´１とを第２のニューラルネットワーク（ＮＮ２）に入力することで、出力側ＲＮＮの次の隠れ状態ｈ´２を得る。そして、この隠れ状態ｈ´２を第３のニューラルネットワーク（ＮＮ３）に入力することで、出力ｂ´２を得る。以降、出力系列中の最後の要素ｂ´Ｍが得られるまで、同様の処理を繰り返す。
【００２０】
なお、各ステップ（出力側ＲＮＮの隠れ状態ｈ´ｔを得る処理をｔ番目のステップと呼ぶ。ただし、ｔ＝１，２，・・・Ｍである。）において注意機構により与えられる重みは異なるものとする。
【００２１】
＜本発明の実施の形態における注意機構を用いたニューラルネットワークモデル＞
次に、本発明の実施の形態における注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する場合について、図２を参照しながら説明する。図２は、本発明の実施の形態における注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する処理の一例を説明するための図である。
【００２２】
図２に示すように、ニューラルネットワークモデルは、入力側ＲＮＮと、出力側ＲＮＮと、注意機構とで構成される。ただし、注意機構の活性化関数には、本願の発明者自らが考案したｆｕｓｅｄｍａｘ関数又はｏｓｃａｒｍａｘ関数と称する関数を用いる。なお、ｆｕｓｅｄｍａｘ関数及びｏｓｃａｒｍａｘ関数の詳細については後述する。
【００２３】
まず、入力側ＲＮＮの隠れ状態ｈ１，ｈ２，・・・，ｈＮを得る処理については、図１と同様であるため、その説明を省略する。
【００２４】
次に、入力側ＲＮＮの最後の隠れ状態ｈＮを出力側ＲＮＮに入力して、第２のニューラルネットワーク（ＮＮ２）により出力側ＲＮＮの先頭の隠れ状態ｈ´１を得る。このとき、ｆｕｓｅｄｍａｘ関数又はｏｓｃａｒｍａｘ関数を活性化関数に用いた注意機構により入力側の各隠れ状態ｈ１，ｈ２，・・・，ｈＮに重みを与えたもの−ｈ１も第２のニューラルネットワーク（ＮＮ２）の入力することで、隠れ状態ｈ´１を計算する。そして、この隠れ状態ｈ´１を第３のニューラルネットワーク（ＮＮ３）に入力することで、出力ｂ´１を得る。この出力ｂ´１が、出力系列の最初の要素の推定結果となる。
【００２５】
続いて、注意機構により入力側の各隠れ状態ｈ１，ｈ２，・・・，ｈＮに重みを与えたもの−ｈ２と、隠れ状態ｈ´１とを第２のニューラルネットワーク（ＮＮ２）に入力することで、出力側ＲＮＮの次の隠れ状態ｈ´２を得る。そして、この隠れ状態ｈ´２を第３のニューラルネットワーク（ＮＮ３）に入力することで、出力ｂ´２を得る。
【００２６】
以降も同様に、ｔ番目のステップにおいて、注意機構により入力側の各隠れ状態ｈ１，ｈ２，・・・，ｈＮに重みを与えたもの−ｈｔと、隠れ状態ｈ´ｔ−１とを第２のニューラルネットワーク（ＮＮ２）に入力することで、出力側ＲＮＮの次の隠れ状態ｈ´ｔを得る。このとき、各隠れ状態ｈ１，ｈ２，・・・，ｈＮに与える重みは、１つ前の隠れ状態ｈ´ｔ−１と、各隠れ状態ｈ１，ｈ２，・・・，ｈＮとに基づいて、ｆｕｓｅｄｍａｘ関数又はｏｓｃａｒｍａｘ関数に計算される。そして、この隠れ状態ｈ´ｔを第３のニューラルネットワーク（ＮＮ３）に入力することで、出力ｂ´ｔを得る。これを出力系列中の最後の要素ｂ´Ｍが得られるまで、繰り返す。これにより、出力系列をｂ´１，ｂ´２，・・・，ｂ´Ｍが得られる。
【００２７】
以上の処理の中で、各ステップで注意機構により与える各隠れ状態ｈ１，ｈ２，・・・，ｈＮの重みを、ｆｕｓｅｄｍａｘ関数又はｏｓｃａｒｍａｘ関数により計算する。
【００２８】
＜ｆｕｓｅｄｍａｘ関数及びｏｓｃａｒｍａｘ関数＞
上述したように、本発明の実施の形態では、注意機構の活性化関数としてｆｕｓｅｄｍａｘ関数又はｏｓｃａｒｍａｘ関数を用いる。
【００２９】
注意機構の活性化関数は、ｄ次元（ｄは１以上の整数）の実数体をｄ次元の単体（simplex）に射影する関数と捉えることができる。このような射影関数のうち、ニューラルネットワークモデルに用いられる注意機構の活性化関数としての利用に適したものは、一般に、以下の式１に示す形で表すことができる。
【００３０】
【数１】
2019095894.tif 000003
ここで、ｘは各要素が実数値であるｄ次元のベクトル（つまり、ｄ次元の実数体内の要素）を表し、ｙは各要素が正の値であるｄ次元のベクトル（つまり、ｄ次元の単体内の要素）を表す。Δｄはｄ次元の単体を表す。Ｔは転置を表す。
【００３１】
また、ニューラルネットワークモデルで効率的に学習可能とするためには、ｓｏｆｔｍａｘ関数やｓｐａｒｓｅｍａｘ関数と同様に、誤差逆伝播法（バックプロパゲーション（Backpropagation））を用いることが可能な形である必要がある。そのためには、上記の式１で定義したΠΩ（ｘ）はヤコビ行列が導出可能である必要がある。このような要件を満たす関数として、本願の発明者は、以下の式２に示すｆｕｓｅｄｍａｘ関数又は式３に示すｏｓｃａｒｍａｘ関数を見出した。そこで、本発明では、これらの関数を活性化関数として利用する。
【００３２】
【数２】
2019095894.tif 000004
ここで、γはスパース性をコントロールするために予め定めておく定数である。また、λは構造化（グループ化）の程度を決めるパラメータであり、０以上の値を取る。λ＝０の場合はｓｐａｒｓｅｍａｘ関数に等しく、λが大きくなり過ぎると全ての重みが１つのグループにグループ化されてしまう。つまり、λの値を調整することで、構造化（グループ化）の程度をコントロールすることができ、λの値が大きい程グループ化され易くなる。
【００３３】
上記の式２に示すｆｕｓｅｄｍａｘ関数及び式３に示すｏｓｃａｒｍａｘ関数は、それぞれ以下の式４及び式５に示すように合成関数の形で表すことができる。
【００３４】
【数３】
2019095894.tif 000005
ここで、ＰΔｄは単体上へのユークリッド射影である。また、上記の式４で定義したＰＴＶは、１次元のＴＶ（1-d Total Variation又はfused lasso）に関するＰｒｏｘ作用素（Proximal Operator）を意味する。同様に、上記の式５で定義したＰＯＳＣは、ＯＳＣＡＲに関するＰｒｏｘ作用素を意味する。つまり、構造正則化学習で知られている手法であるfused lasso（参考文献１）やＯＳＣＡＲ（参考文献２）を注意機構に応用することで、式２に示すｆｕｓｅｄｍａｘ関数、及び、式３に示すｏｓｃａｒｍａｘ関数を考案したのである。
【００３５】
［参考文献１］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.
［参考文献２］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.
【００３６】
すると、上記の式４により、ｆｕｓｅｄｍａｘ関数のヤコビ行列は、ＰΔｄのヤコビ行列と、ＰＴＶ（ｘ／γ）のヤコビ行列との積である。同様に、上記の式５により、ｏｓｃａｒｍａｘ関数は、ＰΔｄのヤコビ行列と、ＰＯＳＣ（ｘ／γ）のヤコビ行列との積である。ここで、ＰΔｄのヤコビ行列は、γ＝１としたときのｓｐａｒｓｅｍａｘ関数のヤコビ行列であることが知られている。
【００３７】
ＰＴＶ（ｘ）のヤコビ行列をＪＰＴＶ（ｘ）とし、ＰＯＳＣ（ｘ）のヤコビ行列をＪＰＯＳＣ（ｘ）として、行列ＪＰＴＶ（ｘ）の（ｉ，ｊ）成分を［ＪＰＴＶ（ｘ）］ｉ，ｊ、行列ＪＰＯＳＣ（ｘ）の（ｉ，ｊ）成分を［ＪＰＯＳＣ（ｘ）］ｉ，ｊと表すこととすれば、ヤコビ行列の各成分は、以下の式６及び式７で表すことができる。
【００３８】
【数４】
2019095894.tif 000006
ここで、ｚ★は、ＰＴＶ（ｘ）又はＰＯＳＣ（ｘ）の最適解とする。なお、この最適解は、例えば、以下の参考文献３又は参考文献４に開示されている方法で計算することができる。
【００３９】
［参考文献３］L. Condat. A direct algorithm for 1-d total variation denoising. IEEE Signal Processing Letters, 20(11):1054-1057, 2013.
［参考文献４］X. Zeng and M. A. Figueiredo. Solving OSCAR regularization problems by fast approximate proximal splitting algorithms. Digital Signal Processing, 31:124-135, 2014.
【００４０】
また、ＰＴＶでは、ｚ★のうち、隣接する要素が同じ値であるものをグループ化し、各グループに属する要素のインデックスの集合をＧ★ｉと表す。一方で、ＰＯＳＣでは、ｚ★のうち、同じ値であるものをグループ化し、各グループに属する要素のインデックスの集合をＧ★ｉと表す。ＰＯＣＳでは、隣接していなくても同じ値であれば同じグループにグループ化される点がＰＴＶと異なる。
【００４１】
（実施例１）
以降で説明する実施例１では、上述した注意機構（ｆｕｓｅｄｍａｘ関数又はｏｓｃａｒｍａｘ関数を活性化関数とした注意機構）を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する推定装置１０について説明する。なお、実施例１では、ニューラルネットワークモデルの各パラメータは学習済であるものとする。
【００４２】
＜推定装置１０の機能構成＞
まず、実施例１における推定装置１０の機能構成について、図３を参照しながら説明する。図３は、実施例１における推定装置１０の機能構成の一例を示す図である。
【００４３】
図３に示す推定装置１０は、ｆｕｓｅｄｍａｘ関数又はｏｓｃａｒｍａｘ関数を活性化関数とした注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する１以上のコンピュータである。
【００４４】
図３に示す推定装置１０は、ｆｕｓｅｄｍａｘ関数又はｏｓｃａｒｍａｘ関数を活性化関数とした注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する推定処理部１００を有する。推定処理部１００は、推定装置１０にインストールされた１以上のプログラムがＣＰＵ（Central Processing Unit）に実行させる処理により実現される。
【００４５】
推定処理部１００は、入力側ＲＮＮとして機能する入力側ＲＮＮ部１１０と、注意機構として機能する注意機構部１２０と、出力側ＲＮＮとして機能する出力側ＲＮＮ部１３０とを有する。
【００４６】
実施例１における推定装置１０は、推定処理部１００により、図２で説明した推定処理を実行することができる。
【００４７】
＜推定装置１０が実行する処理＞
以降では、実施例１における推定装置１０が実行する処理（すなわち、入力系列から出力系列を推定する処理）について、図４を参照しながら説明する。図４は、実施例１における推定装置が実行する処理の一例を説明するためのフローチャートである。
【００４８】
ステップＳ１０１：推定処理部１００の入力側ＲＮＮ部１１０は、入力系列ａ１，ａ２，・・・，ａＮを順に入力して、入力側ＲＮＮの隠れ状態ｈ１，ｈ２，・・・，ｈＮを得る。
【００４９】
すなわち、推定処理部１００の入力側ＲＮＮ部１１０は、入力系列の先頭要素ａ１を入力して、第１のニューラルネットワーク（ＮＮ１）により隠れ状態ｈ１を得る。次に、推定処理部１００の入力側ＲＮＮ部１１０は、この隠れ状態ｈ１と、入力系列の次の要素ａ２とを入力して、第１のニューラルネットワーク（ＮＮ１）により次の隠れ状態ｈ２を得る。以降、同様に、推定処理部１００の入力側ＲＮＮ部１１０は、入力系列の次の要素ａｉと、１つ前の隠れ状態ｈｉ−１とを入力して、第１のニューラルネットワーク（ＮＮ１）により次の隠れ状態ｈｉを得る。これにより、入力側ＲＮＮの隠れ状態ｈ１，ｈ２，・・・，ｈＮが得られる。
【００５０】
以降のステップＳ１０２〜ステップＳ１０６の処理は、ステップの番号を示すｔ毎に繰り返し実行される。なお、ｔ＝１，２，・・・Ｍである。
【００５１】
ステップＳ１０２：推定処理部１００の注意機構部１２０は、各ｉ（ｉ＝１，２，・・・，Ｎ）に対して、入力側ＲＮＮの隠れ状態ｈｉと、ｔ−１番目のステップにおける出力側ＲＮＮの隠れ状態ｈ´ｔ−１とを入力して、ｘｔｉを得る。
【００５２】
すなわち、推定処理部１００の注意機構部１２０は、各ｉ（ｉ＝１，２，・・・，Ｎ）毎に、図５（ａ）に示すように、隠れ状態ｈｉと、隠れ状態ｈ´ｔ−１とを入力して、第４のニューラルネットワーク（ＮＮ４）によりｘｔｉを得る。言い換えれば、推定処理部１００の注意機構部１２０は、各ｈｉ（ｉ＝１，２，・・・，Ｎ）と、ｈ´ｔ−１との組毎に、当該ｈｉとｈ´ｔ−１との組を第４のニューラルネットワーク（ＮＮ４）に入力することで、各ｘｔｉを得る。これにより、ｘｔ１，ｘｔ２，・・・，ｘｔＮが得られる。なお、各ｘｔｉを得るために用いられる第４のニューラルネットワーク（ＮＮ４）は、全てのｉに対して同じものとする。
【００５３】
ステップＳ１０３：推定処理部１００の注意機構部１２０は、上記の式２に示すｆｕｓｅｄｍａｘ関数又は式３に示すｏｓｃａｒｍａｘ関数の入力ｘを、上記のステップＳ１０２で得られたｘｔ＝（ｘｔ１，ｘｔ２，・・・，ｘｔＮ）Ｔとして、重みαｔ＝（αｔ１，αｔ２，・・・，αｔＮ）Ｔを得る。
【００５４】
すなわち、推定処理部１００の注意機構部１２０は、図５（ｂ）に示すように、式２に示すｆｕｓｅｄｍａｘ関数又は式３に示すｏｓｃａｒｍａｘ関数の入力ｘをｘｔとして計算する。この計算の結果として得られるｙ＝（ｙ１，ｙ２，・・・，ｙｄ）Ｔが重みαｔ＝（αｔ１，αｔ２，・・・，αｔＮ）Ｔである。
【００５５】
ステップＳ１０４：推定処理部１００の注意機構部１２０は、各ｈｉ（ｉ＝１，２，・・・，Ｎ）に対して、上記のステップＳ１０３で得られたαｔ＝（αｔ１，αｔ２，・・・，αｔＮ）Ｔを掛け合わせたものの総和をとることで、−ｈｔを得る。すなわち、推定処理部１００の注意機構部１２０は、以下の式８により、−ｈｔを得る。
【００５６】
【数５】
2019095894.tif 000007
これにより、ｔ番目のステップにおける注意機構の出力−ｈｔが得られる。
【００５７】
ステップＳ１０５：推定処理部１００の出力側ＲＮＮ部１３０は、１つ前の出力側ＲＮＮの隠れ状態ｈ´ｔ−１と、上記のステップＳ１０４で得られた−ｈｔとからｈ´ｔを得る。
【００５８】
すなわち、推定処理部１００の注意機構部１２０は、図５（ｃ）に示すように、上記のステップＳ１０４で得られた−ｈｔと、入力した隠れ状態ｈ´ｔ−１とを第２のニューラルネットワーク（ＮＮ２）に入力して、ｔ番目のステップにおける出力側ＲＮＮの隠れ状態ｈ´ｔを得る。
【００５９】
なお、ｔ＝１である場合には、１つ前の出力側ＲＮＮの隠れ状態が存在しないため、例えば、予め決められた初期値（初期の隠れ状態ｈ´０）を用いれば良い。
【００６０】
ステップＳ１０６：推定処理部１００の出力側ＲＮＮ部１３０は、上記のステップＳ１０５得られたｈ´ｔからｂ´ｔを得る。すなわち、推定処理部１００の出力側ＲＮＮ部１３０は、上記のステップＳ１０５得られたｈ´ｔを第３のニューラルネットワーク（ＮＮ３）に入力して、出力系列のｔ番目の要素ｂ´ｔを得る。
【００６１】
以上により、実施例１における推定装置１０は、注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定することができる。このとき、実施例１における推定装置１０では、注意機構の活性化関数として、式２に示すｆｕｓｅｄｍａｘ関数又は式３に示すｏｓｃａｒｍａｘ関数を用いることで、出力系列の各要素を予測する際の入力側ＲＮＮの各隠れ状態の重みをグループ化することができる。これにより、実施例１における推定装置１０では、入力系列と出力系列との間の構造的な関係（すなわち、１以上の要素で構成されるグループ間の対応関係）を解釈することができるようになる。
【００６２】
このため、実施例１における推定装置１０によれば、例えば、機械翻訳のニューラルネットワークモデルにおいて、熟語や専門用語等のように複数の単語の組み合わせ（グループ）で意味を持つ用語についての対訳を解釈する（すなわち、入力系列中のどの単語の組み合わせが、出力系列中のどの単語の組み合わせの翻訳であるかを解釈する）ことができるようになる。
【００６３】
また、実施例における推定装置１０は、機械翻訳のニューラルネットワークモデル以外にも、例えば、入力文から要約文を得るテキスト要約のニューラルネットワークモデル、大量のテキストデータから特定の意味を含む文書を検出するテキスト含意認識のニューラルネットワークモデル等、順序性のある入力系列から出力系列を推定するような様々なニューラルネットワークモデルに同様に適用することができる。特に、入力系列と出力系列に構造的な特徴がある場合に、解釈性を向上させることができる。
【００６４】
したがって、実施例１における推定装置１０によれば、特に、構造的な特徴を有する入力系列から出力系列を推定するようなニューラルネットワークモデルにおいて、入力系列と出力系列との間の構造的な関係を解釈可能としつつ、高い精度で推定することが可能となる。
【００６５】
なお、第１のニューラルネットワーク（ＮＮ１）〜第４のニューラルネットワーク（ＮＮ４）の構造は任意に設計することができる。
【００６６】
（実施例２）
実施例１ではニューラルネットワークモデルの各パラメータは学習済であるものとして説明した。以降で説明する実施例２では、ニューラルネットワークモデルの各パラメータを学習する学習装置２０について説明する。
【００６７】
＜学習装置２０の機能構成＞
まず、実施例２における学習装置２０の機能構成について、図６を参照しながら説明する。図６は、実施例２における学習装置２０の機能構成の一例を示す図である。
【００６８】
図６に示す学習装置２０は、ｆｕｓｅｄｍａｘ関数又はｏｓｃａｒｍａｘ関数を活性化関数とした注意機構を用いたニューラルネットワークモデルの各パラメータを学習する１以上のコンピュータである。
【００６９】
図６に示す学習装置２０は、ｆｕｓｅｄｍａｘ関数又はｏｓｃａｒｍａｘ関数を活性化関数とした注意機構を用いたニューラルネットワークモデルにより入力系列から出力系列を推定する推定処理部１００と、当該ニューラルネットワークモデルの各パラメータを更新するパラメータ更新部２００とを有する。これら各部は、学習装置２０にインストールされた１以上のプログラムがＣＰＵに実行させる処理により実現される。
【００７０】
推定処理部１００は、入力側ＲＮＮとして機能する入力側ＲＮＮ部１１０と、注意機構として機能する注意機構部１２０と、出力側ＲＮＮとして機能する出力側ＲＮＮ部１３０とを有する。
【００７１】
実施例２における学習装置２０は、推定処理部１００及びパラメータ更新部２００により、後述する学習処理を実行することができる。
【００７２】
＜ニューラルネットワークモデルの各パラメータの学習＞
次に、本発明の実施の形態における注意機構を用いたニューラルネットワークモデルの各パラメータを学習する場合について、図７を参照しながら説明する。図７は、ニューラルネットワークモデルのパラメータを学習する処理の一例を説明するための図である。なお、ニューラルネットワークモデルのパラメータとは、第１のニューラルネットワーク（ＮＮ１）〜第４のニューラルネットワーク（ＮＮ４）の隠れ層の重み（バイアスも含む）のことである。
【００７３】
ニューラルネットワークモデルのパラメータの学習には、入力系列ａ１，ａ２，・・・，ａＮと、当該入力系列に対する出力系列の正解データｂ１，ｂ２，・・・，ｂＭとが含まれる学習データを用いる。なお、ニューラルネットワークモデルの各パラメータには、例えば、適当な初期値が設定されていれば良い。
【００７４】
まず、図２と同様に、ニューラルネットワークモデルにより、入力系列ａ１，ａ２，・・・，ａＮから出力系列の予測結果ｂ´１，ｂ´２，・・・，ｂ´Ｍを得る。次に、出力系列の予測結果ｂ´１，ｂ´２，・・・，ｂ´Ｍと、出力系列の正解データｂ１，ｂ２，・・・，ｂＭとの誤差が小さくなるように、パラメータ更新部２００により、ニューラルネットワークモデルの各パラメータを更新する。パラメータの更新には、例えば、誤差逆伝播法等を用いれば良い。これにより、ニューラルネットワークモデルの各パラメータが更新される。
【００７５】
＜学習装置２０が実行する処理＞
以降では、実施例２における学習装置２０が実行する処理（すなわち、学習データを用いてニューラルネットワークの各パラメータを更新する処理）について、図８を参照しながら説明する。図８は、実施例２における学習装置２０が実行する処理の一例を説明するためのフローチャートである。なお、ニューラルネットワークモデルの各パラメータには、例えば、適当な初期値が設定されているものとする。
【００７６】
ステップＳ２０１：推定処理部１００は、学習データに含まれる入力系列ａ１，ａ２，・・・，ａＮから出力系列の予測結果ｂ´１，ｂ´２，・・・，ｂ´Ｍを得る。すなわち、推定処理部１００は、図４のステップＳ１０１〜ステップＳ１０６を実行することで、入力系列ａ１，ａ２，・・・，ａＮから出力系列の予測結果ｂ´１，ｂ´２，・・・，ｂ´Ｍを得る。
【００７７】
ステップＳ２０２：パラメータ更新部２００は、例えば誤差逆伝播法等を用いて、上記のステップＳ２０１で得られた予測結果ｂ´１，ｂ´２，・・・，ｂ´Ｍと、学習データに含まれる正解データｂ１，ｂ２，・・・，ｂＭとの誤差が小さくなるように、ネットワークモデルの各パラメータを更新する。このとき、注意機構の重みは、図４のステップＳ１０２〜ステップＳ１０３で説明したように計算することができる。
【００７８】
ニューラルネットワークモデルのパラメータを更新するためには、ｆｕｓｅｄｍａｘ関数又はｏｓｃａｒｍａｘ関数を用いた出力値から逆伝播させる誤差の値として、ｆｕｓｅｄｍａｘ関数のヤコビ行列又はｏｓｃａｒｍａｘ関数のヤコビ行列が必要となる。上述したように、ｆｕｓｅｄｍａｘ関数のヤコビ行列は、ＰΔｄのヤコビ行列と、ＰＴＶ（ｘ／γ）のヤコビ行列との積で計算することができる。また、上述したように、ｏｓｃａｒｍａｘ関数のヤコビ行列は、ＰΔｄのヤコビ行列と、ＰＯＳＣ（ｘ／γ）のヤコビ行列との積で計算することができる。
【００７９】
ここで、上述したように、ＰΔｄのヤコビ行列はγ＝１としたときのｓｐａｒｓｅｍａｘ関数のヤコビ行列であることが知られている。ＰＴＶ（ｘ／γ）のヤコビ行列は、上記の式６により計算することができる。また、ＰＯＳＣ（ｘ／γ）のヤコビ行列は、上記の式７により計算することができる。これにより、ニューラルネットワークモデルの各パラメータは、ｆｕｓｅｄｍａｘ関数又はｏｓｃａｒｍａｘ関数のヤコビ行列の各要素の大きさに応じた値だけ更新されることになる。
【００８０】
なお、上記のステップＳ２０１〜ステップＳ２０２は、例えば、複数の学習データを用いて繰り返し実行されることが好ましい。複数の学習データを用いてパラメータを更新することで、高い精度で推定が可能なニューラルネットワークモデルを構築することができる。
【００８１】
以上により、実施例２における学習装置２０は、ｆｕｓｅｄｍａｘ関数又はｏｓｃａｒｍａｘ関数を活性化関数とした注意機構を用いたニューラルネットワークモデルの各パラメータを学習することができる。これにより、実施例１で説明した推定装置１０を実現することができる。
【００８２】
＜本発明と従来技術との比較例＞
次に、本発明の実施の形態における注意機構を用いたニューラルネットワークモデルによる推定結果と、従来技術における注意機構を用いたニューラルネットワークモデルによる推定結果との比較例を図９に示す。図９（ａ）は、注意機構の活性化関数としてｆｕｓｅｄｍａｘ関数を用いた場合の例である。図９（ｂ）は、注意機構の活性化関数としてｏｓｃａｒｍａｘ関数を用いた場合の例である。図９（ｃ）は、注意機構の活性化関数としてｓｏｆｔｍａｘ関数を用いた場合の例である。
【００８３】
図９に示す例は、機械翻訳のニューラルネットワークモデルにおいて、注意機構が入力側ＲＮＮの各隠れ状態に対して与える重みの確率分布を視覚的に表した例である。また、図９に示す例は、原言語をフランス語、目的言語を英語として、フランス語から英語に翻訳した場合であり、横軸が入力系列となるフランス語の文の単語系列、縦軸がニューラルネットワークモデルにより予測された出力系列である英語の文の単語系列である。
【００８４】
横の行は、当該英語の単語の翻訳が、入力系列中のどのフランス語の単語から予測されたかを表し、色が濃い程注意機構による重みの値が大きく、当該英語の単語と関係性が高いと解釈できる。また、同じ色（つまり、同じ確率値）になっているものが、同じグループに属する単語、すなわち、構造的に関連性の高い単語の集合である可能性が高いと解釈できる。
【００８５】
図９（ｂ）に示す例では、同じグループに属する単語に黒丸を付与した。例えば、図９（ｂ）に示す例では、出力系列の単語「ｉｎｔｅｒｎａｔｉｏｎａｌ」は、入力系列の単語「ａｉｄｅ」及び「ｉｎｔｅｒｎａｔｉｏｎａｌｅ」に黒丸が付与されている。これは、出力系列の単語「ｉｎｔｅｒｎａｔｉｏｎａｌ」は、入力系列の単語「ａｉｄｅ」と「ｉｎｔｅｒｎａｔｉｏｎａｌｅ」とが属するグループ（単語の集合）と構造的に関連性が高い可能性があることを示している。
【００８６】
図９によれば、ｏｓｃａｒｍａｘ関数による結果（図９（ｂ））が、他の結果と比べてより自然な英語に近い翻訳結果が得られていると言える。
【００８７】
＜推定装置１０及び学習装置２０のハードウェア構成＞
最後に、実施例１における推定装置１０と、実施例２における学習装置２０とのハードウェア構成について、図１０を参照しながら説明する。図１０は、推定装置１０及び学習装置２０のハードウェア構成の一例を示す図である。なお、推定装置１０と学習装置２０とは同様のハードウェア構成を有するため、以降では、主に、推定装置１０のハードウェア構成について説明する。
【００８８】
図１０に示す推定装置１０は、入力装置１１と、表示装置１２と、外部Ｉ／Ｆ１３と、ＲＡＭ（Random Access Memory）１４と、ＲＯＭ（Read Only Memory）１５と、ＣＰＵ１６と、通信Ｉ／Ｆ１７と、補助記憶装置１８とを有する。これら各ハードウェアは、それぞれがバスＢを介して通信可能に接続されている。
【００８９】
入力装置１１は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置１２は、例えばディスプレイ等であり、推定装置１０の処理結果を表示する。なお、推定装置１０は、入力装置１１及び表示装置１２の少なくとも一方を有していなくても良い。
【００９０】
外部Ｉ／Ｆ１３は、外部装置とのインタフェースである。外部装置には、記録媒体１３ａ等がある。推定装置１０は、外部Ｉ／Ｆ１３を介して、記録媒体１３ａ等の読み取りや書き込みを行うことができる。記録媒体１３ａには、例えば、推定処理部１００を実現するプログラムやパラメータ更新部２００を実現するプログラム等が記録されていても良い。
【００９１】
記録媒体１３ａには、例えば、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（Secure Digital memory card）、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【００９２】
ＲＡＭ１４は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ１５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ１５には、例えば、ＯＳ（Operating System）設定やネットワーク設定等が格納されている。
【００９３】
ＣＰＵ１６は、ＲＯＭ１５や補助記憶装置１８等からプログラムやデータをＲＡＭ１４上に読み出して処理を実行する演算装置である。
【００９４】
通信Ｉ／Ｆ１７は、推定装置１０を通信ネットワークに接続するためのインタフェースである。推定処理部１００を実現するプログラムやパラメータ更新部２００を実現するプログラム等は、通信Ｉ／Ｆ１７を介して、所定のサーバ装置等から取得（ダウンロード）されても良い。
【００９５】
補助記憶装置１８は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置１８に格納されているプログラムやデータには、例えば、ＯＳ、当該ＯＳ上において各種機能を実現するアプリケーションプログラム、推定処理部１００を実現するプログラム、パラメータ更新部２００を実現するプログラム等がある。
【００９６】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００９７】
１０        推定装置
２０        学習装置
１００      推定処理部
１１０      入力側ＲＮＮ部
１２０      注意機構部
１３０      出力側ＲＮＮ部
２００      パラメータ更新部
【図１】
2019095894.tif 000009
【図２】
2019095894.tif 000010
【図３】
2019095894.tif 000011
【図４】
2019095894.tif 000012
【図５】
2019095894.tif 000013
【図６】
2019095894.tif 000014
【図７】
2019095894.tif 000015
【図８】
2019095894.tif 000016
【図９】
2019095894.tif 000017
【図１０】
2019095894.tif 000018