(57)【要約】【課題】教師ラベル付きサンプルが存在しないラベルのサンプルを分類する。【解決手段】分類モデルの訓練データは、複数のエピソードを含む。複数のエピソードのそれぞれは、異なるラベルが付けられた複数の訓練サポードサンプル群と、当該異なるラベルが付けられた複数の訓練ターゲットサンプル群とを含む。複数のエピソードのラベルの組み合わせは、互いに異なる。分類モデルは、入力されたデータを第１空間にマッピングする第１関数と、第１空間における点を第２空間にマッピングする第２関数と、を含む。計算機システムは、分類モデルを使用して、複数のラベルにそれぞれ対応する運用サポートサンプル群それぞれの第２空間における代表位置と、運用ターゲットサンプルの前記第２空間における点の位置とを決定し、それらの関係に基づいて、運用ターゲットサンプルのラベルを決定する。【選択図】図６
2020071694.tif 000002
【特許請求の範囲】
【請求項１】
１以上のプロセッサと、
前記１以上のプロセッサが実行するプログラムを含むデータを格納する１以上の記憶装置と、を含む、計算機システムであって、
前記１以上の記憶装置は、分類モデルの訓練データを格納し、
前記訓練データは、複数のエピソードを含み、
前記複数のエピソードのそれぞれは、異なるラベルが付けられた複数の訓練サポードサンプル群と、前記異なるラベルが付けられた複数の訓練ターゲットサンプル群と、を含み、
前記複数のエピソードのラベルの組み合わせは、互いに異なり、
前記分類モデルは、入力されたデータを第１空間にマッピングする第１関数と、前記第１空間における点を第２空間にマッピングする第２関数と、を含み、
前記１以上のプロセッサは、
前記訓練データにより訓練された前記分類モデルを使用して、複数のラベルにそれぞれ対応する運用サポートサンプル群それぞれの、前記第２空間における代表位置を決定し、
前記訓練データにより訓練された前記分類モデルを使用して、運用ターゲットサンプルの前記第２空間における点の位置を決定し、
前記運用ターゲットサンプルの前記第２空間における点の位置と前記代表位置との関係に基づいて、前記運用ターゲットサンプルのラベルを前記複数のラベルから選択する、計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記１以上のプロセッサは、
前記複数のエピソードそれぞれを使用して前記分類モデルを更新し、
現在エピソードを使用した前記分類モデルの更新において、
前記分類モデル及び前記現在エピソードの訓練サポートサンプルを使用して、前記現在エピソードのラベルそれぞれの前記第２空間における代表位置を決定し、
前記分類モデル及び過去エピソードの訓練サポートサンプルを使用して、前記過去エピソードのラベルそれぞれの前記第２空間における代表位置を決定し、
前記現在エピソードのラベルそれぞれの前記第２空間における代表位置と、前記過去エピソードのラベルそれぞれの前記第２空間における代表位置とに基づき、前記分類モデルを更新する、計算機システム。
【請求項３】
請求項１に記載の計算機システムであって、
前記１以上のプロセッサは、
前記複数のエピソードそれぞれを使用して前記分類モデルを更新し、
現在エピソードを使用した前記分類モデルの更新において、
前記分類モデルを使用して、前記現在エピソードの訓練サポートサンプルそれぞれの前記第２空間における位置を決定し、
前記分類モデルを使用して、前記現在エピソード又は過去エピソードのラベルそれぞれの前記第２空間における訓練ラベル代表位置を決定し、
前記訓練ラベル代表位置と、前記現在エピソードの訓練サポートサンプルそれぞれの前記第２空間における位置とに基づき、前記分類モデルを更新する、計算機システム。
【請求項４】
請求項１に記載の計算機システムであって、
前記１以上のプロセッサは、
前記複数のエピソードそれぞれを使用して前記分類モデルを更新し、
現在エピソードを使用した前記分類モデルの更新において、
前記分類モデルを使用して、前記複数の訓練サポートサンプル群それぞれの前記第１空間における代表位置を決定し、
前記分類モデルを使用して、前記複数の訓練ターゲットサンプル群の訓練ターゲットサンプルそれぞれの前記第１空間における点の位置を決定し、
前記訓練ターゲットサンプルの前記第１空間における位置と前記代表位置との関係に基づき、前記分類モデルを更新する、計算機システム。
【請求項５】
請求項１に記載の計算機システムであって、
前記１以上のプロセッサは、
前記運用サポートサンプル群のラベルの前記第２空間における代表位置を決定し、
前記訓練データのラベルの前記第２空間における代表位置と、前記運用サポートサンプル群のラベルの前記第２空間における代表位置とに基づき、前記分類モデルを更新する、計算機システム。
【請求項６】
請求項５に記載の計算機システムであって、
前記１以上のプロセッサは、前記分類モデルの更新において、前記第２関数のみを更新する、計算機システム。
【請求項７】
請求項１に記載の計算機システムであって、
前記代表位置は重心である、計算機システム。
【請求項８】
１以上のプロセッサと、前記１以上のプロセッサが実行するプログラムを含むデータを格納する１以上の記憶装置と、を含む計算機システムが、サンプルを分類する方法であって、
前記１以上の記憶装置は、分類モデルの訓練データを格納し、
前記訓練データは、複数のエピソードを含み、
前記複数のエピソードのそれぞれは、異なるラベルが付けられた複数の訓練サポードサンプル群と、前記異なるラベルが付けられた複数の訓練ターゲットサンプル群と、を含み、
前記複数のエピソードのラベルの組み合わせは、互いに異なり、
前記分類モデルは、入力されたデータを第１空間にマッピングする第１関数と、前記第１空間における点を第２空間にマッピングする第２関数と、を含み、
前記方法は、
前記訓練データにより訓練された前記分類モデルを使用して、複数のラベルにそれぞれ対応する運用サポートサンプル群それぞれの、前記第２空間における代表位置を決定し、
前記訓練データにより訓練された前記分類モデルを使用して、運用ターゲットサンプルの前記第２空間における点の位置を決定し、
前記運用ターゲットサンプルの前記第２空間における点の位置と前記代表位置との関係に基づいて、前記運用ターゲットサンプルのラベルを前記複数のラベルから選択する、ことを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムに関する。
【背景技術】
【０００２】
深層学習は、音声、画像、言語等を処理するタスクにおいて高い性能を示している。しかし、深層学習は、大量の教師ラベル付きサンプルを必要とする。そこで、少ない教師ラベル付きサンプルで学習する方法、又は、他のデータセットのラベルを流用することで学習を行う方法が模索されている。
【０００３】
そのような学習手法の一つであるドメイン適応は、十分な教師ラベル付きサンプルからなるドメインから得られた知識を、十分な情報がない他のドメインに適用することで、十分な情報がないドメインにおいて高い精度で働くモデルを学習する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Jake Snell et al. “Prototypical Networks for Few-shot Learning”, 2017
【非特許文献２】Oriol Vinyals et al. “Matching Networks for One Shot Learning”, 2016
【非特許文献３】Da Li et al. “Learning to Generalize: Meta-Learning for Domain Generalization”
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、ドメイン適応の研究はまだ十分に進んでいない。したがって、教師ラベル付きサンプルが少ない又は存在しないラベルのサンプルを分類できる機械学習システムが望まれる。
【課題を解決するための手段】
【０００６】
本発明の一態様は、１以上のプロセッサと、前記１以上のプロセッサが実行するプログラムを含むデータを格納する１以上の記憶装置と、を含む計算機システムであって、前記１以上の記憶装置は、分類モデルの訓練データを格納し、前記訓練データは、複数のエピソードを含み、前記複数のエピソードのそれぞれは、異なるラベルが付けられた複数の訓練サポードサンプル群と、前記異なるラベルが付けられた複数の訓練ターゲットサンプル群と、を含み、前記複数のエピソードのラベルの組み合わせは、互いに異なり、前記分類モデルは、入力されたデータを第１空間にマッピングする第１関数と、前記第１空間における点を第２空間にマッピングする第２関数と、を含み、前記１以上のプロセッサは、前記訓練データにより訓練された前記分類モデルを使用して、複数のラベルにそれぞれ対応する運用サポートサンプル群それぞれの、前記第２空間における代表位置を決定し、前記訓練データにより訓練された前記分類モデルを使用して、運用ターゲットサンプルの前記第２空間における点の位置を決定し、前記運用ターゲットサンプルの前記第２空間における点の位置と前記代表位置との関係に基づいて、前記運用ターゲットサンプルのラベルを前記複数のラベルから選択する。
【発明の効果】
【０００７】
本発明の一態様によれば、教師ラベル付きサンプルが少ない又は存在しないラベルのサンプルを分類できる。
【図面の簡単な説明】
【０００８】
【図１】実施形態の画像分類装置の論理構成を模式的に示す
【図２】画像分類装置の動作の概要を示すフローチャートである。
【図３】画像分類装置を含む計算機システムの構成例を示す。
【図４】運用フェーズにおいてアクセスされる運用画像データベース、に格納されているデータの例を示す。
【図５】運用フェーズにおいて、選択された一つのターゲット画像を分類するフローチャートである。
【図６】サポート画像のメタ空間へのマッピングを模式的に示す。
【図７】ターゲット画像のメタ空間へのマッピングを模式的に示す。
【図８】訓練画像データベースに格納されているデータの例を示す。
【図９】訓練フェーズにおいて、選択された一つのエピソードにより分類モデルを更新するフローチャートである。
【図１０】訓練画像データのエピソードにおけるサポート画像データの埋め込み空間へのマッピング、及び、埋め込み空間からメタ空間へのマッピングの例を示す。
【図１１】モデル更新フェーズにおいて、分類モデルを更新するフローチャートである。
【図１２】オペレーションのための画像例を示す。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【００１０】
＜画像分類装置の論理構成＞
図１は、実施形態の画像分類装置の論理構成を模式的に示す。以下において、画像を分類する、つまり画像のラベルを判定する装置の例を説明するが、本開示の特徴は、画像と異なるターゲットの分類に適用することができる。
【００１１】
画像分類装置１００は、前処理部１１、メタ学習部１２、分類モデル１３、種類判定部１４、及びモデル更新部１５を含む。画像分類装置１００は、さらに、訓練画像データベース２１、メタ情報データベース２２、運用画像データベース２３、及び新たな訓練画像データベース２４を含む。
【００１２】
＜画像分類装置の動作概要＞
図２は、画像分類装置１００の動作の概要を示すフローチャートである。画像分類装置１００の動作フェーズは、訓練（学習）フェーズ、運用フェーズ及びモデル更新フェーズの三つのフェーズを含む。画像分類装置１００は、訓練フェーズにおいて、分類モデル１３のメタ学習を行う（Ｓ１０）。
【００１３】
画像分類装置１００は、運用フェーズにおいて、訓練された分類モデル１３を使用して、ターゲット画像の種類（ラベル）を判定する（Ｓ２０）。後述するように、ターゲット画像の分類のため、教師ラベル付き画像群である、サポート画像群が使用される。画像分類装置１００は、運用フェーズで得られる新たな訓練データを使用して、分類モデル１３を更新する（Ｓ３０）。
【００１４】
図１に戻って、訓練画像データベース２１は、分類モデル１３の訓練（学習）フェーズ使用される、訓練画像データを格納する。メタ情報データベース２２は、分類モデル１３の訓練により得られるメタ情報を格納する。運用画像データベース２３、運用フェーズにおいて分類すべきターゲット画像データ及び当該ターゲット画像データの分類のためのサポート画像データを格納している。新たな訓練画像データベース２４は、運用フェーズにおいて得られる、分類モデル１３の更新のための訓練画像データを格納している。新たな訓練画像データベース２４のデータは、訓練画像データベース２１に転送される。
【００１５】
前処理部１１は、分類モデル１３に入力するために画像データの前処理を行う。例えば、前処理部１１は、訓練画像データベース２１又は運用画像データベース２３から取得した画像から、関心領域（ＲＯＩ）を抽出する。前処理部１１は、訓練画像データベース２１又は運用画像データベース２３に格納されているデータから、後述するエピソードを生成してもよい。
【００１６】
メタ学習部１２は、分類モデル１３を訓練し、そのパラメータを更新する。分類モデル１３は、機械学習により訓練される（更新される）モデルである。分類モデル１３は、分類に使用できる任意の構成を有することができ、例えば、ニューラルネットワークである。後述するように、分類モデル１３は、入力された画像をメタ空間にマッピングし、メタ空間における位置を出力する。
【００１７】
種類判定部１４は、運用フェーズにおいて、ターゲット画像を入力された分類モデル１３の出力に基づき、ターゲット画像の種類（ラベル）を決定する。モデル更新部１５は、モデル更新フェーズにおいて、新たな訓練画像データベース２４のデータを使用して、分類モデル１３のパラメータを更新する。
【００１８】
＜画像分類装置を含むシステムの構成＞
図３は、画像分類装置１００を含む計算機システム（画像分類システム）の構成例を示す。画像分類装置１００は、プロセッサ１１０、メモリ１２０、補助記憶装置１３０、及びネットワーク（ＮＷ）インタフェース１４５を含む。上記構成要素は、バスによって互いに接続されている。メモリ１２０、補助記憶装置１３０又はこれらの組み合わせは記憶装置である。
【００１９】
メモリ１２０は、例えば半導体メモリから構成され、主にプログラムやデータを一時的に保持するために利用される。メモリ１２０が格納しているプログラムは、前処理プログラム１２１、画像分類モデル１２２、分類モデルプログラム１２３、種類判定プログラム１２４、及びモデル更新プログラム１２５を含む。
【００２０】
プロセッサ１１０は、メモリ１２０に格納されているプログラムに従って、様々な処理を実行する。プロセッサ１１０がプログラムに従って動作することで、様々な機能部が実現される。例えば、プロセッサ１１０は、上記プログラムそれぞれに従って、前処理部１１、メタ学習部１２、分類モデル１３、種類判定部１４、及びモデル更新部１５として動作する。
【００２１】
補助記憶装置１３０は、訓練画像データベース２１、メタ情報データベース２２、運用画像データベース２３、及び新たな訓練画像データベース２４を格納している。補助記憶装置１３０は、例えばハードディスクドライブやソリッドステートドライブなどの大容量の記憶装置から構成され、プログラムやデータを長期間保持するために利用される。
【００２２】
補助記憶装置１３０に格納されたプログラム及びデータが起動時又は必要時にメモリ１２０にロードされ、プログラムをプロセッサ１１０が実行することにより、画像分類装置１００の各種処理が実行される。したがって、以下において機能部により実行される処理は、プログラム、プロセッサ１１０又は画像分類装置１００による処理である。
【００２３】
ネットワークインタフェース１４５は、ネットワークとの接続のためのインタフェースである。図３の例において、画像分類装置１００は、ネットワークを介してクライアント装置１４４と通信する。クライアント装置１４４は、オペレータ（ユーザ）が使用する装置であって、ネットワーク介して、画像分類装置１００にアクセスする。
【００２４】
クライアント装置１４４は、例えば、一般的な計算機構成を有し、入力デバイス及び表示デバイス（出力デバイス）を含む。入力デバイスは、ユーザが画像分類装置１００に指示や情報などを入力するためのハードウェアデバイスである。表示デバイスは、入出力用の各種画像を表示するハードウェアデバイスである。
【００２５】
画像分類装置１００及びクライアント装置１４４は、１以上のプロセッサ及び１以上の記憶装置を含む計算機システムを構成する。クライアント装置１４４は省略されてもよく、入力デバイス及び表示デバイスが、ネットワークを介することなく、画像分類装置１００に接続されていてもよい。画像分類装置１００はネットワークを介して通信を行う複数の計算機を含んでもよく、複数のクライアント装置が計算機システムに含まれてよい。
【００２６】
＜運用フェーズ＞
まず、画像分類装置１００の運用フェーズを説明する。図４は、運用フェーズにおいてアクセスされる運用画像データベース２３、に格納されているデータの例を示す。運用画像データベース２３は、エピソード（画像データ）２３０を格納している。エピソード２３０は、ターゲット画像データ２３５及びサポート画像データ２３１を含む。ターゲット画像データ２３５は、分類すべきターゲット画像２３７、つまり、種類（ラベル）が未知であるターゲット画像２３７を含む。図４においては、ターゲット画像群のうち、一つのターゲット画像のみが例として符号２３７で指示されている。
【００２７】
サポート画像データ２３１は、ターゲット画像の分類のために使用されるサポート画像群を含む。サポート画像は、教師ラベル付き画像である。図４の例において、サポート画像データ２３１は、種類（ラベル）Ｌの画像群２３２Ｌ、種類Ｍの画像群２３２Ｍ、及び種類Ｎの画像群２３２Ｎを含む。各ターゲット画像２３７は、種類Ｌ、Ｍ又はＮのいずれかに分類される。本例はターゲット画像群を三種類に分類するが、種類の数は設計に応じて変化する。
【００２８】
後述するように、運用画像データベース２３に格納されるサポート画像データ２３１の種類（ラベル）が、分類モデル１３の訓練に使用される訓練画像データベース２１に含まれていない又は訓練画像データベース２１においてそれらのサンプル数が少なくてもよい。画像分類装置１００は、このような場合でも、運用フェーズにおいて、ターゲット画像を高い確度で分類することができる。
【００２９】
図５は、運用フェーズにおいて、選択された一つのターゲット画像２３７を分類するフローチャートである。運用フェーズにおいて、前処理部１１、分類モデル１３及び種類判定部１４が動作する。
【００３０】
まず、前処理部１１は、サポート画像データ（サポート画像群）２３１を運用画像データベース２３から取得し、サポート画像それぞれの前処理を実行する（Ｓ１０１）。前処理部１１は、さらに、未判定のターゲット画像２３７を運用画像データベース２３から選択し、ターゲット画像２３７の前処理を実行する（Ｓ１０２）。前処理部１１は、画像それぞれのＲＯＩを抽出する。
【００３１】
分類モデル１３は、前処理されたサポート画像を順次取得し、サポート画像を、関数Ｇ（Ｆ）によりメタ空間にマッピングする（Ｓ１０３）。分類モデル１３は、サポート画像のメタ空間における位置を出力する。
【００３２】
図６は、サポート画像のメタ空間へのマッピングを模式的に示す。分類モデル１３は、第１関数である関数Ｆ及び第２関数である関数Ｇを含む。関数Ｆは、画像を第１空間である埋め込み空間１３１にマッピングし、関数Ｇは、埋め込み空間１３１における点を第２空間であるメタ空間１３２にマッピングする。以下に説明する例において、埋め込み空間１３１とメタ空間１３２の次元は同一であるが、これらの次元が異なっていてもよい。
【００３３】
例えば、分類モデル１３は、種類Ｌの画像群２３２Ｌのサポート画像を順次取得し、関数Ｆによって、特徴量を抽出して埋め込み空間１３１にマッピングする。種類Ｌの画像群２３２Ｌは、埋め込み空間１３１において、点群１３５Ｌにマッピングされる。埋め込み空間１３１における点の位置はベクトルで表わされる。同様に、種類Ｍの画像群２３２Ｍは、埋め込み空間１３１において点群１３５Ｍにマッピングされ、種類Ｎの画像群２３２Ｎは、埋め込み空間１３１において点群１３５Ｎにマッピングされる。
【００３４】
分類モデル１３は、さらに、関数Ｇにより、埋め込み空間１３１における点群をメタ空間１３２にマッピングする。埋め込み空間１３１における種類Ｌの点群１３５Ｌは、メタ空間１３２において点群１３６Ｌにマッピングされる。埋め込み空間１３１における種類Ｍの点群１３５Ｍは、メタ空間１３２において点群１３６Ｍにマッピングされる。埋め込み空間１３１における種類Ｎの点群１３５Ｎは、メタ空間１３２において点群１３６Ｎにマッピングされる。分類モデル１３は、メタ空間１３２における点それぞれの位置ベクトルを出力する。
【００３５】
図５に戻って、分類モデル１３は、前処理されたターゲット画像２３７を取得し、ターゲット画像２３７を、関数Ｇ（Ｆ）によりメタ空間１３２にマッピングする（Ｓ１０４）。分類モデル１３は、ターゲット画像２３７のメタ空間における位置を出力する。
【００３６】
図７は、ターゲット画像２３７のメタ空間１３２へのマッピングを模式的に示す。分類モデル１３は、関数Ｆにより、ターゲット画像２３７の特徴量を抽出し、埋め込み空間１３１の点１３５Ｔにマッピングする。分類モデル１３は、関数Ｇにより、埋め込み空間１３１における点１３５Ｔをメタ空間１３２における点１３６Ｔにマッピングする。
【００３７】
図５に戻って、種類判定部１４は、メタ空間１３２における点群１３６Ｌ、１３６Ｍ及び１３６Ｎそれぞれの代表位置を決定する（Ｓ１０５）。本例において、種類判定部１４は、代表位置として、点群１３６Ｌ、１３６Ｍ及び１３６Ｎそれぞれの重心（位置の平均値）を決定する。代表位置は他の方法によって決定されてもよい。図６の例において、点群１３６Ｌ、１３６Ｍ及び１３６Ｎそれぞれの代表位置は、重心１３８Ｌ、１３８Ｍ及び１３８Ｎである。
【００３８】
なお、種類判定部１４は、埋め込み空間１３１における点群１３５Ｌ、点群１３５Ｍ、点群１３５Ｎそれぞれの重心をメタ空間１３２にマッピングした値を、メタ空間における種類Ｌ、Ｍ及びＮそれぞれの重心として使用してもよい。
【００３９】
種類判定部１４は、ターゲット画像２３７の点１３６Ｔの位置と、種類Ｌの重心１３８Ｌ、種類Ｍの重心１３８Ｌ及び種類Ｎの重心１３８Ｎの位置と、の関係に基づき、ターゲット画像２３７の種類を決定する。例えば、種類判定部１４は、ターゲット画像２３７の点１３６Ｔと、種類Ｌの重心１３８Ｌ、種類Ｍの重心１３８Ｌ及び種類Ｎの重心１３８Ｎとの距離を計算し、最も近い重心を決定する（Ｓ１０６）。種類判定部１４は、ターゲット画像２３７の点１３６Ｔに最も近い重心の種類に、ターゲット画像２３７を分類する（Ｓ１０７）。
【００４０】
図７の例において、点１３６Ｔと、重心１３８Ｌ、１３８Ｍ及び１３８Ｎの距離は、それぞれ、符号Ｌ＿ＬＴ、Ｌ＿ＭＴ及びＬ＿ＮＴで指示されている。図７の例において、点１３６Ｔと重心１３８Ｍとの間の距離Ｌ＿ＭＴが、最も近い。したがって、ターゲット画像２３７は、種類Ｍに分類される。
【００４１】
図５に戻って、画像分類装置１００は、ターゲット画像２３７それぞれについて、ステップＳ１０２、Ｓ１０４、Ｓ１０６及びＳ１０７を実行する。種類判定部１４は、サポート画像データ２３１を、新たな訓練画像データベース２４に格納する。さらに、種類判定部１４は、ターゲット画像２３７それぞれを、決定した種類に関連付けて、新たな訓練画像データベース２４に格納する。
【００４２】
ターゲット画像２３７を新たな訓練画像データベース２４に格納する前に、オペレータがクライアント装置において１４４、ターゲット画像２３７の種類をチェックしてもよい（Ｓ１０８）。新たな訓練画像データベース２４のデータは、分類モデル１３の更新（訓練を含む）に使用されるため、オペレータによるチェックにより、分類モデル１３をより適切に更新できる。
【００４３】
＜訓練フェーズ＞
以下において、画像分類装置１００の訓練フェーズを説明する。訓練フェーズは、訓練画像データベース２１に格納されている訓練データを使用して、分類モデル１３を訓練する、つまり、分類モデル１３のパラメータを更新する。
【００４４】
図８は、訓練画像データベース２１に格納されているデータの例を示す。訓練画像データベース２１は、複数のエピソードを格納している。図８は、例として、エピソードＡ２１０Ａ〜エピソードＤ２１０Ｄを示す。図４を参照して説明した運用画像データベース２３と同様に、エピソードは、サポート画像データ２１１とターゲット画像データ２１５とを含む。
【００４５】
図８の例において、エピソードＡ２１０Ａのサポート画像データ２１１は、種類（ラベル）Ａの画像群２１２Ａ、種類Ｂの画像群２１２Ｂ、及び種類Ｃの画像群２１２Ｃを含む。種類の数は、運用画像データベース２３において分類される種類の数と同一である。エピソードＡ２１０Ａのターゲット画像データ２１５は、種類Ａの画像群２１６Ａ、種類Ｂの画像群２１６Ｂ、及び種類Ｃの画像群２１６Ｃを含む。ターゲット画像データ２１５の各画像は、運用画像データベース２３と異なり、教師ラベル付きの画像である。各種類（ラベル）のサポート画像のサンプル数は、ターゲット画像のサンプル数よりも多い。
【００４６】
他のエピソードも、エピソードＡ２１０Ａと同様に、特定の種類の組のサポート画像データ２１１及びターゲット画像データ２１５を含む。エピソードは、それぞれ、異なる種類の組のデータを含む。図８の例において、エピソードＢ２１０Ｂの種類の組は、種類Ｂ、種類Ｃ及び種類Ｄで構成されている。エピソードＣ２１０Ｃの種類の組は、種類Ｄ、種類Ｅ及び種類Ｆで構成されている。エピソードＤ２１０Ｄの種類の組は、種類Ａ、種類Ｃ及び種類Ｄで構成されている。
【００４７】
図９は、訓練フェーズにおいて、選択された一つのエピソード２１０により分類モデル１３を更新するフローチャートである。画像分類装置１００は、訓練画像データベース２１に格納されているエピソードそれぞれについて、図９のフローチャートの処理を実行する。訓練フェーズにおいて、前処理部１１、メタ学習部１２及び分類モデル１３が動作する。
【００４８】
前処理部１１は、エピソードに含まれる全てのサポート画像及びターゲット画像それぞれの前処理を実行する（Ｓ２００）。分類モデル１３は、前処理された画像それぞれを関数Ｆにより埋め込み空間１３１にマッピングする（Ｓ２０１）。具体的には、分類モデル１３は、画像それぞれの特徴量を抽出し、それらを埋め込み空間１３１にマッピングする。
【００４９】
メタ学習部１２は、関数Ｆの損失及び関数Ｇの損失をそれぞれ計算する。まず、関数Ｆの損失の計算から説明する。メタ学習部１２は、サポート画像群の埋め込み空間１３１における複数種類の重心を算出する（Ｓ２０２）。図１０は、訓練画像データのエピソードＡ２１０Ａにおけるサポート画像データ２１１の埋め込み空間１３１へのマッピング、及び、埋め込み空間１３１からメタ空間１３２へのマッピングの例を示す。
【００５０】
サポート画像データ２１１は、種類Ａの画像群２１２Ａ、種類Ｂの画像群２１２Ｂ、及び種類Ｃの画像群２１２Ｃを含む。関数Ｆにより、種類Ａの画像群２１２Ａは、埋め込み空間１３１における点群１３５Ａにマッピングされる。点群１３５Ａの重心１３７Ａの位置（ベクトル）は、点群１３５Ａの位置（ベクトル）の平均値である。
【００５１】
種類Ｂの画像群２１２Ｂは、埋め込み空間１３１における点群１３５Ｂにマッピングされる。点群１３５Ｂの重心１３７Ｂの位置は、点群１３５Ｂの位置の平均値である。種類Ｃの画像群２１２Ｃは、埋め込み空間１３１における点群１３５Ｃにマッピングされる。点群１３５Ｃの重心１３７Ｃの位置は、点群１３５Ｃの位置の平均値である。
【００５２】
図９に戻って、メタ学習部１２は、ターゲット画像それぞれの埋め込み空間１３１にマッピングされた点と、ステップ２０２で算出したサポート画像データ２１１の重心それぞれとの位置関係を特定する（Ｓ２０３）。図８及び１０に示すエピソードＡ２１０Ａの例において、メタ学習部１２は、画像群２１６Ａ、２１６Ｂ及び２１６Ｃそれぞれの画像の埋め込み空間における点、並びに、重心１３７Ａ、１３７Ｂ及び１３７Ｃの位置を特定する。
【００５３】
次に、メタ学習部１２は、埋め込み空間１３１におけるターゲット画像それぞれの点と、サポート画像データ２１１の重心との間の位置関係の基づき、埋め込み空間における損失値を計算する（２０４）。損失の計算方法は設計に依存する。例えば、メタ学習部１２は、分類モデル１３の更新により、各種類のターゲット画像の埋め込み空間１３１におけるにおける位置が当該種類のサポート画像の重心に近くなり、他の種類のサポート画像の重心から遠くなるように、損失を計算する。上述のように、ターゲット画像はラベル付き画像であり、その種類（ラベル）は予め分かっている。
【００５４】
次に、関数Ｇの損失の計算を説明する。メタ学習部１２は、関数Ｆにより埋め込み空間１３１にマッピングされているサポート画像データの点を、関数Ｇによりメタ空間１３２にマッピングする（Ｓ２１２）。メタ学習部１２は、サポート画像データの点に加え、ターゲット画像データの点をメタ空間１３２にマッピングしてもよい。図１０の例において、点群１３６Ａは種類Ａの画像のマッピングされた点であり、点群１３６Ｂは種類Ｂの画像のマッピングされた点であり、点群１３６Ｃは種類Ｃの画像のマッピングされた点である。
【００５５】
次に、メタ学習部１２は、埋め込み空間１３１における、種類（ラベル）それぞれの重心を算出する（Ｓ２１３）。図１０の例において、メタ学習部１２は、埋め込み空間１３１において、点群１３５Ａ、１３５Ｂ及び１３５Ｃから、それぞれ、重心１３７Ａ、１３７Ｂ及び１３７Ｃを算出する。
【００５６】
メタ学習部１２は、メタ空間１３２において、種類それぞれの現在のエピソードの重心を算出する（Ｓ２１４）。エピソードＡ２１０Ａの例において、メタ学習部１２は、メタ空間１３２における種類Ａ、Ｂ及びＣの重心を関数Ｇ＿１により算出する。各重心の算出（関数Ｇ＿１）の一例は、メタ空間１３２における前回エピソードの重心と、埋め込み空間１３１における現在エピソードの重心とから、決定する。
【００５７】
過去のエピソードの各種類のメタ空間１３２における重心の情報は、メタ情報データベース２２に格納されている。メタ情報データベース２２は、過去のエピソードの各種類の埋め込み空間における重心の情報も格納していてよい。エピソードの各種類の重心は、当該エピソードによる更新後の分類モデル１３によって、当該エピソードの各種類の画像をメタ空間１３２にマッピングし、メタ空間１３２における各種類の点群の位置の平均値を計算することで得られる。メタ空間１３２における重心は、埋め込み空間１３１における重心をメタ空間１３２にマッピングした値でもよい。
【００５８】
メタ学習部１２は、メタ空間１３２における前回エピソードでの複数の重心から、埋め込み空間１３１における現在エピソードの各種類の重心に最も近い重心を選択する。メタ空間１３２における選択された前回エピソードの重心が、現在エピソードの各種類の重心である。
【００５９】
図１０の例において、前回エピソードのメタ空間１３２における各種類の重心は、重心１３８Ｌ１、１３８Ｌ２及び１３８Ｌ３である。上述のように、エピソードの種類の組は、互いに異なっており、重心１３８Ｌ１、１３８Ｌ２及び１３８Ｌ３の種類の組は、種類Ａ、Ｂ及びＣの組とは異なる。図１０の例において、重心１３８Ｌ１が重心１３７Ａに最も近く、重心１３８Ｌ２が重心１３７Ｂに最も近く、重心１３８Ｌ３が重心１３７Ｃに最も近い。したがって、メタ空間１３２における現在エピソードの種類Ａの重心は重心１３８Ｌ１であり、種類Ｂの重心は重心１３８Ｌ２であり、種類Ｃの重心は重心１３８Ｌ３である。
【００６０】
他の例において、メタ学習部１２は、過去の複数のエピソードにおける各種類のメタ空間１３２における重心と、現在エピソードの埋め込み空間１３１における各種類の重心に基づき、現在エピソードのメタ空間１３２における各種類の重心を決定する。例えば、メタ学習部１２は、複数エピソードから、最も距離が近い重心を選択し、それらの重心の平均値を計算する。これにより、種類の組を構成する種類の数（図１０の例において３）と一致する数の重心が得られる。
【００６１】
他の例において、メタ学習部１２は、埋め込み空間１３１における現在エピソードの重心に代えて、埋め込み空間１３１における重心をメタ空間１３２にマッピングした点を使用してもよい。例えば、図１０の例において、メタ学習部１２は、重心１３７Ａを関数Ｇによってメタ空間１３２にマッピングする。メタ学習部１２は、重心１３８Ｌ１、１３８Ｌ２及び１３８Ｌ３から、マッピングされたメタ空間１３２における点に最も近い重心を選択する。
【００６２】
図９を参照して、メタ学習部１２は、メタ空間１３２における損失値を計算する（Ｓ２１５）。一例において、メタ学習部１２は、二つの条件における損失値を組み合わせる。第１の条件は、ステップＳ２１４で過去のエピソードに基づき決定したメタ空間１３２における重心と、ステップＳ２１２でマッピングしたメタ空間１３２における各種類の点群の平均値（重心）とに基づく。例えば、第１の条件は、これらの差分を最小にする。
【００６３】
例えば、図１０の例において、ステップＳ２１４で決定したメタ空間１３２における重心は、重心１３８Ｌ１、１３８Ｌ２及び１３８Ｌ３である。ステップＳ２１２でマッピングした点群は、点群１３６Ａ、１３６Ｂ及び１３６Ｃである。メタ学習部１２は、点群１３６Ａの位置の平均値と、重心１３８Ｌ１の位置との距離（差分）を計算する。同様に、メタ学習部１２は、点群１３６Ｂの位置の平均値と重心１３８Ｌ２の位置との距離、及び、点群１３６Ｃの位置の平均値と重心１３８Ｌ３の位置との距離を計算する。例えば、これら三つの距離の和又は平均値が、第１の条件における損失値を表す。
【００６４】
第２の条件を説明する。第２の条件は、ステップＳ２１４で決定したメタ空間１３２における重心と、ステップＳ２１２でメタ空間１３２にマッピングした点との関係に基づく。例えば、ステップＳ２１４で決定したメタ空間１３２における重心と、ステップＳ２１２でメタ空間１３２にマッピングした同一種類の点との距離の平均値をＡ１とする。ステップＳ２１４で計算したメタ空間１３２における重心間の距離の平均値をＡ２とする。第２の条件は、平均値Ａ２に対する平均値Ａ１の割合（Ａ１／Ａ２）を、最小にする。
【００６５】
例えば、図１０の例において、平均値Ａ１は、重心１３８Ｌ１と点群１３６Ａの点それぞれとの間の距離、重心１３８Ｌ２と点群１３６Ｂの点それぞれとの間の距離、重心１３８Ｌ３と点群１３６Ｃの点それぞれとの間の距離、の平均値である。平均値Ａ２は、重心１３８Ｌ１と重心１３８Ｌ２との間の距離、重心１３８Ｌ１と重心１３８Ｌ３との間の距離、重心１３８Ｌ２と重心１３８Ｌ３との間の距離、の平均値である。
【００６６】
割合（Ａ１／Ａ２）が、第２の条件における損失値を表す。第１の条件の損失値と第２の条件の損失値の組み合わせは、例えば、これら損失値とそれぞれの重みとの積和で表わされる。なお、重心１３８Ｌ１、１３８Ｌ２、１３８Ｌ３に代えて、点群１３６Ａ、１３６Ｂ、１３６Ｃから得られる重心を使用してもよい。
【００６７】
関数Ｆ及びＧそれぞれの損失値を計算した後、メタ学習部１２は、これら損失値を組み合わせる（Ｓ２２１）。例えば、メタ学習部１２は、これら損失値と重みの積和を計算する。メタ学習部１２は、組み合わせた損失値を使用して、例えば誤差逆伝播により分類モデル１３を更新する（Ｓ２２２）。メタ学習部１２は、ステップＳ２００〜Ｓ２２２を複数回繰り返す。メタ学習部１２は、訓練後の分類モデル１３によりエピソードのそれぞれの種類の画像群をメタ空間１３２にマッピングし、それらの重心（平均）を算出してメタ情報データベース２２に格納する。メタ空間１３２における重心は、埋め込み空間１３１における重心をマッピングすることで得てもよい。
【００６８】
分類モデル１３は、画像を関数Ｆにより埋め込み空間１３１にマッピングした後、関数Ｇによってメタ空間１３２にマッピングする。上述のように、関数Ｆは、埋め込み空間１３１において異なる種類の画像をより適切に分類できるように訓練（更新）される。具体的には、埋め込み空間１３１におけるサポート画像データの異なる種類の重心が、ターゲット画像のマッピングされた点を分類できるように、関数Ｆが訓練される。
【００６９】
上述のように、メタ学習部１２は、複数のエピソードによって、分類モデル１３を訓練する。複数のエピソードの少なくとも一部は、それぞれ、種類（ラベル）の異なる組み合わせを有する。埋め込み空間１３１からメタ空間１３２へマッピングする関数Ｇは、ドメイン適用を目的とする関数である。
【００７０】
上述のように、関数Ｇの訓練において、現在のエピソードのメタ空間１３２における重心は、現在のエピソードの埋め込み空間１３１における重心と、過去の（異なる種類の）１又は複数のエピソードのメタ空間１３２における重心と、に基づき決定される。また、第１の条件は、関数Ｇ（Ｆ）により画像をマッピングした点の重心と上記異なる種類の画像の重心とを近づける。これにより、メタ空間１３２において、異なる種類の画像に対して分類のためのより適切な重心が決まるようにマッピングできる。
【００７１】
第２の条件は、メタ空間１３２において、同一エピソードでの重心の距離を大きくし、各種類の重心と画像の点との距離を小さくする。これにより、関数Ｇは、メタ空間１３２において、エピソード内の異なる種類の画像をより適切に分類できるように訓練（更新）される。
【００７２】
上述のように、種類の異なる組み合わせエピソードによって、メタ空間１３２へのマッピングを行う分類モデル１３を訓練することで、未知の種類（ラベル）又は訓練データにおけるサンプル数が少ない種類の画像を、より適切に分類することができるようになる。
【００７３】
＜モデル更新フェーズ＞
以下において、画像分類装置１００のモデル更新フェーズを説明する。モデル更新フェーズは、新たな訓練画像データベース２４及びメタ情報データベース２２に格納されている訓練データを使用して、分類モデル１３のパラメータを更新する。新たな訓練画像データベース２４は、運用フェーズにおいて使用されたエピソードを格納している。メタ情報データベース２２は、訓練フェーズにおける１又は複数のエピソードのメタ空間１３２における重心の情報を格納している。
【００７４】
図１１は、モデル更新フェーズにおいて、分類モデル１３を更新するフローチャートである。モデル更新部１５は、新たな訓練画像データベース２４からエピソードを取得する。分類モデル１３は、エピソードの異なる種類それぞれのサポード画像群を、関数Ｆにより埋め込み空間１３１にマッピングする（Ｓ３０１）。分類モデル１３は、埋め込み空間１３１における点群を、関数Ｇによりメタ空間１３２にマッピングする（Ｓ３０２）。モデル更新部１５は、メタ空間１３２における異なる種類それぞれの重心を算出する（Ｓ３０３）。
【００７５】
モデル更新部１５は、ステップＳ３０３において得られた重心位置と、メタ情報データベース２２に格納されている重心位置とに基づき、損失値を計算する（Ｓ３０４）。例えば、損失値は、例えば、重心間の距離の平均値である。モデル更新部１５は、ステップＳ３０３で算出した重心位置とメタ情報データベース２２に格納されている重心位置との距離が小さくなるように、逆誤差伝播によって分類モデル１３の関数Ｇのパラメータを更新する（Ｓ３０５）。
【００７６】
なお、モデル更新部１５は、関数Ｇに加えて、関数Ｆも更新してもよい。更新のためのデータは多くないため、関数Ｇのみを更新することで、より適切に分類モデル１３を更新することができる。上記例と異なり、埋め込み空間１３１の重心をメタ空間１３２にマッピングしてメタ空間１３２における重心を得てもよい。
【００７７】
＜ユーザインタフェース＞
以下において、オペレータ（ユーザ）が使用するグラフィカルユーザインタフェースの一例を説明する。図１２は、オペレーションのための画像例４４０を示す。クライアント装置１４４は、その表示装置において当該画像を表示する。画像４４０は、運用フェーズにおける製品の分類をモニタするための画像である。
【００７８】
「オペレータチェック」ボタン４４５が選択されると、最近分類結果４４１が表示される。最近分類結果４４１は、サンプルの種類のリストを含む。最近分類結果４４１は、さらに、各サンプルに対応するアイコン４４２を含む。いずれかのサンプルのアイコン４４２が選択され、さらに、「画像拡大」ボタン４４３が選択されると、クライアント装置１４４は、選択されたサンプルの拡大画像を表示する。オペレータは、サンプルの拡大画像をチェックし、種類が不正確である場合、クライアント装置１４４において、その種類を正しい種類に訂正する。
【００７９】
「データベース更新」ボタン４４６が選択されると、最近分類結果４４１に含まれるサンプルの情報が、サポート画像データと共に、新たな訓練画像データベース２４に追加される。「モデル更新」ボタン４４７が選択されると、モデル更新部１５は、分類モデル１３の更新のための処理を開始する。
【００８０】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００８１】
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード等の記録媒体に置くことができる。
【００８２】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００８３】
１１  前処理部、１２  メタ学習部、１３  分類モデル、１４  種類判定部、１５  モデル更新部、２２  メタ情報データベース、２３  運用画像データベース、２４  訓練画像データベース、２４  画像データベース、１００  画像分類装置、１１０  プロセッサ、１２０  メモリ、１２１  前処理プログラム、１２２  画像分類モデル、１２３  分類モデルプログラム、１２４  種類判定プログラム、１２５  モデル更新プログラム、１３０  補助記憶装置、１３１  埋め込み空間、１３２  メタ空間、１３５Ａ、１３５Ｂ、１３５Ｃ、１３５Ｌ、１３５Ｍ、１３５Ｎ  点群、１３５Ｔ  点、１３６Ａ、１３６Ｂ、１３６Ｃ、１３６Ｌ、１３６Ｍ、１３６Ｎ  点群、１３６Ｔ  点、１３７Ａ、１３７Ｂ、１３７Ｃ  重心、１３７Ｌ、１３７Ｌ１、１３７Ｌ２、１３７Ｌ３、１３７、１３７、１３７重心、１３８Ｌ、１３８Ｍ、１３８Ｎ、１３８Ｌ１、１３８Ｌ２、１３８Ｌ３  重心、１４４  クライアント装置、１４５  ネットワークインタフェース、２１０  エピソード、２１１  サポート画像データ、２１２Ａ、２１２Ｂ、２１２Ｃ  サポート画像群、２１５  ターゲット画像データ、２１６Ａ、２１６Ｂ、２１６Ｃ  ターゲット画像群、２３０  エピソード、２３１  サポート画像データ、２３２Ｌ、２３２Ｍ、２３２Ｎ  サポート画像群、２３５  ターゲット画像データ、２３７  ターゲット画像、２１０Ａ、２１０Ｂ、２１０Ｃ、２１０Ｄ  エピソード、Ｌ＿ＬＴ、Ｌ＿ＭＴ、Ｌ＿ＮＴ  距離
【図１】
2020071694.tif 000003
【図２】
2020071694.tif 000004
【図３】
2020071694.tif 000005
【図４】
2020071694.tif 000006
【図５】
2020071694.tif 000007
【図６】
2020071694.tif 000008
【図７】
2020071694.tif 000009
【図８】
2020071694.tif 000010
【図９】
2020071694.tif 000011
【図１０】
2020071694.tif 000012
【図１１】
2020071694.tif 000013
【図１２】
2020071694.tif 000014