図面 (/)

技術 最適化方法、最適化プログラム、推論方法、および推論プログラム

出願人 国立研究開発法人情報通信研究機構
発明者 ダブレラジ藤田篤
出願日 2019年2月7日 (2年4ヶ月経過) 出願番号 2019-020873
公開日 2020年8月27日 (9ヶ月経過) 公開番号 2020-129209
状態 未査定
技術分野 学習型計算機
主要キーワード 線形変換行列 開発データ 時間計算量 表現精度 翻訳性能 実数ベクトル 翻訳時間 活性化関数
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2020年8月27日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (18)

課題

用途や要求仕様の変化に対応可能なニューラルネットワークおよびその最適化手法を提供する。

解決手段

最適化方法は、入力信号正解出力信号とが対応付けられた訓練データを用意するステップと、入力信号をニューラルネットワークに入力して、ニューラルネットワークに含まれる最深層から出力される出力信号を算出するとともに、最深層を含む1つ以上の層の各々から出力される出力信号を算出するステップと、入力信号に対応付けられた正解出力信号に対する、算出されたそれぞれの出力信号の誤差をそれぞれ算出するステップと、算出されたそれぞれの誤差に基づいて、ニューラルネットワークに含まれる各層のパラメタを最適化するステップとを含む。

概要

背景

深層学習に基づく手法は、自然言語処理を含む人工知能の各分野において、他の機械学習手法よりも高い性能を発揮しつつある。

深層学習では、入力信号に対して複数の非線形変換を行って出力信号を得るニューラルネットワーク(以下、単に「モデル」とも称す。)を想定する。モデルの出力信号と予め与えられた正解出力信号との誤差に基づいて、ニューラルネットワークにおける非線形変換(すなわち、線形変換行列係数およびバイアス項の値)を最適化する。このような最適化手法によって、タスクに応じた最適化済モデルを決定できる。人間が与えた入力信号と正解出力信号との組のみに基づいてモデルを最適化するend−to−endの最適化手法は、人間が行っているような複雑な処理を細かい処理に分割して実装する必要がないことから、近年多くのタスクに用いられている。

一般的に、非線形変換の回数(すなわち、ニューラルネットワークの層数)を増加させることでより複雑な関数表現できるようになり、入出力間で複雑な対応関係をもつ問題を解決できる可能性が高くなる。様々なタスクにおいて、層数を増加させることで性能を向上できることが報告されている。

深層学習における最適化手法においては、勾配消失(gradient vanishing)と呼ばれる問題が生じ得る。勾配消失問題への対処として、スキップ構造(residual connection)という手法がよく用いられる(例えば、非特許文献1参照)。この手法は、入力信号の次元数と出力信号の次元数とを等しくしなければならないという制約があるものの、ニューラルネットワークを安定的に最適化できる。

層数の増加に伴って、空間計算量(すなわち、パラメタの数)および時間計算量(すなわち、行列乗算回数など)が増加する。その結果、入力信号に対するモデルの出力信号を算出する処理(推論処理)を実行するために、より多くのメモリを必要とするとともに、処理速度が低下するという問題が生じ得る。必要とするメモリを低減する目的で、ニューラルネットワークにおいて同じ層のパラメタを再帰的に使用するというアプローチが提案されている(非特許文献2参照)。

空間計算量および時間計算量を削減する別のアプローチとして、蒸留(knowledge distillation)と呼ばれる手法がある(非特許文献3参照)。蒸留手法は、先に複雑なモデルを最適化した上で、最適化済モデルの出力信号を参照しながら、比較的簡潔なモデルを最適化するというものである。蒸留手法によって、例えば、ニューラル機械翻訳におけるモデルの省メモリ化が実現されたことが報告されている(非特許文献4参照)。

空間計算量および時間計算量を削減するさらに別のアプローチとして、実数表現精度を低減する(32ビット表現ではなく16ビット表現とする)手法(非特許文献5参照)、最適化済モデルにおけるパラメタの大半を+1/−1の2値に制限できるように最適化する手法(非特許文献6参照)、ならびに、対象語彙の一部を2進符号化する手法(非特許文献7参照)などが提案されている。

概要

用途や要求仕様の変化に対応可能なニューラルネットワークおよびその最適化手法を提供する。最適化方法は、入力信号と正解出力信号とが対応付けられた訓練データを用意するステップと、入力信号をニューラルネットワークに入力して、ニューラルネットワークに含まれる最深層から出力される出力信号を算出するとともに、最深層を含む1つ以上の層の各々から出力される出力信号を算出するステップと、入力信号に対応付けられた正解出力信号に対する、算出されたそれぞれの出力信号の誤差をそれぞれ算出するステップと、算出されたそれぞれの誤差に基づいて、ニューラルネットワークに含まれる各層のパラメタを最適化するステップとを含む。

目的

本技術は、用途や要求仕様の変化に対応可能なニューラルネットワークの最適化手法を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

複数の同一または異なる層を有するニューラルネットワークパラメタを最適化する最適化方法であって、入力信号正解出力信号とが対応付けられた訓練データを用意するステップと、前記入力信号を前記ニューラルネットワークに入力して、前記ニューラルネットワークに含まれる最深層から出力される出力信号を算出するとともに、前記最深層を含む1つ以上の層の各々から出力される出力信号を算出するステップと、前記入力信号に対応付けられた正解出力信号に対する、前記算出されたそれぞれの出力信号の誤差をそれぞれ算出するステップと、前記算出されたそれぞれの誤差に基づいて、前記ニューラルネットワークに含まれる各層のパラメタを最適化するステップとを備える、最適化方法。

請求項2

前記最適化するステップは、前記算出されたそれぞれの誤差を統合するステップを含む、請求項1に記載の最適化方法。

請求項3

前記最適化するステップは、パラメタを最適化する対象の層に対して逆伝搬により与えられた誤差情報と、当該対象の層の出力信号について算出された誤差とに基づいて、当該対象の層のパラメタを最適化するステップを含む、請求項1に記載の最適化方法。

請求項4

請求項1〜3のいずれか1項に記載の最適化方法をコンピュータに実行させるための最適化プログラム

請求項5

複数の同一または異なる層を有するニューラルネットワークからなる最適化済モデルを用いた推論方法であって、任意の入力信号を前記最適化済モデルに入力するステップと、前記最適化済モデルの最深層に向かって順番に出力信号を算出するステップと、前記最適化済モデルに含まれる前記複数の同一または異なる層のうち、要求に基づいて決定される、前記最深層を含む任意の層の出力信号を推論結果として出力するステップとを備え、前記最適化済モデルは、訓練データに含まれる入力信号を前記ニューラルネットワークに入力したときに算出される、前記最深層を含む1つ以上の層の各々から出力される出力信号と、前記訓練データに含まれる前記入力信号に対応付けられた正解出力信号とのそれぞれの誤差に基づいて、パラメタを最適化することで生成される、推論方法。

請求項6

請求項5に記載の最適化方法をコンピュータに実行させるための推論プログラム

技術分野

0001

本技術は、深層学習の最適化手法およびその最適化手法により得られる最適化済モデルの利用手法に関する。

背景技術

0002

深層学習に基づく手法は、自然言語処理を含む人工知能の各分野において、他の機械学習手法よりも高い性能を発揮しつつある。

0003

