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

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

▶ トヨタ自動車株式会社の特許一覧 ▶ 国立大学法人 東京大学の特許一覧

特許7601730学習方法、情報処理装置、学習プログラム
<>
  • 特許-学習方法、情報処理装置、学習プログラム 図1
  • 特許-学習方法、情報処理装置、学習プログラム 図2
  • 特許-学習方法、情報処理装置、学習プログラム 図3
  • 特許-学習方法、情報処理装置、学習プログラム 図4
  • 特許-学習方法、情報処理装置、学習プログラム 図5
  • 特許-学習方法、情報処理装置、学習プログラム 図6
  • 特許-学習方法、情報処理装置、学習プログラム 図7
  • 特許-学習方法、情報処理装置、学習プログラム 図8
  • 特許-学習方法、情報処理装置、学習プログラム 図9
  • 特許-学習方法、情報処理装置、学習プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】学習方法、情報処理装置、学習プログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20241210BHJP
   G06N 20/00 20190101ALI20241210BHJP
【FI】
G06T7/00 350B
G06N20/00 130
【請求項の数】 12
(21)【出願番号】P 2021138368
(22)【出願日】2021-08-26
(65)【公開番号】P2023032318
(43)【公開日】2023-03-09
【審査請求日】2024-01-16
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(73)【特許権者】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】110003199
【氏名又は名称】弁理士法人高田・高橋国際特許事務所
(72)【発明者】
【氏名】安間 絢子
(72)【発明者】
【氏名】勝又 海
(72)【発明者】
【氏名】中山 英樹
(72)【発明者】
【氏名】岸田 一輝
【審査官】伊知地 和之
(56)【参考文献】
【文献】国際公開第2021/005653(WO,A1)
【文献】特開2013-131172(JP,A)
【文献】中国特許出願公開第111881757(CN,A)
【文献】竹木章人 外3名,新出に対応する深層学習を用いたメタ認知に基づく画像認識,FIT2017 第16回情報科学技術フォーラム 講演論文集 第3分冊 選奨論文・一般論文,2017年09月05日,pp.81~84
【文献】Hadsell R. et al.,“Dimensionality Reduction by Learning an Invariant Mapping”,2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06)[online],IEEE,2006年06月17日,Vol.2,pp.1735-1742,[検索日 2024.11.1], インターネット:<URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1640964>,DOI: 10.1109/CVPR.2006.100
【文献】Panareda Busto Pau et al.,“Open Set Domain Adaptation for Image and Action Recognition”,IEEE Transactions on Pattern Analysis and Machine Intelligence[online],IEEE,2018年11月12日,Vol.42,No.2,pp.413-429,[検索日 2024.11.1], インターネット:<URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8531764>,DOI: 10.1109/TPAMI.2018.2880750
(58)【調査した分野】(Int.Cl.,DB名)
G06F 18/00 - 18/40
G06N 3/00 - 99/00
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
CSDB(日本国特許庁)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
画像データのクラスを分類するための前記画像データの特徴量を抽出する機械学習モデルの学習方法であって、
前記クラスの正解ラベルが与えられた学習データを入力とし、複数の前記学習データの前記特徴量を取得するステップと、
前記特徴量に基づいて損失関数を算出するステップと、
前記損失関数を小さくするように前記機械学習モデルのパラメータを更新するステップと、
を含み、
前記クラスは、前記画像データが特定の種別であることを示す複数の既知クラスと、前記画像データがいずれの前記種別にも属さないことを示す未知クラスと、により構成され、
前記損失関数は、
前記正解ラベルが前記未知クラスである前記学習データから選択された複数の第1アンカーデータそれぞれに対して、前記第1アンカーデータの前記特徴量と適宜選択された前記学習データの前記特徴量との距離を与え、前記距離が所定のマージンより小さいほど大きな値となる第1損失関数と、
前記正解ラベルが前記既知クラスである前記学習データから選択された複数の第2アンカーデータそれぞれに対して、前記第2アンカーデータの前記特徴量と適宜選択された前記学習データの前記特徴量との前記距離を与え、前記正解ラベルが前記第2アンカーデータと同一である前記学習データに係る前記距離が大きく、前記正解ラベルが前記第2アンカーデータと異なる前記学習データに係る前記距離が小さいほど大きな値となる第2損失関数と、
を項として含む
ことを特徴とする学習方法。
【請求項2】
請求項1に記載の学習方法であって、
前記第1アンカーデータをxa、前記第1アンカーデータに対して選択する前記学習データをxn、前記学習データxnのサンプル数をK、前記第1アンカーデータxa及び前記学習データxnそれぞれに与えられる前記正解ラベルをya及びyn、複数の前記既知クラスの集合をC、前記未知クラスをu、前記マージンをα、前記距離を与える関数をd、前記第1アンカーデータxa及び前記学習データxnそれぞれの前記特徴量をf(xa)及びf(xn)とするとき、前記第1損失関数が、以下の式(1)で示すLdで表される
ことを特徴とする学習方法。
【数1】

