(57)【要約】【課題】セマンティックな特徴ベクトルを生成する。【解決手段】１以上のプロセッサは、機械学習モデルを使用して、アンカサンプルの特徴ベクトル、ポジティブサンプルの特徴ベクトル、ネガティブサンプルの特徴ベクトル、を生成し、予め定義されている条件を満たすように、機械学習モデルを訓練する。条件は、アンカサンプルの特徴ベクトルとポジティブサンプルの特徴ベクトルとの間の距離が、アンカサンプルの特徴ベクトルとネガティブサンプルの特徴ベクトルとの間の距離より近く、アンカサンプルの特徴ベクトルとネガティブサンプルの特徴ベクトルとの間の距離が満たすべき範囲を、予め定義されているセマンティック空間における第１クラスと第２クラス間のセマンティック距離に基づき定義している。【選択図】図１
2020181486.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
複数のサンプルを含むデータベースと、入力サンプルの特徴ベクトルを出力する機械学習モデルと、を格納する１以上の記憶装置と、
前記１以上の記憶装置に格納される命令に従って動作する１以上のプロセッサと、
を含み、
前記１以上のプロセッサは、
前記データベースから、第１クラスに属するアンカサンプルを取得し、
前記データベースから、前記第１クラスに属し、前記アンカサンプルと異なるポジティブサンプルを取得し、
前記第１クラスと異なる第２クラスに属する、ネガティブサンプルを取得し、
前記機械学習モデルを使用して、前記アンカサンプルの特徴ベクトル、前記ポジティブサンプルの特徴ベクトル、前記ネガティブサンプルの特徴ベクトル、を生成し、
予め定義されている条件を満たすように、前記機械学習モデルを訓練し、
前記条件は、
前記アンカサンプルの特徴ベクトルと前記ポジティブサンプルの特徴ベクトルとの間の距離が、前記アンカサンプルの特徴ベクトルと前記ネガティブサンプルの特徴ベクトルとの間の距離より近く、
前記アンカサンプルの特徴ベクトルと前記ネガティブサンプルの特徴ベクトルとの間の距離が満たすべき範囲を、予め定義されているセマンティック空間における前記第１クラスと前記第２クラス間のセマンティック距離に基づき定義している、システム。
【請求項２】
請求項１に記載のシステムであって、
前記条件は、前記アンカサンプルの特徴ベクトルと前記ネガティブサンプルの特徴ベクトルとの間の距離が満たすべき範囲の最大値を、前記第１クラスと前記第２クラス間のセマンティック距離に基づき定義している、システム。
【請求項３】
請求項１に記載のシステムであって、
前記条件は、前記アンカサンプルの特徴ベクトルと前記ネガティブサンプルの特徴ベクトルとの間の距離が満たすべき範囲の最大値及び最小値のそれぞれを、前記第１クラスと前記第２クラス間のセマンティック距離に基づき定義している、システム。
【請求項４】
請求項１に記載のシステムであって、
前記条件は、前記アンカサンプルの特徴ベクトルと前記ネガティブサンプルの特徴ベクトルとの間の距離が満たすべき範囲の最大値を、前記第１クラスと前記第２クラス間のセマンティック距離の一次関数で定義している、システム。
【請求項５】
請求項１に記載のシステムであって、
前記条件は、前記アンカサンプルの特徴ベクトルと前記ネガティブサンプルの特徴ベクトルとの間の距離が満たすべき範囲の最大値及び最小値それぞれを、前記第１クラスと前記第２クラス間のセマンティック距離の、異なる比例定数を有する一次関数で定義している、システム。
【請求項６】
請求項１に記載のシステムであって、
前記条件は、
前記アンカサンプルの特徴ベクトルと前記ポジティブサンプルの特徴ベクトルとの間の距離は、予め設定された値より小さく、
前記アンカサンプルの特徴ベクトルと前記ネガティブサンプルの特徴ベクトルとの間の距離が、前記アンカサンプルと前記ネガティブサンプルの前記セマンティック空間における距離の増加に伴い増加する、ことを含む、システム。
【請求項７】
請求項６に記載のシステムであって、
前記条件は、
前記アンカサンプルの特徴ベクトルと前記ネガティブサンプルの特徴ベクトルとの間の距離は、前記第１クラスと前記第２クラスとの間のセマンティック距離に線形である、システム。
【請求項８】
請求項１に記載のシステムであって、
第３クラス、第４クラス、第５クラス、及び第６クラスは、互いに異なるクラスであり、
前記第５クラスは、前記第３クラスを包含し、
前記第６クラスは、前記第４クラスを包含し、
（前記第３クラスの前記機械学習モデルによる特徴ベクトル−前記第５クラスの前記機トル）＝前記第４クラスの前記機械学習モデルによる特徴ベクトル、が成立する、システム。
【請求項９】
請求項１に記載のシステムであって、
前記機械学習モデルへの前記入力サンプルは、入力画像であり、
前記機械学習モデルが前記入力画像に対して出力する前記特徴ベクトルは、第１特徴ベクトルであり、
前記機械学習モデルは第１機械学習モデルであり、
前記第１機械学習モデルは、前記入力画像に対して、前記第１特徴ベクトル及び第２特徴ベクトルを出力し、
前記１以上のプロセッサは、前記第１特徴ベクトル及び前記第２特徴ベクトルとの組み合わせを、画像を生成する第２機械学習モデルに入力して、前記第２機械学習モデルにより生成された画像と前記入力画像との誤差を計算し、
前記誤差に基づき前記第１機械学習モデルを訓練する、システム。
【請求項１０】
システムが実行する方法であって、
複数のサンプルを含むサンプルデータベースから、第１クラスに属するアンカサンプルを取得し、
前記サンプルデータベースから、前記第１クラスに属し、前記アンカサンプルと異なるポジティブサンプルを取得し、
前記第１クラスと異なる第２クラスに属する、ネガティブサンプルを取得し、
入力サンプルの特徴ベクトルを出力する機械学習モデルを使用して、前記アンカサンプルの特徴ベクトル、前記ポジティブサンプルの特徴ベクトル、前記ネガティブサンプルの特徴ベクトル、を生成し、
予め定義されている条件を満たすように、前記機械学習モデルを訓練し、
前記条件は、
前記アンカサンプルの特徴ベクトルと前記ポジティブサンプルの特徴ベクトルとの間の距離が、前記アンカサンプルの特徴ベクトルと前記ネガティブサンプルの特徴ベクトルとの間の距離より近く、
前記アンカサンプルの特徴ベクトルと前記ネガティブサンプルの特徴ベクトルとの間の距離が満たすべき範囲を、予め定義されているセマンティック空間における前記第１クラスと前記第２クラス間のセマンティック距離に基づき定義している、方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特徴ベクトルを生成するシステムに関する。
【背景技術】
【０００２】
ニューラルネットワークは様々な方法で訓練することができる（例えば特許文献１を参照）。一般的な方法の一つは、ニューラルネットワークに画像を入力し、出力ニューロンの活性化を計算する。活性化が正しくない場合、ニューラルネットワークは、誤差に応じて更新される。このようなニューラルネットワークの利用方法は、分類である。訓練されニューラルネットワークは、訓練中に提供された画像サンプルを適切に分類することができるが、訓練データに含まれていない画像データの分類に簡単に拡張することはできない。
【０００３】
このような拡張を達成するために、画像特徴として最後から２番目の層を利用しながらニューロンの最後の層を除去する。この画像特徴ベクトルを使用して、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）のようなモデルを訓練することができる。
【０００４】
ここで、分類のために訓練されたニューラルネットワークに関するさらなる問題が生じる。２番目の最後の層またはそれ以前の層の特徴ベクトルは、特定の意味関係を示すように訓練されていない。例えば、「ｃａｔ」と「ｃａｒ」の特徴ベクトルは類似し得る（ユークリッド距離が小さい）一方、「ｃａｔ」と「ｄｏｇ」の特徴ベクトは非類似であり得る（大きなユークリッド距離）。
【０００５】
ニューラルネットワークの訓練するため、特徴ベクトル自体を最適化するのではなく、特徴ベクトル間の距離を最適化する方法が知られている。Ｔｒｉｐｌｅｔ  Ｌｏｓｓと呼ばれるこの最適化を実現する方法は、アンカクラスを固定し、このアンカクラスＡの画像サンプルＡを選択する。当該方法は、同じアンカクラスＡから追加の画像サンプルＰを選択し、異なるクラスＮから画像サンプルＮを選択する。
【０００６】
サンプルＰはサンプルＡのポジティブなサンプルであり、サンプルＮはサンプルＡのネガティブなサンプルである。すべてのサンプルＡ、Ｐ及びＮについて、ニューラルネットワークは画像の特徴ベクトルＷ（Ａ）、Ｗ（Ｐ）およびＷ（Ｎ）を計算し、出力する。ニューラルネットワークの出力について、次の条件が満たされていることが保証される（満たされるように訓練される）。
｜｜Ｗ（Ａ）−Ｗ（Ｐ）｜｜＜｜｜Ｗ（Ａ）−Ｗ（Ｎ）｜｜
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１７−２１１９５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
Ｔｒｉｐｌｅｔ  Ｌｏｓｓにおける上記条件は、アンカクラスＡの二つのサンプルの特徴ベクトルが（マージン内で）同一であり、ネガティブクラスＮの特徴ベクトルがアンカクラスＡの特徴ベクトルと異なることを保証する。しかし、Ｔｒｉｐｌｅｔ  Ｌｏｓｓは、意味の類似性を考慮しない。そのため、「ｃａｔ」と「ｄｏｇ」の特徴ベクトルは全く非類似である可能性があり、「ｃａｔ」と「ｃａｒ」の特徴ベクトルは非常に類似している可能性がある。
【課題を解決するための手段】
【０００９】
本開示の一態様のシステムは、複数のサンプルを含むデータベースと、入力サンプルの特徴ベクトルを出力する機械学習モデルと、を格納する１以上の記憶装置と、前記１以上の記憶装置に格納される命令に従って動作する１以上のプロセッサと、を含む。前記１以上のプロセッサは、前記データベースから、第１クラスに属するアンカサンプルを取得し、前記データベースから、前記第１クラスに属し、前記アンカサンプルと異なるポジティブサンプルを取得し、前記第１クラスと異なる第２クラスに属する、ネガティブサンプルを取得し、前記機械学習モデルを使用して、前記アンカサンプルの特徴ベクトル、前記ポジティブサンプルの特徴ベクトル、前記ネガティブサンプルの特徴ベクトル、を生成し、予め定義されている条件を満たすように、前記機械学習モデルを訓練する。前記条件は、前記アンカサンプルの特徴ベクトルと前記ポジティブサンプルの特徴ベクトルとの間の距離が、前記アンカサンプルの特徴ベクトルと前記ネガティブサンプルの特徴ベクトルとの間の距離より近く、前記アンカサンプルの特徴ベクトルと前記ネガティブサンプルの特徴ベクトルとの間の距離が満たすべき範囲を、予め定義されているセマンティック空間における前記第１クラスと前記第２クラス間のセマンティック距離に基づき定義している。
【発明の効果】
【００１０】
本発明の一態様によれば、サンプルのセマンティックな特徴ベクトルを生成できる。
【図面の簡単な説明】
【００１１】
【図１】実施形態１において、機械学習システムの論理構成を模式的に示す。
【図２】実施形態１において、システムの動作の概要を示すフローチャートである。
【図３】実施形態１において、機械学習システムを構成する計算機システムの構成例を示す。
【図４】実施形態１において、訓練画像データベースが格納している訓練画像データの例を示す。
【図５】実施形態１において、クラスの例を示す。
【図６】実施形態１において、訓練における特徴ベクトル生成モデルの入力データ及び出力データを示す。
【図７】実施形態１において、モデル訓練部による特徴ベクトル生成モデルの訓練のフローチャートの例を示す。
【図８】実施形態１において、訓練済みの特徴ベクトル生成モデルによる分類結果の例を模式的に示す。
【図９】実施形態１において、新規クラスのより具体的な例を示す。
【図１０】実施形態１において、訓練済みの特徴ベクトル生成モデルによる分類結果の例を模式的に示す。
【図１１】実施形態１において、システムにより生成される特徴ベクトルを使用する例を示す。
【図１２】実施形態１において、システムにより生成される特徴ベクトルを使用する他の例を示す。
【図１３】実施形態３において、機械学習システムの論理構成を模式的に示す。
【図１４】実施形態３において、メモリにおけるソフトウェア構成を示す。
【図１５】実施形態３において、特徴ベクトル生成モデルの動作を模式的に示している。
【図１６】実施形態３において、画像生成モデルの動作を模式的に示している。
【図１７】実施形態３において、特徴ベクトル生成モデル及び画像生成モデルのモデル訓練部による訓練を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【００１３】
＜実施形態１＞
図１は、本実施形態の機械学習システムの論理構成を模式的に示す。システムは、入力画像から特徴ベクトル出力する機械学習モデル（特徴ベクトル生成モデル）を、入力画像の意味を考慮して訓練する。以下において、入力画像から特徴ベクトルを生成する例が説明されるが、本実施形態の特徴は、画像と異なる入力サンプルから特徴ベクトルを生成するシステムに適用することができる。
【００１４】
訓練は、機械学習アルゴリズムのＴｒｉｐｌｅｔ  Ｌｏｓｓを利用する。本実施形態のシステムにより、特徴ベクトル生成モデルが出力する特徴ベクトル間の関係に、入力画像の分類クラス（意味）を反映させることができる。
【００１５】
システム１は、前処理部１１、特徴ベクトル生成モデル１３、運用部１４、及びモデル訓練部１５を含む。システム１は、さらに、訓練画像データベース２１、セマンティックデータベース２２、及び運用画像データベース２３を含む。
【００１６】
図２は、システム１の動作の概要を示すフローチャートである。システム１の動作フェーズは、訓練（学習）フェーズ及び運用フェーズを含む。システム１は、訓練フェーズにおいて、特徴ベクトル生成モデル１３の訓練を行う（Ｓ１０）。後述するように、特徴ベクトル生成モデル１３は、入力画像に対して特徴ベクトルを出力する。特徴ベクトル生成モデル１３の訓練は、Ｔｒｉｐｌｅｔ  Ｌｏｓｓを利用し、入力画像の意味（クラス）を考慮する。
【００１７】
システム１は、運用フェーズにおいて、訓練された特徴ベクトル生成モデル１３を使用して、ターゲット画像の特徴ベクトルを生成する（Ｓ２０）。運用部１４は、特徴ベクトル生成モデル１３が生成した特徴ベクトルに基づく処理を実行する（Ｓ３０）。例えば、運用部１４は、監視画像の特徴ベクトル間の関係から危険を検知し、オペレータ警告を与える、又は、特徴ベクトルによって、入力されたテキストにマッチする画像を検索することができる。
【００１８】
図１に戻って、訓練画像データベース２１は、特徴ベクトル生成モデル１３の訓練（学習）フェーズ使用される、訓練画像データを格納する。訓練画像データベース２１は、サンプルを格納するサンプルデータベースの例である。後述するように、訓練画像データベース２１は、複数の画像サンプルをクラスと関連付けて格納しており、複数のクラスの各クラスに属する複数の画像サンプルを格納している。
【００１９】
セマンティックデータベース２２は、クラス間の意味的における類似性（セマンティック類似性）を定義する。セマンティック類似性はセマンティック空間における距離（セマンティック距離）で表わすことができる。セマンティック距離を計算するいくつかの方法が考えられる。セマンティックデータベース２２の例は、単語（クラス）がグラフで結ばれた辞書である。グラフ構造は、ノードとして表される所与の単語間の距離を定義するために利用することができる。このような辞書の一例は、ＷｏｒｄＮｅｔである。
【００２０】
運用画像データベース２３は、運用フェーズにおいて特徴ベクトル生成モデル１３に入力されるターゲット画像データを格納している。ターゲット画像は、運用画像データベース２３を使用することなく、カメラにより撮像されると、リアルタイムで取得されてもよい。
【００２１】
前処理部１１は、特徴ベクトル生成モデル１３に入力するために画像データの前処理を行う。例えば、前処理部１１は、運用画像データベース２３から取得した画像から、関心領域（ＲＯＩ）を抽出する。
【００２２】
モデル訓練部１５は、特徴ベクトル生成モデル１３を訓練し、そのパラメータを更新する。特徴ベクトル生成モデル１３は、機械学習により訓練される（更新される）モデルである。特徴ベクトル生成モデル１３は、画像から特徴ベクトルを生成できる任意の構成を有することができ、例えば、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）である。後述するように、特徴ベクトル生成モデル１３は、入力画像のクラスを表す特徴ベクトルを生成する。
【００２３】
図３は、機械学習システム１を構成する計算機システムの構成例を示す。計算機システムは、訓練サーバ１００、ユーザ端末１５０、及び運用装置１６０を含み、これらはネットワークを介して通信することができる。訓練サーバ１００は、訓練（学習）フェーズにおいて、特徴ベクトル生成モデル１３の訓練を行う。運用装置１６０は、訓練サーバ１００に訓練された特徴ベクトル生成モデル１３を利用して、特定の処理を実行する。ユーザ端末１５０は、ユーザが訓練サーバ１００又は運用装置１６０にアクセスするための端末である。
【００２４】
訓練サーバ１００は、プロセッサ１１０、メモリ１２０、補助記憶装置１３０、及びネットワーク（ＮＷ）インタフェース１４５を含む。上記構成要素は、バスによって互いに接続されている。メモリ１２０、補助記憶装置１３０又はこれらの組み合わせは非過渡的記憶媒体を含む記憶装置である。ネットワークインタフェース１４５は、ネットワークとの接続のためのインタフェースである。
【００２５】
メモリ１２０は、例えば半導体メモリから構成され、主にプログラムやデータを保持するために利用される。メモリ１２０が格納しているプログラムは、不図示のオペレーティングシステムの他、前処理プログラム１２１、特徴ベクトル生成モデルプログラム１２３、及びモデル訓練プログラム１２５を含む。
【００２６】
プロセッサ１１０は、メモリ１２０に格納されているプログラムに従って、様々な処理を実行する。プロセッサ１１０がプログラムに従って動作することで、様々な機能部が実現される。例えば、プロセッサ１１０は、上記プログラムそれぞれに従って、前処理部１１、特徴ベクトル生成モデル１３、及びモデル訓練部１５として動作する。
【００２７】
補助記憶装置１３０は、訓練画像データベース２１及びセマンティックデータベース２２を格納している。補助記憶装置１３０は、例えばハードディスクドライブやソリッドステートドライブなどの大容量の記憶装置から構成され、プログラムやデータを長期間保持するために利用される。
【００２８】
補助記憶装置１３０に格納されたプログラム及びデータが起動時又は必要時にメモリ１２０にロードされ、プログラムをプロセッサ１１０が実行することにより、訓練サーバ１００の各種処理が実行される。したがって、以下において機能部により実行される処理は、プログラム、プロセッサ、計算機、又は計算機システムによる処理である。
【００２９】
運用装置１６０は、例えば、訓練サーバ１００と同様に、計算機構成を有することができる。運用装置１６０は、プロセッサ１６１、メモリ１６２、補助記憶装置１６３、及びネットワーク（ＮＷ）インタフェース１６５を含む。上記構成要素は、バスによって互いに接続されている。
【００３０】
メモリ１６２が格納しているプログラムは、不図示のオペレーティングシステムの他、運用プログラム１２４を含む。メモリ１６２は、訓練サーバ１００から送信された、訓練サーバ１００において訓練された特徴ベクトル生成モデルプログラム１２３を格納してもよい。補助記憶装置１６３は、運用画像データベース２３を格納している。運用プログラム１２４は、訓練サーバ１００又は運用装置１６０に格納されている特徴ベクトル生成モデルプログラム１２３を使用して、運用画像データベース２３に格納されている画像の特徴ベクトルを生成し、当該特徴ベクトルを利用して所定の処理を実行する。
【００３１】
プロセッサ１６１は、運用プログラム１２４に従って、運用部１４として動作する。訓練された特徴ベクトル生成モデルプログラム１２３を実行する場合は、特徴ベクトル生成モデル１３として機能する。
【００３２】
ユーザ端末１５０は、例えば、一般的な計算機構成を有し、入力デバイス及び表示デバイス（出力デバイス）を含む。入力デバイスは、ユーザが指示や情報などを入力するためのハードウェアデバイスである。表示デバイスは、入出力用の各種画像を表示するハードウェアデバイスである。
【００３３】
訓練サーバ１００、ユーザ端末１５０、運用装置１６０、及びこれらの組み合わせは、それぞれ、１以上のプロセッサ及び１以上の記憶装置を含む計算機システムである。ユーザ端末１５０は省略されてもよく、入力デバイス及び表示デバイスが、ネットワークを介することなく、訓練サーバ１００又は運用装置１６０に接続されていてもよい。訓練サーバ１００又は運用装置１６０の機能は、ネットワークを介して通信を行う複数の計算機に分散配置されていてもよく、複数のユーザ端末１５０がシステムに含まれていてもよい。
【００３４】
図４は、訓練画像データベース２１が格納している訓練画像データの例を示す。訓練画像データベース２１は、各画像を対応するクラスに関連付けている。訓練画像データベース２１は、複数のクラスの画像データを格納し、各クラスの複数の画像を格納している。図４は、例として、クラスＡの画像群２１２Ａ、クラスＢの画像群２１２Ｂ、及びクラスＣの画像群２１２Ｃを示している。クラスＡ、Ｂ及びＣは異なるクラスである、それぞれ異なる意味を有している。
【００３５】
図５は、セマンティックデータベース２２が保持する情報の例を示す。セマンティックデータベース２２は、クラス間の関係を定義する。本例において、セマンティックデータベース２２は、クラス間の関係を示すグラフを格納している。グラフのノードがクラスに対応し、ノード間のリンクがクラス間の関係を示す。本例において、クラス間の距離は、例えば、それらクラスの間のパスを構成するに存在するリンクの数で定義することができる。なお、セマンティックデータベース２２は、図５が示す例と異なる態様でクラス間の関係を定義してよい。
【００３６】
図５は、クラスの例として、ＫＩＮＧＱ１００、ＭＡＮＱ２００、ＱＵＥＥＮＱ３００、ＷＯＭＡＮＱ４００、ＭＯＮＡＲＣＨＱ５００、ＨＵＭＡＮＱ６００を示す。各クラスは、ベクトル（１以上の要素で構成される）で表わされる。クラス間のリンク（矢印）は、クラス間の直接の接続（ＤＩＲＥＣＴ）を示し、上位クラスと下位クラスとの関係を示す。リンクの矢印の始点が下位クラスであり終点が上位クラスである。上位クラスは下位クラスを包含する。同一の上位クラスを介して、下位クラスが間接的に接続されている。
【００３７】
図５の例において、ＫＩＮＧＱ１００とＭＡＮＱ２００の関係Ｑ１２０は直接的関係であり、ＭＡＮＱ２００が上位クラス、ＫＩＮＧＱ１００が下位クラスである。ＱＵＥＥＮＱ３００とＷＯＭＡＮＱ４００の関係Ｑ３４０は直接的関係であり、ＷＯＭＡＮＱ４００が上位クラス、ＱＵＥＥＮＱ３００が下位クラスである。
【００３８】
ＷＯＭＡＮＱ４００とＨＵＭＡＮ６００の関係Ｑ４６０は直接的関係であり、ＨＵＭＡＮ６００が上位クラス、ＷＯＭＡＮＱ４００が下位クラスである。ＭＡＮＱ２００とＨＵＭＡＮ６００の関係Ｑ２６０は直接的関係であり、ＨＵＭＡＮ６００が上位クラス、ＭＡＮＱ２００が下位クラスである。
【００３９】
ＫＩＮＧＱ１００とＭＯＮＡＲＣＨＱ５００の関係Ｑ１５０は直接的関係であり、ＭＯＮＡＲＣＨＱ５００が上位クラス、ＫＩＮＧＱ１００が下位クラスである。ＱＵＥＥＮＱ３００とＭＯＮＡＲＣＨＱ５００の関係Ｑ３５０は直接的関係であり、ＭＯＮＡＲＣＨＱ５００が上位クラス、ＱＵＥＥＮＱ３００が下位クラスである。ＫＩＮＧＱ１００とＱＵＥＥＮＱ３００とは、ＭＯＮＡＲＣＨＱ５００を介した、間接的関係Ｑ１３０を有する。ＭＡＮＱ２００とＷＯＭＡＮＱ４００とは、ＨＵＭＡＮＱ６００を介した、間接的関係Ｑ２４０を有する。
【００４０】
以下において、特徴ベクトル生成モデル１３の訓練（学習）方法の例を説明する。特徴ベクトル生成モデル１３の本実施形態の訓練は、Ｔｒｉｐｌｅｔ  Ｌｏｓｓを利用する。図６は、訓練における、特徴ベクトル生成モデル１３の入力データ及び出力データを示す。本例において、特徴ベクトル生成モデル１３は、ニューラルネットワークである。
【００４１】
特徴ベクトル生成モデル１３は、入力されたアンカ画像２１３Ａ、ポジティブ画像２１３Ｐ、ネガティブ画像２１３Ｎのそれぞれから、特徴ベクトルＷ（Ａ）２１５Ａ、特徴ベクトルＷ（Ｐ）２１５Ｐ、特徴ベクトルＷ（Ｎ）２１５Ｎを生成する。アンカ画像２１３Ａ、ポジティブ画像２１３Ｐ、ネガティブ画像２１３Ｎは、訓練画像データベース２１から選択されたサンプルであり、互いに異なる画像である。アンカ画像２１３Ａ及びポジティブ画像２１３Ｐは同一のクラスに属し、ネガティブ画像２１３Ｎはアンカ画像２１３Ａ及びポジティブ画像２１３Ｐとは異なるクラスに属する。
【００４２】
図７は、モデル訓練部１５による特徴ベクトル生成モデル１３の訓練のフローチャートの例を示す。図６を参照して説明したように、モデル訓練部１５は、アンカ画像、ポジティブ画像及びネガティブ画像の複数のセットによって、特徴ベクトル生成モデル１３を訓練する。図７は、アンカ画像、ポジティブ画像及びネガティブ画像の一つのセットによる特徴ベクトル生成モデル１３の更新のフローを示す。モデル訓練部１５は、複数セットそれぞれについて、図７に示す処理を実行する。
【００４３】
モデル訓練部１５は、訓練画像データベース２１からアンカクラスを選択し、さらに、そのアンカクラスに属するアンカ画像２１３Ａを選択する（Ｓ１０１）。モデル訓練部１５は、訓練画像データベース２１から、アンカクラスに属するポジティブ画像２１３Ｐを選択する（Ｓ１０２）。
【００４４】
ポジティブ画像２１３Ｐは、アンカ画像２１３Ａとは異なる画像である。モデル訓練部１５は、訓練画像データベース２１から、アンカクラスと異なるネガティブクラスを選択し、さらに、そのネガティブクラスに属するネガティブ画像２１３Ｎを選択する（Ｓ１０３）。
【００４５】
モデル訓練部１５は、アンカ画像２１３Ａ、ポジティブ画像２１３Ｐ及びネガティブ画像２１３Ｎを特徴ベクトル生成モデル１３に順次入力し、特徴ベクトルＷ（Ａ）２１５Ａ、特徴ベクトルＷ（Ｐ）２１５Ｐ、及び特徴ベクトルＷ（Ｎ）２１５Ｎを生成する（Ｓ１０４）。
【００４６】
モデル訓練部１５は、生成した特徴ベクトル間の距離を決定する（Ｓ１０５）。具体的には、モデル訓練部１５は、特徴ベクトルＷ（Ａ）２１５Ａと特徴ベクトルＷ（Ｐ）２１５Ｐとの間の距離Ｄ（Ｗ（Ａ）、Ｗ（Ｐ））、特徴ベクトルＷ（Ａ）２１５Ａと特徴ベクトルＷ（Ｎ）２１５Ｎとの間の距離Ｄ（Ｗ（Ａ）、Ｗ（Ｎ））、及び、特徴ベクトルＷ（Ｐ）２１５Ｐと特徴ベクトルＷ（Ｎ）２１５Ｎとの間の距離Ｄ（Ｗ（Ｐ）、Ｗ（Ｎ））を決定する。例えば、特徴ベクトル間の距離は、ユークリッド空間で表される特徴ベクトルのＬ２ノルムである。他の空間又は距離の計算方法が使用されてもよい。
【００４７】
次に、モデル訓練部１５は、アンカ画像２１３Ａとポジティブ画像２１３Ｐとの間のセマンティック距離（類似度）Ｓ（Ａ、Ｐ）、並びに、アンカ画像２１３Ａとネガティブ画像２１３Ｎとの間のセマンティック距離Ｓ（Ａ、Ｎ）を、画像のクラスに基づき決定する（Ｓ１０６）。本例において、モデル訓練部１５は、セマンティックデータベース２２を参照して、セマンティック距離Ｓ（Ａ、Ｐ）及びＳ（Ａ、Ｎ）を決定する。
【００４８】
上述のように、セマンティックデータベース２２は、グラフ構造により、クラス間の関係を定義している。モデル訓練部１５は、例えば、クラス間のパスのリンク数により、クラス間の距離を決定することができる。この例において、セマンティック距離Ｓ（Ａ、Ｐ）は０である。モデル訓練部１５は、異なる構造のセマンティックデータベースを使用して、異なる方法でクラス間距離を決定してもよい。いずれのクラス間距離も、クラスの意味の類似度を表す。
【００４９】
次に、モデル訓練部１５は、上記特徴ベクトル間距離及びクラス間セマンティック距離が、所定の条件を満たすか判定する（Ｓ１０７）。所定条件は、例えば、アンカ画像の特徴ベクトルとポジティブ画像の特徴ベクトルとの間の距離が、アンカ画像の特徴ベクトルとネガティブ画像の特徴ベクトルとの間の距離より近い。さらに、アンカ画像の特徴ベクトルとネガティブ画像の特徴ベクトルとの間の距離が満たすべき範囲を、予め定義されているセマンティック空間におけるクラス間のセマンティック距離に基づき定義する。
【００５０】
所定条件のより具体的な例は、下記の関数で規定される。
Ｄ（Ｗ（Ａ）、Ｗ（Ｐ））＜Ｔ                    （１）
Ｄ（Ｗ（Ａ）、Ｗ（Ｎ））＞Ｔ                    （２）
Ｄ（Ｗ（Ａ）、Ｗ（Ｎ））＜Ｔ＋Ｋ＊Ｓ（Ａ、Ｎ）  （３）
Ｄ（Ｗ（Ａ）、Ｗ（Ｎ））＞Ｔ＋Ｌ＊Ｓ（Ａ、Ｎ）  （４）
Ｔは、マージンであり、予め設定されている正の閾値である。一次関数の比例定数（スケーリングファクタ）であるＫ及びＬは、予め設定されている正の定数であり、Ｋ＞Ｌである。
【００５１】
条件（１）は、アンカ画像の特徴ベクトルＷ（Ａ）２１５Ａとポジティブ画像の特徴ベクトルＷ（Ｐ）２１５Ｐとの間の距離Ｄ（Ｗ（Ａ）、Ｗ（Ｐ））が、マージン（閾値）Ｔを下回ることを保証する。マージンＴは、通常、ゼロよりも大きい小さな固定値である。条件（２）は、アンカ画像の特徴ベクトルＷ（Ａ）２１５Ａとネガティブ画像の特徴ベクトルＷ（Ｎ）２１５Ｎとの間の距離Ｄ（Ｗ（Ａ）、Ｗ（Ｎ））が、マージン（閾値）Ｔより大きいことを保証する。
【００５２】
条件（１）及び条件（２）の組み合わせにより、アンカ画像の特徴ベクトルＷ（Ａ）２１５Ａとポジティブ画像の特徴ベクトルＷ（Ｐ）２１５Ｐとの間の距離Ｄ（Ｗ（Ａ）、Ｗ（Ｐ））が、アンカ画像の特徴ベクトルＷ（Ａ）２１５Ａとネガティブ画像の特徴ベクトルＷ（Ｎ）２１５Ｎとの間の距離（Ｗ（Ａ）、Ｗ（Ｎ））よりも小さいことを意味する。条件（１）及び条件（２）は、Ｔｒｉｐｌｅｔ  Ｌｏｓｓにより要求される。
【００５３】
条件（３）及び条件（４）は、Ｔｒｉｐｌｅｔ  Ｌｏｓｓの条件に追加して、新しいセマンティック距離Ｓを導入する。条件（３）は、アンカ画像の特徴ベクトルＷ（Ａ）２１５Ａとネガティブ画像の特徴ベクトルＷ（Ｎ）２１５Ｎとの間の距離Ｄ（Ｗ（Ａ）、Ｗ（Ｎ））の最大値を、クラス間のセマンティック距離に基づき規定する。
【００５４】
具体的には、条件（３）は、アンカ画像の特徴ベクトルＷ（Ａ）２１５Ａとネガティブ画像の特徴ベクトルＷ（Ｎ）２１５Ｎとの間の距離Ｄ（Ｗ（Ａ）、Ｗ（Ｎ））が、所定の閾値（Ｔ＋Ｋ）に、アンカクラスＡとネガティブクラスＮとの間のセマンティック距離Ｓ（Ａ、Ｎ）から決まる値（Ｋ＊Ｓ（Ａ、Ｎ））を加えた値より小さいことを保証する。Ｋはスケーリング係数である。
【００５５】
条件（４）は、アンカ画像の特徴ベクトルＷ（Ａ）２１５Ａとネガティブ画像の特徴ベクトルＷ（Ｎ）２１５Ｎとの間の距離Ｄ（Ｗ（Ａ）、Ｗ（Ｎ））の最小値を、規定する。具体的には、条件（４）は、アンカ画像の特徴ベクトルＷ（Ａ）２１５Ａとネガティブ画像の特徴ベクトルＷ（Ｎ）２１５Ｎとの間の距離Ｄ（Ｗ（Ａ）、Ｗ（Ｎ））が、所定の閾値（Ｔ＋Ｌ）に、アンカクラスＡとネガティブクラスＮとの間のセマンティック距離Ｓ（Ａ、Ｎ）から決まる値（Ｌ＊Ｓ（Ａ、Ｎ））を加えた値より小さいことを保証する。
【００５６】
Ｌはスケーリングファクタであり、Ｋより小さい。クラス間のセマンティック距離は正であり、条件（４）が満たされる場合、条件（２）は必ず満たされている、つまり、条件（２）は省略可能である。
【００５７】
上記条件（１）から（４）の全てが満たされている場合（Ｓ１０７：ＹＥＳ）、モデル訓練部１５は、当該入力画像セットの処理を終了する。上記条件（１）から（４）のいずれかが満たされていない場合（Ｓ１０７：ＮＯ）、モデル訓練部１５は、満たされていない条件に基づき、特徴ベクトル生成モデル１３を更新する（Ｓ１０８）。上記条件により適切な特徴ベクトルを生成できる。
【００５８】
モデル訓練部１５は、条件（１）から（４）それぞれから決まる損失関数による損失に基づき、特徴ベクトル生成モデル１３のパラメータを更新する。モデル訓練部１５は、特徴ベクトル生成モデル１３を繰り返し更新することで、特徴ベクトル生成モデル１３が条件（１）から（４）を満たすように最適化できる。上記条件により、画像のクラス（意味）に基づく特徴ベクトルを適切に生成することが可能である。
【００５９】
条件（１）から（４）から理解できるように、学習後の特徴ベクトル生成モデル１３によるアンカ画像の特徴ベクトルＷ（Ａ）とネガティブ画像の特徴ベクトルＷ（Ｎ）との間の距離Ｄ（Ｗ（Ａ）、Ｗ（Ｎ））は、セマンティック距離Ｓ（Ａ、Ｎ）の一次関数で表わされるようになり、セマンティック距離Ｓ（Ａ、Ｎ）に対して線形である。また、アンカ画像の特徴ベクトルＷ（Ａ）とポジティブ画像の特徴ベクトルＷ（Ｐ）との間の距離Ｄ（Ｗ（Ａ）、Ｗ（Ｐ））は、定数で表わされるようになる。
【００６０】
モデル訓練部１５は、特徴ベクトル生成モデル１３の更新のために、他の条件を使用することができる。例えば、条件（４）は省略してもよい。条件（３）及び（４）により、異なるクラスの特徴ベクトルを、そのクラスに応じてより適切な位置関係でベクトル空間内に配置できる。モデル訓練部１５は、クラスに応じた特徴ベクトルを決定するために、セマンティック距離の一次関数に代えて、他の関数を使用することができる。
【００６１】
このとき、三つのクラス（クラスｃａ、クラスｃｂ、クラスｃｄとする）の間において以下の条件が満たされるように、関数が決められる。クラスｃａの任意のサンプルをｉ＿ｃａ＿ｓ、クラスｃｂの任意のサンプルをｉ＿ｃｂ＿ｔ、クラスｃｄの任意のサンプルをｉ＿ｃｄ＿ｕとする。セマンティック距離Ｓ（ｉ＿ｃａ＿ｓ、ｉ＿ｃｂ＿ｔ）とセマンティック距離（ｉ＿ｃａ＿ｓ、ｉ＿ｃｄ＿ｕ）との大小関係は、特徴ベクトル距離Ｄ（ｉ＿ｃａ＿ｓ、ｉ＿ｃｂ＿ｔ）と特徴ベクトル距離Ｄ（ｉ＿ｃａ＿ｓ、ｉ＿ｃｄ＿ｕ）との大小関係と一致する。
【００６２】
例えば、セマンティック距離Ｓ（ｉ＿ｃａ＿ｓ、ｉ＿ｃｂ＿ｔ）＞セマンティック距離（ｉ＿ｃａ＿ｓ、ｉ＿ｃｄ＿ｕ）である場合、特徴ベクトル距離Ｄ（ｉ＿ｃａ＿ｓ、ｉ＿ｃｂ＿ｔ）＞特徴ベクトル距離Ｄ（ｉ＿ｃａ＿ｓ、ｉ＿ｃｄ＿ｕ）が成立する。つまり、サンプル間のセマンティック距離のクラスペア間の大小関係は、サンプル間の特徴ベクトル間距離のクラスペア間の大小関係と一致する。
【００６３】
上記例は、クラス間のパスに基づきセマンティック距離を決定する。他の例は、クラスの属性を利用してクラス間のセマンティック距離を決定してもよい。属性は、クラスのより詳細な分類情報を示す。例を挙げれば、人を単に「人」として分類するのではなく、「男性の人、黒いスーツを着ている、茶色の靴を履いている、青いバッグを持っている」などの細かい情報を適用することができる。例えば、「男性」、「黒い服を着ている」、「スーツを着ている」、「茶色の靴を履いている」、「バッグを持っている」、「青いバッグ」の各項目の情報が属性である。
【００６４】
さらに、「女性の人、黒い服を着ている、赤い靴を履いている、青いバッグを持っている」という別の例を考える。上記例と同様に、この例を複数の属性に分割することができる。これらサンプルの距離（類似度）は、例えば、複数の属性において一致している属性の数に基づき決定することができる。例えば、最初のサンプル例の各属性と同一である場合に「１」、異なる場合に「０」であると仮定すると、最初のサンプル例（男性）は、ベクトル（１、１、１、１、１、１）で表わされる。同様の観点からもう一方のサンプル例（女性）は、ベクトル（０、１、０、０、１、１）で表わされる。
【００６５】
二つのサンプル例において、同一の値の属性の数は３であり、異なる値の属性の数は３である。三つの属性が異なるので、二つのサンプル例の間の類似性の差（距離）は３である。二つのサンプルの最小の差は全ての属性が同一である０であり、最大の差は六つの全ての属性が異なる場合の６である。
【００６６】
上述のように生成された特徴ベクトルは、特徴ベクトル生成モデル１３の訓練においてサンプルが提供されていない新規なクラスを理解するために使用することができる。図８は、訓練済みの特徴ベクトル生成モデル１３による分類結果の例を模式的に示す。特徴ベクトル生成モデル１３が生成した特徴ベクトルは、特徴ベクトル群３０１、３０２及び３０３と、一つの特徴ベクトル３０４を含む。
【００６７】
特徴ベクトル群３０１、３０２及び３０３は、それぞれ、訓練データの異なるクラスに対応している。図８において、特徴ベクトル３０４は、いずれのクラスにも属していない、新規なクラスのサンプル特徴ベクトルである。上述のように、特徴ベクトル生成モデル１３により生成される同一クラスの特徴ベクトルは、空間において互いに近い位置に存在する。また、類似するクラスの特徴ベクトルの距離は近い。
【００６８】
特徴ベクトル３０４は、既知のクラスに属する特徴ベクトル群３０１、３０２及び３０３と、所定の位置関係を有している。運用部１４は、特徴ベクトル３０４と特徴ベクトル群３０１、３０２及び３０３との位置関係から、特徴ベクトル３０４の新規クラスを推定することができる。
【００６９】
図９は、新規クラスのより具体的な例を示す。新規のサンプルについては特徴ベクトルが計算され、図６に示すように分析した。特徴ベクトル生成モデル１３は、新規画像サンプル３１４から、特徴ベクトル３０４を生成している。新規画像サンプル３１４の特徴ベクトル３０４は、「ＫＩＮＧ」及び「ＹＯＵＮＧ」の特徴ベクトル３１１、３１３に近いが、「ＯＬＤ」の特徴ベクトル３１２からは遠く離れている。
【００７０】
したがって、与えられた新規画像サンプル３１４は、「ＫＩＮＧ」と類似していると考えることができる。運用部１４は、例えば、ＷｏｒｄＮｅｔのようなクラス間の関係を定義するセマンティックデータベースを参照して、当該画像サンプル３１４を「プリンス」として正しく分類することができる。なお、上記説明は、訓練データに含まれない新規クラスの他、訓練におけるサンプル数が少ないクラスのサンプルについても適用することができる。
【００７１】
図１０は、訓練済みの特徴ベクトル生成モデル１３による分類結果の例を模式的に示す。特徴ベクトル生成モデル１３が生成した特徴ベクトルは、特徴ベクトル群３３１、３３２及び３３３を含む。特徴ベクトル群３３１、３３２及び３３３は、それぞれ、訓練データの異なるクラスに対応している。同一クラスの特徴ベクトル群は、ベクトル空間において互いの近くに配置される。したがって、クラスのＩＤを、例えば、特徴ベクトル群（クラスタ）の重心位置と決定することができる。
【００７２】
上記実施形態は、画像の特徴ベクトルを生成するが、本開示の特徴は、画像と異なるサンプルの特徴ベクトルを生成するシステムに適用できる。例えば、クラスは、複数のセンサデータ項目それぞれの区分の組み合わせで定義することができる。他の例において、動画のクラスを定義することができる。
【００７３】
図１１は、本実施形態のシステムにより生成される特徴ベクトルを使用する例を示す。本例は、監視カメラの映像分析し、危険を検知すると警告を発する。前処理部１１は、監視カメラによる監視映像フレーム４００から、ＲＯＩ４０１、４０２を選択し、特徴ベクトル生成モデル１３が、ＲＯＩ４０１、４０２それぞれの特徴ベクトルを生成する。
【００７４】
ＲＯＩ４０１は溶接現場の画像であり、ＲＯＩ４０２はガソリンタンクの画像である。溶接現場の画像は、火とセマンティックな関係を有している。特徴ベクトル生成モデル１３がＲＯＩ４０１から生成する特徴ベクトルは、火のクラスの特徴ベクトルと近い位置にある。一方、特徴ベクトル生成モデル１３がガソリンタンクの画像４０２から生成する特徴ベクトルは、可燃物のクラスの特徴ベクトルと近い位置にある。運用部１４は、ＲＯＩ４０１、４０２の特徴ベクトルの組み合わせから、監視映像が危険な状況を表していると判定し、オペレータに危険な状況を通報する。
【００７５】
図１２は、本実施形態のシステムにより生成される特徴ベクトルを使用する他の例を示す。本例は、人が作成した文書４１１に対して適切な挿絵４１３を、画像データベース４１２から選択する。画像データベース４１２は、特徴ベクトル生成モデル１３の訓練に使用されていない、新しい画像を格納している。
【００７６】
運用部１４は、人が作成した文書４１１を解析して、例えば、「リモートコントローラの裏面図」の挿絵が必要であると判定する。特徴ベクトル生成モデル１３は、「リモートコントローラ」及び「裏面図」それぞれの意味を表す特徴ベクトルを生成できるように訓練されている。運用部１４は、特徴ベクトル生成モデル１３を使用して、画像データベース４１２内の画像の特徴ベクトルを生成し、「リモートコントローラの裏面図」の特徴ベクトルを有する画像４１３を選択する。
【００７７】
＜実施形態２＞
実施形態１は、意味的に類似する画像に対して、ベクトル空間内で近い位置の特徴ベクトルを生成することを可能とする。本実施形態は、特徴ベクトル空間において、特定のクラス間の関係を示すことができる算術演算を実現するように、特徴ベクトル生成モデル１３を訓練する。これにより、特徴ベクトルによる処理の幅を広げることができる。
【００７８】
このような算術演算を実現するには、セマンティックスの観点から、意味のあるクラス関係を選択する必要がある。このようなセマンティックな関係は、図５に示すようなクラスのグラフを分析することによって発見することができる。このようなグラフは、例えば、ＷｏｒｄＮｅｔによって提供され得る。
【００７９】
図５の例において、例えば、アンカクラスＱ１００が選択される。アンカクラスＱ１００は、クラスＱ２００が直接接続されている。クラスＱ２００はクラスＱ１００の上位のクラスである。アンカクラスＱ１００とクラスＱ３００とが、間接的に接続されている。クラスＱ３００は、クラスＱ４００に直接接続されている。クラスＱ４００はクラスＱ３００の上位のクラスである。クラスＱ４００は、クラスＱ２００に間接的に接続されている。これらクラスＱ１００からＱ４００は、グラフにおいて（直接接続と間接続による）円を形成する。
【００８０】
クラスＱ１００、Ｑ２００、Ｑ３００及びＱ４００の各々について、各クラスを表すサンプルが選択され、これらのサンプルから、特徴ベクトルが計算される。クラスＱ１００（第３クラス）、クラスＱ３００（第４クラス）、クラスＱ２００（第５クラス）、クラスＱ４００（第６クラス）の特徴ベクトルは、以下の関係を有する（クラスの符号によりベクトルを表す）。
Ｑ１００−Ｑ２００＋Ｑ４００＝Ｑ３００        （５）
【００８１】
モデル訓練部１５による特徴ベクトル生成モデル１３の訓練の条件に、上記条件（５）が含まれる。モデル訓練部１５は、条件（５）が満たされない場合に、その誤差に応じて特徴ベクトル生成モデル１３を更新する。
【００８２】
上記例は、円を形成する４つのクラスを使用したが、このアプローチは、特定の数のクラスの使用を制限するものではない。直接接続または間接接続を介して円を形成するクラスの任意の組み合わせを使用することができる。
【００８３】
他の例において、３つのクラスの関係を特徴ベクトルの数式で表わすことができる。クラスＱ１００はクラスＱ２００とクラスＱ５００とに、直接接続されている。クラスＱ２００及びＱ５００は、クラスＱ１００の上位クラスである。クラスＱ１００は、クラスＱ２００とクラスＱ５００の中央に存在する。クラスＱ１００、クラスＱ２００、クラスＱ５００の特徴ベクトルは、以下の関係を有する（クラスの符号によりベクトルを表す）。
（Ｑ２００＋Ｑ５００）／２＝Ｑ１００      （６）
【００８４】
モデル訓練部１５による特徴ベクトル生成モデル１３の訓練の条件に、上記条件（６）が含まれる。モデル訓練部１５は、条件（６）が満たされない場合に、その誤差に応じて特徴ベクトル生成モデル１３を更新する。
【００８５】
本実施形態の特徴ベクトル間の関係を示す算出演算は、例えば、動画にも適応できる。例えば、動作の一例において、特徴ベクトルの組み合わせは、（走っている人）−（歩行している人）＋（ゆっくりと移動している車）＝（高速で移動している車）、のような関係を有する。方向の一例において、特徴ベクトルの組み合わせは、（ボールを投げている人）−（ボールをキャッチしている人）＋（離れていく人々）＝（会っている人）、のような関係を有する。
【００８６】
＜実施形態３＞
本実施形態は、入力画像の特徴ベクトルとして、実施形態１及び２において説明したようにセマンティックな特徴ベクトルに加え、視覚的な特徴ベクトルを生成する。セマンティックな特徴ベクトルと視覚的な特徴ベクトルの組み合わせは、入力画像から出力される特徴ベクトルを構成する。
【００８７】
図１３は、本実施形態の機械学習システムの論理構成を模式的に示す。機械学習システムは、図１に示す実施形態１の構成に加え、画像生成モデル１６を含む。図１４は、メモリ１２０におけるソフトウェア構成を示す。図３に示す実施形態１の構成に加え、メモリ１２０は、画像生成モデルプログラム１２６を格納している。プロセッサ１１０が画像生成モデルプログラム１２６に従って、画像生成モデル１６として動作する。
【００８８】
図１５は、特徴ベクトル生成モデル１３の動作を模式的に示している。特徴ベクトル生成モデル１３は、入力された画像から、セマンティックなベクトルと視覚的なベクトルからなる特徴ベクトルを生成する。図１５の例において、特徴ベクトル生成モデル１３は、入力画像５０１から５０４から、特徴ベクトル５１１から５１４をそれぞれ生成する。セマンティックな特徴ベクトルＷの間において、上記条件（５）が成立している。
【００８９】
上述のように、特徴ベクトルは、入力画像のセマンティックな特徴ベクトルＷと視覚的な特徴ベクトルＷを有する。例えば、クラスがＫＩＮＧである二つの異なる入力画像から生成される特徴ベクトルは、ＫＩＮＧを示す同一のセマンティックな特徴ベクトルＷと、異なる視覚的な特徴ベクトルＶとを有する。このように、出力される特徴ベクトルが、セマンティックな特徴ベクトルと視覚的な特徴ベクトルとを有することで、より詳細な分類が可能であり、特徴ベクトルの用途を広げることができる。
【００９０】
図１６は、画像生成モデル１６の動作を模式的に示している。画像生成モデル１６は、入力されたベクトルから、画像を生成する。画像生成モデル１６は、例えばニューラルネットワークである。画像生成モデル１６は、特徴ベクトル生成モデル１３が生成した特徴ベクトルを入力され、対応する画像を生成する。
【００９１】
図１６の例において、画像生成モデル１６には、特徴ベクトル生成モデル１３が生成した特徴ベクトル６０１Ａ、６０１Ｂが入力されている。画像生成モデル１６には、入力された特徴ベクトル６０１Ａから画像６１１Ａを生成し、入力された特徴ベクトル６０１Ｂから画像６１１Ｂを生成する。特徴ベクトル６０１Ａ及び６１１Ｂは、共にＫＩＮＧのセマンティックな特徴ベクトルＷを有し、異なる視覚的な特徴ベクトルＶを有している。生成された画像６１１Ａ及び６１１Ｂは、異なるＫＩＮＧの画像である。
【００９２】
このように、視覚的な特徴ベクトルＶは、生成される画像サンプルの外観を操作するために使用することができる。セマンティックな特徴ベクトルＷ及び視覚的な特徴ベクトルＶを使用して、例えば、同一クラスの特徴を有し、異なる外観を有する画像を生成することができる。視覚的な特徴ベクトルＶは、セマンティックな特徴ベクトルＷが示すクラスの画像サンプルを異なる外観で生成するのに必要な視覚情報を保持している。
【００９３】
図１７は、特徴ベクトル生成モデル１３及び画像生成モデル１６のモデル訓練部１５による訓練を説明するための図である。図１５を参照して説明したように、特徴ベクトル生成モデル１３が入力画像から生成する特徴ベクトルは、セマンティックな特徴ベクトルＷ及び視覚的な特徴ベクトルＶを含む。画像生成モデル１６は、特徴ベクトル生成モデル１３が生成した特徴ベクトルから画像を生成する。
【００９４】
モデル訓練部１５は、特徴ベクトルＷについては、実施形態１及び実施形態２において説明した条件について、特徴ベクトル生成モデル１３を訓練することができる。モデル訓練部１５は、特徴ベクトルＶについて、特徴ベクトル生成モデル１３への入力画像と、画像生成モデル１６が生成した画像との比較結果に基づき、特徴ベクトル生成モデル１３を訓練する。モデル訓練部１５は、画像の比較結果に基づき、画像生成モデル１６を訓練する。
【００９５】
図１７の例において、モデル訓練部１５は、特徴ベクトル生成モデル１３が画像５０１から生成した特徴ベクトル５１１を、画像生成モデル１６に入力する。画像生成モデル１６は、入力された特徴ベクトル５１１から、画像６５１を生成する。モデル訓練部１５は、画像６５１と画像５０１とを比較し、その比較結果に基づき特徴ベクトル生成モデル１３及び画像生成モデル１６を訓練する。
【００９６】
二つの画像の比較は、モデルを更新するための、類似又は相違の尺度を決定することができる。例えば、モデル訓練部１５は、二つの画像５０１及び６５１の間において、各画素の色情報を比較し、生成された画像サンプル６５１内の各画素の色情報が、入力画像サンプル５０１の元の画素の色情報からどの程度離れているか（誤差）を計算し、それに基づき二つのモデル１３及び１６を更新する。このように、二つの画像間の比較結果の情報は、より正確な画像サンプルを生成するためのより優れた視覚的な特徴ベクトルを生成するために特徴ベクトル生成モデル１３を更新するために使用することができる。
【００９７】
なお、特徴ベクトル生成モデル１３は、セマンティックな特徴ベクトルＷを生成するネットワークと、視覚的な特徴ベクトルＶを生成するネットワークとで、構成されていてもよい。特徴ベクトル生成モデル１３の（パラメータの）更新は、二つのネットワークをそれぞれ個別に更新する。
【００９８】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００９９】
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード等の記録媒体に置くことができる。
【０１００】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１０１】
１  システム、１１  前処理部、１３  特徴ベクトル生成モデル、１４  運用部、１５  モデル訓練部、１６  画像生成モデル、２１  訓練画像データベース、２２  セマンティックデータベース、２３  運用画像データベース、１００  訓練サーバ、１１０  プロセッサ、１２０  メモリ、１２１  前処理プログラム、１２３  特徴ベクトル生成モデルプログラム、１２４  運用プログラム、１２５  モデル訓練プログラム、１２６  画像生成モデルプログラム、１３０  補助記憶装置、１４５  インタフェース、１５０  ユーザ端末、１６０  運用装置、１６１  プロセッサ、１６２  メモリ、１６３  補助記憶装置、１６５  インタフェース、２１２Ａ、２１２Ｂ、２１２Ｃ、３１４、４０２、４１３、５０１６１１Ａ、６１１Ｂ、６５１  画像、２１３Ａ  アンカ画像、２１３Ｎ  ネガティブ画像、２１３Ｐ  ポジティブ画像、３０１、３０４、３１１、３１２、３３１、３３２、３３３、５１１、６０１Ａ、６０１Ｂ  特徴ベクトル、４００  監視映像フレーム、４１１  文書、４１２  画像データベース
【図１】
2020181486.tif 000003
【図２】
2020181486.tif 000004
【図３】
2020181486.tif 000005
【図４】
2020181486.tif 000006
【図５】
2020181486.tif 000007
【図６】
2020181486.tif 000008
【図７】
2020181486.tif 000009
【図８】
2020181486.tif 000010
【図９】
2020181486.tif 000011
【図１０】
2020181486.tif 000012
【図１１】
2020181486.tif 000013
【図１２】
2020181486.tif 000014
【図１３】
2020181486.tif 000015
【図１４】
2020181486.tif 000016
【図１５】
2020181486.tif 000017
【図１６】
2020181486.tif 000018
【図１７】
2020181486.tif 000019