深層学習では、入力信号に対して複数の非線形変換を行って出力信号を得るニューラルネットワーク(以下、単に「モデル」とも称す。)を想定する。モデルの出力信号と予め与えられた正解出力信号との誤差に基づいて、ニューラルネットワークにおける非線形変換(すなわち、線形変換行列係数およびバイアス項の値)を最適化する。このような最適化手法によって、タスクに応じた最適化済モデルを決定できる。人間が与えた入力信号と正解出力信号との組のみに基づいてモデルを最適化するend−to−endの最適化手法は、人間が行っているような複雑な処理を細かい処理に分割して実装する必要がないことから、近年多くのタスクに用いられている。

0004

一般的に、非線形変換の回数(すなわち、ニューラルネットワークの層数)を増加させることでより複雑な関数表現できるようになり、入出力間で複雑な対応関係をもつ問題を解決できる可能性が高くなる。様々なタスクにおいて、層数を増加させることで性能を向上できることが報告されている。

0005

深層学習における最適化手法においては、勾配消失(gradient vanishing)と呼ばれる問題が生じ得る。勾配消失問題への対処として、スキップ構造(residual connection)という手法がよく用いられる(例えば、非特許文献1参照)。この手法は、入力信号の次元数と出力信号の次元数とを等しくしなければならないという制約があるものの、ニューラルネットワークを安定的に最適化できる。

0006

層数の増加に伴って、空間計算量(すなわち、パラメタの数)および時間計算量(すなわち、行列乗算回数など)が増加する。その結果、入力信号に対するモデルの出力信号を算出する処理(推論処理)を実行するために、より多くのメモリを必要とするとともに、処理速度が低下するという問題が生じ得る。必要とするメモリを低減する目的で、ニューラルネットワークにおいて同じ層のパラメタを再帰的に使用するというアプローチが提案されている(非特許文献2参照)。

0007

空間計算量および時間計算量を削減する別のアプローチとして、蒸留(knowledge distillation)と呼ばれる手法がある(非特許文献3参照)。蒸留手法は、先に複雑なモデルを最適化した上で、最適化済モデルの出力信号を参照しながら、比較的簡潔なモデルを最適化するというものである。蒸留手法によって、例えば、ニューラル機械翻訳におけるモデルの省メモリ化が実現されたことが報告されている(非特許文献4参照)。

0008

空間計算量および時間計算量を削減するさらに別のアプローチとして、実数表現精度を低減する(32ビット表現ではなく16ビット表現とする)手法(非特許文献5参照)、最適化済モデルにおけるパラメタの大半を+1/−1の2値に制限できるように最適化する手法(非特許文献6参照)、ならびに、対象語彙の一部を2進符号化する手法(非特許文献7参照)などが提案されている。

発明が解決しようとする課題

0009

深層学習の最適化は、与えられたニューラルネットワークの最深層の情報のみに基づいて行われる。そのため、最適化済モデルのうち一部の層のみを使用して出力信号を算出した場合には、性能が極端劣化し得る。すなわち、空間計算量および時間計算量を削減するアプローチとして、最適化の対象としたモデルと推論処理において利用するモデルとの間で、使用する層あるいはネットワーク構造を異ならせることはできない。

0010

そのため、モデルの用途や要求仕様が変化した場合には、新たなモデルに対する最適化を再度実行する必要がある。この点については、上述した空間計算量および時間計算量を削減するいずれのアプローチについても同様である。

0011

本技術は、用途や要求仕様の変化に対応可能なニューラルネットワークの最適化手法を提供することを目的としている。

課題を解決するための手段

0012

本技術のある局面に従えば、複数の同一または異なる層を有するニューラルネットワークのパラメタを最適化する最適化方法が提供される。最適化方法は、入力信号と正解出力信号とが対応付けられた訓練データを用意するステップと、入力信号をニューラルネットワークに入力して、ニューラルネットワークに含まれる最深層から出力される出力信号を算出するとともに、最深層を含む1つ以上の層の各々から出力される出力信号を算出するステップと、入力信号に対応付けられた正解出力信号に対する、算出されたそれぞれの出力信号の誤差をそれぞれ算出するステップと、算出されたそれぞれの誤差に基づいて、ニューラルネットワークに含まれる各層のパラメタを最適化するステップとを含む。

0013

最適化するステップは、算出されたそれぞれの誤差を統合するステップを含むようにしてもよい。

0014

誤差を統合するステップは、算出されたそれぞれの誤差を統合して、最深層から逆伝搬させるための誤差情報を算出するステップを含むようにしてもよい。

0015

誤差情報を算出するステップは、算出されたそれぞれの誤差の平均値を、最深層から逆伝搬させるための誤差情報として算出するステップを含むようにしてもよい。

0016

最適化するステップは、パラメタを最適化する対象の層に対して逆伝搬により与えられた誤差情報と、当該対象の層の出力信号について算出された誤差とに基づいて、当該対象の層のパラメタを最適化するステップを含むようにしてもよい。

0017

ニューラルネットワークは、入力信号に含まれる特徴的な情報を出力するエンコーダと、先に出力した出力信号および入力信号に含まれる特徴的な情報の入力を受けて出力信号を決定するデコーダとを含むようにしてもよい。

0018

本技術の別の局面に従えば、上述の最適化方法をコンピュータに実行させるための最適化プログラムが提供される。

0019

本技術のさらに別の局面に従えば、複数の同一または異なる層を有するニューラルネットワークからなる最適化済モデルを用いた推論方法が提供される。推論方法は、任意の入力信号を最適化済モデルに入力するステップと、最適化済モデルの最深層に向かって順番に出力信号を算出するステップと、最適化済モデルに含まれる複数の同一または異なる層のうち、要求に基づいて決定される最深層を含む任意の層の出力信号を推論結果として出力するステップとを含む。最適化済モデルは、訓練データに含まれる入力信号をニューラルネットワークに入力したときに算出される、最深層を含む1つ以上の層の各々から出力される出力信号と、訓練データに含まれる入力信号に対応付けられた正解出力信号とのそれぞれの誤差に基づいて、パラメタを最適化することで生成される。

0020

推論結果として出力信号が出力される層は、出力信号の推論性能、および、出力信号が出力されるまでに要する時間の少なくとも一方の要求に基づいて決定されてもよい。

0021

本技術のさらに別の局面に従えば、上述の最適化方法をコンピュータに実行させるための推論プログラムが提供される。

発明の効果

0022

本技術によれば、用途や要求仕様の変化に対応可能なニューラルネットワークの最適化手法を提供できる。

図面の簡単な説明

0023

一般的な深層学習を説明するための模式図である。
本実施の形態に従う深層学習を説明するための模式図である。
本実施の形態に従う処理手順の要部を示すフローチャートである。
ニューラル機械翻訳を実現するTransformerモデルの一例を示す模式図である。
実施の形態1に従う最適化処理を説明するための模式図である。
実施の形態1に従う最適化処理の主要な処理手順を示すフローチャートである。
音声翻訳向け多言語対訳コーパスを用いた英日翻訳タスクについての評価結果を示すグラフである。
ニュース分野の対訳データを用いた英独翻訳タスクについての評価結果を示すグラフである。
実施の形態2に従う最適化処理を説明するための模式図である。
実施の形態2に従う最適化処理を説明するための模式図である。
実施の形態2に従う最適化処理の主要な処理手順を示すフローチャートである。
実施の形態2における英日翻訳タスクについての評価結果を示すグラフである。
実施の形態2における英独翻訳タスクについての評価結果を示すグラフである。
実施の形態3に従う最適化処理を説明するための模式図である。
実施の形態3に従う最適化処理の主要な処理手順を示すフローチャートである。
実施の形態3における英日翻訳タスクについての評価結果を示すグラフである。
本実施の形態に従う最適化処理および推論処理を実現するハードウェア構成の一例を示す模式図である。