【請求項3】
請求項1又は請求項2に記載の学習方法であって、
前記第2損失関数は、前記第2アンカーデータをアンカーとし、前記第1損失関数の前記マージンと同一のマージンで構成されるトリプレット損失関数である
ことを特徴とする学習方法。
【請求項4】
画像データの特徴量を抽出し前記特徴量から前記画像データのクラスを分類する機械学習モデルの学習方法であって、
前記クラスの正解ラベルが与えられた学習データを入力とし、複数の前記学習データに対する出力及び複数の前記学習データの前記特徴量を取得するステップと、
前記出力及び前記特徴量に基づいて損失関数を算出するステップと、
前記損失関数を小さくするように前記機械学習モデルのパラメータを更新するステップと、
を含み、
前記クラスは、前記画像データが特定の種別であることを示す複数の既知クラスと、前記画像データがいずれの前記種別にも属さないことを示す未知クラスと、により構成され、
前記損失関数は、
前記出力が前記正解ラベルと一致するほど小さな値となる主損失関数と、
前記正解ラベルが前記未知クラスである前記学習データから選択された複数の第1アンカーデータそれぞれに対して、前記第1アンカーデータの前記特徴量と適宜選択された前記学習データの前記特徴量との距離を与え、前記距離が所定のマージンより小さいほど大きな値となる第1損失関数と、
前記正解ラベルが前記既知クラスである前記学習データから選択された複数の第2アンカーデータそれぞれに対して、前記第2アンカーデータの前記特徴量と適宜選択された前記学習データの前記特徴量との前記距離を与え、前記正解ラベルが前記第2アンカーデータと同一である前記学習データに係る前記距離が大きく、前記正解ラベルが前記第2アンカーデータと異なる前記学習データに係る前記距離が小さいほど大きな値となる第2損失関数と、
を項として含む
ことを特徴とする学習方法。
【請求項5】
請求項4に記載の学習方法であって、
前記第1アンカーデータをxa、前記第1アンカーデータに対して選択する前記学習データをxn、前記学習データxnのサンプル数をK、前記第1アンカーデータxa及び前記学習データxnそれぞれに与えられる前記正解ラベルをya及びyn、複数の前記既知クラスの集合をC、前記未知クラスをu、前記マージンをα、前記距離を与える関数をd、前記第1アンカーデータxa及び前記学習データxnそれぞれの前記特徴量をf(xa)及びf(xn)とするとき、前記第1損失関数が、以下の式(1)で示すLdで表される
ことを特徴とする学習方法。
【数2】

【請求項6】
請求項4又は請求項5に記載の学習方法であって、
前記第2損失関数は、前記第2アンカーデータをアンカーとし、前記第1損失関数の前記マージンと同一のマージンで構成されるトリプレット損失関数である
ことを特徴とする学習方法。
【請求項7】
請求項4乃至請求項6のいずれか1項に記載の学習方法であって、
前記主損失関数は、前記画像データのドメインに依らずに前記画像データのクラスを分類することが可能なように前記機械学習モデルを学習させる損失関数を含む
ことを特徴とする学習方法。
【請求項8】
画像データの特徴量を抽出する特徴量抽出処理部と、前記特徴量から前記画像データのクラスを分類するクラス分類処理部と、を有する情報処理装置であって、
前記クラスは、前記画像データが特定の種別であることを示す複数の既知クラスと、前記画像データがいずれの前記種別にも属さないことを示す未知クラスと、により構成され、
前記特徴量抽出処理部及び前記クラス分類処理部は、機械学習モデルにより構成され、
前記機械学習モデルは、前記クラスの正解ラベルが与えられた複数の学習データを用いて損失関数を小さくするように学習されており、
前記損失関数は、
前記学習データに対する出力が前記正解ラベルと一致するほど小さな値となる主損失関数と、
前記正解ラベルが前記未知クラスである前記学習データから選択された複数の第1アンカーデータそれぞれに対して、前記第1アンカーデータの前記特徴量と適宜選択された前記学習データの前記特徴量との距離を与え、前記距離が所定のマージンより小さいほど大きな値となる第1損失関数と、
前記正解ラベルが前記既知クラスである前記学習データから選択された複数の第2アンカーデータそれぞれに対して、前記第2アンカーデータの前記特徴量と適宜選択された前記学習データの前記特徴量との前記距離を与え、前記正解ラベルが前記第2アンカーデータと同一である前記学習データに係る前記距離が大きく、前記正解ラベルが前記第2アンカーデータと異なる前記学習データに係る前記距離が小さいほど大きな値となる第2損失関数と、
を項として含む
ことを特徴とする情報処理装置。
【請求項9】
請求項8に記載の情報処理装置であって、
前記第1アンカーデータをxa、前記第1アンカーデータに対して選択する前記学習データをxn、前記学習データxnのサンプル数をK、前記第1アンカーデータxa及び前記学習データxnそれぞれに与えられる前記正解ラベルをya及びyn、複数の前記既知クラスの集合をC、前記未知クラスをu、前記マージンをα、前記距離を与える関数をd、前記第1アンカーデータxa及び前記学習データxnそれぞれの前記特徴量をf(xa)及びf(xn)とするとき、前記第1損失関数が、以下の式(1)で示すLdで表される
ことを特徴とする情報処理装置。
【数3】

