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

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

▶ 日本放送協会の特許一覧

特許7514141学習装置、情報分類装置、及びプログラム
<>
  • 特許-学習装置、情報分類装置、及びプログラム 図1
  • 特許-学習装置、情報分類装置、及びプログラム 図2
  • 特許-学習装置、情報分類装置、及びプログラム 図3
  • 特許-学習装置、情報分類装置、及びプログラム 図4
  • 特許-学習装置、情報分類装置、及びプログラム 図5
  • 特許-学習装置、情報分類装置、及びプログラム 図6
  • 特許-学習装置、情報分類装置、及びプログラム 図7
  • 特許-学習装置、情報分類装置、及びプログラム 図8
  • 特許-学習装置、情報分類装置、及びプログラム 図9
  • 特許-学習装置、情報分類装置、及びプログラム 図10
  • 特許-学習装置、情報分類装置、及びプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-02
(45)【発行日】2024-07-10
(54)【発明の名称】学習装置、情報分類装置、及びプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240703BHJP
   G06N 3/09 20230101ALI20240703BHJP
【FI】
G06N20/00 130
G06N3/09
【請求項の数】 10
(21)【出願番号】P 2020137150
(22)【出願日】2020-08-14
(65)【公開番号】P2022032876
(43)【公開日】2022-02-25
【審査請求日】2023-07-14
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100161148
【弁理士】
【氏名又は名称】福尾 誠
(74)【代理人】
【識別番号】100185225
【弁理士】
【氏名又は名称】齋藤 恭一
(72)【発明者】
【氏名】藤森 真綱
【審査官】大倉 崚吾
(56)【参考文献】
【文献】米国特許出願公開第2019/0236450(US,A1)
【文献】米国特許出願公開第2019/0354797(US,A1)
【文献】特開2019-056957(JP,A)
【文献】国際公開第2019/187594(WO,A1)
【文献】上園翔平,"LSTM Autoencoderを用いたマルチモーダル系列データの特徴抽出",人工知能学会研究会資料 知識ベースシステム研究会(第115回),2018年,p. 1-6
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
マルチモーダル情報を分類する情報分類装置のモデルを生成する学習装置であって、
複数のモダリティデータをベクトル化するベクトル化部と、
ベクトル化された各モダリティデータから特徴ベクトルを生成する特徴抽出部と、
複数の前記特徴ベクトルから統合特徴ベクトルを生成する特徴統合部と、
前記統合特徴ベクトルに基づいて分類結果を導出する統合特徴分類部と、
前記分類結果と正解ラベルとを比較して損失を計算する損失計算部と、
学習終了判定を行う学習終了判定手段と、を備え、
学習データを用いて学習を行う際に、前記学習データの各モダリティデータの有用度の情報を利用することを特徴とする、学習装置。
【請求項2】
請求項1に記載の学習装置において、さらに、
単一の前記特徴ベクトルに基づいて個別分類結果を導出する単一特徴分類部と、
前記個別分類結果と正解ラベルとを比較して損失を計算する単一損失計算部と、を備え、
前記単一損失計算部は、前記学習データのうち、当該モダリティが有用であるデータのみを損失計算に使用することを特徴とする、学習装置。
【請求項3】
請求項1に記載の学習装置において、さらに、
前記統合特徴ベクトルに基づいて前記マルチモーダル情報の有用度ベクトルを生成する特徴有用度推定部と、
前記有用度ベクトルを正規化してなる推定結果と各学習データの有用度ラベルとを比較して損失を計算する損失計算部と、を備え、
前記統合特徴分類部は、前記統合特徴ベクトル及び前記有用度ベクトルに基づいて分類結果を導出することを特徴とする、学習装置。
【請求項4】
請求項1に記載の学習装置において、さらに、
単一の前記特徴ベクトルに基づいて個別分類結果を導出する単一特徴分類部と、
前記個別分類結果と正解ラベルとを比較して損失を計算する単一損失計算部と、
前記統合特徴ベクトルに基づいて前記マルチモーダル情報の有用度ベクトルを生成する特徴有用度推定部と、
前記有用度ベクトルを正規化してなる推定結果と各学習データの有用度ラベルとを比較して損失を計算する損失計算部と、を備え、
前記単一損失計算部は、前記学習データのうち、当該モダリティが有用であるデータのみを損失計算に使用し、
前記統合特徴分類部は、前記統合特徴ベクトル及び前記有用度ベクトルに基づいて分類結果を導出することを特徴とする、学習装置。
【請求項5】
請求項1乃至4のいずれか一項に記載の学習装置において、
前記特徴抽出部及び前記統合特徴分類部を、ニューラルネットワークを用いて構成することを特徴とする、学習装置。
【請求項6】
請求項1乃至5のいずれか一項に記載の学習装置の前記損失計算部及び前記学習終了判定手段の機能を、学習終了後に停止させて構成したことを特徴とする、情報分類装置。
【請求項7】
マルチモーダル情報を分類する情報分類装置であって、
複数のモダリティデータをベクトル化するベクトル化部と、
ベクトル化された各モダリティデータから特徴ベクトルを生成する特徴抽出部と、
複数の前記特徴ベクトルから統合特徴ベクトルを生成する特徴統合部と、
前記統合特徴ベクトルに基づいて前記マルチモーダル情報の有用度ベクトルを生成する特徴有用度推定部と、
前記統合特徴ベクトル及び前記有用度ベクトルに基づいて分類結果を導出する統合特徴分類部と、を備え、
前記特徴抽出部、前記特徴有用度推定部、及び前記統合特徴分類部は、ニューラルネットワークを用いて構成することを特徴とする、情報分類装置。
【請求項8】
請求項6又は7に記載の情報分類装置において、
前記特徴抽出部は、当該モダリティが有用であるデータのみを損失計算に使用する学習により最適化されていることを特徴とする、情報分類装置。
【請求項9】
コンピュータを、請求項1乃至5のいずれか一項に記載の学習装置として機能させる、プログラム。
【請求項10】
コンピュータを、請求項6乃至8のいずれか一項に記載の情報分類装置として機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、情報分類装置、及びプログラムに関し、特に、画像とテキスト等複数の表現が組み合わさった情報が、どのような種類の情報であるかを分類するための学習装置、情報分類装置、及びプログラムに関する。
【背景技術】
【0002】
近年、ニューラルネットワーク(Neural Network)等を用いた人工知能(AI)が、画像認識や音声認識、言語処理等、様々な分野に利用されている。これまでの人工知能を用いた装置は、特定の表現種類のデータ(例えば、画像のみのデータ)を扱うことに特化した装置が殆どであったが、最近は、画像、音声、テキスト等、一つの対象に対する複数の表現(モダリティ)を取り扱う装置の研究も進められている。
【0003】
例えば、マルチモーダルモデルを用いた自動ビデオ記述システムが提案されている(特許文献1)。また、画像の内容に関連する質問に回答するために、画像とテキストを処理するマルチモーダルモデルを用いた画像質問応答システムが提案されている(特許文献2)。また、各モダリティの出力への影響を決定する学習可能な重みを用いて複数のモダリティの情報を統合する手法が提案されている(非特許文献1)。
【0004】
さらに、複数のモダリティが組み合わさった情報(マルチモーダル情報、又はマルチモーダルデータと言う。)を分類する方法が提案されており(非特許文献2)、各モダリティを学習可能な重みを用いて複数の段階で統合する手法が開示されている。この分類方法は、統合された特徴による分類モデルに加えて、統合する前の単一モダリティの特徴による分類モデルを同時に学習するマルチタスク学習を行うことで、分類精度の向上を図っている。
【0005】
一方、ニューラルネットワークおいてマルチタスク学習の改良も試みられており、2つ以上の認識タスクを学習させる場合に、認識タスクの識別精度が向上するように学習パラメータを設定する方法が提案されている(特許文献3)。
【0006】
図11は、本発明者が開発してきた従来のマルチモーダル情報分類装置とその学習装置のブロック図である。マルチモーダル情報分類装置は、ベクトル化部11,12と、特徴抽出部21,22と、特徴統合部30と、統合特徴分類部40と、正規化部41とを備えており、マルチモーダル情報として、例えばテキストデータと画像データが入力される。
【0007】
ベクトル化部11は、テキストデータが入力され、これを学習モデルに入力可能な形式であるベクトルV1に変換し、特徴抽出部21に出力する。同様に、ベクトル化部12は、画像データが入力され、これを学習モデルに入力可能な形式であるベクトルV2に変換し、特徴抽出部22に出力する。
【0008】
特徴抽出部21は特徴抽出モデルを備えており、テキストデータのベクトルV1を特徴抽出モデルに入力し、その特徴を示す特徴ベクトルVf1を出力する。同様に、特徴抽出部22は、画像データのベクトルV2を特徴抽出モデルに入力し、その特徴を示す特徴ベクトルVf2を出力する。
【0009】
特徴統合部30は、テキストデータの特徴ベクトルVf1と画像データの特徴ベクトルVf2が入力され、これらを統合して、統合特徴ベクトルVを生成し、統合特徴分類部40へ出力する。そして、統合特徴分類部40は、ニューラルネットワーク等を用いて構成されており、統合特徴ベクトルVを入力として、分類出力値を出力する。この分類出力値を正規化部41で正規化し、分類結果を出力する。こうして、マルチモーダル情報分類装置は、テキストデータと画像データ等の複数のモダリティの組み合わせ情報から、情報の分類を行うことができる。
【0010】
このようなマルチモーダル情報分類装置には、ニューラルネットワーク等で構成されたモデルが利用されるが、装置を適切に動作させるためには、一般に学習データを用いて繰り返し学習を行い、モデル(パラメータ)を最適なものとなるように収束させること(いわゆる、機械学習)が必要である。
【0011】
図11のマルチモーダル情報分類装置も学習モードを備えており、マルチモーダル情報分類装置に更に、損失計算部50及び学習終了判定手段60を設け、学習装置を構成している。マルチモーダル情報分類装置は、学習モードにおいて、学習データで得られた分類結果を正解ラベル(正解データ)と比較して損失計算部50で損失(誤差)計算を行い、その計算結果を学習ブロック61へフィードバックして情報分類装置内部のモデルを調整し、学習を行う。そして、学習終了判定手段60は、検証データによって学習状態の評価を行い、学習ブロック61の学習の継続又は終了を判定する。
【先行技術文献】
【特許文献】
【0012】
【文献】特表2019-535063号公報
【文献】特表2017-534956号公報
【文献】特開2019-192009号公報
【非特許文献】
【0013】
【文献】J. Arevalo, et al.,“Gated Multimodal Units for Information Fusion”,5th International Conference on Learning Representations Workshop,2017年,pp. 1-17
【文献】V. Vielzeuf, et al.,“CentralNet: A Multilayer Approach for Multimodal Fusion”,European Conference on Computer Vision Workshop,2018年,pp. 1-15
【発明の概要】
【発明が解決しようとする課題】
【0014】
マルチモーダル機械学習とは、画像、音声、テキストなど、一つの対象に対する複数の表現(モダリティ)を入力として、分類などのタスクを解くモデルを構築することである。図11を参照すると、機械学習では、学習データの分類結果に対して正解ラベル(正解データ)と比較した損失計算結果がフィードバックされて、統合特徴分類部40、特徴統合部30、特徴抽出部21,22に順次反映され、損失(誤差)を小さくするようにそれぞれのモデルの修正が行われる。そして、学習を繰り返した後、学習終了判定手段60が、モデルが最適な状態となった時期を判定して、学習を終了する。従来のマルチモーダル機械学習は、テキストデータの特徴抽出部21、画像データの特徴抽出部22、特徴統合部30、及び統合特徴分類部40の全体を学習ブロック61として、一つの損失計算に基づいて学習を行っていた。すなわち、異なる表現に関する特徴抽出部21,22、及び統合特徴分類部40のそれぞれのモデルに対して、同一のデータによる共通の学習プロセスを行っていた。
【0015】
しかしながら、一般にマルチモーダルなデータには、その一部のモダリティからは分類判断が難しいデータが存在する。マルチモーダル学習において、各モダリティがどの程度分類に有用かはデータによって異なるにもかかわらず、データの有用性を考慮せずに学習を行うことにより、有用性の低いデータによる過度の学習、いわゆる「過学習(過剰適合、Overfittingともいう)」が生じ、マルチモーダル機械学習による精度向上の効果が低下するという課題がある。
【0016】
したがって、上記のような問題点に鑑みてなされた本発明の目的は、マルチモーダル情報を分類する情報分類のモデルを生成する際に、一部の有用性の低いモダリティデータに基づく過学習による精度低下を防ぐことができ、モダリティ統合による効果を十分に活かすことができる学習装置及びプログラムを提供することにある。
【0017】
また、本発明の目的は、複数のモダリティを統合することによる精度向上の効果を最大限活用でき、マルチモーダル情報をより正確に分類することができる、情報分類装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0018】
上記課題を解決するために本発明に係る学習装置は、マルチモーダル情報を分類する情報分類装置のモデルを生成する学習装置であって、複数のモダリティデータをベクトル化するベクトル化部と、ベクトル化された各モダリティデータから特徴ベクトルを生成する特徴抽出部と、複数の前記特徴ベクトルから統合特徴ベクトルを生成する特徴統合部と、前記統合特徴ベクトルに基づいて分類結果を導出する統合特徴分類部と、前記分類結果と正解ラベルとを比較して損失を計算する損失計算部と、学習終了判定を行う学習終了判定手段と、を備え、学習データを用いて学習を行う際に、前記学習データの各モダリティデータの有用度の情報を利用することを特徴とする。
【0019】
また、前記学習装置は、さらに、単一の前記特徴ベクトルに基づいて個別分類結果を導出する単一特徴分類部と、前記個別分類結果と正解ラベルとを比較して損失を計算する単一損失計算部と、を備え、前記単一損失計算部は、前記学習データのうち、当該モダリティが有用であるデータのみを損失計算に使用することが望ましい。
【0020】
また、前記学習装置は、さらに、前記統合特徴ベクトルに基づいて前記マルチモーダル情報の有用度ベクトルを生成する特徴有用度推定部と、前記有用度ベクトルを正規化してなる推定結果と各学習データの有用度ラベルとを比較して損失を計算する損失計算部と、を備え、前記統合特徴分類部は、前記統合特徴ベクトル及び前記有用度ベクトルに基づいて分類結果を導出することが望ましい。
【0021】
また、前記学習装置は、さらに、単一の前記特徴ベクトルに基づいて個別分類結果を導出する単一特徴分類部と、前記個別分類結果と正解ラベルとを比較して損失を計算する単一損失計算部と、前記統合特徴ベクトルに基づいて前記マルチモーダル情報の有用度ベクトルを生成する特徴有用度推定部と、前記有用度ベクトルを正規化してなる推定結果と各学習データの有用度ラベルとを比較して損失を計算する損失計算部と、を備え、前記単一損失計算部は、前記学習データのうち、当該モダリティが有用であるデータのみを損失計算に使用し、前記統合特徴分類部は、前記統合特徴ベクトル及び前記有用度ベクトルに基づいて分類結果を導出することが望ましい。
【0022】
また、前記学習装置は、前記特徴抽出部及び前記統合特徴分類部を、ニューラルネットワークを用いて構成することが望ましい。
【0023】
上記課題を解決するために本発明に係る情報分類装置は、前記学習装置の前記損失計算部及び前記学習終了判定手段の機能を、学習終了後に停止させて構成したことを特徴とする。
【0024】
上記課題を解決するために本発明に係る情報分類装置は、マルチモーダル情報を分類する情報分類装置であって、複数のモダリティデータをベクトル化するベクトル化部と、ベクトル化された各モダリティデータから特徴ベクトルを生成する特徴抽出部と、複数の前記特徴ベクトルから統合特徴ベクトルを生成する特徴統合部と、前記統合特徴ベクトルに基づいて前記マルチモーダル情報の有用度ベクトルを生成する特徴有用度推定部と、前記統合特徴ベクトル及び前記有用度ベクトルに基づいて分類結果を導出する統合特徴分類部と、を備え、前記特徴抽出部、前記特徴有用度推定部、及び前記統合特徴分類部は、ニューラルネットワークを用いて構成することを特徴とする。
【0025】
また、前記情報分類装置は、前記特徴抽出部は、当該モダリティが有用であるデータのみを損失計算に使用する学習により最適化されていることが望ましい。
【0026】
上記課題を解決するために本発明に係るプログラムは、コンピュータを、前記学習装置として機能させることを特徴とする。
【0027】
上記課題を解決するために本発明に係るプログラムは、コンピュータを、前記情報分類装置として機能させることを特徴とする。
【発明の効果】
【0028】
本発明の学習装置及びプログラムによれば、マルチモーダル情報を分類する情報分類のモデルを生成する際に、一部の有用性の低いモダリティデータに基づく過学習による精度低下を防ぐことができ、モダリティ統合による効果を十分に活かすことができる。
【0029】
また、本発明の情報分類装置及びプログラムによれば、複数のモダリティを統合することによる精度向上の効果を最大限活用でき、マルチモーダルな情報を正確に分類することができる。
【図面の簡単な説明】
【0030】
図1】第1実施形態の学習装置のブロック図の一例である。
図2】第1実施形態の特徴分類部の構成の一例を示す図である。
図3】本発明の学習装置の学習アルゴリズムの例を示すフローチャートである。
図4】学習終了判定アルゴリズムの例を示すフローチャートである。
図5】第2実施形態の学習装置のブロック図の一例である。
図6】第2実施形態の特徴分類部の構成の一例を示す図である。
図7】第3実施形態の学習装置のブロック図の一例である。
図8】第3実施形態の特徴分類部の構成の一例を示す図である。
図9】本発明の情報分類装置のブロック図の一例である。
図10】本発明の情報分類装置のブロック図の別の例である。
図11】従来のマルチモーダル情報分類装置とその学習装置のブロック図である。
【発明を実施するための形態】
【0031】
以下、本発明の実施の形態について、図を参照して説明する。
【0032】
(第1の実施の形態)
図1に、本発明の第1実施形態の学習装置のブロック図の一例を示す。図1は、マルチモーダル情報を分類する情報分類装置のモデル(情報分類モデル)を構築するための、マルチモーダル機械学習を行う学習装置である。
【0033】
学習装置100は、情報分類装置を構成するベクトル化部11,12、特徴抽出部21,22、特徴統合部30、統合特徴分類部40、及び正規化部41に加えて、単一特徴分類部42,44と、正規化部43,45と、損失計算部50~52と、学習終了判定手段60とを備えている。図11の従来の学習装置と比較すると、単一特徴分類部42,44と、正規化部43,45と、損失計算部51,52が追加されている。図1では、複数の表現(モダリティ)として、テキストと画像(RGB画像)を例示しているが、更に、音声、動画像、デプス画像等、多数の様々なモダリティに対応してもよい。この学習装置100は、全体を一つのコンピュータとプログラムにより構成することができる。なお、必要に応じて、損失計算部50~52及び学習終了判定手段60は、別のコンピュータで構成してもよい。以下、各構成について説明する。
【0034】
学習時には、学習装置100に学習データが入力される。学習データには、複数のモダリティを一組としたデータ(マルチモーダルデータ)を用いる。例えば、1つのデータがM個のモダリティを持つとする(図1では、M=2)。なお、学習のための各データには、情報の種別(カテゴリ)を示す正解ラベル(正解データ)と、後述する有用度ラベルが付与されている。
【0035】
本実施形態では、ツイッター(Twitter)への投稿(ツイート)の画像とメッセージ(テキスト)から、投稿の種別(ツイート内容のカテゴリ)を分類する情報分類モデルを例として説明する。例えば、ある投稿(ツイート)を一つのデータとし、データは、投稿のテキストデータと画像データを持つ。また、正解ラベルとして、火事、洪水、交通事故等のツイートした事件内容のカテゴリが付与されている。
【0036】
ベクトル化部11,12は、学習データの各モダリティ(モダリティデータと言うことがある。)の入力をベクトル化し、学習モデルに入力可能な形式に変換する。M個のモダリティから、M個のベクトルV1、V2、・・・、VMが生成される。ベクトル化は、入力する情報の種類に合わせて公知の手法を用いることができる。なお、ベクトル化部11,12は、各モダリティデータを学習モデルに入力するための前処理を行うブロックであるから、学習装置(又は情報分類装置)と分離された前処理手段として構成されてもよい。
【0037】
図1のベクトル化部11は、テキストデータを学習モデルに入力可能なベクトルV1に変換し、特徴抽出部21に出力する。例えば、テキスト(文)を単語に分割し、分割された単語から文単位の分散表現ベクトルを生成する。若しくは、単語にIDを割り当てたone-hotベクトルの系列を用いることができる。
【0038】
テキストデータのベクトル化の例を説明する。まず、次のように、テキストデータを単語に分割する(単語の区切りを/で示す)。
「近所で火事らしい…」 ⇒ 「近所/で/火事/らしい/…」
【0039】
そして、分割された単語を分散表現ベクトルに変換し、更に文単位の分散表現ベクトルを生成する。なお、分散表現ベクトルは、意味が近い単語を近いベクトルに対応させて、単語を有限の高次元(例えば、300次元)の数値ベクトルで表現したものである。分散表現ベクトルは、例えば、word2vecやGloVe(Global Vectors for Word Representation)等の一般的な手法により生成することができる。
【0040】
表1に示すように、まず、各単語をn次元の分散表現ベクトルに変換する。次いで、全単語の分散表現ベクトルの合計(全単語合計)を求める。この分散表現ベクトルの合計を単語数で割ったもの(全単語合計/単語数)を、文単位単語分散表現ベクトル(テキストデータ全体を表すベクトルV1)とすることができる。なお、このベクトル化手法は一例であり、他の手法でテキストデータのベクトル化を行ってもよい。
【0041】
【表1】
【0042】
ベクトル化部12は、画像データを学習モデルに入力可能な形式であるベクトルV2に変換し、特徴抽出部22に出力する。例えば、画像データの場合は、単に画素値を並べてベクトルとすることができる。又は、画像中の特徴点(被写体の角、弧、十字等の特徴的な点)の出現頻度を算出し、これらを数値として並べてベクトルとしてもよい。若しくは、画像データを学習済みの画像分類モデルに入力し、中間層の出力を用いることができる。
【0043】
特徴抽出部21,22は、それぞれ特徴抽出モデルを備えており、M個のモダリティのベクトルV1、V2、・・・、VMから、M個の特徴ベクトルVf1、Vf2、・・・、VfMを生成する。特徴抽出部には、ニューラルネットワークの全結合層や畳み込み層を用いることができる。入力が系列データの場合はLSTM(Long short-term memory)やGRU(Gated Recurrent Unit)といった再起型ニューラルネットワークを用いることが望ましい。系列データの例としては、例えば、音声、動画像等であり、文章データを系列データとして取り扱う場合もある。なお、特徴抽出モデルはニューラルネットワークに限られず、他のタイプの学習モデルで構成してもよい。
【0044】
図1の実施形態において、特徴抽出部21はテキストデータのベクトルV1を特徴抽出モデルに入力し、その特徴を示す特徴ベクトルVf1を生成し、単一特徴分類部42と特徴統合部30に出力する。同様に、特徴抽出部22は、画像データのベクトルV2を特徴抽出モデルに入力し、その特徴を示す特徴ベクトルVf2を生成し、単一特徴分類部44と特徴統合部30に出力する。
【0045】
特徴統合部30は、特徴ベクトルVf1、Vf2、・・・、VfMを統合して一つのベクトル(統合特徴ベクトル)Vを生成する。ベクトルの統合方法は、ベクトルの結合、要素ごとの和、要素ごとの積等、一般的な計算処理を用いてもよい。若しくは学習可能なパラメータを持つモデルを用いた公知の手法であるGMU(Gated Multimodal Unit)、CentralNet等(非特許文献1,2を参照)を用いることができる。本実施形態では、特徴統合部30に学習可能なモデルを用い、学習データで学習を行うものとして説明する。
【0046】
図1では、特徴統合部30は、テキストデータの特徴ベクトルVf1と画像データの特徴ベクトルVf2が入力され、これらを統合して、統合特徴ベクトルVを統合特徴分類部40へ出力する。
【0047】
統合特徴分類部40は、統合特徴ベクトルVに基づいて、分類出力値を出力する。統合特徴分類部40は、例えば、順伝搬ニューラルネットワーク(FFNN:Feed Forward Neural Network)を適用して構成する。図1の実施形態では、統合特徴分類部40は、ツイートのメッセージ(テキスト)の特徴(Vf1)と画像の特徴(Vf2)を統合した統合特徴ベクトルVを入力とし、ツイート内容の各カテゴリの推定値を分類出力値として出力する。
【0048】
正規化部41は、統合特徴分類部40から出力された分類出力値を、例えば、ソフトマックス関数等を用いて正規化し、分類結果を出力する。なお、正規化部41は統合特徴分類部40の一部であってもよく、統合特徴分類部40が分類結果を出力するように構成されてもよい。本明細書では、正規化部41の有無にかかわらず、統合特徴分類部40が分類結果を導出すると表現することがある。
【0049】
単一特徴分類部42,44は、それぞれ単一のモダリティの特徴ベクトルVf1、Vf2、・・・、VfMが入力され、それぞれのモダリティに対応した分類出力値を出力する。単一特徴分類部42,44は、例えば、順伝搬ニューラルネットワーク(FFNN)を適用して構成する。なお、統合特徴分類部40及び単一特徴分類部42,44のモデルはニューラルネットワークに限られず、他のタイプの学習モデルで構成してもよい。
【0050】
図1の第1実施形態では、単一特徴分類部42は、テキストデータ(ツイートのメッセージ)の特徴ベクトルVf1を入力とし、メッセージに基づくツイート内容の各カテゴリの推定値を分類出力値として出力する。また、単一特徴分類部44は、画像データ(ツイートの画像)の特徴ベクトルVf2を入力とし、画像に基づくツイート内容の各カテゴリの推定値を分類出力値として出力する。
【0051】
正規化部43は、単一特徴分類部42から出力された分類出力値を、例えば、ソフトマックス関数等を用いて正規化し、分類結果Tとして出力する。また、正規化部45は、単一特徴分類部44から出力された分類出力値を、例えば、ソフトマックス関数等を用いて正規化し、分類結果Pとして出力する。なお、単一のモダリティの特徴ベクトルから導かれた分類結果を、個別分類結果という。正規化部43,45は単一特徴分類部42,44の一部であってもよく、単一特徴分類部42,44が分類結果T又は分類結果Pを出力するように構成されてもよい。本明細書では、正規化部43,45の有無にかかわらず、単一特徴分類部42,44が個別分類結果を導出すると表現することがある。
【0052】
図2に、単一特徴分類部42,44と統合特徴分類部40の構成について一例を示す。前述のとおり、単一特徴分類部42,44には、それぞれ単一のモダリティの特徴ベクトルVf1、Vf2が入力され、また、特徴統合部30で各モダリティの特徴ベクトルを統合した統合特徴ベクトルVが統合特徴分類部40に入力される。
【0053】
単一特徴分類部42,44及び統合特徴分類部40は、例えば、順伝搬ニューラルネットワーク(FFNN)を適用して構成され、特徴ベクトルが入力される入力層と、入力を重みパラメータ及び活性化関数等で処理する中間層と、中間層の処理の結果から得られるツイート内容のカテゴリに対応する出力層とを備える。なお、中間層は一層に限られず、複数層であってもよい。また、出力層から出力される分類出力値を正規化することにより、入力したツイート内容のカテゴリの確率値(スコア)が得られる。
【0054】
なお、統合特徴分類部40は、学習終了後に、情報分類装置の統合特徴分類部40として機能するブロックであるが、単一特徴分類部42,44は、情報分類装置の学習時にのみ機能するブロックであり、情報分類装置としては機能しない。
【0055】
図1に戻って、学習装置100は、更に損失計算部50~52と、学習終了判定手段60を備えている。学習装置100は、学習モードにおいては、損失計算部50~52の計算結果に基づいて、ニューラルネットワーク等で構成された各特徴分類部40,42,44、特徴統合部30、及び特徴抽出部21,22のモデルの修正を行うとともに、学習終了判定手段60の結果に基づいて、学習ブロック61の学習の終了時を決定する。
【0056】
損失計算部50は、統合特徴分類部40及び正規化部41から出力された学習データによる分類結果を正解ラベルと比較して損失計算を行う。学習データのバッチサイズをN、統合特徴分類部40の出力をソフトマックス関数で正規化して得られた分類結果をX1、X2、・・・、XN、正解ラベルをY1、Y2、・・・、YNとする。このとき、統合特徴分類部40の損失は、クロスエントロピーを用いて以下の式(1)で求められる。
【0057】
【数1】
ただし、Xn[i]、Yn[i]はそれぞれ、Xn、Ynのi番目の要素であり、Cはクラス数である。
【0058】
学習モードでは、学習データのバッチNごとに、損失計算部50で計算された損失(誤差)を小さくするように、統合特徴分類部40、特徴統合部30、及び特徴抽出部21,22のモデルの学習(パラメータの修正)を行う。
【0059】
また、損失計算部51は、単一特徴分類部42及び正規化部43から出力されたテキストデータ(学習データ)による分類結果Tを正解ラベル(正解ラベルは統合特徴分類と単一特徴分類で共通)と比較して、損失計算を行う。同様に、損失計算部52は、単一特徴分類部44及び正規化部45から出力された画像データ(学習データ)による分類結果Pを正解ラベルと比較して、損失計算を行う。なお、損失計算部51,52は、単一のモダリティにより導かれた分類結果の損失計算をするから、単一損失計算部と言うことがある。
【0060】
N個の学習データそれぞれについて、m番目のモダリティの単一特徴分類部の出力をソフトマックス関数で正規化して得られた分類結果をX1 m、X2 m、・・・、XN m、有用度ラベルをL1、L2、・・・、LNとする。なお、有用度ラベルは、各モダリティが単一モダリティによる分類に有用であれば1、有用でなければ0となる、モダリティの数と等しい長さからなるベクトルである。有用度ラベルLnのm番目のモダリティに対応する要素をLn m(Ln mは1又は0)とする。このとき、単一特徴分類部42,44の損失を、クロスエントロピーを用いて次の式(2)で求める。
【0061】
【数2】
【0062】
(2)式のとおり、単一特徴分類部42,44の正規化された出力と正解ラベルとの損失(誤差)の計算は、当該モダリティの有用度ラベルが1のデータのみに対して行う。また、有用度ラベルがすべて0の場合は、損失も0とする。すなわち、有用度ラベルが0のデータは、モデルの学習(パラメータの修正)には寄与しない。このように、有用度の低いモダリティデータの学習への寄与度を低くする。
【0063】
学習モードでは、学習データのバッチNごとに、単一損失計算部51,52で計算された損失(誤差)を小さくするように、単一特徴分類部42,44及び特徴抽出部21,22のモデルの学習(パラメータの修正)を行う。
【0064】
すなわち、本実施形態では、単一モダリティの特徴を用いて分類を行うモデルの学習に用いるデータを、単一モダリティによる分類に有効なデータ(当該モダリティの有用度ラベルが1のデータ)に限定する。こうすることで、単一モダリティによる分類に有効ではないデータを用いた学習が引き起こす各モダリティの特徴抽出部21,22の過学習を防ぎ、精度を向上させる。その結果、特徴抽出部21の出力Vf1及び特徴抽出部22の出力Vf2に基づいて分類を行う統合特徴分類部40の精度も向上し、マルチタスク学習による精度向上の効果を十分に活かすことができる。
【0065】
ここで使用する有用度ラベルLは、各データのそれぞれのモダリティごとの有用性に基づいて設定されるが、例えば、以下のような手順で作成することができる。
(i)1つのツイートに対し、単一のモダリティのみで分類した結果と、全てのモダリティを考慮して分類した結果を付与する。すなわち、画像のみを考慮してカテゴリを分類した画像ラベル、テキストのみを考慮してカテゴリを分類したテキストラベル、画像とテキストの両方を考慮して分類した正解ラベルを付与する。なお、画像ラベル、テキストラベルには分類が不明であることを示すラベルが含まれる。
(ii)正解ラベルと比較して各モダリティの有用度を決定する。すなわち、画像ラベルと正解ラベルが一致した場合には画像の有用度を1に、テキストラベルと正解ラベルが一致した場合にはテキストの有用度を1にする。それぞれ一致しない場合は有用度0とする。
(iii)データごとに、各モダリティの有用度を所定の順に並べ、有用度ラベルLのベクトルとする。
【0066】
ただし、有用度ラベルLの作成方法は、上記の手順による方法に限られるものではなく、他の手法で有用度ラベルを設定してもよい。
【0067】
なお、全体の分類結果に基づく特徴抽出部21,22の学習と、単一特徴分類の分類結果T又は分類結果Pに基づく特徴抽出部21,22の学習は、有用度ラベルLを用いた分類結果T,Pの損失計算に基づく学習を、全体の分類結果(統合特徴分類部40により導出された分類結果)に基づく学習に優先させて行ってもよい。例えば、特徴抽出部21,22の学習は、単一モダリティによる分類結果T,Pに基づいて行い、全体の分類結果による学習は、特徴統合部30と統合特徴分類部40の学習に利用するように構成してもよい。
【0068】
学習終了判定手段60は、検証データの分類結果と正解データから統合特徴分類部40の出力精度を求め、学習装置100の学習状態の評価を行う。学習終了判定手段60は、特徴抽出部21,22、単一特徴分類部42,44、特徴統合部30及び統合特徴分類部40からなる学習ブロック61の学習の継続又は終了を判定する。
【0069】
図3に、本実施形態の学習装置100の学習アルゴリズムの例をフローチャートで示す。以下、各ステップについて説明する。
【0070】
ステップS11:学習装置100に対して、学習データの画像及びテキストを入力する。ここでは、図1の学習装置100に対応させて、モダリティとして画像とテキストを例示しているが、装置に応じて、更に、音声や動画等、様々なモダリティデータを入力してもよい。
【0071】
ステップS12:入力された学習データにより、学習を実行する。具体的には、学習データによる分類結果と正解ラベルとを比較し、その結果に基づいて、特徴抽出部21,22、特徴統合部30、単一特徴分類部42,44、及び統合特徴分類部40のモデルの学習(パラメータの修正)を行う。
【0072】
ステップS13:学習データによる学習後に、学習終了判定を行うタイミングか判断する。学習終了判定を行うタイミングは予め設定しておき、例えば、全ての学習データを1回ずつ学習に用いたタイミング(エポック終了時)と設定することができる。すなわち、1エポックの学習が終了したら学習終了判定を行うこととする。学習終了判定を行うタイミングに達していない場合は、ステップS11に戻る。タイミングに達した場合は、次のステップS14に進む。
【0073】
ステップS14:学習終了判定手段60により、学習装置100の学習を終了するかの判定を行う。判定処理については、後に詳述するが、検証データにより、統合特徴分類部40から出力された分類結果を評価し、学習終了条件を満たした場合に、学習ブロック61の学習を終了する。学習終了条件を満たしていない場合は、ステップS11に戻る。全ての学習終了条件を満たした場合は、次のステップS15に進む。
【0074】
ステップS15:学習済みのモデル(ここでは、情報分類装置のモデル)を出力又は保存する。
【0075】
以上のステップを経て、学習アルゴリズムのフローチャートを終了する。
【0076】
次に、学習終了判定手段60の処理(図3のステップS14)について詳述する。図4に、学習終了判定手段60による学習終了判定アルゴリズムの例をフローチャートで示す。各ステップについて説明する。
【0077】
ステップS21:学習装置100に対して、検証データのテキスト及び画像を入力する。なお、ここでは、図1の学習装置100に対応させて、モダリティとしてテキストと画像を例示しているが、装置に応じて、更に、音声や動画等、様々なモダリティデータを入力してもよい。
【0078】
ステップS22:検証データに基づく統合特徴分類部40の出力の精度を計算・記録する。検証データの分類結果及び正解データから、検証データに関する精度を求めることができる。精度として、分類結果と正解データの違いを表すロス関数の値や、分類結果の正解率などを用いることができる。その後、ステップS23に進む。
【0079】
ステップS23:保存されているモデルに基づく出力の精度と比較して、現在のモデルによる出力の精度が改善したか判断する。改善した場合は次のステップS24に進み、改善しない場合はステップS25に進む。
【0080】
ステップS24:現在のモデルを保存する。その後、学習装置100の学習を再開する。すなわち、図3のフローチャートの開始に戻る。
【0081】
ステップS25:(精度の改善がない場合)学習終了条件を満たすか判断する。すなわち、統合特徴分類部40の出力を正規化した分類結果が、所定の学習終了条件を満たすか判断する。学習終了条件としては、例えば「予め決めた期間(例えば、10エポック)精度が改善しない」等と設定することができる。学習終了条件を満たす場合は、ステップS26に進む。学習終了条件を満たさない場合は、学習装置100の学習を再開する。すなわち、図3のフローチャートの開始に戻る。
【0082】
ステップS26:統合特徴分類部40の出力の精度が最善のモデルを出力又は保存して、学習を終了する。例えば、今回の1エポックの学習の結果、出力の精度が劣化した場合は、今回の学習結果を破棄し、前回までに保存されているモデルの内、出力の精度が最善のモデルを出力又は保存して、学習を終了する。
【0083】
なお、学習を直ちに終了する代わりに学習率を小さくする(例えば前の学習率に1/10を掛ける)ことを行ってもよい。この場合、所定の回数、学習率を小さくして学習した後、学習終了条件を満たすか判断(S25)し、その後、統合特徴分類部の出力の精度が最善のモデルを保存して、学習を終了する。
【0084】
なお、ここで学習率とは、ニューラルネットワークのパラメータ(重み)を学習により更新する際の更新の幅を設定する係数に相当する。例えば、学習データによる出力データと正解データとの誤差関数fの傾き(∂f/∂x)に学習率(ε)を乗じた値を現在の変数(重み値)xiから減じて、新たな変数xi+1を算出する。こうしてパラメータ(重み)を最適な値に調整する。学習率を0にすることが学習の終了に相当する。
【0085】
以上で学習終了判定手段60の動作を終了する。この後は、図3のフローチャートのステップS15に進み、最適なモデルを出力又は保存する。
【0086】
(第2の実施の形態)
図5に、本発明の第2実施形態の学習装置のブロック図の一例を示す。図5は、マルチモーダル情報を分類する情報分類装置のモデル(情報分類モデル)を構築するための、マルチモーダル機械学習を行う学習装置である。
【0087】
学習装置101は、情報分類装置を構成するベクトル化部11,12、特徴抽出部21,22、特徴統合部30、統合特徴分類部40、正規化部41、及び特徴有用度推定部70に加えて、正規化部71と、損失計算部50,53と、学習終了判定手段60とを備えている。図11の従来の学習装置と比較すると、特徴有用度推定部70と、正規化部71と、損失計算部53が追加されている。図5では、複数の表現(モダリティ)として、テキストと画像(RGB画像)を例示しているが、更に、音声、動画像、デプス画像等、多数の様々なモダリティに対応してもよい。この学習装置101は、全体を一つのコンピュータとプログラムにより構成することができる。なお、必要に応じて、損失計算部50,53及び学習終了判定手段60は、別のコンピュータで構成してもよい。以下、各構成について説明するが、図1の学習装置100と共通する構成については、説明を簡略化する。
【0088】
学習時には、学習装置101に学習データが入力される。学習データには、複数のモダリティを一組としたデータ(マルチモーダルデータ)を用いる。例えば、1つのデータがM個のモダリティを持つとする(図5では、M=2)。なお、学習のための各データには、情報の種別(カテゴリ)を示す正解ラベル(正解データ)と、有用度ラベルが付与されている。
【0089】
本実施形態では、ツイッター(Twitter)への投稿(ツイート)の画像とメッセージ(テキスト)から、投稿の種別(ツイート内容のカテゴリ)を分類する情報分類モデルを例として説明する。
【0090】
ベクトル化部11,12は、学習データの各モダリティの入力をベクトル化し、学習モデルに入力可能な形式に変換する。M個のモダリティから、M個のベクトルV1、V2、・・・、VMが生成される。
【0091】
ベクトル化部11は、テキストデータを学習モデルに入力可能なベクトルV1に変換し、特徴抽出部21に出力する。また、ベクトル化部12は、画像データを学習モデルに入力可能な形式であるベクトルV2に変換し、特徴抽出部22に出力する。ベクトル化部11,12の構成は、図1のベクトル化部11,12と同じであってよい。
【0092】
特徴抽出部21,22は、それぞれ特徴抽出モデルを備えており、M個のモダリティのベクトルV1、V2、・・・、VMから、M個の特徴ベクトルVf1、Vf2、・・・、VfMを生成する。特徴抽出部には、ニューラルネットワークの全結合層や畳み込み層を用いることができる。特徴抽出部21,22の構成は、図1の特徴抽出部21,22と同じであってよい。
【0093】
図5の実施形態において、特徴抽出部21はテキストデータのベクトルV1を特徴抽出モデルに入力し、その特徴を示す特徴ベクトルVf1を生成し、特徴統合部30に出力する。同様に、特徴抽出部22は、画像データのベクトルV2を特徴抽出モデルに入力し、その特徴を示す特徴ベクトルVf2を生成し特徴統合部30に出力する。
【0094】
特徴統合部30は、特徴ベクトルVf1、Vf2、・・・、VfMを統合して、統合特徴ベクトルV,Wを生成する。ベクトルの統合方法は、ベクトルの結合、要素ごとの和、要素ごとの積、若しくは学習可能なパラメータを持つモデルを用いた公知の手法であるGMU、CentralNet等(非特許文献1,2を参照)を用いることができる。例えば、統合特徴ベクトルVを各特徴ベクトルの要素ごとの和で生成し、統合特徴ベクトルWを各特徴ベクトルの結合(連結)で生成することができる。
【0095】
図5では、特徴統合部30は、テキストデータの特徴ベクトルVf1と画像データの特徴ベクトルVf2が入力され、これらを統合して、統合特徴ベクトルVを統合特徴分類部40へ出力し、統合特徴ベクトルWを特徴有用度推定部70へ出力する。
【0096】
特徴有用度推定部70は、統合特徴ベクトルWに基づいて有用度推定を行い、有用度ベクトルUを生成する。有用度ベクトルUは有用度ラベルの推定値に相当する。すなわち、有用度ベクトルUは、入力された各モダリティの有用度の推定値からなるベクトルである。特徴有用度推定部70は、例えば、順伝搬ニューラルネットワーク(FFNN)からなる有用度の推定モデルを備えている。生成された有用度ベクトルUは、統合特徴分類部40及び正規化部71に出力される。
【0097】
正規化部71は、特徴有用度推定部70から出力された有用度ベクトルUの各要素を、例えば、シグモイド関数を用いて0から1の値に正規化し、特徴有用度の推定結果を出力する。
【0098】
統合特徴分類部40は、統合特徴ベクトルV及び有用度ベクトルUに基づいて、分類出力値を出力する。統合特徴分類部40は、例えば、順伝搬ニューラルネットワーク(FFNN)を適用して構成する。図5の実施形態では、統合特徴分類部40は、ツイートのメッセージ(テキスト)の特徴(Vf1)と画像の特徴(Vf2)を統合した統合特徴ベクトルVと、統合特徴ベクトルVに対応する有用度ベクトルUを入力とし、ツイート内容のカテゴリを分類出力値として出力する。
【0099】
正規化部41は、統合特徴分類部40から出力された分類出力値を、例えば、ソフトマックス関数等を用いて正規化し、分類結果を出力する。なお、正規化部41は統合特徴分類部40の一部であってもよく、統合特徴分類部40が分類結果を出力するように構成されてもよい。本明細書では、正規化部41の有無にかかわらず、統合特徴分類部40が分類結果を導出すると表現することがある。
【0100】
図6に、特徴有用度推定部70と統合特徴分類部40の構成について一例を示す。単一のモダリティの特徴ベクトルVf1、Vf2が特徴統合部30に入力され、各モダリティの特徴を統合した統合特徴ベクトルV,Wが生成される。統合特徴ベクトルVは統合特徴分類部40に入力され、統合特徴ベクトルWは特徴有用度推定部70に入力される。
【0101】
特徴有用度推定部70は、例えば、順伝搬ニューラルネットワーク(FFNN)を適用して構成され、統合特徴ベクトルWが入力される入力層と、入力を重みパラメータ及び活性化関数等で処理する中間層と、中間層の処理の結果から得られる各モダリティ(ここでは、画像及びテキスト)の有用度を表す出力層とを備える。なお、中間層は一層に限られず、複数層であってもよい。各モダリティの有用度の出力値は、全体で有用度ベクトルUとして、統合特徴分類部40に出力される。
【0102】
統合特徴分類部40は、例えば、順伝搬ニューラルネットワーク(FFNN)を適用して構成され、有用度ベクトルUが入力される入力層と、有用度ベクトルの情報を統合特徴ベクトルVの要素に対応させる中間層と、統合特徴ベクトルVと有用度ベクトルの情報を加算(又は乗算)する加算部と、有用度ベクトルの情報が加算された統合特徴ベクトルVが入力される入力層と、入力を重みパラメータ及び活性化関数等で処理する中間層と、中間層の処理の結果から得られるツイート内容のカテゴリに対応する出力層とを備える。なお、出力層から出力される分類出力値を正規化することにより、入力したツイート内容のカテゴリの確率値(スコア)が得られる。
【0103】
このように、本実施形態では、各データについてそれぞれのモダリティの有用度(有用度ベクトルU)を推定し、有用度ベクトルの情報が加算(又は乗算)された統合特徴ベクトルVを用いてデータの分類結果を導出している。こうすることで、各モダリティの有用度の情報を考慮したモデルを構築することができ、統合特徴分類部40の分類精度を向上させることができる。
【0104】
図5に戻って、学習装置101は、更に損失計算部50,53と、学習終了判定手段60を備えている。学習装置101は、学習モードにおいては、損失計算部50,53の計算結果に基づいて、ニューラルネットワーク等で構成された統合特徴分類部40、特徴有用度推定部70、特徴統合部30、及び特徴抽出部21,22のモデルの修正を行うとともに、学習終了判定手段60の結果に基づいて、学習ブロック61の学習の終了時を判定する。
【0105】
損失計算部50は、図1の損失計算部50と同じものであり、統合特徴分類部40及び正規化部41から出力された学習データによる分類結果を正解ラベルと比較して損失計算を行う。学習データのバッチサイズをN、統合特徴分類部40の出力をソフトマックス関数で正規化して得られた分類結果をX1、X2、・・・、XN、正解ラベルをY1、Y2、・・・、YNとする。このとき、統合特徴分類部40の損失は、クロスエントロピーを用いて、前述の式(1)で求められる。
【0106】
学習モードでは、学習データのバッチNごとに、損失計算部50で計算された損失(誤差)を小さくするように、統合特徴分類部40、特徴統合部30、及び特徴抽出部21,22のモデルの学習(パラメータの修正)を行う。
【0107】
また、損失計算部53は、特徴有用度推定部70及び正規化部71から出力された推定結果を有用度ラベル(第1実施形態で用いた有用度ラベルと同一)と比較して、損失計算を行う。
【0108】
N個の学習データそれぞれについて、特徴有用度推定部70の出力を要素ごとにシグモイド関数で正規化して得られた有用度推定結果をU1、U2、・・・、UN、有用度ラベルをL1、L2、・・・、LNとする。このとき、特徴有用度推定部70の損失を、クロスエントロピーを用いて、次式(3)で求める。
【0109】
【数3】
ただし、Ln[m]、Un[m]はそれぞれ、Ln、Unのm番目の要素であり、Mはモダリティの数である。
【0110】
学習モードでは、学習データのバッチNごとに、損失計算部53で計算された損失(誤差)を小さくするように、特徴有用度推定部70、特徴統合部30、及び特徴抽出部21,22のモデルの学習(パラメータの修正)を行う。この結果、有用度ベクトルUは、有用度ラベルLにより近いものとなる。
【0111】
なお、特徴抽出部21,22、及び特徴統合部30のモデルの学習(パラメータの修正)は、全体の分類結果についての損失計算部50の損失結果に基づく学習と、有用度の推定結果についての損失計算部53の損失結果に基づく学習の両者を用いてもよいし、また、一方の学習を他方の学習に優先させて行うこともできる。
【0112】
学習終了判定手段60は、検証データの分類結果と正解データから統合特徴分類部40の出力精度を求め、学習装置101の学習状態の評価を行う。学習終了判定手段60は、特徴抽出部21,22、特徴統合部30、特徴有用度推定部70及び統合特徴分類部40からなる学習ブロック61の学習の継続又は終了を判定する。
【0113】
第2実施形態の学習装置101における学習アルゴリズム、及び学習終了判定手段60の学習終了判定アルゴリズムは、第1実施形態の学習アルゴリズム及び学習終了判定アルゴリズムと同じであってよい。すなわち、図3に示されるフローチャートに基づいて、学習アルゴリズム適用することができる。また、図4に示されるフローチャートに基づいて、学習終了判定手段60による学習終了判定処理を実施することができる。
【0114】
(第3の実施の形態)
図7に、本発明の第3実施形態の学習装置のブロック図の一例を示す。図7は、マルチモーダル情報を分類する情報分類装置のモデル(情報分類モデル)を構築するための、マルチモーダル機械学習を行う学習装置である。第3実施形態の学習装置102は、第1実施形態の学習装置100と第2実施形態の学習装置101の両者の構成を備えている。
【0115】
学習装置102は、情報分類装置を構成するベクトル化部11,12、特徴抽出部21,22、特徴統合部30、統合特徴分類部40、正規化部41、及び特徴有用度推定部70に加えて、単一特徴分類部42,44と、正規化部43,45,71と、損失計算部50~53と、学習終了判定手段60とを備えている。図11の従来の学習装置と比較すると、単一特徴分類部42,44と、特徴有用度推定部70と、正規化部43,45,71と、損失計算部51~53が追加されている。図7では、複数の表現(モダリティ)として、テキストと画像(RGB画像)を例示しているが、更に、音声、動画像、デプス画像等、多数の様々なモダリティに対応してもよい。この学習装置102は、全体を一つのコンピュータとプログラムにより構成することができる。なお、必要に応じて、損失計算部50~53及び学習終了判定手段60は、別のコンピュータで構成してもよい。以下、各構成について説明するが、図1の学習装置100又は図5の学習装置101と共通する構成については、説明を簡略化する。
【0116】
学習時には、学習装置102に学習データが入力される。学習データには、複数のモダリティを一組としたデータ(マルチモーダルデータ)を用いる。例えば、1つのデータがM個のモダリティを持つとする(図1では、M=2)。なお、学習のための各データには、情報の種別(カテゴリ)を示す正解ラベル(正解データ)と、有用度ラベルが付与されている。
【0117】
本実施形態では、ツイッター(Twitter)への投稿(ツイート)の画像とメッセージ(テキスト)から、投稿の種別(ツイート内容のカテゴリ)を分類する情報分類モデルを例として説明する。
【0118】
ベクトル化部11,12は、学習データの各モダリティの入力をベクトル化し、学習モデルに入力可能な形式に変換する。M個のモダリティから、M個のベクトルV1、V2、・・・、VMが生成される。
【0119】
ベクトル化部11は、テキストデータを学習モデルに入力可能なベクトルV1に変換し、特徴抽出部21に出力する。また、ベクトル化部12は、画像データを学習モデルに入力可能な形式であるベクトルV2に変換し、特徴抽出部22に出力する。ベクトル化部11,12の構成は、図1のベクトル化部11,12と同じであってよい。
【0120】
特徴抽出部21,22は、それぞれ特徴抽出モデルを備えており、M個のモダリティのベクトルV1、V2、・・・、VMから、M個の特徴ベクトルVf1、Vf2、・・・、VfMを生成する。特徴抽出部には、ニューラルネットワークの全結合層や畳み込み層を用いることができる。特徴抽出部21,22の構成は、図1の特徴抽出部21,22と同じであってよい。
【0121】
図7の実施形態において、特徴抽出部21はテキストデータのベクトルV1を特徴抽出モデルに入力し、その特徴を示す特徴ベクトルVf1を生成し、単一特徴分類部42と特徴統合部30に出力する。同様に、特徴抽出部22は、画像データのベクトルV2を特徴抽出モデルに入力し、その特徴を示す特徴ベクトルVf2を生成し、単一特徴分類部44と特徴統合部30に出力する。
【0122】
特徴統合部30は、特徴ベクトルVf1、Vf2、・・・、VfMを統合して、統合特徴ベクトルV,Wを生成する。ベクトルの統合方法は、ベクトルの結合、要素ごとの和、要素ごとの積、若しくは学習可能なパラメータを持つモデルを用いた公知の手法であるGMU、CentralNet等(非特許文献1,2を参照)を用いることができる。例えば、統合特徴ベクトルVを各特徴ベクトルの要素ごとの和で生成し、統合特徴ベクトルWを各特徴ベクトルを結合して生成することができる。
【0123】
図7では、特徴統合部30は、テキストデータの特徴ベクトルVf1と画像データの特徴ベクトルVf2が入力され、これらを統合して、統合特徴ベクトルVを統合特徴分類部40へ出力し、統合特徴ベクトルWを特徴有用度推定部70へ出力する。
【0124】
特徴有用度推定部70は、統合特徴ベクトルWに基づいて有用度推定を行い、有用度ベクトルUを生成する。特徴有用度推定部70の構成は、図5の特徴有用度推定部70と同じであってよい。生成された有用度ベクトルUは、統合特徴分類部40及び正規化部71に出力される。
【0125】
正規化部71は、特徴有用度推定部70から出力された有用度ベクトルUの各要素を、例えば、シグモイド関数を用いて0から1の値に正規化し、特徴有用度の推定結果を出力する。
【0126】
統合特徴分類部40は、統合特徴ベクトルV及び有用度ベクトルUに基づいて、分類出力値を出力する。統合特徴分類部40は、例えば、順伝搬ニューラルネットワーク(FFNN)を適用して構成する。図7の統合特徴分類部40の構成は、図5の統合特徴分類部40と同じであってよい。統合特徴分類部40は、統合特徴ベクトルVと、統合特徴ベクトルVに対応する有用度ベクトルUを入力とし、ツイート内容のカテゴリを分類出力値として出力する。
【0127】
正規化部41は、統合特徴分類部40から出力された分類出力値を、例えば、ソフトマックス関数等を用いて正規化し、分類結果を出力する。なお、正規化部41は統合特徴分類部40の一部であってもよく、統合特徴分類部40が分類結果を出力するように構成されてもよい。本明細書では、正規化部41の有無にかかわらず、統合特徴分類部40が分類結果を導出すると表現することがある。
【0128】
単一特徴分類部42,44は、それぞれ単一のモダリティの特徴ベクトルVf1、Vf2、・・・、VfMが入力され、それぞれのモダリティに対応した分類出力値を出力する。単一特徴分類部42,44は、例えば、順伝搬ニューラルネットワーク(FFNN)を適用して構成する。
【0129】
本実施形態では、単一特徴分類部42は、テキストデータ(ツイートのメッセージ)の特徴ベクトルVf1を入力とし、メッセージに基づくツイート内容のカテゴリを分類出力値として出力する。また、単一特徴分類部44は、画像データ(ツイートの画像)の特徴ベクトルVf2を入力とし、画像に基づくツイート内容のカテゴリを分類出力値として出力する。単一特徴分類部42,44の構成は、図1の単一特徴分類部42,44と同じであってよい。
【0130】
正規化部43は、単一特徴分類部42から出力された分類出力値を、例えば、ソフトマックス関数等を用いて正規化し、分類結果Tとして出力する。また、正規化部45は、単一特徴分類部44から出力された分類出力値を、例えば、ソフトマックス関数等を用いて正規化し、分類結果Pとして出力する。なお、正規化部43,45は単一特徴分類部42,44の一部であってもよく、単一特徴分類部42,44が分類結果T,Pを出力するように構成されてもよい。
【0131】
図8に、特徴有用度推定部70と、単一特徴分類部42,44と、統合特徴分類部40の構成について一例を示す。単一特徴分類部42,44には、それぞれ単一のモダリティの特徴ベクトルVf1、Vf2が入力され、また、特徴統合部30には特徴ベクトルVf1、Vf2が入力され、各モダリティの特徴を統合した統合特徴ベクトルV,Wが生成される。統合特徴ベクトルVは統合特徴分類部40に入力され、統合特徴ベクトルWは特徴有用度推定部70に入力される。
【0132】
単一特徴分類部42,44は、例えば、順伝搬ニューラルネットワーク(FFNN)を適用して構成され、特徴ベクトルが入力される入力層と、入力を重みパラメータ及び活性化関数等で処理する中間層と、中間層の処理の結果から得られるツイート内容のカテゴリに対応する出力層とを備える。なお、出力層から出力される分類出力値を正規化することにより、入力したツイート内容のカテゴリの確率値(スコア)が得られる。
【0133】
特徴有用度推定部70は、例えば、順伝搬ニューラルネットワーク(FFNN)を適用して構成され、統合特徴ベクトルWが入力される入力層と、入力を重みパラメータ及び活性化関数等で処理する中間層と、中間層の処理の結果から得られる各モダリティ(ここでは、画像及びテキスト)の有用度を表す出力層とを備える。各モダリティの有用度の出力値は全体で有用度ベクトルUとして、統合特徴分類部40に出力される。
【0134】
統合特徴分類部40は、例えば、順伝搬ニューラルネットワーク(FFNN)を適用して構成され、有用度ベクトルUが入力される入力層と、有用度ベクトルの情報を統合特徴ベクトルVの要素に対応させる中間層と、統合特徴ベクトルVと有用度ベクトルの情報を加算(又は乗算)する加算部と、有用度ベクトルの情報が加算された統合特徴ベクトルVが入力される入力層と、入力を重みパラメータ及び活性化関数等で処理する中間層と、中間層の処理の結果から得られるツイート内容のカテゴリに対応する出力層とを備える。なお、出力層から出力される分類出力値を正規化することにより、入力したツイート内容のカテゴリの確率値(スコア)が得られる。
【0135】
なお、特徴有用度推定部70及び統合特徴分類部40は、学習終了後に、情報分類装置の構成の一部として機能するブロックであるが、単一特徴分類部42,44は、情報分類装置の学習時にのみ機能するブロックであり、情報分類装置としては機能しない。
【0136】
図7に戻って、学習装置102は、更に損失計算部50~53と、学習終了判定手段60を備えている。学習装置102は、学習モードにおいては、損失計算部50~53の計算結果に基づいて、ニューラルネットワーク等で構成された各特徴分類部40,42,44、特徴有用度推定部70、特徴統合部30、及び特徴抽出部21,22のモデルの修正を行うとともに、学習終了判定手段60の結果に基づいて、学習ブロック61の学習の終了時を判定する。
【0137】
損失計算部50は、図1の損失計算部50と同じものであり、統合特徴分類部40及び正規化部41から出力された学習データによる分類結果を正解ラベルと比較して損失計算を行う。統合特徴分類部40の損失は、例えばクロスエントロピーを用いて、前述の式(1)で求められる。
【0138】
学習モードでは、学習データのバッチNごとに、損失計算部50で計算された損失(誤差)を小さくするように、統合特徴分類部40、特徴統合部30、及び特徴抽出部21,22のモデルの学習(パラメータの修正)を行う。
【0139】
また、損失計算部51は、単一特徴分類部42及び正規化部43から出力されたテキストデータ(学習データ)による分類結果Tを正解ラベルと比較して、損失計算を行う。同様に、損失計算部52は、単一特徴分類部44及び正規化部45から出力された画像データ(学習データ)による分類結果Pを正解ラベルと比較して、損失計算を行う。損失計算部51,52を、単一損失計算部と呼ぶことがある。単一特徴分類部42,44の損失は、例えばクロスエントロピーを用いて、前述の式(2)で求められる。
【0140】
学習モードでは、学習データのバッチNごとに、損失計算部51,52で計算された損失(誤差)を小さくするように、単一特徴分類部42,44及び特徴抽出部21,22のモデルの学習(パラメータの修正)を行う。
【0141】
また、損失計算部72は、特徴有用度推定部70及び正規化部71から出力された推定結果を有用度ラベルと比較して、損失計算を行う。特徴有用度推定部70の損失は、例えばクロスエントロピーを用いて、前述の式(3)で求められる。
【0142】
学習モードでは、学習データのバッチNごとに、損失計算部53で計算された損失(誤差)を小さくするように、特徴有用度推定部70、特徴統合部30、及び特徴抽出部21,22のモデルの学習(パラメータの修正)を行う。
【0143】
なお、特徴抽出部21,22のモデルの学習(パラメータの修正)は、有用度ラベルLを用いた分類結果T,Pの損失計算に基づく学習と、全体の分類結果についての損失計算部50の損失結果に基づく学習と、有用度の推定結果についての損失計算部72の損失結果に基づく学習の全てを用いてもよいし、また、いずれかの学習を他の学習に優先させて行うこともできる。例えば、特徴抽出部21,22の学習は、単一モダリティによる分類結果T,Pに基づいて行い、全体の分類結果による学習と有用度の推定結果による学習は、特徴統合部30と統合特徴分類部40と特徴有用度推定部70の学習に利用するように構成してもよい。
【0144】
学習終了判定手段60は、検証データの分類結果と正解データから統合特徴分類部40の出力精度を求め、学習装置102の学習状態の評価を行う。学習終了判定手段60は、特徴抽出部21,22、単一特徴分類部42,44、特徴統合部30、特徴有用度推定部70、及び統合特徴分類部40からなる学習ブロック61の学習の継続又は終了を判定する。
【0145】
第3実施形態の学習装置102における学習アルゴリズム、及び学習終了判定手段60の学習終了判定アルゴリズムは、第1実施形態の学習アルゴリズム及び学習終了判定アルゴリズムと同じであってよい。すなわち、図3に示されるフローチャートに基づいて、学習アルゴリズム適用することができる。また、図4に示されるフローチャートに基づいて、学習終了判定手段60による学習終了判定処理を実施することができる。
【0146】
本実施形態では、単一モダリティの特徴を用いて分類を行うモデルの学習に用いるデータを、単一モダリティによる分類に有効なデータ(当該モダリティの有用度ラベルが1のデータ)に限定する。こうすることで、単一モダリティによる分類に有効でないデータを用いた学習が引き起こす各モダリティの特徴抽出部21,22の過学習を防ぎ、精度を向上させる。その結果、特徴抽出部21の出力Vf1及び特徴抽出部22の出力Vf2に基づいて分類を行う統合特徴分類部40の精度も向上し、マルチタスク学習による精度向上の効果を十分に活かすことができる。
【0147】
また、本実施形態では、各データについてそれぞれのモダリティの有用度(有用度ベクトルU)を推定し、有用度ベクトルの情報が加算された統合特徴ベクトルVを用いてデータの分類結果を導出している。こうすることで、各モダリティの有用度の情報を考慮したモデルを構築することができ、統合特徴分類部40の分類精度を向上させることができる。
【0148】
(第4の実施の形態)
次に、本発明の第4実施形態である情報分類装置について説明する。図9に、第4実施形態の情報分類装置200のブロック図の一例を示す。
【0149】
マルチモーダル情報を分類する情報分類装置200は、第1から第MのM種類のモダリティデータからなるデータが入力され、このデータの種別を判定し、分類結果を出力する。情報分類装置200は、第1ベクトル化部11,第2ベクトル化部12,~第Mベクトル化部13,第1特徴抽出部21,第2特徴抽出部22,~第M特徴抽出部23、特徴統合部30、統合特徴分類部40、及び正規化部41を備える。この情報分類装置200は、全体を一つのコンピュータとプログラムにより構成することができる。
【0150】
本発明の情報分類装置200は、図1の学習装置100の学習終了後に、単一特徴分類部42,44、正規化部43,45、損失計算部50~52、及び学習終了判定手段60を削除(又は、機能を停止)させたものとして構成することができる。若しくは、第1特徴抽出部21,第2特徴抽出部22,~第M特徴抽出部23、特徴統合部30、及び統合特徴分類部40に対して、図1の学習装置100で学習を行った各部の学習済みモデルをそれぞれ反映した装置として構成することができる。
【0151】
第1ベクトル化部11は、第1モダリティデータを学習モデルに入力可能なベクトルV1に変換し、第1特徴抽出部21に出力する。第1モダリティデータは、例えばテキストデータとすることができる。また、第2ベクトル化部12は、第2モダリティデータを学習モデルに入力可能なベクトルV2に変換し、第2特徴抽出部22に出力する。第2モダリティデータは、例えば画像データとすることができる。他のベクトル化部も同様であり、第Mベクトル化部13は、第Mモダリティデータを学習モデルに入力可能なベクトルVMに変換し、第M特徴抽出部23に出力する。第Mモダリティデータは、例えば音声データであり、各ベクトル化部はそれぞれ異なるモダリティのデータを処理する。
【0152】
M個のモダリティから、M個のベクトルV1、V2、・・・、VMが生成される。ベクトル化は、入力する情報の種類に合わせて公知の手法を用いることができる。なお、第1~第Mベクトル化部11~13は、各モダリティデータを学習モデルに入力するための前処理を行うブロックであるから、情報分類装置200と分離された前処理手段として構成されてもよい。
【0153】
第1特徴抽出部21は、第1特徴抽出モデル(図示せず)を備える。第1特徴抽出部21は、第1モダリティデータ(例えば、テキストデータ)をベクトル化したベクトルV1を第1特徴抽出モデルに入力し、その特徴を示す特徴ベクトルVf1を生成して特徴統合部30へ出力する。第1特徴抽出モデルには、ニューラルネットワークの全結合層や畳み込み層を用いることができ、特徴ベクトルVf1を出力するための最適な学習(有用なデータのみによる学習)が行われている。
【0154】
また、第2特徴抽出部22は、第2特徴抽出モデル(図示せず)を備え、第2モダリティデータ(例えば、画像データ)をベクトル化したベクトルV2を第2特徴抽出モデルに入力し、その特徴を示す特徴ベクトルVf2を生成して特徴統合部30へ出力する。第2特徴抽出モデルには、ニューラルネットワークの全結合層や畳み込み層を用いることができ、特徴ベクトルVf2を出力するための最適な学習(有用なデータのみによる学習)が行われている。他の特徴抽出部も同様であり、第M特徴抽出部23は、第M特徴抽出モデル(図示せず)を備え、第Mモダリティデータ(例えば、音声データ)をベクトル化したベクトルVMを第M特徴抽出モデルに入力し、その特徴を示す特徴ベクトルVfMを生成して特徴統合部30へ出力する。入力が系列データの場合は、特徴抽出モデルに再起型ニューラルネットワークを用いることができる。なお、各特徴抽出モデルはニューラルネットワークに限られず、他のタイプの学習モデルで構成してもよい。
【0155】
M個のモダリティのベクトルV1、V2、・・・、VMから、M個の特徴ベクトルVf1、Vf2、・・・、VfMが生成される。ここで、各特徴抽出部21~23の特徴抽出モデルは、図1の学習装置100で学習した学習済みモデルであり、各特徴抽出部の出力した特徴ベクトルVf1、Vf2、・・・、VfMをそれぞれ単一特徴分類部に入力し、その結果得られた分類結果が精度の高い結果となるように、学習を行ったものである。その際、単一特徴分類部の出力と正解ラベルとの誤差による学習は、有用度ラベルが1(有用)のデータのみを用いて学習することにより、それぞれのモダリティ毎に適切な学習データでモデルが調整されている。モダリティごとに有用な学習データのみを用いることで、不適切なデータによる特徴抽出部の過学習が防止され、各モダリティの特徴抽出部が最適な学習済みモデルとなっている。
【0156】
特徴統合部30は、特徴ベクトルVf1、Vf2、・・・、VfMを統合して一つのベクトル(統合特徴ベクトル)Vを生成する。ベクトルの統合方法は、ベクトルの結合、要素ごとの和、要素ごとの積、若しくは学習可能なパラメータを持つモデルを用いた公知の手法であるGMU(Gated Multimodal Unit)、CentralNet等を用いることができ、そのモデルは図1の学習装置100により学習済みで最適化されている。
【0157】
統合特徴分類部40は、統合特徴ベクトルVに基づいて、分類出力値を出力する。統合特徴分類部40は、例えば、順伝搬ニューラルネットワーク(FFNN)を適用して構成することができるが、ニューラルネットワークに限られず、他のタイプの学習モデルで構成してもよい。統合特徴分類部40のモデルは、図1の学習装置100で学習したものであり、統合特徴分類部40及び正規化部41による分類結果が学習終了条件を満たしたとき、学習を終了した学習済みモデルである。すなわち、統合特徴分類部40のモデルは、特徴抽出部21~23が有用度ラベルが1のデータのみを用いて学習した学習済みモデルであることを前提として、学習により最適化されたモデルである。特徴抽出部21~23が最適化されることで、情報分類装置200全体が、分類精度が高い最適なモデルとなっている。
【0158】
このように、図9の情報分類装置200は、モダリティごとの特徴抽出部に、有用ラベルが1(有用)のデータのみを用いて学習した学習済みモデルが格納されており、複数のモダリティを統合することによる精度向上の効果を最大限活用でき、マルチモーダルな情報を正確に分類することができる。
【0159】
(第5の実施の形態)
次に、本発明の第5実施形態である情報分類装置について説明する。図10に、第5実施形態の情報分類装置201のブロック図の一例を示す。なお、図9の情報分類装置200と共通する構成については、説明を簡略化する。
【0160】
マルチモーダル情報を分類する情報分類装置201は、第1から第MのM種類のモダリティデータからなるデータが入力され、このデータの種別を判定し、分類結果を出力する。情報分類装置201は、第1ベクトル化部11,第2ベクトル化部12,~第Mベクトル化部13,第1特徴抽出部21,第2特徴抽出部22,~第M特徴抽出部23、特徴統合部30、特徴有用度推定部70、統合特徴分類部40、及び正規化部41を備える。この情報分類装置201は、全体を一つのコンピュータとプログラムにより構成することができる。
【0161】
本発明の情報分類装置201は、図5の学習装置101の学習終了後に、正規化部71、損失計算部50,53、及び学習終了判定手段60を削除(又は、機能を停止)させたものとして構成することができる。又は、図7の学習装置102の学習終了後に、単一特徴分類部42,44、正規化部43,45,71、損失計算部50~53、及び学習終了判定手段60を削除(又は、機能を停止)させたものとして構成することができる。若しくは、第1特徴抽出部21,第2特徴抽出部22,~第M特徴抽出部23、特徴統合部30、特徴有用度推定部70、及び統合特徴分類部40に対して、図5の学習装置101又は図7の学習装置102で学習を行った各部の学習済みモデルをそれぞれ反映した装置として構成することができる。
【0162】
第1ベクトル化部11は、第1モダリティデータを学習モデルに入力可能なベクトルV1に変換し、第1特徴抽出部21に出力する。また、第2ベクトル化部12は、第2モダリティデータを学習モデルに入力可能なベクトルV2に変換し、第2特徴抽出部22に出力する。他のベクトル化部も同様であり、第Mベクトル化部13は、第Mモダリティデータを学習モデルに入力可能なベクトルVMに変換し、第M特徴抽出部23に出力する。各ベクトル化部はそれぞれ異なるモダリティのデータを処理する。
【0163】
M個のモダリティから、M個のベクトルV1、V2、・・・、VMが生成される。なお、第1~第Mベクトル化部11~13は、各モダリティデータを学習モデルに入力するための前処理を行うブロックであるから、情報分類装置201と分離された前処理手段として構成されてもよい。
【0164】
第1特徴抽出部21は、第1モダリティデータ(例えば、テキストデータ)をベクトル化したベクトルV1を第1特徴抽出モデルに入力し、その特徴を示す特徴ベクトルVf1を生成して特徴統合部30へ出力する。第1特徴抽出モデルには、ニューラルネットワークの全結合層や畳み込み層を用いることができ、特徴ベクトルVf1を出力するための最適な学習が行われている。
【0165】
また、第2特徴抽出部22は、第2モダリティデータ(例えば、画像データ)をベクトル化したベクトルV2を第2特徴抽出モデルに入力し、その特徴を示す特徴ベクトルVf2を生成して特徴統合部30へ出力する。第2特徴抽出モデルには、ニューラルネットワークの全結合層や畳み込み層を用いることができ、特徴ベクトルVf2を出力するための最適な学習が行われている。他の特徴抽出部も同様であり、第M特徴抽出部23は、第M特徴抽出モデル(図示せず)を備え、第Mモダリティデータ(例えば、音声データ)をベクトル化したベクトルVMを第M特徴抽出モデルに入力し、その特徴を示す特徴ベクトルVfMを生成して特徴統合部30へ出力する。
【0166】
M個のモダリティのベクトルV1、V2、・・・、VMから、M個の特徴ベクトルVf1、Vf2、・・・、VfMが生成される。ここで、各特徴抽出部21~23の特徴抽出モデルは、図7の学習装置102で学習した学習済みモデルとしてもよい。すなわち、各特徴抽出部の出力した特徴ベクトルVf1、Vf2、・・・、VfMをそれぞれ単一特徴分類部に入力し、その結果得られた分類結果が精度の高い結果となるように、学習を行ったものとすることができる。その際、単一特徴分類部の出力と正解ラベルとの誤差による学習は、有用度ラベルが1(有用)のデータのみを用いて学習することにより、それぞれのモダリティ毎に適切な学習データでモデルが調整されている。モダリティごとに有用な学習データのみを用いることで、不適切なデータによる特徴抽出部の過学習が防止され、各モダリティの特徴抽出部が最適な学習済みモデルとなっている。
【0167】
特徴統合部30は、特徴ベクトルVf1、Vf2、・・・、VfMを統合して、統合特徴ベクトルV,Wを生成する。ベクトルの統合方法は、ベクトルの結合、要素ごとの和、要素ごとの積、若しくは学習可能なパラメータを持つモデルを用いた公知の手法であるGMU(Gated Multimodal Unit)、CentralNet等を用いることができ、そのモデルは図5の学習装置101又は図7の学習装置102により学習済みで最適化されている。或いは、統合特徴ベクトルVを各特徴ベクトルの要素ごとの和で生成し、統合特徴ベクトルWを各特徴ベクトルの結合で生成するよう、設定されていてもよい。統合特徴ベクトルVを統合特徴分類部40へ出力し、統合特徴ベクトルWを特徴有用度推定部70へ出力する。
【0168】
特徴有用度推定部70は、統合特徴ベクトルWに基づいて有用度推定を行い、有用度ベクトルUを生成する。特徴有用度推定部70は、例えば、順伝搬ニューラルネットワーク(FFNN)からなる有用度の推定モデルを備えている。推定モデルは、図5の学習装置101又は図7の学習装置102で学習したものである。生成された有用度ベクトルUは、各モダリティの有用度を表すベクトルであり、統合特徴分類部40に出力される。
【0169】
統合特徴分類部40は、統合特徴ベクトルV及び有用度ベクトルUに基づいて、分類出力値を出力する。統合特徴分類部40は、例えば、順伝搬ニューラルネットワーク(FFNN)を適用して構成され、図6に示されるように、有用度ベクトルUが入力される入力層と、有用度ベクトルの情報を統合特徴ベクトルの要素に対応させる中間層と、統合特徴ベクトルVと有用度ベクトルの情報を加算(又は乗算)する加算部と、が入力される入力層と、入力を重みパラメータ及び活性化関数等で処理する中間層と、中間層の処理の結果から得られるツイート内容のカテゴリに対応する出力層とを備える。なお、出力層から出力される分類出力値を正規化することにより、入力したツイート内容のカテゴリの確率値(スコア)が得られる。
【0170】
統合特徴分類部40は、上述のように、順伝搬ニューラルネットワーク(FFNN)を適用して構成することができるが、ニューラルネットワークに限られず、他のタイプの学習モデルで構成してもよい。統合特徴分類部40のモデルは、図5の学習装置101又は図7の学習装置102で学習したものであり、有用度ベクトルUの情報が加算された統合特徴ベクトルVにより、マルチモーダルデータの分類を行う。そして、統合特徴分類部40及び正規化部41による分類結果が学習終了条件を満たしたとき、学習を終了した学習済みモデルである。
【0171】
このように、図10の情報分類装置201は、各データの有用度の情報を用いることにより、分類精度が高い最適なモデルとなっている。
【0172】
さらに、モダリティごとの特徴抽出部に、有用ラベルが1(有用)のデータのみを用いて学習した学習済みモデルを格納してもよい。これにより、複数のモダリティを統合することによる精度向上の効果を最大限活用でき、マルチモーダルな情報を正確に分類することができる。
【0173】
(発明の効果の確認)
本発明の学習装置及び情報分類装置の効果を評価するため、本発明の学習装置で学習した情報分類装置と、従来の学習手法(図11参照)で学習した情報分類装置とにより、実際に分類の実験を行い比較した。実験条件は、次のとおりである。
【0174】
実験に用いるデータセットとして、ツイッターデータセット46,316件を準備した。本実験では、46,316件のデータを次のように区分して利用した。
学習データ・・・データセットのうち22,620件
検証データ・・・データセットのうち 2,383件
評価データ・・・データセットのうち21,313件
すなわち、学習データを用いて情報分類装置の学習を行い、検証データを用いて学習の終了判定を行い、評価データを用いて学習済み情報分類装置の性能を評価した。
【0175】
装置に入力するモダリティデータとしては、ツイッターの投稿の画像及びテキストを入力データとした。また、装置の出力としては、統合特徴分類部40の出力を用い、7つのカテゴリ(火事、洪水、交通事故、等)に当てはまる確率値を示すスコアを出力とした。
【0176】
情報分類装置における特徴統合部30の統合処理は、統合特徴ベクトルVは要素ごとの和とし、統合特徴ベクトルWは要素の結合とした。
【0177】
正誤判定に用いるカテゴリの判定は、装置のスコア最大となるカテゴリを判定結果とした。
【0178】
各実施形態の装置と従来装置の評価は、適合率(precision)と再現率(recall)の調和平均をとった「F値」を評価値として比較した。なお、適合率(precision)とは、そのモデルがあるカテゴリ(例えば、火事)と判定したものの中で、正解が本当にそのカテゴリ(火事)であったものの割合であり、再現率(recall)とは、正解があるカテゴリ(例えば、火事)であるもののうち、モデルがそのカテゴリ(火事)であると判定した割合を意味する。結果として、「F値」は分類の精度を表す指標となり、F値=1が100%正解を意味する。評価値は、それぞれのモデルについて4回学習し、その平均をとった。
【0179】
表2に、実験結果として、本発明の第1乃至第3の実施形態による学習手法と従来手法によるF値の比較を示す。
【0180】
【表2】
【0181】
実験結果によれば、本発明のいずれの実施形態による分類結果のF値も、従来手法による分類結果のF値を上まわっており、本発明の学習装置による学習効果が優れていることが確認できた。
【0182】
上記の第1乃至第3の実施の形態では、学習装置100~102の構成と動作について説明したが、本発明はこれに限らず、学習装置100~102により情報分類装置の学習を行う学習方法として構成されてもよい。すなわち、学習データの有用度ラベルを利用する学習方法として構成されても良い。
【0183】
また更に、第4及び第5の実施の形態では、情報分類装置200,201の構成と動作について説明したが、本発明はこれに限らず、情報分類装置200,201を用いたマルチモーダルデータの分類方法として構成されてもよい。すなわち、図9又は図10のデータの流れに従って、複数のモダリティデータから特徴ベクトルを生成する工程、統合特徴ベクトルを生成する工程、分類結果を判定する工程を備えた、マルチモーダルデータの分類方法として構成されても良い。
【0184】
なお、上述した学習装置100~102又は情報分類装置200,201として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、学習装置100~102又は情報分類装置200,201の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータの中央演算処理装置(CPU)によってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【0185】
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態に記載の複数の構成ブロックを1つに組み合わせたり、あるいは1つの構成ブロックを分割したりすることが可能である。
【符号の説明】
【0186】
11~13 ベクトル化部
21~23 特徴抽出部
30 特徴統合部
40 統合特徴分類部
42,44 単一特徴分類部
41,43,45 正規化部
50~53 損失計算部
60 学習終了判定手段
70 特徴有用度推定部
71 正規化部
100~102 学習装置
200,201 情報分類装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11