実施例

0024

本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。

0025

[A.関連技術]
まず、一般的な深層学習について説明する。

0026

図1は、一般的な深層学習を説明するための模式図である。図1を参照して、深層学習では、入力信号に対して複数の非線形変換を施して出力信号を得るニューラルネットワーク10を想定する。典型的には、ニューラルネットワーク10は、入力層2と、1または複数の隠れ層4と、出力層6とからなる。入力層2、隠れ層4、および出力層6の各層は、状態を示すベクトルおよび活性化関数を含む。隣接する層の間は、アフィン変換などを介して結合される。

0027

例えば、入力信号Xを6層の非線形変換L1,L2,L3,L4,L5,L6を経て出力信号Yを得るモデルは、以下の(1)式のように表すことができる。

0028

Y=L6(L5(L4(L3(L2(L1(X)))))) ・・・(1)
通常、入力信号Xは、有限固定次元実数ベクトルv(∈Rn)である。非線形変換Liの各々は、線形変換行列およびバイアス項で表すことができる。線形変換行列の係数およびバイアス項の値をまとめて「パラメタ」と称される。パラメタの最適化は、対象のタスクに対してより高い性能を示すように、パラメタの各値を調整する処理を意味する。

0029

ニューラルネットワークの最適化においては、最深層において最も有用な情報が得られると仮定する。この仮定に基づいて、以下の3つの処理(ステップS1〜S3)を繰り返すことでパラメタを最適化する。

0030

(1)入力信号Xに対する出力信号Yを算出する(ステップS1)
(2)出力信号Yと正解出力信号との誤差eを算出する(ステップS2)
(3)誤差eに基づいて最深層から浅い層に向かって順番にパラメタを更新する(誤差逆伝搬(backpropagation))(ステップS3)
なお、ステップS2では、問題に応じた方法で誤差eが算出される。

0031

より具体的には、(i)回帰問題の場合(出力信号Yとして一定の範囲の実数ベクトルv(∈Rn)を得たい場合)には、シグモイド関数などを用いて出力信号Yを正規化し、正解出力信号である実数ベクトルv’(∈Rn)に対する誤差eを算出する。

0032

また、(ii)分類問題の場合(出力信号Yとして離散値c(∈C))を得たい場合)には、ソフトマックス関数などを用いて出力信号Yをcに関する確率分布P(c)に変換し、正解出力信号である離散値c’(∈C)に対する誤差eを交差エントロピーとして算出する。

0033

図1に示すような、入力信号と正解出力信号との組のみに基づくend−to−endの最適化手法は、人間が行っているような複雑な処理を細かい処理に分割して実装する必要がないことから、近年多くのタスクに用いられている。

0034

非線形変換の回数(すなわち、ニューラルネットワークの層数)を増加させることでより複雑な関数を表現できるようになり、性能向上の可能性を高めることができる。一方で、層数の増加に伴って、空間計算量(すなわち、パラメタの数)および時間計算量(すなわち、行列の乗算回数など)が増加するという課題もある。

0035

[B.概要
次に、本実施の形態に従うニューラルネットワークの概要について説明する。

0036

図2は、本実施の形態に従う深層学習を説明するための模式図である。図2には、図1と同様のニューラルネットワーク1を示す。ニューラルネットワーク1は、図1に示すニューラルネットワーク10と同様に、入力信号に対して複数の非線形変換を施して出力信号を出力する。

0037

図1に示すニューラルネットワーク10と同様に、ニューラルネットワーク10は、典型例として、入力層2と、1または複数の同一または異なる隠れ層4と、出力層6とからなる。入力層2、隠れ層4、および出力層6の各層は、状態を示すベクトルおよび活性化関数を含む。隣接する層の間は、アフィン変換などを介して結合される。

0038

図1に示すニューラルネットワーク10においては、最深層の情報(すなわち、出力層6の出力信号Y)のみに基づいて最適化が実行されるのに対して、本実施の形態に従うニューラルネットワーク1においては、最深層の情報に加えて、他の層の情報を用いて最適化が実行される。ニューラルネットワーク10は、このような最適化に適したネットワーク構造を採用する。

0039

すなわち、本実施の形態に従うニューラルネットワーク1は、出力層6以外の層からも出力信号を取り出すことが可能になっている。典型例として、図2(A)に示すニューラルネットワーク1においては、入力層2と、隠れ層4と、出力層6の各々から出力信号Y1,Y2,・・・,Yn−1,Ynが出力可能になっている。

0040

ニューラルネットワーク1の最適化においては、最深層を含む複数の層の情報が利用される。一般的な深層学習においては、最深層の出力信号Yと正解出力信号との誤差のみが用いられるのに対して、本実施の形態においては、各層の出力信号に対して正解出力信号との誤差が算出され、算出された誤差が統合された上で、パラメタが最適化される。より具体的には、以下に示すような処理(ステップS11〜S13)を繰り返すことでパラメタを最適化する。

0041

(1)入力信号Xに対する各層の出力信号Y1,Y2,・・・,Yn−1,Ynを算出する(ステップS11)
(2)出力信号Y1,Y2,・・・,Yn−1,Ynの各々と正解出力信号との誤差e1,e2,・・・,en−1,enを算出する(ステップS12)
(3)誤差en,en−1,・・・,e2,e1に基づいて最深層から浅い層に向かって順番にパラメタを更新する(誤差逆伝搬)(ステップS13)
なお、ステップS13の誤差逆伝搬において、対応する層の誤差eiが順番に考慮されることになる。すなわち、k番目の層(1≦k<N)においては、(k+1)番目の層から逆伝搬される誤差情報(勾配)だけではなく、k番目の層において算出された誤差ekをk番目の層で直接受け取った上で、両者を考慮して、k番目の層のパラメタを更新する。

0042

すなわち、パラメタを最適化する処理は、パラメタを最適化する対象の層に対して逆伝搬により与えられた誤差情報と、当該対象の層の出力信号について算出された誤差とに基づいて、当該対象の層のパラメタを最適化する処理を含む。

0043

このように、対応する層の誤差が順番に考慮されつつ、最深層から浅い層に向かって誤差情報が逆伝搬することで、各層のパラメタが更新されてもよい。

0044

本実施の形態に従う技術思想は、特定の種類のニューラルネットワークに限定されるものではなく、様々な種類のニューラルネットワークに適用可能である。例えば、CNN(Convolutional Neural Network)、Stacked RNN(Recurrent Neural Network)、Transformer(ニューラル機械翻訳の一形態)などのニューラルネットワークに適用可能である。

0045

また、上述したように、出力信号としては、回帰問題の場合には、シグモイド関数などを用いて正規化した信号が用いられ、分類問題の場合には、ソフトマックス関数などを用いて確率分布に変換した信号が用いられる。いずれの形式の出力信号であっても、上述の最適化手法は適用可能である。

0046

本実施の形態に従うニューラルネットワーク1においては、各層の出力信号Y1,Y2,・・・,Yn−1,Ynがいずれも正解出力信号に対する誤差が少なくなるように、パラメタが最適化される。そのため、推論処理においては、最深層の情報(すなわち、出力層6の出力信号Yn)だけではなく、他の層の情報(すなわち、出力信号Y1,Y2,・・・,Yn−1)を用いることでも十分な性能を発揮できる可能性が高い。その結果、推論処理においては、要求される処理速度および性能に応じて、複数の層のうち任意の層の出力信号を推論結果として用いることができる。

0047

図2(A)には、各層の出力信号を正解出力信号と比較し、各層において誤差をそれぞれ算出する例を示すが、図2(B)に示すように、各層においてそれぞれ算出される誤差を統合してもよい。以下においては、誤差の統合の一手法として、平均化処理を採用した場合について説明するが、任意の手法を採用してもよい。

0048

図2(B)に示す最適化手法においては、以下に示すような処理(ステップS11〜S15)を繰り返すことでパラメタを最適化する。

0049

(1)入力信号Xに対する各層の出力信号Y1,Y2,・・・,Yn−1,Ynを算出する(ステップS11)
(2)出力信号Y1,Y2,・・・,Yn−1,Ynの各々と正解出力信号との誤差e1,e2,・・・,en−1,enを算出する(ステップS12)
(3)各層の誤差e1,e2,・・・,en−1,enの間を平均化して平均誤差eunfを算出する(ステップS14)
(4)平均誤差eunfに基づいて最深層から浅い層に向かって順番にパラメタを更新する(誤差逆伝搬)(ステップS15)
このように、パラメタを最適化する処理は、算出されたそれぞれの誤差を統合する処理を採用してもよい。この誤差を統合する処理は、算出されたそれぞれの誤差を統合して、最深層から逆伝搬させるための誤差情報を算出する処理を含む。典型的には、算出されたそれぞれの誤差の平均値を、最深層から逆伝搬させるための誤差情報として算出してもよい。

0050

この平均化処理(ステップS14)においては、個々の層の出力信号に対する誤差を統合している。但し、任意の方法を用いて各層の出力信号を統合した上で、誤差情報を算出し、パラメタの最適化を行ってもよい。

0051

本実施の形態に従うニューラルネットワークおよびその最適化手法を採用することで、空間計算量については、最適化フェーズ訓練時)においてわずかに増加するものの、推論フェーズ(使用時)においては要求に応じて削減できる。また、時間計算量については、最適化フェーズ(訓練時)においては増加するが、推論フェーズ(使用時)においては要求に応じて削減できる。