【請求項10】
請求項8又は請求項9に記載の情報処理装置であって、
前記第2損失関数は、前記第2アンカーデータをアンカーとし、前記第1損失関数の前記マージンと同一のマージンで構成されるトリプレット損失関数である
ことを特徴とする情報処理装置。
【請求項11】
請求項8乃至請求項10のいずれか1項に記載の情報処理装置であって、
前記主損失関数は、前記画像データのドメインに依らずに前記画像データのクラスを分類することが可能なように前記機械学習モデルを学習させる損失関数を含む
ことを特徴とする情報処理装置。
【請求項12】
請求項1乃至請求項7のいずれか1項に記載の学習方法をコンピュータに実行させる学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、学習方法、情報処理装置、及び学習プログラムに関し、特に画像データの特徴量を抽出し特徴量から画像データのクラスを分類する技術に関する。
【背景技術】
【0002】
機械学習において、テストデータのドメインが学習データのドメインと異なる場合、性能が低下することが知られている。DG(Domain Generalization)は、このようにテストデータのドメイン(ターゲットドメイン)が学習データのドメイン(ソースドメイン)と異なる場合であっても性能を維持するための技術である。機械学習が利用される多くのアプリケーションでは、学習データとは異なる新たな環境において良い性能を達成することが求められるため、近年、DGは一際注目されている。機械学習に係る従来技術としては、例えば、特許文献1を挙げることができる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019―091443号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来、クラス分類を行う装置の学習にDGを適用する場合、ターゲットドメインのデータが分類されるクラスの全てが、ソースドメインとして現れていることが要求される。しかしながら、実際に適用される場合(例えば、自動運転車に適用する場合)では、学習時に現れるいずれのクラスでもないことも見分けなければならない。
【0005】
そこで、本開示に係る発明者は、特定の種別である(関心のある種別である)ことを示す既知クラスと、既知クラスが示すいずれの種別にも属さない(関心のない種別である)ことを示す未知クラスと、がソースドメイン及びターゲットドメインの両方に存在するとして、DGを実施する課題をOSDG(Open Set Domain Generalization)と定義した。OSDGを解くためには、既知クラスと未知クラスの分離とDGを同時に実施することが求められる。
【0006】
従来のDGは、典型的には、特徴量空間における複数のソースドメインに渡るデータの散らばりを整えることで行われる。しかしながら、OSDGでは未知クラスが存在するために、従来のDGを単にOSDGに適用しても効果的に解くことができない。
【0007】
本開示は、上記の課題を鑑みてなされたものであり、画像データの特徴量を抽出し特徴量から画像データのクラスを分類する技術に関して、OSDGを効果的に解くことが可能な学習方法、情報処理装置、及び学習方法をコンピュータに実行させる学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
第1の開示は、画像データのクラスを分類するための前記画像データの特徴量を抽出する機械学習モデルの学習方法に関する。
第1の開示に係る学習方法は、前記クラスの正解ラベルが与えられた学習データを入力とし、複数の前記学習データの前記特徴量を取得するステップと、前記特徴量に基づいて損失関数を算出するステップと、前記損失関数を小さくするように前記機械学習モデルのパラメータを更新するステップと、を含む。
ここで、前記クラスは、前記画像データが特定の種別であることを示す複数の既知クラスと、前記画像データがいずれの前記種別にも属さないことを示す未知クラスと、により構成される。
また、前記損失関数は、前記正解ラベルが前記未知クラスである前記学習データから選択された複数の第1アンカーデータそれぞれに対して、前記第1アンカーデータの前記特徴量と適宜選択された前記学習データの前記特徴量との距離を与え、前記距離が所定のマージンより小さいほど大きな値となる第1損失関数と、前記正解ラベルが前記既知クラスである前記学習データから選択された複数の第2アンカーデータそれぞれに対して、前記第2アンカーデータの前記特徴量と適宜選択された前記学習データの前記特徴量との前記距離を与え、前記正解ラベルが前記第2アンカーデータと同一である前記学習データに係る前記距離が大きく、前記正解ラベルが前記第2アンカーデータと異なる前記学習データに係る前記距離が小さいほど大きな値となる第2損失関数と、を項として含む。
【0009】
第2の開示は、第1の開示に係る学習方法に対して、さらに以下の特徴を有する学習方法に関する。
前記第1アンカーデータをxa、前記第1アンカーデータに対して選択する前記学習データをxn、前記学習データxnのサンプル数をK、前記第1アンカーデータxa及び前記学習データxnそれぞれに与えられる前記正解ラベルをya及びyn、複数の前記既知クラスの集合をC、前記未知クラスをu、前記マージンをα、前記距離を与える関数をd、前記アンカーデータxa及び前記学習データxnそれぞれの前記特徴量をf(xa)及びf(xn)とするとき、前記第1損失関数が、以下の式(1)で示すLdで表される。
【数1】

【0010】
第3の開示は、第1又は第2の開示に係る学習方法に対して、さらに以下の特徴を有する学習方法に関する。
前記第2損失関数は、前記第2アンカーデータをアンカーとし、前記第1損失関数の前記マージンと同一のマージンで構成されるトリプレット損失関数である。
【0011】
第4の開示は、画像データの特徴量を抽出し前記特徴量から前記画像データのクラスを分類する機械学習モデルの学習方法に関する。
第4の開示に係る学習方法は、前記クラスの正解ラベルが与えられた学習データを入力とし、複数の前記学習データに対する出力及び複数の学習データの前記特徴量を取得するステップと、前記出力及び前記特徴量に基づいて損失関数を算出するステップと、前記損失関数を小さくするように前記機械学習モデルのパラメータを更新するステップと、を含む。
ここで、前記クラスは、前記画像データが特定の種別であることを示す複数の既知クラスと、前記画像データがいずれの前記種別にも属さないことを示す未知クラスと、により構成される。
また、前記損失関数は、前記出力が前記正解ラベルと一致するほど小さな値となる主損失関数と、前記正解ラベルが前記未知クラスである前記学習データから選択された複数の第1アンカーデータそれぞれに対して、前記第1アンカーデータの前記特徴量と適宜選択された前記学習データの前記特徴量との距離を与え、前記距離が所定のマージンより小さいほど大きな値となる第1損失関数と、前記正解ラベルが前記既知クラスである前記学習データから選択された複数の第2アンカーデータそれぞれに対して、前記第2アンカーデータの前記特徴量と適宜選択された前記学習データの前記特徴量との前記距離を与え、前記正解ラベルが前記第2アンカーデータと同一である前記学習データに係る前記距離が大きく、前記正解ラベルが前記第2アンカーデータと異なる前記学習データに係る前記距離が小さいほど大きな値となる第2損失関数と、を項として含む。
【0012】
第5の開示は、第4の開示に係る学習方法に対して、さらに以下の特徴を有する学習方法に関する。
前記第1アンカーデータをxa、前記第1アンカーデータに対して選択する前記学習データをxn、前記学習データxnのサンプル数をK、前記第1アンカーデータxa及び前記学習データxnそれぞれに与えられる前記正解ラベルをya及びyn、複数の前記既知クラスの集合をC、前記未知クラスをu、前記マージンをα、前記距離を与える関数をd、前記アンカーデータxa及び前記学習データxnそれぞれの前記特徴量をf(xa)及びf(xn)とするとき、前記第1損失関数が、以下の式(1)で示すLdで表される。
【数2】

