JP2020071694A - 計算機システム - Google Patents
計算機システム Download PDFInfo
- Publication number
- JP2020071694A JP2020071694A JP2018205675A JP2018205675A JP2020071694A JP 2020071694 A JP2020071694 A JP 2020071694A JP 2018205675 A JP2018205675 A JP 2018205675A JP 2018205675 A JP2018205675 A JP 2018205675A JP 2020071694 A JP2020071694 A JP 2020071694A
- Authority
- JP
- Japan
- Prior art keywords
- space
- classification model
- training
- image
- episodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】教師ラベル付きサンプルが存在しないラベルのサンプルを分類する。【解決手段】分類モデルの訓練データは、複数のエピソードを含む。複数のエピソードのそれぞれは、異なるラベルが付けられた複数の訓練サポードサンプル群と、当該異なるラベルが付けられた複数の訓練ターゲットサンプル群とを含む。複数のエピソードのラベルの組み合わせは、互いに異なる。分類モデルは、入力されたデータを第1空間にマッピングする第1関数と、第1空間における点を第2空間にマッピングする第2関数と、を含む。計算機システムは、分類モデルを使用して、複数のラベルにそれぞれ対応する運用サポートサンプル群それぞれの第2空間における代表位置と、運用ターゲットサンプルの前記第2空間における点の位置とを決定し、それらの関係に基づいて、運用ターゲットサンプルのラベルを決定する。【選択図】図6
Description
本発明は、計算機システムに関する。
深層学習は、音声、画像、言語等を処理するタスクにおいて高い性能を示している。しかし、深層学習は、大量の教師ラベル付きサンプルを必要とする。そこで、少ない教師ラベル付きサンプルで学習する方法、又は、他のデータセットのラベルを流用することで学習を行う方法が模索されている。
そのような学習手法の一つであるドメイン適応は、十分な教師ラベル付きサンプルからなるドメインから得られた知識を、十分な情報がない他のドメインに適用することで、十分な情報がないドメインにおいて高い精度で働くモデルを学習する。
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"
しかし、ドメイン適応の研究はまだ十分に進んでいない。したがって、教師ラベル付きサンプルが少ない又は存在しないラベルのサンプルを分類できる機械学習システムが望まれる。
本発明の一態様は、1以上のプロセッサと、前記1以上のプロセッサが実行するプログラムを含むデータを格納する1以上の記憶装置と、を含む計算機システムであって、前記1以上の記憶装置は、分類モデルの訓練データを格納し、前記訓練データは、複数のエピソードを含み、前記複数のエピソードのそれぞれは、異なるラベルが付けられた複数の訓練サポードサンプル群と、前記異なるラベルが付けられた複数の訓練ターゲットサンプル群と、を含み、前記複数のエピソードのラベルの組み合わせは、互いに異なり、前記分類モデルは、入力されたデータを第1空間にマッピングする第1関数と、前記第1空間における点を第2空間にマッピングする第2関数と、を含み、前記1以上のプロセッサは、前記訓練データにより訓練された前記分類モデルを使用して、複数のラベルにそれぞれ対応する運用サポートサンプル群それぞれの、前記第2空間における代表位置を決定し、前記訓練データにより訓練された前記分類モデルを使用して、運用ターゲットサンプルの前記第2空間における点の位置を決定し、前記運用ターゲットサンプルの前記第2空間における点の位置と前記代表位置との関係に基づいて、前記運用ターゲットサンプルのラベルを前記複数のラベルから選択する。
本発明の一態様によれば、教師ラベル付きサンプルが少ない又は存在しないラベルのサンプルを分類できる。
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
<画像分類装置の論理構成>
図1は、実施形態の画像分類装置の論理構成を模式的に示す。以下において、画像を分類する、つまり画像のラベルを判定する装置の例を説明するが、本開示の特徴は、画像と異なるターゲットの分類に適用することができる。
図1は、実施形態の画像分類装置の論理構成を模式的に示す。以下において、画像を分類する、つまり画像のラベルを判定する装置の例を説明するが、本開示の特徴は、画像と異なるターゲットの分類に適用することができる。
画像分類装置100は、前処理部11、メタ学習部12、分類モデル13、種類判定部14、及びモデル更新部15を含む。画像分類装置100は、さらに、訓練画像データベース21、メタ情報データベース22、運用画像データベース23、及び新たな訓練画像データベース24を含む。
<画像分類装置の動作概要>
図2は、画像分類装置100の動作の概要を示すフローチャートである。画像分類装置100の動作フェーズは、訓練(学習)フェーズ、運用フェーズ及びモデル更新フェーズの三つのフェーズを含む。画像分類装置100は、訓練フェーズにおいて、分類モデル13のメタ学習を行う(S10)。
図2は、画像分類装置100の動作の概要を示すフローチャートである。画像分類装置100の動作フェーズは、訓練(学習)フェーズ、運用フェーズ及びモデル更新フェーズの三つのフェーズを含む。画像分類装置100は、訓練フェーズにおいて、分類モデル13のメタ学習を行う(S10)。
画像分類装置100は、運用フェーズにおいて、訓練された分類モデル13を使用して、ターゲット画像の種類(ラベル)を判定する(S20)。後述するように、ターゲット画像の分類のため、教師ラベル付き画像群である、サポート画像群が使用される。画像分類装置100は、運用フェーズで得られる新たな訓練データを使用して、分類モデル13を更新する(S30)。
図1に戻って、訓練画像データベース21は、分類モデル13の訓練(学習)フェーズ使用される、訓練画像データを格納する。メタ情報データベース22は、分類モデル13の訓練により得られるメタ情報を格納する。運用画像データベース23、運用フェーズにおいて分類すべきターゲット画像データ及び当該ターゲット画像データの分類のためのサポート画像データを格納している。新たな訓練画像データベース24は、運用フェーズにおいて得られる、分類モデル13の更新のための訓練画像データを格納している。新たな訓練画像データベース24のデータは、訓練画像データベース21に転送される。
前処理部11は、分類モデル13に入力するために画像データの前処理を行う。例えば、前処理部11は、訓練画像データベース21又は運用画像データベース23から取得した画像から、関心領域(ROI)を抽出する。前処理部11は、訓練画像データベース21又は運用画像データベース23に格納されているデータから、後述するエピソードを生成してもよい。
メタ学習部12は、分類モデル13を訓練し、そのパラメータを更新する。分類モデル13は、機械学習により訓練される(更新される)モデルである。分類モデル13は、分類に使用できる任意の構成を有することができ、例えば、ニューラルネットワークである。後述するように、分類モデル13は、入力された画像をメタ空間にマッピングし、メタ空間における位置を出力する。
種類判定部14は、運用フェーズにおいて、ターゲット画像を入力された分類モデル13の出力に基づき、ターゲット画像の種類(ラベル)を決定する。モデル更新部15は、モデル更新フェーズにおいて、新たな訓練画像データベース24のデータを使用して、分類モデル13のパラメータを更新する。
<画像分類装置を含むシステムの構成>
図3は、画像分類装置100を含む計算機システム(画像分類システム)の構成例を示す。画像分類装置100は、プロセッサ110、メモリ120、補助記憶装置130、及びネットワーク(NW)インタフェース145を含む。上記構成要素は、バスによって互いに接続されている。メモリ120、補助記憶装置130又はこれらの組み合わせは記憶装置である。
図3は、画像分類装置100を含む計算機システム(画像分類システム)の構成例を示す。画像分類装置100は、プロセッサ110、メモリ120、補助記憶装置130、及びネットワーク(NW)インタフェース145を含む。上記構成要素は、バスによって互いに接続されている。メモリ120、補助記憶装置130又はこれらの組み合わせは記憶装置である。
メモリ120は、例えば半導体メモリから構成され、主にプログラムやデータを一時的に保持するために利用される。メモリ120が格納しているプログラムは、前処理プログラム121、画像分類モデル122、分類モデルプログラム123、種類判定プログラム124、及びモデル更新プログラム125を含む。
プロセッサ110は、メモリ120に格納されているプログラムに従って、様々な処理を実行する。プロセッサ110がプログラムに従って動作することで、様々な機能部が実現される。例えば、プロセッサ110は、上記プログラムそれぞれに従って、前処理部11、メタ学習部12、分類モデル13、種類判定部14、及びモデル更新部15として動作する。
補助記憶装置130は、訓練画像データベース21、メタ情報データベース22、運用画像データベース23、及び新たな訓練画像データベース24を格納している。補助記憶装置130は、例えばハードディスクドライブやソリッドステートドライブなどの大容量の記憶装置から構成され、プログラムやデータを長期間保持するために利用される。
補助記憶装置130に格納されたプログラム及びデータが起動時又は必要時にメモリ120にロードされ、プログラムをプロセッサ110が実行することにより、画像分類装置100の各種処理が実行される。したがって、以下において機能部により実行される処理は、プログラム、プロセッサ110又は画像分類装置100による処理である。
ネットワークインタフェース145は、ネットワークとの接続のためのインタフェースである。図3の例において、画像分類装置100は、ネットワークを介してクライアント装置144と通信する。クライアント装置144は、オペレータ(ユーザ)が使用する装置であって、ネットワーク介して、画像分類装置100にアクセスする。
クライアント装置144は、例えば、一般的な計算機構成を有し、入力デバイス及び表示デバイス(出力デバイス)を含む。入力デバイスは、ユーザが画像分類装置100に指示や情報などを入力するためのハードウェアデバイスである。表示デバイスは、入出力用の各種画像を表示するハードウェアデバイスである。
画像分類装置100及びクライアント装置144は、1以上のプロセッサ及び1以上の記憶装置を含む計算機システムを構成する。クライアント装置144は省略されてもよく、入力デバイス及び表示デバイスが、ネットワークを介することなく、画像分類装置100に接続されていてもよい。画像分類装置100はネットワークを介して通信を行う複数の計算機を含んでもよく、複数のクライアント装置が計算機システムに含まれてよい。
<運用フェーズ>
まず、画像分類装置100の運用フェーズを説明する。図4は、運用フェーズにおいてアクセスされる運用画像データベース23、に格納されているデータの例を示す。運用画像データベース23は、エピソード(画像データ)230を格納している。エピソード230は、ターゲット画像データ235及びサポート画像データ231を含む。ターゲット画像データ235は、分類すべきターゲット画像237、つまり、種類(ラベル)が未知であるターゲット画像237を含む。図4においては、ターゲット画像群のうち、一つのターゲット画像のみが例として符号237で指示されている。
まず、画像分類装置100の運用フェーズを説明する。図4は、運用フェーズにおいてアクセスされる運用画像データベース23、に格納されているデータの例を示す。運用画像データベース23は、エピソード(画像データ)230を格納している。エピソード230は、ターゲット画像データ235及びサポート画像データ231を含む。ターゲット画像データ235は、分類すべきターゲット画像237、つまり、種類(ラベル)が未知であるターゲット画像237を含む。図4においては、ターゲット画像群のうち、一つのターゲット画像のみが例として符号237で指示されている。
サポート画像データ231は、ターゲット画像の分類のために使用されるサポート画像群を含む。サポート画像は、教師ラベル付き画像である。図4の例において、サポート画像データ231は、種類(ラベル)Lの画像群232L、種類Mの画像群232M、及び種類Nの画像群232Nを含む。各ターゲット画像237は、種類L、M又はNのいずれかに分類される。本例はターゲット画像群を三種類に分類するが、種類の数は設計に応じて変化する。
後述するように、運用画像データベース23に格納されるサポート画像データ231の種類(ラベル)が、分類モデル13の訓練に使用される訓練画像データベース21に含まれていない又は訓練画像データベース21においてそれらのサンプル数が少なくてもよい。画像分類装置100は、このような場合でも、運用フェーズにおいて、ターゲット画像を高い確度で分類することができる。
図5は、運用フェーズにおいて、選択された一つのターゲット画像237を分類するフローチャートである。運用フェーズにおいて、前処理部11、分類モデル13及び種類判定部14が動作する。
まず、前処理部11は、サポート画像データ(サポート画像群)231を運用画像データベース23から取得し、サポート画像それぞれの前処理を実行する(S101)。前処理部11は、さらに、未判定のターゲット画像237を運用画像データベース23から選択し、ターゲット画像237の前処理を実行する(S102)。前処理部11は、画像それぞれのROIを抽出する。
分類モデル13は、前処理されたサポート画像を順次取得し、サポート画像を、関数G(F)によりメタ空間にマッピングする(S103)。分類モデル13は、サポート画像のメタ空間における位置を出力する。
図6は、サポート画像のメタ空間へのマッピングを模式的に示す。分類モデル13は、第1関数である関数F及び第2関数である関数Gを含む。関数Fは、画像を第1空間である埋め込み空間131にマッピングし、関数Gは、埋め込み空間131における点を第2空間であるメタ空間132にマッピングする。以下に説明する例において、埋め込み空間131とメタ空間132の次元は同一であるが、これらの次元が異なっていてもよい。
例えば、分類モデル13は、種類Lの画像群232Lのサポート画像を順次取得し、関数Fによって、特徴量を抽出して埋め込み空間131にマッピングする。種類Lの画像群232Lは、埋め込み空間131において、点群135Lにマッピングされる。埋め込み空間131における点の位置はベクトルで表わされる。同様に、種類Mの画像群232Mは、埋め込み空間131において点群135Mにマッピングされ、種類Nの画像群232Nは、埋め込み空間131において点群135Nにマッピングされる。
分類モデル13は、さらに、関数Gにより、埋め込み空間131における点群をメタ空間132にマッピングする。埋め込み空間131における種類Lの点群135Lは、メタ空間132において点群136Lにマッピングされる。埋め込み空間131における種類Mの点群135Mは、メタ空間132において点群136Mにマッピングされる。埋め込み空間131における種類Nの点群135Nは、メタ空間132において点群136Nにマッピングされる。分類モデル13は、メタ空間132における点それぞれの位置ベクトルを出力する。
図5に戻って、分類モデル13は、前処理されたターゲット画像237を取得し、ターゲット画像237を、関数G(F)によりメタ空間132にマッピングする(S104)。分類モデル13は、ターゲット画像237のメタ空間における位置を出力する。
図7は、ターゲット画像237のメタ空間132へのマッピングを模式的に示す。分類モデル13は、関数Fにより、ターゲット画像237の特徴量を抽出し、埋め込み空間131の点135Tにマッピングする。分類モデル13は、関数Gにより、埋め込み空間131における点135Tをメタ空間132における点136Tにマッピングする。
図5に戻って、種類判定部14は、メタ空間132における点群136L、136M及び136Nそれぞれの代表位置を決定する(S105)。本例において、種類判定部14は、代表位置として、点群136L、136M及び136Nそれぞれの重心(位置の平均値)を決定する。代表位置は他の方法によって決定されてもよい。図6の例において、点群136L、136M及び136Nそれぞれの代表位置は、重心138L、138M及び138Nである。
なお、種類判定部14は、埋め込み空間131における点群135L、点群135M、点群135Nそれぞれの重心をメタ空間132にマッピングした値を、メタ空間における種類L、M及びNそれぞれの重心として使用してもよい。
種類判定部14は、ターゲット画像237の点136Tの位置と、種類Lの重心138L、種類Mの重心138L及び種類Nの重心138Nの位置と、の関係に基づき、ターゲット画像237の種類を決定する。例えば、種類判定部14は、ターゲット画像237の点136Tと、種類Lの重心138L、種類Mの重心138L及び種類Nの重心138Nとの距離を計算し、最も近い重心を決定する(S106)。種類判定部14は、ターゲット画像237の点136Tに最も近い重心の種類に、ターゲット画像237を分類する(S107)。
図7の例において、点136Tと、重心138L、138M及び138Nの距離は、それぞれ、符号L_LT、L_MT及びL_NTで指示されている。図7の例において、点136Tと重心138Mとの間の距離L_MTが、最も近い。したがって、ターゲット画像237は、種類Mに分類される。
図5に戻って、画像分類装置100は、ターゲット画像237それぞれについて、ステップS102、S104、S106及びS107を実行する。種類判定部14は、サポート画像データ231を、新たな訓練画像データベース24に格納する。さらに、種類判定部14は、ターゲット画像237それぞれを、決定した種類に関連付けて、新たな訓練画像データベース24に格納する。
ターゲット画像237を新たな訓練画像データベース24に格納する前に、オペレータがクライアント装置において144、ターゲット画像237の種類をチェックしてもよい(S108)。新たな訓練画像データベース24のデータは、分類モデル13の更新(訓練を含む)に使用されるため、オペレータによるチェックにより、分類モデル13をより適切に更新できる。
<訓練フェーズ>
以下において、画像分類装置100の訓練フェーズを説明する。訓練フェーズは、訓練画像データベース21に格納されている訓練データを使用して、分類モデル13を訓練する、つまり、分類モデル13のパラメータを更新する。
以下において、画像分類装置100の訓練フェーズを説明する。訓練フェーズは、訓練画像データベース21に格納されている訓練データを使用して、分類モデル13を訓練する、つまり、分類モデル13のパラメータを更新する。
図8は、訓練画像データベース21に格納されているデータの例を示す。訓練画像データベース21は、複数のエピソードを格納している。図8は、例として、エピソードA210A〜エピソードD210Dを示す。図4を参照して説明した運用画像データベース23と同様に、エピソードは、サポート画像データ211とターゲット画像データ215とを含む。
図8の例において、エピソードA210Aのサポート画像データ211は、種類(ラベル)Aの画像群212A、種類Bの画像群212B、及び種類Cの画像群212Cを含む。種類の数は、運用画像データベース23において分類される種類の数と同一である。エピソードA210Aのターゲット画像データ215は、種類Aの画像群216A、種類Bの画像群216B、及び種類Cの画像群216Cを含む。ターゲット画像データ215の各画像は、運用画像データベース23と異なり、教師ラベル付きの画像である。各種類(ラベル)のサポート画像のサンプル数は、ターゲット画像のサンプル数よりも多い。
他のエピソードも、エピソードA210Aと同様に、特定の種類の組のサポート画像データ211及びターゲット画像データ215を含む。エピソードは、それぞれ、異なる種類の組のデータを含む。図8の例において、エピソードB210Bの種類の組は、種類B、種類C及び種類Dで構成されている。エピソードC210Cの種類の組は、種類D、種類E及び種類Fで構成されている。エピソードD210Dの種類の組は、種類A、種類C及び種類Dで構成されている。
図9は、訓練フェーズにおいて、選択された一つのエピソード210により分類モデル13を更新するフローチャートである。画像分類装置100は、訓練画像データベース21に格納されているエピソードそれぞれについて、図9のフローチャートの処理を実行する。訓練フェーズにおいて、前処理部11、メタ学習部12及び分類モデル13が動作する。
前処理部11は、エピソードに含まれる全てのサポート画像及びターゲット画像それぞれの前処理を実行する(S200)。分類モデル13は、前処理された画像それぞれを関数Fにより埋め込み空間131にマッピングする(S201)。具体的には、分類モデル13は、画像それぞれの特徴量を抽出し、それらを埋め込み空間131にマッピングする。
メタ学習部12は、関数Fの損失及び関数Gの損失をそれぞれ計算する。まず、関数Fの損失の計算から説明する。メタ学習部12は、サポート画像群の埋め込み空間131における複数種類の重心を算出する(S202)。図10は、訓練画像データのエピソードA210Aにおけるサポート画像データ211の埋め込み空間131へのマッピング、及び、埋め込み空間131からメタ空間132へのマッピングの例を示す。
サポート画像データ211は、種類Aの画像群212A、種類Bの画像群212B、及び種類Cの画像群212Cを含む。関数Fにより、種類Aの画像群212Aは、埋め込み空間131における点群135Aにマッピングされる。点群135Aの重心137Aの位置(ベクトル)は、点群135Aの位置(ベクトル)の平均値である。
種類Bの画像群212Bは、埋め込み空間131における点群135Bにマッピングされる。点群135Bの重心137Bの位置は、点群135Bの位置の平均値である。種類Cの画像群212Cは、埋め込み空間131における点群135Cにマッピングされる。点群135Cの重心137Cの位置は、点群135Cの位置の平均値である。
図9に戻って、メタ学習部12は、ターゲット画像それぞれの埋め込み空間131にマッピングされた点と、ステップ202で算出したサポート画像データ211の重心それぞれとの位置関係を特定する(S203)。図8及び10に示すエピソードA210Aの例において、メタ学習部12は、画像群216A、216B及び216Cそれぞれの画像の埋め込み空間における点、並びに、重心137A、137B及び137Cの位置を特定する。
次に、メタ学習部12は、埋め込み空間131におけるターゲット画像それぞれの点と、サポート画像データ211の重心との間の位置関係の基づき、埋め込み空間における損失値を計算する(204)。損失の計算方法は設計に依存する。例えば、メタ学習部12は、分類モデル13の更新により、各種類のターゲット画像の埋め込み空間131におけるにおける位置が当該種類のサポート画像の重心に近くなり、他の種類のサポート画像の重心から遠くなるように、損失を計算する。上述のように、ターゲット画像はラベル付き画像であり、その種類(ラベル)は予め分かっている。
次に、関数Gの損失の計算を説明する。メタ学習部12は、関数Fにより埋め込み空間131にマッピングされているサポート画像データの点を、関数Gによりメタ空間132にマッピングする(S212)。メタ学習部12は、サポート画像データの点に加え、ターゲット画像データの点をメタ空間132にマッピングしてもよい。図10の例において、点群136Aは種類Aの画像のマッピングされた点であり、点群136Bは種類Bの画像のマッピングされた点であり、点群136Cは種類Cの画像のマッピングされた点である。
次に、メタ学習部12は、埋め込み空間131における、種類(ラベル)それぞれの重心を算出する(S213)。図10の例において、メタ学習部12は、埋め込み空間131において、点群135A、135B及び135Cから、それぞれ、重心137A、137B及び137Cを算出する。
メタ学習部12は、メタ空間132において、種類それぞれの現在のエピソードの重心を算出する(S214)。エピソードA210Aの例において、メタ学習部12は、メタ空間132における種類A、B及びCの重心を関数G_1により算出する。各重心の算出(関数G_1)の一例は、メタ空間132における前回エピソードの重心と、埋め込み空間131における現在エピソードの重心とから、決定する。
過去のエピソードの各種類のメタ空間132における重心の情報は、メタ情報データベース22に格納されている。メタ情報データベース22は、過去のエピソードの各種類の埋め込み空間における重心の情報も格納していてよい。エピソードの各種類の重心は、当該エピソードによる更新後の分類モデル13によって、当該エピソードの各種類の画像をメタ空間132にマッピングし、メタ空間132における各種類の点群の位置の平均値を計算することで得られる。メタ空間132における重心は、埋め込み空間131における重心をメタ空間132にマッピングした値でもよい。
メタ学習部12は、メタ空間132における前回エピソードでの複数の重心から、埋め込み空間131における現在エピソードの各種類の重心に最も近い重心を選択する。メタ空間132における選択された前回エピソードの重心が、現在エピソードの各種類の重心である。
図10の例において、前回エピソードのメタ空間132における各種類の重心は、重心138L1、138L2及び138L3である。上述のように、エピソードの種類の組は、互いに異なっており、重心138L1、138L2及び138L3の種類の組は、種類A、B及びCの組とは異なる。図10の例において、重心138L1が重心137Aに最も近く、重心138L2が重心137Bに最も近く、重心138L3が重心137Cに最も近い。したがって、メタ空間132における現在エピソードの種類Aの重心は重心138L1であり、種類Bの重心は重心138L2であり、種類Cの重心は重心138L3である。
他の例において、メタ学習部12は、過去の複数のエピソードにおける各種類のメタ空間132における重心と、現在エピソードの埋め込み空間131における各種類の重心に基づき、現在エピソードのメタ空間132における各種類の重心を決定する。例えば、メタ学習部12は、複数エピソードから、最も距離が近い重心を選択し、それらの重心の平均値を計算する。これにより、種類の組を構成する種類の数(図10の例において3)と一致する数の重心が得られる。
他の例において、メタ学習部12は、埋め込み空間131における現在エピソードの重心に代えて、埋め込み空間131における重心をメタ空間132にマッピングした点を使用してもよい。例えば、図10の例において、メタ学習部12は、重心137Aを関数Gによってメタ空間132にマッピングする。メタ学習部12は、重心138L1、138L2及び138L3から、マッピングされたメタ空間132における点に最も近い重心を選択する。
図9を参照して、メタ学習部12は、メタ空間132における損失値を計算する(S215)。一例において、メタ学習部12は、二つの条件における損失値を組み合わせる。第1の条件は、ステップS214で過去のエピソードに基づき決定したメタ空間132における重心と、ステップS212でマッピングしたメタ空間132における各種類の点群の平均値(重心)とに基づく。例えば、第1の条件は、これらの差分を最小にする。
例えば、図10の例において、ステップS214で決定したメタ空間132における重心は、重心138L1、138L2及び138L3である。ステップS212でマッピングした点群は、点群136A、136B及び136Cである。メタ学習部12は、点群136Aの位置の平均値と、重心138L1の位置との距離(差分)を計算する。同様に、メタ学習部12は、点群136Bの位置の平均値と重心138L2の位置との距離、及び、点群136Cの位置の平均値と重心138L3の位置との距離を計算する。例えば、これら三つの距離の和又は平均値が、第1の条件における損失値を表す。
第2の条件を説明する。第2の条件は、ステップS214で決定したメタ空間132における重心と、ステップS212でメタ空間132にマッピングした点との関係に基づく。例えば、ステップS214で決定したメタ空間132における重心と、ステップS212でメタ空間132にマッピングした同一種類の点との距離の平均値をA1とする。ステップS214で計算したメタ空間132における重心間の距離の平均値をA2とする。第2の条件は、平均値A2に対する平均値A1の割合(A1/A2)を、最小にする。
例えば、図10の例において、平均値A1は、重心138L1と点群136Aの点それぞれとの間の距離、重心138L2と点群136Bの点それぞれとの間の距離、重心138L3と点群136Cの点それぞれとの間の距離、の平均値である。平均値A2は、重心138L1と重心138L2との間の距離、重心138L1と重心138L3との間の距離、重心138L2と重心138L3との間の距離、の平均値である。
割合(A1/A2)が、第2の条件における損失値を表す。第1の条件の損失値と第2の条件の損失値の組み合わせは、例えば、これら損失値とそれぞれの重みとの積和で表わされる。なお、重心138L1、138L2、138L3に代えて、点群136A、136B、136Cから得られる重心を使用してもよい。
関数F及びGそれぞれの損失値を計算した後、メタ学習部12は、これら損失値を組み合わせる(S221)。例えば、メタ学習部12は、これら損失値と重みの積和を計算する。メタ学習部12は、組み合わせた損失値を使用して、例えば誤差逆伝播により分類モデル13を更新する(S222)。メタ学習部12は、ステップS200〜S222を複数回繰り返す。メタ学習部12は、訓練後の分類モデル13によりエピソードのそれぞれの種類の画像群をメタ空間132にマッピングし、それらの重心(平均)を算出してメタ情報データベース22に格納する。メタ空間132における重心は、埋め込み空間131における重心をマッピングすることで得てもよい。
分類モデル13は、画像を関数Fにより埋め込み空間131にマッピングした後、関数Gによってメタ空間132にマッピングする。上述のように、関数Fは、埋め込み空間131において異なる種類の画像をより適切に分類できるように訓練(更新)される。具体的には、埋め込み空間131におけるサポート画像データの異なる種類の重心が、ターゲット画像のマッピングされた点を分類できるように、関数Fが訓練される。
上述のように、メタ学習部12は、複数のエピソードによって、分類モデル13を訓練する。複数のエピソードの少なくとも一部は、それぞれ、種類(ラベル)の異なる組み合わせを有する。埋め込み空間131からメタ空間132へマッピングする関数Gは、ドメイン適用を目的とする関数である。
上述のように、関数Gの訓練において、現在のエピソードのメタ空間132における重心は、現在のエピソードの埋め込み空間131における重心と、過去の(異なる種類の)1又は複数のエピソードのメタ空間132における重心と、に基づき決定される。また、第1の条件は、関数G(F)により画像をマッピングした点の重心と上記異なる種類の画像の重心とを近づける。これにより、メタ空間132において、異なる種類の画像に対して分類のためのより適切な重心が決まるようにマッピングできる。
第2の条件は、メタ空間132において、同一エピソードでの重心の距離を大きくし、各種類の重心と画像の点との距離を小さくする。これにより、関数Gは、メタ空間132において、エピソード内の異なる種類の画像をより適切に分類できるように訓練(更新)される。
上述のように、種類の異なる組み合わせエピソードによって、メタ空間132へのマッピングを行う分類モデル13を訓練することで、未知の種類(ラベル)又は訓練データにおけるサンプル数が少ない種類の画像を、より適切に分類することができるようになる。
<モデル更新フェーズ>
以下において、画像分類装置100のモデル更新フェーズを説明する。モデル更新フェーズは、新たな訓練画像データベース24及びメタ情報データベース22に格納されている訓練データを使用して、分類モデル13のパラメータを更新する。新たな訓練画像データベース24は、運用フェーズにおいて使用されたエピソードを格納している。メタ情報データベース22は、訓練フェーズにおける1又は複数のエピソードのメタ空間132における重心の情報を格納している。
以下において、画像分類装置100のモデル更新フェーズを説明する。モデル更新フェーズは、新たな訓練画像データベース24及びメタ情報データベース22に格納されている訓練データを使用して、分類モデル13のパラメータを更新する。新たな訓練画像データベース24は、運用フェーズにおいて使用されたエピソードを格納している。メタ情報データベース22は、訓練フェーズにおける1又は複数のエピソードのメタ空間132における重心の情報を格納している。
図11は、モデル更新フェーズにおいて、分類モデル13を更新するフローチャートである。モデル更新部15は、新たな訓練画像データベース24からエピソードを取得する。分類モデル13は、エピソードの異なる種類それぞれのサポード画像群を、関数Fにより埋め込み空間131にマッピングする(S301)。分類モデル13は、埋め込み空間131における点群を、関数Gによりメタ空間132にマッピングする(S302)。モデル更新部15は、メタ空間132における異なる種類それぞれの重心を算出する(S303)。
モデル更新部15は、ステップS303において得られた重心位置と、メタ情報データベース22に格納されている重心位置とに基づき、損失値を計算する(S304)。例えば、損失値は、例えば、重心間の距離の平均値である。モデル更新部15は、ステップS303で算出した重心位置とメタ情報データベース22に格納されている重心位置との距離が小さくなるように、逆誤差伝播によって分類モデル13の関数Gのパラメータを更新する(S305)。
なお、モデル更新部15は、関数Gに加えて、関数Fも更新してもよい。更新のためのデータは多くないため、関数Gのみを更新することで、より適切に分類モデル13を更新することができる。上記例と異なり、埋め込み空間131の重心をメタ空間132にマッピングしてメタ空間132における重心を得てもよい。
<ユーザインタフェース>
以下において、オペレータ(ユーザ)が使用するグラフィカルユーザインタフェースの一例を説明する。図12は、オペレーションのための画像例440を示す。クライアント装置144は、その表示装置において当該画像を表示する。画像440は、運用フェーズにおける製品の分類をモニタするための画像である。
以下において、オペレータ(ユーザ)が使用するグラフィカルユーザインタフェースの一例を説明する。図12は、オペレーションのための画像例440を示す。クライアント装置144は、その表示装置において当該画像を表示する。画像440は、運用フェーズにおける製品の分類をモニタするための画像である。
「オペレータチェック」ボタン445が選択されると、最近分類結果441が表示される。最近分類結果441は、サンプルの種類のリストを含む。最近分類結果441は、さらに、各サンプルに対応するアイコン442を含む。いずれかのサンプルのアイコン442が選択され、さらに、「画像拡大」ボタン443が選択されると、クライアント装置144は、選択されたサンプルの拡大画像を表示する。オペレータは、サンプルの拡大画像をチェックし、種類が不正確である場合、クライアント装置144において、その種類を正しい種類に訂正する。
「データベース更新」ボタン446が選択されると、最近分類結果441に含まれるサンプルの情報が、サポート画像データと共に、新たな訓練画像データベース24に追加される。「モデル更新」ボタン447が選択されると、モデル更新部15は、分類モデル13の更新のための処理を開始する。
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
11 前処理部、12 メタ学習部、13 分類モデル、14 種類判定部、15 モデル更新部、22 メタ情報データベース、23 運用画像データベース、24 訓練画像データベース、24 画像データベース、100 画像分類装置、110 プロセッサ、120 メモリ、121 前処理プログラム、122 画像分類モデル、123 分類モデルプログラム、124 種類判定プログラム、125 モデル更新プログラム、130 補助記憶装置、131 埋め込み空間、132 メタ空間、135A、135B、135C、135L、135M、135N 点群、135T 点、136A、136B、136C、136L、136M、136N 点群、136T 点、137A、137B、137C 重心、137L、137L1、137L2、137L3、137、137、137重心、138L、138M、138N、138L1、138L2、138L3 重心、144 クライアント装置、145 ネットワークインタフェース、210 エピソード、211 サポート画像データ、212A、212B、212C サポート画像群、215 ターゲット画像データ、216A、216B、216C ターゲット画像群、230 エピソード、231 サポート画像データ、232L、232M、232N サポート画像群、235 ターゲット画像データ、237 ターゲット画像、210A、210B、210C、210D エピソード、L_LT、L_MT、L_NT 距離
Claims (8)
- 1以上のプロセッサと、
前記1以上のプロセッサが実行するプログラムを含むデータを格納する1以上の記憶装置と、を含む、計算機システムであって、
前記1以上の記憶装置は、分類モデルの訓練データを格納し、
前記訓練データは、複数のエピソードを含み、
前記複数のエピソードのそれぞれは、異なるラベルが付けられた複数の訓練サポードサンプル群と、前記異なるラベルが付けられた複数の訓練ターゲットサンプル群と、を含み、
前記複数のエピソードのラベルの組み合わせは、互いに異なり、
前記分類モデルは、入力されたデータを第1空間にマッピングする第1関数と、前記第1空間における点を第2空間にマッピングする第2関数と、を含み、
前記1以上のプロセッサは、
前記訓練データにより訓練された前記分類モデルを使用して、複数のラベルにそれぞれ対応する運用サポートサンプル群それぞれの、前記第2空間における代表位置を決定し、
前記訓練データにより訓練された前記分類モデルを使用して、運用ターゲットサンプルの前記第2空間における点の位置を決定し、
前記運用ターゲットサンプルの前記第2空間における点の位置と前記代表位置との関係に基づいて、前記運用ターゲットサンプルのラベルを前記複数のラベルから選択する、計算機システム。 - 請求項1に記載の計算機システムであって、
前記1以上のプロセッサは、
前記複数のエピソードそれぞれを使用して前記分類モデルを更新し、
現在エピソードを使用した前記分類モデルの更新において、
前記分類モデル及び前記現在エピソードの訓練サポートサンプルを使用して、前記現在エピソードのラベルそれぞれの前記第2空間における代表位置を決定し、
前記分類モデル及び過去エピソードの訓練サポートサンプルを使用して、前記過去エピソードのラベルそれぞれの前記第2空間における代表位置を決定し、
前記現在エピソードのラベルそれぞれの前記第2空間における代表位置と、前記過去エピソードのラベルそれぞれの前記第2空間における代表位置とに基づき、前記分類モデルを更新する、計算機システム。 - 請求項1に記載の計算機システムであって、
前記1以上のプロセッサは、
前記複数のエピソードそれぞれを使用して前記分類モデルを更新し、
現在エピソードを使用した前記分類モデルの更新において、
前記分類モデルを使用して、前記現在エピソードの訓練サポートサンプルそれぞれの前記第2空間における位置を決定し、
前記分類モデルを使用して、前記現在エピソード又は過去エピソードのラベルそれぞれの前記第2空間における訓練ラベル代表位置を決定し、
前記訓練ラベル代表位置と、前記現在エピソードの訓練サポートサンプルそれぞれの前記第2空間における位置とに基づき、前記分類モデルを更新する、計算機システム。 - 請求項1に記載の計算機システムであって、
前記1以上のプロセッサは、
前記複数のエピソードそれぞれを使用して前記分類モデルを更新し、
現在エピソードを使用した前記分類モデルの更新において、
前記分類モデルを使用して、前記複数の訓練サポートサンプル群それぞれの前記第1空間における代表位置を決定し、
前記分類モデルを使用して、前記複数の訓練ターゲットサンプル群の訓練ターゲットサンプルそれぞれの前記第1空間における点の位置を決定し、
前記訓練ターゲットサンプルの前記第1空間における位置と前記代表位置との関係に基づき、前記分類モデルを更新する、計算機システム。 - 請求項1に記載の計算機システムであって、
前記1以上のプロセッサは、
前記運用サポートサンプル群のラベルの前記第2空間における代表位置を決定し、
前記訓練データのラベルの前記第2空間における代表位置と、前記運用サポートサンプル群のラベルの前記第2空間における代表位置とに基づき、前記分類モデルを更新する、計算機システム。 - 請求項5に記載の計算機システムであって、
前記1以上のプロセッサは、前記分類モデルの更新において、前記第2関数のみを更新する、計算機システム。 - 請求項1に記載の計算機システムであって、
前記代表位置は重心である、計算機システム。 - 1以上のプロセッサと、前記1以上のプロセッサが実行するプログラムを含むデータを格納する1以上の記憶装置と、を含む計算機システムが、サンプルを分類する方法であって、
前記1以上の記憶装置は、分類モデルの訓練データを格納し、
前記訓練データは、複数のエピソードを含み、
前記複数のエピソードのそれぞれは、異なるラベルが付けられた複数の訓練サポードサンプル群と、前記異なるラベルが付けられた複数の訓練ターゲットサンプル群と、を含み、
前記複数のエピソードのラベルの組み合わせは、互いに異なり、
前記分類モデルは、入力されたデータを第1空間にマッピングする第1関数と、前記第1空間における点を第2空間にマッピングする第2関数と、を含み、
前記方法は、
前記訓練データにより訓練された前記分類モデルを使用して、複数のラベルにそれぞれ対応する運用サポートサンプル群それぞれの、前記第2空間における代表位置を決定し、
前記訓練データにより訓練された前記分類モデルを使用して、運用ターゲットサンプルの前記第2空間における点の位置を決定し、
前記運用ターゲットサンプルの前記第2空間における点の位置と前記代表位置との関係に基づいて、前記運用ターゲットサンプルのラベルを前記複数のラベルから選択する、ことを含む、方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018205675A JP2020071694A (ja) | 2018-10-31 | 2018-10-31 | 計算機システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018205675A JP2020071694A (ja) | 2018-10-31 | 2018-10-31 | 計算機システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020071694A true JP2020071694A (ja) | 2020-05-07 |
Family
ID=70549585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018205675A Pending JP2020071694A (ja) | 2018-10-31 | 2018-10-31 | 計算機システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020071694A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950596A (zh) * | 2020-07-15 | 2020-11-17 | 华为技术有限公司 | 一种用于神经网络的训练方法以及相关设备 |
JP7062747B1 (ja) | 2020-12-25 | 2022-05-06 | 楽天グループ株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP2022103190A (ja) * | 2020-12-25 | 2022-07-07 | 楽天グループ株式会社 | 情報処理装置、情報処理方法およびプログラム |
WO2024042707A1 (ja) * | 2022-08-26 | 2024-02-29 | 日本電信電話株式会社 | メタ学習方法、メタ学習装置及びプログラム |
-
2018
- 2018-10-31 JP JP2018205675A patent/JP2020071694A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950596A (zh) * | 2020-07-15 | 2020-11-17 | 华为技术有限公司 | 一种用于神经网络的训练方法以及相关设备 |
JP7062747B1 (ja) | 2020-12-25 | 2022-05-06 | 楽天グループ株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP2022103190A (ja) * | 2020-12-25 | 2022-07-07 | 楽天グループ株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP2022102095A (ja) * | 2020-12-25 | 2022-07-07 | 楽天グループ株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP7277645B2 (ja) | 2020-12-25 | 2023-05-19 | 楽天グループ株式会社 | 情報処理装置、情報処理方法およびプログラム |
WO2024042707A1 (ja) * | 2022-08-26 | 2024-02-29 | 日本電信電話株式会社 | メタ学習方法、メタ学習装置及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020071694A (ja) | 計算機システム | |
JP7350878B2 (ja) | 画像解析方法、装置、プログラム | |
US20230195845A1 (en) | Fast annotation of samples for machine learning model development | |
US20190251471A1 (en) | Machine learning device | |
US11665064B2 (en) | Utilizing machine learning to reduce cloud instances in a cloud computing environment | |
US7853926B2 (en) | Automated context-sensitive operating system switch | |
US11537506B1 (en) | System for visually diagnosing machine learning models | |
JP2022534181A (ja) | コード変更の自動識別 | |
US20180074944A1 (en) | Test case generator built into data-integration workflow editor | |
US11334348B2 (en) | Utilizing machine learning to identify and correct differences in application programming interface (API) specifications | |
US11698825B2 (en) | Application programming interface compatibility | |
US11710552B2 (en) | Method and system for refining label information | |
CN112231034A (zh) | 结合rpa和ai的软件界面元素的识别方法与装置 | |
JP2022119207A (ja) | 機械学習および自然言語処理を利用したワクチン接種データの抽出および確認 | |
CN114868109B (zh) | 用户界面自动化中的自动锚点确定和目标图形元素标识 | |
US20210133956A1 (en) | Hierarchical processing technique for lesion detection, classification, and segmentation on microscopy images | |
CN114723949A (zh) | 三维场景分割方法和用于训练分割模型的方法 | |
CN108255570A (zh) | 异构虚拟机监视器平台间的虚拟机迁移方法、装置和系统 | |
JP2022041800A (ja) | 多言語文埋め込みのためのシステム及び方法 | |
US20240045662A1 (en) | Software code verification using call graphs for autonomous systems and applications | |
US12009994B2 (en) | Utilizing machine learning to reduce cloud instances in a cloud computing environment | |
US11876681B2 (en) | Topology recommendation platform for application architecture | |
CN113869516B (zh) | 知识图谱嵌入模型训练方法、装置、电子设备及介质 | |
CN114821233B (zh) | 目标检测模型的训练方法及装置、设备和介质 | |
US20230367699A1 (en) | Automated software testing |