0052

図3は、本実施の形態に従う処理手順の要部を示すフローチャートである。図3(A)には、本実施の形態に従う最適化処理の処理手順を示し、図3(B)には、本実施の形態に従う推論処理の処理手順を示す。

0053

図3(A)には、複数の層を有するニューラルネットワーク(モデル)のパラメタを最適化する最適化方法の処理手順を示す。図3(A)に示す主要なステップは、典型的には、プロセッサが最適化プログラムを実行することで実現される。

0054

図3(A)を参照して、まず、最適化処理に用いられる、入力信号と正解出力信号とが対応付けられた訓練データが用意される(ステップS50)。

0055

続いて、訓練データに含まれる入力信号をニューラルネットワークに入力して、ニューラルネットワークに含まれる最深層を含む1つ以上の層の各々から出力される出力信号を算出する(ステップS52)。

0056

そして、訓練データの入力信号に対応付けられた正解出力信号に対する、算出されたそれぞれの出力信号の誤差をそれぞれ算出する(ステップS54)。算出されたそれぞれの誤差に基づいて、ニューラルネットワークに含まれる各層のパラメタを最適化する(ステップS56)。なお、各層のパラメタを最適化する処理は、ステップS54において算出されるそれぞれの誤差を統合する処理を含み得る。誤差を統合する処理は、上述の図2(A)および図2(B)に示すように、誤差逆伝搬の過程で実行される。図2(B)に示す場合には、誤差を統合する処理は、誤差逆伝搬の前にも実行される。

0057

通常、予め設定された回数、または、訓練データとは別に用意された検証用データ開発データ)に対する精度が収束するまで、ステップS52〜S56の処理が繰り返される。

0058

図3(B)には、複数の層を有するニューラルネットワークからなる最適化済モデルを用いた推論方法の処理手順を示す。図3(B)に示す主要なステップは、典型的には、プロセッサが推論プログラムを実行することで実現される。

0059

ここで、最適化済モデルは、図3(A)に示す最適化方法の処理手順に従って生成される。すなわち、最適化済モデルは、訓練データに含まれる入力信号をニューラルネットワークに入力したときに算出される、最深層を含む1つ以上の層の各々から出力される出力信号と、訓練データに含まれる入力信号に対応付けられた正解出力信号とのそれぞれの誤差に基づいて、パラメタを最適化することで生成される。

0060

図3(B)を参照して、任意の入力信号を最適化済モデルに入力する(ステップS60)。そして、最適化済モデルの最深層に向かって順番に出力信号を算出する(ステップS62)。すなわち、入力信号に対して、各層に規定される非線形変換が順番に実行される。

0061

最終的に、最適化済モデルに含まれる複数の層のうち最深層を含む任意の層の出力信号を推論結果として出力する(ステップS64)。そして、推論処理は終了する。

0062

なお、推論結果として出力信号が出力される層は、出力信号の推論性能、および、出力信号が出力されるまでに要する時間の少なくとも一方の要求に基づいて決定されてもよい。この点については、後述の実施の形態1〜3において具体例を挙げて説明する。

0063

本実施の形態に従うニューラルネットワークおよびその最適化手法によれば、すべての層に対して誤差情報をより直接的に反映したパラメタの更新が可能となるため、モデルの頑健性ロバスト性)を高めることができる。このため、最適化済モデルの使用時(推論フェーズ)において、訓練時(最適化フェーズ)よりも少ない任意の数の層のみを用いた場合でも、性能が極端に劣化することを防止でき、ひいては処理速度の改善が可能となる。このように、N層のニューラルネットワークを最適化した場合は、使用時(推論フェーズ)において、1〜N層のN段階の柔軟性を実現できる。

0064

[C.アプリケーション例]
次に、本実施の形態に従うニューラルネットワークおよびその最適化手法を適用したアプリケーション例について説明する。

0065

上述したように、本実施の形態に従うニューラルネットワークおよびその最適化手法は、ニューラルネットワーク全般に適用可能である。本明細書においては、アプリケーションの一例として、系列変換モデル、特にニューラル機械翻訳を想定する。

0066

具体的には、後述の実施の形態1および2においては、非特許文献8に示されるような6層のTransformerモデルを採用し、後述の実施の形態3においては、非特許文献2に示されるような6層のRecurrently Stacked Transformer(RS−Transformer)モデルを採用した。

0067

図4は、ニューラル機械翻訳を実現するTransformerモデルの一例を示す模式図である。図4を参照して、Transformerモデル20においては、入力信号を第1言語のシーケンスとし、出力信号を第2言語のシーケンスとすることで、ニューラル機械翻訳を実現する。なお、ニューラル機械翻訳は、分類問題として捉えることができる。より具体的には、Transformerモデル20は、エンコーダ30と、デコーダ40とを含む。

0068

エンコーダ30は、入力信号に含まれる特徴的な情報を出力する。エンコーダ30は、入力信号に含まれる特徴的な情報を抽出するためのN層の隠れ層32を有している。エンコーダ30の前段には、入力信号であるシーケンス(自然言語)中の各語を固定次元のベクトルに変換するための入力層36が配置されている。

0069

デコーダ40は、先に出力した出力信号(既出力)および入力信号に含まれる特徴的な情報の入力を受けて、出力信号を決定する。デコーダ40は、M層の隠れ層42を有している。デコーダ40の前段には、既出力であるシーケンス(自然言語)中の各語を固定次元のベクトルに変換するための入力層46が配置されている。

0070

実施の形態1〜3においては、図4に示すようなTransformerモデルを用いたニューラル機械翻訳の性能を評価した。