【0013】
第6の開示は、第4又は第5の開示に係る学習方法に対して、さらに以下の特徴を有する学習方法に関する。
前記第2損失関数は、前記第2アンカーデータをアンカーとし、前記第1損失関数の前記マージンと同一のマージンで構成されるトリプレット損失関数である。
【0014】
第7の開示は、第4乃至第6の開示のいずれか1つの開示に係る学習方法に対して、さらに以下の特徴を有する学習方法に関する。
前記主損失関数は、前記画像データのドメインに依らずに前記画像データのクラスを分類することが可能なように前記機械学習モデルを学習させる損失関数を含む。
【0015】
第8の開示は、画像データの特徴量を抽出する特徴量抽出処理部と、前記特徴量から前記画像データのクラスを分類するクラス分類処理部と、を有する情報処理装置に関する。
前記クラスは、前記画像データが特定の種別であることを示す複数の既知クラスと、前記画像データがいずれの前記種別にも属さないことを示す未知クラスと、により構成される。また、前記特徴量抽出処理部及び前記クラス分類処理部は、機械学習モデルにより構成される。前記機械学習モデルは、前記クラスの正解ラベルが与えられた複数の学習データを用いて損失関数を小さくするように学習されている。
ここで、前記損失関数は、前記出力が前記正解ラベルと一致するほど小さな値となる主損失関数と、前記正解ラベルが前記未知クラスである前記学習データから選択された複数の第1アンカーデータそれぞれに対して、前記第1アンカーデータの前記特徴量と適宜選択された前記学習データの前記特徴量との距離を与え、前記距離が所定のマージンより小さいほど大きな値となる第1損失関数と、前記正解ラベルが前記既知クラスである前記学習データから選択された複数の第2アンカーデータそれぞれに対して、前記第2アンカーデータの前記特徴量と適宜選択された前記学習データの前記特徴量との前記距離を与え、前記正解ラベルが前記第2アンカーデータと同一である前記学習データに係る前記距離が大きく、前記正解ラベルが前記第2アンカーデータと異なる前記学習データに係る前記距離が小さいほど大きな値となる第2損失関数と、を項として含む。
【0016】
第9の開示は、第8の開示に係る情報処理装置に対して、さらに以下の特徴を有する情報処理装置に関する。
前記第1アンカーデータをxa、前記第1アンカーデータに対して選択する前記学習データをxn、前記学習データxnのサンプル数をK、前記第1アンカーデータxa及び前記学習データxnそれぞれに与えられる前記正解ラベルをya及びyn、複数の前記既知クラスの集合をC、前記未知クラスをu、前記マージンをα、前記距離を与える関数をd、前記アンカーデータxa及び前記学習データxnそれぞれの前記特徴量をf(xa)及びf(xn)とするとき、前記第1損失関数が、以下の式(1)で示すLdで表される。
【数3】

