(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-15
(45)【発行日】2024-10-23
(54)【発明の名称】学習装置、推定装置、学習方法及び学習プログラム
(51)【国際特許分類】
G06N 3/09 20230101AFI20241016BHJP
G06N 20/00 20190101ALI20241016BHJP
G06N 3/04 20230101ALI20241016BHJP
【FI】
G06N3/09
G06N20/00 130
G06N3/04
(21)【出願番号】P 2023539586
(86)(22)【出願日】2021-08-06
(86)【国際出願番号】 JP2021029440
(87)【国際公開番号】W WO2023013075
(87)【国際公開日】2023-02-09
【審査請求日】2024-01-11
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】俵 直弘
(72)【発明者】
【氏名】小川 厚徳
(72)【発明者】
【氏名】北岸 佑樹
(72)【発明者】
【氏名】神山 歩相名
【審査官】千葉 久博
(56)【参考文献】
【文献】国際公開第2021/117085(WO,A1)
【文献】国際公開第2021/95509(WO,A1)
【文献】TAWARA, N et al.,Age-VOX-Celeb: Multi-Modal Corpus for Facial and Speech Estimation,ICASSP 2021 - 2021 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP),IEEE,2021年06月,pp. 6963-6967,[retrieved on 2021.10.13], Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/document/9414272>,<DOI: 10.1109/ICASSP39728.2021.9414272>
【文献】ZHU, Y et al.,Deep Subdomain Adaptation Network for Image Classification,IEEE Transactions on Neural Networks and Learning Systems [online],IEEE,2020年,Vol. 32, No. 4,pp. 1713-1722,[retrieved on 2021.10.13], Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/document/9085896>,<DOI: 10.1109/TNNLS.2020.2988928>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/09
G06N 20/00
G06N 3/04
(57)【特許請求の範囲】
【請求項1】
第1のニューラルネットワークを用いて、年齢ラベル付きのソースデータを特徴量ベクトルに変換し、年齢ラベルが付与されていないターゲットデータを特徴量ベクトルに変換する変換部と、
第2のニューラルネットワークを用いて、前記変換部によって変換されたソースデータの特徴量ベクトルから対象人物の年齢に対する事後確率を推定する第1の推定部と、
第3のニューラルネットワークを用いて、前記ソースデータの特徴量ベクトルから対象人物の年代に対する事後確率を推定し、前記ターゲットデータの特徴量ベクトルから対象人物の年代に対する事後確率を推定する第2の推定部と、
前記第1の推定部によって推定された前記ソースデータの年齢に対する事後確率及び前記第2の推定部によって推定された前記ソースデータの年代に対する事後確率に対して、対象人物の正解の年齢の事後確率と正解の年代の事後確率とが最も大きくなるようにしつつ、前記第2の推定部によって推定された前記ターゲットデータの年代の事後確率と前記ソースデータの正解年代とを条件として、前記変換部により変換された前記ソースデータの特徴量ベクトルと前記ターゲットデータの特徴量ベクトルとの分布を、年代ごとに事前に定義した分布間距離基準で近づけるように、前記第1のニューラルネットワークと前記第2のニューラルネットワークと前記第3のニューラルネットワークとの各パラメータを更新する更新部と、
を有することを特徴とする学習装置。
【請求項2】
前記変換部に入力するデータとして、ソースデータ群から前記ソースデータを一つ選択し、ターゲットデータ群から前記ターゲットデータをランダムに選択するデータ選択部をさらに有することを特徴とする請求項1に記載の学習装置。
【請求項3】
前記ソースデータは、運用時とは異なる環境で収録した年齢ラベル付きのデータであり、
前記ターゲットデータは、運用時と同一の環境で収録した、年齢ラベルが付与されていないデータであることを特徴とする請求項1または2に記載の学習装置。
【請求項4】
所定の条件を満たすまで、前記変換部、前記第1の推定部、前記第2の推定部及び前記更新部による処理を繰り返し実行させる制御処理部をさらに有することを特徴とする請求項1~3のいずれか一つに記載の学習装置。
【請求項5】
第1のニューラルネットワークを用いて、データを特徴量ベクトルに変換する変換部と、
第2のニューラルネットワークを用いて、前記変換部によって変換された特徴量ベクトルから対象人物の年齢を推定する推定部と、
を有し、
前記第1のニューラルネットワーク及び前記第2のニューラルネットワークは、前記第2のニューラルネットワークによって推定された、年齢ラベル付きのソースデータの各年齢に対する事後確率、及び、人物の年代に対する事後確率を推定する第3のニューラルネットワークによって推定された前記ソースデータの年代に対する事後確率に対して、対象人物の正解の年齢の事後確率と正解の年代の事後確率とが最も大きくなるようにしつつ、前記第3のニューラルネットワークによって推定された、年齢ラベルが付与されていないターゲットデータの年代の事後確率と前記ソースデータの正解年代とを条件として、前記第1のニューラルネットワークによって変換された前記ソースデータの特徴量ベクトルと前記ターゲットデータの特徴量ベクトルとの分布を、年代ごとに事前に定義した分布間距離基準で近づけるように、学習されたことを特徴とする推定装置。
【請求項6】
学習装置が実行する学習方法であって、
第1のニューラルネットワークを用いて、年齢ラベル付きのソースデータを特徴量ベクトルに変換し、年齢ラベルが付与されていないターゲットデータを特徴量ベクトルに変換する変換工程と、
第2のニューラルネットワークを用いて、前記変換工程において変換されたソースデータの特徴量ベクトルから対象人物の年齢に対する事後確率を推定する第1の推定工程と、
第3のニューラルネットワークを用いて、前記ソースデータの特徴量ベクトルから対象人物の年代に対する事後確率を推定し、前記ターゲットデータの特徴量ベクトルから対象人物の年代に対する事後確率を推定する第2の推定工程と、
前記第1の推定工程において推定された前記ソースデータの年齢に対する事後確率及び前記第2の推定工程において推定された前記ソースデータの年代に対する事後確率に対して、対象人物の正解の年齢の事後確率と正解の年代の事後確率とが最も大きくなるようにしつつ、前記第2の推定工程において推定された前記ターゲットデータの年代の事後確率と前記ソースデータの正解年代とを条件として、前記変換工程において変換された前記ソースデータの特徴量ベクトルと前記ターゲットデータの特徴量ベクトルとの分布を、年代ごとに事前に定義した分布間距離基準で近づけるように、前記第1のニューラルネットワークと前記第2のニューラルネットワークと前記第3のニューラルネットワークとの各パラメータを更新する更新工程と、
を含んだことを特徴とする学習方法。
【請求項7】
コンピュータを請求項1~4のいずれか一つに記載の学習装置として機能させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、推定装置、学習方法及び学習プログラムに関する。
【背景技術】
【0002】
人物の年齢を顔画像や音声から推定する年齢推定技術が、コールセンターやマーケティング分野において求められている。これに対し、近年、音声処理及び画像処理分野において、ニューラルネットワーク(NN)を用いた人物年齢推定手法(例えば、非特許文献1)が知られている。
【0003】
非特許文献1では、音声信号を特徴量ベクトルに変換するNNと、特徴量ベクトルから年齢ラベルの事後確率を推定するNNとを連結し、正解の年齢値に対する事後確率を最大とするように、これらのNNを同時に学習させることで、高い精度で年齢を推定できることが記載されている。
【0004】
ここで、NNに基づく年齢推定手法では、NNの学習時とNNの運用時とにおいて、入力データの収録条件が一致していないと、性能が著しく低下することが知られている。例えば、非特許文献1には、顔画像及び音声を利用した年齢推定タスクにおいて、学習時と運用時とで異なる収録機器を用いると、学習時と運用時とで入力データの分布が著しく変化するため、年齢推定精度が大きく低下することが記載されている。
【0005】
このような入力データの性質の違いによるNNの性能低下は、画像処理分野でよく知られている現象で、解決手法がいくつか提案されている(例えば、非特許文献2,3)。
【0006】
例えば、非特許文献2には、NNの学習時に、運用時とは異なる環境で収集し、教師ラベルを付与した学習用データ(ソースデータ)とともに、運用時と同じ環境で収集した教師ラベルが付与されていないデータ(ターゲットデータ)を用いることで、この問題を解決する手法が記載されている。この方法では、ソースデータとターゲットデータとを入力し、得られたNNの中間出力について、お互いの分布間の距離をMaximum mean discrepancy(MMD)基準で算出し、これを最小化するようにNNを学習させることで、入力データ分布の不一致に起因する性能低下が抑制できることが記載されている。
【0007】
しかしながら、非特許文献2記載の手法では、推定すべきクラスとは無関係に各データの分布を近づけてしまうため、本来の目的のクラス分類精度が下がってしまうという問題があった。
【0008】
このため、非特許文献3には、まず、ターゲットデータのクラス推定を行い、推定したクラス事後確率に基づきクラスごとに分布を近づけるLocal MMDと呼ばれる技術を導入することでこの問題を解決できることが記載されている。
【先行技術文献】
【非特許文献】
【0009】
【文献】N. Tawara et al., “AGE-VOX-CELEB: MULTI-MODAL CORPUS FOR FACIAL AND SPEECH ESTIMATION”, In Proc. ICASSP, pp.6963-6967, 2021.
【文献】M. Long et al., “Learning Transferable Features with Deep Adaptation Networks”, In International conference on machine learning, pp. 97-105, 2015.
【文献】Y. Zhu et al., “Deep Subdomain Adaptation Network for Image Classification”, IEEE transactions on neural networks and learning systems, 2020.
【発明の概要】
【発明が解決しようとする課題】
【0010】
非特許文献2,3に記載の手法は、画像分類のような互いに独立なラベルを推定する問題のために開発されており、年齢のような順序のあるラベルを推定する問題では適切に動作しない。
【0011】
例えば、非特許文献3に記載の技術では、まず、ターゲットデータに対しラベルを推定し、推定したラベルを基にソースデータとターゲットデータとの分布を近づけることで分布の不一致の問題を解消する。
【0012】
しかしながら、非特許文献3に記載の技術の場合、年齢推定問題では、例えば20歳と25歳との違いは、20歳と80歳との違いより大きいといったようにラベルの順序があるため、この順序を無視してクラスごとに独立に2つの分布を近づけようとすると性能が低下するという問題があった。
【0013】
本発明は、上記に鑑みてなされたものであって、学習時と運用時とにおけるデータの収録条件に違いがある場合であっても頑健な年齢推定器を取得することができる学習装置、推定装置、学習方法及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
上述した課題を解決し、目的を達成するために、本発明に係る学習装置は、第1のニューラルネットワークを用いて、年齢ラベル付きのソースデータを特徴量ベクトルに変換し、年齢ラベルが付与されていないターゲットデータを特徴量ベクトルに変換する変換部と、第2のニューラルネットワークを用いて、変換部によって変換されたソースデータの特徴量ベクトルから対象人物の年齢に対する事後確率を推定する第1の推定部と、第3のニューラルネットワークを用いて、ソースデータの特徴量ベクトルから対象人物の年代に対する事後確率を推定し、ターゲットデータの特徴量ベクトルから対象人物の年代に対する事後確率を推定する第2の推定部と、第1の推定部によって推定されたソースデータの年齢に対する事後確率及び第2の推定部によって推定されたソースデータの年代に対する事後確率に対して、対象人物の正解の年齢の事後確率と正解の年代の事後確率とが最も大きくなるようにしつつ、第2の推定部によって推定されたターゲットデータの年代の事後確率とソースデータの正解年代とを条件として、変換部により変換されたソースデータの特徴量ベクトルとターゲットデータの特徴量ベクトルとの分布を、年代ごとに事前に定義した分布間距離基準で近づけるように、第1のニューラルネットワークと第2のニューラルネットワークと第3のニューラルネットワークとの各パラメータを更新する更新部と、を有することを特徴とする。
【0015】
また、本発明かかる推定装置は、第1のニューラルネットワークを用いて、データを特徴量ベクトルに変換する変換部と、第2のニューラルネットワークを用いて、変換部によって変換された特徴量ベクトルから対象人物の年齢を推定する推定部と、を有し、第1のニューラルネットワーク及び第2のニューラルネットワークは、第2のニューラルネットワークによって推定された、年齢ラベル付きのソースデータの各年齢に対する事後確率、及び、人物の年代に対する事後確率を推定する第3のNNニューラルネットワークによって推定されたソースデータの年代に対する事後確率に対して、対象人物の正解の年齢の事後確率と正解の年代の事後確率とが最も大きくなるようにしつつ、第3のニューラルネットワークによって推定された、年齢ラベルが付与されていないターゲットデータの年代の事後確率とソースデータの正解年代とを条件として、第1のニューラルネットワークによって変換されたソースデータの特徴量ベクトルとターゲットデータの特徴量ベクトルとの分布を、年代ごとに事前に定義した分布間距離基準で近づけるように、学習されたことを特徴とする。
【発明の効果】
【0016】
本発明によれば、学習時と運用時とにおけるデータの収録条件に違いがある場合であっても頑健な年齢推定器を取得することができる。
【図面の簡単な説明】
【0017】
【
図1】
図1は、実施の形態に係る学習装置の構成の一例を模式的に示す図である。
【
図2】
図2は、
図2は、
図1に示す学習装置における処理の流れを説明する図である。
【
図3】
図3は、第1のNNの構成の一例を説明する図である。
【
図4】
図4は、第1のNNの構成の一例を説明する図である。
【
図5】
図5は、第2のNNの構成の一例を説明する図である。
【
図6】
図6は、第3のNNの構成の一例を説明する図である。
【
図7】
図7は、実施の形態に係る学習処理の処理手順を示すフローチャートである。
【
図8】
図8は、実施の形態に係る推定装置の構成の一例を模式的に示す図である。
【
図9】
図9は、
図8に示す推定装置が実行する推定処理手順を示すフローチャートである。
【
図10】
図10は、プログラムが実行されることにより、学習装置及び推定装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【0018】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。なお、以下では、ベクトルであるAに対し、“~A”と記載する場合は「“A”の直上に“~”が記された記号」と同等であるとする。
【0019】
[実施の形態]
本実施の形態では、入力の顔画像データや音声データから、ニューラルネットワーク(NN)を用いて人物の年齢を推定する推定モデルに対する学習について説明する。本実施の形態では、本来推定したい年齢の区分よりも大きな区分(例えば10歳刻みの年代など)でラベルの推定を行った後に、この大きな区分の中で、ソースデータとターゲットデータの特徴量の分布が近くなるようにNNの学習を行う。これにより、本実施の形態では、ラベルの順序を考慮しながら、学習時と運用時とのデータの収録条件の違いを吸収できる年齢推定器の取得を実現する。
【0020】
[学習装置]
次に、実施の形態に係る学習装置について説明する。
図1は、実施の形態に係る学習装置の構成の一例を模式的に示す図である。
図2は、
図1に示す学習装置における処理の流れを説明する図である。
【0021】
実施の形態に係る学習装置10は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、学習装置10は、有線接続、或いは、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。
【0022】
図1及び
図2に示すように、学習装置10は、データ選択部11、推定部12、更新部13及び制御処理部14を有する。学習装置10は、実際の運用時とは異なる収録条件で収集した年齢ラベル付きのソースデータと、運用時と同一環境で収録した、年齢ラベルが付与されていないデータ(ターゲットデータ)を用いる。ソースデータ及び適応用データは、顔画像データ或いは音声データである。ソースデータ及びターゲットデータは、顔画像データ或いは音声データである。
【0023】
データ選択部11は、特徴量変換部121(後述)に入力するデータとして、複数のソースデータを有する学習用データ(ソースデータ群)からソースデータを一つ選択し、複数のターゲットデータを有する適応用データ(ターゲットデータ群)からターゲットデータをランダムに選択する。データ選択部11は、選択したソースデータの正解年齢と、この正解年齢から求めたソースデータの正解年代とを更新部13に出力する。
【0024】
推定部12は、同一人物の顔画像データ或いは音声データに基づく複数の顔画像データ或いは音声データを基に、対象人物の年齢を推定する。推定部12は、特徴量変換部121(変換部)、年齢推定部122(第1の推定部)及び年代推定部123(第2の推定部)を有する。
【0025】
特徴量変換部121は、第1のNN1211を用いて、顔画像データ或いは音声データを、年齢推定用の特徴量ベクトルに変換する。特徴量変換部121は、ソースデータセットとターゲットデータセットとの中から、ソースデータとターゲットデータとを選択し、各データの特徴量ベクトルをそれぞれ抽出する。
【0026】
第1のNN1211は、データ選択部11がソースデータとターゲットデータとして選択した、人物の一連の顔画像データ或いは音声データを、特徴量ベクトルにそれぞれ変換するNNである。第1のNN1211は、データ選択部11が選択したソースデータを特徴量ベクトルに変換する。第1のNN1211は、データ選択部11が選択したターゲットデータを特徴量ベクトルに変換する。
【0027】
音声データを対象とする場合、第1のNN1211は、例えば、非特許文献1に記載の技術を用いて、音声データを特徴ベクトルに変換するNNにより実現される。
図3は、第1のNN1211の構成の一例を説明する図である。この場合、第1のNN1211は、例えば、
図3に示すような構造を持つNNにより実現される。一例を挙げると、第1のNN1211は、複数のtime-delay 層とstatistical pooling層なる畳み込みNNにより実現される。
【0028】
顔画像データを対象とする場合、第1のNN1211は、例えば、非特許文献2に記載の技術を用いて、顔画像データを特徴ベクトルに変換するNNにより実現される。
図4は、第1のNN1211の構成の一例を説明する図である。この場合、第1のNN1211は、例えば、
図4に示すような構造を持つNNにより実現される。一例を挙げると、第1のNN1211は、Squeeze-and-Excitationを採用した複数のResidual blockからなる畳み込みNNにより実現される。
【0029】
年齢推定部122は、第2のNN1221を用いて、特徴量変換部121によって変換されたソースデータの特徴量ベクトルから対象人物の年齢に対する事後確率を推定する。第2のNN1221は、第1のNN1211により変換された特徴量ベクトルから、対象人物の年齢を推定するNNである。
【0030】
第2のNN1221は、例えば、非特許文献1に記載の技術を用いて、特徴量ベクトルから対象人物の年齢値を推定するNNにより実現される。
図5は、第2のNN1221の構成の一例を説明する図である。この第2のNN1221は、例えば、
図5に示すような構造を持つNNにより実現される。一例を挙げると、第2のNN1221は、複数の512次元の全結合層と、推定したい年齢クラス数(例えば、0から100歳の101クラス)と同数次元の全結合層とにより実現される。
【0031】
年代推定部123は、第3のNN1231を用いて、特徴量変換部121によって変換されたソースデータの特徴量ベクトル及びターゲットデータの特徴量ベクトルから対象人物の年代に対する各事後確率を推定する。第3のNN1231は、第1のNN1211により変換された特徴量ベクトルから、対象人物の年代を推定するNNである。第3のNN1231は、ソースデータの特徴量ベクトルから、対象人物の年代に対する事後確率を推定する。第3のNN1231は、ターゲットデータの特徴量ベクトルから、対象人物の年代に対する事後確率を推定する。
【0032】
図6は、第3のNN1231の構成の一例を説明する図である。第3のNN1231は、例えば、
図6に示すような構造を持つNNにより実現される。第3のNN1231は、例えば、複数の512次元の全結合層と、事前に定義した年代クラス数と同数次元の全結合層とにより実現される。ただし、年代クラス数は、本来推定したい年齢区分以下とする。例えば第2のNN1221で0から100歳までの1歳刻みで推定する場合は、第3のNN1231では、0から100歳までの10歳刻み(10代、20代、・・・)である10クラスとすればよい。
【0033】
更新部13は、対象人物の正解の年齢クラスの事後確率と正解の年代クラスの事後確率を最大とするように第1のNN1211と第2のNN1221と第3のNN1231と各パラメータを更新する。このとき、更新部13は、ターゲットデータの特徴量ベクトルを第3のNN1231に入力し、ターゲットデータの対象人物の年代クラスの事後確率を得る。そして、更新部13は、第1のNN1211から出力されるソースデータの特徴量ベクトルとターゲットデータの特徴量ベクトルとについて、それぞれのソースデータの正解年代と、ターゲットデータの年代の事後確率とで重み付けた条件付き分布間距離を算出する。更新部13は、算出した条件付き分布間距離を最小とするように第1のNN1211と第2のNN1221と第3のNN1231との各パラメータを更新する。
【0034】
したがって、更新部13は、年齢推定部122によって推定されたソースデータの各年齢に対する事後確率及び年代推定部123によって推定されたソースデータの各年代に対する事後確率に対して、対象人物の正解の年齢の事後確率と正解の年代との事後確率とが最も大きくなるようにしつつ、年代推定部123によって推定されたターゲットデータの各年代の事後確率とソースデータの正解年代とを条件として、特徴量変換部121によって変換されたソースデータの特徴量ベクトルとターゲットデータの特徴量ベクトルとの分布を、年代ごとに事前に定義した分布間距離基準で近づけるように、第1のNN1211と第2のNN1221と第3のNN1231との各パラメータを更新する。
【0035】
例えば、ns個のソースデータに対し、第1のNN1211を適用し得られたソースデータの特徴量ベクトルをxs
1,xs
2,・・・,xs
nsとし,これらソースデータの特徴量ベクトルに対して第2のNN1221を適用し得られた年齢推定結果を~ys
1,~ys
2,・・・,~ys
nsとし、ソースデータの特徴量ベクトルに対して第3のNN1231を適用し得られた年代推定結果を~vs
1,~vs
2,・・・,~vs
nsとし、ソースデータの対象人物の正解年齢をそれぞれys
1,ys
2,・・・,ys
nsとし、ソースデータの対象人物の正解年代をvs
1,vs
2,・・・,vs
nsとすると損失関数Lは、式(1)で表される。
【0036】
【0037】
ただし、式(1)の第一項であるcross_entropy(~ys
i,ys
i)は、第2のNN1221により推定された年齢事後確率と正解の年齢ラベルとのクロスエントロピーである。また、式(2)の第二項であるcross_entropy(~vs
i,vs
i)は、第3の1131により推定された年代事後確率と正解の年代ラベルとのクロスエントロピーである。
【0038】
式(1)の第三項であるdH(ps,pt)は、ソースデータの特徴量ベクトルとターゲットデータの特徴量ベクトとの間の条件付き分布間距離を表す。dH(ps,pt)は、例えば、分布間距離として、非特許文献3で定義されたlocal maximum mean discrepancy(LMMD)を用いた場合、nt個のターゲットデータに対し、第1のNN1211を適用し得られた特徴量ベクトルをそれぞれxt
1,xt
2,・・・,xt
ntとすると、分布間距離dH(ps,pt)は、式(2)で表される。また、以降において、ターゲットデータの特徴量ベクトルに対して第3のNN1231を適用し得られた年代推定結果を~vt
1,~vt
2,・・・,~vt
ntとする。
【0039】
【0040】
このとき、Cは、年代クラス数を表す。wsc
iとwtc
jとは、それぞれ年代クラスcに対するi番目のソースデータとj番目のターゲットデータの寄与率(各年代クラスの条件付き分布間距離に寄与する重み)とを表し、第3のNN1231により得られたj番目のターゲットデータのc番目の年代クラスに対する事後確率をp(~vt
j=c|xt
j)とすると、式(3)で定義される。
【0041】
【0042】
更新対象のパラメータをθとして、更新部13は、式(1)で定義される損失関数Lを最小化するように、以下の式(4)によりパラメータ(第1のNN1211と第2のNN1221と第3のNN1231との各パラメータ)を更新する。
【0043】
【0044】
式(4)におけるμは、予め設定される学習重みで正の定数である。
【0045】
なお、式(1)におけるλは、条件付き分布間距離の学習重みで、学習時の初期は0に近い小さい値で、学習が進むに連れ徐々に1に近づくように設計される。例えば、更新部13の最大の繰り返し回数をIとすると、i回目の繰り返しの際の重みλiは、式(5)で算出できる。
【0046】
【0047】
ただし、式(5)におけるγは、予め設定される学習重みの速度を決定するパラメータで正の定数である。
【0048】
制御処理部14は、所定の条件を満たすまで、特徴量変換部121、年齢推定部122、年代推定部123及び更新部13による処理を繰り返し実行させる。制御処理部14は、所定の条件を満たすまで、更新部13による第1のNN1211と第2のNN1221と第3のNN1231とのパラメータの更新を繰り返し実行させる。所定の条件とは、例えば、所定の繰り返し回数に達する、第1のNN1211と第2のNN1221と第3のNN1231とのパラメータの更新量の総量が所定の閾値未満となる等、第1のNN1211と第2のNN1221と第3のNN1231との学習が充分に行われた状態となる条件である。
【0049】
[学習処理の処理手順]
次に、学習装置10が実行する学習処理について説明する。
図7は、実施の形態に係る学習処理の処理手順を示すフローチャートである。
【0050】
図7に示すように、学習装置10では、データ選択部11が、ソースデータとターゲットデータとを選択する(ステップS1)。データ選択部11は、ランダムにターゲットデータを選択する。そして、特徴量変換部121が、第1のNN1211を用いて、データ選択部11が選択したソースデータとターゲットデータとを特徴量ベクトルにそれぞれ変換する(ステップS2)。
【0051】
年齢推定部122は、第2のNN1221を用いて、特徴量変換部121によって変換されたソースデータの特徴量ベクトルから対象人物の年齢を推定する(ステップS3)。年代推定部123は、第3のNN1231を用いて、特徴量変換部121によって変換されたソースデータの特徴量ベクトルから対象人物の年代に対する事後確率を推定し、ターゲットデータの特徴量ベクトルから対象人物の年代に対する事後確率を推定する(ステップS4)。
【0052】
更新部13は、年齢推定部122によって推定されたソースデータの各年齢及び年代推定部123によって推定されたソースデータの各年代に対する事後確率に対して、対象人物の正解の年齢の事後確率と正解の年代との事後確率とが最も大きくなるようにしつつ、年代推定部123によって推定されたターゲットデータの各年代の事後確率とソースデータの正解年代とを条件として、特徴量変換部121によって変換されたソースデータの特徴量ベクトルとターゲットデータの特徴量ベクトルとの分布を、年代ごとに事前に定義した分布間距離基準で近づけるように、第1のNN1211と第2のNN1221と第3のNN1231との各パラメータを更新する(ステップS5)。
【0053】
制御処理部14は、所定の条件を満たすか否かを判定する(ステップS6)。所定の条件を満たしていない場合(ステップS6:No)、学習装置10は、ステップS2に戻り、データ加工、特徴量変換、年齢推定、パラメータ更新の各処理を行う。一方、所定の条件を満たした場合(ステップS6:Yes)、学習装置10は、学習処理を終了する。
【0054】
[推定装置]
次に、実施の形態に係る推定装置について説明する。
図8は、実施の形態に係る推定装置の構成の一例を模式的に示す図である。
図9は、
図8に示す推定装置が実行する推定処理手順を示すフローチャートである。
【0055】
図8に示す推定装置20は、第1のNN1211を有する特徴量変換部221(変換部)と、第2のNN1221を有する年齢推定部222(推定部)とを有する。第1のNN1211及び第2のNN1221は、学習装置10によって学習済みのNNである。
【0056】
特徴量変換部221は、顔画像データ或いは音声データの入力を受け付けると(
図9のステップS11)、第1のNN1211を用いて、顔画像データ或いは音声データを特徴量にそれぞれ変換する(
図9のステップS12)。
【0057】
年齢推定部222は、第2のNN1221を用いて、特徴量変換部211によって変換された特徴量ベクトルから対象人物の年齢を推定し(
図9のステップS13)、推定年齢を出力する(
図9のステップS14)。
【0058】
[評価実験]
次に、学習装置10によって、式(1)を基に学習された第1のNN1211及び第2のNN1221について評価実験を行った。ここでは、ヘッドセットマイクで収録した587話者の29076発話をソースデータとし、ソースデータとは異なるスマートフォン搭載のマイクロフォンで収録した409話者の8180発話をターゲットデータとして用いて、第1のNN1211、第2のNN1221及び第3のNN1231を学習した。その後、推定装置20は、ターゲットデータと同一のスマートフォン搭載のマイクロフォンで収録した120話者の1300発話に対し、第1のNN1211及び第2のNN1221を用いて、話者の年齢の推定を行った。
【0059】
その結果、推定装置20では、正解年齢値と、第1のNN1211及び第2のNN1221による話者の年齢の推定結果との平均絶対誤差は8.02歳であった。また、推定装置20では、正解年齢値と話者の年齢の推定結果との相関係数は0.84であった。
【0060】
一方、参考として、ソースデータのみで第1のNN1211及び第2のNN1221を学習した場合は、話者の年齢の推定結果との絶対誤差は11.76歳であり、その相関係数は0.71であった。このことから、学習装置10のように、年代ごとにソースデータとターゲットデータの分布を近づけるように第1のNN1211、第2のNN1221及び第3のNN1231を学習する方法が、有効に機能することが確認できた。
【0061】
[実施の形態の効果]
このように、本実施の形態によれば、学習時と運用時とにおけるデータの収録条件に違いがある場合であっても、これらの違いに頑強な特徴抽出器(第1のNN1211)と、年齢推定器(第2のNN1221)とを得ることができる。言い換えると、本実施の形態では、顔画像データ或いは音声データから年齢推定を行うNNを学習する場合に、「本来推定したい年齢の区分よりも大きな区分(例えば10歳刻みの年代など)でラベルの推定を行った後に、この大きな区分のなかで、ソースデータとターゲットデータの特徴量ベクトルの分布が近くなるようにNNの学習を行うことで、学習時と運用時とにおけるデータの収録条件に違いにかかわらず、高い精度で年齢推定結果を出力できるNNを実現することができた。
【0062】
なお、学習装置10は、ターゲットデータのラベルを推定し、この推定結果に基づきソースデータとターゲットデータとの分布を近づけてデータの不一致の問題を解決するという点において、非特許文献3に記載の技術と類似しているが、以下の点において相違する。
【0063】
第一に、非特許文献3記載の技術では、一般的な分類問題のように、推定すべきデータが互いに独立な離散ラベルのみを対象としている。これに対し、本実施の形態では、順序のある年齢ラベルを推定対象とするという点で異なる。
【0064】
第二に、非特許文献3記載の技術では、本来の推定対象であるラベルの推定結果を用いて分布を近づけることを試みている。これに対し、本実施の形態では、より粒度の粗い年代ごとに分布を近づけるよう学習を行っている。
【0065】
実施の形態では、このようにラベルの順序を考慮することで、年代ごとにより分布が近づけやすくなり、より高い性能改善が期待できる。
【0066】
このように、本実施の形態では、運用時とは異なる環境で収録した年齢ラベル付きのソースデータと、運用時と同一の環境で収録したが年齢ラベルが付与されていないターゲットデータとを用いることにより、ソースデータのみで学習する場合よりも、大幅に、特徴量変換器及び年齢推定器の性能を改善することができる。
【0067】
また、年齢ラベル付きデータを運用環境で収集するためには、各年代の話者を多く(数百人規模)集めることは非常に煩雑な処理であるため、本実施の形態のように、この処理を省略できることで、効率化を図ることができる。
【0068】
そして、推定対象のクラスごとに分布を近づけるという内容は非特許文献3と同様だが、非特許文献3に記載の技術では、年齢推定のようなタスクは想定しておらず、そのまま適用しても効果が薄い。これに対して、本実施の形態では、「年齢は順序のある値で、例えば年代のようなより大きい区分でも定義できるのでこの大きな区分で分布を近づける」ことで、高精度化な年齢推定器を実現した。
【0069】
なお、本実施の形態は、画像データ、音声データ等の入力の違いに関わらず適用可能である。具体的には、第1のNN1211を各入力データの種別に適したものに変えればよい。
【0070】
[実施の形態のシステム構成について]
学習装置10及び推定装置20の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、学習装置10及び推定装置20の機能の分散及び統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
【0071】
また、学習装置10及び推定装置20においておこなわれる各処理は、全部または任意の一部が、CPU、GPU(Graphics Processing Unit)、及び、CPU、GPUにより解析実行されるプログラムにて実現されてもよい。また、学習装置10及び推定装置20においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
【0072】
また、実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述及び図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
【0073】
[プログラム]
図10は、プログラムが実行されることにより、学習装置10及び推定装置20が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0074】
メモリ1010は、ROM1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0075】
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、学習装置10及び推定装置20の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、学習装置10及び推定装置20における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0076】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
【0077】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0078】
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【0079】
10 学習装置
11 データ選択部
12 推定部
13 更新部
14 制御処理部
121,221 特徴量変換部
122,222 年齢推定部
123 年代推定部
1211 第1のNN
1221 第2のNN
1231 第3のNN