0071

[D.実施の形態1]
図5は、実施の形態1に従う最適化処理を説明するための模式図である。図5を参照して、実施の形態1においては、デコーダ40のM層の隠れ層42(一例として、6層)からのそれぞれの出力信号を用いて誤差情報を生成する。経路50に沿って、デコーダ40の最深層から浅い層に向かって、および、エンコーダ30の最深層から浅い層に向かって、誤差情報が順番に逆伝搬する。

0072

図6は、実施の形態1に従う最適化処理の主要な処理手順を示すフローチャートである。図6を参照して、まず、最適化処理に用いられる訓練データを用意する(ステップS100)。

0073

続いて、訓練データに含まれる入力信号に基づいて、Transformerモデル20のエンコーダ30の入力信号enc0として入力するテンソルXを算出する(enc0=X)(ステップS102)。また、誤差情報lossをゼロに初期化する(loss=0)(ステップS104)。

0074

続いて、エンコーダ30の各層の出力信号を算出する。すなわち、エンコーダ30に含まれる隠れ層32の層位置を示すインデックスi(1≦i≦N)について、出力信号enci=Lienc(enci−1)をそれぞれ算出する(ステップS110)。ここで、Liencは、エンコーダ30に含まれるi番目の隠れ層32の非線形変換を示す。エンコーダ30の最深層の出力である出力信号encN(入力信号に含まれる特徴的な情報)がデコーダ40へ与えられることになる。

0075

続いて、デコーダ40の各層の出力信号および誤差を算出する。すなわち、デコーダ40に含まれる隠れ層42の層位置を示すインデックスj(1≦j≦M)について、エンコーダの最深層の出力信号encNを参照しつつ、出力信号decj=Ljdec(decj−1,encN)をそれぞれ算出する(ステップS120)。ここで、Ljdecは、デコーダ40に含まれるj番目の隠れ層32の非線形変換を示す。

0076

デコーダ40の各層において、確率分布としての出力信号Y^j=softmax(decj)を算出する(ステップS122)。なお、電子出願システムの制約上、ハット記号「^」を対象の文字に続けて記載している(以下、同様である。)。

0077

さらに、確率分布としての出力信号Y^jと離散値としての正解出力信号Yとの誤差を交差エントロピーとして算出し、誤差情報lossに加算する(ステップS124)。すなわち、誤差情報loss=loss+cross_entropy(Y^j,Y)が算出される。

0078

最終的に、デコーダ40の各層において算出された誤差の平均値が、パラメタの最適化に用いられる誤差情報として決定される(ステップS130)。すなわち、誤差情報loss=loss/Mが算出される。そして、算出された誤差情報lossに基づいて、デコーダ40の最深層から浅い層に向かって順番にパラメタが更新され、続いて、エンコーダ30の最深層から浅い層に向かって順番にパラメタが更新される(ステップS132)。

0079

通常は、上述したステップS102以下の処理が複数回に亘って繰り返される。
なお、説明の便宜上、図5および図6においては記載を省略しているが、実際には、バッチノーマライゼーション(Batch Normalization)やドロップアウト(dropout)などの過学習を回避するための処理を適宜配置してもよい。また、最適化処理を高速化するための任意の処理を適宜配置してもよい(例えば、非特許文献5〜7など参照)。

0080

上述した最適化処理による性能を以下の2つの翻訳タスクについて評価した。
1番目の翻訳タスクとして、情報通信研究機構(NICT)により開発された音声翻訳向け多言語対訳コーパス(非特許文献9および非特許文献10参照)を用いた英日翻訳タスクを設定した。多言語対訳コーパスから、訓練データとして約40万文対を設定し、評価用データとして約2000文対を設定した。

0081

2番目の翻訳タスクとして、ニュース分野の対訳データ(非特許文献11および非特許文献12参照)を用いた英独翻訳タスクを設定した。ニュース分野の対訳データから、訓練データとして約560万文対を設定し、評価用データとして約3000文対を設定した。

0082

それぞれの翻訳タスクについて、翻訳性能BLEUスコア(非特許文献13参照)および翻訳の速度で評価した。

0083

図7は、音声翻訳向け多言語対訳コーパスを用いた英日翻訳タスクについての評価結果を示すグラフである。図8は、ニュース分野の対訳データを用いた英独翻訳タスクについての評価結果を示すグラフである。

0084

図7および図8に示す「BLUE:1×6」は、エンコーダ30の層数を6とし、デコーダ40の層数を6とした上で、図6に示す手順に従う最適化処理により得られた最適化済モデルの翻訳性能を示す。「BLUE:6−k」は、エンコーダ30の層数を6とし、デコーダ40の層数を1〜6と異ならせた6種類のモデルについて関連技術に従う最適化処理(最深層の誤差情報のみに基づく最適化処理)により得られたそれぞれの最適化済モデル(6種類)の翻訳性能を示す。「BLUE:6−6」は、エンコーダ30の層数を6とし、デコーダ40の層数を6とした上で、関連技術に従う最適化処理により得られた最適化済モデルの翻訳性能を示す。「BLUE:6−6」に示す翻訳性能は、同一の最適化済モデルについて、推論フェーズにおいて使用するデコーダ40の層数を1〜6にそれぞれ異ならせたものである。

0085

なお、図6に示す手順に従う最適化処理の実行には、関連技術に従う最適化処理の実行に要した時間の約2.0倍の時間を要した。

0086

図7および図8横軸「1」〜「6」は、推論フェーズ(使用時)において使用するデコーダ40の層を示す。例えば、横軸が「3」の位置においては、デコーダ40の3番目の層からの出力信号が推論結果として使用された場合の性能を示す。

0087

図7および図8に示すように、関連技術に従う最適化処理により得られた最適化済モデル(BLUE:6−6)においては、使用するデコーダ40の層数を最適化フェーズ(訓練時)よりも減らした場合には、翻訳性能(BLUEスコア)が極端に劣化していることが分かる。

0088

また、推論フェーズで使用するのと同じ層数のデコーダ40を有するモデルについて、関連技術に従う最適化処理により得られた最適化済モデル(BLUE:6−k)においては、デコーダ40の層数が2〜6の間では、BLUE:6−6と概ね同等の翻訳性能であることが分かる。

0089

これに対して、実施の形態1に従う最適化処理によれば、デコーダ40のすべての層の出力信号に基づいて、6−1〜6−6の6個のモデルを同時に最適化しており(BLUE:1×6)、使用するデコーダ40の層数を最適化フェーズ(訓練時)よりも減らした場合であっても、翻訳性能の劣化はわずかであることが分かる。

0090

また、図7および図8に示す「翻訳時間[sec]」は、実施の形態1に従う最適化処理により得られた最適化済モデル(BLUE:1×6)を用いて、評価用データ(英日翻訳タスクについては約2000文、英独翻訳タスクについては約3000文)の翻訳に要した処理時間(モデルのロード時間および入力文エンコードに要する時間を含む)を表す。この処理時間のグラフによれば、層数を減らすことで、大幅な高速化を実現できることが分かる。

0091

具体的には、1番目の翻訳タスク(英日翻訳タスク)においては、デコーダ40の2つの層を用いることで、処理時間を約40%低減でき、デコーダ40の3つの層を用いることで、処理時間を約30%低減できることが分かる。また、2番目の翻訳タスク(英独翻訳タスク)においては、デコーダ40の2つの層を用いることで、処理時間を約57%低減でき、デコーダ40の3つの層を用いることで、処理時間を約36%低減できることが分かる。