【0017】
第10の開示は、第8又は第9の開示に係る情報処理装置に対して、さらに以下の特徴を有する情報処理装置に関する。
前記第2損失関数は、前記第2アンカーデータをアンカーとし、前記第1損失関数の前記マージンと同一のマージンで構成されるトリプレット損失関数である。
【0018】
第11の開示は、第8乃至第10の開示のいずれか1つの開示に係る情報処理装置に対して、さらに以下の特徴を有する情報処理装置に関する。
前記主損失関数は、前記画像データのドメインに依らずに前記画像データのクラスを分類することが可能なように前記機械学習モデルを学習させる損失関数を含む。
【0019】
第12の開示は、第1乃至第7の開示のいずれか1項の開示に係る学習方法をコンピュータに実行させる学習プログラムである。
【発明の効果】
【0020】
本開示に係る学習方法、情報処理装置、及び学習方法をコンピュータに実行させる学習プログラムによれば、損失関数は、第1損失関数及び第2損失関数を項として含む。これにより、未知クラスの画像データを取り除くように分割可能な特徴量空間を構成することができる。延いては、OSDGを効果的に解くことが可能な機械学習モデルを構成することができ、またOSDGを効果的に解くことが可能な情報処理装置を与えることができる。
【図面の簡単な説明】
【0021】
図1】対象となるデータが画像データである場合のOSDGについて説明するための概念図である。
図2】本実施形態に係る学習方法により学習が行われる機械学習モデルの構成例を示すブロック図である。
図3】本実施形態に係る学習方法を示すフローチャートである。
図4】第1損失関数により達成される特徴量空間を表現する概念図である。
図5】第1損失関数を小さくするように学習を行う場合の特徴量空間の概念図である。
図6】第2損失関数を小さくするように学習を行う場合の特徴量空間の概念図である。
図7】本実施形態に係る学習方法により学習を行った機械学習モデルの実施例を示す表である。
図8】VLCSの画像データの例を示す図である。
図9】DomainNetの画像データの例を示す図である。
図10】本実施形態に係る情報処理装置の構成例を示すブロック図である。
【発明を実施するための形態】
【0022】
以下、図面を参照して本開示の実施形態について説明する。ただし、以下に示す実施の形態において各要素の個数、数量、量、範囲などの数に言及した場合、特に明示した場合や原理的に明らかにその数が特定される場合を除いて、その言及した数に、本開示に係る思想が限定されるものではない。また、以下に示す実施の形態において説明する構成等は、特に明示した場合や原理的に明らかにそれに特定される場合を除いて、本開示に係る思想に必ずしも必須のものではない。なお、各図中、同一又は相当する部分には同一の符号を附しており、その重複説明は適宜に簡略化ないし省略する。
【0023】
1.OSDG(Open Set Domain Generalization)
本実施形態に係る学習方法は、画像データの特徴量を抽出し特徴量から画像データのクラスを分類する機械学習モデルの学習方法である。特に、OSDGを解くことを目的とする機械学習モデルに関する。以下、対象となるデータが画像データである場合のOSDGについて説明する。
【0024】
OSDGは、クラスが、特定の種別である(関心のある種別である)ことを示す既知クラスと、既知クラスのいずれの種別にも属さない(関心のない種別である)ことを示す未知クラスと、により構成され、対象となるデータのドメインに依存せずに、データのクラス分類を行う問題である。
【0025】
図1は、対象となるデータが画像データである場合のOSDGについて説明するための概念図である。図1では、クラスは、画像データに写る物体の種別を示している。そして、クラスは、既知クラスである「犬」、「馬」、「人」と、未知クラスと、により構成されている。ここで、未知クラスは、画像データに写る物体の種別が「犬」、「馬」、「人」のいずれの種別でもないことを示している。また、図1には、ドメインの異なる複数の画像データ(写真、絵、スケッチ等)が示されている。
【0026】
つまり図1において、OSDGは、ドメインに依存せずに、画像データに写る物体が、「犬」、「馬」、「人」であることを分類する一方で、それ以外の物体が写る画像データを取り除く問題である。例えば、画像データに「犬」、「馬」、「人」が写っていることを認識したい(関心がある)一方で、それ以外の物体が写っていることに関心がない場合である。このような場合は、画像データから物体認識を行おうとする場合等、実際的な問題として挙げられる。
【0027】
図1に示すOSDGを解く機械学習モデルを構築する場合、図1に示すように、正解ラベルが与えられたドメインの異なる複数の画像データを学習データとして学習を行う。ここで、従来のDGと異なるのは、分類するクラスに未知クラスが含まれており、学習データに正解ラベルが未知クラスである画像データが含まれることである。また、対象データにも、未知クラスの画像データが含まれる。
【0028】
なおOSDGでは、従来のDGと同様に、学習データには存在しないドメインの画像データを対象データとすることを含んでいる。例えば、図1では、学習データとして、写真(1段目、photo)、絵(2段目、art)、スケッチ(3段目、sketch)の画像データが与えられている一方で、対象データは、漫画調やデフォルメされた物体の画像データである。以下、学習データのドメインを「ソースドメイン」、対象データのドメインを「ターゲットドメイン」とも称する。
【0029】
一般に、画像データのクラス分類を行う場合、画像データの特徴量を抽出し、抽出した特徴量の特徴量空間上の位置から画像データのクラスを分類する。従来のDGは、典型的には、複数のソースドメインに渡る学習データを利用することにより、特徴量空間を整えるように動作する。一方で、従来のDGを単にOSDGに適用しても、ターゲットドメインの未知クラスに関しては、適切に特徴量空間が整えられることが保障されない。これは、従来のDGでは、ソースドメイン及びターゲットドメインに未知クラスを必要としていないからである。このため、従来のDGでは、未知クラスに分類されるべきターゲットドメインの画像データが、既知クラスに相当する特徴量空間上の位置に写される虞がある。
【0030】
OSDGを解くためには、少なくとも2つの機構が必要となる。1つ(第1の機構)は、未知クラスの画像データを取り除くように分割可能な特徴量空間を構成することである。もう1つ(第2の機構)は、複数のドメインに渡る既知クラスの特徴量空間上の位置を揃えるように分布のマッチングを行うことである。従来のDGでは、後者の機構を有することでドメインに依存しないクラス分類が可能である一方で、前述したように、前者の機構が十分でない。
【0031】
そこで、本実施形態に係る学習方法は、第1の機構を与える。また、第2の機構については従来のDGを採用することができる。これにより、OSDGを効果的に解くことが可能な機械学習モデルを構築することができる。
【0032】
2.機械学習モデル
以下、本実施形態に係る学習方法により学習が行われる機械学習モデルについて説明する。図2は、本実施形態に係る学習方法により学習が行われる機械学習モデル10の構成例を示すブロック図である。
【0033】
機械学習モデル10は、特徴量抽出処理部11と、クラス分類処理部12と、を備えている。特徴量抽出処理部11は、画像データを入力とし、特徴量を出力する。特徴量抽出処理部11が出力する特徴量は、クラス分類処理部12に伝達される。クラス分類処理部12は、特徴量を入力とし、クラスを出力する。つまり、機械学習モデル10は、画像データのクラス分類を行う。
【0034】
機械学習モデル10は、特徴量抽出処理部11及びクラス分類処理部12それぞれについて、それぞれの処理を規定するパラメータを有している。つまり、機械学習モデル10の学習は、パラメータの更新により行われる。
【0035】
機械学習モデル10は、典型的には、畳み込みニューラルネットワークにより構成される。この場合、特徴量抽出処理部11は、畳み込み層及びプーリング層により構成され、クラス分類処理部12は、全結合層により構成される。また、パラメータは、畳み込み層のフィルタや全結合層の重みである。
【0036】
ただし、機械学習モデル10は、その他の手段により構成されていても良い。例えば、特徴量抽出処理部11は、畳み込みニューラルネットワークにより構成され、クラス分類処理部12は、SVMやk-NN法により構成されていても良い。
【0037】
なお、機械学習モデル10は、典型的には、プログラムにより与えられ、プロセッサにより機械学習モデル10の処理が実現される。この場合、機械学習モデル10のパラメータは、プログラムの一部として与えられていても良いし、メモリに記憶されプロセッサが読み出しても良い。また、パラメータの更新は、プログラムの更新により行われても良いし、メモリの更新により行われても良い。
【0038】
3.学習方法
本実施形態に係る学習方法は、損失関数を算出し、損失関数を小さくするように機械学習モデル10のパラメータを更新する。以下、本実施形態に係る学習方法について説明する。
【0039】
図3は、本実施形態に係る学習方法を示すフローチャートである。
【0040】
ステップS100において、学習データを機械学習モデル10に入力し、複数の学習データに対する出力及び複数の学習データの特徴量を取得する。ステップS100の後、ステップS110に進む。
【0041】
ステップS110において、ステップS100で取得した出力及び特徴量に基づいて、損失関数を算出する。ここで、本実施形態に係る学習方法は、第1の機構を与えるため算出する損失関数に特徴を有している。算出する損失関数の詳細については後述する。ステップS110の後、ステップS120に進む。
【0042】
ステップS120において、ステップS110で取得した損失関数の勾配を算出する。損失関数の勾配の算出方法は、好適な公知技術を採用して良い。例えば、機械学習モデル10が畳み込みニューラルネットワークにより構成される場合、損失関数の勾配の算出方法は、典型的には、誤差逆伝播法である。ステップS120の後、ステップS130に進む。
【0043】
ステップS130において、ステップS120で算出した勾配に基づいて、損失関数を小さくするように機械学習モデル10のパラメータを更新する。つまり、勾配降下法によりパラメータの更新を行う。ここで、パラメータの更新に係るハイパーパラメータは、本実施形態に係る学習方法を適用する環境に応じて好適に定められて良い。例えば、パラメータの更新を、モーメンタム手法により行っても良い。
【0044】
ステップS140において、学習の終了条件が満たされるか否かを判断する。終了条件は、例えば、パラメータの更新の繰り返し回数が所定値以上となることや損失関数が所定値以下となることである。
【0045】
学習の終了条件が満たされる場合(ステップS140;Yes)、学習を終了する。学習の終了条件が満たされない場合(ステップS140;No)、再度ステップS100に戻り学習を繰り返す。
【0046】
なお、図3に示す学習方法はプログラム(学習プログラム)として実現される。
【0047】
4.損失関数
本開示に係る発明者は、第1の機構を与えるために、距離学習(metric learning)により特徴量空間を構成する着想を得ている。距離学習に係る典型的な損失関数(トリプレット損失関数(triplet loss)やコントラスティブ損失関数(contrastive loss))は、同一のクラスを特徴量空間上で互いにより近くなるようにし、異なるクラスを特徴量空間上でより離れるように構成されている。これにより、クラス毎に容易に分割可能な特徴量空間が構成されることが期待できる。
【0048】
しかしながら、距離学習に係る損失関数において、未知クラスをどのように取り扱うべきであるかは明らかではない。ただ明らかに言えることは、トリプレット損失関数を採用する場合、未知クラスの学習データは既知クラスの学習データとポジティブなペアを形成しないことである。しかし、未知クラスの学習データによりポジティブなペアを形成しても良いかどうかは簡単に判断することができない。
【0049】
単純なアプローチは、トリプレット損失関数において、未知クラスの学習データはネガティブなペアを形成することにのみ用いられるようにすることである。しかしながら、本開示に係る発明者は、アブレーションスタディにより、このアプローチだけでは未知クラスの学習データの特徴量が特徴量空間上で明確に分離せず、OSDGに対しては十分でないことを見出している。
【0050】
そこで、本開示に係る発明者は、上記アプローチに加えてさらに、未知クラスと特徴量空間上で距離を保つ特徴量空間を構成するための第1損失関数を導入することを着想した。図4は、第1損失関数により達成される特徴量空間を表現する概念図である。図4に示すそれぞれの図形は特徴量空間上の特徴量を示している。ここで、同一の図形同士は、同一のクラスであることを示している。また、図4に示す点線は、OSDGに対して望ましい識別境界の例を示している。
【0051】
図4に示すように、距離学習により同一の既知クラスが互いに近い特徴量空間を構成することができる。しかしながら、第1損失関数を導入しない場合、既知クラスと未知クラスが近く、分割が困難である。一方で、第1損失関数を導入することにより、未知クラスは他のクラスと十分に距離を保つようになり、未知クラスをより明確に分離することができる。
【0052】
以下、本実施形態に係る学習方法において算出する損失関数について詳細に説明する。
【0053】
本実施形態に係る学習方法において算出する損失関数は、第1損失関数と、第2損失関数と、を項として含んでいる。
【0054】
まず、第1損失関数について説明する。第1損失関数は、以下の式(1)で示すLdで表される。
【0055】
【数4】


