JP6928371B2 - 分類器、分類器の学習方法、分類器における分類方法 - Google Patents

分類器、分類器の学習方法、分類器における分類方法 Download PDF

Info

Publication number
JP6928371B2
JP6928371B2 JP2017149271A JP2017149271A JP6928371B2 JP 6928371 B2 JP6928371 B2 JP 6928371B2 JP 2017149271 A JP2017149271 A JP 2017149271A JP 2017149271 A JP2017149271 A JP 2017149271A JP 6928371 B2 JP6928371 B2 JP 6928371B2
Authority
JP
Japan
Prior art keywords
sample
input
network
classifier
training
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.)
Active
Application number
JP2017149271A
Other languages
English (en)
Other versions
JP2019028839A (ja
Inventor
鵬 沈
鵬 沈
シュガン ルー
シュガン ルー
恒 河井
恒 河井
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.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
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 National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2017149271A priority Critical patent/JP6928371B2/ja
Publication of JP2019028839A publication Critical patent/JP2019028839A/ja
Application granted granted Critical
Publication of JP6928371B2 publication Critical patent/JP6928371B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本技術は、ニューラルネットワークを用いた分類器に関する。
ディープニューラルネットワーク(deep neural network;以下「DNN」とも略称する。)は、様々なタスク(例えば、画像処理、音声認識、話者認識、言語認識など)に対して、顕著な特徴学習性能および分類性能を示すことが知られている。DNNが高い性能を発揮するためには、多くのラベル付き訓練データが必要である。例えば、音声認識に応用する場合には、数100から数1000時間分のラベル付き訓練データが必要になる場合もある。
一方、DNNをモデル化するのに用いる訓練データが少ないと、過学習(overfitting)の状態に陥りやすい。過学習は、訓練データに対しては学習されているが、未知のデータに対しては十分に汎化できていない状態を意味する。このような過学習の状態において、テストデータに対する性能は低いものとなる。
モデルの汎化性能が低くなる主な原因は、訓練データの分布とテストデータの分布との間のずれである。汎化性能を改善するという課題に対する解決手段の一例として、"adversarial training"が提案されている(例えば、非特許文献1などを参照)。このような"adversarial training"の一例として、GAN(generative adversarial nets)と称されるモデルが知られている(例えば、非特許文献2などを参照)。GANの持つ高いイメージ生成能力が注目されている。GANにおいては、ゲーム理論に由来する二人ゼロサムゲームを用いて、サンプルを生成する生成モデルが学習される。
GANは、2つのネットワークで構成される。一方のネットワークは、イメージが真(real)であるか偽(fake)であるかを分類する識別器(discriminator)であり、他方のネットワークは、識別器を「欺く」イメージを生成する生成器(generator)である。
このようなGANの一例として、生成器(生成ネットワーク)に対して、データ生成プロセスを指示するための条件情報(conditional information)を用いる、条件付GAN(conditional GAN;以下「cGAN」とも略称する。)が提案されている。cGANは、条件情報として、離散的ラベル、テキスト、イメージを用いて、イメージ生成およびイメージ−イメージ変換といったイメージに関するタスクをうまく処理できることが報告されている(例えば、非特許文献3などを参照)。
Christian Szegedy et. al, "Intriguing properties of neural networks", arXiv:1312.6199, Dec. 2013 T. Salimans, I. Goodfellow, W. Zaremba, V. Cheung, A. Radford, X. Chen, "Improved Techniques for Training GANs", arXiv:1606.03498, 2016 M. Mirza and S. Osindero, "Conditional Generative Adversarial Nets", arXiv:1411.1784, Nov. 2014 I. Goodfellow, "NIPS 2016 Tutorial: Generative Adversarial Networks", arXiv:1701.00160, 2017 T. Salimans, I. Goodfellow, W. Zaremba, V. Cheung, A. Radford, X.Chen, "Improved Techniques for Training GANs", arXiv:1606.03498, 2016
例えば、分類タスクにおいて、GANにより生成されるサンプルは、DNNの過学習の問題を解消するために用いられる。従来、生成されるサンプルは、分類モデルの汎化性能を改善するために、それ単独で、あるいは、オリジナルサンプルに追加される形で分類器の学習に用いられてきた。しかしながら、生成されるサンプルを定量的に評価すべき方法が明らかではないため、生成されるサンプルのうちから、分類モデルの汎化性能を改善できるサンプルを効率的に選択することは容易ではない(例えば、非特許文献4などを参照)。
別のアプローチとして、準教師ありGAN(semi-supervised GAN)が提案されている。準教師ありGANでは、識別ネットワークからクラスラベルを出力するとともに、生成されたサンプルに対応する付加クラスを付加することで、ラベルなしサンプルを用いてモデルの生成を改善する(例えば、非特許文献5などを参照)。この準教師ありGANでは、分類モデルの汎化性能を改善するために、多くのラベルなしサンプルが必要であるという課題がある。
本技術は、cGANネットワークをベースとしつつ、予めクラスラベルが付与された訓練データを用いて学習される、ニューラルネットワークを用いた分類器を提供することを目的としている。
本発明のある局面に従えば、入力データがいずれのクラスに属するのかを出力する分類器が提供される。分類器は、予め定められた変換関数を用いて入力データに含まれる特徴量を示す第1のサンプルを生成する変換手段と、入力データに関連付けられた条件情報およびノイズの入力を受けて、第2のサンプルを生成する生成ネットワークと、第1のサンプルからなる入力または第1のサンプルと第2のサンプルとの結合からなる入力を受けて、入力されるサンプルの種別、および、入力データが属するクラスを出力する識別ネットワークと、予めクラスラベルが付与された訓練データを入力データとして、変換手段により第1の訓練サンプルを生成するとともに、生成ネットワークにより第2の訓練サンプルを生成する訓練サンプル生成手段と、第1の訓練サンプルからなる入力および第1の訓練サンプルと第2の訓練サンプルとの結合からなる入力を識別ネットワークにそれぞれ与えたときに出力されるサンプルの種別が互いに識別されるとともに、識別ネットワークから出力されるクラスが対応する訓練データに付与されたクラスラベルと一致するように、識別ネットワークのパラメータを更新する第1の更新手段とを含む。
好ましくは、分類器は、第1の訓練サンプルからなる入力および第1の訓練サンプルと第2の訓練サンプルとの結合からなる入力を識別ネットワークにそれぞれ与えたときに出力されるサンプルの種別が互いに一致するように、生成ネットワークのパラメータを更新する第2の更新手段をさらに含む。
好ましくは、第1の更新手段は、第1の訓練サンプルからなる入力および第1の訓練サンプルと第2の訓練サンプルとの結合からなる入力を識別ネットワークにそれぞれ与えたときに出力されるサンプルの種別を互いに識別できる確率と、識別ネットワークから出力されるクラスが対応する訓練データに付与されたクラスラベルとが一致する確率とを要素として含む目的関数に基づいて、識別ネットワークのパラメータを更新する。
好ましくは、第1の更新手段および第2の更新手段は、予め定められた条件が成立するまで、交互に更新処理を実行する。
好ましくは、分類器は、任意の入力データから変換手段により第1のサンプルを生成するとともに、生成ネットワークにより第2のサンプルを生成し、第1のサンプルと第2のサンプルとの結合からなる入力を識別ネットワークに与えたときに出力されるクラスを任意の入力データが属するクラスを出力する分類手段をさらに含む。
本発明の別の局面に従えば、入力データがいずれのクラスに属するのかを出力する分類器が提供される。分類器は、予め定められた変換関数を用いて入力データに含まれる特徴量を示す第1のサンプルを生成する変換手段と、入力データに関連付けられた条件情報およびノイズの入力を受けて、第2のサンプルを生成する生成ネットワークと、第1のサンプルからなる入力または第1のサンプルと第2のサンプルとの結合からなる入力を受けて、入力されるサンプルの種別、および、入力データが属するクラスを出力する識別ネットワークと、任意の入力データから変換手段により第1のサンプルを生成するとともに、生成ネットワークにより第2のサンプルを生成し、第1のサンプルと第2のサンプルとの結合からなる入力を識別ネットワークに与えたときに出力されるクラスを任意の入力データが属するクラスを出力する分類手段とを含む。識別ネットワークのパラメータは、変換手段により訓練データから生成された第1の訓練サンプルからなる入力および第1の訓練サンプルと生成ネットワークにより生成された第2の訓練サンプルとの結合からなる入力を識別ネットワークにそれぞれ与えたときに出力されるサンプルの種別が互いに識別されるとともに、識別ネットワークから出力されるクラスが対応する訓練データに付与されたクラスラベルと一致するように決定されている。
本発明のさらに別の局面に従えば、入力データがいずれのクラスに属するのかを出力する分類器の学習方法が提供される。分類器の学習方法は、予め定められた変換関数を用いて入力データに含まれる特徴量を示す第1のサンプルを生成するステップと、入力データに関連付けられた条件情報およびノイズの入力を受けて、第2のサンプルを生成する生成ネットワークを学習するステップと、第1のサンプルからなる入力または第1のサンプルと第2のサンプルとの結合からなる入力を受けて、入力されるサンプルの種別、および、入力データが属するクラスを出力する識別ネットワークを学習するステップと、予めクラスラベルが付与された訓練データから変換関数を用いた第1の訓練サンプルを生成するとともに、訓練データを生成ネットワークに入力して第2の訓練サンプルを生成するステップとを含む。識別ネットワークを学習するステップは、第1の訓練サンプルからなる入力および第1の訓練サンプルと第2の訓練サンプルとの結合からなる入力を識別ネットワークにそれぞれ与えたときに出力されるサンプルの種別が互いに識別されるとともに、識別ネットワークから出力されるクラスが対応する訓練データに付与されたクラスラベルと一致するように、識別ネットワークのパラメータを更新するステップを含む。
本発明のさらに別の局面に従えば、入力データがいずれのクラスに属するのかを出力する分類器における分類方法が提供される。分類器における分類方法は、任意の入力データから予め定められた変換関数を用いて当該入力データに含まれる特徴量を示す第1のサンプルを生成するステップを含む。分類器は、入力データに関連付けられた条件情報およびノイズの入力を受けて、第2のサンプルを生成する生成ネットワークと、第1のサンプルからなる入力または第1のサンプルと第2のサンプルとの結合からなる入力を受けて、入力されるサンプルの種別、および、入力データが属するクラスを出力する識別ネットワークとを含む。分類方法は、さらに、任意の入力データから生成ネットワークを用いて第2のサンプルを生成するステップと、第1のサンプルと第2のサンプルとの結合からなる入力を識別ネットワークに与えたときに出力されるクラスとして任意の入力データが属するクラスを出力するステップとを含む。識別ネットワークのパラメータは、変換関数により訓練データから生成された第1の訓練サンプルからなる入力および第1の訓練サンプルと生成ネットワークにより生成された第2の訓練サンプルとの結合からなる入力を識別ネットワークにそれぞれ与えたときに出力されるサンプルの種別が互いに識別されるとともに、識別ネットワークから出力されるクラスが対応する訓練データに付与されたクラスラベルと一致するように決定されている。
本発明によれば、cGANネットワークをベースとした、予めクラスラベルが付与された訓練データを用いて学習される、ニューラルネットワークを用いた分類器を提供できる。
本実施の形態に従う分類器を用いた言語自動選択システムの構成を示す模式図である。 本実施の形態に従う分類器の機能構成を示す模式図である。 本実施の形態に従う分類器を実現するためのハードウェア構成の一例を示す模式図である。 本実施の形態に従う分類器に対する学習フェーズの処理手順を示すフローチャートである。 本実施の形態に従う分類器を用いた運用フェーズの処理手順を示すフローチャートである。 本実施の形態に従う分類器の運用形態の一例を示す模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
[A.応用例]
まず、本実施の形態に従う分類器の応用例について説明する。本実施の形態に従う分類器は、入力データがいずれのクラスに属するのかを出力する。このような分類器は、例えば、話者がいずれの言語を話しているのかを特定する言語自動選択システムに応用できる。
図1は、本実施の形態に従う分類器を用いた言語自動選択システム1の構成を示す模式図である。図1を参照して、言語自動選択システム1は、複数の言語システム6と、いずれか1つの言語システム6を選択するための選択器4とを含む。
言語システム6は、例えば、特定の言語を処理するシステムを包含するものであり、例えば、音声翻訳システムや音声応答システムなどが想定される。選択器4は、分類器10からの指令に従って、音声入力2をいずれか1つの言語システム6に接続する。
分類器10は、予め用意される言語システム6で利用可能なそれぞれの言語の音声データを訓練データとして用いた学習により構築される。分類器10は、音声入力2が入力されると、後述するようなネットワークを用いて、入力された音声入力2がいずれかの言語であるかを決定し、その決定結果に基づいて、選択指令を選択器4へ出力する。
このような言語自動選択システム1によれば、話者がいずれかの言語で話し始めると、その言語に対応する言語システム6が自動的に選択されるようになる。
上述の応用例はあくまでも一例であり、本実施の形態に従う分類器は、様々なタスクに対する適用が可能である。他の応用例としては、例えば、誰が話しているのかを特定する話者認識システムなどが挙げられる。
[B.ネットワーク(cGAN分類器)]
本実施の形態に従う分類器は、教師ありcGANベースのフレームワークを有している。図2は、本実施の形態に従う分類器10の機能構成を示す模式図である。図2を参照して、分類器10は、生成ネットワーク22と、識別ネットワーク24とを含む。生成ネットワーク22および識別ネットワーク24としては、任意のニューラルネットワークを採用することができ、その層数などについても任意に設計できる。例えば、多層パーセプトロンまたはCNN(Convolutional Neural Network)を採用することができる。
分類器10は、後述するような訓練データを用いた学習により構築される。そのため、分類器10は、学習フェーズおよび運用フェーズが存在する。生成ネットワーク22および識別ネットワーク24は、学習フェーズおよび運用フェーズのいずれにおいても利用される。但し、識別ネットワーク24は、学習フェーズにおいて識別器(discriminator)として機能し、運用フェーズにおいて分類器(classifier)として機能することになる。
分類器10においては、生成ネットワーク22および識別ネットワーク24を連係させて学習することで、少ない訓練データで分類性能を高めることができる。
学習フェーズおよび運用フェーズのいずれにおいても、生成ネットワーク22には、条件情報(conditional information)26およびノイズ28が入力される。生成ネットワーク22に入力される条件情報26およびノイズ28をそれぞれ「c(xreal)」および「z(noise)」とも記す。
本実施の形態に従う分類器10においては、条件情報26として、実データあるいは実データから生成される情報(例えば、特徴量)を用いる。例えば、図1に示す言語自動選択システム1などにおいては、実データとしては、所定時間(例えば、10秒)にわたる音声データの時間波形などが用いられる。但し、実データとしては、分類器の応用先に応じて任意の長さおよび形態の情報を用いてもよい。
条件情報26(c(xreal))およびノイズ28(z(noise))は、複数次元を有しているベクトルであることが好ましい。例えば、c(xreal)として、400次元を有するベクトルを用いるとともに、z(noise)として、100次元を有するベクトルを用いてもよい。ノイズ28は、例えば、ガウシアンノイズソースから発生するベクトルであってもよいし、それ以外の任意のノイズソースから発生するベクトルであってもよい。なお、各入力の次元数についても、任意の設定が可能である。
生成ネットワーク22は、条件情報26およびノイズ28からサンプルを生成する。この生成されるサンプルを「生成サンプル30」とも称する。また、生成サンプル30を「xfake」とも記す。
このように、生成ネットワーク22は、ベクトルであるc(xreal)およびz(noise)からベクトルであるxfakeを生成する。例えば、xfakeとして、49次元を有するベクトルを用いるようにしてもよい。
識別ネットワーク24には、生成ネットワーク22から出力される生成サンプル30と、実データから生成される実サンプル32とが選択的に入力される。実サンプル32を「x real」とも記す。実サンプル32(x real)は、生成サンプル30(xfake)と同じ次元数を有するベクトルが用いられる。
上述の例においては、生成サンプル30(xfake)および実サンプル32(x real)は、いずれも49次元のベクトルが用いられる。すなわち、生成ネットワーク22は、入力データに関連付けられた条件情報およびノイズの入力を受けて、実サンプル32(x real)と同次元の生成サンプル30(xfake)を生成する。
識別ネットワーク24は、入力されたサンプルが生成サンプル30および実サンプル32のいずれかであるかを示す識別出力34、および、入力されたサンプルがいずれかのクラスに属するのかを示すクラスフラグ36を出力する。識別出力34を「Real/Fake」とも記し、クラスフラグ36を「k,k,…」とも記す。
このように、識別ネットワーク24は、実サンプル32(x real)からなる入力または実サンプル32(x real)と生成サンプル30(xfake)との結合からなる入力を受けて、入力されるサンプルの種別(識別出力34)、および、入力データが属するクラス(クラスフラグ36)を出力する。
識別ネットワーク24から出力される識別出力34は、生成ネットワーク22の最適化の指標として用いられる。すなわち、生成ネットワーク22は、生成サンプル30を識別ネットワーク24に入力したときに、識別ネットワーク24が入力された生成サンプル30を「実サンプル」と間違える確率を最小とすることを目的関数として学習を行なう。
また、実データに対応するラベルが事前情報として与えられており、識別ネットワーク24は、出力されるクラスフラグ36の値と事前情報のラベルとが一致する確率を最大とすることを目的関数として学習を行なう。このとき、識別ネットワーク24には、同一のラベルが付与された生成サンプル30および実サンプル32が入力されることになる。
このように、本実施の形態に従う分類器10においては、生成ネットワーク22は、識別ネットワーク24を可能な限り欺ける生成サンプル30を生成できることを目的として学習される。識別ネットワーク24は、生成ネットワーク22からの生成サンプル30と実サンプル32とを可能な限り間違えずに識別するとともに、生成サンプル30および実サンプル32を可能な限り間違えずに分類(クラス分け)できることを目的として学習される。
ここで、識別出力34(Real/Fake)についての目的関数をVとし、K−クラスの目的関数をVとすると、ネットワークの最適化は、以下のような(1)式および(2)式でそれぞれ表わすことができる。
Figure 0006928371
式中のD(x)は、任意のサンプルxが、生成サンプル30(xfake)ではなく、実サンプル32(x real)からのものである確率を示す。D(k|x)は、任意のサンプルxが、任意のクラスkに属する確率を示す。
実サンプル32(x real)および生成サンプル30(xfake)は、以下の(3)式および(4)式のように定義できる。
Figure 0006928371
式中のDTは判別用の変換関数であり、G(z,c)は生成ネットワーク22の出力である。このように、予め定められた変換関数DTを用いて入力データに含まれる特徴量を示す実サンプル32(x real)が生成される。
本実施の形態に従うcGANベースの分類器10の目的関数Vは、以下の(5)式のように定義できる。
Figure 0006928371
式中のαは、(1)式および(2)式に示す目的関数の間のトレードオフ係数を示す。
上述の(5)式に示される目的関数は、第1の訓練サンプル(実サンプル32:x real)からなる入力および第1の訓練サンプルと第2の訓練サンプル(生成サンプル30:xfake)との結合からなる入力を識別ネットワーク24にそれぞれ与えたときに出力されるサンプルの種別を互いに識別できる確率を示す目的関数Vと、識別ネットワーク24から出力されるクラスが対応する訓練データに付与されたクラスラベルとが一致する確率を示す目的関数Vとの結合になっている。
目的関数VおよびVを最適化するために、識別ネットワーク24の内部パラメータは2つの目的関数の間で共有される。
(1)式および(2)式に示すように、最適化処理においては、識別ネットワーク24および生成ネットワーク22がそれぞれ最適化される。まず、目的関数VおよびVの値を最大化するように、識別ネットワーク24を最適化する。
より具体的には、学習フェーズにおいては、予めクラスラベルが付与された訓練データを入力データとして、変換関数DTにより第1の訓練サンプルを生成するとともに、生成ネットワーク22により第2の訓練サンプルが生成される。そして、第1の訓練サンプルからなる入力および第1の訓練サンプルと第2の訓練サンプルとの結合からなる入力を識別ネットワーク24にそれぞれ与えたときに出力されるサンプルの種別が互いに識別されるとともに、識別ネットワーク24から出力されるクラスが対応する訓練データに付与されたクラスラベルと一致するように、識別ネットワーク24のパラメータが更新される。
続いて、log(1―D(G(z,c)))を最小化するとともに、log(D(k|G(z,c))を最大化するように、生成ネットワーク22を最適化する。
より具体的には、学習フェーズにおいては、第1の訓練サンプルからなる入力および第1の訓練サンプルと第2の訓練サンプルとの結合からなる入力を識別ネットワークにそれぞれ与えたときに出力されるサンプルの種別が互いに一致するように、生成ネットワークのパラメータが更新される。
識別ネットワーク24のパラメータの更新処理および生成ネットワーク22のパラメータの更新処理は、予め定められた条件が成立するまで交互に実行される。
以上のような手順によって、分類器10を構成する2つのネットワークが構築される。
[C.分類器10を実現するハードウェア構成]
次に、分類器10を実現するハードウェア構成の一例について説明する。図3は、本実施の形態に従う分類器10を実現するためのハードウェア構成の一例を示す模式図である。分類器10は、典型的には、汎用コンピュータを用いて実現される。
図3を参照して、コンピュータ20は、主要なハードウェアコンポーネントとして、プロセッサ100と、主メモリ102と、ディスプレイ104と、入力デバイス106と、ネットワークインターフェイス(I/F:interface)108と、光学ドライブ134と、二次記憶装置112とを含む。これらのコンポーネントは、内部バス110を介して互いに接続される。
プロセッサ100は、後述するような各種プログラムを実行することで、本実施の形態に従う分類器10の実現に必要な処理を実行する演算主体であり、例えば、1または複数のCPU(central processing unit)やGPU(graphics processing unit)などで構成される。複数のコアを有するようなCPUまたはGPUを用いてもよい。
主メモリ102は、プロセッサ100がプログラムを実行するにあたって、プログラムコードやワークメモリなどを一時的に格納する記憶領域であり、例えば、DRAM(dynamic random access memory)やSRAM(static random access memory)などの揮発性メモリデバイスなどで構成される。
ディスプレイ104は、処理に係るユーザインターフェイスや処理結果などを出力する表示部であり、例えば、LCD(liquid crystal display)や有機EL(electroluminescence)ディスプレイなどで構成される。
入力デバイス106は、ユーザからの指示や操作などを受付けるデバイスであり、例えば、キーボード、マウス、タッチパネル、ペンなどで構成される。また、入力デバイス106としては、機械学習に必要な音声を収集するためのマイクロフォンを含んでいてもよいし、機械学習に必要な音声を収集した集音デバイスと接続するためのインターフェイスを含んでいてもよい。
ネットワークインターフェイス108は、インターネット上またはイントラネット上の任意の情報処理装置などとの間でデータを遣り取りする。ネットワークインターフェイス108としては、例えば、イーサネット(登録商標)、無線LAN(local area network)、Bluetooth(登録商標)などの任意の通信方式を採用できる。
光学ドライブ134は、CD−ROM(compact disc read only memory)、DVD(digital versatile disc)などの光学ディスク136に格納されている情報を読出して、内部バス110を介して他のコンポーネントへ出力する。光学ディスク136は、非一過的(non-transitory)な記録媒体の一例であり、任意のプログラムを不揮発的に格納した状態で流通する。光学ドライブ134が光学ディスク136からプログラムを読み出して、二次記憶装置112などにインストールすることで、コンピュータ20により分類器10の機能を提供できるようになる。したがって、本発明の主題は、二次記憶装置112などにインストールされたプログラム自体、または、本実施の形態に従う機能や処理を実現するためのプログラムを格納した光学ディスク136などの記録媒体でもあり得る。
図3には、非一過的な記録媒体の一例として、光学ディスク136などの光学記録媒体を示すが、これに限らず、フラッシュメモリなどの半導体記録媒体、ハードディスクまたはストレージテープなどの磁気記録媒体、MO(magneto-optical disk)などの光磁気記録媒体を用いてもよい。
二次記憶装置112は、プロセッサ100にて実行されるプログラム、後述するようなネットワークを構築するための訓練データ、および、ネットワークを規定するパラメータなどを格納するコンポーネントであり、例えば、ハードディスク、SSD(solid state drive)などの不揮発性記憶装置で構成される。
より具体的には、二次記憶装置112は、典型的には、図示しないOS(operating system)の他、分類器10を構築するための学習プログラム114と、分類器10として機能するための分類プログラム116と、分類器10を構成するネットワークを規定するネットワークパラメータ118と、ネットワークを構築するための訓練データ120とを格納している。
これらのプログラムをプロセッサ100で実行する際に必要となるライブラリや機能モジュールの一部を、OSが標準で提供するライブラリまたは機能モジュールを用いて代替するようにしてもよい。この場合には、各プログラム単体では、対応する機能を実現するために必要なプログラムモジュールのすべてを含むものにはならないが、OSの実行環境下にインストールされることで、必要な機能を実現できる。このような一部のライブラリまたは機能モジュールを含まないプログラムであっても、本発明の技術的範囲に含まれ得る。
また、これらのプログラムは、上述したようないずれかの記録媒体に格納されて流通するだけでなく、インターネットまたはイントラネットを介してサーバ装置などからダウンロードすることで配布されてもよい。
図3には、単一のコンピュータ20が分類器10を構成する例を示すが、これに限らず、コンピュータネットワークを介して接続された複数のコンピュータが明示的または黙示的に連携して、分類器10および分類器10を含む言語自動選択システム1を実現するようにしてもよい。
コンピュータ20(プロセッサ100)がプログラムを実行することで実現される機能の全部または一部を、集積回路などのハードワイヤード回路(hard-wired circuit)を用いて実現してもよい。例えば、ASIC(application specific integrated circuit)やFPGA(field-programmable gate array)などを用いて実現してもよい。
当業者であれば、本発明が実施される時代に応じた技術を適宜用いて、本実施の形態に従う分類器を実現できるであろう。
[D.分類器10を構築および利用する場合の処理手順]
次に、本実施の形態に従う分類器10を構築および利用する場合の処理手順について説明する。
(d1:学習フェーズ)
まず、本実施の形態に従う分類器10を構築する学習フェーズでの処理手順について説明する。図4は、本実施の形態に従う分類器10に対する学習フェーズの処理手順を示すフローチャートである。図4に示す各ステップは、図3に示すコンピュータ20(プロセッサ100)が学習プログラム114を実行することで実現される。
学習フェーズにおいては、識別ネットワーク24および生成ネットワーク22の学習が交互に実行される。
より具体的には、コンピュータ20は、生成ネットワーク22および識別ネットワーク24の各ネットワークパラメータに対して初期値を設定する(ステップS100)。各ネットワークに設定されるネットワークパラメータは、ランダムに決定されてもよいし、経験則などに基づいて、予め定められた標準的な値を設定してもよい。
例えば、音声データ(WAVファイル)などの学習に用いる入力データから実データxrealを用意する(ステップS102)。
続いて、コンピュータ20は、識別ネットワーク24を学習する。すなわち、ステップS104〜S116に示すように、コンピュータ20は、第1のサンプル(実サンプルx real)からなる入力、または、第1のサンプルと第2のサンプル(生成サンプルxfake)との結合からなる入力を受けて、入力されるサンプルの種別、および、入力データが属するクラスを出力する識別ネットワーク24を学習する。
より具体的には、コンピュータ20は、実データxrealから1つのバッチデータ(ミニバッチ)を読み込む(ステップS104)。読み込んだミニバッチは、複数のサンプルを含み、各サンプルには、クラスラベルkが付与されているものとする。また、本実施の形態においては、学習フェーズにおける識別ネットワーク24のパラメータをこのミニバッチ単位で更新する。
コンピュータ20は、読み込んだミニバッチに含まれる各サンプルに対応する実データxrealを変換関数DTに入力して、実サンプルx realをそれぞれ算出する(ステップS106)。すなわち、コンピュータ20は、予め定められた変換関数DTを用いて入力データ(実データxreal)に含まれる特徴量を示す第1のサンプル(実サンプルx real)を生成する。このような処理によって、実データxrealと、実サンプルx realと、クラスラベルkとからなるデータセットが、読み込んだミニバッチに含まれるサンプルの数(すなわち、ミニバッチサイズ)だけ訓練用として生成される。
並行して、コンピュータ20は、読み込んだミニバッチに含まれる各サンプルに対応する条件情報c(xreal)と、ランダムに発生させた所定次元数を有するノイズz(noise)とを結合して入力データをそれぞれ生成し(ステップS108)、生成ネットワーク22に入力することで、訓練用としての生成サンプルxfakeをそれぞれ算出する(ステップS110)。
このように、ステップS104〜S110においては、予めクラスラベルが付与された訓練データから変換関数DTを用いた第1の訓練サンプルを生成するとともに、訓練データを生成ネットワーク22に入力して第2の訓練サンプルを生成する処理が実行される。
コンピュータ20は、読み込んだミニバッチに含まれる各サンプルに対応する実サンプルx real同士を結合したデータを識別ネットワーク24に入力して識別出力34およびクラスフラグ36をそれぞれ算出する(ステップS112)。
また、コンピュータ20は、読み込んだミニバッチに含まれる各サンプルに対応する実サンプルx realと、ステップS110において算出した対応する生成サンプルxfakeとを結合したデータを識別ネットワーク24に入力して識別出力34およびクラスフラグ36をそれぞれ算出する(ステップS114)。
これらの処理によって、識別出力の正解を「Real」とする実データxreal(クラスラベルk)についての識別出力34およびクラスフラグ36からなるデータセットが、読み込んだミニバッチに含まれるサンプルの数だけ生成される(ステップS112)とともに、識別出力の正解を「Fake」とする生成サンプルxfake(クラスラベルk)についての識別出力34およびクラスフラグ36からなるデータセットが、読み込んだミニバッチに含まれるサンプルの数だけ生成される(ステップS114)。
コンピュータ20は、ステップS112およびS114において生成されたデータセットに含まれる識別出力34およびクラスフラグ36の各セットが、対応する識別出力の正解およびクラスラベルkと一致するように、識別ネットワーク24の内部パラメータを更新する(ステップS116)。この内部パラメータの更新は、上述の(5)式に示すような目的関数が用いられてもよい。
すなわち、ステップS116においては、第1の訓練サンプルからなる入力および第1の訓練サンプルと第2の訓練サンプルとの結合からなる入力を識別ネットワーク24にそれぞれ与えたときに出力されるサンプルの種別が互いに識別されるとともに、識別ネットワーク24から出力されるクラスが対応する訓練データに付与されたクラスラベルと一致するように、識別ネットワーク24のパラメータを更新する処理が実行される。
コンピュータ20は、1または複数のバッチデータについて識別ネットワーク24のパラメータ更新が完了すると、識別ネットワーク24の学習を終了する。そして、コンピュータ20は、ステップS120以下に示す、生成ネットワーク22の学習を開始する。
より具体的には、コンピュータ20は、実データxrealから1つのバッチデータ(ミニバッチ)を読み込む(ステップS120)。読み込んだミニバッチは、複数のサンプルを含むものとする。また、本実施の形態においては、学習フェーズにおける生成ネットワーク22のパラメータをミニバッチ単位で更新する。
コンピュータ20は、読み込んだミニバッチに含まれる各サンプルに対応する実データxrealを変換関数DTに入力して、実サンプルx realをそれぞれ算出する(ステップS122)。
並行して、コンピュータ20は、読み込んだミニバッチに含まれる各サンプルに対応する条件情報c(xreal)と、ランダムに発生させた所定次元数を有するノイズz(noise)とを結合して入力データをそれぞれ生成し(ステップS124)、生成ネットワーク22に入力することで、生成サンプルxfakeをそれぞれ算出する(ステップS126)。
そして、コンピュータ20は、読み込んだバッチデータに含まれる各サンプルに対応する実サンプルx realと、ステップS126において算出した対応する生成サンプルxfakeとを結合したデータを識別ネットワーク24に入力して識別出力34およびクラスフラグ36をそれぞれ算出する(ステップS128)。この処理によって、生成サンプルxfakeを入力とした場合の識別出力34が、読み込んだバッチデータに含まれるサンプルの数だけ生成される(ステップS128)。
コンピュータ20は、読み込んだバッチデータに含まれる各サンプルについて算出される生成サンプルxfakeが識別ネットワーク24により「Real」と出力される(すなわち、実サンプルであると誤識別される)ように、生成ネットワーク22の内部パラメータを更新する(ステップS130)。この内部パラメータの更新は、上述の(2)式に示すような目的関数が用いられてもよい。
すなわち、ステップS130においては、第1の訓練サンプルからなる入力(すなわち、実サンプルx real同士の結合)を識別ネットワーク24に与えたときに出力されるサンプルの種別(すなわち、「Real」)と、第1の訓練サンプルと第2の訓練サンプルとの結合からなる入力(すなわち、実サンプルx realと生成サンプルxfakeとの結合)を識別ネットワーク24に与えたときに出力されるサンプルの種別とが互いに一致するように、生成ネットワーク22のパラメータを更新する処理が実行される。
以上の手順により、生成ネットワーク22の学習処理が完了する。
続いて、コンピュータ20は、分類器10全体としての学習終了条件が成立したか否かを判断する(ステップS132)。学習終了条件としては、例えば、バリデーションデータの認識率の改善量が予め定められた値より小さいことなどを含む。
分類器10全体としての学習終了条件が成立していなければ(ステップS132においてNOの場合)、コンピュータ20は、ステップS104以下の処理を再度実行する。これに対して、分類器10全体としての学習終了条件が成立していれば(ステップS132においてYESの場合)、識別ネットワーク24および生成ネットワーク22の学習処理は終了する。すなわち、分類器10としてのネットワークが構築されたことになる。
なお、学習の進め方としては、識別ネットワーク24の学習をN回(Nは1以上の整数)行なった後、生成ネットワーク22の学習を行なうようにしてもよい。
また、識別ネットワーク24および生成ネットワーク22の学習処理の各々において、それぞれバッチデータを読み込んで、実サンプルx realをそれぞれ算出する処理例を記載したが、同一のバッチデータを用いて、識別ネットワーク24および生成ネットワーク22の学習処理を行なってもよい。この場合には、ステップS104において読み込まれる実データxreal、ならびに、S106において生成される実サンプルx realを、ステップS120およびS122においてもそのまま利用することになる。そのため、ステップS120およびS122の処理は省略されてもよい。
(d2:運用フェーズ)
次に、本実施の形態に従う分類器10を用いた運用フェーズでの処理手順について説明する。図5は、本実施の形態に従う分類器10を用いた運用フェーズの処理手順を示すフローチャートである。図5に示す各ステップは、図3に示すコンピュータ20(プロセッサ100)がプログラムを実行することで実現される。
まず、コンピュータ20は、分類対象の実データが入力されると(ステップS200)、当該入力された分類対象の実データに対して前処理(例えば、所定長さのデータ単位にする処理)などを行なった上で、所定次元数を有する条件情報c(xreal)を用意する(ステップS202)。
そして、コンピュータ20は、実データxrealを変換関数DTに入力して、実サンプルx realを算出する(ステップS204)。
並行して、コンピュータ20は、条件情報c(xreal)と、ランダムに発生させた所定次元数を有するノイズz(noise)とを結合して入力データを生成し(ステップS206)、生成ネットワーク22に入力することで、生成サンプルxfakeを算出する(ステップS208)。
コンピュータ20は、ステップS204において算出した実サンプルx realと、ステップS208において算出した生成サンプルxfakeとを結合したデータを識別ネットワーク24に入力してクラスフラグ36を算出する(ステップS210)。
最終的に、コンピュータ20は、算出されたクラスフラグ36に基づいて、入力された分類対象の実データxrealの属するクラスを決定する(ステップS212)。
以上のような分類処理は、分類対象の実データが入力されるたびに実行される。
[E.運用形態]
上述したように、本実施の形態に従う分類器10は、学習フェーズおよび運用フェーズのいずれにおいても、同様のネットワーク構成が採用される。汎用的な応用を考慮すると、学習フェーズにおいて最適化されたネットワークを同一のタスクを実行する複数のシステムに応用する場合には、学習によって得られたネットワークパラメータのみを配布するようにしてもよい。
図6は、本実施の形態に従う分類器10の運用形態の一例を示す模式図である。図6を参照して、例えば、ある装置上で分類器10を学習し(学習フェーズ)、その結果生成されたネットワークのパラメータを、実際に分類タスクを実行する装置(運用フェーズ)に配布するようにしてもよい。この場合、学習フェーズによって生成された生成ネットワーク22のパラメータおよび識別ネットワーク24のパラメータに加えて、変換関数DT自体も配布される。これらのパラメータのセットおよび変換関数DTを用いることで、運用フェーズに利用可能な分類器10を実現できる。
すなわち、本実施の形態においては、分類器10を構成する生成ネットワーク22および識別ネットワーク24のパラメータ、ならびに、変換関数DT自体が本件発明の技術的範囲の対象となり得る。
図6には、分類タスクが実行される場所にシステムを配置する、いわゆるオンプレミス環境に適した処理例を示すが、これに限らず、コンピュータネットワーク上に配置された1または複数のサーバを用いて、分類タスクを処理する、いわゆるクラウドサービス環境を採用してもよい。
クラウド環境を採用する場合には、分類タスクを処理するサーバ装置において、分類器10の学習を行なうとともに、その学習によって生成された分類器10をそのまま利用することになる。この場合、運用フェーズにおいて、分類器10は、典型的には、コンピュータネットワークを介して入力データを受付け、その受付けた入力データに対して実行される分類タスクの結果を、コンピュータネットワークを介して応答することになる。
上述した分類器10の運用は一例であり、要求されるタスクの内容や実行環境などに応じて適宜適切な実装が可能である。また、本実施の形態に従う分類器10は、より大きなタスクの一部として組み込まれてもよい。この場合、他のタスクを実行する装置やモジュールと連携することで、目的のタスクを実行することになる。
[F.分類器10の性能評価]
次に、本実施の形態に従う分類器10の性能評価の一例について説明する。以下では、本実施の形態に従う分類器10を言語認識タスクに応用した場合の性能評価の一例を示す。
(f1:実験条件)
以下の性能評価においては、2つのi−ベクトルデータセットを用いた。1番目のi−ベクトルデータセットは、"X. Lu, P. Shen, Y. Tsao, H. Kawai, Regularization of neural network model with distance metric learning for i-vector based spoken language identification, Computer Speech & Language, 2017"に詳述されているものである。以下、1番目のi−ベクトルデータセットを「NIST50」とも称す。2番目のi−ベクトルデータセットは、13言語のデータセット(英語、日本語、北京語、韓国語、タイ語、ビルマ語、ベトナム語、インドネシア語、フランス語、スペイン語、ロシア語、ポルトガル語、アラビア語)である。以下、2番目のi−ベクトルデータセットを「NIST13」とも称す。
485.9時間分の訓練データと、28.6時間分のバリデーションデータと、28.5時間分のテストデータとを用意した。各言語についての発話数は、5725〜40529であり、訓練データについての総発話数は、294453である。また、バリデーションデータおよびテストデータについての発話数は、902〜1500である。バリデーションデータおよびテストデータのデータセットについての総発話数は、15898である。1回の発話の平均継続時間は、5.9秒である。認識エラーを評価基準として用いた。
次に、生成ネットワーク22および識別ネットワーク24の実装例について説明する。以下の表1に、各ネットワークの構成例を示す。
Figure 0006928371
生成ネットワーク22については、ノイズzおよび条件情報c(xreal)に対応する2つの入力レイヤが存在する。これらの2つの入力レイヤは、完全結合(fully connected:FC)ニューラルネットワークにマージされる。生成ネットワーク22においては、バッチ汎化が採用される。
識別ネットワーク24についても、生成ネットワーク22と同様に、実サンプルx realおよび生成サンプルxfakeに対応する2つの入力レイヤが存在する。本実施の形態に従う分類器10においては、生成ネットワーク22がどのようなタイプの特徴を生成すべきかを指示する上で、実サンプルx realは重要な役割を果たす。
ミニバッチサイズを128に設定し、学習率を0.0005に設定した。最大学習エポックを500に設定した。最終結果は、最良の検証結果に基づいて選択した。性能は、(5)式中のトレードオフ係数αが取り得る範囲を大きくすることで改善し得るが、以下の性能評価においては、「0.5」と設定した。
(f2:NIST50言語認識データに対する評価結果)
NIST50言語認識データに対する評価結果の一例を表2に示す。表2中の数字は、誤り率を示し、その値が小さい程、分類性能が高いと言える。
Figure 0006928371
表2中の上から3つ(COSINE(RAW),LIN−SVM(LDA),RBF−SVM(LDA))は、比較のために、従来手法による評価結果を示す。
より具体的には、COSINE(RAW)は、生データ(raw data)に対する余弦距離(cosine distance)カーネルを用いた評価結果を示し、LIN−SVM(LDA)は、線形のSVM(support vector machine)カーネルを用いた評価結果を示し、RBF−SVM(LDA)は、放射基底関数(radial basic function:RBF)カーネルを用いた評価結果を示す。
追加的に、データ拡張(data augmentation)および生データ特徴とLDA(linear discriminative analysis)特徴との組み合わせを用いた評価も行なった。データ拡張は、元のi−ベクトル特徴に[−1,1]の範囲に一様に分布するノイズを加えることで行なった。また、元の12500の訓練データに加えて、データ拡張のために別に12500の訓練データを用意した。この評価は、最適化されたDNNモデルを用いて行なった。このDNNモデルは、DPマッチングを組み合わせたものであり、2つの完全結合された隠れ層を有し、入力層に対するドロップアウトを0.3とし、隠れ層に対するドロップアウトを0.5としている。
なお、慣性項を有する確率的勾配降下法(stochastic gradient descent;以下、「SGD」とも略称する。)とAdagrad最適化法と比較したところ、慣性項を有するSGDを用いた方がより好ましい結果が得られることが分かったので、慣性項を有するSGDを用いた評価結果をベースラインとして、表2中の上から4番目(DNN+DM+DP)に示している。なお、DMは"distance measure"を意味し、DPは"dropout"を意味する。
また、すべての訓練データをラベル付きデータおよびラベルなしデータとして設定した上で、準教師ありGAN(semi-supervised GAN)を用いた実験を行なった。生データ特徴およびLDA特徴のそれぞれを訓練データとして設定した。それぞれの評価結果を、表2中の上から5番目(Semi−supervised GAN(RAW))および6番目(Semi−supervised GAN(LDA))に示している。
準教師ありGANに対するベースラインとして、DPマッチングを組み合わせたDNNモデルを用いた場合の評価結果も併せて示す(表2中の上から7番目〜10番目)。
より具体的には、表2中の上から7番目(DNN DP(LDA))は、LDA特徴を訓練データとして用いた場合の評価結果を示す。表2中の上から8番目(DNN DP(RAW+LDA))は、生データ特徴とLDA特徴との組み合わせを訓練データとして用いた場合の評価結果を示す。表2中の上から9番目(DNN DP(Data augmentation))は、データ拡張されたデータを訓練データとして用いた場合の評価結果を示す。表2中の上から10番目(DNN DP(LDA+xfake))は、LDA特徴および生成サンプルxfakeを訓練データとして用いた場合の評価結果を示す。
上述の従来手法の詳細については、"X. Lu, P. Shen, Y. Tsao, H. Kawai, Regularization of neural network model with distance metric learning for i-vector based spoken language identification, Computer Speech & Language, 2017"を参照されたい。
表2中の上から11番目〜14番目は、本実施の形態に従う分類器10の評価結果を示す。それぞれの評価結果は、生成ネットワーク22に入力する条件情報26、および、識別ネットワーク24に入力する実サンプル32をそれぞれ異ならせたものである。
上述したように、本実施の形態に従う分類器10においては、生成ネットワーク22がどのようなタイプの特徴を生成すべきかを指示することで、実サンプルx realは重要な役割を果たす。本実施の形態においては、生成される特徴の効率を改善するために、実サンプルx realを出力するための変換関数DTを用いる。変換関数DTの影響を評価するために、生成ネットワーク22および識別ネットワーク24のそれぞれの入力を異ならせた。より具体的には、LDA特徴および識別ボトルネック特徴を用意した。
LDA特徴としては、元の400次元のi−ベクトルデータに対してLDAを適用することで得られた49次元のベクトルを用いた。また、識別ボトルネック特徴としては、5層の隠れ層(すなわち、512−512−200−512−512)を有するとともに、生のi−ベクトルデータを入力とし、その結果生成される言語ID群を出力とするニューラルネットワークにより生成されるベクトルを用いた。
なお、生成ネットワーク22および識別ネットワーク24は、Adagrad最適化法を用いて学習した。
表2中の上から11番目(cGAN−classifier(RAW,RAW))は、生成ネットワーク22および識別ネットワーク24のいずれの入力として、生データ特徴を用いた場合の評価結果を示す。この評価結果においては、ある程度の性能が発揮されているものの、後述の評価結果よりは低い性能となっている。この理由としては、生データ特徴は、言語、話者、チャネルといった複数の変数を含むものとなり、このような生データを用いることで、生成ネットワーク22により生成される生成サンプルxfakeがタスクに応じたものとならない可能性が高めるためであると考えられる。但し、タスクによっては、このような生データをそれぞれのネットワークの入力に用いた場合であっても、有効に機能することがある。
一方、識別ネットワーク24の入力としてより識別性の高い特徴を用いることで、すなわち、LDA特徴または識別ボトルネック特徴を用いることで、生成ネットワーク22からはより識別性の高い特徴が出力されるようになり、生成モデルとしての汎化性能を改善できる。
表2中の上から12番目(cGAN−classifier(LDA,LDA))は、生成ネットワーク22および識別ネットワーク24のいずれの入力として、LDA特徴を用いた場合の評価結果を示す。表2中の上から13番目(cGAN−classifier(RAW,LDA))は、生成ネットワーク22の入力として、生データ特徴を用いるとともに、識別ネットワーク24の入力として、LDA特徴を用いた場合の評価結果を示す。いずれの場合もベースラインに比較して、十分に有意な改善を示している。
表2中の上から14番目(cGAN−classifier(RAW,BN200))は、生成ネットワーク22の入力として、生データ特徴を用いるとともに、識別ネットワーク24の入力として、識別ボトルネック特徴を用いた場合の評価結果を示す。この評価結果が最も高い分類性能を示す。この評価結果においては、テストデータに対する誤り率は5.82%となり、ベースラインとした最良の従来手法に比較して、61.6%の性能改善を示している。
以上のような評価結果が示すように、本実施の形態に従う分類器10は、DNNモデルの生成を効率的に改善できる。
(f3:NIST13言語認識データに対する評価結果)
次に、NIST13言語認識データに対する評価結果の一例を表3に示す。表3中の数字は、誤り率を示し、その値が小さい程、分類性能が高いと言える。
Figure 0006928371
NIST50言語データセットは小さいものであり、本実施の形態に従う分類器10をより大きなデータセットに適用した場合の性能を評価するために、NIST13言語データセットを用いた実験を行なった。
入力データとして、400次元のi−ベクトルデータを生成し、ロジスティック回帰ベースの分類器を用いた結果をベースラインとした。i−ベクトルデータは、1024個のガウシアン要素からなるガウシアン混合モデルベースの汎用バックグラウンドモデルに基づいて抽出した。このベースラインの評価結果を表3中の上から1番目(Logistic Regression(RAW))に示す。
また、ドロップアウト設定を有するDNNモデルをベースラインシステムとして用いた。このDNNモデルは、DPマッチングを組み合わせたものであり、512ニューロンを有する隠れ層を3層含むものであり、経験則として、隠れ層に対するドロップアウトを0.1に設定した。
表3中の上から2番目(DNN DP(RAW))は、生データを訓練データとして用いた場合の評価結果を示す。表3中の上から3番目(DNN DP(BN200))は、識別ボトルネック特徴を訓練データとして用いた場合の評価結果を示す。
一方、本実施の形態に従う分類器10について、上述のNIST50言語データセットに対する最良の設定と同様の構造的および実験的な設定を用いた。このときの評価結果を表3中の4番目(cGAN−classifier DT(RAW,BN200))に示す。表3に示すように、本実施の形態に従う分類器10は、DNNシステムに比較して28.7%の性能改善を示し、ロジスティック回帰ベースのシステムに比較して44.5%の性能改善を示している。
[G.別のタスクに対する性能評価]
次に、本実施の形態に従う分類器10をMINST(mixed national institute of standards and technology database)に適用した場合の評価結果を示す。MINSTは、手書きの数字(0〜9)に正解ラベルが付与されたデータセットである。
次に、MINSTに対する評価結果の一例を表4に示す。表4中の数字は、誤り率を示し、その値が小さい程、分類性能が高いと言える。
Figure 0006928371
比較対象として、すべての訓練データをラベル付きデータおよびラベルなしデータとして設定した上で、準教師ありGANを用いた実験を行なった。評価結果を表4中の上から1番目(Semi−supervised GAN(All))に示している。
また、MINSTタスクに対しては、CNNモデルが従来のDNNモデルに比較してより高い効率性を示すことが示されている。そのため、比較例として、実サンプルx realを生成するために、より効率的なCNNベースの非線形の変換関数DT(CNN−DT)を用いた。
表4中の上から2番目(DNN DP(CNN−DT))には、DPマッチングを組み合わせたDNNモデルに対して、CNNベースの非線形の変換関数DTを用いて変換したデータを訓練データとした場合の評価結果を示す。
表4中の上から3番目(cGAN−classifier DT(RAW,CNN−DT))は、本実施の形態に従う分類器10の評価結果を示す。この評価結果において、784次元の画像ベクトル(画像に対して他の前処理は行なっていない)を生成ネットワーク22の入力として用いた。
表4に示すように、本実施の形態に従う分類器10によれば、MINSTタスクについても、従前の他のGANモデルを用いた場合に比較して、より高い分類性能を示すことが分かる。
[H.まとめ]
本実施の形態に従う分類器は、教師ありcGANベースのフレームワークを有している。従来のGANモデルは、イメージ生成または準教師あり学習の用途に用いられることを主目的としていたが、本実施の形態に従う分類器は、教師あり学習のフレームワークとして用いることができるとともに、そのフレームワークのまま分類タスクにも応用が可能である。すなわち、十分に学習されたネットワークをそのまま用いて分類を行なうことができる。
本実施の形態に従う分類器のフレームワークにおいては、最適化および生成された特徴の選択を自動化することにより、生成されるサンプルを定量的に評価する必要がない。すなわち、識別ネットワーク24から出力されるクラスフラグ36は分類性能の最適化に用いることができ、識別ネットワーク24から出力される「Real/Fake」の識別出力34はモデルの生成性能の最適化に用いることができる。
上述の評価結果に示されるように、本実施の形態に従う分類器は、従来手法に比較して、より高い分類性能を有し得ることが分かる。また、上述の評価結果に示されるように、実サンプルx realを出力するための変換関数DTの設計が非常に重要である。この変換関数DTをより好ましく設計することで、より高い分類性能を実現できる。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 言語自動選択システム、2 音声入力、4 選択器、6 言語システム、10 分類器、20 コンピュータ、22 生成ネットワーク、24 識別ネットワーク、26 条件情報、28 ノイズ、30 生成サンプル、32 実サンプル、34 識別出力、36 クラスフラグ、100 プロセッサ、102 主メモリ、104 ディスプレイ、106 入力デバイス、108 ネットワークインターフェイス、110 内部バス、112 二次記憶装置、114 学習プログラム、116 分類プログラム、118 ネットワークパラメータ、120 訓練データ、134 光学ドライブ、136 光学ディスク、DT 変換関数。

Claims (6)

  1. 入力データがいずれのクラスに属するのかを出力する分類器であって、
    予め定められた変換関数を用いて前記入力データに含まれる特徴量を示す第1のサンプルを生成する変換手段と、
    前記入力データに関連付けられた条件情報およびノイズの入力を受けて、第2のサンプルを生成する生成ネットワークと、
    前記第1のサンプルからなる入力または前記第1のサンプルと前記第2のサンプルとの結合からなる入力を受けて、入力されるサンプルの種別、および、前記入力データが属するクラスを出力する識別ネットワークと、
    予めクラスラベルが付与された訓練データを前記入力データとして、前記変換手段により第1の訓練サンプルを生成するとともに、前記生成ネットワークにより第2の訓練サンプルを生成する訓練サンプル生成手段と、
    前記第1の訓練サンプルからなる入力および前記第1の訓練サンプルと前記第2の訓練サンプルとの結合からなる入力を前記識別ネットワークにそれぞれ与えたときに出力されるサンプルの種別が互いに識別されるとともに、前記識別ネットワークから出力されるクラスが対応する訓練データに付与されたクラスラベルと一致するように、前記識別ネットワークのパラメータを更新する第1の更新手段とを備える、分類器。
  2. 前記第1の訓練サンプルからなる入力および前記第1の訓練サンプルと前記第2の訓練サンプルとの結合からなる入力を前記識別ネットワークにそれぞれ与えたときに出力されるサンプルの種別が互いに一致するように、前記生成ネットワークのパラメータを更新する第2の更新手段をさらに備える、請求項1に記載の分類器。
  3. 前記第1の更新手段は、前記第1の訓練サンプルからなる入力および前記第1の訓練サンプルと前記第2の訓練サンプルとの結合からなる入力を前記識別ネットワークにそれぞれ与えたときに出力されるサンプルの種別を互いに識別できる確率と、前記識別ネットワークから出力されるクラスが対応する訓練データに付与されたクラスラベルとが一致する確率とを要素として含む目的関数に基づいて、前記識別ネットワークのパラメータを更新する、請求項1または2に記載の分類器。
  4. 入力データがいずれのクラスに属するのかを出力する分類器であって、
    予め定められた変換関数を用いて前記入力データに含まれる特徴量を示す第1のサンプルを生成する変換手段と、
    前記入力データに関連付けられた条件情報およびノイズの入力を受けて、第2のサンプルを生成する生成ネットワークと、
    前記第1のサンプルからなる入力または前記第1のサンプルと前記第2のサンプルとの結合からなる入力を受けて、入力されるサンプルの種別、および、前記入力データが属するクラスを出力する識別ネットワークと、
    任意の入力データから前記変換手段により前記第1のサンプルを生成するとともに、前記生成ネットワークにより前記第2のサンプルを生成し、前記第1のサンプルと前記第2のサンプルとの結合からなる入力を前記識別ネットワークに与えたときに出力されるクラスを前記任意の入力データが属するクラスを出力する分類手段とを備え、
    前記識別ネットワークのパラメータは、前記変換手段により訓練データから生成された第1の訓練サンプルからなる入力および前記第1の訓練サンプルと前記生成ネットワークにより生成された第2の訓練サンプルとの結合からなる入力を前記識別ネットワークにそれぞれ与えたときに出力されるサンプルの種別が互いに識別されるとともに、前記識別ネットワークから出力されるクラスが対応する訓練データに付与されたクラスラベルと一致するように決定されている、分類器。
  5. 入力データがいずれのクラスに属するのかを出力する分類器の学習方法であって、
    予め定められた変換関数を用いて前記入力データに含まれる特徴量を示す第1のサンプルを生成するステップと、
    前記入力データに関連付けられた条件情報およびノイズの入力を受けて、同次元の第2のサンプルを生成する生成ネットワークを学習するステップと、
    前記第1のサンプルからなる入力または前記第1のサンプルと前記第2のサンプルとの結合からなる入力を受けて、入力されるサンプルの種別、および、前記入力データが属するクラスを出力する識別ネットワークを学習するステップと、
    予めクラスラベルが付与された訓練データから前記変換関数を用いた第1の訓練サンプルを生成するとともに、前記訓練データを前記生成ネットワークに入力して第2の訓練サンプルを生成するステップとを備え、
    前記識別ネットワークを学習するステップは、前記第1の訓練サンプルからなる入力および前記第1の訓練サンプルと前記第2の訓練サンプルとの結合からなる入力を前記識別ネットワークにそれぞれ与えたときに出力されるサンプルの種別が互いに識別されるとともに、前記識別ネットワークから出力されるクラスが対応する訓練データに付与されたクラスラベルと一致するように、前記識別ネットワークのパラメータを更新するステップを備える、分類器の学習方法。
  6. 入力データがいずれのクラスに属するのかを出力する分類器における分類方法であって、
    任意の入力データから予め定められた変換関数を用いて当該前記入力データに含まれる特徴量を示す第1のサンプルを生成するステップを備え、前記分類器は、
    前記入力データに関連付けられた条件情報およびノイズの入力を受けて、第2のサンプルを生成する生成ネットワークと、
    前記第1のサンプルからなる入力または前記第1のサンプルと前記第2のサンプルとの結合からなる入力を受けて、入力されるサンプルの種別、および、前記入力データが属するクラスを出力する識別ネットワークとを備え、前記分類方法は、
    前記任意の入力データから前記生成ネットワークを用いて前記第2のサンプルを生成するステップと、
    前記第1のサンプルと前記第2のサンプルとの結合からなる入力を前記識別ネットワークに与えたときに出力されるクラスとして前記任意の入力データが属するクラスを出力するステップとを備え、
    前記識別ネットワークのパラメータは、前記変換関数により訓練データから生成された第1の訓練サンプルからなる入力および前記第1の訓練サンプルと前記生成ネットワークにより生成された第2の訓練サンプルとの結合からなる入力を前記識別ネットワークにそれぞれ与えたときに出力されるサンプルの種別が互いに識別されるとともに、前記識別ネットワークから出力されるクラスが対応する訓練データに付与されたクラスラベルと一致するように決定されている、分類器における分類方法。
JP2017149271A 2017-08-01 2017-08-01 分類器、分類器の学習方法、分類器における分類方法 Active JP6928371B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017149271A JP6928371B2 (ja) 2017-08-01 2017-08-01 分類器、分類器の学習方法、分類器における分類方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017149271A JP6928371B2 (ja) 2017-08-01 2017-08-01 分類器、分類器の学習方法、分類器における分類方法

Publications (2)

Publication Number Publication Date
JP2019028839A JP2019028839A (ja) 2019-02-21
JP6928371B2 true JP6928371B2 (ja) 2021-09-01

Family

ID=65478597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017149271A Active JP6928371B2 (ja) 2017-08-01 2017-08-01 分類器、分類器の学習方法、分類器における分類方法

Country Status (1)

Country Link
JP (1) JP6928371B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7103987B2 (ja) * 2019-03-22 2022-07-20 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
CN110097130B (zh) * 2019-05-07 2022-12-13 深圳市腾讯计算机系统有限公司 分类任务模型的训练方法、装置、设备及存储介质
CN111985601A (zh) * 2019-05-21 2020-11-24 富士通株式会社 用于增量学习的数据识别方法
EP3742346A3 (en) * 2019-05-23 2021-06-16 HTC Corporation Method for training generative adversarial network (gan), method for generating images by using gan, and computer readable storage medium
JP7443030B2 (ja) 2019-11-21 2024-03-05 キヤノン株式会社 学習方法、プログラム、学習装置、および、学習済みウエイトの製造方法
KR102364865B1 (ko) * 2019-12-23 2022-02-18 주식회사 엘지씨엔에스 제품의 양불을 판정하는 방법 및 장치
CN111310592B (zh) * 2020-01-20 2023-06-16 杭州视在科技有限公司 一种基于场景分析和深度学习的检测方法
JP7444625B2 (ja) 2020-02-03 2024-03-06 株式会社野村総合研究所 質問回答装置
KR102263438B1 (ko) 2020-02-06 2021-06-10 엔에이치엔 주식회사 딥러닝 기반의 게임 플레이 서버를 이용한 게임 난이도 예측 방법 및 그 장치
CN111553811B (zh) * 2020-05-02 2022-09-20 大连理工大学 基于迭代机器学习的供水管网泄漏区域识别方法
CN111625697A (zh) * 2020-05-12 2020-09-04 深圳赋乐科技有限公司 一种基于条件生成对抗网络的网络数据标识过滤方法
JP7290608B2 (ja) * 2020-06-16 2023-06-13 Kddi株式会社 機械学習装置、機械学習方法及び機械学習プログラム
CN111767949A (zh) * 2020-06-28 2020-10-13 华南师范大学 一种基于特征和样本对抗共生的多任务学习方法及其系统
CN112115264B (zh) * 2020-09-14 2024-03-22 中科苏州智能计算技术研究院 面向数据分布变化的文本分类模型调整方法
JP7464517B2 (ja) 2020-12-25 2024-04-09 Kddi株式会社 訓練データ生成装置、訓練データ生成方法及び訓練データ生成プログラム
KR20220120052A (ko) * 2021-02-22 2022-08-30 삼성전자주식회사 데이터를 생성하는 전자 장치 및 그 동작 방법
CN115114467B (zh) * 2021-03-17 2024-05-14 腾讯科技(深圳)有限公司 图片神经网络模型的训练方法以及装置
CN113222147B (zh) * 2021-05-11 2024-02-13 北华航天工业学院 一种条件双对抗学习推理模型的构建方法
CN113269139B (zh) * 2021-06-18 2023-09-26 中电科大数据研究院有限公司 一种针对复杂场景的自学习大规模警员图像分类模型
CN114501164A (zh) * 2021-12-28 2022-05-13 海信视像科技股份有限公司 音视频数据的标注方法、装置及电子设备
CN117612020A (zh) * 2024-01-24 2024-02-27 西安宇速防务集团有限公司 基于sgan对抗神经网络遥感影像要素变化的检测方法

Also Published As

Publication number Publication date
JP2019028839A (ja) 2019-02-21

Similar Documents

Publication Publication Date Title
JP6928371B2 (ja) 分類器、分類器の学習方法、分類器における分類方法
US20190354810A1 (en) Active learning to reduce noise in labels
Zhang et al. Dive into deep learning
Raschka et al. Python machine learning: Machine learning and deep learning with Python, scikit-learn, and TensorFlow 2
US11062179B2 (en) Method and device for generative adversarial network training
JP7193252B2 (ja) 画像の領域のキャプション付加
CN111602148B (zh) 正则化神经网络架构搜索
Raschka Python machine learning
Jia et al. Caffe: Convolutional architecture for fast feature embedding
US11455527B2 (en) Classification of sparsely labeled text documents while preserving semantics
Chen et al. Big data deep learning: challenges and perspectives
Lee et al. Emotion recognition using a hierarchical binary decision tree approach
JP5171962B2 (ja) 異種データセットからの知識移転を伴うテキスト分類
CN111356997A (zh) 具有颗粒化注意力的层次神经网络
CN115485696A (zh) 机器学习模型的对抗预训练
US10796098B2 (en) Instruction understanding system and instruction understanding method
US20200242736A1 (en) Method for few-shot unsupervised image-to-image translation
US10796104B1 (en) Systems and methods for constructing an artificially diverse corpus of training data samples for training a contextually-biased model for a machine learning-based dialogue system
US20190311258A1 (en) Data dependent model initialization
EP3916597A1 (en) Detecting malware with deep generative models
WO2014073206A1 (ja) 情報処理装置、及び、情報処理方法
WO2023088174A1 (zh) 目标检测方法及装置
Raschka et al. Python machine learning second edition
US10546246B2 (en) Enhanced kernel representation for processing multimodal data
US11868440B1 (en) Statistical model training systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210618

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210730

R150 Certificate of patent or registration of utility model

Ref document number: 6928371

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150