0092

[E.実施の形態2]
実施の形態1においては、デコーダ40の各層の出力信号に基づいて算出される誤差情報を用いる最適化処理について説明したが、実施の形態2においては、エンコーダ30およびデコーダ40の各層の出力信号に基づいて算出される誤差情報を用いる最適化処理について説明する。

0093

図9および図10は、実施の形態2に従う最適化処理を説明するための模式図である。図9および図10を参照して、実施の形態2においては、エンコーダ30のN層の隠れ層32(一例として、6層)の各々からの出力信号、および、デコーダ40のM層の隠れ層42(一例として、6層)からのそれぞれの出力信号を用いて、誤差情報を生成する。生成された誤差情報は、経路50に沿って、デコーダ40の最深層から浅い層に向かって、および、エンコーダ30の最深層から浅い層に向かって、順番に逆伝搬する。

0094

図9には、一例として、エンコーダ30の最深層(N番目の隠れ層32)からの出力信号encNがデコーダ40に入力される場合を示し、図10には、一例として、エンコーダ30のi番目の層(i番目の隠れ層32)からの出力信号enciがデコーダ40に入力される場合を示す。図9および図10に示すように、実施の形態2においては、エンコーダ30の各層からのN通りの出力信号と、デコーダ40の各層からのM通りの出力信号との組み合わせ(N×M)のそれぞれについて誤差情報が存在し得る。

0095

図11は、実施の形態2に従う最適化処理の主要な処理手順を示すフローチャートである。図11を参照して、まず、最適化処理に用いられる訓練データを用意する(ステップS200)。

0096

続いて、訓練データに含まれる入力信号に基づいて、Transformerモデル20のエンコーダ30の入力信号enc0として入力するテンソルXを算出する(enc0=X)(ステップS202)。また、誤差情報lossをゼロに初期化する(loss=0)(ステップS204)。

0097

続いて、エンコーダ30の各層の出力信号および誤差を算出する。すなわち、エンコーダ30に含まれる隠れ層32の層位置を示すインデックスi(1≦i≦N)について、ステップS210〜S216の処理が繰り返される。

0098

より具体的には、出力信号enci=Lienc(enci−1)をそれぞれ算出する(ステップS210)。ここで、Liencは、エンコーダ30に含まれる隠れ層32の非線形変換を示す。この時点で、エンコーダ30が出力する出力信号enciがデコーダ40へ与えられることになる。

0099

さらに、インデックスiの各々について、デコーダ40の各層の出力信号および誤差を算出する。すなわち、デコーダ40に含まれる隠れ層42の層位置を示すインデックスj(1≦j≦M)について、ステップS212〜S216の処理が繰り返される。

0100

より具体的には、出力信号decj=Ljdec(decj−1,enci)をそれぞれ算出する(ステップS212)。ここで、Ljdecは、デコーダ40に含まれるj番目の隠れ層32の非線形変換を示す。

0101

そして、確率分布としての出力信号Y^i,j=softmax(decj)を算出する(ステップS214)。さらに、確率分布としての出力信号Y^i,jと離散値としての正解出力信号Yとの誤差を交差エントロピーとして算出し、誤差情報lossに加算する(ステップS216)。すなわち、誤差情報loss=loss+cross_entropy(Y^i,j,Y)が算出される。

0102

最終的に、エンコーダ30の各層(N層)とデコーダ40の各層(M層)との組み合わせに関して算出された誤差の平均値が、パラメタの最適化に用いられる誤差情報として決定される(ステップS220)。すなわち、誤差情報loss=loss/(N×M)が算出される。そして、算出された誤差情報lossに基づいて、デコーダ40の最深層から浅い層に向かって順番にパラメタが更新され、続いて、エンコーダ30の最深層から浅い層に向かって順番にパラメタが更新される(ステップS222)。

0103

通常は、上述したステップS202以下の処理が複数回に亘って繰り返される。
なお、説明の便宜上、図9図11においては記載を省略しているが、実際には、バッチノーマライゼーションやドロップアウトなどの過学習を回避するための処理を適宜配置してもよい。また、最適化処理を高速化するための任意の処理を適宜配置してもよい(例えば、非特許文献5〜7など参照)。

0104

上述した最適化処理による性能を1番目の翻訳タスク(実施の形態1において説明した英日翻訳タスクと同じ)および2番目の翻訳タスク(実施の形態1において説明した英独翻訳タスクと同じ)について評価した。実施の形態1と同様に、翻訳性能をBLEUスコアおよび翻訳の速度でそれぞれ評価した。

0105

図12は、実施の形態2における英日翻訳タスクについての評価結果を示すグラフである。図12(A)には、図11に示す手順に従う最適化処理により得られた最適化済モデルについてのBLUEスコアの評価結果を示し、図12(B)には、図11に示す手順に従う最適化処理により得られた最適化済モデルについての処理時間の評価結果を示す。処理時間は、評価用データ(約2000文)の翻訳に要した処理時間(モデルのロード時間および入力文のエンコードに要する時間を含む)を表す。

0106

図13は、実施の形態2における英独翻訳タスクについての評価結果を示すグラフである。図13(A)には、図11に示す手順に従う最適化処理により得られた最適化済モデルについてのBLUEスコアの評価結果を示し、図13(B)には、図11に示す手順に従う最適化処理により得られた最適化済モデルについての処理時間の評価結果を示す。処理時間は、評価用データ(約3000文)の翻訳に要した処理時間(モデルのロード時間および入力文のエンコードに要する時間を含む)を表す。

0107

図12(A)、図12(B)、図13(A)および図13(B)において、横軸「1」〜「6」は、推論フェーズ(使用時)において使用するエンコーダ30の層数を示す。また、縦軸「1」〜「6」は、推論フェーズ(使用時)において使用するデコーダ40の層数を示す。例えば、横軸が「3」および横軸が「3」の位置においては、エンコーダ30の3番目の層からの出力信号(入力信号に含まれる特徴的な情報)がデコーダ40に入力され、デコーダ40の3番目の層からの出力信号が推論結果として使用された場合の性能を示す。

0108

なお、図11に示す手順に従う最適化処理の実行には、関連技術に従う最適化処理の実行に要した時間の約9.5倍の時間を要した。

0109

図12(A)に示すように、エンコーダ30の4つ以上の層およびデコーダ40の3つ以上の層を用いることで、関連技術に従う最適化処理により得られた最適化済モデルによる翻訳性能(27.09ポイント)と同等の翻訳性能(26.09〜26.53ポイント)を発揮できることが分かる。

0110

図12(B)に示すように、エンコーダ30の4つ以上の層およびデコーダ40の3つの層を用いた場合には、関連技術に従う最適化処理により得られた最適化済モデルを用いた場合の処理時間(85.20単位時間)に比較して、処理時間を約30%低減できることが分かる(57.25〜59.49単位時間)。

0111

また、図13(A)に示すように、エンコーダ30の4つの層およびデコーダ40の4つの層を用いることで、関連技術に従う最適化処理により得られた最適化済モデルによる翻訳性能(32.31ポイント)と同等の翻訳性能(31.44〜32.03ポイント)を発揮できることが分かる。

0112

図13(B)に示すように、エンコーダ30の4つ以上の層およびデコーダ40の4つの層を用いた場合には、関連技術に従う最適化処理により得られた最適化済モデルを用いた場合の処理時間(251.69単位時間)に比較して、処理時間を約35%低減できることが分かる(137.88〜161.44単位時間)。

0113

