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

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

▶ キヤノン株式会社の特許一覧

<>
  • 特開-情報処理装置およびその制御方法 図1
  • 特開-情報処理装置およびその制御方法 図2
  • 特開-情報処理装置およびその制御方法 図3
  • 特開-情報処理装置およびその制御方法 図4
  • 特開-情報処理装置およびその制御方法 図5
  • 特開-情報処理装置およびその制御方法 図6
  • 特開-情報処理装置およびその制御方法 図7
  • 特開-情報処理装置およびその制御方法 図8
  • 特開-情報処理装置およびその制御方法 図9
  • 特開-情報処理装置およびその制御方法 図10
  • 特開-情報処理装置およびその制御方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025139756
(43)【公開日】2025-09-29
(54)【発明の名称】情報処理装置およびその制御方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20250919BHJP
【FI】
G06N20/00 130
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024038767
(22)【出願日】2024-03-13
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】齋藤 建志
(72)【発明者】
【氏名】小川 修平
(57)【要約】
【課題】モデルの学習精度を向上させる。
【解決手段】情報処理装置は、複数の学習モデルそれぞれについて、学習モデルの学習で使用されたデータセットを特定する第1の情報と、学習モデルの学習で使用された初期モデルを特定する第2の情報と、を管理するモデル管理手段と、複数の学習モデルそれぞれの第1の情報で特定される複数のデータセットに関する第3の情報を管理するデータ管理手段と、複数の学習モデルに含まれる所与の学習モデルを初期モデルとした追加学習の指示を受け付ける受付手段と、複数のデータセットから追加学習に使用するデータセットを決定する決定手段と、を備える。決定手段は、所与の学習モデルの初期モデルとして使用された1以上の学習モデルそれぞれに対して所与のデータセットを入力した際の評価精度が所定精度以上である学習モデルの学習に使用されたデータセットを追加学習に使用するデータセットとして決定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数の学習モデルを管理する情報処理装置であって、
前記複数の学習モデルそれぞれについて、学習モデルの学習で使用されたデータセットを特定する第1の情報と、学習モデルの学習で使用された初期モデルを特定する第2の情報と、を管理するモデル管理手段と、
前記複数の学習モデルそれぞれの前記第1の情報で特定される複数のデータセットに関する第3の情報を管理するデータ管理手段と、
前記複数の学習モデルに含まれる所与の学習モデルを初期モデルとした追加学習の指示を受け付ける受付手段と、
前記第1の情報と前記第2の情報と前記第3の情報とに基づいて、前記複数のデータセットから前記追加学習に使用するデータセットを決定する決定手段と、
を備え、
前記決定手段は、前記所与の学習モデルの初期モデルとして使用された1以上の学習モデルそれぞれに対して所与のデータセットを入力して際の評価精度が所定精度以上である学習モデルの学習に使用されたデータセットを前記追加学習に使用するデータセットとして決定する
ことを特徴とする情報処理装置。
【請求項2】
前記モデル管理手段は、学習モデルの評価で使用されたデータセットを特定する第4の情報をさらに管理し、
前記所与のデータセットは、前記所与の学習モデルの評価で使用されたデータセットである
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記所与のデータセットは、画像と該画像に対応する真値との1以上のペアを含む
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記複数の学習モデルは物体検出モデルであり、
前記真値は、前記画像に含まれる検出対象物体のバウンディングボックス情報である
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記複数の学習モデルは画像生成モデルであり、
前記真値は、前記画像に含まれる被写体を示す文字列である
ことを特徴とする請求項3に記載の情報処理装置。
【請求項6】
複数の学習モデルを管理する情報処理装置であって、
前記複数の学習モデルそれぞれについて、学習モデルの学習で使用されたデータセットを特定する第1の情報と、学習モデルの学習で使用された初期モデルを特定する第2の情報と、を管理するモデル管理手段と、
前記複数の学習モデルそれぞれの前記第1の情報で特定される複数のデータセットに関する第3の情報を管理するデータ管理手段と、
前記複数の学習モデルに含まれる所与の学習モデルを初期モデルとした追加学習の指示を受け付ける受付手段と、
前記第1の情報と前記第2の情報と前記第3の情報とに基づいて、前記複数のデータセットから前記追加学習に使用するデータセットを決定する決定手段と、
を備え、
前記決定手段は、前記所与の学習モデルの初期モデルとして使用された1以上の学習モデルそれぞれの学習に使用された1以上のデータセットのうち、前記所与の学習モデルの学習で使用された第1のデータセットとの類似度が所定値以上であるデータセットを前記追加学習に使用するデータセットとして決定する
ことを特徴とする情報処理装置。
【請求項7】
前記決定手段は、前記1以上のデータセットを前記所与の学習モデルに入力して得られる特徴量と、前記第1のデータセットを前記所与の学習モデルに入力して得られる特徴量と、を比較することにより前記類似度を導出する
ことを特徴とする請求項6に記載の情報処理装置。
【請求項8】
複数の学習モデルを管理する情報処理装置の制御方法であって、
前記複数の学習モデルそれぞれについて、学習モデルの学習で使用されたデータセットを特定する第1の情報と、学習モデルの学習で使用された初期モデルを特定する第2の情報と、を取得するモデル情報取得工程と、
前記複数の学習モデルそれぞれの前記第1の情報で特定される複数のデータセットに関する第3の情報を取得するデータ情報取得工程と、
前記複数の学習モデルに含まれる所与の学習モデルを初期モデルとした追加学習の指示を受け付ける受付工程と、
前記第1の情報と前記第2の情報と前記第3の情報とに基づいて、前記複数のデータセットから前記追加学習に使用するデータセットを決定する決定工程と、
を含み、
前記決定工程では、前記所与の学習モデルの初期モデルとして使用された1以上の学習モデルそれぞれに対して所与のデータセットを入力した際の評価精度が所定精度以上である学習モデルの学習に使用されたデータセットを前記追加学習に使用するデータセットとして決定する
ことを特徴とする制御方法。
【請求項9】
複数の学習モデルを管理する情報処理装置の制御方法であって、
前記複数の学習モデルそれぞれについて、学習モデルの学習で使用されたデータセットを特定する第1の情報と、学習モデルの学習で使用された初期モデルを特定する第2の情報と、を取得するモデル情報取得工程と、
前記複数の学習モデルそれぞれの前記第1の情報で特定される複数のデータセットに関する第3の情報を取得するデータ情報取得工程と、
前記複数の学習モデルに含まれる所与の学習モデルを初期モデルとした追加学習の指示を受け付ける受付工程と、
前記第1の情報と前記第2の情報と前記第3の情報とに基づいて、前記複数のデータセットから前記追加学習に使用するデータセットを決定する決定工程と、
を含み、
前記決定工程では、前記所与の学習モデルの初期モデルとして使用された1以上の学習モデルそれぞれの学習に使用された1以上のデータセットのうち、前記所与の学習モデルの学習で使用された第1のデータセットとの類似度が所定値以上であるデータセットを前記追加学習に使用するデータセットとして決定する
ことを特徴とする制御方法。
【請求項10】
請求項8または9に記載の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習モデルおよび学習データの管理技術に関するものである。
【背景技術】
【0002】
近年、画像分類や物体検出、物体追尾といった画像認識技術は、ディープニューラルネットワーク(DNN)の登場によって飛躍的にその精度が向上している。一般的に、DNNモデルを学習するためには、大量のデータが必要であるが、そのような大量のデータを個人が収集するのは難しい。そこで、あらかじめ大量のデータによって学習されたモデルを初期モデルとして、DNNモデルの層の一部のみを学習するファインチューニングと呼ばれる手法が行われることがある。また、ファイチューニングでは初期モデルのタスクで獲得した情報を忘却する傾向が知られている。そのため、初期モデルとは関係のない学習データによってファインチューニングが繰り返されるような状況が発生し得る。
【0003】
特許文献1では、ラベル同士の類似度を算出し、類似度が大きい場合は正事例とし類似度が小さい場合は負事例とすることで学習に有用なデータを選別する手法が開示されている。また、非特許文献1では、DNNモデルの各層の出力の一部に基づいて学習データの類似度を算出し、類似度に基づいて尤もらしいラベルとなるように学習データを修正していく手法が開示されている。これらの手法によって、学習データが間違った真値を含む場合でも、学習精度を向上させることができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2022-179162号公報
【非特許文献】
【0005】
【非特許文献1】Jiangfan Han, Ping Luo, Xiaogang Wang, "Deep Self-Learning From Noisy Labels", arXiv:1908.02160, 2019年
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に手法においては、ユーザによって恣意的にアノテーションされたデータが学習データ中に含まれる場合に学習精度が落ちやすいという課題がある。また、非特許文献1では、学習データを既存の学習済みモデルによって修正するため、恣意的にアノテーションされた一群が学習データ中に存在する場合には効果的に学習データを修正・選別することができないという課題がある。
【0007】
本発明は、このような問題に鑑みてなされたものであり、モデルの学習精度を向上可能とする技術を提供することを目的としている。
【課題を解決するための手段】
【0008】
上述の問題点を解決するため、本発明に係る情報処理装置は以下の構成を備える。すなわち、複数の学習モデルを管理する情報処理装置は、
前記複数の学習モデルそれぞれについて、学習モデルの学習で使用されたデータセットを特定する第1の情報と、学習モデルの学習で使用された初期モデルを特定する第2の情報と、を管理するモデル管理手段と、
前記複数の学習モデルそれぞれの前記第1の情報で特定される複数のデータセットに関する第3の情報を管理するデータ管理手段と、
前記複数の学習モデルに含まれる所与の学習モデルを初期モデルとした追加学習の指示を受け付ける受付手段と、
前記第1の情報と前記第2の情報と前記第3の情報とに基づいて、前記複数のデータセットから前記追加学習に使用するデータセットを決定する決定手段と、
を備え、
前記決定手段は、前記所与の学習モデルの初期モデルとして使用された1以上の学習モデルそれぞれに対して所与のデータセットを入力して際の評価精度が所定精度以上である学習モデルの学習に使用されたデータセットを前記追加学習に使用するデータセットとして決定する。
【0009】
または、複数の学習モデルを管理する情報処理装置は、
前記複数の学習モデルそれぞれについて、学習モデルの学習で使用されたデータセットを特定する第1の情報と、学習モデルの学習で使用された初期モデルを特定する第2の情報と、を管理するモデル管理手段と、
前記複数の学習モデルそれぞれの前記第1の情報で特定される複数のデータセットに関する第3の情報を管理するデータ管理手段と、
前記複数の学習モデルに含まれる所与の学習モデルを初期モデルとした追加学習の指示を受け付ける受付手段と、
前記第1の情報と前記第2の情報と前記第3の情報とに基づいて、前記複数のデータセットから前記追加学習に使用するデータセットを決定する決定手段と、
を備え、
前記決定手段は、前記所与の学習モデルの初期モデルとして使用された1以上の学習モデルそれぞれの学習に使用された1以上のデータセットのうち、前記所与の学習モデルの学習で使用された第1のデータセットとの類似度が所定値以上であるデータセットを前記追加学習に使用するデータセットとして決定する。
【発明の効果】
【0010】
本発明によれば、モデルの学習精度を向上することのできる技術を提供することができる。
【図面の簡単な説明】
【0011】
図1】情報処理装置の機能構成を示すブロック図である。
図2】情報処理装置における処理の流れを示す図である。
図3】情報処理装置における学習処理のフローチャートである。
図4】モデルに付与される情報の例を示す図である。
図5】データに付与される情報の例を示す図である。
図6】トレーサビリティ情報の例を示す図である。
図7】学習データの例を示す図である。
図8】異なる対象による真値の違いを説明する図である。
図9】情報処理装置における学習処理のフローチャートである(第2実施形態)。
図10】学習データの例を示す図である(変形例)。
図11】モデルに付与される情報の例を示す図である(変形例)。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0013】
(第1実施形態)
本発明に係る情報処理装置の第1実施形態として、学習モデルおよび学習データそれぞれの履歴をトレーサビリティ情報として管理する情報処理装置を例に挙げて以下に説明する。
【0014】
<概要>
学習モデル(学習済モデル)に対して学習データを利用して追加学習する場合、初期モデルが対象とするタスク(例:人物胴体)の情報が失われて新たなタスク(例:人物全身)へとシフトする傾向がある。このようなシフトは、破滅的忘却(catastrophic forgetting)と呼ばれる。
【0015】
そこで本実施形態の情報処理装置は、モデルやデータが、過去どのような経緯を経て作成されたか(つまりモデルやデータの過去の履歴)を示したトレーサビリティ情報を管理する。そして、情報処理装置は、トレーサビリティ情報を辿って得られる各モデルに対して所与のデータセットを入力した際の評価精度に基づいて、追加学習に使用する学習データを選択する。これにより、追加学習時に、学習対象や真値の似た学習データを選定することができ、モデルの学習精度を向上させる。
【0016】
<装置構成>
図1は、情報処理装置11の機能構成を示すブロック図である。情報処理装置11は、「モデル」およびモデルの学習や評価に使用する「データ」を管理する。また、情報処理装置11は、ユーザからの要求に応じてモデルの学習やデータの編集およびモデル情報の登録を行う。ここでは、モデルやデータは、学習モデル公開プラットフォームを介して第三者による利用が可能になっているものとする。すなわち、ユーザは、学習モデル公開プラットフォームの利用者である。
【0017】
情報処理装置11は、ローカルエリアネットワーク(LAN)やインターネット等の通信ネットワークを介してユーザ端末12及びユーザ端末13と通信可能に接続されている。接続のされ方は特に限定されない。例えば、それぞれが別々に、有線で接続されていてもよいし、無線の通信を介して接続されていてもよい。なお、図1では、2台のユーザ端末が表記されているがこれに限るものではない。各ユーザ端末は、パーソナルコンピュータ(PC)、携帯電話、タブレット型端末装置などの情報端末が想定される。
【0018】
情報処理装置11は、制御部10および記憶部20を含む。制御部10は、例えば、中央処理装置(CPU)が記憶部20に格納された各種プログラムを実行することにより実現され得る。また、記憶部20は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、あるいは、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などの大容量記憶装置である。
【0019】
制御部10は、モデル管理部101、データ管理部102、トレーサビリティ情報管理部103、関連モデル・データ管理受付部104、学習・評価部105、表示制御部107を含む。上述したように、これらの各機能部は、例えばCPUが各種プログラムを実行することにより実現され得る。ただし、一部または全部を特定用途向け集積回路(ASIC)などのハードウェアにより実現してもよい。
【0020】
モデル管理部101は、情報処理装置11に登録されたモデルを管理する。本実施形態において、モデルは、画像認識の一形態である物体検出を行うことを目的とした「物体検出モデル」であることを想定しているが、これに限るものではない。音声認識モデルや自然言語処理モデル、生成系人工知能(AI)モデルであってもよい。モデル管理部101は、モデルに対してモデル情報を付与して管理を行う。
【0021】
図4は、2つのモデルに付与されるモデル情報401,402の例を示す図である。モデル情報は、モデルの属性情報であり、モデルID、初期モデルID、学習データID、タグ、タスク、評価データID、評価結果の情報を含んでいる。すなわち、モデルの生成に利用した、初期モデルやデータを特定する識別情報(ID)を含んでいる。
【0022】
モデルIDは、それぞれのモデルを識別するためのモデル固有の識別情報(ID)である。初期モデルIDは、それぞれのモデルを学習する際の初期パラメータとなったモデルを指定するモデルIDである。
【0023】
図4において、モデル情報401では、モデルIDは「m0001」であり、初期モデルIDは「m0000」である。また、モデル情報402では、モデルIDは「m0002」であり、初期モデルIDは「m0001」である。そのため、モデルIDが「m0002」のモデルは、モデルIDが「m0001」のモデルを初期モデルとして学習した結果得られたモデルであるということを示している。
【0024】
学習データIDは、それぞれのモデルを学習するために使用したデータセットを識別するための学習データ固有のIDである。タグは、それぞれのモデルが対象とする物体の情報や、ユーザがモデルを検索するために必要な情報などが記載される。タスクは、それぞれのモデルが対象としている処理の種類(物体検出や画像生成など)が記載される。評価データIDは、それぞれのモデルを評価する際に使用したデータセットを指定するデータIDである。評価結果は、評価の結果得られた数値などが記載される。
【0025】
図4に示されるように、モデル情報401,402は、何れも、物体検出モデル用のモデルのモデル情報である。例えば、モデルが他タイプのモデル(音声認識モデル等)の場合、モデル情報に含まれる項目は図4の例とは異なるものとなり得る。
【0026】
データ管理部102は、情報処理装置11に登録されたデータを管理する。本実施形態のデータは、物体検出用の画像データである。データ管理部102は、ユーザからのデータセットの登録を受け付け、データセットに対してデータ情報を付与して管理を行う。
【0027】
図5は、データ(画像データセット)に付与されるデータ情報501,502の例を示す図である。データ情報は、データの属性情報であり、データID、初期データID、タグ、タスクの情報を含んでいる。
【0028】
データIDは、それぞれのデータを識別するためのデータ固有のIDである。初期データIDは、当該データを作成する元になった初期データセットのデータIDである。タグには、それぞれのデータが対象とする物体の情報や、ユーザがデータを検索するために必要な情報などが記載される。タスクは、それぞれのデータが対象としている処理の種類(物体検出や画像生成など)が記載される。
【0029】
例えば、データ情報502における初期データIDは「d0001」であるため、データ情報502に対応するデータは、データ情報501に対応するデータを初期データとして編集(作成)されたものであることを示している。編集の方法はアノテーションを変更する、画像を加工するなどの操作によって行われる。
【0030】
図5に示されるように、データ情報501,502は、何れも、物体検出モデル用のモデルに使用されるデータのデータ情報である。例えば、データが他タイプのモデル(音声認識モデル等)に使用されるデータの場合、データ情報に含まれる項目は図5の例とは異なるものとなり得る。
【0031】
トレーサビリティ情報管理部103は、モデルおよびデータのトレーサビリティ情報を管理する。ここで、トレーサビリティ情報とは、それぞれのモデルおよびそれぞれのデータが、過去どのような経緯を経て作成されたか(つまり過去の履歴)を示した情報である。
【0032】
図6は、トレーサビリティ情報の例を示す図である。図6において、実線矢印は、各モデル間および各データ間の派生関係を示している。すなわち、学習モデル公開プラットフォームで公開される複数の学習モデル間の関連性および複数のデータセット間の関連性を統合して管理している。また、図6において、点線矢印は、各モデルの学習に使用したデータを示している。さらに、モデルとデータのペアには評価データ(「e0000」~「e0002」)が関連付けられている。上述したように、評価データとは、それぞれのモデルを評価する際に使用したデータセットである。
【0033】
例えば、モデル602(「m0002」)は、モデル601(「m0001」)を初期モデルとして、データ(「d0002」)を使用して追加学習することにより作成された派生モデルであることを示している。また、データ(「d0002」)は、データ(「d0001」)に基づいて作成(編集・追加)された派生データであることを示している。
【0034】
このように、トレーサビリティ情報は、それぞれのモデルおよびデータが過去に編集されてきた記録を示したものである。そのため、トレーサビリティ情報をたどることによって、それぞれのモデルを作成するために利用された1以上のモデルを特定することが可能となる。また、それぞれのデータを作成するために利用された1以上のデータを特定することが可能となる。
【0035】
関連モデル・データ管理部104は、ユーザからのモデルの取得指示に基づいて、関連するモデル、評価データ、学習データを取得する。関連モデル・データ管理部104の詳細については図3を参照して後述する。
【0036】
学習・評価部105は、使用可能なモデルやデータに基づいて、モデルの学習や評価を行う。なお、新たにモデルを学習した際には、モデルやデータに紐づいたモデル情報やデータ情報に基づいて、トレーサビリティ情報管理部103はトレーサビリティ情報を更新する。
【0037】
表示制御部107は、ユーザ端末12、13からの要求に対する情報処理装置11の結果表示のための制御を行う。
【0038】
記憶部20は、上述したCPUが実行する各種プログラムを記憶するほか、上述した、モデル、モデル情報、データ、データ情報、評価データ、トレーサビリティ情報等を記憶する。
【0039】
<装置の動作>
本実施形態は、学習モデル公開プラットフォームにおいて、学習済モデルの履歴(初期モデル、学習データ、それらの修正履歴)がトレーサビリティ情報(図6)として登録されていることを想定する。そして、上述の学習済モデルに対して追加学習を行う場合に、より高い学習精度を実現する方法について説明を行う。具体的には、所定の評価データを用いてトレーサビリティ情報で紐づいた1以上のモデルを評価し、その評価値が高いモデルに紐づいた学習データを選択して追加学習(再学習)を行う。
【0040】
図2は、ユーザ端末からの要求に伴う情報処理装置における処理の流れを示す図である。図2の処理1~7は、既存のデータセットに対して新規のデータを追加し、モデルに対して追加学習を行う処理を例示的に示している。一方、図2の処理8~15は、既存のデータセットの少なくとも一部に対して編集を行い、モデルに対して追加学習を行う処理を例示的に示している。
【0041】
以下の説明では、図2の処理1~7または処理8~15を介して、モデル600~602が予め登録されているものとする。ここでは、ユーザ0がモデル600(「m0000」)を登録し、ユーザ1がモデル601(「m0001」)を登録し、ユーザ2がモデル602(「m0002」)を登録しているものとする。各ユーザによるモデルの登録により、モデル600~602は、記憶部12に記憶される。また、上述のモデル情報(図4)、データ情報(図5)、トレーサビリティ情報(図6)が併せて登録される(ただし、モデル607および関連する情報はまだ登録されていない)。
【0042】
また、ここでは、ユーザ2は「人物全身」の検出を行いたいと考えていることを想定する。ただし、対象物体は何でもよく、対象物体を限定するものではない。人物の物体検出を行う目的は、例えば「カメラにおいて人物全身にピントを合わせる」ことである。また、ユーザ0は「犬」を、ユーザ1は「人物の胴体」を検出したいと考えていることを想定する。
【0043】
図3は、情報処理装置11においてモデルを追加学習(再学習)する際のフローチャートである。ここでは、ユーザ2がモデル602に対して追加学習を行い、追加学習により得られたモデル607を登録する状況を例に説明する。具体的には、モデル602に対する学習精度を向上させる(すなわち、より適切に「人物全身」が検出される)方法について説明を行う。以下の処理は、情報処理装置11が、ユーザ端末を介してユーザ2から所与のモデルとしてモデル602(「m0002」)に対する追加学習の指示を受け付けることにより開始される。
【0044】
S301では、関連モデル・データ管理部104は、モデル管理部101へモデル602(「m0002」)の取得を指示する。さらにモデル602に付与されたトレーサビリティ情報606を参照する。これにより、初期モデルとして紐づいたモデル601(「m0001」)を関連するモデルとして取得する。同様にして、さらに、モデル601において初期モデルとして紐づいたモデル600(「m0000」)を関連するモデルとして取得する。すなわち、モデル602に紐づいた1以上の関連モデル(モデル601、モデル600)をトレーサビリティ情報606に基づいて取得(モデル情報取得)する。また、関連モデル・データ管理部104は、データ管理部102から、モデル602に対応する評価データ(「e0002」)を取得する。
【0045】
図7は、物体検出における学習または評価に用いるデータセットの例を示す図である。学習または評価に用いるデータセットは、画像701および真値704を含む。画像701は、ユーザが認識したい被写体が映っている画像である。ここでは、ユーザ2が認識したい被写体である人物702に加え、認識する必要のない被写体である犬703が含まれている。
【0046】
また、物体検出を学習するためには、画像だけでなく、真値(GT:Ground Truth)としての被写体情報が必要である。被写体情報とは、例えば、画像中の検出対象物体の位置やサイズの情報に対応するバウンディングボックス情報(BB情報)である。BB705は人物702に対応するBBである。すなわち、データセットは、画像と当該画像に対応する真値との1以上のペアを含む。
【0047】
S302では、学習・評価部105は、S301で取得した評価データ(「e0002」)を用いて関連モデル(モデル600~602)に対する評価精度を示す評価値を取得する。例えば、評価値として、各モデルがどれだけ評価データ(「e0002」)に付与された真値に近いかを示す値を導出(算出)する。一例として、真値のBBとモデルが推定したBBがどれだけ近いかを示すIoU(Intersection over Union)を評価値として導出することが出来る。この場合、評価データに付与されたすべてのBBに対してIoUが平均でどれほどになるかを算出するとよい。他にも、適合率(Precision)、再現率(Recall)、ROC(Receiver Operating Characteristic curve)、AOU(Area under an ROC curve)などを評価値として用いることが出来る。
【0048】
S303では、学習・評価部105は、各関連モデルから得られた評価値に基づいて、何れの学習データがモデル602(「m0002」)の精度を向上させるうえで有用であるか否かの判定を行う。例えば、ある関連モデルに対する評価値が所定精度以上の場合に、当該関連モデルの学習に用いられた学習データを有用であると判定する。ここで、評価値が高いものを有用であると判定する理由は、評価値が高いほど対応する関連モデルに使用された学習データが、現在学習しようとしている対象と同じ対象を真値としている可能性が高いためである。
【0049】
図8は、異なる対象による真値の違いを説明する図である。画像801はユーザ1によって付与された真値を例示的に示している。一方、画像802はユーザ0によって付与された真値を例示的に示している。すなわち、上述したように、ユーザ1は「人物の胴体」を検出したいと考えているため、画像801に対する真値803として「人物の胴体」に対応するBBを設定している。一方、ユーザ0は「犬」を検出したいと考えているため、画像802に対する真値804として「犬」に対応するBBを設定している。ただし、ユーザ2は「人物全身」(BB705に対応)を検出したいと考えている。
【0050】
このように、同じ学習データで同じ対象(ここでは人物)であっても、ユーザ(ここではユーザ1、2)によっては異なる真値を設定することがあり得る。さらに、真値804のように、ユーザ2が全く期待していない対象(ここでは犬)への真値が与えられていることも考えられる。一方、ユーザ2によって準備された評価データ(「e0002」)は学習データ(「d0002」)と同様に、BB705のような「人物全身」でつけられていることが多い。
【0051】
そのため、真値の範囲が異なるBB803や、真値の対象物が異なるBB804で学習されたモデル600(「m0000」)およびモデル601(「m0001」)に対する評価値は、低くなる傾向にある。ただし、範囲は異なるが同じ対象物(ここでは人物)に真値を付与しているBB803とBB705は包含関係にある。そのため、IoUなどの評価値においては、包含関係にある真値によって学習されたモデル(「m0001」)に対する評価値はある程度高くなる。しかし、包含関係にない真値によって学習されたモデル(「m0000」)に対する評価値は低くなる。つまり、評価データ(「e0002」)の評価値が大きいモデルほど、同じ対象物(ここでは人物)に対する真値を学習している可能性が高いことを示している。同じ対象かつ定義の近い真値を持つ学習データが増えることによって学習データのバリエーションも増加させることができる。また、バリエーションの増加は過学習を抑制することができる。
【0052】
その他、トレーサビリティ情報606に基づいて、モデル602から順に初期モデルを辿り(さかのぼり)、所定精度以上の評価値を有するモデルを関連モデルとしてもよい。そして、評価値が所定精度以上となった関連モデルの学習に用いられた学習データを有用と判断し後述するS304の学習に使用する。これによって、同じ対象かつ定義の近い学習データを選択することが可能となる。
【0053】
また、トレーサビリティ情報を辿ることによるモデル毎の評価値の変動を調べ、ほぼ線形に推移する傾向がみられる場合には、カリキュラム学習のように学習順序によって精度向上の効果を得ていると判断してもよい。学習順序を保ったまま追加学習することで、モデル602の初回学習時の精度向上効果を保ちつつ、学習データのバリエーションを増やして学習精度を向上させることも出来る。
【0054】
S304では、学習・評価部105は、S303で有用と判断された1以上の学習データ(データセット)を取得(データ情報取得)して学習を行う。例えば、S303で学習データ(「d0001」)が有用と判断された場合、この学習データを学習データ(「d0002」)に追加して学習を実行する。なお、追加学習を行う対象のモデルはモデル602でもよいしモデル601でもよい。
【0055】
物体検出の学習方法に関しては、例えばニューラルネットワークを用いた手法が存在する。ニューラルネットワークを用いた物体検出の学習方法に関しては、文献Aが詳しい。S303において学習・評価部105が実行する評価では、学習に使用したデータまたは任意のデータが使用され得る。
(文献A)Tian et al., "FCOS: Fully Convolutional One-Stage Object Detection", arXiv:1904.01355, 2019年
【0056】
S305では、学習・評価部105は、追加学習により得られたモデル607(「m0002’」)をモデル管理部101に登録/記憶する。
【0057】
S306では、トレーサビリティ情報管理部103は、トレーサビリティ情報を更新する。例えば、モデル602に対して学習データ(「d0002」および「d0001」)を用いて追加学習を行いモデル607が作成された場合。図6に示すようにトレーサビリティ情報を更新する。
【0058】
以上説明したとおり第1実施形態によれば、モデルを追加学習(再学習)する場合に使用する学習データを決定する際に、トレーサビリティ情報を利用して追加学習に使用するデータを決定する。トレーサビリティ情報は、それぞれのモデルおよびデータが過去に編集されてきた記録を示したものである。特に、学習対象のモデルの関連モデルから得られた評価値に基づいて、定義の近い真値を持つ学習データを使用して学習された関連モデルを判定する。判定された関連モデルの学習に用いられた学習データを使用してモデルを追加学習(再学習)することにより、学習データのバリエーションを増やした学習が可能となり、学習精度を向上させることが可能となる。
【0059】
なお、上述の説明においては、学習データとして画像と真値とのセットを例に挙げたが、必ずしも画像と真値とのセットである必要はない。例えば、音声やテキストと真値とのセットでもよいし、画像、音声、テキストのみであってもよい。また、画像とテキストの組み合わせでもよい。また、上述した物体検出のような画像認識だけでなく、時系列データの予測・認識や、テキスト分類などの自然言語処理に適用してもよい。なお、トレーサビリティ情報を、情報処理装置11において一元管理する代わりに、ブロックチェーン技術などを用いて分散管理するよう構成してもよい。
【0060】
(第2実施形態)
第2実施形態では、トレーサビリティ情報で紐づいた学習データを中間特徴によって評価する形態について説明する。すなわち、学習・評価部105における評価方法が異なる点で第1実施形態と相違する。機能構成(図1)については第1実施形態と同様であるため説明は省略する。また、モデル情報(図4)、データ情報(図5)、トレーサビリティ情報(図6)についても第1実施形態と同様である場合について説明する。
【0061】
<装置の動作>
図9は、第2実施形態に係る情報処理装置における学習処理のフローチャートである。第1実施形態と同様に、ユーザ2がモデル602に対して追加学習を行い、追加学習により得られたモデル607を登録する状況を例に説明する。以下の処理は、情報処理装置11が、ユーザ端末を介してユーザ2からモデル602(「m0002」)に対する追加学習の指示を受け付けることにより開始される。
【0062】
S901では、関連モデル・データ管理部104は、第1実施形態と同様に、モデル602と、モデル602に紐づいた1以上の関連モデル(モデル601、モデル600)と、をトレーサビリティ情報606に基づいて取得する。また、関連モデル・データ管理部104は、データ管理部102から、関連モデル(モデル601、モデル600)の学習に用いられた学習データ(「d0001」「d0000」)を取得する。
S902では、学習・評価部105は、S901で取得した学習データに関する特徴量の算出を行う。具体的には、S901で取得した学習データ(「d0001」「d0000」)の一部または全部を、追加学習の対象であるモデル602(「m0002」)に入力し、その際にモデルが抽出した特徴量とする。ここで抽出される特徴量は、第1実施形態で説明した物体検出と同様のDNN系のモデルである場合、推論時に得られる各層の出力の一部(「中間特徴」)である。
【0063】
学習・評価部105は、抽出された中間特徴を用いて、データ(「d0002」)と、それ以外のデータ(ここでは「d0000」、「d0001」)それぞれの類似度を算出する。類似度の算出方法は、中間特徴同士が特徴空間上でどのような関係にあるかを定量的に測れるものであれば何でもよい。ここでは類似度の一例としてCOS類似度を用いることを想定する。DNNの中間特徴をCOS類似度によって比較する手法に関しては非特許文献1が詳しい。
【0064】
また、各学習データに含まれるデータが多い場合、それぞれの学習データからm個サンプリングしたデータを用いて学習データ間の類似度を算出してもよい。サンプリングの方法としては、母集団に対してバイアスの掛かりづらい手法(ランダムサンプリングなど)を用いることが好ましい。
【0065】
S903では、学習・評価部105は、S902で算出した類似度が所定値以上の学習データを、関連する学習データとして選択する。他にも各COS類似度の平均や分散に基づいて学習データ間の類似度求め、選択の基準とすることもできる。そうして選択された学習データを関連データとする。
【0066】
類似度比較の詳細について説明を行う。ここでは例としてデータ(「d0001」)とデータ(「d0002」)の類似度を比較する方法を説明する。まず、データ(「d0001」)からm個のサンプルを抽出し、データ(「d0002」)からもm個のサンプルを抽出する。このとき、それぞれのm個のサンプルについて、モデル602(「m0002」)を用いて中間特徴を算出する。これにより、データ(「d0001」)およびデータ(「d0002」)それぞれに対してm個の中間特徴が得られる。これらの中間特徴の、全ての組み合わせ(m×m通り)についてCOS類似度を算出し、全ての組み合わせに対するCOS類似度の総和を学習データ間の類似度とする。
【0067】
なお、サンプル数(m個)が多くなると、サンプルの中にはずれ値が紛れる可能性も高くなる。そのため、全ての組み合わせ(m×m通り)についてCOS類似度を算出し、その中から尤もらしいより少数の代表値を選出してもよい。具体的な手法については非特許文献1に詳細に記載されている。
【0068】
以降、S904~S906においては、第1実施形態と同様にして、モデル602の追加学習を行い、得られたモデルを登録/記憶し、トレーサビリティ情報を更新する。
【0069】
以上説明したとおり第2実施形態によれば、モデルを追加学習(再学習)する場合に使用する学習データを決定する際に、トレーサビリティ情報を利用して追加学習に使用するデータを決定する。特に、学習対象のモデルの学習で使用された学習データと、関連モデルそれぞれの学習で使用された学習データとの類似度を算出する。より類似度の高い学習データを使用してモデルを追加学習(再学習)することにより、学習データのバリエーションを増やした学習が可能となり、学習精度を向上させることが可能となる。
【0070】
(変形例)
上述の実施形態では物体検出モデルの学習を例に説明したが、他タイプのモデルの学習に対しても同様に適用することが出来る。以下では変形例として、画像生成タスクで利用される画像生成モデルに適用した形態について説明する。画像生成AIとは、文献Bに代表されるような画像生成技術である。
(文献B)Rombach et al., "High-Resolution Image Synthesis with Latent Diffusion Models", CVPR 2022, arXiv:2112.10752, 2021年
【0071】
なお、情報処理装置の機能構成や動作は第1実施形態(図1図3)と同様であるため説明は省略する。ただし、モデルの学習に用いる真値のデータとしてBBではなく文字列(テキスト)を利用する点が異なる。
【0072】
図10は、変形例における学習データの例を示す図である。学習データは、画像1001および真値1002を含む。画像1001は、ユーザが認識したい被写体(ここでは人物)が映っている画像である。また、画像生成タスクのモデルを学習するためには、画像だけでなく、真値(GT)としての被写体情報が必要である。被写体情報とは、例えば、画像中の被写体を表すテキストである。ここでは、真値1002は、画像1001に写る被写体に対応するテキストとして「人」が指定されている。
【0073】
図11は、変形例におけるデータに付与される情報の例を示す図である。ここでは、ユーザ1が、初期モデル(「m0000」)に対して図10に示すようなデータ(「d0001」)を使用してモデル(「m0001」)を作成し、学習モデル公開プラットフォームで公開しているとする。その場合、学習モデル公開プラットフォームを利用するユーザ2は、公開されているモデル(「m0001」)に対して、自身が作成したデータ(「d0002」)を使用してモデル(「m0002」)を作成することが出来る。
【0074】
このように、変形例では、真値がBBでなく被写体を説明する文字列である。この場合、評価値として、誤差関数で算出した値や、各評価画像を所定の中間特徴(埋め込み表現)に変換してそれらの平均や分散を用いた値を用いることが出来る。例として、FID(Frechet Inception Distance)を用いて評価データに対するモデルの評価を行う方法について説明する。
【0075】
まず、評価データ(図10)を学習済みモデル(ここでは「m0001」)に入力することで得られる埋め込み表現と、モデル(「m0002」)の出力した画像を学習済みモデルに入力して得られる埋め込み表現と、の2種類を算出する。そして、これらの埋め込み表現同士の埋め込み表現空間上の平均や分散を算出し、2種類の埋め込み表現の類似度を算出する。より尤もらしい画像を生成させるタスクの場合、FIDが低いほうがより高い評価値といえる。そして、第1実施形態と同様に、評価値が所定値より高いモデルに対して学習に使用された学習データを有用である判定し、モデル(「m0002」)の学習に使用する。
【0076】
また、第2実施形態と同様に、トレーサビリティ情報で紐づいた学習データの一部もしくは全部に対してモデル(「m0002」)を用いて類似度を算出することもできる。すなわち、関連モデルそれぞれについてm個のサンプルを抽出する。得られたサンプルからモデル(「m0002」)によって埋め込み表現を算出し、前述したFIDなどの指標によって学習データ同士の類似度を算出する。類似度が高い学習データほど、すでに学習されたモデル(「m0002」)の性質に近い特徴を有しているといえる。そのため、類似度が所定値未満の場合に関連する学習データと判定する。モデル(「m0002」)の学習(S304)の詳細は、前述した文献Bに記載されている。
【0077】
本明細書の開示は、以下の情報処理装置、制御方法およびプログラムを含む。
(項目1)
複数の学習モデルを管理する情報処理装置であって、
前記複数の学習モデルそれぞれについて、学習モデルの学習で使用されたデータセットを特定する第1の情報と、学習モデルの学習で使用された初期モデルを特定する第2の情報と、を管理するモデル管理手段と、
前記複数の学習モデルそれぞれの前記第1の情報で特定される複数のデータセットに関する第3の情報を管理するデータ管理手段と、
前記複数の学習モデルに含まれる所与の学習モデルを初期モデルとした追加学習の指示を受け付ける受付手段と、
前記第1の情報と前記第2の情報と前記第3の情報とに基づいて、前記複数のデータセットから前記追加学習に使用するデータセットを決定する決定手段と、
を備え、
前記決定手段は、前記所与の学習モデルの初期モデルとして使用された1以上の学習モデルそれぞれに対して所与のデータセットを入力して際の評価精度が所定精度以上である学習モデルの学習に使用されたデータセットを前記追加学習に使用するデータセットとして決定する
ことを特徴とする情報処理装置。
(項目2)
前記モデル管理手段は、学習モデルの評価で使用されたデータセットを特定する第4の情報をさらに管理し、
前記所与のデータセットは、前記所与の学習モデルの評価で使用されたデータセットである
ことを特徴とする項目1に記載の情報処理装置。
(項目3)
前記所与のデータセットは、画像と該画像に対応する真値との1以上のペアを含む
ことを特徴とする項目1または2に記載の情報処理装置。
(項目4)
前記複数の学習モデルは物体検出モデルであり、
前記真値は、前記画像に含まれる検出対象物体のバウンディングボックス情報である
ことを特徴とする項目3に記載の情報処理装置。
(項目5)
前記複数の学習モデルは画像生成モデルであり、
前記真値は、前記画像に含まれる被写体を示す文字列である
ことを特徴とする項目3に記載の情報処理装置。
(項目6)
複数の学習モデルを管理する情報処理装置であって、
前記複数の学習モデルそれぞれについて、学習モデルの学習で使用されたデータセットを特定する第1の情報と、学習モデルの学習で使用された初期モデルを特定する第2の情報と、を管理するモデル管理手段と、
前記複数の学習モデルそれぞれの前記第1の情報で特定される複数のデータセットに関する第3の情報を管理するデータ管理手段と、
前記複数の学習モデルに含まれる所与の学習モデルを初期モデルとした追加学習の指示を受け付ける受付手段と、
前記第1の情報と前記第2の情報と前記第3の情報とに基づいて、前記複数のデータセットから前記追加学習に使用するデータセットを決定する決定手段と、
を備え、
前記決定手段は、前記所与の学習モデルの初期モデルとして使用された1以上の学習モデルそれぞれの学習に使用された1以上のデータセットのうち、前記所与の学習モデルの学習で使用された第1のデータセットとの類似度が所定値以上であるデータセットを前記追加学習に使用するデータセットとして決定する
ことを特徴とする情報処理装置。
(項目7)
前記決定手段は、前記1以上のデータセットを前記所与の学習モデルに入力して得られる特徴量と、前記第1のデータセットを前記所与の学習モデルに入力して得られる特徴量と、を比較することにより前記類似度を導出する
ことを特徴とする請求項6に記載の情報処理装置。
(項目8)
複数の学習モデルを管理する情報処理装置の制御方法であって、
前記複数の学習モデルそれぞれについて、学習モデルの学習で使用されたデータセットを特定する第1の情報と、学習モデルの学習で使用された初期モデルを特定する第2の情報と、を取得するモデル情報取得工程と、
前記複数の学習モデルそれぞれの前記第1の情報で特定される複数のデータセットに関する第3の情報を取得するデータ情報取得工程と、
前記複数の学習モデルに含まれる所与の学習モデルを初期モデルとした追加学習の指示を受け付ける受付工程と、
前記第1の情報と前記第2の情報と前記第3の情報とに基づいて、前記複数のデータセットから前記追加学習に使用するデータセットを決定する決定工程と、
を含み、
前記決定工程では、前記所与の学習モデルの初期モデルとして使用された1以上の学習モデルそれぞれに対して所与のデータセットを入力した際の評価精度が所定精度以上である学習モデルの学習に使用されたデータセットを前記追加学習に使用するデータセットとして決定する
ことを特徴とする制御方法。
(項目9)
複数の学習モデルを管理する情報処理装置の制御方法であって、
前記複数の学習モデルそれぞれについて、学習モデルの学習で使用されたデータセットを特定する第1の情報と、学習モデルの学習で使用された初期モデルを特定する第2の情報と、を取得するモデル情報取得工程と、
前記複数の学習モデルそれぞれの前記第1の情報で特定される複数のデータセットに関する第3の情報を取得するデータ情報取得工程と、
前記複数の学習モデルに含まれる所与の学習モデルを初期モデルとした追加学習の指示を受け付ける受付工程と、
前記第1の情報と前記第2の情報と前記第3の情報とに基づいて、前記複数のデータセットから前記追加学習に使用するデータセットを決定する決定工程と、
を含み、
前記決定工程では、前記所与の学習モデルの初期モデルとして使用された1以上の学習モデルそれぞれの学習に使用された1以上のデータセットのうち、前記所与の学習モデルの学習で使用された第1のデータセットとの類似度が所定値以上であるデータセットを前記追加学習に使用するデータセットとして決定する
ことを特徴とする制御方法。
(項目10)
項目8または9に記載の制御方法をコンピュータに実行させるためのプログラム。
【0078】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0079】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0080】
10 制御部; 11 情報処理装置; 20 記憶部; 12,13 ユーザ端末
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11