【0056】
ここで、学習データをx、学習データxに与えられる正解ラベルをy、既知クラスの集合をC、未知クラスをu、学習データxの特徴量をf(x)、特徴量空間上の距離を与える関数をdで表している。
【0057】
つまり、Nは、正解ラベルyaが未知クラスuである学習データ(以下、「第1アンカーデータ」とも称する。)xaと、第1アンカーデータxaに対してサンプル数Kで選択された学習データxnとの組み合わせの集合である。ただし、選択される学習データxnは、第1アンカーデータxaとの距離が所定のマージンα未満であることを条件としている。これは、すでに第1損失関数の目的を達成しており第1損失関数の変化に寄与しない学習データが選択されることを抑止する条件である。これにより、学習の処理の効率化が可能である。
【0058】
ここで、iは、選択された学習データそれぞれを区別するための附番である。また、マージンαは、未知クラスと特徴量空間上でどの程度距離を保つかを規定する。マージンαは、本実施形態に係る学習方法が適用される環境に応じて好適に与えられて良い。
【0059】
なお、Nの構成において、第1アンカーデータxaは、正解ラベルが未知クラスである学習データから複数選択あるいは全て選択され、それぞれの第1アンカーデータxaに対して、サンプル数Kで学習データxnが選択される。また、式(1)において、|N|は、Nの要素数を表す。
【0060】
式(1)において、距離を与える関数dは、本実施形態に係る学習方法が適用される環境に応じて好適な関数を採用して良い。例えば、dとして、コサイン類似度が例示される。
【0061】
式(1)に示すように、第1損失関数Ldは、それぞれの第1アンカーデータxaに対して、第1アンカーデータxaの特徴量f(xa)と学習データxnの特徴量f(xn)との距離がマージンαより小さいほど大きな値となる。つまり、第1損失関数Ldを小さくするように学習(機械学習モデル10のパラメータの更新)を行うことで、未知クラスと特徴量空間上の距離を保つ特徴量空間が構成される。図5に、第1損失関数Ldを小さくするように学習を行う場合の特徴量空間の概念図を示す。
【0062】
次に、第2損失関数について説明する。第2損失関数は、以下の式(2)で示すLtで表される。
【0063】
【数5】