なお、図12(B)および図13(B)の評価結果によれば、使用するエンコーダ30の層数を減らすことは、処理の高速化にはあまり有効ではなく、一方、使用するデコーダ40の層数を減らすことは、処理の高速化にはより有効であることが分かる。

0114

[F.実施の形態3]
実施の形態1および2においては、エンコーダ30およびデコーダ40が複数の異なる層を有するモデルを例示した。このような複数の異なる層を有するエンコーダ30およびデコーダ40に代えて、同じ層を再帰的に使用することで、メモリの使用量を抑制しつつ、複数の層と同等の非線形変換を実現できる(非特許文献2など参照)。実施の形態3においては、同じ層を再帰的に使用するモデルに対する最適化処理について説明する。

0115

図14は、実施の形態3に従う最適化処理を説明するための模式図である。図14を参照して、RS−Transformerモデル20Aは、隠れ層32を再帰的に使用可能に結合されたエンコーダ30Aと、隠れ層42を再帰的に使用可能に結合されたデコーダ40Aとを含む。エンコーダ30Aの出力信号(入力信号に含まれる特徴的な情報)は、デコーダ40Aへ出力される。

0116

隠れ層32を再帰的にN回使用することで、N層分に相当する非線形変換を実現でき、隠れ層42を再帰的にM回使用することで、M層分に相当する非線形変換を実現できる。一方で、隠れ層32および隠れ層42は、1層分しか存在しないので、RS−Transformerモデル20Aを規定するパラメタの数をTransformerモデル20よりも低減できる。

0117

実施の形態3においては、簡単化のため、実施の形態1と同様に、エンコーダ30については関連技術と同様に最深層の出力信号のみに基づいて算出される誤差信号を用いるとともに、デコーダ40Aの各層の出力信号(すなわち、各再帰処理における出力信号)に基づいて算出される誤差情報を用いた最適化処理を実行する。但し、実施の形態2と同様に、エンコーダ30Aの各層の出力信号に基づいて算出される誤差信号、および、デコーダ40Aの各層の出力信号(すなわち、各再帰処理における出力信号)に基づいて算出される誤差情報を用いる最適化処理を採用してもよい。

0118

図14に示すRS−Transformerモデル20Aに対する最適化処理においては、経路50に沿って、デコーダ40Aの最深層から浅い層に向かって、および、エンコーダ30Aの最深層から浅い層に向かって、誤差情報が順番に逆伝搬する。この誤差情報を逆伝搬する処理においても、所定回数の再帰処理が実行される。すなわち、同一の隠れ層に対して、誤差情報が複数回に亘って逆伝搬することで、パラメタが最適化される。

0119

図15は、実施の形態3に従う最適化処理の主要な処理手順を示すフローチャートである。図15を参照して、まず、最適化処理に用いられる訓練データを用意する(ステップS300)。

0120

続いて、訓練データに含まれる入力信号に基づいて、RS−Transformerモデル20Aのエンコーダ30Aの入力信号enc0として入力するテンソルXを算出する(enc0=X)(ステップS302)。また、誤差情報lossをゼロに初期化する(loss=0)(ステップS304)。

0121

続いて、エンコーダ30Aの各層の出力信号を算出する。すなわち、エンコーダ30Aの隠れ層32についての再帰処理の回数を示すインデックスi(1≦i≦N)について、出力信号enci=Lenc(enci−1)をそれぞれ算出する(ステップS310)。ここで、Lencは、エンコーダ30Aに含まれる隠れ層32の非線形変換を示す。N回の再帰処理によって得られたエンコーダ30Aの出力である出力信号encN(最深層の出力信号に相当)がデコーダ40Aへ与えられることになる。

0122

続いて、デコーダ40Aの各層の出力信号および誤差を算出する。すなわち、デコーダ40Aの隠れ層42についての再帰処理の回数を示すインデックスj(1≦j≦M)について、出力信号decj=Ldec(decj−1,encN)をそれぞれ算出する(ステップS320)。そして、確率分布としての出力信号Y^j=softmax(decj)を算出する(ステップS322)。さらに、確率分布としての出力信号Y^jと離散値としての正解出力信号Yとの誤差を交差エントロピーとして算出し、誤差情報lossに加算する(ステップS324)。すなわち、誤差情報loss=loss+cross_entropy(Y^j,Y)が算出される。

0123

最終的に、デコーダ40Aの各層において算出された誤差の平均値が、パラメタの最適化に用いられる誤差情報として決定される(ステップS330)。すなわち、誤差情報loss=loss/Nが算出される。そして、算出された誤差情報lossに基づいて、デコーダ40Aの最深層から浅い層に向かって順番にパラメタが更新され、続いて、エンコーダ30Aの最深層から浅い層に向かって順番にパラメタが更新される(ステップS332)。

0124

通常は、上述したステップS302以下の処理が複数回に亘って繰り返される。
なお、説明の便宜上、図14および図15においては記載を省略しているが、実際には、バッチノーマライゼーションやドロップアウトなどの過学習を回避するための処理を適宜配置してもよい。また、最適化処理を高速化するための任意の処理を適宜配置してもよい(例えば、非特許文献5〜7など参照)。

0125

上述した最適化処理による性能を1番目の翻訳タスク(実施の形態1において説明した英日翻訳タスクと同じ)について評価した。実施の形態1と同様に、翻訳性能をBLEUスコアで評価した。なお、エンコーダ30Aおよびデコーダ40Aの再帰処理の回数は同数(すなわち、図15において、N=M)とした。

0126

図14に示すRS−Transformerモデル20Aの最適化済モデルは、実施の形態1に従うTransformerモデル20の最適化済モデルに比較して、データサイズが47%まで低減された。

0127

図16は、実施の形態3における英日翻訳タスクについての評価結果を示すグラフである。図16(A)には、非特許文献2に示される関連技術に従う最適化処理により得られた最適化済モデルについてのBLUEスコアの評価結果を示し、図16(B)には、図15に示す手順に従う最適化処理により得られた最適化済モデルについてのBLUEスコアの評価結果を示す。

0128

図16(A)および図16(B)において、横軸「1」〜「6」は、最適化フェーズ(訓練時)における再帰処理の回数を示す。また、縦軸「1」〜「6」は、推論フェーズ(使用時)において使用するデコーダ40Aの再帰処理の回数を示す。推論フェーズにおいて使用するエンコーダ30Aの再帰処理の回数は、最適化フェーズと同じである。

0129

図16(A)および図16(B)に示すグラフにおいて、左上から右下にかけての対角線上の値は、推論フェーズ(使用時)において、最適化フェーズ(訓練時)と同じ回数の再帰処理を実行した場合の結果を示す。図16(A)および図16(B)に示すグラフの左下の部分は、デコーダ40Aの再帰処理の回数を最適化フェーズ(訓練時)よりも増やした場合を意味する。原理的には、このような処理も可能であるが、本来の目的である、処理の高速化の観点からは相反するため実際の評価は行っていない(「0.00」の値で示されている)。

0130

図16(A)および図16(B)に示すように、再帰処理の回数が増加するほど(紙面右側にゆくほど)、翻訳性能が向上していることが分かる。しかしながら、図16(A)に示すように、関連技術に従う最適化処理により得られた最適化済モデルにおいては、デコーダ40Aの再帰処理の回数を最適化フェーズ(訓練時)よりも減らした場合には、翻訳性能(BLUEスコア)が極端に劣化することが分かる。

0131

