(57)【要約】  本発明の情報処理装置２００は、異なる入力データをそれぞれ特徴ベクトルに変換する特徴抽出部２１０と、異なる入力データの特徴ベクトル間の距離を表すベクトル距離を計算する距離計算部２２０と、ベクトル距離に基づいて誤差情報を計算する損失計算部２３０と、を備える。そして、上記損失計算部２３０は、異なる入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から誤差情報を計算し、当該誤差情報に基づいて特徴抽出部による入力データを特徴ベクトルに変換する方法を更新する。
2020049667.tif 000002
【特許請求の範囲】
【請求項１】
異なる入力データをそれぞれ特徴ベクトルに変換する特徴抽出部と、
異なる前記入力データの前記特徴ベクトル間の距離を表すベクトル距離を計算する距離計算部と、
前記ベクトル距離に基づいて誤差情報を計算する損失計算部と、を備え、
前記損失計算部は、異なる前記入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から前記誤差情報を計算し、当該誤差情報に基づいて前記特徴抽出部による前記入力データを前記特徴ベクトルに変換する方法を更新する、
情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記関係性情報は、異なる前記入力データがそれぞれ属する前記カテゴリ間の距離が定義された情報であり、
前記損失関数は、異なる前記入力データが異なる前記カテゴリに属する場合に、前記カテゴリ間の距離と前記ベクトル距離とに基づいた値の前記誤差情報が計算されるよう定義されている、
情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記損失関数は、異なる前記入力データが同じ前記カテゴリに属する場合は前記ベクトル距離が近づくにつれ前記誤差情報の値が小さくなり、異なる前記入力データが異なる前記カテゴリに属する場合は前記カテゴリ間の距離に前記ベクトル距離が近づくにつれ前記誤差情報の値が小さくなるよう定義されている、
情報処理装置。
【請求項４】
請求項２又は３に記載の情報処理装置であって、
前記カテゴリがさらに当該カテゴリを包含する大分類に分類されるよう構成されている場合に、前記関係性情報は、異なる前記入力データが異なる前記大分類に分類された前記カテゴリに属する場合の値が、異なる前記入力データが同じ前記大分類に分類された前記カテゴリに属する場合の値よりも大きくなるよう定義されている、
情報処理装置。
【請求項５】
請求項２又は３に記載の情報処理装置であって、
前記カテゴリが分岐図に基づいて設定されている場合に、前記関係性情報は、異なる前記入力データが属する前記カテゴリ間の分岐の数が少ないほど値が小さくなるよう定義されている、
情報処理装置。
【請求項６】
請求項１乃至３のいずれかに記載の情報処理装置であって、
前記入力データから変換された前記特徴ベクトルと、当該入力データが属する前記カテゴリと、に基づいて、当該入力データが属する前記カテゴリ間の関係性を表す前記関係性情報を算出する関係性算出部を備えた、
情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記関係性算出部は、前記カテゴリ毎の前記特徴ベクトルの分散、又は、前記カテゴリ間の前記特徴ベクトルの共分散、に基づいて、前記関係性情報を算出する、
情報処理装置。
【請求項８】
情報処理装置に、
異なる入力データをそれぞれ特徴ベクトルに変換する特徴抽出部と、
異なる前記入力データの前記特徴ベクトル間の距離を表すベクトル距離を計算する距離計算部と、
前記ベクトル距離に基づいて誤差情報を計算する損失計算部と、を実現させると共に、
前記損失計算部は、異なる前記入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から前記誤差情報を計算し、当該誤差情報に基づいて前記特徴抽出部による前記入力データを前記特徴ベクトルに変換する方法を更新する、
ことを実現させるためのプログラム。
【請求項９】
請求項８に記載のプログラムであって、
前記情報処理装置に、さらに、
前記入力データから変換された前記特徴ベクトルと、当該入力データが属する前記カテゴリと、に基づいて、当該入力データが属する前記カテゴリ間の関係性を表す前記関係性情報を算出する関係性算出部、
を実現させるためのプログラム。
【請求項１０】
異なる入力データをそれぞれ特徴ベクトルに変換し、
異なる前記入力データの前記特徴ベクトル間の距離を表すベクトル距離を計算し、
前記ベクトル距離に基づいて誤差情報を計算し、
さらに、異なる前記入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から前記誤差情報を計算し、当該誤差情報に基づいて前記入力データを前記特徴ベクトルに変換する方法を更新する、
情報処理方法。
【請求項１１】
請求項１０に記載の情報処理方法であって、
前記入力データから変換された前記特徴ベクトルと、当該入力データが属する前記カテゴリと、に基づいて、当該入力データが属する前記カテゴリ間の関係性を表す前記関係性情報を算出する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データを分類する情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【０００２】
情報通信技術の発展により、外界を認識する精度が格段に向上している。特定の分野では、動画像から物体を既知のカテゴリに分類する精度が人を凌駕するまでに至っている。特に深層学習（Deep Learning）の発展は著しく、Neural Network（NN）を予め学習データを用いて学習することで高い分類精度を実現している。このような認識技術は、工場で製品の欠陥を高速に判定したり、自動運転技術が暗い中でも歩行者を発見したりするなど、様々な分野で実用化が進んでいる。【０００３】
しかしながら、まだ人間には及ばない点も多くある。これまでの認識技術は大量の学習データを必要とするが、人は１つのサンプルからでも学習することができる。つまり、見たことがないものからでも分類が可能である。初見のものでも既知のカテゴリと区別して、次に同種のものを見たとき、前に見たものと同じものと判断できる。例えば、キリンを知らなかったとしても、一度キリンに遭遇すると次にキリンが現れたとき、以前に見た首の長い動物と同じだと判断できる。【０００４】
ここで、未知の１サンプルから分類を行う幾つかの手法が知られている。非特許文献１では、画像をNNに入力し、その出力を特徴ベクトルとして取り出して分類を行う（図１参照）。具体的には、まず学習データを用いて、特徴ベクトルがそのカテゴリの平均ベクトルに近づくようにNNを学習する。ベクトル間の近さは、例えば、特徴ベクトル間のユークリッド距離などで定義されている。このように学習したNNにテストデータを入力すると、当該テストデータの属するカテゴリの平均ベクトルに近い特徴ベクトルに変換される。このため、全ての平均ベクトルとの距離を計算することで、最も近い平均ベクトルのカテゴリを分類結果とすることができる。【０００５】
例えば、どのカテゴリにも属さない未知画像１が入力されると、学習データで学習したどの平均ベクトルからも離れた特徴ベクトルに変換される。次に、この未知画像１と同じカテゴリに属する別の未知画像２が入力されると、既知の平均ベクトルから離れ、かつ、未知画像１の特徴ベクトルと近い位置の特徴ベクトルが出力される。このため、未知画像２は既知のカテゴリには属さず、未知画像１と同じカテゴリに属するであろうと推測できる。【０００６】
非特許文献２に記載の技術も、学習データを使って学習したNNの出力の特徴ベクトルを分類する技術である（図２参照）。具体的に、非特許文献２の手法では、二つの画像に対する特徴ベクトルに対し、二つの画像が同じカテゴリに属する場合は特徴ベクトル間の距離が近くなるようにNNを学習し、異なる場合は互いの特徴ベクトルが与えた一定値（例えば距離１）離れるようにNNを学習する。両手法とも、１サンプルから新しいカテゴリを形成して分類することができる特徴ベクトル空間を構築する手法と言える。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】J. Snell, K. Swersky, and R. S. Zemel, “Prototypical networks for few-shot learning,” in NIPS 2017.
【非特許文献２】G. Koch, R. Zemel, and R. Salakhutdinov. “Siamese neural networks for one-shot image recognition,” in ICML Workshop 2015.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した手法は、特徴ベクトルが同じカテゴリに属しているか否かの知識しか利用しておらず、カテゴリ間の関係は最適化の制約には含まれていない。このため、同じ学習データで学習後にカテゴリの平均ベクトルを求めるとしても、初期値に依存して学習のたびに特徴ベクトル空間上での位置が異なることになる。すると、学習したカテゴリに対しては分類が可能であるが、未知のカテゴリに対しては必ずしも精度よく分類できるとは限らず、学習で得られたカテゴリの位置に依存して分類精度が変わることになる。つまり、上述した手法では、入力データをカテゴリに分類する精度の向上を図ることができない、という問題が生じる。【０００９】
このため、本発明の目的は、上述した課題である入力データをカテゴリに分類する精度の向上を図ることができない、ことを解決することができる情報処理装置、情報処理方法、プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一形態である情報処理装置は、
異なる入力データをそれぞれ特徴ベクトルに変換する特徴抽出部と、
異なる前記入力データの前記特徴ベクトル間の距離を表すベクトル距離を計算する距離計算部と、
前記ベクトル距離に基づいて誤差情報を計算する損失計算部と、を備え、
前記損失計算部は、異なる前記入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から前記誤差情報を計算し、当該誤差情報に基づいて前記特徴抽出部による前記入力データを前記特徴ベクトルに変換する方法を更新する、
という構成をとる。【００１１】
また、本発明の一形態であるプログラムは、
情報処理装置に、
異なる入力データをそれぞれ特徴ベクトルに変換する特徴抽出部と、
異なる前記入力データの前記特徴ベクトル間の距離を表すベクトル距離を計算する距離計算部と、
前記ベクトル距離に基づいて誤差情報を計算する損失計算部と、を実現させると共に、
前記損失計算部は、異なる前記入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から前記誤差情報を計算し、当該誤差情報に基づいて前記特徴抽出部による前記入力データを前記特徴ベクトルに変換する方法を更新する、
ことを実現させる、
という構成をとる。【００１２】
本発明の一形態である情報処理方法は、
異なる入力データをそれぞれ特徴ベクトルに変換し、
異なる前記入力データの前記特徴ベクトル間の距離を表すベクトル距離を計算し、
前記ベクトル距離に基づいて誤差情報を計算し、
さらに、異なる前記入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から前記誤差情報を計算し、当該誤差情報に基づいて前記入力データを前記特徴ベクトルに変換する方法を更新する、
という構成をとる。
【発明の効果】
【００１３】
本発明は、以上のように構成されることにより、入力データをカテゴリに分類する精度の向上を図ることができる。
【図面の簡単な説明】
【００１４】
【図１】非特許文献１における分類方法を説明するための図である。
【図２】非特許文献２における分類方法を説明するための図である。
【図３】本発明の実施形態１におけるコンピュータの構成を示すブロック図である。
【図４】図３に開示したプロセッサの構成を示す機能ブロック図である。
【図５】図３に開示した損失計算部による処理に用いる関係性情報の一例を説明するための図である。
【図６】図３に開示した損失計算部による処理に用いる関係性情報の一例を説明するための図である。
【図７】図３に開示したプロセッサによる処理動作を示すフローチャートである。
【図８】本発明の実施形態２におけるプロセッサの構成を示すブロック図である。
【図９】図８に開示したプロセッサによる処理動作を示すフローチャートである。
【図１０】本発明の実施形態３における情報処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
＜実施形態１＞
本発明の第１の実施形態を、図３乃至図７を参照して説明する。図３乃至図６は、情報処理装置の構成を説明するための図であり、図７は、情報処理装置の動作を説明するための図である。
【００１６】
［構成］
本発明は、図３に示すようなコンピュータ１で構成される。コンピュータ１は、演算装置つまりＣＰＵ（Central Processing Unit）であるプロセッサ１０、記憶装置であるメインメモリ３０、データ入出力に用いられるインターフェース２０、といったハードウェアを備えた情報処理装置である。以下、各構成について詳述する。
【００１７】
上記インターフェース２０は、データ入出力手段によりデータのやり取りに使われる。インターフェース２０には、例えばネットワークデバイス、ファイルデバイス、センサデバイスが接続される。そして、インターフェース２０を介して、プロセッサ１０に各種情報が入出力される。
【００１８】
上記メインメモリ３０は、プロセッサ１０によって実行されるプログラムやデータを記憶する。記憶されているプログラムには、後述する各部の処理を実行するためにプロセッサ１０に処理させるための命令群が記載されている。
【００１９】
上記プロセッサ１０は、メインメモリ３０に記憶されたプログラムを実行することで、図４に示すように、入力部１、特徴抽出部２、距離計算部３、損失計算部４、を構築する。このように、本発明の情報処理装置が備える各部１〜４は、プロセッサ１０といったハードウェアにソフトウェアが組み込まれることで実現される。但し、これら各部１〜４は、ＩＣ（Integrated Circuit）回路などのハードウェアで構築されてもよい。
【００２０】
なお、上記プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００２１】
上記入力部１は、学習時には、学習データから１又は複数の信号情報と、当該信号情報に対応する教師ラベルと、を取り出し、信号情報を特徴抽出部２に出力する。テスト時には、テストデータから信号情報を取り出して特徴抽出部２に出力する。学習データは、特徴抽出部２の学習に使うための画像や音声などの信号情報と、当該信号情報がどのカテゴリに属しているかを示す教師ラベルと、のペアから構成される。テストデータは、分類対象となる画像や音声などの信号情報から構成される。
【００２２】
上記特徴抽出部２は、入力された信号情報をニューラルネットワーク（NN）で特徴ベクトルに変換する。例えば、N層の畳み込みNNとM層の全結合層のN+M層から成るネットワークモデルを用い、最終層の出力を特徴ベクトルとする。なお、ネットワークモデルは、後述するように損失計算部から得られる誤差情報を基に最適化される。最適化には既存の深層学習の手法を用いることができる。
【００２３】
上記距離計算部３は、比較する対象となる２つの信号情報から変換された特徴ベクトル間の距離を表すベクトル距離を計算する。ベクトル距離としては、ユークリッド距離やマハラノビス距離、コサイン距離などを用いることができる。テスト時には、入力されたデータから変換された特徴ベクトルと、各カテゴリの代表値の特徴ベクトルと、の距離計算を行い、値が最も近い代表値のカテゴリを分類結果とする。カテゴリの代表値は、例えば、当該カテゴリに属する特徴ベクトルを平均したベクトルで、学習データを用いて計算しておく。
【００２４】
上記損失計算部４は、与えられる関係性情報を参照して損失関数を求め、かかる損失関数から誤差情報を計算する。ここで、関係性情報とは、カテゴリ間の関係を与えるものであり、関係性情報を参照することでカテゴリ間の距離Ｄが求められる。損失関数は、例えば、比較する入力データが同じカテゴリに属する場合は、当該入力データから変換された特徴ベクトル間の距離が０に近づくにつれ最小となるよう定義され、また、比較する入力データが異なるカテゴリに属する場合は、特徴ベクトル間の距離がカテゴリ間の距離Ｄに近づくにつれ最小になるように定義される。
【００２５】
具体例として、特徴ベクトルx1、x2を入力とし、特徴ベクトル間のベクトル距離であるユークリッド距離をU(x1,x2)、各特徴ベクトルが属するカテゴリ間の距離をD(x1,x2)とする。この場合、損失関数L(x1,x2)は、以下のように定義される。
L(x1,x2)＝δ(x1,x2)・U(x1,x2)+(1-δ(x1,x2))・(D(x1,x2)-U(x1,x2))
ここで、δ(x1,x2)は、特徴ベクトルx1及びx2が同じクラスに属するときは１、異なるクラスに属するときは０となる関数である。なお、損失関数は、制約をゆるめて以下とすることもできる。
L'(x1,x2)＝δ(x1,x2)・U(x1,x2)+(1-δ(x1,x2))・max(0,(D(x1,x2)-U(x1,x2)))
ここで、max(a,b)はa、bのうち大きい値を返す関数である。
【００２６】
そして、損失計算部４は、損失関数を用いて算出した結果を誤差情報とし、かかる誤差情報に基づいて特徴抽出部２におけるニューラルネットワークで特徴ベクトルに変換する方法を変更する。つまり、損失計算部４は、誤差情報を特徴抽出部２に出力し、特徴抽出部２が誤差情報に基づいてニューラルネットワークの重みなどを更新する。これにより、特徴抽出部２は、更新されたニューラルネットワークを用いて、学習データに対する学習を行う。
【００２７】
なお、上述した関係性情報は、例えば、以下に説明するようにカテゴリの大分類やカテゴリの系統図などに基づく値であってもよく、他にも特定分野に特化した評価指標で算出されたカテゴリ間の類似性に基づいた関係を示すものであってもよい。一例として、図５に示すように、カテゴリをさらに包含する大分類が設定されている場合には、同じカテゴリに属するデータ間の距離は０、同じ大分類に含まれることなるカテゴリ間の距離は１、異なる大分類に含まれるカテゴリ間の距離は２、などとすることができる。つまり、異なる大分類に含まれるカテゴリ間の距離が、同じ大分類に含まれるカテゴリ間の距離よりも大きくなるよう定義することができる。具体例として、２つの文字入力の場合を挙げると、同じ文字は距離０、異なる文字で同じ言語に属する場合は距離１、異なる言語は距離２、とすることが考えられます。
【００２８】
また、図６に示すように、カテゴリが系統図つまり複数の分岐点を有する分岐図で表されている場合には、系統の近さつまりカテゴリ間の分岐数に応じて距離を定義することができる。例えば、分岐数が少ないほど関係性情報の値が小さくなるよう定義することができる。具体例として、動物の系統を表す系統図において、系統が離れるほどカテゴリ距離が離れるよう定義することができる。このようにカテゴリ間の関係性を参照することで、特徴ベクトル空間において、関係が近いカテゴリほど近く配置し、関係が遠いほど遠く配置することができる。
【００２９】
［動作］
次に、上述したコンピュータ１つまりプロセッサ１０の動作を、図７のフローチャートを参照して説明する。ここでは、主に、学習データを用いてニューラルネットワークの更新を行う動作を説明する。
【００３０】
まず、入力部１は、学習データから入力データとしてランダムに２つ取得する（ステップＳ１）。Ｋ個のバッチ処理を行う場合は２×K個のデータを入力する。続いて、特徴抽出部２は、２データ（又は２×Kデータ）をNNで特徴ベクトルに変換する（ステップＳ２）。このとき全データは、同じNNで変換される。
【００３１】
続いて、距離計算部３は、２つの特徴ベクトル間の距離を計算する（ステップＳ３）。ベクトル距離は、例えば、ユークリッド距離で計算される。２×Kデータの場合は、Kペアについてベクトル距離を計算する。そして、損失計算部４は、関係性情報を参照し、損失関数を求めて誤差情報を算出し、特徴抽出部２に出力する（ステップＳ４）。特徴抽出部２は、誤差情報をもとにNNの重みを更新するなどNNを更新し（ステップＳ６）、データ入力に戻り、上述したように学習を繰り返す。なお、誤差情報算出の際には、これまでに算出した誤差情報と比較して、値が低下しなくなったら終了する（ステップＳ５でＹｅｓ）。
【００３２】
以上のように、本発明によると、学習データが属するカテゴリ間の関係性、例えばカテゴリの類似性、に基づく距離を考慮し、ニューラルネットワークの重みなどを更新してニューラルネットワークを最適化することができる。これにより、カテゴリ間の関係性、例えばカテゴリの類似性、に応じて特徴ベクトル空間上に配置されるように特徴ベクトルが入力データから変換されるため、カテゴリの関係性に応じて特徴ベクトルが連続的に特徴ベクトル空間に配置される。例えば、類似する入力データが連続してカテゴリ空間に配置されることとなる。その結果、未知のカテゴリもその類似性に応じて配置され、既知のカテゴリとも類似性に従って分離されるため、未知のカテゴリであっても精度よく分類することができ、分類精度の向上を図ることができる。
【００３３】
＜実施形態２＞
次に、本発明の第２の実施形態を、図８乃至図９を参照して説明する。図８は、プロセッサの構成を説明するための図であり、図９は、プロセッサの動作を説明するための図である。
【００３４】
［構成］
本実施形態におけるプロセッサ１は、実施形態１で説明した構成に加えて、プログラムを実行することで構築された関係性算出部５を備える。以下、実施形態１とは異なる構成について主に説明する。
【００３５】
上記関係性算出部５は、カテゴリ間の関係性情報を学習データから算出する。つまり、実施形態１では、与えられた関係性情報を用いる場合を例示したが、本実施形態では、算出された関係性情報を用いて損失計算を行う。
【００３６】
具体的に、関係性算出部５は、関係性情報を、入力データから抽出した特徴ベクトルの分散や共分散を用いて算出する。このとき、関係性算出部５は、すべての学習データを特徴ベクトルに変換した後にカテゴリ間の関係性情報を算出することもでき、また、学習データを入力するたびに変換済みの特徴ベクトルを用いて関係性情報を算出することもできる。
【００３７】
関係性算出部５は、共分散を用いて関係性情報を算出する場合には、例えば、入力データが属するカテゴリ毎に共分散行列を計算し、共分散行列間の距離をもとに関係性情報を算出する。行列の距離は、行列ノルムや固有値、固有ベクトルの大きさで計算される。例えば、行列ノルム（二次のノルム）は、要素a_ijを持つ行列Aに対して、以下のように定義される。
||A||=√(Σ_ij (a_ij)^2)
【００３８】
分散を用いて関係性を算出する場合、例えば、分散が小さい要素の組み合せをもとに関係性情報を算出する。カテゴリ毎に計算される特徴ベクトルの各要素の分散は、それぞれ異なっている。分散を要素に持つ分散ベクトルのユークリッド距離で関係性を算出することもできる。また、ある閾値を設け、分散ベクトルの要素が当該閾値以下の時に１、それ以外の時に０とするベクトルを生成し、当該ベクトル間のハミング距離やバイナリ距離などで関係性を算出することもできる。
【００３９】
［動作］
次に、上述したプロセッサ１０の動作を、図９のフローチャートを参照して説明する。ここでは、実施形態１と同様に、学習データを用いてニューラルネットワークの更新を行う動作を説明する。
【００４０】
まず、実施形態１のステップＳ１からＳ３と同様に、学習データを入力して特徴ベクトルを抽出し、ベクトル距離を計算する（ステップＳ１１，Ｓ１２，Ｓ１３）。続いて、関係性算出部５は、変換された特徴ベクトルを用いて関係性情報を算出する（ステップＳ１４）。このとき、これまで変換された特徴ベクトルを用いてカテゴリ毎の分散ベクトル、及び、カテゴリ間の共分散行列を求める。分散ベクトルの要素が閾値以下の時に１、それ以外を０とするベクトルを生成し、当該ベクトル間のハミング距離でカテゴリ間の距離を求める。又は、共分散行列間の行列ノルムを計算し、カテゴリ間の距離を求める。
【００４１】
その後、損失計算部４は、関係性算出部５で算出された関係性情報（カテゴリ間の距離）を参照し、損失関数を求めて誤差情報を生成し、特徴抽出部２に出力する（ステップＳ１５）。特徴抽出部２は、誤差情報をもとにNNの重みを更新するなどNNを更新し（ステップＳ１７）、データ入力に戻り、上述したように学習を繰り返す。なお、誤差情報算出の際には、これまでに算出した誤差情報と比較して、値が低下しなくなったら終了する（ステップＳＳ１６でＹｅｓ）。
【００４２】
＜実施形態３＞
次に、本発明の第３の実施形態を、図１０を参照して説明する。図１０は、実施形態３における情報処理装置の構成を示すブロック図である。なお、本実施形態では、実施形態１で説明したコンピュータ１の構成の概略を示している。
【００４３】
図１０に示すように、本実施形態における情報処理装置２００は、
異なる入力データをそれぞれ特徴ベクトルに変換する特徴抽出部２１０と、
異なる前記入力データの前記特徴ベクトル間の距離を表すベクトル距離を計算する距離計算部２２０と、
前記ベクトル距離に基づいて誤差情報を計算する損失計算部２３０と、を備える。
そして、前記損失計算部２３０は、異なる前記入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から前記誤差情報を計算し、当該誤差情報に基づいて前記特徴抽出部による前記入力データを前記特徴ベクトルに変換する方法を更新する、
という構成をとる。
【００４４】
なお、上記特徴抽出部２１０、距離計算部２２０、損失計算部２３０は、情報処理装置がプログラムを実行することで実現されるものである。
【００４５】
そして、上記構成の情報処理装置２００は、
異なる入力データをそれぞれ特徴ベクトルに変換し、
異なる前記入力データの前記特徴ベクトル間の距離を表すベクトル距離を計算し、
前記ベクトル距離に基づいて誤差情報を計算し、
さらに、異なる前記入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から前記誤差情報を計算し、当該誤差情報に基づいて前記入力データを前記特徴ベクトルに変換する方法を更新する、
という処理を実行するよう作動する。
【００４６】
上記発明によると、学習データが属するカテゴリ間の関係性に基づく距離を考慮し、ニューラルネットワークの重みなどを更新してニューラルネットワークを最適化することができる。これにより、分類精度の向上を図ることができる。
【００４７】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置、情報処理方法、プログラムの構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
【００４８】
（付記１）
異なる入力データをそれぞれ特徴ベクトルに変換する特徴抽出部と、
異なる前記入力データの前記特徴ベクトル間の距離を表すベクトル距離を計算する距離計算部と、
前記ベクトル距離に基づいて誤差情報を計算する損失計算部と、を備え、
前記損失計算部は、異なる前記入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から前記誤差情報を計算し、当該誤差情報に基づいて前記特徴抽出部による前記入力データを前記特徴ベクトルに変換する方法を更新する、
情報処理装置。
【００４９】
（付記２）
付記１に記載の情報処理装置であって、
前記関係性情報は、異なる前記入力データがそれぞれ属する前記カテゴリ間の距離が定義された情報であり、
前記損失関数は、異なる前記入力データが異なる前記カテゴリに属する場合に、前記カテゴリ間の距離と前記ベクトル距離とに基づいた値の前記誤差情報が計算されるよう定義されている、
情報処理装置。
【００５０】
（付記３）
付記２に記載の情報処理装置であって、
前記損失関数は、異なる前記入力データが同じ前記カテゴリに属する場合は前記ベクトル距離が近づくにつれ前記誤差情報の値が小さくなり、異なる前記入力データが異なる前記カテゴリに属する場合は前記カテゴリ間の距離に前記ベクトル距離が近づくにつれ前記誤差情報の値が小さくなるよう定義されている、
情報処理装置。
【００５１】
（付記４）
付記２又は３に記載の情報処理装置であって、
前記カテゴリがさらに当該カテゴリを包含する大分類に分類されるよう構成されている場合に、前記関係性情報は、異なる前記入力データが異なる前記大分類に分類された前記カテゴリに属する場合の値が、異なる前記入力データが同じ前記大分類に分類された前記カテゴリに属する場合の値よりも大きくなるよう定義されている、
情報処理装置。
【００５２】
（付記５）
付記２又は３に記載の情報処理装置であって、
前記カテゴリが分岐図に基づいて設定されている場合に、前記関係性情報は、異なる前記入力データが属する前記カテゴリ間の分岐の数が少ないほど値が小さくなるよう定義されている、
情報処理装置。
【００５３】
（付記６）
付記１乃至３のいずれかに記載の情報処理装置であって、
前記入力データから変換された前記特徴ベクトルと、当該入力データが属する前記カテゴリと、に基づいて、当該入力データが属する前記カテゴリ間の関係性を表す前記関係性情報を算出する関係性算出部を備えた、
情報処理装置。
【００５４】
（付記７）
付記６に記載の情報処理装置であって、
前記関係性算出部は、前記カテゴリ毎の前記特徴ベクトルの分散、又は、前記カテゴリ間の前記特徴ベクトルの共分散、に基づいて、前記関係性情報を算出する、
情報処理装置。
【００５５】
（付記８）
情報処理装置に、
異なる入力データをそれぞれ特徴ベクトルに変換する特徴抽出部と、
異なる前記入力データの前記特徴ベクトル間の距離を表すベクトル距離を計算する距離計算部と、
前記ベクトル距離に基づいて誤差情報を計算する損失計算部と、を実現させると共に、
前記損失計算部は、異なる前記入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から前記誤差情報を計算し、当該誤差情報に基づいて前記特徴抽出部による前記入力データを前記特徴ベクトルに変換する方法を更新する、
ことを実現させるためのプログラム。
【００５６】
（付記９）
付記８に記載のプログラムであって、
前記情報処理装置に、さらに、
前記入力データから変換された前記特徴ベクトルと、当該入力データが属する前記カテゴリと、に基づいて、当該入力データが属する前記カテゴリ間の関係性を表す前記関係性情報を算出する関係性算出部、
を実現させるためのプログラム。
【００５７】
（付記１０）
異なる入力データをそれぞれ特徴ベクトルに変換し、
異なる前記入力データの前記特徴ベクトル間の距離を表すベクトル距離を計算し、
前記ベクトル距離に基づいて誤差情報を計算し、
さらに、異なる前記入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から前記誤差情報を計算し、当該誤差情報に基づいて前記入力データを前記特徴ベクトルに変換する方法を更新する、
情報処理方法。
【００５８】
（付記１１）
付記１０に記載の情報処理方法であって、
前記入力データから変換された前記特徴ベクトルと、当該入力データが属する前記カテゴリと、に基づいて、当該入力データが属する前記カテゴリ間の関係性を表す前記関係性情報を算出する、
情報処理方法。
【００５９】
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【００６０】
１  入力部
２  特徴抽出部
３  距離計算部
４  損失計算部
５  関係性算出部
１０  プロセッサ
２０  インターフェース
３０  メインメモリ
１００  コンピュータ
２００  情報処理装置
２１０  特徴抽出部
２２０  距離計算部
２３０  損失計算部
【図１】
2020049667.tif 000003
【図２】
2020049667.tif 000004
【図３】
2020049667.tif 000005
【図４】
2020049667.tif 000006
【図５】
2020049667.tif 000007
【図６】
2020049667.tif 000008
【図７】
2020049667.tif 000009
【図８】
2020049667.tif 000010
【図９】
2020049667.tif 000011
【図１０】
2020049667.tif 000012
【手続補正書】
【提出日】令和2年12月28日(2020.12.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
異なる入力データをそれぞれ特徴ベクトルに変換する特徴抽出部と、
異なる前記入力データの前記特徴ベクトル間の距離を表すベクトル距離を計算する距離計算部と、
前記ベクトル距離に基づいて誤差情報を計算する損失計算部と、を備え、
前記損失計算部は、異なる前記入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から前記誤差情報を計算し、当該誤差情報に基づいて前記特徴抽出部による前記入力データを前記特徴ベクトルに変換する方法を更新する、
情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記関係性情報は、異なる前記入力データがそれぞれ属する前記カテゴリ間の距離が定義された情報であり、
前記損失関数は、異なる前記入力データが異なる前記カテゴリに属する場合に、前記カテゴリ間の距離と前記ベクトル距離とに基づいた値の前記誤差情報が計算されるよう定義されている、
情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記損失関数は、異なる前記入力データが同じ前記カテゴリに属する場合は前記ベクトル距離が近づくにつれ前記誤差情報の値が小さくなり、異なる前記入力データが異なる前記カテゴリに属する場合は前記カテゴリ間の距離に前記ベクトル距離が近づくにつれ前記誤差情報の値が小さくなるよう定義されている、
情報処理装置。
【請求項４】
請求項２又は３に記載の情報処理装置であって、
前記カテゴリがさらに当該カテゴリを包含する大分類に分類されるよう構成されている場合に、前記関係性情報は、異なる前記入力データが異なる前記大分類に分類された前記カテゴリに属する場合の値が、異なる前記入力データが同じ前記大分類に分類された前記カテゴリに属する場合の値よりも大きくなるよう定義されている、
情報処理装置。
【請求項５】
請求項２又は３に記載の情報処理装置であって、
前記カテゴリが分岐図に基づいて設定されている場合に、前記関係性情報は、異なる前記入力データが属する前記カテゴリ間の分岐の数が少ないほど値が小さくなるよう定義されている、
情報処理装置。
【請求項６】
請求項１乃至３のいずれかに記載の情報処理装置であって、
前記入力データから変換された前記特徴ベクトルと、当該入力データが属する前記カテゴリと、に基づいて、当該入力データが属する前記カテゴリ間の関係性を表す前記関係性情報を算出する関係性算出部を備えた、
情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記関係性算出部は、前記カテゴリ毎の前記特徴ベクトルの分散、又は、前記カテゴリ間の前記特徴ベクトルの共分散、に基づいて、前記関係性情報を算出する、
情報処理装置。
【請求項８】
情報処理装置に、
異なる入力データをそれぞれ特徴ベクトルに変換する特徴抽出部と、
異なる前記入力データの前記特徴ベクトル間の距離を表すベクトル距離を計算する距離計算部と、
前記ベクトル距離に基づいて誤差情報を計算する損失計算部と、を実現させると共に、
前記損失計算部は、異なる前記入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から前記誤差情報を計算し、当該誤差情報に基づいて前記特徴抽出部による前記入力データを前記特徴ベクトルに変換する方法を更新する、
ことを実現させるためのプログラム。
【請求項９】
異なる入力データをそれぞれ特徴ベクトルに変換し、
異なる前記入力データの前記特徴ベクトル間の距離を表すベクトル距離を計算し、
前記ベクトル距離に基づいて誤差情報を計算し、
さらに、異なる前記入力データがそれぞれ属するカテゴリ間の関係性を表す関係性情報に基づく損失関数から前記誤差情報を計算し、当該誤差情報に基づいて前記入力データを前記特徴ベクトルに変換する方法を更新する、
情報処理方法。
【請求項１０】
請求項９に記載の情報処理方法であって、
前記入力データから変換された前記特徴ベクトルと、当該入力データが属する前記カテゴリと、に基づいて、当該入力データが属する前記カテゴリ間の関係性を表す前記関係性情報を算出する、
情報処理方法。
【国際調査報告】
2020049667.tif 000013
2020049667.tif 000014
2020049667.tif 000015