(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-28
(45)【発行日】2022-12-06
(54)【発明の名称】学習装置、学習方法及びプログラム
(51)【国際特許分類】
G06N 3/08 20060101AFI20221129BHJP
G06T 7/00 20170101ALI20221129BHJP
【FI】
G06N3/08
G06T7/00 350B
(21)【出願番号】P 2021530352
(86)(22)【出願日】2019-07-05
(86)【国際出願番号】 JP2019026849
(87)【国際公開番号】W WO2021005653
(87)【国際公開日】2021-01-14
【審査請求日】2021-11-30
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100107331
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100104765
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100131015
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】白石 壮馬
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特開2014-135014(JP,A)
【文献】特開2016-062249(JP,A)
【文献】特開2010-224922(JP,A)
【文献】特表2018-526711(JP,A)
【文献】特開2014-115920(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
識別対象として登録された登録カテゴリに属する物体である登録カテゴリ物体に関する学習データである第1学習データと、前記登録カテゴリに属しない物体である未登録カテゴリ物体に関する第2学習データとを取得する学習データ取得
手段と、
前記第1学習データ及び前記第2学習データに基づいて、識別対象となる物体が前記登録カテゴリに属する確からしさを示す識別スコアを算出する識別スコア算出
手段と、
前記第2学習データに基づいて、識別対象となる物体が前記登録カテゴリに属しない確からしさを示す未登録スコアを算出する未登録スコア算出
手段と、
前記識別スコアと、前記未登録スコアとに基づき、前記登録カテゴリに関する識別を行う識別モデルの学習を行う学習
手段と、
を有する学習装置。
【請求項2】
前記未登録スコア算出
手段は、前記第2学習データに基づいて算出された前記識別スコアに基づいて、前記未登録スコアを算出する、請求項1に記載の学習装置。
【請求項3】
前記未登録スコア算出
手段は、前記登録カテゴリ毎に算出された前記識別スコアのうち、最大となる前記識別スコアに基づいて、前記未登録スコアを算出する、請求項2に記載の学習装置。
【請求項4】
前記未登録スコア算出
手段は、前記登録カテゴリ毎に算出された前記識別スコアの和、又は当該識別スコアの大きさの順位に基づく重みづけ和、に基づいて前記未登録スコアを算出する、請求項2に記載の学習装置
【請求項5】
前記未登録スコア算出
手段は、前記登録カテゴリ毎に算出された前記識別スコアの積に基づいて、前記未登録スコアを算出する、請求項2に記載の学習装置。
【請求項6】
前記未登録スコア算出
手段は、前記未登録スコアの候補値に対し所定の定数に基づいて前記候補値を小さくした値を、前記未登録スコアとして算出する、請求項1~5のいずれか一項に記載の学習装置。
【請求項7】
前記学習
手段は、
前記第1学習データから算出された前記識別スコアに関する損失である第1損失と、前記第2学習データから算出された前記未登録スコアに関する損失である第2損失とを算出する損失算出
手段と、
前記第1損失と、前記第2損失とに基づき、前記識別モデルのパラメータを決定するパラメータ決定
手段と、を有する、請求項1~6のいずれか一項に記載の学習装置。
【請求項8】
前記学習
手段は、前記学習として、前記識別スコア算出
手段が前記識別スコアの算出に用いる識別モデルの学習を行う、請求項1~7のいずれか一項に記載の学習装置。
【請求項9】
識別対象として登録された登録カテゴリに属する物体である登録カテゴリ物体に関する学習データである第1学習データと、前記登録カテゴリに属しない物体である未登録カテゴリ物体に関する第2学習データとを取得し、
前記第1学習データ及び前記第2学習データに基づいて、識別対象となる物体が前記登録カテゴリに属する確からしさを示す識別スコアを算出し、
前記第2学習データに基づいて、識別対象となる物体が前記登録カテゴリに属しない確からしさを示す未登録スコアを算出し、
前記識別スコアと、前記未登録スコアとに基づき、前記登録カテゴリに関する識別を行う識別モデルの学習を行う、学習方法。
【請求項10】
識別対象として登録された登録カテゴリに属する物体である登録カテゴリ物体に関する学習データである第1学習データと、前記登録カテゴリに属しない物体である未登録カテゴリ物体に関する第2学習データとを取得する学習データ取得
手段と、
前記第1学習データ及び前記第2学習データに基づいて、識別対象となる物体が前記登録カテゴリに属する確からしさを示す識別スコアを算出する識別スコア算出
手段と、
前記第2学習データに基づいて、識別対象となる物体が前記登録カテゴリに属しない確からしさを示す未登録スコアを算出する未登録スコア算出
手段と、
前記識別スコアと、前記未登録スコアとに基づき、前記登録カテゴリに関する識別を行う識別モデルの学習を行う学習
手段
としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体認識に関する学習を行う学習装置、学習方法及び学習に関するプログラムを記憶する記憶媒体に関する。
【背景技術】
【0002】
カメラ等の撮像装置で取得された画像内の対象物体を認識する物体認識技術が知られている。例えば、非特許文献1には、多層ニューラルネットワークを用いて学習および識別を行う物体認識技術が記載されている。
【0003】
非特許文献1に記載されている物体認識技術における学習では、識別対象として予め登録されたカテゴリ(登録カテゴリ)のいずれかのカテゴリに属する物体の表示画像が所定の識別モデルに入力され、属するカテゴリについての識別スコアが高くなるように、識別モデルの学習が行われる。なお、識別モデルの学習後、カテゴリが未知である物体の表示画像が上記の学習済みの識別モデルに入力された場合には、登録カテゴリそれぞれについての識別スコアが上記の識別モデルから出力される。また、非特許文献1には、識別スコアに対して所定の閾値を設け、識別スコアが上記閾値を下回る場合に、登録カテゴリの物体を検出できなかったとして識別結果をリジェクトするリジェクト処理を行う点についても記載されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Karen Simonyan, and Andrew Zisserman, “Very Deep Convolutional Networks for Large-Scale Image Recognition” ICLR、2015.
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に記載されている物体認識技術においては、学習時に、登録カテゴリのいずれかに所属する物体(登録カテゴリ物体)の表示画像のみを用いて識別モデルの学習を行っている。一方、識別時には、登録カテゴリ物体だけでなく、登録カテゴリのいずれにも所属さない物体(未登録カテゴリ物体)の表示画像が入力される場合がある。このとき、未登録カテゴリ物体に対する識別スコアが、登録カテゴリ物体に対する識別スコアよりも高くなる場合がある。この場合、上述したリジェクト処理において、未登録カテゴリ物体に対する識別結果をリジェクトすることと、登録カテゴリ物体に対してリジェクトすることなく識別結果を出力することを同時に実現することができない。
【0006】
本発明の目的は、上述した課題を鑑み、物体認識に関する学習を好適に実行可能な学習装置、学習方法及び学習に関するプログラムを記憶する記憶媒体を提供することを主な課題とする。
【課題を解決するための手段】
【0007】
学習装置の一の態様は、学習装置であって、識別対象として登録された登録カテゴリに属する物体である登録カテゴリ物体に関する学習データである第1学習データと、前記登録カテゴリに属しない物体である未登録カテゴリ物体に関する第2学習データとを取得する学習データ取得手段と、前記第1学習データ及び前記第2学習データに基づいて、識別対象となる物体が前記登録カテゴリに属する確からしさを示す識別スコアを算出する識別スコア算出手段と、前記第2学習データに基づいて、識別対象となる物体が前記登録カテゴリに属しない確からしさを示す未登録スコアを算出する未登録スコア算出手段と、前記識別スコアと、前記未登録スコアとに基づき、前記登録カテゴリに関する識別を行う識別モデルの学習を行う学習手段と、を有する。
【0008】
学習方法の一態様は、学習方法であって、識別対象として登録された登録カテゴリに属する物体である登録カテゴリ物体に関する学習データである第1学習データと、前記登録カテゴリに属しない物体である未登録カテゴリ物体に関する第2学習データとを取得し、前記第1学習データ及び前記第2学習データに基づいて、識別対象となる物体が前記登録カテゴリに属する確からしさを示す識別スコアを算出し、前記第2学習データに基づいて、識別対象となる物体が前記登録カテゴリに属しない確からしさを示す未登録スコアを算出し、前記識別スコアと、前記未登録スコアとに基づき、前記登録カテゴリに関する識別を行う識別モデルの学習を行う。
【0009】
プログラムの一の態様は、識別対象として登録された登録カテゴリに属する物体である登録カテゴリ物体に関する学習データである第1学習データと、前記登録カテゴリに属しない物体である未登録カテゴリ物体に関する第2学習データとを取得する学習データ取得手段と、前記第1学習データ及び前記第2学習データに基づいて、識別対象となる物体が前記登録カテゴリに属する確からしさを示す識別スコアを算出する識別スコア算出手段と、前記第2学習データに基づいて、識別対象となる物体が前記登録カテゴリに属しない確からしさを示す未登録スコアを算出する未登録スコア算出手段と、前記識別スコアと、前記未登録スコアとに基づき、前記登録カテゴリに関する識別を行う識別モデルの学習を行う学習手段としてコンピュータを機能させるプログラムである。
【発明の効果】
【0010】
本発明によれば、識別スコアと未登録スコアとを用い、登録カテゴリに関する識別を行う識別モデルの学習を好適に実行することができる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態における学習システムの概略構成を示す。
【
図2】(A)第1学習データのデータ構造の一例を示す。(B)登録カテゴリ画像と対応するラベル情報が示すカテゴリとの対応関係の一例を示す。
【
図3】(A)第2学習データのデータ構造の一例を示す。(B)未登録カテゴリ画像と対応するカテゴリとの対応関係の一例を示す。
【
図4】学習装置の機能的な構成を示すブロック図の一例である。
【
図5】学習に関する処理の流れを示すフローチャートの一例である。
【
図6】第2実施形態における学習装置の概略構成を示す。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら、学習装置、学習方法及び記憶媒体の実施形態について説明する。
【0013】
<第1実施形態>
(1)
全体構成
図1は、第1実施形態における学習システム100の概略構成を示す。学習システム100は、画像に表示された物体の識別を行う学習モデルの学習を好適に実行する。学習システム100は、学習装置10と、記憶装置20とを有する。
【0014】
学習装置10は、画像に表示された物体の識別に関する識別モデルの学習を行う。ここで、識別モデルは、例えば、入力された画像に対し、当該画像に表示された物体が予め登録されたカテゴリのいずれに属するかを識別するための情報を出力するように学習される。以後では、予め登録された識別対象のカテゴリを「登録カテゴリ」と呼び、学習済みの識別モデルを「識別器」とも呼ぶ。
【0015】
記憶装置20は、学習装置10によるデータの参照及び書込みが可能な装置であって、第1学習データ記憶部21と、第2学習データ記憶部22と、パラメータ情報記憶部23とを有する。なお、記憶装置20は、学習装置10に接続又は内蔵されたハードディスクなどの外部記憶装置であってもよく、フラッシュメモリなどの記憶媒体であってもよく、学習装置10とデータ通信を行うサーバ装置などであってもよい。また、記憶装置20は、複数の記憶装置から構成され、上述した各記憶部を分散して保有してもよい。
【0016】
第1学習データ記憶部21は、登録カテゴリに属する物体(「登録カテゴリ物体」とも呼ぶ。)が表示された画像と、その物体が属するカテゴリを示すラベル情報との組である学習データ(「第1学習データ」とも呼ぶ。)を、単数または複数記憶する。第1学習データの画像は、RGB画像であってもよく、赤外カメラで得られる赤外画像でもよく、距離を測定可能な測域センサ等から得られるデプス画像または点群情報であってもよく、その他の外観または特性を表現する特徴ベクトルであってもよい。
【0017】
図2(A)は、第1学習データのデータ構造の一例を示す。
図2(A)に示すように、第1学習データは、登録カテゴリ物体を表した画像である登録カテゴリ画像と、対応する登録カテゴリ画像に表示された物体のカテゴリ(即ち正解のカテゴリ)を示すラベル情報とを含む。なお、ラベル情報は、当該ラベル情報が示す正解のカテゴリに対応する登録カテゴリ画像内の登録カテゴリ物体の位置を示す情報などをさらに含んでもよい。
【0018】
図2(B)は、登録カテゴリ画像と対応するラベル情報が示す正解のカテゴリとの対応関係の一例を示す。
図2(B)では、登録カテゴリが「Apple」及び「Orange」である場合に、第1学習データとして第1学習データ記憶部21に記憶される登録カテゴリ画像とラベル情報として記憶される正解のカテゴリとが列挙されている。なお、登録カテゴリ画像には、複数の登録カテゴリ物体が表示されていてもよい。この場合、例えば、当該登録カテゴリ画像に対応付けられるラベル情報には、夫々の登録カテゴリ物体の位置及びカテゴリを示す情報が含まれる。なお、
図2(A)、(B)に示す第1学習データは、一例であり、これに限定されない。
【0019】
第2学習データ記憶部22は、登録カテゴリに属さない物体(「未登録カテゴリ物体」とも呼ぶ。)が表示された画像である学習データ(「第2学習データ」とも呼ぶ。)を、単数または複数記憶する。第2学習データとなる画像は、RGB画像であってもよく、赤外カメラで得られる赤外画像でもよく、距離を測定可能な測域センサ等から得られるデプス画像または点群情報であってもよく、その他の外観または特性を表現する特徴ベクトルであってもよい。
【0020】
図3(A)は、第2学習データのデータ構造の一例を示す。
図3(A)に示すように、第1学習データは、未登録カテゴリ物体を表した画像である未登録カテゴリ画像を少なくとも含んでいる。なお、第1学習データは、未登録カテゴリ画像内における未登録カテゴリ物体の位置情報などをさらに含んでもよい。
【0021】
図3(B)は、未登録カテゴリ画像と対応するカテゴリとの対応関係の一例を示す。
図3(B)では、登録カテゴリが「Apple」及び「Orange」である場合に、未登録カテゴリ画像は、「Apple」及び「Orange」以外のカテゴリに属する物体「サッカーボール」、「ハンバーガー」、「ギア」、「花」等を表示しており、登録カテゴリのいずれとも対応付けられていない。なお、
図3(A)、(B)に示す第2学習データは、一例であり、これに限定されない。
【0022】
パラメータ情報記憶部23は、学習装置10により学習される識別モデルを識別器として機能させるために必要なパラメータの情報を記憶する。識別モデルは、ニューラルネットワークに基づく学習モデルであってもよく、サポートベクターマシーンなどの他の種類の学習モデルであってもよく、これらを組み合わせた学習モデルであってもよい。例えば、識別モデルがニューラルネットワークに基づく構成を有する場合、パラメータ情報記憶部23には、識別モデルの層構造、各層のニューロン構造、各層におけるフィルタ数及びフィルタサイズ、並びに各フィルタの各要素の重みなどの種々のパラメータの情報が含まれる。
【0023】
(2)
学習装置のハードウェア構成
次に、引き続き
図1を参照して学習装置10のハードウェア構成について説明する。学習装置10は、ハードウェアとして、プロセッサ11と、メモリ12と、インターフェース13とを含む。プロセッサ11、メモリ12、及びインターフェース13は、データバス19を介して接続されている。
【0024】
プロセッサ11は、メモリ12に記憶されているプログラムを実行することにより、所定の処理を実行する。プロセッサ11は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などのプロセッサである。
【0025】
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリなどの各種のメモリにより構成される。また、メモリ12には、学習装置10が実行する学習に関する処理を実行するためのプログラムが記憶される。また、メモリ12は、作業メモリとして使用され、記憶装置20から取得した情報等を一時的に記憶する。なお、メモリ12は、記憶装置20又は記憶装置20の一部として機能してもよい。この場合、メモリ12は、記憶装置20の代わりに、第1学習データ記憶部21、第2学習データ記憶部22、及びパラメータ情報記憶部23の少なくともいずれかを記憶してもよい。同様に、記憶装置20は、学習装置10のメモリ12として機能してもよい。
【0026】
インターフェース13は、プロセッサ11の制御に基づき記憶装置20とデータの送受信を有線又は無線により行うための通信インターフェースであり、ネットワークアダプタなどが該当する。なお、学習装置10と記憶装置20とはケーブル等により接続されてもよい。この場合、インターフェース13は、記憶装置20とデータ通信を行う通信インターフェースの他、記憶装置20とデータの授受を行うためのUSB、SATA(Serial AT Attachment)などに準拠したインターフェースである。
【0027】
なお、学習装置10のハードウェア構成は、
図1に示す構成に限定されない。例えば、学習装置10は、ディスプレイなどの表示部、キーボードやマウスなどの入力部、スピーカなどの音出力部などをさらに備えてもよい。
【0028】
また、学習装置10は、複数の装置により構成されてもよい。この場合、これらの各装置は、各装置が予め定め割り当てられた処理を実行するために必要な情報の授受を、装置間で行う。
【0029】
(3)学習の詳細
次に、学習装置10が実行する学習に関する処理の詳細について説明する。
【0030】
(3-1)
機能ブロック
図4は、学習装置10の機能的な構成を示すブロック図の一例である。
図4に示すように、学習装置10のプロセッサ11は、学習データ取得部31と、識別スコア算出部32と、未登録スコア算出部33と、損失算出部34と、パラメータ決定部35とを備える。
【0031】
学習データ取得部31は、インターフェース13を介し、第1学習データ記憶部21が記憶する第1学習データと第2学習データ記憶部22が記憶する第1学習データとを、それぞれ取得する。学習データ取得部31が取得する学習データは、第1学習データ記憶部21及び第2学習データ記憶部22が保持する全ての学習データであってもよいし、その一部の学習データであってもよい。
【0032】
識別スコア算出部32は、学習データ取得部31が取得した第1学習データ及び第2学習データに基づいて、学習データの画像中に表示された物体が登録カテゴリに属する確からしさを示すスコア(「識別スコアS」とも呼ぶ。)を算出する。このとき、識別スコア算出部32は、パラメータ情報記憶部23を参照することで識別器を構成し、構成した識別器に学習データの画像を入力することで識別器から出力される識別スコアSを取得する。識別スコアSの詳細については後述する。
【0033】
未登録スコア算出部33は、学習データ取得部31が取得した第2学習データに基づいて、学習データの画像中に表示された物体が登録カテゴリに属しない確からしさを示すスコア(「未登録スコアSo」と呼ぶ。)を算出する。未登録スコアSoの詳細については、後述する。
【0034】
損失算出部34は、学習データ取得部31が取得した学習データと、識別スコア算出部32が算出した識別スコアSと、未登録スコア算出部33が算出した未登録スコアSoと、に基づいて、識別対象となる物体の識別に関する損失(「損失L」とも呼ぶ。)を算出する。具体的には、損失算出部34は、上述の損失Lとして、第1学習データに基づき識別スコア算出部32が算出する識別スコアSに関する損失(「第1損失L1」とも呼ぶ。)と、第2学習データに基づき未登録スコア算出部33が算出する未登録スコアSoに関する損失(「第2損失L2」とも呼ぶ。)とをそれぞれ算出する。損失Lの算出に用いる損失関数は、クロスエントロピー、平均二乗誤差などの機械学習で用いられる任意の損失関数でよい。損失Lの算出方法については後述する。
【0035】
パラメータ決定部35は、損失算出部34が算出した損失Lに基づいて、登録カテゴリの識別を行う識別モデルのパラメータの決定を行う。この場合、パラメータ決定部35は、損失算出部34が算出した損失Lを最小化するように、上述のパラメータを決定する。損失Lを最小化するように上述のパラメータを決定するアルゴリズムは、勾配降下法や誤差逆伝播法などの機械学習において用いられる任意の学習アルゴリズムであってもよい。この場合、パラメータ決定部35は、未登録スコアSoを考慮して算出された損失Lを最小化するように、パラメータを決定する。これにより、パラメータ決定部35は、学習された識別モデルに未登録カテゴリ物体の表示画像が入力された場合においても、出力される登録カテゴリ毎の識別スコアがいずれも閾値(識別結果をリジェクトする基準値)以下となるように、識別モデルを学習することができる。
【0036】
また、
図4の例では、パラメータ決定部35は、決定したパラメータを、識別スコア算出部32が識別スコアSを算出する際に参照するパラメータ情報記憶部23に記憶する。このように、
図4の例では、パラメータ決定部35は、識別スコア算出部32が識別スコアSの算出に用いる識別モデルの学習を行う。
【0037】
(3-2)識別スコアの算出方法
次に、識別スコア算出部32による識別スコアSの算出方法について記述する。
【0038】
識別スコアSは、識別スコア算出部32に入力される学習データの画像中に表示された識別対象の物体について、登録カテゴリそれぞれに所属する確からしさを示す数値である。識別スコアSは、各登録カテゴリに属する確率を示す確率値であってもよいし、それ以外の値であってもよい。識別スコアSは、例えば出力の総和が1に調整されるSoftmax関数の出力値であってもよいし、ニューラルネットワークの最終層の出力として用いられるロジットであってもよいし、出力から構成されるベクトルとカテゴリ毎に予め定められた参照ベクトルとの内積値であってもよい。
【0039】
例えば、犬、猫、鳥の3つの登録カテゴリ(クラス)に対する識別の場合であって、識別対象となる物体「犬」が画像中に表示される第1学習データが識別スコア算出部32に入力される場合について考察する。この場合、識別スコア算出部32は、犬、猫、鳥の3つの登録カテゴリの各々に対して識別スコアSを算出する。このとき、識別スコア算出部32は、犬、猫、鳥の各登録カテゴリに対し、合計が1となるように調整してもよい(例えば「0.8」、「0.15」、「0.05」)。また、識別スコア算出部32は、犬、猫、鳥の各登録カテゴリに対し、最大値が1となるような識別スコアSを算出してもよく、負値を含むような識別スコアSを算出してもよい(例えば「1.0」、「0.5」、「-0.2」)。
【0040】
なお、上述の識別スコアSは、説明のために挙げた具体例にすぎず、登録カテゴリそれぞれに所属する確からしさを示すものであれば、どのような表現でも良い。また、上述した識別スコアSの例では、便宜上、確からしい登録カテゴリに対する識別スコアSほど高い値となるように表現しているが、逆であってもよい。
【0041】
(3-3)未登録スコアの算出方法
次に、未登録スコア算出部33の未登録スコアSoの算出方法について記述する。未登録スコアSoは、未登録スコア算出部33に入力される学習データの画像中に表示された識別対象の物体について、登録カテゴリのいずれにも所属しない確からしさを示す数値である。未登録スコアSoは、いずれの登録カテゴリにも属しない確率を示す確率値であってもよいし、それ以外の値であってもよい。
【0042】
例えば、犬、猫、鳥の3つの登録カテゴリ(クラス)に対する識別の場合であって、識別対象となる物体「人」が画像中に表示される第2学習データが未登録スコア算出部33に入力される場合について考察する。この場合、未登録スコア算出部33は、犬、猫、鳥の3つの登録カテゴリのいずれにも所属しない確からしさを示す数値である未登録スコアSo(例えば「0.8」)を算出する。なお、上述の未登録スコアSoは、説明のために挙げた具体例にすぎず、登録カテゴリのいずれにも所属しない確からしさを示すものであれば、どのような表現でも良い。また、上述した識別スコアSの例では、便宜上、より確かなものの未登録スコアSoをより高く表現しているが、逆であってもよい。
【0043】
未登録スコア算出部33は、好適には、未登録スコアSoを、同一の学習データに対する登録カテゴリ毎の識別スコアSの少なくとも一部に基づいて算出する。この場合の未登録スコアSoの具体的な算出方法の具体例(第1具体例~第6具体例)について、以下において説明する。
【0044】
第1具体例では、未登録スコア算出部33は、未登録スコアSoを、同一の学習データの画像に対して算出された登録カテゴリ毎の識別スコアSのうち、最大値となる識別スコアSに基づき算出する。具体的には、未登録スコア算出部33は、未登録スコアSoを、以下の式(1)に基づき算出する。
【0045】
式(1)において、左辺の「S
0,i」は、インデックス「i」の学習データの入力に対する未登録スコアSoを示す。右辺の「t」は任意の定数を示し、例えば0であっても1であってもそれ以外の数値でもよい。右辺の「S
c,i」はインデックスiの学習データの入力に対するインデックス「c」の登録カテゴリに対する識別スコアSを示す。
【0046】
式(1)によれば、未登録スコア算出部33は、未登録スコアSoを、識別スコアSが最大となる登録カテゴリの識別スコアSをある定数tから減算することで算出する。この場合、登録カテゴリの識別スコアSの最大値が低ければ低いほど、未登録スコアSoが高くなる。なお、未登録スコアSoの算出式は、式(1)に限られない。例えば、未登録スコア算出部33は、識別スコアSが最大となる登録カテゴリの識別スコアSが高ければ高いほど、未登録スコアSoが低くなるような任意の式を用いて未登録スコアSoを算出してもよい。
【0047】
第2具体例では、未登録スコア算出部33は、未登録スコアSoの候補値に対し所定の定数に基づいて当該候補値を小さくした値を、未登録スコアSoとして定める。例えば、未登録スコア算出部33は、マージンを表す定数「m」を用いた以下の式(2)に基づき、インデックスiの学習データに対する未登録スコアSoを算出する。
【0048】
式(2)では、式(1)により定められる未登録スコアSoの候補値に対して定数mを減じた値を、未登録スコアSoとして定めている。この場合、式(2)により定められる未登録スコアSoは、式(1)により定められる未登録スコアSoよりも一定量小さくなる。このように、未登録スコアSoを小さくすることで、損失算出部34で算出される損失Lが大きくなり、パラメータ決定部35における識別モデルの学習時に、未登録スコアSoを改善しようとする効果が強調されることが期待される。なお、未登録スコア算出部33は、未登録スコアSoの算出式として、式(2)に比べて未登録スコアが一定量小さくなるような任意の式を、式(2)の代わりに用いてもよい。
【0049】
第3具体例では、未登録スコア算出部33は、識別スコアSの大きさの順位に応じた各登録カテゴリの識別スコアSの重み付け和に基づき、未登録スコアSoを算出する。例えば、未登録スコア算出部33は、未登録スコアSoを、以下の式(3)に基づき算出する。
【0050】
ここで、「C
k」は「k」(k=1、2、…、N)番目に高い識別スコアSとなる登録カテゴリのインデックスを示す。また、「N」は登録カテゴリの総数を示す。右辺「a
k」は、k番目に高い識別スコアSに対応する重みを示す。右辺a
kは、高い識別スコアSに対する重みほど大きくなるように(即ち以下の式が成立するように)設定される。
【0051】
式(3)によれば、未登録スコア算出部33は、識別スコアSの大きさの順位に応じた識別スコアSの重み付け和を定数(t)から減算することで、未登録スコアSoを算出する。この場合、識別スコアSの上位が低ければ低いほど、未登録スコアSoが高くなる。なお、未登録スコア算出部33は、式(3)に限らず、識別スコア上位が低ければ低いほど、未登録スコアが高なるような任意の式を、未登録スコアSoの算出式として用いてもよい。
【0052】
第4具体例では、未登録スコア算出部33は、第2具体例と第3具体例の組み合わせに基づき、未登録スコアSoを決定する。例えば、未登録スコア算出部33は、以下の式(4)に基づき、未登録スコアSoを決定する。
【0053】
式(4)では、第2具体例と同様、マージンを表す定数mが用いられ、式(4)に示す未登録スコアSoは、式(3)に示す未登録スコアSoと比べて一定量小さくなる。なお、未登録スコア算出部33は、式(4)に限らず、式(3)に比べて未登録スコアSoが一定量小さくなるような任意の式を、未登録スコアSoの算出式として用いてもよい。
【0054】
第5具体例では、未登録スコア算出部33は、登録カテゴリの各々に対する識別スコアSの積に基づいて、未登録スコアSoを算出する。例えば、未登録スコア算出部33は、以下の式(5)に基づき、未登録スコアSoを算出する。
【0055】
ここで、登録カテゴリ毎の識別スコアSに相当する「S
c,i」は、以下の式が成立するものとする。
【0056】
式(5)では、各登録カテゴリの識別スコアSの差が小さいほど未登録スコアSoが高くなり、各登録カテゴリの識別スコアSが全て等しいときに未登録スコアSoが最大となる。なお、未登録スコア算出部33は、式(5)に限らず、同様の効果が得られるような任意の式を未登録スコアSoの算出式として用いてもよい。
【0057】
第6具体例では、未登録スコア算出部33は、未登録スコアSoの変化の度合いを調整するためのパラメータを用いて、未登録スコアSoを算出する。具体的には、未登録スコア算出部33は、以下の式(6)に基づき、未登録スコアSoを算出する。
【0058】
式(6)において、「φ
j,i」は、インデックスiの学習データの入力に対するインデックス「j」の登録カテゴリに対応するニューラルネット最終層の出力値を示す。「t」は、1より大きい任意の定数であり、tが大きければ大きいほど、各登録カテゴリに対する出力値φ
j,iの差が強調されて識別スコア「S′
c,i」に反映される。即ち、tが大きく設定されることで、各登録カテゴリに対する識別スコアS′
c,iの差が小さくなりにくくなり、結果的に未登録スコアSoが下がりにくなる。なお、未登録スコア算出部33は、式(6)に限らず、同様の効果が得られるような別の式を、未登録スコアSoの算出式として用いてもよい。
【0059】
式(6A)において、「φ
j,i」は、インデックスiの学習データの入力に対するインデックス「j」の登録カテゴリに対応するニューラルネット最終層の出力値を示す。「t」は任意の定数である。また、「m」は任意の定数である。式(6A)では、「φ
j,i」が小さいほど「So
,i」が大きくなる。この際「So
,i」の最大値は1である。また、「φ
j,i」が同じ場合、定数「m」が大きいほど「So
,i」が小さくなる。
【0060】
(3-4)損失の算出方法
損失算出部34は、学習データ取得部31が取得した学習データと、識別スコア算出部32にて算出された識別スコアSと、未登録スコア算出部33にて算出された未登録スコアSoとに基づいて、損失Lを算出する。
【0061】
ここで、損失算出部34は、第1学習データに基づき算出された識別スコアSに対する第1損失L1と、第2学習データに基づき算出された未登録スコアSoに対する第2損失L2とに基づき、損失Lを算出する。例えば、損失算出部34は、任意の係数「α」を用いて、以下の式(7)に基づき、損失Lを算出する。
L=L1+α・L2 (7)
【0062】
ここで、損失算出部34は、第1損失L1を、学習データ取得部31が取得した第1学習データに基づき識別スコア算出部32が算出した識別スコアSと、当該第1学習データに含まれるラベル情報(即ち正解情報)とを用いて算出する。なお、第1損失L1は、例えば、深層学習において一般的に使用される交差エントロピーなどの損失関数の出力値である。なお、第1損失L1は、ラベル情報により示される登録カテゴリ物体の正解のカテゴリに対する識別スコアSが高ければ高いほど、小さくなるように設定される値であればよい。
【0063】
また、損失算出部34は、第2損失L2を、学習データ取得部31が取得した第2学習データに基づき識別スコア算出部32が算出した識別スコアSと、未登録スコア算出部33が当該第2学習データに基づき算出した未登録スコアSoとを用いて算出する。例えば、損失算出部34は、第2損失L2を、以下の式(8)に基づき算出する。
【0064】
「L2
i」は、インデックス「i」の第2学習データに対する第2損失L2を示し、「M」は、入力された第2学習データの総数を示す。そして、損失L2
iは、以下の式(9)及び式(10)により算出される。
ここで、「s」は、任意の定数である。損失算出部34は、式(8)~式(10)を用いることで、未登録スコアSoが高ければ高いほど、第2損失L2が小さくなるように第2損失L2を算出することができる。なお、損失算出部34は、未登録スコアSoが高ければ高いほど第2損失L2を小さくするような上記以外の任意の式を、第2損失L2の算出式として用いてもよい。
【0065】
(3-5)学習データ
ここで、第2学習データ記憶部22に記憶される第2学習データについて補足説明する。第2学習データ記憶部22に記憶される第2学習データは、例えば、学習装置10により学習された識別器が識別を行う際に想定される未登録カテゴリ物体に類似する物体を表示した画像であってもよい。例えば、上述の識別器を用いて「商品A」、「商品B」、「商品C」の3つのクラスを登録カテゴリとして識別する問題について考察する。この場合、「人の手」、「洋服の一部」、「財布」の各カテゴリに属する物体が想定しうる未登録カテゴリ物体の類似物体であるとき、第2学習データ記憶部22に記憶される第2学習データは、これらの各カテゴリに属する物体を表示した画像であってもよい。
【0066】
また、第2学習データ記憶部22に含まれる第2学習データは、例えば、登録カテゴリ物体を含まず、かつ、大量に用意された、ランダムな物体を表示した画像もしくは風景画像であってもよい。また、例えば、第2学習データは、上述の識別器を適用する環境で背景およびノイズとなりうる風景および物体を撮影した画像を含んでもよい。
【0067】
(3-6)
処理フロー
図5は、学習装置10による学習に関する処理の流れを示すフローチャートの一例である。
【0068】
まず、学習装置10の学習データ取得部31は、第1学習データ記憶部21から第1学習データを取得すると共に、第2学習データ記憶部22から第2学習データを取得する(ステップS11)。
【0069】
次に、識別スコア算出部32は、ステップS11で取得された第1学習データ及び第2学習データに基づき、学習データの画像に表示された物体(即ち識別対象の物体)が登録カテゴリに属する確からしさを示す識別スコアSを算出する(ステップS12)。また、未登録スコア算出部33は、ステップS11で取得された第2学習データに基づき、学習データの画像に表示された物体が登録カテゴリに属しない確からしさを示す未登録スコアSoを算出する(ステップS13)。このとき、未登録スコア算出部33は、例えば、識別スコア算出部32が第2学習データから算出した識別スコアSを用いて、式(1)~式(6)のいずれかに基づき、未登録スコアSoを算出する。
【0070】
次に、損失算出部34は、ステップS12で算出された識別スコアSと、ステップS13で算出された未登録スコアSoとに基づき、損失Lを算出する(ステップS14)。この場合、損失算出部34は、第1学習データにより算出された識別スコアSと、当該第1学習データのラベル情報とに基づき、第1損失L1を算出する。また、損失算出部34は、第2学習データにより算出された識別スコアS及び未登録スコアSoに基づき、例えば上述した式(8)~式(10)を参照することで、第2損失L2を算出する。そして、例えば、損失算出部34は、係数αを用いて、第1損失L1と第2損失L2から式(7)に基づき損失Lを算出する。そして、パラメータ決定部35は、ステップS14で算出された損失Lに基づき、パラメータ情報記憶部23に記憶するパラメータを決定する(ステップS15)。
【0071】
そして、学習装置10は、学習の終了条件を満たすか否か判定する(ステップS16)。学習装置10は、ステップS16の学習の終了判定を、例えば、予め設定した所定のループ回数に到達したか否かを判定することで行ってもよいし、予め設定した数の学習データに対して学習が実行されたか否かを判定することで行ってもよい。他の例では、学習装置10は、ステップS16の学習の終了判定を、損失Lが予め設定した閾値を下回ったか否かを判定することで行ってもよいし、損失Lの変化が予め設定した閾値を下回ったか否かを判定することで行ってもよい。なお、ステップS16の学習の終了判定は、上述した例の組み合わせであってもよく、それ以外の任意の判定方法であってもよい。
【0072】
このように、学習装置10は、識別スコアS及び未登録スコアSoの両方に基づいて識別モデルの学習を行う。これにより、学習装置10は、登録カテゴリ物体を正しく識別し、かつ、未登録カテゴリ物体を正しくリジェクトする識別モデルのパラメータを好適に得ることができる。なお、このように学習された識別モデル(識別器)を用いた物体認識処理では、例えばある閾値を設定し、識別器が出力する識別スコアが閾値を下回る場合に、識別結果をリジェクトするリジェクト処理を適用するとよい。ここで、上述の識別器は、未登録カテゴリ物体が表示された画像が入力された場合に、いずれの登録カテゴリに対する識別スコアについても、低い値を出力するように学習されている。従って、上述の識別器の出力に対して上述のリジェクト処理を適用することで、物体認識処理において、未登録カテゴリ物体をいずれかの登録カテゴリに属する物体であると誤認識することを好適に抑制することができる。
【0073】
<第2実施形態>
図6は、第2実施形態に係る学習装置10Aの概略構成を示す。学習装置10Aは、学習データ取得部31Aと、識別スコア算出部32Aと、未登録スコア算出部33Aと、学習部36Aとを備える。
【0074】
学習データ取得部31Aは、識別対象として登録された登録カテゴリに属する物体である登録カテゴリ物体に関する第1学習データと、登録カテゴリに属しない物体である未登録カテゴリ物体に関する第2学習データとを取得する。
【0075】
識別スコア算出部32Aは、第1学習データ及び第2学習データに基づいて、識別対象となる物体(即ち対象の学習データにより表示される物体)が登録カテゴリに属する確からしさを示す識別スコアSを算出する。未登録スコア算出部33Aは、第2学習データに基づいて、識別対象となる物体(即ち対象の学習データにより表示される物体)が登録カテゴリに属しない確からしさを示す未登録スコアSoを算出する。
【0076】
学習部36Aは、識別スコア算出部32Aが算出した識別スコアSと、未登録スコア算出部33Aが算出した未登録スコアSoとに基づき、登録カテゴリに関する識別を行う識別モデルの学習を行う。学習部36Aは、例えば、
図4に示される、損失算出部34及びパラメータ決定部35により構成される。
【0077】
この構成によれば、学習装置10Aは、識別スコアS及び未登録スコアSoの両方に基づいて、登録カテゴリに関する識別を行う識別モデルの学習を行う。これにより、学習装置10Aは、登録カテゴリ物体を正しく識別し、かつ、未登録カテゴリ物体を的確にリジェクトする識別モデルのパラメータを好適に得ることができる。
【0078】
その他、上記の実施形態(変形例を含む、以下同じ)の一部又は全部は、以下の付記のようにも記載され得るが以下には限られない。
【0079】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
【符号の説明】
【0080】
10、10A 学習装置
11 プロセッサ
12 メモリ
13 インターフェース
20 記憶装置
21 第1学習データ記憶部
22 第2学習データ記憶部
23 パラメータ情報記憶部
100 学習システム