これに対して、図16(B)に示すように、図15に示す手順に従う最適化処理により得られた最適化済モデルによれば、デコーダ40Aの再帰処理の回数を最適化フェーズ(訓練時)よりも減らした場合であっても、翻訳性能の劣化はわずか(BLEUスコアで最大0.5ポイント)であり、非特許文献2に示される最適化済モデルと同等の翻訳性能を維持できていることが分かる。

0132

[G.ハードウェア構成]
次に、本実施の形態に従う最適化処理および推論処理を実現するためのハードウェア構成の一例について説明する。

0133

図17は、本実施の形態に従う最適化処理および推論処理を実現するハードウェア構成の一例を示す模式図である。本実施の形態に従う最適化処理および推論処理は、典型的には、コンピュータの一例である情報処理装置100を用いて実現される。

0134

図17を参照して、情報処理装置100は、主要なハードウェアコンポーネントとして、CPU(central processing unit)102と、GPU(graphics processing unit)104と、主メモリ106と、ディスプレイ108と、ネットワークインターフェイス(I/F:interface)110と、二次記憶装置112と、入力デバイス122と、光学ドライブ124とを含む。これらのコンポーネントは、内部バス128を介して互いに接続される。

0135

CPU102および/またはGPU104は、後述するような各種プログラムを実行することで、本実施の形態に従う最適化処理および推論処理を実現するプロセッサである。CPU102およびGPU104は、複数個配置されてもよいし、複数のコアを有していてもよい。

0136

主メモリ106は、プロセッサ(CPU102および/またはGPU104)が処理を実行するにあたって、プログラムコードやワークデータなどを一時的に格納(あるいは、キャッシュ)する記憶領域であり、例えば、DRAM(dynamic random access memory)やSRAM(static random access memory)などの揮発性メモリデバイスなどで構成される。

0137

ディスプレイ108は、処理に係るユーザインターフェイスや処理結果などを出力する表示部であり、例えば、LCD(liquid crystal display)や有機EL(electroluminescence)ディスプレイなどで構成される。

0138

ネットワークインターフェイス110は、インターネット上またはイントラネット上の任意の情報処理装置などとの間でデータを遣り取りする。ネットワークインターフェイス110としては、例えば、イーサネット登録商標)、無線LAN(local area network)、Bluetooth(登録商標)などの任意の通信方式を採用できる。

0139

入力デバイス122は、ユーザからの指示や操作などを受付けるデバイスであり、例えば、キーボードマウスタッチパネルペンなどで構成される。また、入力デバイス122は、学習およびデコーディングに必要な音声信号収集するための集音デバイスを含んでいてもよいし、集音デバイスにより収集された音声信号の入力を受付けるためのインターフェイスを含んでいてもよい。

0140

光学ドライブ124は、CD−ROM(compact disc read only memory)、DVD(digital versatile disc)などの光学ディスク126に格納されている情報を読出して、内部バス128を介して他のコンポーネントへ出力する。光学ディスク126は、非一過的(non-transitory)な記録媒体の一例であり、任意のプログラムを不揮発的に格納した状態で流通する。光学ドライブ124が光学ディスク126からプログラムを読み出して、二次記憶装置112などにインストールすることで、コンピュータが情報処理装置100として機能するようになる。したがって、本発明の主題は、二次記憶装置112などにインストールされたプログラム自体、または、本実施の形態に従う機能や処理を実現するためのプログラムを格納した光学ディスク126などの記録媒体でもあり得る。

0141

図17には、非一過的な記録媒体の一例として、光学ディスク126などの光学記録媒体を示すが、これに限らず、フラッシュメモリなどの半導体記録媒体ハードディスクまたはストレージテープなどの磁気記録媒体、MO(magneto-optical disk)などの光磁気記録媒体を用いてもよい。

0142

二次記憶装置112は、コンピュータを情報処理装置100として機能させるために必要なプログラムおよびデータを格納する。例えば、ハードディスク、SSD(solid state drive)などの不揮発性記憶装置で構成される。

0143

より具体的には、二次記憶装置112は、図示しないOS(operating system)の他、典型的には、最適化処理を実現するための最適化プログラム114と、推論処理を実現するための推論プログラム116と、最適化済モデルを規定するパラメタ118と、訓練データ120とを格納している。

0144

最適化プログラム114は、プロセッサ(CPU102および/またはGPU104)によって実行されることで、図3(A)に示すパラメタの最適化処理を実現する。また、推論プログラム116は、プロセッサ(CPU102および/またはGPU104)によって実行されることで、図3(B)に示す推論処理を実現する。

0145

プロセッサ(CPU102および/またはGPU104)がプログラムを実行する際に必要となるライブラリ機能モジュールの一部を、OSが標準で提供するライブラリまたは機能モジュールにより代替してもよい。この場合には、プログラム単体では、対応する機能を実現するために必要なプログラムモジュールのすべてを含むものにはならないが、OSの実行環境下にインストールされることで、目的の処理を実現できる。このような一部のライブラリまたは機能モジュールを含まないプログラムであっても、本発明の技術的範囲に含まれ得る。

0146

また、これらのプログラムは、上述したようないずれかの記録媒体に格納されて流通するだけでなく、インターネットまたはイントラネットを介してサーバ装置などからダウンロードすることで配布されてもよい。

0147

図17には、単一のコンピュータを用いて情報処理装置100を構成する例を示すが、これに限らず、コンピュータネットワークを介して接続された複数のコンピュータが明示的または黙示的連携して、情報処理装置100および情報処理装置100を含むシステムを実現するようにしてもよい。

0148

プロセッサ(CPU102および/またはGPU104)がプログラムを実行することで実現される機能の全部または一部を、集積回路などのハードワイヤード回路(hard-wired circuit)を用いて実現してもよい。例えば、ASIC(application specific integrated circuit)やFPGA(field-programmable gate array)などを用いて実現してもよい。

0149

業者であれば、本発明が実施される時代に応じた技術を適宜用いて、本実施の形態に従う情報処理装置100を実現できるであろう。

0150

説明の便宜上、同一の情報処理装置100を用いて、最適化処理および推論処理を実行する例を示したが、最適化処理および推論処理を異なるハードウェアを用いて実現してもよい。

0151

[H.まとめ]
本実施の形態に従う最適化方法によれば、ニューラルネットワークの最深層を含む複数の層の出力信号と正解出力信号とをそれぞれ比較して得られる誤差情報に基づいて、ニューラルネットワークのパラメタを最適化する。これによって、ニューラルネットワークの隠れ層から内部的に出力される出力信号を用いた場合であっても、最深層の出力信号に対して性能が極端に劣化するような事態を避けることができる。

0152

その結果、推論処理においては、最深層の出力信号を推論結果としなくても、最深層より浅い層の出力信号を推論結果として用いることも実用上可能となる。

0153

本実施の形態に従う最適化方法によれば、各層から比較的性能の高い出力信号を得られる最適化済モデルを生成できるので、要求仕様(例えば、出力信号の推論性能や出力信号が出力されるまでに要する時間など)に応じて、任意の層の出力信号を推論結果として利用できるので、処理の高速化に加えて、柔軟性の向上も実現できる。

0154

今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。

0155

1,10ニューラルネットワーク、2,36,46入力層、4,32,42隠れ層、6出力層、20,20Aモデル、30,30Aエンコーダ、40,40Aデコーダ、50経路、100情報処理装置、102 CPU、104 GPU、106主メモリ、108ディスプレイ、110ネットワークインターフェイス、112二次記憶装置、114最適化プログラム、116推論プログラム、118パラメタ、120訓練データ、122入力デバイス、124光学ドライブ、126光学ディスク、128内部バス。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