【0064】
式(2)に示すように、第2損失関数Ltは、正解ラベルが既知クラスである学習データ(以下、「第2アンカーデータ」とも称する。)をアンカーとし、第1損失関数に係るマージンαと同一のマージンで構成されるトリプレット損失関数である。
【0065】
なお、トリプレット集合Tの構成において、ポジティブデータxpは、第2アンカーデータxaと同一のクラスである学習データであって、ランダムに選択される1つ又は複数の学習データであって良い。これにより、第2アンカーデータxaと同一のクラスである学習データ全てをポジティブデータxpとして選択することなく、学習の処理の効率化が可能である。
【0066】
また、それぞれの第2アンカーデータxaに対して、サンプル数Kでネガティブデータxnが選択される。なお、上記トリプレット集合Tでは、ネガティブデータxnをセミハードで選択する条件を与えているが、好適な条件を採用しても良い(例えば、ハードで選択する条件を与えても良い)。また、サンプル数Kは、第1損失関数と同一でなくても良い。
【0067】
第2損失関数(トリプレット損失関数)Ltは、第2アンカーデータxaの特徴量f(xa)とポジティブデータxpの特徴量f(xp)との距離が大きく、第2アンカーデータxaの特徴量f(xa)とネガティブデータxnの特徴量f(xn)との距離が小さいほど大きな値となる。また、第2アンカーデータxaは、正解ラベルが既知クラスである学習データが選択されることを特徴とする。
【0068】
つまり、第2損失関数Ltを小さくするように学習(機械学習モデル10のパラメータを更新)を行うことで、以下の不等式(3)が満たされる。そして、既知クラスについて、同一のクラスと特徴量空間上で互いに近くなるように、また異なるクラスと特徴量空間上でより離れるように特徴量空間が構成される。図6に、第2損失関数Ltを小さくするように学習を行う場合の特徴量空間の概念図を示す。
【0069】
【数6】
【0070】
第2損失関数を小さくするように学習したとき、未知クラスについては、既知クラスとの関係で、既知クラスと離れるように特徴量空間が構成されるに留まる。このため、第2損失関数を小さくするように学習を行うだけでは、図4の上部に概念的に示す特徴量空間が構成されるに留まる。そこで、第1損失関数を導入することで、図5に示すように未知クラスと特徴量空間上の距離を保つ特徴量空間が構成される。このようにして、図4の下部に概念的に示す特徴量空間を構成することが可能となる。
【0071】
以上説明したように、第1損失関数及び第2損失関数を損失関数の項として含むことにより、第1の機構を与えることができる。そして、第2の機構を与えるために、従来のDGを採用する。つまり、本実施形態に係る学習方法では、算出する損失関数を以下の式(4)で示すLで与える。
【0072】
【数7】

