IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特開2024-71824学習装置、情報処理装置、学習方法、及びプログラム
<>
  • 特開-学習装置、情報処理装置、学習方法、及びプログラム 図1
  • 特開-学習装置、情報処理装置、学習方法、及びプログラム 図2
  • 特開-学習装置、情報処理装置、学習方法、及びプログラム 図3
  • 特開-学習装置、情報処理装置、学習方法、及びプログラム 図4
  • 特開-学習装置、情報処理装置、学習方法、及びプログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024071824
(43)【公開日】2024-05-27
(54)【発明の名称】学習装置、情報処理装置、学習方法、及びプログラム
(51)【国際特許分類】
   G06N 3/08 20230101AFI20240520BHJP
   G06N 20/00 20190101ALI20240520BHJP
【FI】
G06N3/08
G06N20/00 130
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022182261
(22)【出願日】2022-11-15
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110004222
【氏名又は名称】弁理士法人創光国際特許事務所
(74)【代理人】
【識別番号】100166006
【弁理士】
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【弁理士】
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【弁理士】
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】王 亜楠
(72)【発明者】
【氏名】和田 真弥
(57)【要約】      (修正有)
【課題】感情の認識モデルの認識性能を向上させる。
【解決手段】情報処理システムの学習装置1は、所定のラベルが対応付けられている第1ベクトルデータを複数の層から構成される第1ニューラルネットワークに入力したときに、当該第1ベクトルデータに対応付けられているラベルを出力するように第1ニューラルネットワークの各層のパラメータを学習する第1学習部122と、第1学習部122が学習した第1ニューラルネットワークを構成する各層のパラメータを、複数の層から構成される第2ニューラルネットワークの各層に設定する設定部124と、第1ベクトルデータに対応付けられているラベルと同じラベルが対応付けられている第2ベクトルデータを第2ニューラルネットワークに入力したときに、当該第2ベクトルデータに対応付けられているラベルを出力するように第2ニューラルネットワークの各層のパラメータを学習する第2学習部123と、を有する。
【選択図】図2
【特許請求の範囲】
【請求項1】
所定のラベルが対応付けられている第1ベクトルデータを複数の層から構成される第1ニューラルネットワークに入力したときに、当該第1ベクトルデータに対応付けられている前記ラベルを出力するように前記第1ニューラルネットワークを構成する各層のパラメータを学習する第1学習部と、
前記第1学習部が学習した前記第1ニューラルネットワークを構成する各層のパラメータを、複数の層から構成される第2ニューラルネットワークを構成する各層に設定する設定部と、
前記第1ベクトルデータに対応付けられている前記ラベルと同じ前記ラベルが対応付けられている第2ベクトルデータを前記第2ニューラルネットワークに入力したときに、当該第2ベクトルデータに対応付けられている前記ラベルを出力するように前記第2ニューラルネットワークを構成する各層のパラメータを学習する第2学習部と、
を有する学習装置。
【請求項2】
前記ラベルが対応付けられているモーダルデータを取得するモーダルデータ取得部と、
前記モーダルデータを当該モーダルデータに対応するモーダルの種類とは異なる他の種類のモーダルの特徴が表現された前記第1ベクトルデータに変換する第1変換部と、
前記モーダルデータを当該モーダルデータに対応するモーダルの特徴が表現された前記第2ベクトルデータに変換する第2変換部と、
をさらに有する、
請求項1に記載の学習装置。
【請求項3】
前記第1変換部は、前記モーダルデータを、それぞれモーダルの種類が異なる複数の前記第1ベクトルデータに変換し、
前記第1変換部が変換した前記第1ベクトルデータごとに、前記第1学習部が実行する処理と、前記設定部が実行する処理と、前記第2学習部が実行する処理とを順番に実行させる学習制御部をさらに有し、
前記学習制御部は、前記第2学習部が実行する処理を実行させた後において、前記第1学習部が実行する処理を実行させる前に、前記設定部に対して、前記第2学習部が学習した前記第2ニューラルネットワークを構成する各層のパラメータを、前記第1ニューラルネットワークを構成する各層に設定する処理を実行させる、
請求項2に記載の学習装置。
【請求項4】
前記学習制御部は、前記第1変換部が変換した前記第1ベクトルデータごとに各処理を順番に実行させた後に、再度、前記第1変換部が変換した前記第1ベクトルデータごとに各処理を順番に実行させる、
請求項3に記載の学習装置。
【請求項5】
請求項2から4のいずれか一項に記載の学習装置が生成した前記第2ニューラルネットワークを構成する各層のパラメータを学習モデルとして記憶する記憶部と、
前記モーダルデータとモーダルが同じ種類の同種データを取得する同種データ取得部と、
前記記憶部が記憶する学習モデルを前記同種データ取得部が取得した前記同種データに適用することにより、前記同種データに対応するラベルを出力するモデル適用部と、
を有する情報処理装置。
【請求項6】
コンピュータが実行する、
所定のラベルが対応付けられている第1ベクトルデータを複数の層から構成される第1ニューラルネットワークに入力したときに、当該第1ベクトルデータに対応付けられている前記ラベルを出力するように前記第1ニューラルネットワークを構成する各層のパラメータを学習するステップと、
学習した前記第1ニューラルネットワークを構成する各層のパラメータを、複数の層から構成される第2ニューラルネットワークを構成する各層に設定するステップと、
前記第1ベクトルデータに対応付けられている前記ラベルと同じ前記ラベルが対応付けられている第2ベクトルデータを前記第2ニューラルネットワークに入力したときに、当該第2ベクトルデータに対応付けられている前記ラベルを出力するように前記第2ニューラルネットワークを構成する各層のパラメータを学習するステップと、
を有する学習方法。
【請求項7】
コンピュータを、
所定のラベルが対応付けられている第1ベクトルデータを複数の層から構成される第1ニューラルネットワークに入力したときに、当該第1ベクトルデータに対応付けられている前記ラベルを出力するように前記第1ニューラルネットワークを構成する各層のパラメータを学習する第1学習部、
前記第1学習部が学習した前記第1ニューラルネットワークを構成する各層のパラメータを、複数の層から構成される第2ニューラルネットワークを構成する各層に設定する設定部、及び
前記第1ベクトルデータに対応付けられている前記ラベルと同じ前記ラベルが対応付けられている第2ベクトルデータを前記第2ニューラルネットワークに入力したときに、当該第2ベクトルデータに対応付けられている前記ラベルを出力するように前記第2ニューラルネットワークを構成する各層のパラメータを学習する第2学習部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、情報処理装置、学習方法、及びプログラムに関する。
【背景技術】
【0002】
従来、コミュニケーションシーンに参加している人間同士の雰囲気を認識する技術が提案されている。例えば、非特許文献1には、画像から顔、ポーズ、ジェスチャ、視線などの特徴量を抽出して、既知の深層学習手法を利用してグループレベルでの感情の認識モデルを実現するための技術が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】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】
上記の技術は、画像に含まれる視覚特徴を抽出して複数のモデルを構築し、それらのモデルで認識した結果を融合することで雰囲気認識の実現を試みる技術である。しかしながら、画像のような1つのモーダルの種類のデータから抽出された特徴(例えば、顔特徴や表情特徴等)だけでは、実用的な認識性能を担保することが難しい場合がある。
【0005】
そこで、本発明はこれらの点に鑑みてなされたものであり、モデルの認識性能を向上させることを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様にかかる学習装置は、所定のラベルが対応付けられている第1ベクトルデータを複数の層から構成される第1ニューラルネットワークに入力したときに、当該第1ベクトルデータに対応付けられている前記ラベルを出力するように前記第1ニューラルネットワークを構成する各層のパラメータを学習する第1学習部と、前記第1学習部が学習した前記第1ニューラルネットワークを構成する各層のパラメータを、複数の層から構成される第2ニューラルネットワークを構成する各層に設定する設定部と、前記第1ベクトルデータに対応付けられている前記ラベルと同じ前記ラベルが対応付けられている第2ベクトルデータを前記第2ニューラルネットワークに入力したときに、当該第2ベクトルデータに対応付けられている前記ラベルを出力するように前記第2ニューラルネットワークを構成する各層のパラメータを学習する第2学習部と、を有する。
【0007】
前記学習装置は、前記ラベルが対応付けられているモーダルデータを取得するモーダルデータ取得部と、前記モーダルデータを当該モーダルデータに対応するモーダルの種類とは異なる他の種類のモーダルの特徴が表現された前記第1ベクトルデータに変換する第1変換部と、前記モーダルデータを当該モーダルデータに対応するモーダルの特徴が表現された前記第2ベクトルデータに変換する第2変換部と、をさらに有してもよい。
【0008】
前記第1変換部は、前記モーダルデータを、それぞれモーダルの種類が異なる複数の前記第1ベクトルデータに変換してもよいし、前記学習装置は、前記第1変換部が変換した前記第1ベクトルデータごとに、前記第1学習部が実行する処理と、前記設定部が実行する処理と、前記第2学習部が実行する処理とを順番に実行させる学習制御部をさらに有してもよいし、前記学習制御部は、前記第2学習部が実行する処理を実行させた後において、前記第1学習部が実行する処理を実行させる前に、前記設定部に対して、前記第2学習部が学習した前記第2ニューラルネットワークを構成する各層のパラメータを、前記第1ニューラルネットワークを構成する各層に設定する処理を実行させてもよい。
【0009】
前記学習制御部は、前記第1変換部が変換した前記第1ベクトルデータごとに各処理を順番に実行させた後に、再度、前記第1変換部が変換した前記第1ベクトルデータごとに各処理を順番に実行させてもよい。
【0010】
本発明の第2の態様にかかる情報処理装置は、前記学習装置が生成した前記第2ニューラルネットワークを構成する各層のパラメータを学習モデルとして記憶する記憶部と、前記モーダルデータとモーダルが同じ種類の同種データを取得する同種データ取得部と、前記記憶部が記憶する学習モデルを前記同種データ取得部が取得した前記同種データに適用することにより、前記同種データに対応するラベルを出力するモデル適用部と、を有する。
【0011】
本発明の第3の態様にかかる学習方法は、コンピュータが実行する、所定のラベルが対応付けられている第1ベクトルデータを複数の層から構成される第1ニューラルネットワークに入力したときに、当該第1ベクトルデータに対応付けられている前記ラベルを出力するように前記第1ニューラルネットワークを構成する各層のパラメータを学習するステップと、学習した前記第1ニューラルネットワークを構成する各層のパラメータを、複数の層から構成される第2ニューラルネットワークを構成する各層に設定するステップと、前記第1ベクトルデータに対応付けられている前記ラベルと同じ前記ラベルが対応付けられている第2ベクトルデータを前記第2ニューラルネットワークに入力したときに、当該第2ベクトルデータに対応付けられている前記ラベルを出力するように前記第2ニューラルネットワークを構成する各層のパラメータを学習するステップと、を有する。
【0012】
本発明の第4の態様にかかるプログラムは、コンピュータを、所定のラベルが対応付けられている第1ベクトルデータを複数の層から構成される第1ニューラルネットワークに入力したときに、当該第1ベクトルデータに対応付けられている前記ラベルを出力するように前記第1ニューラルネットワークを構成する各層のパラメータを学習する第1学習部、前記第1学習部が学習した前記第1ニューラルネットワークを構成する各層のパラメータを、複数の層から構成される第2ニューラルネットワークを構成する各層に設定する設定部、及び前記第1ベクトルデータに対応付けられている前記ラベルと同じ前記ラベルが対応付けられている第2ベクトルデータを前記第2ニューラルネットワークに入力したときに、当該第2ベクトルデータに対応付けられている前記ラベルを出力するように前記第2ニューラルネットワークを構成する各層のパラメータを学習する第2学習部、として機能させる。
【発明の効果】
【0013】
本発明によれば、モデルの認識性能を向上させることができるという効果を奏する。
【図面の簡単な説明】
【0014】
図1】情報処理システムの概要を説明するための図である。
図2】学習装置の機能構成を模式的に示す図である。
図3】情報処理装置の機能構成を模式的に示す図である。
図4】学習制御部による処理の制御を模式的に表した図である。
図5】学習装置が実行する学習処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【0015】
[情報処理システムSの概要]
図1は、情報処理システムSの概要を説明するための図である。情報処理システムSは、所定のモーダルデータを認識するために用いられるシステムである。所定のモーダルデータは、例えば、複数の人物の間の状態又は行動等(例えば雰囲気)を示すデータであり、複数の人物を被写体として含む画像データ、複数の人物の音声を含む音声データ、複数の人物間の状態又は行動等を文章で表した文字列データ、センサが検出した複数の人物それぞれの生体データ等である。
【0016】
「所定のモーダルデータの認識」は、例えば、複数の人物間の雰囲気の認識である。雰囲気は、例えば、画像データに含まれる被写体同士の雰囲気の良し悪しを示す概念である。「所定のモーダルデータの認識」は、これに限らず、音声認識、画像認識、感情認識等であってもよい。情報処理システムSは、学習装置1と、情報処理装置2とを有する。
【0017】
学習装置1は、所定のモーダルデータを認識するために用いられる学習モデルを生成するコンピュータである。学習モデルは、複数の層から構成されるニューラルネットワークを利用して、所定のモーダルの特徴が表現されたベクトルデータを入力したときに、当該ベクトルデータに対応するラベルを出力する機械学習モデルである。所定のモーダルは、例えば、画像、音声、文字列、センシング等である。
【0018】
情報処理装置2は、所定のモーダルデータを認識するための認識処理を実行するコンピュータである。情報処理装置2は、それぞれ異なる複数のモーダルの知識が反映された学習モデルを用いて認識処理を実行する。
【0019】
学習装置1は、学習モデルを生成するとき、それぞれモーダルの種類が異なる複数のベクトルデータと、ラベル(複数のベクトルデータに共通するラベル)とが対応付けられたデータを教師データとして用いる。複数のベクトルデータは、例えば、複数の人物を被写体として含む画像データの特徴が表現されたベクトルデータ、画像データに含まれる被写体の音声データの特徴が表現されたベクトルデータ、画像データに含まれる被写体の状態又は行動等を文章で表した説明文の特徴が表現されたベクトルデータ、画像データに含まれる被写体の生体データの特徴が表現されたベクトルデータ等である。ラベルは、例えば、複数の人物を被写体として含む画像データの特徴が表現されたベクトルデータから得られる雰囲気を示す。
【0020】
「画像データに含まれる被写体の状態又は行動等を文章で表した説明文」とは、画像データに含まれる被写体(人物以外も含む)を描写した文章であり、少なくとも名詞と動詞とを含む文章である。説明文の具体例としては、例えば、「二人の男性が口論をしている」、「3人の女性がカフェで紅茶を飲んでいる」、「会議室の白板にグラフが描かれている」等である。
【0021】
この教師データを用いることにより、学習装置1は、それぞれモーダルの種類が異なる複数のベクトルデータの知識が反映された学習モデルを生成することができる。
以下、図1を参照して、学習装置1が実行する処理の概要を説明する。
【0022】
図1において、教師データT(第1教師データT1及び第2教師データT2)は、学習に用いられる教師データである。
【0023】
第1教師データT1は、第1モーダル(例えば音声)の特徴が表現された第1ベクトルデータV1と、ラベルLとが対応付けられたデータである。第1ベクトルデータV1は、例えば、情報処理装置2が実行する認識処理において認識する対象のモーダルデータとはモーダルの種類が異なる他の種類のモーダルの特徴が表現されたベクトルデータである。
【0024】
第2教師データT2は、第1モーダルとは異なる種類の第2モーダル(例えば画像)の特徴が表現された第2ベクトルデータV2と、第1教師データT1に含まれるラベルLと同じラベルLとが対応付けられたデータである。第2ベクトルデータV2は、例えば、情報処理装置2が実行する認識処理において認識する対象のモーダルデータと同じ種類のモーダルの特徴が表現されたベクトルデータである。
【0025】
一例として、ラベルLは1から5までの5段階の数値で表現され、数値が大きいほど雰囲気がよいことを示す。図1に例示する教師データTでは、雰囲気を示すラベルLが「5」であり、雰囲気がよいことを示している。
【0026】
第1ニューラルネットワークN1は、第1ベクトルデータV1を入力したときに、第1ベクトルデータV1の元となった第1教師データT1に含まれるラベルLを出力するためのニューラルネットワークである。第2ニューラルネットワークN2は、第2ベクトルデータV2を入力したときに、第2ベクトルデータV2の元となった第2教師データT2に含まれるラベルLを出力するためのニューラルネットワークである。第2ニューラルネットワークN2は、情報処理装置2が実行する認識処理において用いられるニューラルネットワークである。第1ニューラルネットワークN1と第2ニューラルネットワークN2とは、入力層、出力層、及び中間層を含む複数の層から構成されるニューラルネットワークであって、共通する複数の層から構成されるニューラルネットワークである。
【0027】
既知の技術であるため詳細な説明は省略するが、学習装置1は、第1ニューラルネットワークN1に第1ベクトルデータV1を入力したときの出力と教師データTに含まれるラベルLとの誤差を逆伝搬することにより、第1ニューラルネットワークN1を構成するパラメータを学習する。第2ニューラルネットワークN2の学習についても同様である。
【0028】
学習モデルにおいては、1つの種類のモーダルに基づく知識が反映される場合より、それぞれ異なる複数の種類のモーダルに基づく知識が反映された場合の方が、認識性能が向上し得る。そこで、学習装置1は、第1ニューラルネットワークN1の学習処理を実行した後において、第1ニューラルネットワークN1を構成する各層のパラメータを、第2ニューラルネットワークN2を構成する各層に設定してから、第2ニューラルネットワークN2の学習処理を実行する。
【0029】
上述したように、第1ニューラルネットワークN1は、第1ベクトルデータV1を入力したときに第1ベクトルデータV1に対応するラベルLを出力するように学習される。すなわち、第1ニューラルネットワークN1は、第1モーダルに基づく情報ないし知識が学習されるニューラルネットワークと言えるため、第1ニューラルネットワークN1を構成する各層のパラメータには、第1モーダルに基づく知識が含まれると考えられる。
【0030】
したがって、第1ニューラルネットワークN1を構成する各層のパラメータを、第2ニューラルネットワークN2を構成する各層に設定することにより、第1モーダに基づく知識を第2ニューラルネットワークN2に反映させることができる。その後、第2ニューラルネットワークN2は、第2ベクトルデータV2を入力したときに第2ベクトルデータV2に対応付けられているラベルLを出力するように学習されることで、第2ニューラルネットワークN2を構成する各層のパラメータに対して第2モーダルに基づく知識をさらに反映させることができる。これにより、第2ニューラルネットワークN2の学習モデルは、それぞれモーダルの種類が異なる複数のベクトルデータの知識に基づいて、ラベルが未知である1つのモーダルの種類のベクトルデータを認識することができる。その結果、学習装置1は、学習モデルの認識性能を向上させることができる。
【0031】
[学習装置1の構成]
図2は、学習装置1の機能構成を模式的に示す図である。学習装置1は、記憶部11と制御部12とを備える。図2において、矢印は主なデータの流れを示しており、図2に示していないデータの流れがあってもよい。図2において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、図2に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0032】
記憶部11は、学習装置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)等の大容量記憶装置である。
【0033】
制御部12は、学習装置1のCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサであり、記憶部11に記憶されたプログラムを実行することによって、学習制御部121、第1学習部122、第2学習部123、設定部124、モーダルデータ取得部125、第1変換部126及び第2変換部127として機能する。学習制御部121、第1学習部122、第2学習部123、設定部124、モーダルデータ取得部125、第1変換部126及び第2変換部127の機能の詳細については後述する。
【0034】
なお、図2は、学習装置1が単一の装置で構成されている場合の例を示している。しかしながら、学習装置1は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部12を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0035】
[情報処理装置2の構成]
図3は、情報処理装置2の機能構成を模式的に示す図である。情報処理装置2は、記憶部21と制御部22とを備える。図3において、矢印は主なデータの流れを示しており、図3に示していないデータの流れがあってもよい。図3において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、図3に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0036】
記憶部21は、情報処理装置2を実現するコンピュータのBIOS等を格納するROMや情報処理装置2の作業領域となるRAM、OSやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。
【0037】
制御部22は、情報処理装置2のCPUやGPU等のプロセッサであり、記憶部21に記憶されたプログラムを実行することによって、同種データ取得部221及びモデル適用部222として機能する。同種データ取得部221及びモデル適用部222の機能の詳細については後述する。
【0038】
なお、図3は、情報処理装置2が単一の装置で構成されている場合の例を示している。しかしながら、情報処理装置2は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部22を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0039】
[学習処理]
まず、学習装置1が実行する学習処理について説明する。学習制御部121は、第1学習部122が実行する処理と、第2学習部123が実行する処理と、設定部124が実行する処理とを制御する。
【0040】
第1学習部122は、第1教師データT1を用いて第1ニューラルネットワークN1を学習する。具体的には、第1学習部122は、第1教師データT1においてラベルLが対応付けられている第1ベクトルデータV1を第1ニューラルネットワークN1に入力したときに、当該第1ベクトルデータV1に対応付けられているラベルLを出力するように第1ニューラルネットワークN1を構成する各層のパラメータを学習する。
【0041】
第2学習部123は、第2教師データT2を用いて第2ニューラルネットワークN2を学習する。具体的には、第2学習部123は、第2教師データT2において第1ベクトルデータV1に対応付けられているラベルLと同じラベルLが対応付けられている第2ベクトルデータV2を第2ニューラルネットワークN2に入力したときに、当該第2ベクトルデータV2に対応付けられているラベルLを出力するように第2ニューラルネットワークN2を構成する各層のパラメータを学習する。
【0042】
ここで、第2学習部123は、第1学習部122が学習した第1ニューラルネットワークを構成する各層のパラメータを初期パラメータとして用いて、第2ニューラルネットワークN2を構成する各層のパラメータを学習する。具体的には、まず、設定部124は、第1学習部122が学習した第1ニューラルネットワークN1を構成する各層のパラメータを、第2ニューラルネットワークN2を構成する各層に設定する。そして、第2学習部123は、第2ニューラルネットワークN2を構成する各層にパラメータが設定された後に、第2ベクトルデータV2を第2ニューラルネットワークN2に入力したときに、当該第2ベクトルデータV2に対応付けられているラベルLを出力するように第2ニューラルネットワークN2を構成する各層のパラメータを学習する。
【0043】
第1ベクトルデータV1及び第2ベクトルデータV2は、例えば、同じモーダルデータから変換されたベクトルデータである。第1ベクトルデータV1に対応するモーダルと、モーダルデータ又は第2ベクトルデータV2に対応するモーダルとは、それぞれ異なる種類のモーダルである。
【0044】
具体的には、まず、モーダルデータ取得部125は、ラベルLが対応付けられているモーダルデータを取得する。そして、第1変換部126は、モーダルデータ取得部125が取得したモーダルデータを当該モーダルデータに対応するモーダルの種類とは異なる他の種類のモーダルの特徴が表現された第1ベクトルデータV1に変換する。
【0045】
例えば、モーダルデータのモーダルが画像である場合、第1変換部126は、画像とは異なる他の種類のモーダル(例えば、音声、文字列又はセンシング)の特徴が表現された第1ベクトルデータV1に変換する。第1変換部126は、例えば、既知の第1変換器(例えば、CLIP(Contrastive Language-Image Pre-Training)、DALL・E等のモデル)を用いて、モーダルデータを第1ベクトルデータV1に変換する。
【0046】
第2ベクトルデータV2に対応するモーダルと、モーダルデータに対応するモーダルとは、同じ種類のモーダルである。具体的には、第2変換部127は、モーダルデータ取得部125が取得したモーダルデータを当該モーダルデータに対応するモーダルの特徴が表現された第2ベクトルデータV2に変換する。例えば、モーダルデータのモーダルが画像である場合、第2変換部127は、画像の特徴が表現された第2ベクトルデータV2に変換する。第2変換部127は、例えば、既知の第2変換器(例えば、VGG(Visual Geometry Group)等のモデル)を用いて、モーダルデータを第2ベクトルデータV2に変換する。このようにすることで、学習装置1は、それぞれモーダルの種類が異なる複数のベクトルデータを作成することができる。
【0047】
上記において、学習装置1が、取得した1つのモーダルデータをそれぞれモーダルの種類が異なる複数のベクトルデータに変換する例を説明したが、これに限らない。例えば、学習装置1は、それぞれモーダルの種類が異なる複数のモーダルデータを、それぞれに対応する複数のベクトルデータに変換してもよい。
【0048】
具体的には、まず、モーダルデータ取得部125は、それぞれ共通のラベルLが対応付けられている複数のモーダルデータであって、それぞれモーダルの種類が異なる複数のベクトルデータを取得する。そして、第1変換部126は、モーダルデータ取得部125が取得した複数のモーダルデータのうち、情報処理装置2が実行する認識処理において認識する対象のモーダルデータとはモーダルの種類が異なる他の種類のモーダルデータに対応するモーダルの特徴が表現された第1ベクトルデータV1に変換する。また、第2変換部127は、モーダルデータ取得部125が取得した複数のモーダルデータのうち、情報処理装置2が実行する認識処理において認識する対象のモーダルデータと同じモーダルの種類のモーダルデータに対応するモーダルの特徴が表現された第2ベクトルデータV2に変換する。
【0049】
例えば、モーダルデータ取得部125が、複数のモーダルデータとして、画像データ、音声データ及び文字列データを取得した場合であって、情報処理装置2が実行する認識処理において認識する対象のモーダルデータのモーダルが画像である場合、第1変換部126は、音声データを音声の特徴が表現された第1ベクトルデータV1に変換し、文字列データを文字列の特徴が表現された第1ベクトルデータV1に変換する。また、第2変換部127は、画像データを画像の特徴が表現された第2ベクトルデータV2に変換する。
【0050】
学習装置1は、それぞれモーダルの種類が異なる複数のモーダルデータのうちのいずれかを、他の種類のモーダルの特徴が表現された第1ベクトルデータV1に変換してもよい。例えば、モーダルデータ取得部125が、複数のモーダルデータとして、画像データ及び音声データを取得した場合において、まず、第1変換部126は、画像データ及び音声データの中から、第1ベクトルデータV1に変換するために用いるモーダルデータを選択する。そして、第1変換部126は、選択したモーダルデータ(例えば画像データ)を、画像とは異なる他の種類のモーダル(例えば文字列)の特徴が表現された第1ベクトルデータV1に変換する。第1変換部126は、例えば、複数のモーダルデータの中から、情報処理装置2が実行する認識処理において認識する対象のモーダルデータのモーダルの種類と同じ種類のモーダルデータを選択し、選択したモーダルデータを、当該モーダルとは異なる他の種類のモーダルの特徴が表現された第1ベクトルデータV1に変換する。
【0051】
学習制御部121は、第1変換部126及び第2変換部127それぞれによる第1ベクトルデータV1及び第2ベクトルデータV2への変換後に、第1学習部122が実行する第1ベクトルデータV1(第1教師データT1)に基づく処理と、設定部124が実行する処理と、第2学習部123が実行する第2ベクトルデータV2(第2教師データT2)に基づく処理とを順番に実行させる。学習制御部121は、それぞれモーダルの種類が異なる複数の第1ベクトルデータV1を用いて、第1学習部122が実行する処理と、設定部124が実行する処理と、第2学習部123が実行する処理とを実行させてもよい。
【0052】
具体的には、まず、第1変換部126は、モーダルデータを、それぞれモーダルの種類が異なる複数の第1ベクトルデータV1に変換する。第1変換部126は、例えば、モーダルの種類ごとに、当該モーダルの種類ごとに異なる第1変換器を用いて、モーダルデータを第1ベクトルデータV1に変換する。
【0053】
そして、学習制御部121は、第1変換部126が変換した第1ベクトルデータV1ごとに、第1学習部122が実行する当該第1ベクトルデータV1に基づく処理と、設定部124が実行する処理と、第2学習部123が実行する第2ベクトルデータV2に基づく処理とを順番に実行させる。このとき、学習制御部121は、第2学習部123が実行する処理を実行させた後において、第1学習部122が実行する処理を実行させる前に、設定部124に対して、第2学習部123が学習した第2ニューラルネットワークN2を構成する各層のパラメータを、第1ニューラルネットワークN1を構成する各層に設定する処理を実行させる。
【0054】
図4は、学習制御部121による処理の制御を模式的に表した図である。図4においては、第1変換部126が、第1ベクトルデータV1aと、第1ベクトルデータV1bとを変換した例を説明する。第1教師データT1aは、第1ベクトルデータV1aとラベルLとが対応付けられたデータである。また、第1教師データT1bは、第1ベクトルデータV1bとラベルL(第1教師データT1aに含まれるラベルL及び第2教師データT2に含まれるラベルLそれぞれと同じラベル)とが対応付けられたデータである。例えば、第1ベクトルデータV1aは、音声の特徴が表現されたベクトルデータであり、第1ベクトルデータV1bは、文字列の特徴が表現されたベクトルデータであり、第2ベクトルデータV2は、画像の特徴が表現されたベクトルデータである。
【0055】
この場合において、まず、学習制御部121は、図4(a)に示す第1学習部122が実行する第1教師データT1aに基づく処理と、設定部124が実行する処理と、図4(b)に示す第2学習部123が実行する第2教師データT2に基づく処理とを順番に実行させる。学習制御部121は、第2学習部123が実行する第2教師データT2に基づく処理を実行した後の第2ニューラルネットワークN2を構成する各層のパラメータを、第1ニューラルネットワークN1bを構成する各層に設定する処理を設定部124に実行させる。
【0056】
そして、学習制御部121は、図4(c)に示す第1学習部122が実行する第1教師データT1bに基づく処理と、設定部124が実行する処理と、図4(d)に示す第2学習部123が実行する第2教師データT2に基づく処理とを順番に実行させる。このようにすることで、学習装置1は、第2ニューラルネットワークN2を構成する各層のパラメータに対して複数の第1モーダルに基づく知識を反映させることができる。
【0057】
学習制御部121は、各処理を繰り返し実行させてもよい。具体的には、学習制御部121は、第1変換部126が変換した第1ベクトルデータごとに各処理を順番に実行させた後に、再度、第1変換部126が変換した第1ベクトルデータごとに各処理を順番に実行させる。
【0058】
図4に示す例において、学習制御部121は、図4(a)から図4(d)までに示す各処理を実行させた後に、再度、図4(a)から図4(d)までに示す各処理を実行させる。このとき、学習制御部121は、図4(a)から図4(d)までに示す各処理を実行させた後の図4(d)に示す第2ニューラルネットワークN2を構成する各層のパラメータを、図4(a)に示す第1ニューラルネットワークN1aを構成する各層に設定する処理を設定部124に実行させた後に、再度、図4に示す各処理を実行させる。このように、学習装置1は、各処理を繰り返し実行することで、第2ニューラルネットワークN2における認識性能のロバスト性を向上させることができる。
【0059】
[認識処理]
続いて、情報処理装置2が実行する認識処理について説明する。情報処理装置2において、記憶部21は、上述した学習装置1が生成した第2ニューラルネットワークN2を構成する各層のパラメータを学習モデルとして記憶している。
【0060】
同種データ取得部221は、同種データを取得する。同種データは、学習装置1のモーダルデータ取得部125が取得したモーダルデータとモーダルが同じ種類のデータである。
【0061】
モデル適用部222は、記憶部21が記憶する学習モデルを同種データ取得部221が取得した同種データに適用することにより、同種データに対応するラベルLを出力する。具体的には、まず、モデル適用部222は、第2変換器を用いて、同種データ取得部221が取得した同種データをベクトルデータに変換する。そして、モデル適用部222は、記憶部21が記憶する学習モデルを、変換したベクトルデータに適用することにより、同種データに対応するラベルLを出力する。これにより、情報処理装置2は、それぞれ異なる複数のモーダルの知識が反映された学習モデルを用いて、同種データを認識することができる。
【0062】
上記において、モデル適用部222が、学習モデルを同種データに適用することにより、同種データに対応するラベルLを出力する例を説明したが、これに限らない。例えば、モデル適用部222は、学習モデルを、学習装置1のモーダルデータ取得部125が取得したモーダルデータとモーダルの種類が異なる他種データに適用することにより、他種データに対応するラベルLを出力してもよい。
【0063】
例えば、まず、モデル適用部222は、第1変換器を用いて、他種データを、学習装置1のモーダルデータ取得部125が取得したモーダルデータとモーダルが同じ種類のベクトルデータに変換する。そして、モデル適用部222は、記憶部21が記憶する学習モデルを、変換したベクトルデータに適用することにより、他種データに対応するラベルLを出力する。
【0064】
また、例えば、モデル適用部222は、第2変換器を用いて、他種データとモーダルが同じ種類のベクトルデータに変換し、学習モデルを、変換したベクトルデータに適用することにより、他種データに対応するラベルLを出力してもよい。また、例えば、同種データ取得部221が、モーダルが未知の未知データを取得した場合、まず、モデル適用部222は、未知データのモーダルの種類を判定する。モデル適用部222は、例えば、公知の技術を用いて未知データのモーダルの種類を判定する。そして、モデル適用部222は、判定したモーダルの種類に対応する変換器(第1変換器又は第2変換器)を用いて未知データをベクトルデータに変換し、学習モデルを、変換したベクトルデータに適用することにより、未知データに対応するラベルLを出力してもよい。
【0065】
[学習処理の流れ]
続いて、学習処理の流れについて説明する。図5は、学習装置1が実行する学習処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば学習装置1が起動したときに開始する。
【0066】
モーダルデータ取得部125は、ラベルLが対応付けられているモーダルデータを取得する(S1)。学習装置1は、モーダルデータを、モーダルの種類がそれぞれ異なる複数のベクトルデータに変換する(S2)。具体的には、第1変換部126は、モーダルデータ取得部125が取得したモーダルデータを当該モーダルデータに対応するモーダルの種類とは異なる他の種類のモーダルの特徴が表現された一以上の第1ベクトルデータV1に変換する。また、第2変換部127は、モーダルデータ取得部125が取得したモーダルデータを当該モーダルデータに対応するモーダルの特徴が表現された第2ベクトルデータV2に変換する。
【0067】
学習制御部121は、S3からS7までの処理の実行を制御する。第1学習部122は、第1教師データT1においてラベルLが対応付けられている第1ベクトルデータV1を第1ニューラルネットワークN1に入力したときに、当該第1ベクトルデータV1に対応付けられているラベルLを出力するように第1ニューラルネットワークN1を構成する各層のパラメータを学習する(S3)。
【0068】
設定部124は、第1学習部122が学習した第1ニューラルネットワークN1を構成する各層のパラメータを、第2ニューラルネットワークN2を構成する各層に設定する(S4)。第2学習部123は、第2教師データT2において第1ベクトルデータV1に対応付けられているラベルLと同じラベルLが対応付けられている第2ベクトルデータV2を第2ニューラルネットワークN2に入力したときに、当該第2ベクトルデータV2に対応付けられているラベルLを出力するように第2ニューラルネットワークN2を構成する各層のパラメータを学習する(S5)。
【0069】
学習制御部121は、すべてのベクトルデータで学習したか否かを判定する(S6)。学習制御部121が、すべてのベクトルデータで学習していないと判定した場合(S6においてNOの場合)、すなわち、学習に用いられていない第1ベクトルデータV1が存在する場合、設定部124に対して、第2学習部123が学習した第2ニューラルネットワークN2を構成する各層のパラメータを、第1ニューラルネットワークN1を構成する各層に設定させ(S7)、処理をS3に戻す。一方、学習制御部121は、すべてのベクトルデータで学習したと判定した場合(S6においてYESの場合)、すなわち、学習に用いられていない第1ベクトルデータV1が存在しない場合、処理を終了させる。
【0070】
[学習装置1が奏する効果]
以上説明したように、学習装置1によれば、ベクトルデータを入力とするニューラルネットワークの学習モデルに、それぞれモーダルの種類が異なる複数のベクトルデータの知識を反映させることができる。これにより、第2ニューラルネットワークN2の学習モデルは、それぞれモーダルの種類が異なる複数のベクトルデータの知識に基づいて、ラベルLが未知であるベクトルデータを認識することができる。その結果、学習装置1は、学習モデルの認識性能を向上させることができる。
【0071】
なお、本発明により、国連が主導する持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」に貢献することが可能となる。
【0072】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を併せ持つ。
【符号の説明】
【0073】
1 学習装置
11 記憶部
12 制御部
121 学習制御部
122 第1学習部
123 第2学習部
124 設定部
125 モーダルデータ取得部
126 第1変換部
127 第2変換部
2 情報処理装置
21 記憶部
22 制御部
221 同種データ取得部
222 モデル適用部
S 情報処理システム
図1
図2
図3
図4
図5