(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-09
(45)【発行日】2025-07-17
(54)【発明の名称】学習装置、推定装置、学習方法、およびプログラム
(51)【国際特許分類】
G06F 40/35 20200101AFI20250710BHJP
G06F 40/216 20200101ALI20250710BHJP
G06N 3/08 20230101ALI20250710BHJP
G06N 20/00 20190101ALI20250710BHJP
【FI】
G06F40/35
G06F40/216
G06N3/08
G06N20/00 130
(21)【出願番号】P 2023541156
(86)(22)【出願日】2021-08-10
(86)【国際出願番号】 JP2021029544
(87)【国際公開番号】W WO2023017568
(87)【国際公開日】2023-02-16
【審査請求日】2023-11-29
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】NTT株式会社
(74)【代理人】
【識別番号】100121706
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】折橋 翔太
(72)【発明者】
【氏名】増村 亮
【審査官】長 由紀子
(56)【参考文献】
【文献】国際公開第2018/051841(WO,A1)
【文献】中国特許出願公開第112613312(CN,A)
【文献】増村 亮 外5名,対話コンテキストを考慮したニューラル通話シーン分割 Call Scene Segmentation based on Neural Networks,電子情報通信学会技術研究報告[online] IEICE Technical Report,日本,一般社団法人電子情報通信学会 The Institute of Ele,2019年01月31日,第118巻 第439号,pp.21-26
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-58
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
Qを2以上の整数の何れかとし、所定の単位で処理を行うQ個の機能を階層的に含むモデルである教師モデルを用いて、学習用データセットに含まれるテキストに対するラベルを推定する教師モデルラベル推定部と、
前記教師モデルと同じQ個の機能を階層的に含むモデルである生徒モデルを用いて、学習用データセットに含まれるテキストに対するラベルを推定する生徒モデルラベル推定部と、
前記学習用データセットに含まれるテキストに対する正解ラベルと、前記生徒モデルラベル推定部の推定結果とを用いて、ハードターゲット損失を求めるハードターゲット損失評価部と、
前記教師モデルラベル推定部の推定結果と前記生徒モデルラベル推定部の推定結果とを用いて、ソフトターゲット損失を求めるソフトターゲット損失評価部と、
前記ハードターゲット損失と前記ソフトターゲット損失から得られる損失を最適化するように生徒モデルのパラメータを更新するパラメータ更新部と、
qを1以上Q以下の整数の何れかとし、教師モデルのq番目の階層から得られる第qの中間特徴量と、生徒モデルのq番目の階層から得られる第qの中間特徴量とから第q損失を求める第q損失評価部を含み、
前記パラメータ更新部は、前記ハードターゲット損失と前記ソフトターゲット損失と第q損失とから得られる損失を最適化するように生徒モデルのパラメータを更新する、
学習装置。
【請求項2】
Qを2以上の整数の何れかとし、所定の単位で処理を行うQ個の機能を階層的に含むモデルである教師モデルを用いて、学習用データセットに含まれるテキストに対するラベルを推定する教師モデルラベル推定部と、
前記教師モデルと同じQ個の機能を階層的に含むモデルである生徒モデルを用いて、学習用データセットに含まれるテキストに対するラベルを推定する生徒モデルラベル推定部と、
前記学習用データセットに含まれるテキストに対する正解ラベルと、前記生徒モデルラベル推定部の推定結果とを用いて、ハードターゲット損失を求めるハードターゲット損失評価部と、
前記教師モデルラベル推定部の推定結果と前記生徒モデルラベル推定部の推定結果とを用いて、ソフトターゲット損失を求めるソフトターゲット損失評価部と、
前記ハードターゲット損失と前記ソフトターゲット損失から得られる損失を最適化するように生徒モデルのパラメータを更新するパラメータ更新部とを含み、
前記教師モデルおよび前記生徒モデルは、1番目の階層として短期文脈理解ネットワークを含み、2番目の階層として長期文脈理解ネットワークを含み、3番目の階層としてラベル予測ネットワークとを含み、
教師モデルの短期文脈理解ネットワークから得られる第一の中間特徴量と、生徒モデルの短期文脈理解ネットワークから得られる第二の中間特徴量とから短期文脈損失を求める短期文脈損失評価部と、
教師モデルの長期文脈理解ネットワークから得られる第三の中間特徴量と、生徒モデルの長期文脈理解ネットワークから得られる第四の中間特徴量とから長期文脈損失を求める長期文脈損失評価部と含み、
前記パラメータ更新部は、前記ハードターゲット損失と前記ソフトターゲット損失と前記短期文脈損失と前記長期文脈損失とから得られる損失を最適化するように生徒モデルのパラメータを更新する、
学習装置。
【請求項3】
請求項1から請求項
2の何れかの学習装置により学習済みの生徒モデルを用いる推定装置であって、
前記学習済みの生徒モデルを用いて、推定対象のテキストに対応するラベルを推定する推定部を含む、
推定装置。
【請求項4】
学習装置を用いた学習方法であって、
前記学習装置が、Qを2以上の整数の何れかとし、所定の単位で処理を行うQ個の機能を階層的に含むモデルである教師モデルを用いて、学習用データセットに含まれるテキストに対するラベルを推定する教師モデルラベル推定ステップと、
前記学習装置が、前記教師モデルと同じQ個の機能を階層的に含むモデルである生徒モデルを用いて、学習用データセットに含まれるテキストに対するラベルを推定する生徒モデルラベル推定ステップと、
前記学習装置が、前記学習用データセットに含まれるテキストに対する正解ラベルと、前記生徒モデルラベル推定ステップの推定結果とを用いて、ハードターゲット損失を求めるハードターゲット損失評価ステップと、
前記学習装置が、前記教師モデルラベル推定ステップの推定結果と前記生徒モデルラベル推定ステップの推定結果とを用いて、ソフトターゲット損失を求めるソフトターゲット損失評価ステップと、
前記学習装置が、前記ハードターゲット損失と前記ソフトターゲット損失から得られる損失を最適化するように生徒モデルのパラメータを更新するパラメータ更新ステップと、
前記学習装置が、qを1以上Q以下の整数の何れかとし、教師モデルのq番目の階層から得られる第qの中間特徴量と、生徒モデルのq番目の階層から得られる第qの中間特徴量とから第q損失を求める第q損失評価ステップと、を含み、
前記パラメータ更新ステップは、前記ハードターゲット損失と前記ソフトターゲット損失と第q損失とから得られる損失を最適化するように生徒モデルのパラメータを更新する、
学習方法。
【請求項5】
学習装置を用いた学習方法であって、
前記学習装置が、Qを2以上の整数の何れかとし、所定の単位で処理を行うQ個の機能を階層的に含むモデルである教師モデルを用いて、学習用データセットに含まれるテキストに対するラベルを推定する教師モデルラベル推定ステップと、
前記学習装置が、前記教師モデルと同じQ個の機能を階層的に含むモデルである生徒モデルを用いて、学習用データセットに含まれるテキストに対するラベルを推定する生徒モデルラベル推定ステップと、
前記学習装置が、前記学習用データセットに含まれるテキストに対する正解ラベルと、前記生徒モデルラベル推定ステップの推定結果とを用いて、ハードターゲット損失を求めるハードターゲット損失評価ステップと、
前記学習装置が、前記教師モデルラベル推定ステップの推定結果と前記生徒モデルラベル推定ステップの推定結果とを用いて、ソフトターゲット損失を求めるソフトターゲット損失評価ステップと、
前記学習装置が、前記ハードターゲット損失と前記ソフトターゲット損失から得られる損失を最適化するように生徒モデルのパラメータを更新するパラメータ更新ステップとを含み、
前記教師モデルおよび前記生徒モデルは、1番目の階層として短期文脈理解ネットワークを含み、2番目の階層として長期文脈理解ネットワークを含み、3番目の階層としてラベル予測ネットワークとを含み、
前記学習装置が、教師モデルの短期文脈理解ネットワークから得られる第一の中間特徴量と、生徒モデルの短期文脈理解ネットワークから得られる第二の中間特徴量とから短期文脈損失を求める短期文脈損失評価ステップと、
前記学習装置が、教師モデルの長期文脈理解ネットワークから得られる第三の中間特徴量と、生徒モデルの長期文脈理解ネットワークから得られる第四の中間特徴量とから長期文脈損失を求める長期文脈損失評価ステップと含み、
前記パラメータ更新ステップは、前記ハードターゲット損失と前記ソフトターゲット損失と前記短期文脈損失と前記長期文脈損失とから得られる損失を最適化するように生徒モデルのパラメータを更新する、
学習方法。
【請求項6】
請求項1から請求項
2の何れかの学習装置としてコンピュータを機能させるためのプログラム。
【請求項7】
請求項3の推定装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テキスト系列を入力とし、テキスト系列に対応するラベルを出力する発話系列ラベリング技術に関する。
【背景技術】
【0002】
近年、会話や談話の理解を目的に、発話系列を入力として、発話毎に会話や談話の応対シーンに相当するラベルを推定する、発話系列ラベリングの技術が提案されている。
【0003】
例えば非特許文献1では、コンタクトセンタにおけるオペレータとカスタマの音声認識結果のテキストを入力として、発話毎にオープニング、用件把握、本人確認、対応、クロージングのいずれかの応対シーンのラベルを推定する発話系列ラベリングを実現するための深層ニューラルネットワークによるモデル(以下、「ラベリングモデル」ともいう)の構成を提供する。非特許文献1によれば、ラベリングモデルは
図1の模式図のように構成され、単語単位の短期文脈を理解するネットワーク(以下、「短期文脈理解ネットワーク」ともいう)と、文単位の長期文脈を理解するネットワーク(以下、「長期文脈理解ネットワーク」ともいう)を積層し、得られる中間的な特徴を、ラベルを予測するネットワーク(以下、「ラベル予測ネットワーク」ともいう)に入力して、応対シーンのラベルを推定する。
【0004】
非特許文献1のようなラベリングモデルにおいて高い分類精度の発話系列ラベリングを実現するためには、短期文脈理解ネットワークと長期文脈理解ネットワークのそれぞれについて、学習可能なパラメータ数を多くする必要がある。そのようなラベリングモデルを用いた推論には、潤沢な計算環境が要求されるが、特にモバイル環境や、複数の推論を同時並列で実行する環境などでは、計算環境を潤沢に用意することは困難である。ここで、学習可能なパラメータが多く分類精度が高いモデル(以下、「教師モデル」ともいう)に獲得された知識を用いて、学習可能なパラメータが少なく軽量なモデル(以下、「生徒モデル」ともいう)を効率的に学習する、知識蒸留技術が提案されている。
【0005】
例えば、非特許文献2によれば、
図2に模式的に示される通り、生徒モデルを学習するために、生徒モデルの出力する確率分布を正解ラベルの確率分布に近づけるための損失(以下、「ハードターゲット損失」ともいう)を用いるのに加えて、生徒モデルの出力する確率分布を教師モデルの出力する確率分布に近づけるための損失(以下、「ソフトターゲット損失」ともいう)を用いる。これにより、生徒モデルが教師モデルを模倣するよう学習することができ、教師モデルの持つ知識を生徒モデルに蒸留する知識蒸留が実現できる。
【先行技術文献】
【非特許文献】
【0006】
【文献】R. Masumura, S. Yamada, T. Tanaka, A. Ando, H. Kamiyama, and Y. Aono, "Online call scene segmentation of contact center dialogues based on role aware hierarchical LSTM-RNNs", Proceedings of the Asia-Pacific Signal and Information Processing Association Annual Summit and Conference (APSIPA ASC), pp. 811-815, 2018.
【文献】G. Hinton, O. Vinyals, and J. Dean, "Distilling the knowledge in a neural network", Proceedings of the Deep Learning and Representation Learning Workshop, NIPS, 2014.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、非特許文献2の方法は知識蒸留技術を単純な分類問題に適用したものであり、非特許文献1のような複雑なコンテキストを考慮した複雑な分類問題に対して知識蒸留技術を適用した構成は考えられていない。
【0008】
本発明は、複雑なコンテキストを考慮した複雑な分類問題に対して知識蒸留技術を適用する学習装置、推定方法、学習方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、本発明の一態様によれば、学習装置は、Qを2以上の整数の何れかとし、所定の単位で処理を行うQ個の機能を階層的に含むモデルである教師モデルを用いて、学習用データセットに含まれるテキストに対するラベルを推定する教師モデルラベル推定部と、教師モデルと同じQ個の機能を階層的に含むモデルである生徒モデルを用いて、学習用データセットに含まれるテキストに対するラベルを推定する生徒モデルラベル推定部と、学習用データセットに含まれるテキストに対する正解ラベルと、生徒モデルラベル推定部の推定結果とを用いて、ハードターゲット損失を求めるハードターゲット損失評価部と、教師モデルラベル推定部の推定結果と生徒モデルラベル推定部の推定結果とを用いて、ソフトターゲット損失を求めるソフトターゲット損失評価部と、ハードターゲット損失とソフトターゲット損失から得られる損失を最適化するように生徒モデルのパラメータを更新するパラメータ更新部と、を含む。
【発明の効果】
【0010】
本発明によれば、複雑なコンテキストを考慮した複雑な分類問題に対して知識蒸留を実現し、高い分類精度の生徒モデルを学習できるという効果を奏する。
【図面の簡単な説明】
【0011】
【
図3】第一実施形態に係る推定システムの構成例を示す図。
【
図13】本手法を適用するコンピュータの構成例を示す図。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。以下の説明において、テキスト中で使用する記号「~」「-」等は、本来直後の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直前に記載する。式中においてはこれらの記号は本来の位置に記述している。また、ベクトルや行列の各要素単位で行われる処理は、特に断りが無い限り、そのベクトルやその行列の全ての要素に対して適用されるものとする。
【0013】
<第一実施形態のポイント>
本実施形態のポイントは、知識蒸留技術を発話系列ラベリング問題に適用する点である。従来、機械翻訳モデルやBERT(Bidirectional Encoder Representations from Transformers)のモデル軽量化を目的とする知識蒸留技術は多く検討されていたが、本実施形態はこれを初めて発話系列ラベリングの問題に適用したものである。本実施形態では、教師モデルが多段処理を行う構成になっており、生徒モデルもその多段処理の構成を維持したまま、知識蒸留を行う。本実施形態では、知識蒸留によりモデル軽量化を実施することで、特に計算環境を潤沢に用意することが困難な状況においても、高い分類精度でラベリングを実現することができる。
【0014】
<第一実施形態>
以下、非特許文献1のような、コンタクトセンタにおける発話テキスト系列を入力とし、応対シーンに相当するラベルを出力する発話系列ラベリングのためのニューラルネットワークへの、モデル軽量化を目的とする知識蒸留を例に説明する。しかし、本実施形態は、コンタクトセンタの発話テキスト系列や、応対シーンの発話系列ラベリングに限定されるものではない。つまり、文脈の考慮が必要な任意の系列ラベリング問題に対して適用できるものである。テキストの系列が与えられたときに、その文ごと、または特定の単位ごとにラベルを付与する問題に適用することができる。例えば、以下のようなニューラルネットワークに適用することができる。
【0015】
・入力層が、テキスト(またはそのベクトル表現など、それと同等の情報を持つもの)を受け付けるようになっている。
【0016】
・出力層が、ラベルの推定結果に対応している。
【0017】
・中間層が、多段階の処理をしている、又は、トランスフォーマーエンコーダーのような、文脈を扱えるといわれているものを使用している(参考文献1参照)。
【0018】
(参考文献1)Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin, "Atention is All you need", 31st Conference on Neural Information Processing Systems (NIPS 2017), Long Beach, CA, USA, 2017
さらに、本実施形態は、教師モデルよりも生徒モデルの方が学習可能なパラメータの数が少ない状況に限定されるものではなく、教師モデルよりも生徒モデルの方が学習可能なパラメータの数が多い、または等しい状況でもよい。なお、パラメータの数が多い、または等しい状況(サイズが同等な)で、なおかつ「潤沢な計算環境が要求される」という従来技術の課題を解決できる構成とは、「教師モデルが複数あって、それらから1つの生徒モデルを学習する場合」等が想定される。
【0019】
<推定システム>
図3は第一実施形態に係る推定システムの構成例を示す図である。
【0020】
推定システムは、学習装置100と推定装置200とを含む。
【0021】
学習装置100は、学習用データセットD=(X,-P)と教師モデルTMとを入力とし、知識蒸留技術により、生徒モデルSMが教師モデルTMを模倣するよう学習し、学習済みの生徒モデルSMを出力する。学習用データセットD=(X,-P)は、発話テキスト系列Xn=(xn,1,xn,2,…,xn,T_n)と、発話テキスト系列Xnの各発話テキストxn,tに対応する正解ラベル-pn,tの系列-Pn=(-pn,1,-pn,2,…,-pn,T_n)の組を1通話分の通話データとして、それを多量(N通話分)に収集することで構成されるデータセットであり、X=(X1,X2,…,XN)、-P=(-P1,-P2,…,-PN)である。nを通話データのインデックスとし、n=1,2,…,Nとする。また、発話テキストxn,tは通話データnに含まれるt番目の発話データを意味し、添え字のA_BはABを意味し、Tnは通話データnに含まれる発話テキストの数であり、t=1,2,…,Tnである。
【0022】
推定装置200は、予め学習済みの生徒モデルSMを受け取り、推定対象の1つ以上のテキスト系列を含む通話データXtestを入力とし、対応するラベル系列を推定し、推定したラベル系列Ptestを出力する。
【0023】
学習装置100および推定装置200は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。学習装置100および推定装置200は、例えば、中央演算処理装置の制御のもとで各処理を実行する。学習装置100および推定装置200に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。学習装置100および推定装置200の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。学習装置100および推定装置200が備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。ただし、各記憶部は、必ずしも学習装置100および推定装置200がその内部に備える必要はなく、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置により構成し、学習装置100および推定装置200の外部に備える構成としてもよい。
【0024】
まず、学習装置100について説明する。
【0025】
<学習装置100の処理概要>
学習処理では、学習可能なパラメータが少なく軽量な生徒モデルを効率的に学習するために、学習可能なパラメータが多く分類精度が高い教師モデルに獲得された知識を用いる。
【0026】
ここで、学習可能なパラメータ数は、短期文脈理解ネットワークや長期文脈理解ネットワークをLSTM(long-short term memory、長短期記憶)や全結合ニューラルネットワークにより構成する場合、その層数や中間出力次元数等により定義されるものである。
【0027】
また、学習可能なパラメータ数は、例えば短期文脈理解ネットワークや長期文脈理解ネットワークをTransformerエンコーダブロックにより構成する場合、そのブロック数や、各ブロックの全結合ニューラルネットワークにおける中間出力次元数、マルチヘッド注意のヘッド数、および出力次元数等により定義されるものである。
【0028】
さらに、学習可能なパラメータ数は、ラベル予測ネットワークを全結合ニューラルネットワークにより構成する場合、その層数や中間出力次元数等により定義されるものである。
【0029】
要するに、教師モデルと生徒モデルは、
図1に示されるような短期文脈理解ネットワーク、長期文脈理解ネットワーク、ラベル予測ネットワークによる「階層的な構造」は共通するが、それぞれのネットワークのパラメータ数が異なることで、モデルのサイズが異なる想定である。ここで言う「階層的な構造」とは、単なるニューラルネットワークを意味するのではなく、所定の単位での処理を行う機能を複数含む構造を意味する。所定の単位での処理を行う機能は処理の単位に意図を持っており、例えば、長期文脈理解ネットワークは、文間の長期文脈の理解を意図して文書単位の処理を行い、短期文脈理解ネットワークは、文内の短期文脈の理解を意図して文単位の処理を行う。
【0030】
学習処理では、
図4に模式的に示される2つの損失の結合により定義される損失を用いて、生徒モデルを学習する。ここで、教師モデルは学習対象でなく、パラメータは固定する。
【0031】
ハードターゲット損失は、生徒モデルの出力する確率分布を正解ラベルの確率分布に近づけるための損失である。
【0032】
ソフトターゲット損失は、生徒モデルの出力する確率分布を教師モデルの出力する確率分布に近づけるための損失である。
【0033】
学習処理では、ハードターゲット損失とソフトターゲット損失を、例えば一定の比率で線形結合した損失関数を最適化するように、学習用データセットを用いて誤差逆伝播法などにより学習すればよい。
【0034】
次に、上記の処理を実施するための学習装置の構成例について説明する。
【0035】
<学習装置100>
図5は第一実施形態に係る学習装置100の機能ブロック図を、
図6はその処理フローを示す。
図7は、学習装置100の処理概要を説明するための図である。
【0036】
学習装置100は、教師モデルラベル推定部110、生徒モデルラベル推定部120、ハードターゲット損失評価部130、ソフトターゲット損失評価部140およびパラメータ更新部150を含む。
【0037】
<教師モデルラベル推定部110>
教師モデルラベル推定部110は、予め教師モデルTMを受け取る。教師モデルTMは、ニューラルネットワークによる階層的なモデルであり、本実施形態では短期文脈理解ネットワークと、長期文脈理解ネットワークと、ラベル予測ネットワークとを含む。
【0038】
教師モデルラベル推定部110は、階層的なモデルである教師モデルTMを用いて、学習用データセットDに含まれるN通話分の通話データに含まれるN個の発話テキスト系列Xn(n=1,2,…,N)を受け取り、発話テキスト系列Xnに含まれる発話テキストxn,tに対するラベルを推定し(S110)、推定結果である確率分布~zn,t(n=1,2,…,N、t=1,2,…,Tn、Tnは発話テキスト系列Xnに含まれる発話テキストの数)を出力する。例えば、以下のように処理を行う。
【0039】
教師モデルラベル推定部110は、短期文脈理解ネットワークを用いて発話テキスト系列Xnに含まれる発話テキストxn,tに対する中間特徴量~sn,t
(~L)を取得する(S110A)。ただし、~Lは教師モデルの短期文脈理解ネットワークのレイヤーの数を示す。なお、短期文脈理解ネットワークは、単語単位の短期文脈を理解するニューラルネットワークであり、どんな内容の発話をしたかを文内で捉える。中間特徴量~sn,t
(~L)には単語単位の短期文脈を理解するための特徴が含まれる。
【0040】
次に、教師モデルラベル推定部110は、長期文脈理解ネットワークを用いて中間特徴量~sn,t
(~L)に対する中間特徴量~un,t
(~M)を取得する(S110B)。ただし、~Mは教師モデルの長期文脈理解ネットワークのレイヤーの数を示す。なお、長期文脈理解ネットワークは、文単位の長期文脈を理解するニューラルネットワークであり、発話の時系列性を捉えることで、話題の流れに追随する。中間特徴量~un,t
(~M)には文単位の長期文脈を理解するための特徴が含まれる。
【0041】
さらに、教師モデルラベル推定部110は、ラベル予測ネットワークを用いて中間特徴量~u
n,t
(~M)に対するラベルを予測し(S110C)、予測の確率分布~z
n,tを出力する。ラベル予測ネットワークはラベルを予測するニューラルネットワークである。本実施形態では、ラベル予測ネットワークの出力層は、温度付きソフトマックス関数を含み、教師モデルラベル推定部110は、温度付きソフトマックス関数の出力である確率分布~z
n,tを出力する。なお、
図7の~v
tはラベル予測ネットワークの出力層の一つ前の全結合層の出力である。
【0042】
<生徒モデルラベル推定部120>
生徒モデルラベル推定部120は、予め生徒モデルSMを初期化しておく。ニューラルネットワークの初期化方法としては既存の技術を用いることができる。生徒モデルSMは、教師モデルTMと同様に、ニューラルネットワークによる階層的なモデルであり、本実施形態では短期文脈理解ネットワークと、長期文脈理解ネットワークと、ラベル予測ネットワークとを含む。
【0043】
生徒モデルラベル推定部120は、階層的なモデルである生徒モデルSMを用いて、学習用データセットDに含まれるN通話分の通話データに含まれるN個の発話テキスト系列Xn(n=1,2,…,N)を受け取り、発話テキスト系列Xnに含まれる発話テキストxn,tに対するラベルを推定し(S120)、推定結果である確率分布pn,t,zn,t(n=1,2,…,N、tn=1,2,…,Tn)を出力する。例えば、以下のように処理を行う。
【0044】
生徒モデルラベル推定部120は、短期文脈理解ネットワークを用いて発話テキスト系列Xnに含まれる発話テキストxn,tに対する中間特徴量sn,t
(L)を取得する(S120A)。ただし、Lは生徒モデルの短期文脈理解ネットワークのレイヤーの数を示す。例えば、L≦~Lとする。
【0045】
次に、生徒モデルラベル推定部120は、長期文脈理解ネットワークを用いて中間特徴量sn,t
(L)に対する中間特徴量un,t
(M)を取得する(S120B)。ただし、Mは生徒モデルの長期文脈理解ネットワークのレイヤーの数を示す。例えば、M≦~Mとする。
【0046】
さらに、生徒モデルラベル推定部120は、ラベル予測ネットワークを用いて中間特徴量u
n,t
(M)に対するラベルを予測し(S120C)、予測の確率分布p
n,t、z
n,tを出力する。生徒モデルラベル推定部120のラベル予測ネットワークの出力層は、ソフトマックス関数と温度付きソフトマックス関数とを含み、生徒モデルラベル推定部120は、ソフトマックス関数の出力である確率分布p
n,tと温度付きソフトマックス関数の出力である確率分布z
n,tとを出力する。なお、
図7のv
tはラベル予測ネットワークの出力層の一つ前の全結合層の出力である。
【0047】
<ハードターゲット損失評価部130>
ハードターゲット損失評価部130は、正解ラベル
-p
n,tの系列
-P
n=(
-p
n,1,
-p
n,2,…,
-p
n,T_n)と、生徒モデルによる予測の確率分布
-p
n,1,p
n,2,…,p
n,T_n(n=1,2,…,N)とを受け取り、ハードターゲット損失L
HTを求め(S130)、出力する。正解ラベルから得られる確率分布と予測の確率分布の距離はクロスエントロピー損失等の任意の損失関数を用いて評価すればよい。例えば、次式により、ハードターゲット損失L
HTを求める。
【数1】
ただし、Yは取りうるラベルの集合であり、yはラベルの集合に含まれるラベルであり、
-p
n,t,yは正解ラベル
-p
n,tから得られる確率であり、通話データnに含まれるt番目の発話テキストx
n,tのラベルがyである確率である。つまり、正解ラベルと一致するラベルに対応する確率
-p
n,t,yは100%であり、その他のラベルに対応する確率
-p
n,t,yは0%である。p
n,t,yは予測の確率分布p
n,tに含まれる確率であり、通話データnに含まれるt番目の発話テキストx
n,tのラベルがyである確率である。
【0048】
<ソフトターゲット損失評価部140>
ソフトターゲット損失評価部140は、教師モデルによる予測の確率分布~z
n,1,~z
n,2,…,~z
n,T_nと、生徒モデルによる予測の確率分布z
n,1,z
n,2,…,z
n,T_n(n=1,2,…,N)とを受け取り、ソフトターゲット損失L
STを求め(S140)、出力する。2つの確率分布の距離はクロスエントロピー損失や平均二乗誤差等の任意の損失関数を用いて評価すればよい。例えば、次式により、ソフトターゲット損失L
STを求める。
【数2】
なお、τは温度付きソフトマックス関数のパラメータである。
【0049】
<パラメータ更新部150>
パラメータ更新部150は、ハードターゲット損失LHTとソフトターゲット損失LSTを受け取り、ハードターゲット損失LHTとソフトターゲット損失LSTから得られる損失Lを最適化するように生徒モデルのパラメータを更新する(S150)。例えば、次式により、ハードターゲット損失LHTとソフトターゲット損失LSTを一定の比率で線形結合した損失関数Lを求める。
【0050】
L=LHT+λLST
ただし、λはハードターゲット損失とソフトターゲット損失の結合の比率を示すパラメータである。パラメータ更新部150は、損失関数Lを最適化するように、生徒モデルのパラメータを更新する。例えば、学習装置100は、学習用データセットDを用いて誤差逆伝播法などにより学習すればよい。比率λは、学習スケジュールを事前に定義し、それに基づいて学習のステップ数に応じて変更しながら学習してもよい。例えば、学習の序盤はソフトターゲット損失LSTのみを用いて学習し、徐々にハードターゲット損失LHTを与えるように学習してもよい。
【0051】
パラメータ更新部150は、所定の条件を満たすまで、更新したパラメータを生徒モデルラベル推定部120に出力し、S120、S130、S140、S150を繰り返す(S150-2のNO)。所定の条件とは、例えば、繰り返し回数が所定の回数を超えることや、更新前後のパラメータの差分が所定の閾値以下であること等であり、要は、パラメータの更新が収束したか否かを判定するための条件である。
【0052】
次に、推定装置200について説明する。
【0053】
<推定装置200>
図8は第一実施形態に係る推定装置200の機能ブロック図を、
図9はその処理フローを示す。
【0054】
推定装置200は、推定部210を含む。
【0055】
推定部210は、予め学習済みの生徒モデルSMを受け取る。
【0056】
推定部210は、推定対象の1つ以上のテキスト系列を含む通話データXtestを入力とし、生徒モデルSMを用いて、通話データXtestの各発話テキストに対応するラベルを順に推定し(S210)、推定したラベル系列Ptestを出力する。
【0057】
<効果>
以上の構成により、複雑なコンテキストを考慮した複雑な分類問題に対して知識蒸留を実現し、高い分類精度の生徒モデルを学習できるという効果を奏する。
【0058】
<変形例>
本実施形態では、発話テキストを処理対象としているが、必ずしも発話に基づくテキストに限られない。例えば、チャットやメール、各種SNS等で用いられる発話を伴わないテキストでのやり取りを含むテキスト系列に対して適用可能である。
【0059】
<第二実施形態のポイント>
本実施形態のポイントは、以下の2点である。
【0060】
1.生徒モデルの長期文脈理解ネットワークが、教師モデルの長期文脈理解ネットワークを模倣するように学習する。
【0061】
2.生徒モデルの短期文脈理解ネットワークが、教師モデルの短期文脈理解ネットワークを模倣するように学習する。
【0062】
上述の1.により、生徒モデルの長期文脈理解ネットワークが出力する長期文脈の中間特徴が、教師モデルの長期文脈理解ネットワークが出力する長期文脈の中間特徴に近づくように学習する。これにより、生徒モデルの長期文脈理解ネットワークが、教師モデルの長期文脈理解ネットワークを模倣するように学習できることから、各ラベルの確率分布のみを模倣する場合に比べて、より精緻に生徒モデルが教師モデルを模倣でき、生徒モデルの分類精度向上に繋がる。
【0063】
上述の2.により、生徒モデルの短期文脈理解ネットワークが出力する短期文脈の中間特徴が、教師モデルの短期文脈理解ネットワークが出力する短期文脈の中間特徴に近づくように学習する。これにより、生徒モデルの短期文脈理解ネットワークが、教師モデルの短期文脈理解ネットワークを模倣するように学習できることから、発話テキストの内容に対する、短期文脈理解ネットワークの頑健性が向上し、生徒モデルの分類精度向上に繋がる。
【0064】
第一実施形態では、非特許文献2により実現されるような知識蒸留技術を、非特許文献1に示される発話系列ラベリング問題のためのラベリングモデルに導入することにより、教師モデルに獲得された知識を用いて、軽量な生徒モデルを効率的に学習できる。
【0065】
しかし、非特許文献2の方法は、単純な分類問題に適用したものであり、中間特徴の知識を効率的に蒸留することができない場合がある。
【0066】
そこで、本実施形態では、複雑なコンテキストを考慮した発話系列ラベリング問題に対して、中間特徴の知識を効率的に教師モデルから蒸留することで、高い分類精度の生徒モデルを学習する。
【0067】
本実施形態では、非特許文献2のような知識蒸留を、複雑なコンテキストを考慮した発話系列ラベリングのためのラベリングネットワークに導入するために、生徒モデルが出力する長期文脈の中間特徴および短期文脈の中間特徴が、教師モデルのそれらを模倣するように学習することで、中間特徴の知識を教師モデルから効率的に蒸留する。
【0068】
<第二実施形態>
第一実施形態と異なる部分を中心に説明する。
【0069】
<推定システム>
図3は第二実施形態に係る推定システムの構成例を示す図である。
【0070】
推定システムは、学習装置300と推定装置200とを含む。
【0071】
第二実施形態は、第一実施形態と学習処理の内容が異なる。
【0072】
<学習装置300の処理概要>
第二実施形態における学習処理では、
図10に模式的に示される4つの損失の結合により定義される損失を用いて、生徒モデルを学習する。ハードターゲット損失とソフトターゲット損失は、第一実施形態と共通である。
【0073】
長期文脈損失は、生徒モデルの長期文脈理解ネットワークが出力する長期文脈の中間特徴が、教師モデルの長期文脈理解ネットワークが出力する長期文脈の中間特徴を模倣するように学習するための損失関数である。なお、生徒モデルと教師モデルで長期文脈理解ネットワークの出力次元数が異なる場合は、
図11に模式的に示されるように、例えば教師モデルの長期文脈理解ネットワークの出力に、次元数を揃えるための全結合層を分岐して設け、次元数を揃えるための全結合層が出力する特徴と、生徒モデルの長期文脈理解ネットワークが出力する長期文脈の中間特徴が近づくように、生徒モデルと、次元数を揃えるための全結合層を学習しても良い。
【0074】
短期文脈損失は、生徒モデルの短期文脈理解ネットワークが出力する短期文脈の中間特徴が、教師モデルの短期文脈理解ネットワークが出力する短期文脈の中間特徴を模倣するように学習するための損失関数である。なお、生徒モデルと教師モデルで短期文脈理解ネットワークの出力次元数が異なる場合は、
図11に模式的に示されるように、例えば教師モデルの短期文脈理解ネットワークの出力に、次元数を揃えるための全結合層を分岐して設け、次元数を揃えるための全結合層の出力する特徴と、生徒モデルの短期文脈理解ネットワークが出力する短期文脈の中間特徴が近づくように、生徒モデルと、次元数を揃えるための全結合層を学習しても良い。
【0075】
第二実施形態における学習処理では、ハードターゲット損失とソフトターゲット損失、長期文脈損失、短期文脈損失を、例えば一定の比率で線形結合した損失関数を最適化するように、学習用データセットを用いて誤差逆伝播法などにより学習すればよい。
【0076】
次に、上記の処理を実施するための学習装置の構成例について説明する。
【0077】
<学習装置300>
図5は第二実施形態に係る学習装置300の機能ブロック図を、
図6はその処理フローを示す。
図7は、学習装置300の処理概要を説明するための図である。
【0078】
学習装置300は、教師モデルラベル推定部110、生徒モデルラベル推定部120、ハードターゲット損失評価部130、ソフトターゲット損失評価部140、短期文脈損失評価部360、長期文脈損失評価部370およびパラメータ更新部350を含む。
【0079】
<短期文脈損失評価部360>
短期文脈損失評価部360は、中間特徴量~s
n,t
(~L)、s
n,t
(L)を受け取り(n=1,2,…,N、t=1,2,…,T
n)、短期文脈損失L
UCを求め(S360)、出力する。2つの中間特徴の距離は、平均二乗誤差等の任意の損失関数を用いて評価すればよい。例えば、次式により、短期文脈損失L
UCを求める。
【数3】
中間特徴量は、短期文脈理解ネットワークを構成する層のいずれか一層の中間特徴量を用いればよく、必ずしも、短期文脈理解ネットワークの出力である必要はない。
【0080】
<長期文脈損失評価部370>
長期文脈損失評価部370は、中間特徴量~u
n,t
(~M)、u
n,t
(M)を受け取り(n=1,2,…,N、t=1,2,…,T
n)、長期文脈損失L
DCを求め(S370)、出力する。2つの中間特徴の距離は、平均二乗誤差等の任意の損失関数を用いて評価すればよい。例えば、次式により、長期文脈損失L
DCを求める。
【数4】
中間特徴量は、長期文脈理解ネットワークを構成する層のいずれか一層の中間特徴量を用いればよく、必ずしも、長期文脈理解ネットワークの出力である必要はない。
【0081】
<パラメータ更新部350>
パラメータ更新部350は、ハードターゲット損失LHTとソフトターゲット損失LSTと短期文脈損失LUCと長期文脈損失LDCを受け取り、次式により、ハードターゲット損失LHTとソフトターゲット損失LSTと短期文脈損失LUCと長期文脈損失LDCを一定の比率で線形結合した損失関数Lを求める。
【0082】
L=LHT+λLST+αLUC+βLDC
ただし、λ、α、βは、ハードターゲット損失とソフトターゲット損失と短期文脈損失と長期文脈損失の結合の比率を示すパラメータである。パラメータ更新部350は、損失関数Lを最適化するように、生徒モデルのパラメータを更新する(S350)。例えば、学習装置300は、学習用データセットDを用いて誤差逆伝播法などにより学習すればよい。比率λ、α、βは、学習スケジュールを事前に定義し、それに基づいて学習のステップ数に応じて変更しながら学習してもよい。例えば、学習の序盤は短期文脈損失のみを用いて学習し、徐々に長期文脈損失、ソフトターゲット損失、ハードターゲット損失を、この順で与えるように学習してもよい。
【0083】
なお、前述の通り、
図11のように、次元数を揃えるための全結合層を設けた場合には、全結合層のパラメータも合わせて更新する。
【0084】
パラメータ更新部350は、所定の条件を満たすまで、更新したパラメータを生徒モデルラベル推定部120に出力し、S120-S140、S360、S370、S350を繰り返す(S150-2のNO)。
【0085】
<効果>
このような構成とすることで、複雑なコンテキストを考慮した発話系列ラベリング問題において、短期文脈の特徴および長期文脈の特徴を捉える能力が高い教師モデルを、生徒モデルがより精緻に模倣できる。これにより、教師モデルに獲得されている知識を生徒モデルにより効率的に蒸留することが可能となることから、生徒モデルのラベリング精度を高めることができる。「短期文脈の特徴」は、1文を1つのベクトルにより表現しており、その情報を教師モデルと生徒モデルで近くなるように学習することで、文の特徴の表現方法をそのまま模倣することができる。また、「長期文脈の特徴」は、話題の流れを1つのベクトルにより表現しており、その情報を教師モデルと生徒モデルで近くなるように学習することで、話題の流れの表現方法をそのまま模倣することができる。
【0086】
<検証実験結果>
コンタクトセンタにおける発話テキスト系列を入力とし、応対シーンに相当するラベルを出力する発話系列ラベリングのタスクに対して、検証実験を行った。日本語のコンタクトセンタにおける疑似的な応対データを用い、学習用データセットのデータ数は327通話、テスト用データセットのデータ数は37通話とした。分類対象は、オープニング、用件把握、本人確認、対応、クロージングの5つのラベルとした。教師モデルのパラメータ数は13.11M、生徒モデルのパラメータ数は3.65Mとし、生徒モデルを単にスクラッチで学習するベースラインと、第一実施形態、第二実施形態による学習方法を用いて学習する方法で、各応対シーンの分類精度を比較した。
【0087】
なお、第二実施形態では、短期文脈損失および長期文脈損失のいずれかを用いない場合も比較した。評価には、完全一致による正解率を用いた。検証実験の結果を、
図12に示す。
図12より、特に第二実施形態を適用することにより、軽量な生徒モデルであっても、教師モデルに近い分類精度が得られることが分かる。
【0088】
<変形例>
本実施形態のように、長期文脈理解ネットワーク、短期文脈理解ネットワークのように階層化されている場合は、各階層の中間特徴を比較すればよい。本実施形態では、長期文脈理解ネットワークと短期文脈理解ネットワークとの2階層であるが、3階層以上にも本実施形態を適用することができる。教師モデル、生徒モデルを構成するネットワークをQ個の機能ごとの階層(ブロック)に分けた際の、階層(ブロック)を構成するいずれかの層の出力を、Q個以上比較し、Q個以上の損失を計算し、Q個以上の損失を結合して最終的な損失を求め、最終的な損失を最適化するように、生徒モデルのパラメータを更新すればよい。なお、計算する損失の個数がQを超える場合、Q+1個目以上の比較対象は、どのブロックのものでもよい。言い換えると、計算する損失の個数がQを超える場合、1つのブロックから2つ以上の比較対象(中間特徴)を取り出し、Q個ブロックから合計でQ+1個以上の比較対象を取り出してもよい。
【0089】
また、検証実験で説明したように、短期文脈損失評価部360と長期文脈損失評価部370の何れか一方のみを有する構成としてもよく、Q個のタスクごとの階層(ブロック)に分けた際の、階層(ブロック)を構成するいずれかの層の出力を、1個以上比較し、1個以上の損失を計算し、1個以上の損失を結合して最終的な損失を求め、最終的な損失を最適化するように、生徒モデルのパラメータを更新してもよい。
【0090】
<その他の変形例>
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【0091】
<プログラム及び記録媒体>
上述の各種の処理は、
図13に示すコンピュータの記憶部2020に、上記方法の各ステップを実行させるプログラムを読み込ませ、制御部2010、入力部2030、出力部2040などに動作させることで実施できる。
【0092】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0093】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0094】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0095】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【0096】
<変形例>
上記実施形態でCPUがソフトウェア(プログラム)を読み込んで実行したプログラムを、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、プログラムを、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0097】
また、上記実施形態では、プログラムがストレージに予め記憶(インストール)されているものといて説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【0098】
以上の実施形態に関し、更に以下の付記を開示する。
【0099】
(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
Qを2以上の整数の何れかとし、所定の単位で処理を行うQ個の機能を階層的に含むモデルである教師モデルを用いて、学習用データセットに含まれるテキストに対するラベルを推定する教師モデルラベル推定処理を実行し、
前記教師モデルと同じQ個の機能を階層的に含むモデルである生徒モデルを用いて、学習用データセットに含まれるテキストに対するラベルを推定する生徒モデルラベル推定処理を実行し、
前記学習用データセットに含まれるテキストに対する正解ラベルと、前記生徒モデルラベル推定処理の推定結果とを用いて、ハードターゲット損失を求め、
前記教師モデルラベル推定処理の推定結果と前記生徒モデルラベル推定処理の推定結果とを用いて、ソフトターゲット損失を求め、
前記ハードターゲット損失と前記ソフトターゲット損失から得られる損失を最適化するように生徒モデルのパラメータを更新する、
学習装置。
【0100】
(付記項2)
学習処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記学習処理は、
Qを2以上の整数の何れかとし、所定の単位で処理を行うQ個の機能を階層的に含むモデルである教師モデルを用いて、学習用データセットに含まれるテキストに対するラベルを推定する教師モデルラベル推定処理を実行し、
前記教師モデルと同じQ個の機能を階層的に含むモデルである生徒モデルを用いて、学習用データセットに含まれるテキストに対するラベルを推定する生徒モデルラベル推定処理を実行し、
前記学習用データセットに含まれるテキストに対する正解ラベルと、前記生徒モデルラベル推定処理の推定結果とを用いて、ハードターゲット損失を求め、
前記教師モデルラベル推定処理の推定結果と前記生徒モデルラベル推定処理の推定結果とを用いて、ソフトターゲット損失を求め、
前記ハードターゲット損失と前記ソフトターゲット損失から得られる損失を最適化するように生徒モデルのパラメータを更新する、
非一時的記憶媒体。