【0073】
ここで、LDGは、従来のDGに係る損失関数である。ただし、DGの手法は、本実施形態に係る学習方法を適用する環境に応じて好適な手法(例えば、DeepAll、JiGen、MMLD等)を採用して良い。LDGは、採用したDGの手法に応じた損失関数となる。なお、LDGは、DGとして画像データのクラスを分類することが可能なように機械学習モデル10を学習させる損失関数であるから、本実施形態に係る学習方法において、LDGは、学習データに対する出力が学習データの正解ラベルと一致するほど小さな値となる損失関数(主損失関数)としての構成を有している。
【0074】
なお、λは、正の実数であり、第1損失関数及び第2損失関数の寄与の程度を与えるハイパーパラメータである。λは、本実施形態に係る学習方法が適用される環境に応じて好適に与えられて良い。
【0075】
5.実施例
図7に、本実施形態に係る学習方法により学習を行った機械学習モデル10の実施例を示す。図7に示す実施例では、学習データ及び対象データとする画像データをベンチマーク用データベースであるVLCSにより与える場合と、同様にベンチマーク用データベースであるDomainNetにより与える場合の2つの場合について、正解率(accuracy(%))を示している。
【0076】
ここで、VLCSは、4つの異なるデータベース(PASCAL VOC 2007、LabelMe、Caltech-101、Sun09)の組み合わせであり、画像データに写る物体についての5つのカテゴリから構成されている。またDomainNetは、画像データに写る物体について、6つのドメイン(Sketch, Real, Quickdraw, Painting, Infograph, Clipart)から成る345つのカテゴリを含んでいる。図8及び図9に、VLCS及びDomainNetの画像データの例を示す。
【0077】
また、OSDGとして問題を設定するため、VLCS及びDomainNetに係る画像データのクラスを、3つの集合Ck、Csu、及びCuuに分割している。Ckは、ソースドメイン及びターゲットドメインの両方において既知クラスとするクラスの集合である。Csuは、ソースドメインにおいて未知クラスとするクラスの集合である。Cuuは、ターゲットドメインにおいて未知クラスとするクラスの集合である。
【0078】
そして、VLCSでは、|Ck|=3、|Csu|=1、及び|Cuu|=1とし、DomainNetでは、|Ck|=10、|Csu|=167、及び|Cuu|=168とした。具体的には、VLCSでは、「car」、「chair」、及び「person」を既知クラス、「dog」をソースドメインにおける未知クラス、「bird」をターゲットドメインにおける未知クラスとした。またDomainNetでは、CsuとCuuは、それぞれのクラスでバランスするように最大2000つの画像データを含んでいる。
【0079】
図7では、従来のDGとして、3つの手法、DeepAll、JiGen,及びMMLDを採用する場合それぞれについて正解率の比較を示している。比較は、本実施形態に係る学習方法を適用しない場合(1段目、LDGのみ)、第2損失関数のみを適用した場合(2段目、w/Ltriplet、LDG+λLt)、第1損失関数及び第2損失関数を適用した場合(3段目、w/Lmetric、LDG+λLm)についてである。
【0080】
図7に示すように、本実施形態に係る学習方法を適用することにより、正解率を向上させることができている。特に、第2損失関数を適用することにより、全ての場合で正解率が向上している。さらに、第1損失関数及び第2損失関数を適用することで、総合的に、第2損失関数のみを適用する場合よりも正解率の向上の効果が高くなることが明らかとなった。このように、本実施形態に係る学習方法を適用することにより、OSDGを効果的に解くことができる。
【0081】
6.情報処理装置
本実施形態に係る学習方法により学習した機械学習モデル10を用いることにより、画像データの特徴量を抽出し特徴量から画像データのクラスを分類する情報処理装置であって、OSDGを効果的に解くことが可能な情報処理装置を構成することができる。図10は、情報処理装置100の構成例を示す。
【0082】
情報処理装置100は、画像データを入力とし、画像データのクラスを出力する。情報処理装置100は、メモリ110と、プロセッサ120と、を備えるコンピュータである。情報処理装置100は、例えば、通信ネットワーク(典型的には、インターネット)上に構成されるサーバー(仮想的に構成されていても良い)である。
【0083】
メモリ110は、データ111と、プロセッサ120で実行可能なプログラム112を記憶している。プロセッサ120は、メモリ110からデータ111及びプログラム112を読み出し、データ111に基づいてプログラム112に従う処理を実行する。
【0084】
ここで、プログラム112として、本実施形態に係る学習方法により学習した機械学習モデル10が与えられる。つまり、特徴量抽出処理部11及びクラス分類処理部12は、プログラム112に従う処理を実行するプロセッサ120により実現される。このとき、学習した機械学習モデル10のパラメータは、データ111として記憶されていても良いし、プログラム112の一部として記憶されていても良い。
【0085】
プロセッサ120が機械学習モデル10に係るプログラム112を読み出し、機械学習モデル10に係るプログラム112に従う処理を実行することにより、OSDGを効果的に解くことが可能な情報処理装置100が実現される。
【0086】
7.変形例
本実施形態に係る学習方法は、特徴量抽出処理部11についてのみを対象として機械学習モデル10の学習をする場合に適用することも可能である。例えば、従来のDGとして、学習を行った機械学習モデル10に対して、特徴量抽出処理部11の部分を対象として(取り出して)学習を行う場合である。
【0087】
このとき、対象とする機械学習モデル10の出力は、画像データの特徴量となる。そして、本実施形態に係る学習方法において算出する損失関数は、第1損失関数と第2損失関数を項として含むように構成する。
【0088】
これにより、DGとして本実施形態に係る学習方法により学習を行った特徴量抽出処理部11を与えることで、OSDGを効果的に解くことが可能な機械学習モデル10を構成することができる。あるいは、クラス分類処理部12をSVMやk-NN法により構成し、本実施形態に係る学習方法により学習を行った特徴量抽出処理部11と組み合わせて機械学習モデル10を構成しても良い。
【符号の説明】
【0089】
10 機械学習モデル
11 特徴量抽出処理部
12 クラス分類処理部
100 情報処理装置
110 メモリ
111 データ
112 プログラム
120 プロセッサ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10