(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-25
(45)【発行日】2024-02-02
(54)【発明の名称】学習方法、及び、プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240126BHJP
G06N 3/04 20230101ALI20240126BHJP
G06N 3/08 20230101ALI20240126BHJP
G06V 10/82 20220101ALI20240126BHJP
【FI】
G06T7/00 350C
G06N3/04
G06N3/08
G06V10/82
(21)【出願番号】P 2022029757
(22)【出願日】2022-02-28
【審査請求日】2023-02-06
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】磯部 匠汰
(72)【発明者】
【氏名】吉濱 豊
【審査官】小池 正彦
(56)【参考文献】
【文献】WANG Peng, et al.,Contrastive Learning based Hybrid Networks for Long-Tailed Image Classification,2021 IEEE/CVF conference on Computer Vision and Pattern Recognition (CVPR),米国,IEEE,2021年06月25日,p943-952,DOI: 10.1109/CVPR46437.2021.00100
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06N 3/04
G06N 3/08
G06V 10/82
(57)【特許請求の範囲】
【請求項1】
教師あり対照学習を利用した特徴表現学習を行うための第1ネットワークブランチと分類タスク及び分類タスク以外のタスクを含む画像認識技術分野タスクのタスク学習を行うための第2ネットワークブランチとからなるニューラルネットワークモデルをコンピュータが学習させる学習方法であって、
前記ニューラルネットワークモデルは、前記第1ネットワークブランチと前記第2ネットワークブランチとで共有されるエンコーダーネットワークモデルと、前記第1ネットワークブランチのみが有する第1モデルと、前記第2ネットワークブランチのみが有する第2モデルとで構成され、
予め準備された画像データと正解ラベルとからなるデータセットから、N個(Nは1以上の整数)の画像データ及び当該画像データに紐づく正解ラベルを取得し、
取得した前記N個の画像データ及び当該画像データに紐づく正解ラベルに対してデータ拡張処理を行い、M個(MはNの整数倍)の画像データ及び当該画像データに紐づく正解ラベルを取得し、
前記エンコーダーネットワークモデルに、前記M個の画像データから、前記M個の画像データそれぞれの特徴表現を抽出させ、
前記第1モデルに、抽出された前記M個の画像データそれぞれの特徴表現を、前記教師あり対照学習で用いるための埋め込みベクトルに投影させ、
前記M個の画像データそれぞれの正解ラベルを、画像認識技術分野タスクの正解ラベルとして特徴表現学習に適用可能となるように変換するラベル処理を行わせ、
前記教師あり対照学習で用いるための第1損失関数と、前記ラベル処理された前記M個の画像データそれぞれの正解ラベルと、前記M個の画像データそれぞれの埋め込みベクトルとを用いて、前記エンコーダーネットワークモデル及び前記第1モデルを学習させ、
前記データ拡張処理が行われた前記M個の画像データを取得し、
前記エンコーダーネットワークモデルに、取得した前記M個の画像データから、前記M個の画像データそれぞれの特徴表現を抽出させ、
前記第2モデルに、抽出された前記M個の画像データそれぞれの特徴表現から、前記個M個の画像データそれぞれのラベルを推論させ、
前記タスク学習で用いるための第2損失関数と、推論された前記M個の画像データそれぞれのラベルと、前記M個の画像データそれぞれの正解ラベルとを用いて、前記エンコーダーネットワークモデル及び前記第2モデルを学習させ、
前記エンコーダーネットワークモデル、前記第1モデル及び前記第2モデルの学習は、同時に行われる、
学習方法。
【請求項2】
前記ラベル処理では、
次元ごとの値として2以上を許容して前記M個の画像データそれぞれの正解ラベルを前記画像認識技術分野タスクの正解ラベルとして特徴表現学習に適用可能となる表現に変換し、前記適用可能となる表現の次元ごとのβ(βは任意の数)より大きい値を1に変換するステップ関数を適用することで、
前記適用可能となる表現の次元ごとの値が0または1となるように、前記M個の画像データそれぞれの正解ラベルを、前記適用可能となる表現に変換する、
請求項1に記載の学習方法。
【請求項3】
前記エンコーダーネットワークモデル及び前記第1モデルを学習させる際、
前記M個の画像データのうちの2つの画像データが異なり、かつ、前記2つの画像データに対して前記データ拡張処理が行われる前の画像データが同一の場合に、前記対照学習における引き付ける処理を行わせる誤差が前記第1損失関数により算出される、
請求項2に記載の学習方法。
【請求項4】
前記ラベル処理では、さらに、変換された前記適用可能となる表現が、2以上の次元において1の値を有する場合、前記2以上の次元における値を0に変更する、
請求項3に記載の学習方法。
【請求項5】
前記エンコーダーネットワークモデル及び前記第1モデルを学習させる際、
ベクトル類似度による誤差が前記第1損失関数により算出される、
請求項1~4のいずれか1項に記載の学習方法。
【請求項6】
さらに、前記第1ネットワークブランチは、第3モデルを有し、
前記第3モデルに、前記第1モデルの出力である2つの画像データの埋め込みベクトルのうちの一方の第1埋め込みベクトルから、他方の第2埋め込みベクトルを予測させた第3埋め込みベクトルを出力させ、
前記2つの画像データそれぞれの正解ラベルを、分類タスクにおいて用いられるクラスラベルのクラス数を次元数とするクラス次元でのワンホット表現に変換するラベル処理を行い、
前記教師あり対照学習で用いるための第1損失関数と、前記ラベル処理された2つの画像データそれぞれの正解ラベルと、前記第2埋め込みベクトルと、前記第3埋め込みベクトルとを用いて、前記エンコーダーネットワークモデル、前記第1モデル及び前記第3モデルを学習させる、
請求項1または2に記載の学習方法。
【請求項7】
前記エンコーダーネットワークモデル、前記第1モデル及び前記第3モデルを学習させる際、
コサイン類似度による誤差が前記第1損失関数により算出される、
請求項6に記載の学習方法。
【請求項8】
教師あり対照学習を利用した特徴表現学習を行うための第1ネットワークブランチと分類タスク及び分類タスク以外のタスクを含む画像認識技術分野タスクのタスク学習を行うための第2ネットワークブランチとからなるニューラルネットワークモデルを学習させる学習方法をコンピュータに実行させるプログラムであって、
前記ニューラルネットワークモデルは、前記第1ネットワークブランチと前記第2ネットワークブランチとで共有されるエンコーダーネットワークモデルと、前記第1ネットワークブランチのみが有する第1モデルと、前記第2ネットワークブランチのみが有する第2モデルとで構成され、
予め準備された画像データと正解ラベルとからなるデータセットであってデータ拡張処理が行われたデータセットから、N個(Nは1以上の整数)の画像データ及び当該画像データに紐づく正解ラベルを取得させ、
前記N個の画像データ及び当該画像データに紐づく正解ラベルに対してデータ拡張処理を行わせて、M個(MはNの整数倍)の画像データ及び当該画像データに紐づく正解ラベルを取得し、
前記エンコーダーネットワークモデルに、前記M個の画像データから、前記M個の画像データそれぞれの特徴表現を抽出させ、
前記第1モデルに、抽出された前記M個の画像データそれぞれの特徴表現を、前記教師あり対照学習で用いるための埋め込みベクトルに投影させ、
前記M個の画像データそれぞれの正解ラベルを、画像認識技術分野タスクの正解ラベルとして特徴表現学習に適用可能となるように変換するラベル処理を行わせ、
前記教師あり対照学習で用いるための第1損失関数と、前記ラベル処理された前記M個の画像データそれぞれの正解ラベルと、前記M個の画像データそれぞれの埋め込みベクトルとを用いて、前記エンコーダーネットワークモデル及び前記第1モデルを学習させ、
前記データ拡張処理が行われた前記M個の画像データを取得させ、
前記教師あり対照学習された前記エンコーダーネットワークモデルに、取得した前記M個の画像データから、前記M個の画像データそれぞれの特徴表現を抽出させ、
前記第2モデルに、抽出された前記M個の画像データそれぞれの特徴表現から、前記M個の画像データそれぞれのラベルを推論させ、
前記タスク学習で用いるための第2損失関数と、推論された前記M個の画像データそれぞれのラベルと、前記M個の画像データそれぞれの正解ラベルとを用いて、前記エンコーダーネットワークモデル及び前記第2モデルを学習させ、
前記エンコーダーネットワークモデル、前記第1モデル及び前記第2モデルの学習は、同時に行われる、ことを
コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ニューラルネットワークモデルを学習させる学習方法、及び、プログラムに関する。
【背景技術】
【0002】
非特許文献1では、画像表現を学習するための教師あり対照損失と、分類器を学習するためのクロスエントロピー損失とを利用してハイブリッドネットワーク構造の学習を行う方法が開示されている。そして、画像表現を学習するための教師あり対照損失と、分類器を学習するためのクロスエントロピー損失とを利用した学習を行うことで、ラベル毎のデータ数に偏りがあるデータセットであっても、分類精度を安定的に向上させることができることが開示されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Peng Wang et al. "Contrastive learning based hybrid networks for long-tailed image classification". CVPR. 2021.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1に開示される学習方法は、分類タスクを想定した学習方法であり、物体検出タスク等の学習には適用できないという課題がある。
【0005】
本開示は、上述の事情を鑑みてなされたもので、分類タスク以外の学習にも適用可能な学習方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本開示の一形態に係る学習方法は、教師あり対照学習を利用した特徴表現学習を行うための第1ネットワークブランチと分類タスク及び分類タスク以外のタスクを含む画像認識技術分野タスクのタスク学習を行うための第2ネットワークブランチとからなるニューラルネットワークモデルをコンピュータが学習させる学習方法であって、前記ニューラルネットワークモデルは、前記第1ネットワークブランチと前記第2ネットワークブランチとで共有されるエンコーダーネットワークモデルと、前記第1ネットワークブランチのみが有する第1モデルと、前記第2ネットワークブランチのみが有する第2モデルとで構成され、予め準備された画像データと正解ラベルとからなるデータセットから、N個(Nは1以上の整数)の画像データ及び当該画像データに紐づく正解ラベルを取得し、取得した前記N個の画像データ及び当該画像データに紐づく正解ラベルに対してデータ拡張処理を行い、M個(MはNの整数倍)の画像データ及び当該画像データに紐づく正解ラベルを取得し、前記エンコーダーネットワークモデルに、前記M個の画像データから、前記M個の画像データそれぞれの特徴表現を抽出させ、前記第1モデルに、抽出された前記M個の画像データそれぞれの特徴表現を、前記教師あり対照学習で用いるための埋め込みベクトルに投影させ、前記M個の画像データそれぞれの正解ラベルを、画像認識技術分野タスクの正解ラベルとして特徴表現学習に適用可能となるように変換するラベル処理を行わせ、前記教師あり対照学習で用いるための第1損失関数と、前記ラベル処理された前記M個の画像データそれぞれの正解ラベルと、前記M個の画像データそれぞれの埋め込みベクトルとを用いて、前記エンコーダーネットワークモデル及び前記第1モデルを学習させ、前記データ拡張処理が行われた前記M個の画像データを取得し、前記エンコーダーネットワークモデルに、取得した前記M個の画像データから、前記M個の画像データそれぞれの特徴表現を抽出させ、前記第2モデルに、抽出された前記M個の画像データそれぞれの特徴表現から、前記個M個の画像データそれぞれのラベルを推論させ、前記タスク学習で用いるための第2損失関数と、推論された前記M個の画像データそれぞれのラベルと、前記M個の画像データそれぞれの正解ラベルとを用いて、前記エンコーダーネットワークモデル及び前記第2モデルを学習させ、前記エンコーダーネットワークモデル、前記第1モデル及び前記第2モデルの学習は、同時に行われる。
【0007】
このように、ラベル処理を行うことで、分類タスク以外のタスクでの正解ラベルを、画像認識技術分野タスクの正解ラベルとして特徴表現学習に適用可能となるように変換できるので、例えば物体検出タスクなどの分類タスク以外のタスクにおいて教師あり対照学習を利用することができる。
【0008】
これにより、分類タスク以外の画像認識技術分野タスクのタスク学習にも適用可能な学習方法を実現できる。
【0009】
なお、これらの全般的または具体的な態様は、装置、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0010】
本開示により、分類タスク以外の学習にも適用可能な学習方法、及び、プログラムを提供できる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施の形態に係る学習装置の機能構成を示すブロック図である。
【
図2】
図2は、実施の形態に係る画像データと正解ラベルとのペアの一例を示す図である。
【
図3A】
図3Aは、実施の形態に係るデータ拡張処理により得た画像データの一例を示す図である。
【
図3B】
図3Bは、実施の形態に係るデータ拡張処理により得た画像データと正解ラベルとの一例を示す図である。
【
図4】
図4は、実施の形態に係るニューラルネットワークモデルの構造の一例を概念的に示す図である。
【
図5】
図5は、実施の形態に係る学習方法が実行される際の処理を概念的に説明するための図である。
【
図6A】
図6Aは、実施の形態に係る特徴抽出処理及び投影処理により得た埋め込みベクトルの一例を概念的に示す図である。
【
図6B】
図6Bは、実施の形態に係る特徴抽出処理及び投影処理により得た埋め込みベクトルの一例を概念的に示す図である。
【
図7】
図7は、実施の形態に係るラベル処理部が行うラベル処理の詳細を示す図である。
【
図8】
図8は、実施の形態に係るラベル処理部により行われるラベル取得処理及びラベル変換処理の一例を説明するためのフローチャートである。
【
図9】
図9は、実施の形態に係る画像分類タスクにおける正解ラベルの一例を示す図である。
【
図10A】
図10Aは、実施の形態に係る物体検出タスクに係る正解ラベルの一例を示す図である。
【
図10B】
図10Bは、実施の形態に係るワンホット表現に変換された正解ラベルの一例を示す図である。
【
図10C】
図10Cは、実施の形態に係る物体検出タスクに係る正解ラベルの別の一例を示す図である。
【
図11】
図11は、実施の形態に係るセマンティックセグメンテーションタスクに係る正解ラベルの一例を示す図である。
【
図12】
図12は、実施の形態に係るステップ関数が適用された、表現変換後の正解ラベルの一例を示す図である。
【
図13】
図13は、実施の形態に係るステップ関数が適用された、表現変換後の正解ラベルの一例を示す図である。
【
図14】
図14は、実施の形態に係るステップ関数が適用された、表現変換後の正解ラベルの一例を示す図である。
【
図15】
図15は、実施の形態に係るクラスラベルをリセットする処理の一例を示す図である。
【
図16】
図16は、実施の形態に係る正解ラベルが示すクラスが1種類である場合のラベル処理の結果の一例を示す図である。
【
図17A】
図17Aは、実施の形態に係る正解ラベルが示すクラスが1種類以上である場合のラベル処理の結果の別の例を示す図である。
【
図17C】
図17Cは、実施の形態に係る第1損失関数を変更した場合において正解ラベルが示すクラスが1種類以上であるときのラベル処理の結果の例を示す図である。
【
図18】
図18は、実施の形態に係る教師あり対照学習処理の詳細の一例を示すフローチャートである。
【
図19】
図19は、実施の形態に係るタスク学習処理の詳細の一例を示すフローチャートである。
【
図20】
図20は、変形例に係る学習方法が実行される際の処理を概念的に説明するための図である。
【発明を実施するための形態】
【0012】
以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
【0013】
(実施の形態)
[1 学習装置1]
以下、本実施の形態に係る学習装置1及び学習方法について説明する。
【0014】
学習装置1は、例えばメモリ及びプロセッサ(マイクロプロセッサ)を含むコンピュータを備え、メモリに格納された制御プログラムをプロセッサが実行することにより、各種機能を実現し、ニューラルネットワークモデルを学習させる。
【0015】
図1は、本実施の形態に係る学習装置1の機能構成を示すブロック図である。
【0016】
学習装置1は、
図1に示されるように、取得部11と、データ拡張処理部12と、特徴抽出部13と、投影部14と、推論部15と、ラベル処理部16と、第1損失計算部17,第2損失計算部18と、学習実行部19とを備える。なお、学習装置1において、取得部11及びデータ拡張処理部12を備えることは必須ではない。
【0017】
[1-1 取得部11]
取得部11は、予め準備された画像データと正解ラベルとからなるデータセットから、N個(Nは1以上の整数)の画像データ及び当該画像データに紐づく正解ラベルを取得し、データ拡張処理部12に出力する。
【0018】
ここでのデータセットは、画像認識技術分野タスクのタスク学習を行うために準備されたデータセットである。
【0019】
図2は、本実施の形態に係る画像データと正解ラベルとのペアの一例を示す図である。
【0020】
本実施の形態では、取得部11は、データセットから、画像(画像データ)と正解ラベルとのペア({xn、yn}n=1…N)を取得する。Nは1以上の整数であり、本実施の形態では、Nは、バッチサイズを意味する。
【0021】
画像データx
nと正解ラベルy
nとのペアの一例は、
図2に示すように、犬が映る画像とdogの正解ラベルとのペアである。
【0022】
[1-2 データ拡張処理部12]
データ拡張処理部12は、取得したN個の画像データ及び当該画像データに紐づく正解ラベルに対してデータ拡張処理を行い、M個(MはNの整数倍)の画像データ及び当該画像データに紐づく正解ラベルを得る。データ拡張処理部12は、M個(MはNの整数倍)の画像データを特徴抽出部13に出力する。
【0023】
ここで、データ拡張処理は、画像データに対して変換処理を行うことで画像データを水増しする手法である。つまり、データ拡張処理部12は、取得部11がデータセットから取得したN個の画像データに対して、例えば回転処理、ズーム処理、並進処理、色変換処理といったデータの変換処理を行い、当該N個の画像データを拡張し(水増し)、正解ラベルを紐づける。なお、データ拡張処理部12の後すなわちデータ拡張処理部12と特徴抽出部13との間に、画像サイズの調整、標準化などの前処理を行うデータ前処理部を備えてもよい。
【0024】
図3Aは、本実施の形態に係るデータ拡張処理により得た画像データの一例を示す図である。
図3Bは、本実施の形態に係るデータ拡張処理により得た画像データと正解ラベルとの一例を示す図である。
【0025】
本実施の形態では、データ拡張処理部12は、取得部11がデータセットから取得した画像(画像データ)と正解ラベルとのペア({xn、yn}n=1…N)に対してデータ拡張処理(Aug(xn、yn))を行い、例えば2倍に拡張する。
【0026】
データ拡張処理が行われた画像データの一例は、
図3Aに示されるように、画像データx
nに示される犬の画像に対して変換処理された画像データ
【数1】
で示される犬が映る画像である。そして、これらの画像データ
【数2】
で示される犬が映る画像には、
図3Bに示されるように、正解ラベル
【数3】
で示されるdogの正解ラベルが付される。なお、添え字のt(i)、iはインデックスを示し、t(i)とiは元画像が同じであることを示している。
【0027】
[1-3 ニューラルネットワークモデル2]
学習装置1が学習させるニューラルネットワークモデルは、深層ニューラルネットワークモデル(DNN(Deep Neural Networks)モデル)であり、多層構造のニューラルネットワークモデルである。
【0028】
より具体的には、学習装置1が学習させるニューラルネットワークモデルは、第1ネットワークブランチと第2ネットワークブランチとからなるニューラルネットワークモデルである。第1ネットワークブランチは、教師あり対照学習を利用した特徴表現学習を行うために用いられ、第2ネットワークブランチは、分類タスク及び分類タスク以外のタスクを含む画像認識技術分野タスクのタスク学習を行うために用いられる。
【0029】
ここで、特徴表現学習は、特徴表現(feature)を自動的に抽出する学習のことであり、より具体的には、画像などのデータから、タスクにおいて有益な情報のみを抽出したデータ表現を特徴表現として抽出できるようにするための学習のことである。
【0030】
対照学習は、元画像が同じ画像同士は埋め込み空間上の埋め込みベクトルが近くなるように、元画像が異なる画像同士は埋め込みベクトルが遠ざかるように学習する手法である。
【0031】
教師あり対照学習は、ラベル付けされたデータを活用して、同じクラスにラベル付けされたデータの埋め込みベクトルを互いに近づけるように促し、異なるクラスにラベル付けされたデータの埋め込みベクトルを遠ざけるように促す学習のことである。これにより、偽陰性、つまりアンカーと同じクラスのサンプル画像からネガティブ画像が生成されてしまうことによる特徴表現の品質低下を抑制できる。
【0032】
図4は、本実施の形態に係るニューラルネットワークモデル2aの構造の一例を概念的に示す図である。
【0033】
ニューラルネットワークモデル2aは、学習装置1が学習させるニューラルネットワークモデルである。ニューラルネットワークモデル2aは、エンコーダーネットワークモデル13aと、第1モデル14aと、第2モデル15aとで構成される。エンコーダーネットワークモデル13aと、第1モデル14aと、第2モデル15aとは関数で表現され得る。
【0034】
エンコーダーネットワークモデル13a及び第1モデル14aは、教師あり対照学習を利用した特徴表現学習を行うための第1ネットワークブランチを構成する。一方、エンコーダーネットワークモデル13a及び第2モデル15aは、タスク学習を行うための第2ネットワークブランチを構成する。
【0035】
エンコーダーネットワークモデル13aは、第1ネットワークブランチと第2ネットワークブランチとで共有される。
【0036】
本実施の形態では、エンコーダーネットワークモデル13aは、特徴抽出部13で用いられる。エンコーダーネットワークモデル13aは、入力された画像データの特徴表現を抽出する。なお、エンコーダーネットワークモデル13aは、例えば複数の畳み込み層で構成されるCNN(Convolution Neural Networks)モデルであるが、これに限らない。エンコーダーネットワークモデル13aは、ResNet(Residual Network)で構成されていてもよいし、MobileNetで構成されていてもよいし、Transformerで構成されていてもよい。
【0037】
第1モデル14aは、第1ネットワークブランチのみが有するニューラルネットワークモデルであり、投影部14で用いられる。第1モデル14aは、エンコーダーネットワークモデル13aから出力された特徴表現を、対照学習で用いるための埋め込みベクトルに投影する。なお、第1モデル14aは、例えば多層パーセプトロンからなるモデルであるが、これに限らない。
【0038】
第2モデル15aは、第2ネットワークブランチのみが有するニューラルネットワークモデルであり、推論部15で用いられる。第2モデル15aは、エンコーダーネットワークモデル13aから出力された特徴表現から、エンコーダーネットワークモデル13aに入力された画像データのラベルを推論する。なお、第2モデル15aの構成は、タスクによって異なる。第2モデル15aは、タスクが分類タスクである場合、例えばロジットモデルであってもよいが、これに限らない。
【0039】
また、本実施の形態では、第1ネットワークブランチにおいて、教師あり対照学習を利用した特徴表現学習を行うことで、エンコーダーネットワークモデル13a及び第1モデル14aの重み等のパラメータを学習する。また、第2ネットワークブランチにおいてタスク学習を行うことで、エンコーダーネットワークモデル13a及び第1モデル14aの重み等のパラメータを学習する。これらの学習すなわち教師あり対照学習を利用した特徴表現学習とタスク学習とは、同時に学習される。
【0040】
[1-3-1 特徴抽出部13]
特徴抽出部13は、データ拡張処理が行われたM個の画像データを取得する。特徴抽出部13は、エンコーダーネットワークモデル13aに、取得したM個の画像データから、当該M個の画像データそれぞれの特徴表現を抽出させる。
【0041】
図5は、本実施の形態に係る学習方法が実行される際の処理を概念的に説明するための図である。
【0042】
本実施の形態では、特徴抽出部13は、例えば
図5に示すように、データ拡張処理が行われた画像データ
【数4】
に対して特徴抽出処理131、132を行い、特徴表現を抽出して投影部14に出力する。ここでの特徴表現は、例えばベクトルにより表現される。より具体的には、特徴抽出処理131では、エンコーダーネットワークモデル13aを用いて、画像データ
【数5】
から特徴表現を抽出する。また、特徴抽出処理132では、エンコーダーネットワークモデル13aを用いて、画像データ
【数6】
から特徴表現を抽出する。なお、特徴抽出処理131及び特徴抽出処理132で用いられるエンコーダーネットワークモデル13aは同じもの(同じ関数)である。
【0043】
[1-3-2 投影部14]
投影部14は、取得した特徴表現を、任意のベクトル次元の埋め込み空間上に投影(写像)する。より具体的には、投影部14は、第1モデル14aに、抽出されたM個の画像データそれぞれの特徴表現を、教師あり対照学習で用いるための埋め込みベクトルに投影させる。
【0044】
本実施の形態では、例えば、
図5に示すように、投影部14は、投影処理141、142を行う。投影部14は、投影処理141、142により得た埋め込みベクトルを、ラベル処理部16に出力する。なお、投影処理141、142で用いる第1モデル14aは同じものである。
【0045】
より具体的には、投影処理141では、第1モデル14aを用いて、特徴抽出処理131が行われた画像データ
【数7】
の特徴表現を、埋め込みベクトル
【数8】
に投影する。
【0046】
図6Aは、本実施の形態に係る特徴抽出処理131及び投影処理141により得た埋め込みベクトルの一例を概念的に示す図である。
図6Aにおいて、Enc(・)は特徴抽出処理131を行うことを意味し、Proj(・)は投影処理141を行うことを意味する。
【0047】
また、投影処理142では、第1モデル14aを用いて、特徴抽出処理132が行われた画像データ
【数9】
の特徴表現を、埋め込みベクトル
【数10】
に投影する。
【0048】
図6Bは、本実施の形態に係る特徴抽出処理132及び投影処理142により得た埋め込みベクトルの一例を概念的に示す図である。
図6Bにおいて、Enc(・)は特徴抽出処理132を行うことを意味し、Proj(・)は投影処理142を行うことを意味する。
【0049】
[1-3-3 推論部15]
推論部15は、第2モデル15aに、抽出されたM個の画像データそれぞれの特徴表現から、当該M個の画像データそれぞれのラベルを推論させる。
【0050】
本実施の形態では、例えば、
図5に示すように、推論部15は、推論処理151を行う。推論部15は、推論処理151により得た推論結果を第2損失計算部18に出力する。
【0051】
より具体的には、推論処理151では、第2モデル15aを用いて、特徴抽出処理132が行われた画像データ
【数11】
の特徴表現から、画像認識技術分野タスクのための推論を行う。
【0052】
[1-4 ラベル処理部16]
ラベル処理部16は、M個の画像データそれぞれの正解ラベルを、画像認識技術分野タスクの正解ラベルとして特徴表現学習に適用可能となるように変換するラベル処理を行う。
【0053】
ここで、例えば、ラベル処理部16は、M個の画像データそれぞれの正解ラベルを、分類タスクにおいて用いられるクラスラベルのクラス数を次元数とするクラス次元でのワンホット表現に変換するラベル処理を行ってもよい。
【0054】
より具体的には、ラベル処理部16は、次元ごとの値として2以上を許容して2つの画像データそれぞれの正解ラベルを例えばワンホット表現などの表現に変換し、ワンホット表現の次元ごとのβ(βは任意の数)より大きい値を1に変換するステップ関数を適用するラベル処理を行う。このように、ラベル処理部16は、次元ごとの値が0または1となるように、M個の画像データそれぞれの正解ラベルを、ワンホット表現などの表現に変換するラベル処理を行ってもよい。
【0055】
なお、ラベル処理部16は、ワンホット表現に変換する場合に限らず、画像認識技術分野タスクの正解ラベルとして特徴表現学習に適用可能となるように変換できればよい。
【0056】
また、ステップ関数は、例えば以下の(式1)で示される関数であり、βより大きい値は1、β以下の値は0を出力する関数である。
【0057】
【0058】
なお、ラベル処理部16は、例えばワンホット表現などに変換された表現が、2以上の次元において1の値を有する場合、当該2以上の次元における値を0に変更してもよい。
【0059】
図7は、本実施の形態に係るラベル処理部16が行うラベル処理161の詳細を示す図である。
【0060】
本実施の形態では、ラベル処理部16は、
図5に示すラベル処理161を行う。より詳細には、ラベル処理部16では、
図7に示すように、埋め込みベクトル取得処理1611と、ラベル取得処理1612と、ラベル変換処理1613とを実行する。
【0061】
ベクトル取得処理1611では、投影処理141、142により得られた埋め込みベクトル
【数13】
を、取得する。
【0062】
ラベル取得処理1612では、ベクトル取得処理1611において取得した埋め込みベクトル
【数14】
に対応する正解ラベル
【数15】
を、取得する。
【0063】
ラベル変換処理1613では、ラベル取得処理1612において取得した正解ラベル
【数16】
を、分類タスクにおいて用いられるクラスラベルのクラス数を次元数とするクラス次元でのワンホット表現などの表現に変換して、第1損失計算部17に出力する。
【0064】
以下、
図8を用いて、ラベル変換処理1613で行われる処理について説明する。
【0065】
図8は、本実施の形態に係るラベル処理部16により行われるラベル取得処理1612及びラベル変換処理1613の一例を説明するためのフローチャートである。
図8では、ワンホット表現に変換する場合を例に主に挙げて説明しているが、変換される表現はこれに限らない。
【0066】
まず、ラベル処理部16は、正解ラベルを取得する(S61)。本実施の形態では、ラベル処理部16は、ラベル取得処理1612を行い、投影部14により出力された埋め込みベクトルに対応する正解ラベルを取得する。
【0067】
次に、ラベル処理部16は、ステップS61において取得した正解ラベルがクラスラベルのみからなるかを判定する(S62)。ここで、クラスラベルのみからなる正解ラベルとは、例えば、画像に犬が映っているか否か、画像に犬または猫が映っているか否かという1次元の分類ラベルが付された正解ラベルである。なお、画像に犬が映っているか否かを示す正解ラベルの場合、クラス数が1で1次元のクラスラベルからなる正解ラベルとなる。画像に犬または猫が映っているか否かを示す正解ラベルの場合、クラス数が2で1次元のクラスラベルからなる正解ラベルとなる。なお、ラベル名:(cat,dog,person)であり、例えばLabel1=(0,1,0)であり、Label2=(0,2,1)とする。この場合、Label1は、dogのみが写っていることを示す。また、Label1は1次元でラベルが示すクラスが1種類であることを示し、Label2は1次元でラベルが示すクラスが2種類である(dogとperson)ことを示す。
【0068】
ステップS62において、取得した正解ラベルがクラスラベルのみからなる場合(S62でYes)、ラベル処理部16は、ステップS61において取得した正解ラベルを第1損失計算部17に出力する(S63)。
【0069】
図9は、本実施の形態に係る画像分類タスクにおける正解ラベルの一例を示す図である。
【0070】
図9の(a)に示すような2匹の犬が映る画像の画像データ
【数17】
の画像分類タスクにおける正解ラベルは、dogである。この場合、クラス数が1で1次元のクラスラベルからなる正解ラベルであるので、
図9の(b)に示す正解ラベルの次元数は、(クラス数)と表せる。このような正解ラベルは、
図9の(c)に示すようにワンホットベクトルで表現できる。このため、
図9の(c)に示すワンホットベクトル表現を正解ラベルとして第1損失計算部17に出力することができる。
【0071】
一方、ステップS62において、取得した正解ラベルがクラスラベルのみからなっていない場合(S62でNo)、ラベル処理部16は、ステップS61において取得した正解ラベルを、分類タスクにおいて用いられるクラスラベルのクラス数を次元数とするクラス次元での、ワンホット表現などの表現に変換する(S64)。
【0072】
ここで、ステップS64の処理の具体例について説明する。
【0073】
図10Aは、本実施の形態に係る物体検出タスクに係る正解ラベルの一例を示す図である。
図10Bは、本実施の形態に係るワンホット表現に変換された正解ラベルの一例を示す図である。
【0074】
図10Aの(a)に示すような2匹の犬が映る画像の画像データ
【数18】
の物体検出タスクにおける正解ラベルは、ボックス1にdog、かつボックス2にdogが付されたものとなる。この場合、ボックス数が2で、クラス数が1かつボックス数が4点の座標で規定される正解ラベルとなるので、
図10Aの(b)に示すように正解ラベルの次元数は、(ボックス数、クラス数)かつ(ボックス数、4)と表せる。このような正解ラベルは、
図9の(b)で示した正解ラベルの次元数である(クラス数)と異なるため、
図9の(b)で示した正解ラベルの次元数(クラス次元)に表現を変換する。すなわち、
図10Bの(c)に示すようにボックス1のdogを1と表現し、ボックス2のdogを1と表現するワンホットベクトル表現に変換する。そして、
図10Bの(d)において、
図10Bの(c)に示すワンホットベクトル表現を足し合わせる。
【0075】
このようにして、ラベル処理部16は、ステップS61において取得した物体検出タスクに係る正解ラベルを、1次元のクラス数でボックス数を値とするワンホット表現に変換することで、分類タスクにおいて用いられるクラス次元でのワンホット表現に変換することができる。
【0076】
図10Cは、本実施の形態に係る物体検出タスクに係る正解ラベルの別の一例を示す図である。
【0077】
図10Cの(a)に示すような2匹の犬と人が映る画像の画像データ
【数19】
の物体検出タスクにおける正解ラベルは、例えばボックス1にperson、ボックス2にdogかつボックス3にdogが付されたものとなる。この場合、ボックス数が3で、クラス数が2かつボックス数が4点の座標で規定される正解ラベルとなる。この場合の正解ラベルの次元数は、(ボックス数、クラス数)かつ(ボックス数、4)と表せる。このような正解ラベルは、
図9の(b)で示した正解ラベルの次元数である(クラス数)と異なるため、
図9の(b)で示した正解ラベルの次元数(クラス次元)に表現を変換する。すなわち、
図10Cの(b)に示すようにボックス1のpersonを1と表現し、ボックス2のdogを1と表現し、ボックス3のdogを1と表現するワンホットベクトル表現に変換する。そして、
図10Cの(b)に示すワンホットベクトル表現を足し合わせることで、
図10Cの(c)に示すような、ワンホットベクトル表現以外の表現に変換する。なお、ワンホットベクトル表現は、ある一つにおいては1、それ以外は0の要素をもつベクトルのことを指す。このため、
図10Cの(c)に示す表現は、画像認識技術分野タスクの正解ラベルとして特徴表現学習に適用可能となる、ワンホット表現以外の表現の一例に該当する。
【0078】
このようにして、ラベル処理部16は、ステップS61において取得した物体検出タスクに係る正解ラベルを、2次元のクラス数でボックス数を値とするワンホット表現などの表現に変換することで、分類タスクにおいて用いられるクラス次元での表現に変換することができる。
【0079】
図11は、本実施の形態に係るセマンティックセグメンテーションタスクに係る正解ラベルの一例を示す図である。
【0080】
図11の(a)に示す2匹の犬が映る画像の画像データ
【数20】
の物体検出タスクにおける正解ラベルは、例えば2匹の犬が映る領域(図ではハッチングされた領域)の画素一つ一つに対してdogが付されたものとなる。この場合、正解ラベルは、1であるクラス数と、当該領域を規定する画像の高さ及び画像の幅とで規定され、正解ラベルの次元数は、(クラス数、画像の高さ、画像の幅)と表せる。このような正解ラベルは、
図9の(b)で示した正解ラベルの次元数である(クラス数)と異なるため、
図9の(b)で示した正解ラベルの次元数(クラス次元)に表現を変換する。すなわち、画素それぞれのdogを1とするワンホットベクトル表現に変換し、これらを足し合わせる。これにより、
図11の(c)に示すように、1次元のクラス数であるdogで当該領域の画素数(ピクセル数)を値とするワンホットベクトル表現に変換することができる。
【0081】
このようにして、ラベル処理部16は、ステップS61において取得した物体検出タスクに係る正解ラベルを、1次元のクラス数でピクセル数を値とする表現に変換することで、分類タスクにおいて用いられるクラス次元での、ワンホット表現を含む表現に変換することができる。
【0082】
以降、
図8に戻ってラベル処理部16の処理の説明を続ける。
【0083】
次に、ラベル処理部16は、ステップS64において変換されたワンホットベクトル表現に、ステップ関数を適用する(S65)。これにより、ラベル処理部16は、ステップ関数を適用することで、ワンホット表現を含む表現の次元ごとの0(β=0)より大きい値を1に変換することができる。
【0084】
ここで、ステップS65の処理の具体例について説明する。
【0085】
図12~
図14は、本実施の形態に係るステップ関数が適用された、表現変換後の正解ラベルの一例を示す図である。
【0086】
図12の(a)には、
図10Bの(d)に示される正解ラベルすなわち表現変換後の物体検出タスクに係るdogの値が2である正解ラベルが示されている。
図12の(b)では、
図12の(a)に示す表現変換後の正解ラベルに対して、閾値βより大きい場合には値1を出力するステップ関数が適用されている様子が示されている。
図12の(c)では、
図12の(a)に示す表現変換後の正解ラベルに対してステップ関数が適用された結果、dogの値が1である正解ラベルが得られたことを示している。
【0087】
このようにして、ラベル処理部16は、ステップS64において変換されたワンホットベクトル表現に、ステップ関数を適用することで、ワンホット表現の次元ごとの0(β=0)より大きい値を1に変換することができる。
【0088】
また、
図13の(a)には、
図10Cの(c)に示される正解ラベルすなわち表現変換後の物体検出タスクに係るdogの値が2でpersonの値が1である正解ラベルが示されている。
図13の(b)では、
図13の(a)に示す表現変換後の正解ラベルに対して、閾値βより大きい場合には値1を出力するステップ関数が適用されている様子が示されている。
図13の(c)では、
図13の(a)に示す表現変換後の正解ラベルに対してステップ関数が適用された結果、dogの値が1でpersonの値が1である正解ラベルが得られたことを示している。
【0089】
このようにして、ラベル処理部16は、ステップS64において変換された表現に、ステップ関数を適用することで、当該表現の次元ごとの0(β=0)より大きい値を1に変換することができる。
【0090】
また、
図14(a)には、
図11の(c)に示される正解ラベルすなわち表現変換後のセマンティックセグメンテーションタスクに係るdogの値がピクセル数である正解ラベルが示されている。
図14の(b)では、
図14の(a)に示す表現変換後の正解ラベルに対して、閾値βより大きい場合には値1を出力するステップ関数が適用されている様子が示されている。
図14の(c)では、
図14の(a)に示す表現変換後の正解ラベルに対してステップ関数が適用された結果、dogの値が1である正解ラベルが得られたことを示している。
【0091】
このようにして、ラベル処理部16は、ステップS64において変換されたワンホットベクトル表現に、ステップ関数を適用することで、ワンホット表現の次元ごとの0より大きい値を1に変換することができる。
【0092】
以降、
図8に戻ってラベル処理部16の処理の説明を続ける。
【0093】
次に、ラベル処理部16は、ステップS65でステップ関数を適用したワンホットベクトル表現などの表現の合計が1であるかを判定する(S66)。
【0094】
ステップS66において、合計が1である場合(S66でYes)、ラベル処理部16は、ステップ関数を適用した表現からなる正解ラベルを第1損失計算部17に出力する(S63)。
【0095】
一方、ステップS66において、合計が1でない場合(S66でNo)、クラスラベルをリセットし、(S67)クラスラベルをリセットした正解ラベルを第1損失計算部17に出力する(S63)。より具体的には、ステップS67では、ラベル処理部16は、ステップ関数が適用された、ワンホット表現などの表現が、2以上の次元において1の値を有する場合、当該2以上の次元における値を0に変更することで、クラスラベルをリセットする。
【0096】
ここで、ステップS67の処理の一例について説明する。
【0097】
図15は、本実施の形態に係るクラスラベルをリセットする処理の一例を示す図である。
【0098】
図15の(a)には、
図13の(c)に示される正解ラベルすなわちステップ関数が適用され、dogの値が1でpersonの値が1である正解ラベルが示されている。
図15の(b)では、
図15の(a)に示すdog及びpersonの値が0となるようにクラスラベルがリセット処理された様子が示されている。
【0099】
このようにして、ラベル処理部16は、2つの画像データそれぞれの正解ラベルを、分類タスクにおいて用いられるクラスラベルのクラス数を次元数とするクラス次元での表現に変換するラベル処理を行う。
【0100】
なお、ステップS66及びステップS67で説明した処理を行わなくてもよい。すなわち、ラベル処理部16は、ステップ関数が適用されたワンホット表現などの表現が、2以上の次元において1の値を有していても、正解ラベルとして第1損失計算部17に出力してもよい。
【0101】
[1-5 第1損失計算部17]
第1損失計算部17は、ラベル処理されたM個の画像データそれぞれの正解ラベルと、当該M個の画像データそれぞれの埋め込みベクトルとから、教師あり対照学習で用いるための第1損失関数を計算する第1損失計算171を行う。
【0102】
本実施の形態では、第1損失計算部17は、
図5に示す第1損失計算171を行い、M個の画像データそれぞれのベクトル類似度による誤差を計算する。
【0103】
ここで、第1損失関数は、同じクラスに属する画像データを埋め込み空間内で近くに寄せる一方で、異なるクラスに属する画像データを埋め込み空間内で離れさせるような、ベクトル類似度による誤差を計算できる損失関数である。第1損失関数は、例えば下記の(式2)、具体的には(式3)~(式5)で表される対照損失関数Lsupを用いることができる。なお、(式5)では、正解ラベルが示すクラスが同じか否かを判定することを示している。
【0104】
【0105】
【0106】
【0107】
なお、Iは、データ拡張処理により得られた画像データのすべてを示し、上述したM個の画像データに該当する。iはアンカー画像であることを示し、Aは、アンカー画像を示すi以外のすべての画像を示し、pは学習対象の画像であることを示す。zは画像の埋め込み表現を示す。τは、温度と呼ばれるハイパーパラメータである。
【0108】
図16は、本実施の形態に係る正解ラベルが示すクラスが1種類である場合のラベル処理の結果の一例を示す図である。
【0109】
図16では、2つの元画像それぞれに対してデータ拡張処理されて得た4つの画像が示されている。iが付与された位置にある4つの画像がアンカー画像に該当し、pが付与された位置にある4つの画像が対照学習の対象画像であることに該当する。
図16に示す表の要素には、第1損失関数の(式5)の計算結果すなわち、対照学習により引き付ける対象とペア画像であるかどうかが示されている。対照学習を行うペア画像であれば1の値、そうでなければ0の値を示す。なお、同一の画像ペアでは、クラスが同じであっても対照学習を行う必要がないため、0となっている。
【0110】
したがって、本実施の形態では、
図16に示されるように、ハッチングされた領域の画像ペアについても対照学習の対象となることがわかる。これはラベル処理により、分類タスク以外のタスクで用いられる正解ラベルも、対照損失関数である第1損失関数を計算できるようになっているからである。
【0111】
図17Aは、本実施の形態に係る正解ラベルが示すクラスが1種類以上である場合のラベル処理の結果の別の例を示す図である。
図17Bは、
図17Aに示す結果に至る第1損失計算を概念的に示す図である。
【0112】
図17Aでも、2つの元画像に対してデータ拡張処理されて得た4つの画像が示されている。iが付与された位置にある4つの画像がアンカー画像に該当し、pが付与された位置にある4つの画像が対照学習の対象画像であることに該当する。
【0113】
図17Aに示す表では、左側下部及び上部右側の2つの画像の一方のクラスラベルが2次元であることからリセット処理されている場合の例が示されている。そして、ラベル処理によりクラスラベルがリセットされた正解ラベルに対応するアンカー画像を画像ペアの一方としてもつ場合、第1損失関数の(式5)を計算した結果の値は0になる。これは、
図17Bに示すように、
図17Bの(a)に示されるA(i)で計算される表の要素ごとに、
図17Bの(b)に示される
【数24】
であれば1と計算される表の要素を乗算することで、
図17Bの(c)のように得られる。より具体的には、
図17Bの(a)に示されるA(i)では、正解ラベルが示すインデックスが同じ(i=p)場合であれば0の値を示し、異なっていれば1の値を示す。また、
図17Bの(b)に示される
【数25】
で計算される表の要素は、ラベルが同じ場合に1の値を示し、異なる場合には0の値を示す。
【0114】
このような場合、リセット処理された正解ラベルは、後述する学習実行部19において教師あり対照学習のラベル情報として利用されない。これは、データ拡張された画像データのうち2以上の正解が含まれる正解ラベルに対応する画像データを利用しないことになり、データ拡張されたデータセットの数が不足することになるので、教師あり対照学習での学習が不安定になる可能性がある。
【0115】
そこで、上記の(式2)~(式5)で示される第1損失関数ではなく、上記の(式2)及び(式3)と下記の(式4)及び(式6)で示される第1損失関数を用いればよい。すなわち、(式4)においてデータ拡張処理される前の画像(元画像)が同じである場合には、1の値を取る条件を追加した(式6)で示される第1損失関数を用いればよい。
【0116】
【0117】
これにより、第1損失計算部17は、変更した第1損失関数を用いて、M個の画像データが異なり、かつ、M個の画像データに対してデータ拡張処理が行われる前の画像データが同一の場合に、対照学習における引き付ける処理を行わせる損失(誤差)を計算できる。
【0118】
以下、(式2)、(式3)、(式4)及び(式6)で示される第1損失計算の結果について一例を挙げて説明する。
【0119】
図17Cは、本実施の形態に係る第1損失関数を変更した場合において正解ラベルが示すクラスが1種類以上であるときのラベル処理の結果の例を示す図である。
図17Dは、
図17Cに示す結果に至るために用いられた、変更された第1損失計算を概念的に示す図である。
【0120】
図17Cでも、2つの元画像それぞれに対してデータ拡張処理されて得た4つの画像が示されている。
図17Cに示される元画像と4つの画像とは
図17Aと同様のため説明を省略する。
【0121】
図17Aで説明したように、ラベル処理によりクラスラベルをリセットした正解ラベルに対応するアンカー画像を画像ペアの一方としてもつ場合、第1損失関数の(式5)の計算結果は、0になる。しかし、(式5)に代えて(式6)を計算することで、リセットされた正解ラベルに対応するアンカー画像を画像ペアの一方としてもつ画像ペアの少なくとも1つの値が1になる。これは、
図17Dに示すように、
図17Dの(a)に示される
【数27】
で計算される表の要素に、
図17Dの(b)に示されるt(i)=pで計算される表の要素を加算することで、
図17Dの(c)のように得られるからである。
【0122】
なお、
図17Dの(a)に示される
【数28】
で計算される表の要素は、
図17Aの(a)に示される表の要素である。
図17Bの(b)に示されるt(i)=pで計算される表の要素は、データ拡張処理される前の画像すなわち元画像が同じであれば1の値を示す一方で、元画像が同じであっても同一のペア画像に対しては0の値を示す。
【0123】
このようにして、データ拡張処理される前の画像が同一である場合には、対照学習に利用させることができる。これにより、2以上の正解が含まれる正解ラベルをすべて利用しないことでデータ拡張されたデータセットの数が不足し、教師あり対照学習での学習が不安定になることを抑制し、より良い精度を得ることができる。
【0124】
[1-6 第2損失計算部18]
第2損失計算部18は、推論されたM個の画像データそれぞれのラベルと、当該M個の画像データそれぞれの正解ラベルとから、タスク学習で用いるための第2損失関数を計算する第2損失計算181を行う。
【0125】
ここで、第2損失関数は、例えば交差クロスエントロピー誤差関数である。
【0126】
本実施の形態では、第2損失計算部18は、
図5に示す第2損失計算181を行う。より具体的には、第2損失計算部18は、第2損失関数を用いて、推論された少なくとも1つの画像データ
【数29】
それぞれのラベルと、当該少なくとも1つの画像データそれぞれの正解ラベル
【数30】
との損失(誤差)を計算する。
【0127】
[1-7 学習実行部19]
学習実行部19は、教師あり対照学習で用いるための第1損失関数と、ラベル処理されたM個の画像データそれぞれの正解ラベルと、当該M個の画像データそれぞれの埋め込みベクトルとを用いて、エンコーダーネットワークモデル13a及び第1モデル14aを学習させる。本実施の形態では、学習実行部19は、エンコーダーネットワークモデル13a及び第1モデル14aを学習させる際、ベクトル類似度による誤差が第1損失関数により計算される。
【0128】
なお、ラベル処理において、クラスラベルがリセットされている場合、学習実行部19は、M個の画像データが異なり、かつ、当該M個の画像データに対してデータ拡張処理が行われる前の画像データが同一の場合に、対照学習における引き付ける処理を行わせる損失(誤差)を第1損失関数により計算する。そして、学習実行部19は、このような損失(誤差)を計算することで、エンコーダーネットワークモデル13a及び第1モデル14aを学習させる。これにより、学習実行部19は、似ている画像データは埋め込み空間でも似た埋め込みベクトルになり、異なる画像データは埋め込み空間でも異なる埋め込みベクトルになるように、エンコーダーネットワークモデル13a及び第1モデル14aを対照学習させることができる。
【0129】
また、学習実行部19は、タスク学習で用いるための第2損失関数と、推論された少なくとも1つの画像データそれぞれのラベルと、当該少なくとも1つの画像データそれぞれの正解ラベルとを用いて、エンコーダーネットワークモデル13a及び第2モデル15aを学習させる。
【0130】
本実施の形態では、学習実行部19は、第1損失関数及び第2損失関数を単一の損失関数として用いることで、エンコーダーネットワークモデル13a、前記第1モデル14a及び第2モデル15aの学習を、同時に行う。例えば第1損失関数に任意の実数の重みを乗じて、第2損失関数と足し合わせた損失関数を用いることで、第1損失関数及び第2損失関数を単一の損失関数として用いることができる。これにより、学習実行部19は、第1損失関数及び第2損失関数それぞれにより算出される損失を重みで分配した損失を逆伝播させて、エンコーダーネットワークモデル13aの変数を学習させることができる。
【0131】
なお、学習実行部19は、最急降下法など様々な手法を採用して、エンコーダーネットワークモデル13a、前記第1モデル14a及び第2モデル15aの学習を行うことができる。
【0132】
[2 学習装置1の動作]
以上のように構成された学習装置1は、教師あり対照学習処理とタスク学習処理とを同時に行う。以下、教師あり対照学習処理とタスク学習処理との詳細について以下説明する。
【0133】
図18は、本実施の形態に係る教師あり対照学習処理の詳細の一例を示すフローチャートである。
【0134】
図18に示すように、まず、学習装置1は、予め準備された画像データと正解ラベルとからなるデータセットから、N個(Nは1以上の整数)の画像データ及び当該画像データに紐づく正解ラベルを取得する(S101)。なお、Nは、バッチサイズを意味する。
【0135】
次に、学習装置1は、ステップS101において取得したN個の画像データ及び当該画像データに紐づく正解ラベルに対してデータ拡張処理を行い、M個(MはNの整数倍)の画像データ及び当該画像データに紐づく正解ラベルを得る(S102)。
【0136】
次に、学習装置1は、エンコーダーネットワークモデルに、M個の画像データから、
M個の画像データそれぞれの特徴表現を抽出させる(S103)。
【0137】
次に、学習装置1は、第1モデル14aに、ステップS102において抽出されたM個の画像データそれぞれの特徴表現を、教師あり対照学習で用いるための埋め込みベクトルに投影させる(S104)。第1モデル14aは、エンコーダーネットワークモデル13aから出力された画像特徴表現を任意のベクトル次元の埋め込み空間に投影する。
【0138】
次に、学習装置1は、M個の画像データそれぞれの正解ラベルを、画像認識技術分野タスクの正解ラベルとして特徴表現学習に適用可能となるように変換するラベル処理を行う(S105)。ここで、例えば、学習装置1は、M個の画像データそれぞれの正解ラベルを、分類タスクにおいて用いられるクラスラベルのクラス数を次元数とするクラス次元での、ワンホット表現などの表現に変換するラベル処理を行う。
【0139】
次に、学習装置1は、教師あり対照学習で用いるための第1損失関数と、ラベル処理されたM個の画像データそれぞれの正解ラベルと、M個の画像データそれぞれの埋め込みベクトルとを用いて、エンコーダーネットワークモデル13a及び第1モデル14aを学習させる(S106)。
【0140】
このように、ステップS105のラベル処理を行うことで、分類タスク以外のタスクでの正解ラベルを、分類タスクでの正解ラベルのワンホット表現に変換するなど、画像認識技術分野タスクの正解ラベルとして特徴表現学習に適用可能となるように変換することができる。これにより、例えば物体検出タスクなどの分類タスク以外のタスクにおいて教師あり対照学習を利用することができる。
【0141】
図19は、本実施の形態に係るタスク学習処理の詳細の一例を示すフローチャートである。
【0142】
図19に示すように、まず、学習装置1は、データ拡張処理が行われたM個の画像データを取得する(S111)。
【0143】
次に、学習装置1は、教師あり対照学習されたエンコーダーネットワークモデル13aに、ステップS111で取得したM個の画像データから、M個の画像データそれぞれの特徴表現を抽出させる(S112)。
【0144】
次に、学習装置1は、第2モデル15aに、抽出されたM個の画像データそれぞれの特徴表現から、個M個の画像データそれぞれのラベルを推論させる(S113)。
【0145】
次に、学習装置1は、タスク学習で用いるための第2損失関数と、推論された当該M個の画像データそれぞれのラベルと、当該M個の画像データそれぞれの正解ラベルとを用いて、エンコーダーネットワークモデル13a及び第2モデル15aを学習させる(S114)。
【0146】
[3 効果等]
本実施の形態では、教師あり対照学習を利用した特徴表現学習を行う際に、分類タスク以外のタスクでの正解ラベルを、分類タスクでの正解ラベルのワンホット表現に変換するなど画像認識技術分野タスクの正解ラベルとして特徴表現学習に適用可能となるように変換する。
【0147】
これにより、例えば物体検出タスクなどの分類タスク以外のタスクにおいて教師あり対照学習を利用することができる。
【0148】
よって、分類タスク以外の画像認識技術分野タスクのタスク学習にも適用可能な学習方法を実現できる。
【0149】
また、上記の実施の形態では、例えば、前記ラベル処理では、次元ごとの値として2以上を許容して前記M個の画像データそれぞれの正解ラベルを前記画像認識技術分野タスクの正解ラベルとして特徴表現学習に適用可能となる表現に変換し、前記適用可能となる表現の次元ごとのβ(βは任意の数)より大きい値を1に変換するステップ関数を適用することで、前記適用可能となる表現の次元ごとの値が0または1となるように、前記M個の画像データそれぞれの正解ラベルを、前記適用可能となる表現に変換する。
【0150】
これにより、分類タスク以外のタスクでの正解ラベルを、教師あり対照学習でのラベル情報として利用できる。換言すると、ニューラルネットワークモデルの学習方法において、ワンステージ化された教師あり特徴表現学習を、分類タスク以外のタスクに適用することができる。
【0151】
ここで、例えば、前記エンコーダーネットワークモデル及び前記第1モデルを学習させる際、前記M個の画像データのうちの2つの画像データが異なり、かつ、前記2つの画像データに対して前記データ拡張処理が行われる前の画像データが同一の場合に、前記対照学習における引き付ける処理を行わせる誤差が前記第1損失関数により算出される。
【0152】
このようにして、データ拡張処理される前の画像が同一である場合には、対照学習に利用させることができる。これにより、2以上の正解が含まれる正解ラベルをすべて利用しないことでデータ拡張されたデータセットの数が不足し、教師あり対照学習での学習が不安定になることを抑制し、より良い精度を得ることができる。
【0153】
ここで、例えば、前記ラベル処理では、さらに、変換された前記適用可能となる表現が、2以上の次元において1の値を有する場合、前記2以上の次元における値を0に変更する。
【0154】
このように、正解ラベルにおいて、2以上の正解が含まれる場合に、その正解ラベルを教師あり対照学習のラベル情報として利用しないようにすることができる。これにより、教師あり対照学習でのラベル情報として利用する場合の処理の負荷を軽減することができる。
【0155】
また、例えば、前記エンコーダーネットワークモデル及び前記第1モデルを学習させる際、
ベクトル類似度による誤差が前記第1損失関数により算出される。
【0156】
これにより、ベクトル類似度を用いた対照損失を利用して、教師あり対照学習を実行させることができる。
【0157】
(変形例)
上記の実施の形態では、データ拡張処理されて得た画像ペアそれぞれのベクトル特徴表現を投影して得た埋め込みベクトルを用いて、教師あり対照学習を行うとして説明したが、これに限らない。
【0158】
画像ペアそれぞれのベクトル特徴表現を投影した埋め込みベクトルの一方から、他方の埋め込みベクトルを予測し、予測した埋め込みベクトルと、他方の埋め込みベクトルとを用いて、教師あり対照学習を行うとしてもよい。この場合を変形例として以下説明する。
【0159】
図20は、本変形例に係る学習方法が実行される際の処理を概念的に説明するための図である。
図5と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【0160】
図20に示す処理は、
図5に示す処理と比較して、投影予測処理143が追加されており、これに伴い、ラベル処理161Aと第1損失計算171Aとが異なる。
【0161】
投影予測処理143では、投影処理142により得た埋め込みベクトルから、投影処理141により得た埋め込みベクトルを予測して、予測した埋め込みベクトルをラベル処理部16に出力する。投影予測処理143は、エンコーダーネットワークモデル13a、第1モデル14a及び第2モデル15aと異なる第3モデルを用いて行われる。
【0162】
より具体的には、第1ネットワークブランチは、エンコーダーネットワークモデル13a及び第1モデル14aに加えて第3モデルを有し、教師あり対照学習を利用した特徴表現学習が行われる。
【0163】
投影予測処理143では、第3モデルに、第1モデルの出力である2つの画像データの埋め込みベクトルのうちの一方の第1埋め込みベクトルから、他方の第2埋め込みベクトルを予測させた第3埋め込みベクトルを出力させる。
【0164】
本変形例に係る学習装置1は、投影予測処理143において、第3モデルを用いて、投影処理142により得た埋め込みベクトル
【数31】
から、投影処理141により得られる埋め込みベクトル
【数32】
を予測する。
【0165】
ラベル処理161Aでは、2つの画像データそれぞれの正解ラベルを、分類タスクにおいて用いられるクラスラベルのクラス数を次元数とするクラス次元での、ワンホット表現などの表現に変換するラベル処理を行う。
【0166】
本変形例では、ラベル処理161Aでは、投影予測処理143で予測された埋め込みベクトル
【数33】
と、投影処理141で得られた埋め込みベクトル
【数34】
を取得し、それらに対応する2つの画像データの正解ラベル
【数35】
を取得する。その他の処理については上記の実施の形態に係るラベル処理161と同様であるため説明を省略する。
【0167】
第1損失計算171Aでは、上記の実施の形態で説明した第1損失関数を用いて、損失(誤差)の計算を行ってもよい。
【0168】
本変形例では、第1損失関数は、同じクラスに属する画像データは埋め込み空間内で近くに寄せられる一方で、異なるクラスに属する画像データは埋め込み空間内で離れていると値が小さくなるコサイン類似度による誤差を計算できる損失関数であってもよい。本変形例に係る第1損失関数は、例えば下記の(式7)で表されるコサイン類似度(ネガティブコサイン類似度)を用いた対照損失関数Lsupを用いてもよい。
【0169】
【0170】
そして、本変形例では、学習実行部19は、教師あり対照学習で用いるための第1損失関数と、ラベル処理されたM個の画像データそれぞれの正解ラベルと、第2埋め込みベクトルと、第3埋め込みベクトルとを用いて、エンコーダーネットワークモデル13a、第1モデル14a及び第3モデルを学習させる。換言すると、本変形例に係る学習実行部19は、エンコーダーネットワークモデル13a、第1モデル14a及び第3モデルを学習させる際、コサイン類似度による誤差を第1損失関数により計算して行う。
【0171】
以上のように、本変形例では、投影予測処理をさらに行い、教師あり対照学習を利用した特徴表現学習を行う。また、本変形例でも、上記の実施の形態と同様に、正解ラベルのラベル処理を行うことで、分類タスク以外のタスクでの正解ラベルを、分類タスクでの正解ラベルの、ワンホット表現などの表現に変換する。
【0172】
以上のように、本変形例では、さらに、前記第1ネットワークブランチは、第3モデルを有し、前記第3モデルに、前記第1モデルの出力である2つの画像データの埋め込みベクトルのうちの一方の第1埋め込みベクトルから、他方の第2埋め込みベクトルを予測させた第3埋め込みベクトルを出力させ、前記2つの画像データそれぞれの正解ラベルを、分類タスクにおいて用いられるクラスラベルのクラス数を次元数とするクラス次元でのワンホット表現に変換するラベル処理を行い、前記教師あり対照学習で用いるための第1損失関数と、前記ラベル処理された2つの画像データそれぞれの正解ラベルと、前記第2埋め込みベクトルと、前記第3埋め込みベクトルとを用いて、前記エンコーダーネットワークモデル、前記第1モデル及び前記第3モデルを学習させる。
【0173】
ここで、前記エンコーダーネットワークモデル、前記第1モデル及び前記第3モデルを学習させる際、コサイン類似度による誤差が前記第1損失関数により算出されてもよい。
【0174】
これにより、例えば物体検出タスクなどの分類タスク以外のタスクにおいて教師あり対照学習を利用することができるだけでなく、その際の計算リソースを軽減し、学習時間を短期化することができる。つまり、本変形例のように教師あり対照学習を利用した特徴表現学習を行うことで、大規模な計算リソースが必要なくなり、学習の際のバッチサイズが小さくても高精度を実現でき、また、学習時間を短期化できるので少ないエポック数で高精度を実現できる。
【0175】
(その他の実施の形態)
以上、本開示に係る学習方法について、各実施の形態に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の主旨を逸脱しない限り、当業者が思いつく各種変形を各実施の形態に施したものや、各実施の形態における一部の構成要素を組み合わせて構築される別の形態も、本開示の範囲内に含まれる。
【0176】
また、以下に示す形態も、本開示の一つ又は複数の態様の範囲内に含まれてもよい。
【0177】
(1)上記の学習方法を実現する学習装置を構成する構成要素の一部は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムであってもよい。前記RAM又はハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0178】
(2)上記の学習方法を実現する学習装置を構成する構成要素の一部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0179】
(3)上記の学習方法を実現する学習装置を構成する構成要素の一部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【0180】
(4)また、上記の学習方法を実現する学習装置を構成する構成要素の一部は、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0181】
例えば、上記の学習方法を実現するコンピュータプログラムは、教師あり対照学習を利用した特徴表現学習を行うための第1ネットワークブランチと分類タスク及び分類タスク以外のタスクを含む画像認識技術分野タスクのタスク学習を行うための第2ネットワークブランチとからなるニューラルネットワークモデルを学習させる学習方法をコンピュータに実行させるプログラムであって、前記ニューラルネットワークモデルは、前記第1ネットワークブランチと前記第2ネットワークブランチとで共有されるエンコーダーネットワークモデルと、前記第1ネットワークブランチのみが有する第1モデルと、前記第2ネットワークブランチのみが有する第2モデルとで構成され、予め準備された画像データと正解ラベルとからなるデータセットであってデータ拡張処理が行われたデータセットから、N個(Nは1以上の整数)の画像データ及び当該画像データに紐づく正解ラベルを取得させ、前記N個の画像データ及び当該画像データに紐づく正解ラベルに対してデータ拡張処理を行わせて、M個(MはNの整数倍)の画像データ及び当該画像データに紐づく正解ラベルを取得し、前記エンコーダーネットワークモデルに、前記M個の画像データから、前記M個の画像データそれぞれの特徴表現を抽出させ、前記第1モデルに、抽出された前記M個の画像データそれぞれの特徴表現を、前記教師あり対照学習で用いるための埋め込みベクトルに投影させ、前記M個の画像データそれぞれの正解ラベルを、画像認識技術分野タスクの正解ラベルとして特徴表現学習に適用可能となるように変換するラベル処理を行わせ、前記教師あり対照学習で用いるための第1損失関数と、前記ラベル処理された前記M個の画像データそれぞれの正解ラベルと、前記M個の画像データそれぞれの埋め込みベクトルとを用いて、前記エンコーダーネットワークモデル及び前記第1モデルを学習させ、前記データ拡張処理が行われた前記M個の画像データを取得させ、前記教師あり対照学習された前記エンコーダーネットワークモデルに、取得した前記M個の画像データから、前記M個の画像データそれぞれの特徴表現を抽出させ、前記第2モデルに、抽出された前記M個の画像データそれぞれの特徴表現から、前記M個の画像データそれぞれのラベルを推論させ、前記タスク学習で用いるための第2損失関数と、推論された前記M個の画像データそれぞれのラベルと、前記M個の画像データそれぞれの正解ラベルとを用いて、前記エンコーダーネットワークモデル及び前記第2モデルを学習させ、前記エンコーダーネットワークモデル、前記第1モデル及び前記第2モデルの学習は、同時に行われる、ことをコンピュータに実行させる。
【0182】
また、上記の学習方法を実現する学習装置を構成する構成要素の一部は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0183】
(5)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0184】
(6)また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【0185】
(7)また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0186】
(8)また、上記の学習方法を実現する学習装置を構成する構成要素の一部をクラウドまたはサーバ装置でおこなってもよい。
【0187】
(9)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【0188】
本開示は、ラベル毎のデータ数に偏りがあるデータセットを用いて、分類タスク以外の学習にも適用可能な教師あり対照学習の学習方法、及び、プログラムなどに利用できる。
【符号の説明】
【0189】
1 学習装置
2 ニューラルネットワーク
2a ニューラルネットワークモデル
11 取得部
12 データ拡張処理部
13 特徴抽出部
13a エンコーダーネットワークモデル
14 投影部
14a 第1モデル
15 推論部
15a 第2モデル
16 ラベル処理部
17 第1損失計算部
18 第2損失計算部
19 学習実行部
131、132 特徴抽出処理
141、142 投影処理
143 投影予測処理
151 推論処理
161、161A ラベル処理
171、171A 第1損失計算
181 第2損失計算