(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-07
(45)【発行日】2022-12-15
(54)【発明の名称】学習装置、雰囲気認識装置、学習方法、及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20221208BHJP
G06N 3/08 20060101ALI20221208BHJP
【FI】
G06T7/00 350C
G06N3/08
(21)【出願番号】P 2019207750
(22)【出願日】2019-11-18
【審査請求日】2021-11-17
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100166006
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】王 亜楠
(72)【発明者】
【氏名】呉 剣明
(72)【発明者】
【氏名】帆足 啓一郎
【審査官】片岡 利延
(56)【参考文献】
【文献】特開2018-180628(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
複数の人物を被写体として含む複数の画像データと、前記画像データそれぞれの被写体に関する説明文と、前記画像データそれぞれの雰囲気を示すラベルとが対応づけられた教師データを取得する教師データ取得部と、
前記画像データに対応する説明文を、第1ベクトルデータに変換する第1ベクトル変換部と、
変換された前記第1ベクトルデータに対応する画像データを第2ベクトルデータに変換する第2ベクトル変換部と、
複数の層から構成される第1ニューラルネットワークに前記第1ベクトルデータを入力したときに、当該第1ベクトルデータに対応する前記ラベルを出力するように前記第1ニューラルネットワークを構成する各層のパラメータを学習する第1学習部と、
前記第1ニューラルネットワークを構成する層のうちの1部の層である特定層を共通に含む第2ニューラルネットワークに前記第2ベクトルデータを入力したときに、前記第2ニューラルネットワークにおける前記特定層に入力されるデータが前記第1ニューラルネットワークにおける前記特定層に入力されるデータと近づくように前記第2ニューラルネットワークを構成する各層のパラメータを学習する第2学習部と、
を備える学習装置。
【請求項2】
(1)前記第1ニューラルネットワークにおける前記特定層に入力されるデータと前記第2ニューラルネットワークにおける前記特定層に入力されるデータとの誤差と、(2)前記教師データに含まれるラベルと前記第1ニューラルネットワークの出力との誤差と、を含む評価関数の評価値を算出する評価値算出部をさらに備え、
前記第1学習部は、前記評価値に基づいて前記第1ニューラルネットワークを構成する各層のパラメータを更新し、
前記第2学習部は、前記評価値に基づいて前記第2ニューラルネットワークを構成する層のうち、入力層、前記特定層、及び前記入力層と前記特定層との間に存在する層のパラメータを更新する、
請求項1に記載の学習装置。
【請求項3】
前記第2学習部は、前記評価値があらかじめ定められた収束条件を満たすことを条件として、前記第2ニューラルネットワークに前記第2ベクトルデータを入力したときに、当該第2ベクトルデータに対応する前記ラベルを出力するように前記第2ニューラルネットワークを構成する各層のパラメータを学習する、
請求項2に記載の学習装置。
【請求項4】
前記第2学習部は、前記第2ニューラルネットワークを構成する層のうち、出力層と、前記出力層と前記特定層との間に存在する層のパラメータのみを学習する、
請求項3に記載の学習装置。
【請求項5】
請求項3又は4に記載の学習装置が生成した前記第2ニューラルネットワークを構成する各層のパラメータを学習モデルとして記憶する記憶部と、
画像データを取得する画像データ取得部と、
前記記憶部が記憶する学習モデルを前記画像データ取得部が取得した画像データに適用することにより、前記画像データの被写体の雰囲気を示すラベルを出力するモデル適用部と、
を備える雰囲気認識装置。
【請求項6】
プロセッサが、
複数の人物を被写体として含む複数の画像データと、前記画像データそれぞれの被写体に関する説明文と、前記画像データそれぞれの被写体の雰囲気を示すラベルとが対応づけられた教師データを取得するステップと、
前記画像データに対応する説明文を、第1ベクトルデータに変換するステップと、
変換された前記第1ベクトルデータに対応する前記画像データを第2ベクトルデータに変換するステップと、
複数の層から構成される第1ニューラルネットワークに前記第1ベクトルデータを入力したときに、当該第1ベクトルデータに対応する前記ラベルを出力するように前記第1ニューラルネットワークを構成する各層のパラメータを学習するステップと、
前記第1ニューラルネットワークを構成する層のうちの1部の層である特定層を共通に含む第2ニューラルネットワークに前記第2ベクトルデータを入力したときに、前記第2ニューラルネットワークにおける前記特定層が出力するベクトルが前記第1ニューラルネットワークにおける前記特定層が出力するベクトルと近づくように前記第2ニューラルネットワークを構成する各層のパラメータを学習するステップと、
を実行する学習方法。
【請求項7】
コンピュータに、
複数の人物を被写体として含む複数の画像データと、前記画像データそれぞれの被写体に関する説明文と、前記画像データそれぞれの被写体の雰囲気を示すラベルとが対応づけられた教師データを取得する機能と、
前記画像データに対応する説明文を、第1ベクトルデータに変換する機能と、
変換された前記第1ベクトルデータに対応する前記画像データを第2ベクトルデータに変換する機能と、
複数の層から構成される第1ニューラルネットワークに前記第1ベクトルデータを入力したときに、当該第1ベクトルデータに対応する前記ラベルを出力するように前記第1ニューラルネットワークを構成する各層のパラメータを学習する機能と、
前記第1ニューラルネットワークを構成する層のうちの1部の層である特定層を共通に含む第2ニューラルネットワークに前記第2ベクトルデータを入力したときに、前記第2ニューラルネットワークにおける前記特定層が出力するベクトルが前記第1ニューラルネットワークにおける前記特定層が出力するベクトルと近づくように前記第2ニューラルネットワークを構成する各層のパラメータを学習する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、雰囲気認識装置、学習方法、及びプログラムに関する。
【背景技術】
【0002】
従来、コミュニケーションシーンに参加している人間同士の雰囲気を認識する技術が提案されている。例えば、非特許文献1には、画像から顔、ポーズ、ジェスチャ、視線などの特徴量を抽出して、既知の深層学習手法を利用してグループレベルでの感情の認識モデルを実現するための技術が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Xin Guo, Bin Zhu, Luisa F. Polania, Charles Boncelet, and Kenneth E. Barner. 2018. Group-Level Emotion Recognition using Hybrid Deep Models based on Faces, Scenes, Skeletons and Visual Attentions. ACM International Conference on Multimodal Interaction 2018.
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の技術は、画像に含まれる視覚特徴を抽出して複数のモデルを構築し、それらのモデルで認識した結果を融合することで雰囲気認識の実現を試みる技術である。しかしながら、画像から抽出された低レベルの視覚特徴(例えば、顔特徴や表情特徴等)の組み合わせだけでは、実用的な認識性能を担保することが難しい場合がある。
【0005】
本発明はこれらの点に鑑みてなされたものであり、画像を入力とするニューラルネットワークの学習モデルに、画像以外の他の情報から得られる知識を移転させる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様は、学習装置である。この装置は、複数の人物を被写体として含む複数の画像データと、前記画像データそれぞれの被写体に関する説明文と、前記画像データそれぞれの雰囲気を示すラベルとが対応づけられた教師データを取得する教師データ取得部と、前記画像データに対応する説明文を、第1ベクトルデータに変換する第1ベクトル変換部と、変換された前記第1ベクトルデータに対応する画像データを第2ベクトルデータに変換する第2ベクトル変換部と、複数の層から構成される第1ニューラルネットワークに前記第1ベクトルデータを入力したときに、当該第1ベクトルデータに対応する前記ラベルを出力するように前記第1ニューラルネットワークを構成する各層のパラメータを学習する第1学習部と、前記第1ニューラルネットワークを構成する層のうちの1部の層である特定層を共通に含む第2ニューラルネットワークに前記第2ベクトルデータを入力したときに、前記第2ニューラルネットワークにおける前記特定層に入力されるデータが前記第1ニューラルネットワークにおける前記特定層に入力されるデータと近づくように前記第2ニューラルネットワークを構成する各層のパラメータを学習する第2学習部と、を備える。
【0007】
前記学習装置は、(1)前記第1ニューラルネットワークにおける前記特定層に入力されるデータと前記第2ニューラルネットワークにおける前記特定層に入力されるデータとの誤差と、(2)前記教師データに含まれるラベルと前記第1ニューラルネットワークの出力との誤差と、を含む評価関数の評価値を算出する評価値算出部をさらに備えてもよく、前記第1学習部は、前記評価値に基づいて前記第1ニューラルネットワークを構成する各層のパラメータを更新してもよく、前記第2学習部は、前記評価値に基づいて前記第2ニューラルネットワークを構成する層のうち、入力層、前記特定層、及び前記入力層と前記特定層との間に存在する層のパラメータを更新してもよい。
【0008】
前記第2学習部は、前記評価値があらかじめ定められた収束条件を満たすことを条件として、前記第2ニューラルネットワークに前記第2ベクトルデータを入力したときに、当該第2ベクトルデータに対応する前記ラベルを出力するように前記第2ニューラルネットワークを構成する各層のパラメータを学習してもよい。
【0009】
前記第2学習部は、前記第2ニューラルネットワークを構成する層のうち、出力層と、前記出力層と前記特定層との間に存在する層のパラメータのみを学習してもよい。
【0010】
本発明の第2の態様は、雰囲気認識装置である。この装置は、上述した学習装置が生成した前記第2ニューラルネットワークを構成する各層のパラメータを学習モデルとして記憶する記憶部と、画像データを取得する画像データ取得部と、前記記憶部が記憶する学習モデルを前記画像データ取得部が取得した画像データに適用することにより、前記画像データの被写体の雰囲気を示すラベルを出力するモデル適用部と、を備える。
【0011】
本発明の第3の態様は、学習方法である。この方法において、プロセッサが、複数の人物を被写体として含む複数の画像データと、前記画像データそれぞれの被写体に関する説明文と、前記画像データそれぞれの被写体の雰囲気を示すラベルとが対応づけられた教師データを取得するステップと、前記画像データに対応する説明文を、第1ベクトルデータに変換するステップと、変換された前記第1ベクトルデータに対応する前記画像データを第2ベクトルデータに変換するステップと、複数の層から構成される第1ニューラルネットワークに前記第1ベクトルデータを入力したときに、当該第1ベクトルデータに対応する前記ラベルを出力するように前記第1ニューラルネットワークを構成する各層のパラメータを学習するステップと、前記第1ニューラルネットワークを構成する層のうちの1部の層である特定層を共通に含む第2ニューラルネットワークに前記第2ベクトルデータを入力したときに、前記第2ニューラルネットワークにおける前記特定層が出力するベクトルが前記第1ニューラルネットワークにおける前記特定層が出力するベクトルと近づくように前記第2ニューラルネットワークを構成する各層のパラメータを学習するステップと、を実行する。
【0012】
本発明の第4の態様はプログラムである。このプログラムは、コンピュータに、複数の人物を被写体として含む複数の画像データと、前記画像データそれぞれの被写体に関する説明文と、前記画像データそれぞれの被写体の雰囲気を示すラベルとが対応づけられた教師データを取得する機能と、前記画像データに対応する説明文を、第1ベクトルデータに変換する機能と、変換された前記第1ベクトルデータに対応する前記画像データを第2ベクトルデータに変換する機能と、複数の層から構成される第1ニューラルネットワークに前記第1ベクトルデータを入力したときに、当該第1ベクトルデータに対応する前記ラベルを出力するように前記第1ニューラルネットワークを構成する各層のパラメータを学習する機能と、前記第1ニューラルネットワークを構成する層のうちの1部の層である特定層を共通に含む第2ニューラルネットワークに前記第2ベクトルデータを入力したときに、前記第2ニューラルネットワークにおける前記特定層が出力するベクトルが前記第1ニューラルネットワークにおける前記特定層が出力するベクトルと近づくように前記第2ニューラルネットワークを構成する各層のパラメータを学習する機能と、を実現させる。
【0013】
このプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【0014】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0015】
本発明によれば、画像を入力とするニューラルネットワークの学習モデルに、画像以外の他の情報から得られる知識を移転させることができる。
【図面の簡単な説明】
【0016】
【
図1】実施の形態に係る処理の概要を説明するための模式図である。
【
図2】実施の形態に係る学習装置の機能構成を模式的に示す図である。
【
図3】実施の形態に係る第2誤差を説明するための図である。
【
図4】実施の形態に係る雰囲気認識装置の機能構成を模式的に示す図である。
【
図5】実施の形態に係る学習装置が実行する学習処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【0017】
<実施の形態の概要>
本発明の実施の形態に係る学習装置は、複数の層から構成されるニューラルネットワークを利用して、複数の人物を被写体として含む画像データを入力したときに、その画像から得られる雰囲気を示すラベルを出力する学習モデルを生成する。このとき、実施の形態に係る学習装置は、複数の人物を被写体として含む画像データとその画像データの雰囲気を文章で表した説明文、及びその画像データの雰囲気を示すラベルが紐づけられたデータを教師データとして用いる。この教師データを用いることにより、実施の形態に係る学習装置は、画像データを入力として雰囲気を出力するための学習モデルを構成する層のパラメータに、説明文から得られる“知識”を抽出した知識特徴量を移転させる。これにより、実施の形態に係る学習装置は、最終的には画像データのみを入力とする学習モデルであるが、その学習モデルには説明文から得られる知識が反映された学習モデルを生成することができる。
【0018】
なお、「複数の人物を被写体として含む画像データの雰囲気」とは、その画像データに含まれる被写体同士の雰囲気の良し悪しを示す概念である。また、「画像データの雰囲気を文章で表した説明文」とは、画像データに含まれる被写体(人物以外も含む)を描写した文章であり、少なくとも名詞と動詞とを含む文章である。説明文の具体例としては、例えば、「二人の男性が口論をしている」、「3人の女性がカフェで紅茶を飲んでいる」、「会議室の白板にグラフが描かれている」等である。
【0019】
図1(a)-(b)は、実施の形態に係る処理の概要を説明するための模式図である。具体的には、
図1(a)は、説明文の知識を抽出するため雰囲気特徴学習処理を説明するための図である。また、
図1(b)は、雰囲気特徴学習処理によって抽出された雰囲気特徴量を用いて、雰囲気認識モデルを学習するモデル学習処理を説明するための図である。以下、
図1を(a)-(b)参照して、実施の形態に係る学習装置が実行する処理の概要を説明する。
【0020】
図1(a)において、教師データTは、雰囲気特徴学習に用いられる教師データである。この教師データTは、複数の人物を被写体として含む複数の画像データIと、画像データIそれぞれの被写体に関する説明文Dと、画像データIそれぞれの雰囲気を示すラベルLとが対応づけられたデータである。一例として、ラベルLは1から5までの5段階の数値で表現され、数値が大きいほど雰囲気がよいことを示す。
図1(a)に例示する教師データでは、画像データIの雰囲気を示すラベルLは「5」であり、雰囲気がよいことを示している。
【0021】
実施の形態に係る学習装置は、例えば既知のBERT(Bidirectional Encoder Representations from Transformers)を利用して、教師データTに含まれる説明文Dを第1ベクトルデータV1に変換する。また、実施の形態に係る学習装置は、例えば既知のVGG(Visual Geometry Group)モデルを利用して教師データTに含まれる画像データIを第2ベクトルデータV2に変換する。なお、これらのベクトル変換の手法は一例であり、これ以外の手法が用いられてもよい。
【0022】
第1ニューラルネットワークN1は、第1ベクトルデータV1を入力したときに、第1ベクトルデータV1の元となった教師データTに含まれるラベルLを出力するためのニューラルネットワークである。また、第2ニューラルネットワークN2は、第2ベクトルデータV2を入力したときに、第2ベクトルデータV2の元となった教師データTに含まれるラベルLを出力するためのニューラルネットワークである。既知の技術であるため詳細な説明は省略するが、実施の形態に係る学習装置は、第1ニューラルネットワークN1に第1ベクトルデータV1を入力したときの出力と教師データTに含まれるラベルLとの誤差を逆伝搬することにより、第1ニューラルネットワークN1を構成するパラメータを学習する。第2ニューラルネットワークN2の学習についても同様である。
【0023】
第1ニューラルネットワークN1と第2ニューラルネットワークN2とはともに、入力層、出力層、及び中間層を含む複数の層から構成されるニューラルネットワークである。一般に、ニューラルネットワークが異なれば、ニューラルネットワークを構成するパラメータも異なる。しかしながら、
図1(a)に示すように、実施の形態に係る第2ニューラルネットワークN2は、第1ニューラルネットワークN1を構成する層のうちの1部の層である特定層Sを共通に含んでいる。
図1(a)において、斜線を付した矩形が、第1ニューラルネットワークN1及び第2ニューラルネットワークN2が共通に含む特定層Sである。
【0024】
実施の形態に係る学習装置は、雰囲気特徴学習処理として、第1ニューラルネットワークN1の学習と並行して、第2ニューラルネットワークN2に第2ベクトルデータV2を入力したときの第2ニューラルネットワークN2に含まれる特定層Sに入力されるベクトルデータが第1ニューラルネットワークN1に含まれる特定層Sに入力されるベクトルデータに近づくように、第2ニューラルネットワークN2の学習も実行する。
【0025】
上述したように、第1ニューラルネットワークN1は、第1ベクトルデータV1を入力したときに第1ベクトルデータV1に対応するラベルLを出力するように学習される。すなわち、第1ニューラルネットワークN1は、説明文Dに基づく情報ないし知識が学習されるニューラルネットワークと言えるため、第1ニューラルネットワークN1に含まれる特定層Sにも、説明文Dに基づく知識が含まれると考えられる。
【0026】
したがって、第2ニューラルネットワークN2に含まれる特定層Sに入力されるベクトルデータを、第1ニューラルネットワークN1に含まれる特定層Sに入力されるベクトルデータと近づけることにより、説明文Dに基づく知識を第2ニューラルネットワークN2の特定層Sに移転することができる。言い換えると、実施の形態に係る学習装置は、画像データIに由来する第2ベクトルデータV2を第2ニューラルネットワークN2に入力したときに特定層Sに入力されるベクトルデータを、説明文Dに由来する第1ベクトルデータV1を第1ニューラルネットワークN1に入力したときに特定層Sに入力されるベクトルデータと近似させることができる。
【0027】
説明文Dに基づく知識を第2ニューラルネットワークN2の特定層Sに移転する処理である雰囲気特徴学習処理が終了すると、実施の形態に係る学習装置は、雰囲気特徴学習処理によって得られた第2ニューラルネットワークN2を用いて、雰囲気認識モデルの学習を実行する。雰囲気認識モデルは、画像データIを入力したときに、画像データIの雰囲気を示すラベルLを出力するように学習された機械学習モデルである。具体的には、第2ニューラルネットワークN2の構造及びそのパラメータである。
【0028】
実施の形態に係る学習装置は、雰囲気特徴学習処理によって得られた第2ニューラルネットワークN2のうち、入力層から特定層Sに至るまでの間に存在する層のパラメータを固定し、特定層Sよりも出力層側にある層のパラメータのみを学習する。
図1(b)において、一点鎖線の矩形で示す層が、第2ニューラルネットワークN2における入力層から特定層Sに至るまでの間に存在する層である。また、横線で示す層が、特定層Sよりも出力層側にある層である。これにより、実施の形態に係る学習装置は、第2ニューラルネットワークN2の特定層Sに入力されるベクトルデータを用いて、特定層Sよりも出力層側にある層のパラメータを学習させることができる。結果として、実施の形態に係る学習装置は、画像を入力とする第2ニューラルネットワークN2の学習モデルに、画像以外の他の情報である説明文Dに由来する知識を移転させることができる。
【0029】
<実施の形態に係る学習装置1の機能構成>
図2は、実施の形態に係る学習装置1の機能構成を模式的に示す図である。学習装置1は、記憶部10と制御部11とを備える。
図2において、矢印は主なデータの流れを示しており、
図2に示していないデータの流れがあってもよい。
図2において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、
図2に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0030】
記憶部10は、学習装置1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や学習装置1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置である。
【0031】
制御部11は、学習装置1のCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサであり、記憶部10に記憶されたプログラムを実行することによって、教師データ取得部110、第1ベクトル変換部111、第2ベクトル変換部112、第1学習部113、第2学習部114、及び評価値算出部115として機能する。
【0032】
なお、
図2は、学習装置1が単一の装置で構成されている場合の例を示している。しかしながら、学習装置1は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部11を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0033】
教師データ取得部110は、教師データTを記憶部10から読み出して取得する。教師データTは、複数の人物を被写体として含む複数の画像データIと、画像データそれぞれの被写体に関する説明文Dと、画像データIそれぞれの雰囲気を示すラベルLとが対応づけられたデータである。
【0034】
第1ベクトル変換部111は、教師データTに含まれる画像データIに対応する説明文Dを、第1ベクトルデータV1に変換する。第2ベクトル変換部112は、第1ベクトルデータに対応する画像データIを第2ベクトルデータV2に変換する。
【0035】
[雰囲気特徴学習処理]
第1学習部113は、第1ニューラルネットワークN1に第1ベクトルデータV1を入力したときに、第1ベクトルデータV1に対応するラベルLを出力するように第1ニューラルネットワークN1を構成する各層のパラメータを学習する。
【0036】
第2学習部114は、第2ニューラルネットワークN2を構成する各層のパラメータを学習する。ここで、第2ニューラルネットワークN2は、第1ニューラルネットワークN1を構成する層のうちの1部の層である特定層Sを共通に含むネットワークである。第2学習部114は、第2ニューラルネットワークN2に第2ベクトルデータV2を入力したときに、第2ニューラルネットワークN2における特定層Sに入力されるベクトルデータが第1ニューラルネットワークN1における特定層Sに入力されるベクトルデータと近づくように、第2ニューラルネットワークN2を構成する各層のパラメータを学習する。これにより、学習装置1は、第1ベクトルデータV1の由来となった説明文Dの知識を、第2ニューラルネットワークN2に含まれる特定層Sに移転することができる。
【0037】
第1学習部113及び第2学習部114が実行する学習についてより具体的に説明する。
評価値算出部115は、第1誤差E1と第2誤差E2との2つの誤差を含む評価関数Fの評価値Vを算出する。ここで、第1誤差は、第1ニューラルネットワークN1における特定層Sに入力されるベクトルデータと、第2ニューラルネットワークN2における特定層に入力されるベクトルデータとの誤差である。また、第2誤差は、教師データTに含まれるラベルLと第1ニューラルネットワークN1の出力との誤差である。
【0038】
図3は、実施の形態に係る第2誤差E2を説明するための図であり、第1ニューラルネットワークN1の特定層Sである第1特定層S1の構造と第2ニューラルネットワークN2の特定層Sである第2特定層S2の構造とを模式的に示す図である。
図3に示す例では、第1特定層S1は、N個(Nは正の整数)のノード(第1ノードa
1から第Nノードa
N)を備えている。第2特定層S2も第1特定層S1と同一の構造であり、N個のノード(第1ノードb
1から第Nノードb
N)を備えている。
【0039】
第1特定層S1において第1ノードa1から第NノードaNまでのそれぞれのノードに入力される数値をそれぞれa1,a2,・・・,aNとする。また、これらの数値を要素とするベクトルをベクトルA=(a1,a2,・・・,aN)とする。同様に、第2特定層S2において第1ノードb1から第NノードbNまでのそれぞれのノードに入力される数値をそれぞれb1,b2,・・・,bNとし、これらの数値を要素とするベクトルをベクトルB=(b1,b2,・・・,bN)とする。このとき、第2誤差E2は、以下の式(1)で表される。
【0040】
【0041】
式(1)に示すように、第1特定層S1に入力されるデータと第2特定層S2に入力されるデータとの差が小さいほど、第2誤差E2は小さくなる。
【0042】
一例として、評価関数Fの評価値Vは、以下の式(2)で表される。
V=E1+λE2 (2)
ここで、λは、評価関数Fにおける第2誤差E2の影響を調整するためのパラメータである。評価関数Fとして式(1)の関数を採用する場合、第2学習部114及び評価値算出部115は、評価値Vの値が小さくなるように各ニューラルネットワークのパラメータを更新する。
【0043】
第1学習部113は、評価関数Fの評価値Vに基づいて、第1ニューラルネットワークN1を構成する各層のパラメータを更新する。また、第2学習部114は、評価関数Fの評価値Vに基づいて、第2ニューラルネットワークN2を構成する層のうち、入力層、特定層S、及び入力層と特定層Sとの間に存在する層のパラメータを更新する。
【0044】
これにより、第2学習部114は、説明文Dに由来する第1ベクトルデータV1を入力したときに、説明文Dに対応するラベルLを出力する第1ニューラルネットワークN1の学習モデルを生成することができる。また、評価値算出部115は、第2学習部114が生成する第1ニューラルネットワークN1と共通の特定層Sを持ち、説明文Dに対応する画像データIを入力したときに、特定層Sに入力されるベクトルデータが第1ニューラルネットワークN1における特定層Sに入力されるベクトルデータと近似するベクトルデータとなる第2ニューラルネットワークN2の学習モデルを生成することができる。
【0045】
[雰囲気認識モデルの学習処理]
第2学習部114は、評価関数Fの評価値Vがあらかじめ定められた収束条件を満たすことを条件として、第2ニューラルネットワークN2に第2ベクトルデータV2を入力したときに、第2ベクトルデータV2に対応するラベルLを出力するように第2ニューラルネットワークN2を構成する各層のパラメータを学習する。
【0046】
ここで、「あらかじめ定められた収束条件」とは、雰囲気特徴学習処理が終了したか否かを判定するために第2学習部114が参照する「雰囲気特徴学習の終了判定条件」である。具体的な収束条件は、教師データTの構成や雰囲気認識に要求される性能、計算コスト等を勘案して実験により定めればよい。評価関数Fの評価値Vとして式(2)に示す数式を採用する場合、所定の収束条件は、評価値Vが所定の閾値Th以下となることとして定めることができる。
【0047】
雰囲気特徴学習処理は、説明文Dに由来する知識を第2ニューラルネットワークN2の特定層Sに移転するために、第2ニューラルネットワークN2のうち、入力層から特定層Sに至るまでの間のパラメータを決定する処理と言える。したがって、第2学習部114は、第2ニューラルネットワークN2を構成する層のうち、出力層と、出力層と特定層Sとの間に存在する層のパラメータのみを学習する。これにより、第2学習部114は、説明文Dの知識を移転した特定層Sを利用して、画像データIを入力したときに画像データIの雰囲気を示すラベルLを出力する雰囲気認識モデルを生成することができる。
【0048】
[雰囲気認識処理]
以上、ニューラルネットワークの学習モデルである雰囲気認識モデルに、説明文Dに由来する知識を移転するための学習処理について説明した。続いて、学習処理によって得られた雰囲気認識モデルを用いて、未知の画像データを入力してその画像データの雰囲気を認識する雰囲気認識処理について説明する。
【0049】
図4は、実施の形態に係る雰囲気認識装置2の機能構成を模式的に示す図である。雰囲気認識装置2は、記憶部20と制御部21とを備える。
図4において、矢印は主なデータの流れを示しており、
図4に示していないデータの流れがあってもよい。
図4において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、
図4に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0050】
記憶部20は、学習装置1を実現するコンピュータのBIOS等を格納するROMや学習装置1の作業領域となるRAM、OSやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。
【0051】
制御部21は、学習装置1のCPUやGPU等のプロセッサであり、記憶部20に記憶されたプログラムを実行することによって、画像データ取得部210、学習モデル取得部211、及びモデル適用部212として機能する。
【0052】
なお、
図4は、雰囲気認識装置2が単一の装置で構成されている場合の例を示している。しかしながら、雰囲気認識装置2は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部21を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0053】
記憶部20は、上述した学習装置1が生成した第2ニューラルネットワークN2を構成する各層のパラメータを雰囲気認識モデルとして記憶している。画像データ取得部210は、認識対象とする未知の画像データを取得する。モデル適用部212は、記憶部20が記憶する学習モデルを画像データ取得部210が取得した未知の画像データIに適用することにより、画像データIの被写体の雰囲気を示すラベルLを出力する。これにより、実施の形態に係る雰囲気認識装置2は、説明文Dの知識を移転した雰囲気認識モデルを用いて、画像データIの雰囲気を推定することができる。
【0054】
<学習装置1が実行する学習方法の処理フロー>
図5は、実施の形態に係る学習装置1が実行する学習処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば学習装置1が起動したときに開始する。
【0055】
教師データ取得部110は、複数の人物を被写体として含む複数の画像データIと、画像データIそれぞれの被写体に関する説明文Dと、画像データIそれぞれの雰囲気を示すラベルLとが対応づけられた教師データTを取得する(S2)。
【0056】
第1ベクトル変換部111は、画像データIに対応する説明文Dを、第1ベクトルデータV1に変換する(S4)。第2ベクトル変換部112は、変換された第1ベクトルデータV1に対応する画像データIを第2ベクトルデータV2に変換する(S6)。
【0057】
第1学習部113は、複数の層から構成される第1ニューラルネットワークN1に第1ベクトルデータV1を入力したときに、第1ベクトルデータV1に対応するラベルLを出力するように第1ニューラルネットワークN1を構成する各層のパラメータを学習する(S8)。
【0058】
第2学習部114は、第1ニューラルネットワークN1を構成する層のうちの1部の層である特定層Sを共通に含む第2ニューラルネットワークN2に第2ベクトルデータV2を入力したときに、第2ニューラルネットワークN2における特定層Sに入力されるデータが第1ニューラルネットワークN1における特定層Sに入力されるデータと近づくように、第2ニューラルネットワークN2を構成する各層のパラメータを学習する(S10)。
【0059】
評価値算出部115は、(1)第1ニューラルネットワークN1における特定層Sに入力されるデータと第2ニューラルネットワークN2における特定層Sに入力されるデータとの誤差である第1誤差E1と、(2)教師データTに含まれるラベルLと第1ニューラルネットワークN1の出力との誤差である第2誤差E2と、を含む評価関数Fの評価値Vを算出する(S12)。
【0060】
評価関数Fの評価値Vが所定の収束条件を満たすまでの間(S14のNo)、学習装置1はステップS8からステップS12までの処理を繰り返す。評価関数Fの評価値Vが所定の収束条件を満たすと(S14のYes)、本フローチャートにおける処理は終了する。
【0061】
<本発明の利用シーン>
本発明に係る雰囲気認識装置を、例えばチャットボット用のような対話エージェントに導入することにより、雰囲気認識の結果をトリガーとして対話エージェントの自動起動が可能となる。これにより、実施の形態に係る雰囲気認識装置2によれば、例えば、対話エージェントの活用場面を増やし、ひいては人間同士のコミュニケーションを促進することが期待できる。
【0062】
<実施の形態に係る学習装置1が奏する効果>
以上説明したように、実施の形態に係る学習装置1によれば、画像を入力とするニューラルネットワークの学習モデルに、画像以外の他の情報から得られる知識を移転させることができる。
【0063】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果をあわせ持つ。
【符号の説明】
【0064】
1・・・学習装置
10・・・記憶部
11・・・制御部
110・・・教師データ取得部
111・・・第1ベクトル変換部
112・・・第2ベクトル変換部
113・・・第1学習部
114・・・第2学習部
115・・・評価値算出部
2・・・雰囲気認識装置
20・・・記憶部
21・・・制御部
210・・・画像データ取得部
211・・・学習モデル取得部
212・・・モデル適用部