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

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

<>
  • -学習装置、学習方法及びプログラム 図1
  • -学習装置、学習方法及びプログラム 図2
  • -学習装置、学習方法及びプログラム 図3
  • -学習装置、学習方法及びプログラム 図4
  • -学習装置、学習方法及びプログラム 図5
  • -学習装置、学習方法及びプログラム 図6
  • -学習装置、学習方法及びプログラム 図7
  • -学習装置、学習方法及びプログラム 図8
  • -学習装置、学習方法及びプログラム 図9
  • -学習装置、学習方法及びプログラム 図10
  • -学習装置、学習方法及びプログラム 図11
  • -学習装置、学習方法及びプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-15
(45)【発行日】2024-10-23
(54)【発明の名称】学習装置、学習方法及びプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20241016BHJP
   G06N 3/0895 20230101ALI20241016BHJP
   G06N 3/045 20230101ALI20241016BHJP
   G06N 3/047 20230101ALI20241016BHJP
【FI】
G06N20/00 130
G06N3/0895
G06N3/045
G06N3/047
【請求項の数】 9
(21)【出願番号】P 2022572833
(86)(22)【出願日】2020-12-28
(86)【国際出願番号】 JP2020049146
(87)【国際公開番号】W WO2022144979
(87)【国際公開日】2022-07-07
【審査請求日】2023-06-19
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100107331
【弁理士】
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100104765
【弁理士】
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100131015
【弁理士】
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】坂井 亮介
(72)【発明者】
【氏名】馬場崎 康敬
【審査官】大倉 崚吾
(56)【参考文献】
【文献】特開平05-290013(JP,A)
【文献】特開2019-032821(JP,A)
【文献】特開平06-187315(JP,A)
【文献】特開2019-070950(JP,A)
【文献】中国特許出願公開第111145026(CN,A)
【文献】GAL, Yarin et al.,"Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning",arXiv [online],2016年10月04日,[2024年04月16日検索],インターネット<URL:https://arxiv.org/abs/1506.02142v6>,1506.02142v6
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
入力データに対し、確率的に生成された確率的推論結果を生成する確率的推論結果生成手段と、
前記確率的推論結果を整形した整形済推論結果を生成する整形手段と、
前記入力データと、前記入力データに対する正解データと、前記整形済推論結果とに基づき、前記整形済推論結果を修正する学習モデルである修正学習モデルの学習を行う学習手段と、
を有し、
前記確率的推論結果生成手段は、前記修正学習モデルにより推論結果が修正される対象となる学習済モデルに対して確率的にパラメータの変更を行った確率的推論モデルに基づき、前記確率的推論結果を生成する、学習装置。
【請求項2】
前記学習済モデルはニューラルネットワークに基づくモデルであり、
前記確率的推論結果生成手段は、前記学習済モデルに対して重みのパラメータを確率的に0とした前記確率的推論モデルに基づき、前記確率的推論結果を生成する、請求項に記載の学習装置。
【請求項3】
入力データに対し、確率的に生成された確率的推論結果を生成する確率的推論結果生成手段と、
前記確率的推論結果を整形した整形済推論結果を生成する整形手段と、
前記入力データと、前記入力データに対する正解データと、前記整形済推論結果とに基づき、前記整形済推論結果を修正する学習モデルである修正学習モデルの学習を行う学習手段と、を有し、
前記修正学習モデルは、ニューラルネットワークに基づくモデルであり、
前記整形済推論結果は、前記入力データが入力される入力層に前記入力データと共に入力される、又は、前記入力層とは異なる中間層に入力される、学習装置。
【請求項4】
前記整形手段は、前記入力層又は前記中間層への入力に必要なデータ形式に前記確率的推論結果を整形する、請求項に記載の学習装置。
【請求項5】
前記修正学習モデルにより推論結果が修正される対象となる学習済モデルの学習に用いられたデータに対して、当該学習において実行されていないオーグメンテーションを適用することで、前記入力データ及び当該入力データに対する正解データを生成する入力手段をさらに有する、請求項1~のいずれか一項に記載の学習装置。
【請求項6】
入力データに対し、確率的に生成された確率的推論結果を生成する確率的推論結果生成手段と、
前記確率的推論結果を整形した整形済推論結果を生成する整形手段と、
前記入力データと、前記入力データに対する正解データと、前記整形済推論結果とに基づき、前記整形済推論結果を修正する学習モデルである修正学習モデルの学習を行う学習手段と、を有し、
前記修正学習モデルにより推論結果が修正される対象となる学習済モデルは、対称関係にある特徴点を別名ラベルとする別名定義に基づくラベルにより学習が行われ、
前記修正学習モデルは、対称関係にある特徴点を同名ラベルとする同名定義に基づくラベルにより学習が行われ、
前記整形手段は、前記確率的推論結果が表す前記別名定義に基づくラベルを、前記同名定義に基づくラベルに変換した前記整形済推論結果を生成する、学習装置。
【請求項7】
画像に含まれる対称性を有する物体の特徴点の抽出を行うように学習された前記学習済モデルの学習に用いられた画像を反転した反転画像を前記入力データとして生成し、かつ、前記反転画像に対する正解データを前記入力データに対する前記正解データから生成する入力手段を有し、
前記学習手段は、当該整形済推論結果と、前記反転画像と、前記反転画像に対する正解データと、に基づき、前記修正学習モデルの学習を行う、請求項に記載の学習装置。
【請求項8】
コンピュータが、
入力データに対し、確率的に生成された確率的推論結果を生成し、
前記確率的推論結果を整形した整形済推論結果を生成し、
前記入力データと、前記入力データに対する正解データと、前記整形済推論結果とに基づき、前記整形済推論結果を修正する学習モデルである修正学習モデルの学習を行
前記修正学習モデルにより推論結果が修正される対象となる学習済モデルに対して確率的にパラメータの変更を行った確率的推論モデルに基づき、前記確率的推論結果を生成する、学習方法。
【請求項9】
入力データに対し、確率的に生成された確率的推論結果を生成し、
前記確率的推論結果を整形した整形済推論結果を生成し、
前記入力データと、前記入力データに対する正解データと、前記整形済推論結果とに基づき、前記整形済推論結果を修正する学習モデルである修正学習モデルの学習を行
前記修正学習モデルにより推論結果が修正される対象となる学習済モデルに対して確率的にパラメータの変更を行った確率的推論モデルに基づき、前記確率的推論結果を生成する処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モデルの学習に関する学習装置、学習方法及び記憶媒体の技術分野に関する。
【背景技術】
【0002】
画像から特徴点を抽出する方法の一例が特許文献1に開示されている。特許文献1には、正解データからあえて特徴点の抜けが生じている劣化データを作成し、元画像と劣化データとから特徴点の抜けを補完するための補完器の学習を行う対象物認識装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2020-123105号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の方法は、隠れた特徴点については抜けが発生しやすいという問題に特化しており、現在の精度劣化の原因が明らかな場合にのみ適用されるものである。一方、精度劣化が生じる原因は様々であり、精度劣化の原因に依存することなく推論の高精度化を行うことができることが望ましい。
【0005】
本開示の目的は、上述した課題を鑑み、推論の高精度化を好適に実現可能なモデルの学習を行う学習装置、学習方法及び記憶媒体を提供することである。
【課題を解決するための手段】
【0006】
学習装置の一の態様は、
入力データに対し、確率的に生成された確率的推論結果を生成する確率的推論結果生成手段と、
前記確率的推論結果を整形した整形済推論結果を生成する整形手段と、
前記入力データと、前記入力データに対する正解データと、前記整形済推論結果とに基づき、前記整形済推論結果を修正する学習モデルである修正学習モデルの学習を行う学習手段と、
を有し、
前記確率的推論結果生成手段は、前記修正学習モデルにより推論結果が修正される対象となる学習済モデルに対して確率的にパラメータの変更を行った確率的推論モデルに基づき、前記確率的推論結果を生成する学習装置である。
【0007】
学習方法の一の態様は、
コンピュータが、
入力データに対し、確率的に生成された確率的推論結果を生成し、
前記確率的推論結果を整形した整形済推論結果を生成し、
前記入力データと、前記入力データに対する正解データと、前記整形済推論結果とに基づき、前記整形済推論結果を修正する学習モデルである修正学習モデルの学習を行
前記修正学習モデルにより推論結果が修正される対象となる学習済モデルに対して確率的にパラメータの変更を行った確率的推論モデルに基づき、前記確率的推論結果を生成する、学習方法である。
【0008】
プログラムの一の態様は、
入力データに対し、確率的に生成された確率的推論結果を生成し、
前記確率的推論結果を整形した整形済推論結果を生成し、
前記入力データと、前記入力データに対する正解データと、前記整形済推論結果とに基づき、前記整形済推論結果を修正する学習モデルである修正学習モデルの学習を行
前記修正学習モデルにより推論結果が修正される対象となる学習済モデルに対して確率的にパラメータの変更を行った確率的推論モデルに基づき、前記確率的推論結果を生成する処理をコンピュータに実行させるプログラムである。
【発明の効果】
【0009】
推論の高精度化を実現可能な修正学習モデルの学習を好適に実行することができる。
【図面の簡単な説明】
【0010】
図1】第1実施形態における学習システムの概略構成を示す。
図2】学習装置のハードウェア構成の一例を示す。
図3】学習処理の概要を表した概要図である。
図4】(A)ニューラルネットワークである学習済モデルに対してドロップアウトを適用した第1具体例を示す。(B)ニューラルネットワークである学習済モデルに対してドロップアウトを適用した第2具体例を示す。
図5】第1実施形態における学習処理に関する機能ブロック図の一例である。
図6】(A)入力画像と整形済推論結果とが同一層に入力される場合に、これらの入力される層を明示した修正学習モデルの構造を示す。(B)入力画像と整形済推論結果とが異なる層に入力される場合に、これらの入力される層を明示した修正学習モデルの構造を示す。
図7】学習処理の手順を示すフローチャートの一例である。
図8】(A)テニスコートの13個の特徴点について別名定義によりある視点を基準としてラベル付けした場合の各特徴点のラベルを明示した図である。(B)テニスコートの13個の特徴点について別名定義により他の視点を基準としてラベル付けした場合の各特徴点のラベルを明示した図である。
図9】テニスコートの13個の特徴点について同名定義によりラベル付けした場合の各特徴点のラベルを明示した図である。
図10】第2実施形態の処理の概要図である。
図11】第3実施形態における学習装置のブロック構成図である。
図12】第3実施形態におけるフローチャートの一例である。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、学習装置、学習方法及び記憶媒体の実施形態について説明する。
【0012】
<第1実施形態>
(1)全体構成
図1は、第1実施形態における学習システム100の概略構成を示す。学習システム100は、既存の学習モデルの強化(高精細化)を目的とした学習を行う。学習システム100は、学習装置1と、記憶装置2と、を備える。
【0013】
学習装置1は、記憶装置2に記憶された情報に基づき、既に学習が行われた推論モデル(「学習済モデル」とも呼ぶ。)が出力する推論結果を修正するモデル(「修正学習モデル」とも呼ぶ。)の学習を行う。学習済モデル及び修正学習モデルは、例えば、ディープニューラルネットワーク(DNN:Deep Neural Network)に基づくモデルである。学習済モデルは、入力された画像に対して任意の推論結果を出力するモデルであってもよい。例えば、学習済モデルは、入力された入力画像に対して特徴点に関する推論結果を出力するモデル、又は、入力画像に対して物体領域のセグメントに関する推論結果を出力するモデルであってもよい。さらに別の例では、学習済モデルは、入力画像又は入力画像中の物体等に対する分類に関する推論結果を出力するモデルであってもよく、入力画像中に存在する物体検出に関する推論結果を出力するモデルであってもよい。本実施形態では、代表例として、特徴点抽出に関する修正学習モデルの学習に関する説明を主に行う。
【0014】
記憶装置2は、学習装置1による学習に必要な各種情報を記憶するメモリである。記憶装置2は、学習装置1に接続又は内蔵されたハードディスクなどの外部記憶装置であってもよく、フラッシュメモリなどの記憶媒体であってもよい。また、記憶装置2は、学習装置1とデータ通信を行うサーバ装置であってもよい。また、記憶装置2は、複数の装置から構成されてもよい。記憶装置2は、機能的には、学習データ記憶部20と、第1パラメータ記憶部21と、第2パラメータ記憶部22とを有する。
【0015】
学習データ記憶部20は、学習装置1が実行する修正学習モデルの学習に用いる学習データを記憶する。学習データは、修正学習モデルの学習において修正学習モデルに入力される画像(「入力画像」とも呼ぶ。)と、当該画像に基づき推論すべき正解を表す正解データとの複数の組み合わせを含む。例えば、学習済モデル及び修正学習モデルが特徴点抽出に関するモデルである場合、正解データには、例えば、正解となる画像内の座標値(正解座標値)に関する情報と、当該特徴点の識別情報とが含まれる。「座標値」は、画像内における特定の画素の位置を特定する値であってもよく、サブピクセル単位での画像内の位置を特定する値であってもよい。なお、正解情報には、正解座標値に代えて、抽出対象となる特徴点に対する信頼度マップ(ヒートマップ)の情報を含んでもよい。
【0016】
なお、学習データ記憶部20に記憶される学習データは、学習済モデルの学習に用いられていないデータであってもよく、学習済モデルの学習に用いられたデータであってもよい。後者の場合、学習装置1は、後述するように、学習済モデルの学習時に実行されていないデータ拡張(オーグメンテーション)を行うことで学習データの変種を生成し、生成した学習データの変種を用いて修正学習モデルの学習を行う。
【0017】
第1パラメータ記憶部21は、学習済モデルを構成するために必要なパラメータを記憶する。上述のパラメータは、例えば、学習済モデルにおいて採用されるニューラルネットワークの層構造、各層のニューロン構造、各層におけるフィルタ数及びフィルタサイズ、並びに各フィルタの各要素の重みなどが該当する。
【0018】
第2パラメータ記憶部22は、修正学習モデルを構成するために必要なパラメータを記憶する。第2パラメータ記憶部22に記憶されるパラメータは、学習データ記憶部20に記憶された学習データを用いた修正学習モデルの学習によって学習装置1により更新される。第2パラメータ記憶部22には、例えば、修正学習モデルに適用するパラメータの初期値が記憶されており、学習装置1により学習が行われる毎に上記パラメータが更新される。
【0019】
(2)ハードウェア構成
図2は、学習装置1のハードウェア構成の一例を示す。学習装置1は、ハードウェアとして、プロセッサ11と、メモリ12と、インターフェース13とを含む。プロセッサ11、メモリ12及びインターフェース13は、データバス10を介して接続されている。
【0020】
プロセッサ11は、メモリ12に記憶されているプログラム等を実行することにより、所定の処理を実行する。プロセッサ11は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、TPU(Tensor Processing Unit)などのプロセッサである。プロセッサ11は、複数のプロセッサから構成されてもよい。プロセッサ11は、コンピュータの一例である。
【0021】
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)などの、作業メモリとして使用される各種の揮発性メモリ及び学習装置1の処理に必要な情報を記憶する不揮発性メモリにより構成される。なお、メモリ12は、学習装置1に接続又は内蔵されたハードディスクなどの外部記憶装置を含んでもよく、着脱自在なフラッシュメモリなどの記憶媒体を含んでもよい。メモリ12には、学習装置1が本実施形態における各処理を実行するためのプログラムが記憶される。なお、メモリ12は、記憶装置2又は記憶装置2の一部として機能し、学習データ記憶部20、第1パラメータ記憶部21、第2パラメータ記憶部22の少なくともいずれかを記憶してもよい。
【0022】
インターフェース13は、学習装置1と他の装置とを電気的に接続するためのインターフェースである。これらのインターフェースは、他の装置とデータの送受信を無線により行うためのネットワークアダプタなどのワイアレスインタフェースであってもよく、他の装置とケーブル等により接続するためのハードウェアインターフェースであってもよい。
【0023】
なお、学習装置1のハードウェア構成は、図2に示す構成に限定されない。例えば、学習装置1は、ユーザ入力を受け付けるための入力部、ディスプレイやスピーカなどの出力部などをさらに備えてもよい。
【0024】
(3)学習処理
次に、学習装置1が実行する学習処理の詳細について説明する。
(3-1)概要
概略的には、学習装置1は、確率的な推論結果を生成するように操作した学習済モデルの推論結果に基づいて、修正学習モデルの学習を行う。これにより、学習装置1は、修正学習モデルの学習に必要なデータを自動生成し、修正学習モデルの学習を好適に実行する。
【0025】
図3は、学習装置1が実行する学習処理の概要を表した概要図である。図3は、代表例として、認識対象物の特徴点(識別番号0~5の6点)の抽出を行う場合の学習処理の概要を表している。
【0026】
まず、学習装置1は、第1パラメータ記憶部21を参照して構成した学習済モデルに対し、確率的な推論結果を出力するように操作を行う。例えば、学習装置1は、学習済モデルに対して確率的にパラメータの変更を行う。このような確率的なパラメータの変更手法として、例えばニューラルネットワークの重みのパラメータを確率的に0にする処理であるドロップアウトが存在する。このようにすることで、学習済モデルに同一入力を行った場合でも推論結果のバリエーションを得ることができる。以後では、確率的な推論結果を出力するように操作を行った学習済モデルを、「確率的推論モデル」とも呼ぶ。
【0027】
そして、学習装置1は、学習データ記憶部20から抽出した入力画像を、確率的推論モデルに入力することで、確率的推論モデルが出力する推論結果(「確率的推論結果」とも呼ぶ。)を取得する。なお、学習装置1は、学習データ記憶部20から抽出した入力画像に対してデータオーグメンテーションを行うことで生成した画像を確率的推論モデルに入力してもよい。
【0028】
その後、学習装置1は、確率的推論結果を整形器に入力する。図3では、確率的推論結果は、抽出すべき6個の各特徴点のヒートマップを表している。そして、整形器は、確率的推論結果を、修正学習モデルの入力に適した形式となるように整形し、整形後の確率的推論結果(「整形済推論結果」とも呼ぶ。)を、修正学習モデルに入力する。
【0029】
そして、学習装置1は、入力画像と整形済推論結果と正解データとに基づき、修正学習モデルの学習を行う。この場合、学習装置1は、例えば、入力画像と整形済推論結果とを修正学習モデルに入力した場合に修正学習モデルが出力する推論結果(「修正推論結果」とも呼ぶ。)と、正解データとに基づき修正学習モデルの学習を行う。この場合、学習装置1は、修正推論結果と正解データとの誤差(損失)が最小となるように、修正学習モデルのパラメータを決定する。損失を最小化するように上述のパラメータを決定するアルゴリズムは、勾配降下法や誤差逆伝播法などの機械学習において用いられる任意の学習アルゴリズムであってもよい。なお、確率的推論モデル(即ち学習済モデル)と修正学習モデルとの出力形式は同じである必要はない。
【0030】
次に、学習済モデルのドロップアウトの適用の具体例について説明する。
【0031】
図4(A)は、ニューラルネットワークである学習済モデルに対してドロップアウトを適用した第1具体例を示す。図4(B)は、学習済モデルに対してドロップアウトを適用した第2具体例を示す。なお、図4(A)及び図4(B)では、説明便宜上、学習済モデルを簡略的なニューラルネットワークにより表している。また、ドロップアウトにより除外したノード及びエッジを破線により示している。
【0032】
図4(A)の例では、学習装置1は、学習済モデルを構成するノードから確率的に(所定の確率によりランダムに)ノードを選択し、選択したノードを除去(即ち、ノードに接続するエッジの重みパラメータを0に設定)している。一方、図4(B)の例では、学習済モデルを構成するエッジから確率的にエッジを選択し、選択したエッジを除去(即ち、エッジの重みパラメータを0に設定)している。第1具体例及び第2具体例のいずれの場合においても、学習装置1は、確率的に生成された推論結果を出力するように学習済モデルを操作した確率的推論モデルを好適に構成している。
【0033】
このように、学習装置1は、通常では過学習を防ぐために学習段階で用いられるドロップアウトを、推論時の学習済モデルに適用する。これにより、推論結果を修正する学習モデルを用いる推論手法であるPoseFixのような間違い傾向の解析を行うことなく、間違いが生じやすい入力に対して様々なバリエーションによる間違いを含んだ推論結果を好適に得ることができる。また、この場合、高次の間違いやすさの相関が自動で反映されることになる。
【0034】
(3-2)機能ブロック
図5は、第1実施形態における学習処理に関する学習装置1の機能ブロック図の一例である。図5に示すように、学習装置1のプロセッサ11は、機能的には、入力部15と、確率的推論結果生成部16と、整形部17と、学習部18とを有する。なお、図5では、データの授受が行われるブロック同士を実線により結んでいるが、データの授受が行われるブロックの組合せは図5に限定されない。後述する他の機能ブロックの図においても同様である。
【0035】
入力部15は、入力画像と正解データの組を、インターフェース13を介して学習データ記憶部20から取得する。また、入力部15は、学習データ記憶部20から抽出した入力画像と正解データの組が学習済モデルの学習に用いられたデータである場合には、データオーグメンテーションを行う。この場合、入力部15は、学習データ記憶部20から抽出した入力画像に対して色調整、クロッピング、又は反転操作などの画像変換を実行し、正解データについても対となる入力画像の変換に応じて変換する。これにより、入力部15は、本学習に用いる入力画像と正解データの組を取得する。なお、入力部15は、学習済モデルの学習に用いられていない入力画像と正解データの組に対してもオーグメンテーションを行い、学習データのデータ量を増やしてもよい。そして、入力部15は、学習に用いる入力画像を、確率的推論結果生成部16及び学習部18に供給し、入力画像に対応する正解データを、学習部18に供給する。
【0036】
確率的推論結果生成部16は、入力部15から供給された入力画像に基づき、確率的推論結果を生成する。この場合、確率的推論結果生成部16は、第1パラメータ記憶部21に記憶されたパラメータに基づき学習済モデルを構成し、さらに学習済モデルに確率的なパラメータ操作を行った確率的推論モデルを構成する。そして、確率的推論結果生成部16は、確率的推論モデルに入力画像を入力することで、確率的推論結果を生成する。
【0037】
整形部17は、確率的推論結果生成部16が生成した確率的推論結果に対して所定の整形処理を行うことで、修正学習モデルへの入力形式に適合した整形済推論結果を生成する。この場合、確率的推論結果は、ヒートマップであってもよく、入力画像に対するセグメンテーション結果であってもよく、入力画像に対する分類結果であってもよく、所定の物体の検出結果であってもよい。例えば、確率的推論結果が入力画像に対する分類結果を示す場合、整形部17は、尤度が最も高い上位所定個数(例えば上位3個)の分類結果のみを表す整形済推論結果を生成する。また、整形部17は、確率的推論結果が特徴点の推論結果である場合に、特徴点毎に固有の特徴点ラベルの変更(集約化)可能である。特徴点ラベルの集約の具体例については、第2実施形態において詳しく説明する。
【0038】
学習部18は、整形部17が生成した整形済推論結果と、入力部15から供給される入力画像及び正解データとに基づき、修正学習モデルの学習を行い、学習により得られた修正学習モデルのパラメータを、第2パラメータ記憶部22に記憶する。
【0039】
ここで、入力部15、確率的推論結果生成部16、整形部17及び学習部18の各構成要素は、例えば、プロセッサ11がプログラムを実行することによって実現できる。また、必要なプログラムを任意の不揮発性記憶媒体に記録しておき、必要に応じてインストールすることで、各構成要素を実現するようにしてもよい。なお、これらの各構成要素の少なくとも一部は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組合せ等により実現してもよい。また、これらの各構成要素の少なくとも一部は、例えばFPGA(Field-Programmable Gate Array)又はマイクロコントローラ等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。また、各構成要素の少なくとも一部は、ASSP(Application Specific Standard Produce)、ASIC(Application Specific Integrated Circuit)又は量子プロセッサ(量子コンピュータ制御チップ)により構成されてもよい。このように、各構成要素は、種々のハードウェアにより実現されてもよい。以上のことは、後述する他の実施の形態においても同様である。さらに、これらの各構成要素は、例えば、クラウドコンピューティング技術などを用いて、複数のコンピュータの協働によって実現されてもよい。
【0040】
(3-3)修正学習モデルの入力形式
整形部17が供給する整形済推論結果は、入力部15が供給する入力画像と共に修正学習モデルの入力層に入力されてもよく、修正学習モデルの中間層に入力されてもよい。
【0041】
図6(A)及び図6(B)は、入力部15が供給する入力画像と整形部17が供給する整形済推論結果とが入力される層を明示した修正学習モデルの構造を示す。図6(A)及び図6(B)では、修正学習モデルは、層数が「n2」(n2は3以上の整数)となるニューラルネットワークであり、第「n1」(n1はn2未満の整数)層を含む1又は複数の中間層を含んでいる。ここでは、入力層を第1層とし、出力層を第n2層とする。
【0042】
図6(A)では、入力画像と整形済推論結果とは夫々第1層である入力層に入力されている。一方、図6(B)では、入力画像は第1層である入力層に入力され、整形済推論結果は第n1層である中間層に入力されている。なお、図3の例では、整形済推論結果は、抽出すべき特徴点ごとのヒートマップとなっており、図6(B)に従い中間層に入力される。このように、整形済推論結果は、図6(A)に示すように、入力部15が供給する入力画像と共に修正学習モデルの入力層に入力されてもよく、図6(B)に示すように、修正学習モデルの中間層に入力されてもよい。
【0043】
次に、入力画像と整形済推論結果の入力時のデータ形式についてさらに詳細に説明する。一般に、異なる2つ情報を合わせて入力する場合、テンソル形式で表現する必要がある。従って、以下では、修正学習モデルへの入力形式として用いられるテンソルデータ形式について具体的に説明する。
【0044】
まず、図6(A)の例において、RGBのカラー画像である入力画像と特徴点毎の信頼度マップ(ヒートマップ)である整形済推論結果とを入力する場合について考察する。入力画像の縦横のサイズを夫々「W」、「H」とした場合、入力画像の各画素はRGBの情報を持つため、入力画像は、大きさ(3,W,H)の3次元のテンソルデータ形式となる。一方、整形済推論結果は、各特徴点の存在の信頼度マップとなるため、特徴点の数を「N」個とすると、(N,W,H)のテンソルデータ形式となる。よって、図6(A)の場合、第1層である入力層には、入力画像と整形済推論結果との両方の入力を合わせた(3+N,W,H)のテンソルデータ形式のデータが入力される。
【0045】
次に、図6(B)の例について考察する。この場合、入力層に入力された入力画像は、第(n1-1)層までのネットワークによって、縦横サイズが夫々「Wx」及び「Hx」、RGB方向に相当するチャンネル方向のサイズが「C」となるデータに変換される。この場合、第n1層である中間層へ入力されるテンソルデータ形式は、(C,Wx,Hx)となる。なお、厳密には必ずしも3次元テンソルに変換する必要はなく、テンソルであれば何次元でも問題ない。また、整形済推論結果は、整形部17により、縦横サイズが夫々「Wx」及び「Hx」となるヒートマップとなるように整形される。よって、第n1層である中間層には、入力としてこれらの2つのテンソルを足した(C+N,Wx,Hx)の3次元テンソルのデータが入力される。
【0046】
学習済モデルが上述したヒートマップを出力するネットワークである例では、入力画像と確率的推論結果との形式が似ているため、比較的簡単に修正学習モデルへの入力データを生成し、修正学習モデルの学習が可能である。この傾向は、修正学習モデルの学習方法にもよるものの、画像セグメンテーションや物体検出問題を扱う場合でも同様となる。
【0047】
一方、画像分類問題を扱う場合、学習済モデルへの入力(入力画像)と出力(各分類クラスの尤度)では形式が異なる。よって、この場合、整形部17は、確率的推論結果を、図6(A)の場合には入力画像と同一形式に変換し、図6(B)の場合には修正学習モデルの第(n1-1)層の出力の形式と同一形式に変換した整形済推論結果を生成する必要がある。
【0048】
例えば、「犬、猫、鳥」の識別問題において、図6(B)に従い修正学習モデルの第n1層である中間層に整形済推論結果を入力する場合について考察する。ここで、例えば、各分類の尤度が「0.6」(犬)、「0.3」(猫)、「0.1」(鳥)とする確率的推論結果が得られた場合、整形部17は、すべて値が同じ(Wx,Hx)のテンソルを各分類(犬、猫、鳥)でそれぞれ作成する。そして、整形部17は、チャンネル方向の値が夫々「0.6」、「0.3」、「0.1」となる(3,Wx,Hx)のデータと入力画像が変換されたデータ(C,Wx,Hx)とを合わせた(C+3,Wx,Hx)のデータを、第n1層である中間層に入力する。なお、第(n1-1)層までのネットワークによってテンソルの次元も変えられるため、整形部17は、必ずしも(C,Wx,Hx)の整形済推論結果を生成する必要はない。
【0049】
このように、整形部17は、要求されるデータ形式に確率的推論結果を変換することで、確率的推論結果が推論内容に応じた種々のデータ形式を有する場合であっても、任意の推論問題に対応可能な修正学習モデルの学習を行うことができる。なお、整形部17が実行すべき処理は、例えば確率的推論結果のデータ形式等に応じて予め決定され、当該処理の実行に必要な情報がメモリ12又は記憶装置2に予め記憶されている。
【0050】
(4)処理フロー
図7は、学習装置1が実行する学習処理の手順を示すフローチャートの一例である。
【0051】
まず、学習装置1の入力部15は、学習に用いる入力画像と正解データを取得する(ステップS11)。ここで、入力部15は、学習データ記憶部20に記憶された入力画像と正解データの組が学習済モデルの学習に用いられたデータである場合には、学習済モデルの学習において実行されていないオーグメンテーションを行う。この場合、入力部15は、入力画像に対して所定の画像変換を実行し、正解データについても入力画像の変換に応じて変換する。なお、入力部15は、取得した入力画像と正解データの組が学習済モデルの学習に用いられていないデータである場合にも同様にオーグメンテーションを行って学習データのデータ量を増やしてもよい。
【0052】
次に、学習装置1の確率的推論結果生成部16は、ステップS11において取得された入力画像に対する確率的推論結果を生成する(ステップS12)。この場合、確率的推論結果生成部16は、第1パラメータ記憶部21を参照して構成した学習済モデルにドロップアウトを適用した確率的推論モデルを構成し、当該確率的推論モデルに入力画像を入力することで、確率的推論結果を取得する。そして、学習装置1の整形部17は、確率的推論結果を、修正学習モデルの入力に適した形式になるように整形する(ステップS13)。これにより、整形部17は、整形済推論結果を生成する。
【0053】
そして、学習装置1の学習部18は、ステップS13で生成された整形済推論結果と、ステップS11で取得された入力画像及び正解データとに基づき、修正学習モデルの学習を行う(ステップS14)。この場合、学習部18は、整形済推論結果及び入力画像を修正学習モデルに入力とすることで得られた修正推論結果と正解データとの損失が最小となるように修正学習モデルのパラメータを決定し、決定した最新の修正学習モデルのパラメータを第2パラメータ記憶部22に記憶する。
【0054】
次に、学習装置1は、学習の終了条件を満たすか否か判定する(ステップS15)。学習装置1は、ステップS15の学習の終了判定を、例えば、予め設定した所定のループ回数に到達したか否かを判定することで行ってもよいし、予め設定した数の学習データに対して学習が実行されたか否かを判定することで行ってもよい。他の例では、学習装置1は、ステップS15の学習の終了判定を、損失が予め設定した閾値を下回ったか否かを判定することで行ってもよいし、損失の変化が予め設定した閾値を下回ったか否かを判定することで行ってもよい。なお、ステップS15の学習の終了判定は、上述した例の組み合わせであってもよく、それ以外の任意の判定方法であってもよい。
【0055】
そして、学習装置1は、学習の終了条件を満たす場合(ステップS15;Yes)、フローチャートの処理を終了する。一方、学習装置1は、学習の終了条件を満たさない場合(ステップS15;No)、ステップS11へ処理を戻す。この場合、学習装置1は、未使用の入力画像及び正解データをステップS11において取得する。
【0056】
図7のフローチャートの処理によれば、学習済モデルの推論結果を高精度に修正する修正学習モデルを好適に学習することができる。
【0057】
ここで、修正学習モデルを用いた推論について補足説明する。推論段階では、推論対象となる画像が学習済モデルに入力され、学習済モデルが出力する推論結果は、整形部17と同一処理により整形されて整形済推論結果に変換される。その後、推論対象となる画像と整形済推論結果とが修正学習モデルに入力されることで、学習済モデルの推論結果を好適に修正した修正推論結果が得られる。なお、推論段階の処理は、学習装置1以外の任意の装置により実行されてもよい。この場合、当該装置は、学習済モデル及び修正学習モデルの学習済みのパラメータを参照して上述の処理を実行する。
【0058】
なお、推論結果を修正するモデルの学習を行う上述したPoseFixとの差異について補足説明する。PoseFixでは、間違いの傾向がシンプルであるという仮定の下、隠ぺい問題に特化するなど、現在の精度劣化の理由が明らかな場合にのみ適用される。また、PoseFixでは、統計的な間違い傾向の把握には適切な解析が必要となる。例えば、特徴点のブレ方が(上下左右など)等方的ではない場合や、2次以上の相関(aがない場合はbの精度が悪い等)などが顕著に表れている場合などは、それらを反映するには高度な解析が必要となる。これに対し、本実施形態では、統計的な間違い傾向の解析等を必要とすることなく、修正学習モデルの学習に必要なデータを好適に生成し、修正学習モデルの学習を行うことができる。また、本実施形態では、あるオーグメンテーションを学習済モデルの学習では行わず、当該オーグメンテーションを修正学習モデルの学習時に行ってデータ補強を行うことも可能である。
【0059】
(5)変形例
学習済モデル及び修正学習モデルには、入力画像に代えて、動画又は音声データ等の画像以外の形式のデータが入力されてもよい。
【0060】
一般的に、学習済モデル及び修正学習モデルに用いられるディープニューラルネットワークは、画像認識の他、動画認識(シーン分類や重要シーンの特定)、音声認識や自然言語処理に適用される。そして、これらの場合に扱うデータと画像を扱う場合との処理の違い(全く同じ場合もあり)は、入力テンソル次元となる。例えば、画像の場合にはRGBと縦横の3次元テンソル(「(3-3)修正学習モデルの入力形式」のセクションを参照)となり、動画の場合には上述の3次元テンソルに時間を加えた4次元テンソルとなる。そして、これらのデータの場合、図6(A)及び図6(B)に示されるように、整形部17は、修正学習モデルの入力層あるいは(n1-1)層である中間層の出力形式とうまく結合できるように確率的出力抽出部の結果を整形する。例えば、動画認識の場合、整形部17は、シーン分類や重要シーンに関する確率的推論結果を、修正学習モデルの入力層あるいは第n1層である中間層に入力できるような形に整形する。このように、画像以外のデータ形式が入力される学習済モデルの推論結果を修正する修正学習モデルについても、学習装置1は好適に学習を行うことが可能である。
【0061】
<第2実施形態>
第2実施形態は、スポーツ会場のような点対称性を有する物体(構造物)に対する特徴点抽出に関する第1実施形態の応用例である。このような物体(構造物)は、例えば、テニス、競泳、サッカー、卓球、バスケットボール、ラグビーなどの各スポーツのフィールド、将棋又は囲碁などの各ゲームのフィールド、劇のステージ、スポーツフィールドなどの模型が該当する。第2実施形態では、学習済モデルで扱う特徴点のラベルの定義と、修正学習モデルで扱う特徴点のラベルの定義とを異ならせ、入力画像を反転した画像を利用することで、学習データの増強を好適に実現する。
【0062】
ここで、対称関係にある特徴点のラベルを別名で定義する別名定義と、対称関係にある特徴点のラベルを同名で定義する同名定義とについて説明する。図8(A)及び図8(B)は、テニスコートの13個の特徴点について別名定義によりラベル付けした場合の各特徴点のラベル(0~13)を明示した図である。また、図9は、テニスコートの13個の特徴点について同名定義によりラベル付けした場合の各特徴点のラベル(0~6)を明示した図である。ここで、図8(A)は、視点位置「P1」及び視点位置「P2」から観察した場合の各特徴点のラベルを示し、図8(B)は、視点位置「P3」及び視点位置「P4」から観察した場合の各特徴点のラベルを示している。
【0063】
図8(A)及び図8(B)に示されるように、別名定義の場合、ラベル定義が見る方向に依存することになる。従って、境界となる視点位置「P5」及び視点位置「P6」では、定義があいまいとなる。このように、別名定義でラベルが定められた特徴点の抽出では、特徴点を得るのに苦手な画角が存在するが、その他の画角では高精度な特徴点抽出が行われる。また、画像を反転した場合には、境界のあいまい性からラベルの再定義が困難であり、間違い傾向の把握も困難となる。従って、別名定義では、反転画像を入力として利用するには、対応する正解データの生成において別途ルール付けが必要となる。
【0064】
一方、図9に示されるように、同名定義の場合、見る位置に依存することなく全ての視点位置P1~視点位置P6で各特徴点のラベルが決定される一方で、見え方が異なる2つの特徴点を同じものとして推論する必要がある。従って、一般的には、別名定義でラベルが定められた特徴点の抽出と比較して、全体的な精度が減少する傾向がある。なお、同名定義の場合、画像を反転してもラベルの定義は画角に依らずに決まる。
【0065】
以上を勘案し、第2実施形態では、学習装置1は、学習済モデルでは別名定義を用い、修正学習モデルでは同名定義を用いる。これにより、本実施形態では、別名定義の利点を享受しつつ、別名定義のデメリットを解消することができる。
【0066】
具体的には、第1の利点として、学習装置1は、画像反転を行っても同名定義の場合は特徴点のラベルが決定される(即ち正解データの自動生成が可能である)ため、学習済モデルの学習で用いた入力画像の反転画像を好適に利用して修正学習モデルの学習を行うことが可能となる。言い換えると、学習済モデルの学習時には適用困難なオーグメンテーションを修正学習モデルの学習時に適用して学習データの増強を好適に行うことができることになる。
【0067】
第2の利点として、学習装置1は、別名定義を用いた場合に生じる苦手画角での推論結果の誤りを好適に修正する修正学習モデルを学習することができる。第3の利点として、学習装置1は、別名定義で高精度が得られる画角の結果も入力として用いるため、苦手画角に特化して修正学習モデルの学習を行うことができる。なお、PoseFixで用いる統計的な解析も反転操作をすると同名定義上での傾向分析は難しい(即ち、特徴点位置情報以外の情報も必要となる)が、本実施形態のようにドロップアウトを用いると自動的にその傾向が反映されることになる。
【0068】
図10は、第2実施形態の処理の概要図である。図10では、学習データ記憶部20に記憶された入力画像に基づき学習済モデルの学習が行われた後、学習データ記憶部20に記憶された入力画像を反転した画像に基づき修正学習モデルの学習を行う処理の概要を示す。以後では、学習データ記憶部20に記憶された入力画像を単に「元画像」と呼び、元画像を反転した画像を単に「反転画像」と呼ぶ。
【0069】
この場合、入力部15は、まず、元画像を反転した反転画像を生成し、かつ、元画像の正解データについても反転及び所定の規則に基づくラベルの変換(リネーム)を行う。リネームの規則は、特徴点の配置及び特徴点のラベルの定義に応じて予め定められており、図10の例では以下の通りとなる。
ラベル0とラベル2の入れ替え
ラベル3をラベル0に変更
ラベル4をラベル1に変更
ラベル5をラベル2に変更
【0070】
その後、確率的推論結果生成部16は、ドロップアウトを学習済モデルに適用して生成した確率的推論モデルに反転画像を入力することで、確率的推論結果を生成し、整形部17は、整形器を用いて確率的推論結果の整形を行う。さらに、整形部17は、確率的推論結果に含まれる各特徴点のラベルを同名定義に変更するリネームを行う。具体的には、整形部17は、同名定義と別名定義の対応関係に基づき、対称位置に存在する特徴点が同一ラベルとなるように、以下のラベル変換を行った整形済推論結果を生成する。
ラベル3をラベル2に変更
ラベル4をラベル1に変更
ラベル5をラベル0に変更
【0071】
次に、学習部18は、反転画像と、反転画像の正解データと、整形済推論結果とに基づき、修正学習モデルの学習を行う。この場合、学習部18は、反転画像と整形済推論結果とを修正学習モデルに入力することで得られる修正推論結果と反転画像の正解データとの損失が最小となるように、修正学習モデルのパラメータを更新する。
【0072】
なお、図10の説明において、入力部15の処理は図7のステップS11の処理に相当し、確率的推論結果生成部16の処理はステップS12の処理に相当し、整形部17の処理はステップS13の処理に相当し、学習部18の処理はステップS14の処理に相当する。このように、第2実施形態においても、図7のフローチャートが表す処理の枠組みの範囲内において、学習装置1は、反転画像に基づく修正学習モデルの学習を好適に実行することができる。
【0073】
<第3実施形態>
図11は、第3実施形態における学習装置1Xのブロック構成図である。図11に示すように、学習装置1Xは、確率的推論結果生成手段16Xと、整形手段17Xと、学習手段18Xとを有する。
【0074】
確率的推論結果生成手段16Xは、入力データに対し、確率的に生成された確率的推論結果を生成する。入力データの例は、画像、動画像、音声データ、又はテキストデータであり、推論結果は、これらのデータに関する任意の推論結果を表す。また、入力データは、学習データとして用意されたデータに限らず、当該データに対してオーグメンテーションを適用することで生成されたデータであってもよい。確率的推論結果生成手段16Xは、例えば、第1実施形態(変形例を含む、以下同じ。)又は第2実施形態における確率的推論結果生成部16とすることができる。
【0075】
整形手段17Xは、確率的推論結果を整形した整形済推論結果を生成する。整形手段17Xは、例えば、第1実施形態又は第2実施形態における整形部17とすることができる。
【0076】
学習手段18Xは、入力データと、入力データに対する正解データと、整形済推論結果とに基づき、前記整形済推論結果を修正する学習モデルである修正学習モデルの学習を行う。学習手段18Xは、例えば、第1実施形態又は第2実施形態における学習部18とすることができる。
【0077】
図12は、第3実施形態において学習装置1Xが実行するフローチャートの一例である。まず、確率的推論結果生成手段16Xは、入力データに対し、確率的に生成された確率的推論結果を生成する(ステップS21)。次に、整形手段17Xは、確率的推論結果を整形した整形済推論結果を生成する(ステップS22)。学習手段18Xは、入力データと、入力データに対する正解データと、整形済推論結果とに基づき、前記整形済推論結果を修正する学習モデルである修正学習モデルの学習を行う(ステップS23)。
【0078】
第3実施形態によれば、学習装置1Xは、入力データに対する推論結果を修正する修正学習モデルの学習を好適に実行することができる。
【0079】
その他、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが以下には限られない。
【0080】
[付記1]
入力データに対し、確率的に生成された確率的推論結果を生成する確率的推論結果生成手段と、
前記確率的推論結果を整形した整形済推論結果を生成する整形手段と、
前記入力データと、前記入力データに対する正解データと、前記整形済推論結果とに基づき、前記整形済推論結果を修正する学習モデルである修正学習モデルの学習を行う学習手段と、
を有する学習装置。
[付記2]
前記確率的推論結果生成手段は、前記修正学習モデルにより推論結果が修正される対象となる学習済モデルに対して確率的にパラメータの変更を行った確率的推論モデルに基づき、前記確率的推論結果を生成する、付記1に記載の学習装置。
[付記3]
前記学習済モデルはニューラルネットワークに基づくモデルであり、
前記確率的推論結果生成手段は、前記学習済モデルに対して重みのパラメータを確率的に0とした前記確率的推論モデルに基づき、前記確率的推論結果を生成する、付記2に記載の学習装置。
[付記4]
前記修正学習モデルは、ニューラルネットワークに基づくモデルであり、
前記整形済推論結果は、前記入力データが入力される入力層に前記入力データと共に入力される、又は、前記入力層とは異なる中間層に入力される、付記1~3のいずれか一項に記載の学習装置。
[付記5]
前記整形手段は、前記入力層又は前記中間層への入力に必要なデータ形式に前記確率的推論結果を整形する、付記4に記載の学習装置。
[付記6]
前記修正学習モデルにより推論結果が修正される対象となる学習済モデルの学習に用いられたデータに対して、当該学習において実行されていないオーグメンテーションを適用することで、前記入力データ及び当該入力データに対する正解データを生成する入力手段をさらに有する、付記1~5のいずれか一項に記載の学習装置。
[付記7]
前記修正学習モデルにより推論結果が修正される対象となる学習済モデルは、対称関係にある特徴点を別名ラベルとする別名定義に基づくラベルにより学習が行われ、
前記修正学習モデルは、対称関係にある特徴点を同名ラベルとする同名定義に基づくラベルにより学習が行われ、
前記整形手段は、前記確率的推論結果が表す前記別名定義に基づくラベルを、前記同名定義に基づくラベルに変換した前記整形済推論結果を生成する、付記1~6のいずれか一項に記載の学習装置。
[付記8]
画像に含まれる対称性を有する物体の特徴点の抽出を行うように学習された前記学習済モデルの学習に用いられた画像を反転した反転画像を前記入力データとして生成し、かつ、前記反転画像に対する正解データを前記入力データに対する前記正解データから生成する入力手段を有し、
前記学習手段は、当該整形済推論結果と、前記反転画像と、前記反転画像に対する正解データと、に基づき、前記修正学習モデルの学習を行う、付記7に記載の学習装置。
[付記9]
コンピュータが、
入力データに対し、確率的に生成された確率的推論結果を生成し、
前記確率的推論結果を整形した整形済推論結果を生成し、
前記入力データと、前記入力データに対する正解データと、前記整形済推論結果とに基づき、前記整形済推論結果を修正する学習モデルである修正学習モデルの学習を行う、
学習方法。
[付記10]
入力データに対し、確率的に生成された確率的推論結果を生成し、
前記確率的推論結果を整形した整形済推論結果を生成し、
前記入力データと、前記入力データに対する正解データと、前記整形済推論結果とに基づき、前記整形済推論結果を修正する学習モデルである修正学習モデルの学習を行う処理をコンピュータに実行させるプログラムを格納する記憶媒体。
【0081】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
【符号の説明】
【0082】
1、1X 学習装置
2 記憶装置
11 プロセッサ
12 メモリ
13 インターフェース
20 学習データ記憶部
21 第1パラメータ記憶部
22 第2パラメータ記憶部
100 学習システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12