(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022180119
(43)【公開日】2022-12-06
(54)【発明の名称】データ解析システム
(51)【国際特許分類】
G06N 99/00 20190101AFI20221129BHJP
G06N 20/00 20190101ALI20221129BHJP
【FI】
G06N99/00 180
G06N20/00
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021087045
(22)【出願日】2021-05-24
(71)【出願人】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(74)【代理人】
【識別番号】110000648
【氏名又は名称】弁理士法人あいち国際特許事務所
(72)【発明者】
【氏名】加納 正晃
(57)【要約】
【課題】ArcFaceによる高い予測精度を利用しつつ、ArcFaceにより学習が進まない問題を解決し、高精度な予測を可能とする機械学習モデルを生成することができるデータ解析システムを提供する。
【解決手段】データ解析システム1は、特徴ベクトルx’と正解クラスの重みベクトルWとのなす角θが所定値θ
Thより小さい場合に、特徴ベクトルx’および重みベクトルWを用いてArcFaceによるマージン付加処理を適用して損失関数の値Loss
arcを算出し、なす角θが所定値θ
Th以上の場合に、特徴ベクトルx’および重みベクトルWを用いてCosFaceによるマージン付加処理を適用して損失関数の値Loss
cosを算出する損失関数演算部25と、損失関数の値Loss
arc,Loss
cosに基づいて勾配法により機械学習モデル11の学習を行う学習処理部26とを備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
演算処理装置および記憶装置を備えるコンピュータ装置により構成されたデータ解析システムであって、
前記記憶装置は、ニューラルネットワークより構成され、最終段の全結合層の重みベクトルを用いて特徴ベクトルを出力し、対象のデータに関する前記特徴ベクトルとクラス代表のデータに関する前記特徴ベクトルとのcos距離によりクラス分類を行うための機械学習モデルを記憶し、
前記演算処理装置は、
学習用データを入力した場合に前記機械学習モデルを実行することにより前記特徴ベクトルを出力する機械学習モデル実行部と、
前記機械学習モデル実行部が前記特徴ベクトルを出力した際の前記重みベクトルを取得する重みベクトル取得部と、
前記特徴ベクトルと正解クラスの前記重みベクトルとのなす角θが所定値より小さい場合に、前記特徴ベクトルおよび前記重みベクトルを用いてArcFaceによるマージン付加処理を適用して損失関数の値を算出し、前記なす角θが前記所定値以上の場合に、前記特徴ベクトルおよび前記重みベクトルを用いてCosFaceによるマージン付加処理を適用して損失関数の値を算出する損失関数演算部と、
前記損失関数の値に基づいて勾配法により前記機械学習モデルの学習を行う学習処理部と、
を備える、データ解析システム。
【請求項2】
前記ArcFaceによるマージン付加処理および前記CosFaceによるマージン付加処理は、前記なす角θが前記所定値の前後において、前記損失関数の値が前記特徴ベクトルと前記正解クラスの前記重みベクトルとのcos距離に対して単調減少または単調増加する関係を有するように設定されている、請求項1に記載のデータ解析システム。
【請求項3】
前記ArcFaceによるマージン付加処理および前記CosFaceによるマージン付加処理は、前記なす角θが前記所定値において、前記損失関数の値が前記特徴ベクトルと前記正解クラスの前記重みベクトルとのcos距離に対して連続する関係を有するように設定されている、請求項2に記載のデータ解析システム。
【請求項4】
前記ArcFaceによるマージン付加処理および前記CosFaceによるマージン付加処理は、前記なす角θが前記所定値において、前記損失関数の値が前記特徴ベクトルと前記正解クラスの前記重みベクトルとのcos距離に対して不連続の関係を有するように設定されている、請求項2に記載のデータ解析システム。
【請求項5】
前記所定値に対応するcos距離の値が、前記ArcFaceによるマージン付加処理において前記特徴ベクトルと前記正解クラスの前記重みベクトルとのcos距離に対する前記損失関数の値が極値となるときのcos距離よりも大きな値となるように、前記所定値が設定されている、請求項1~4のいずれか1項に記載のデータ解析システム。
【請求項6】
前記機械学習モデルは、対象の画像データに関する前記特徴ベクトルとクラス代表の画像データに関する前記特徴ベクトルとのcos距離によりクラス分類を行うためのモデルである、請求項1~5のいずれか1項に記載のデータ解析システム。
【請求項7】
前記機械学習モデルは、産業製品の外観検査に用いるモデルあって、入力される前記産業製品の外観の前記画像データに基づいて、前記産業製品が良品であるか不良品であるかの判定を行うためのモデルである、請求項6に記載のデータ解析システム。
【請求項8】
前記機械学習モデルは、入力された前記画像データに関する前記特徴ベクトルと前記良品の代表画像データに関する前記特徴ベクトルとのcos距離と、入力された前記画像データに関する前記特徴ベクトルと前記不良品の代表画像データに関する前記特徴ベクトルとのcos距離とに基づいて、前記産業製品が前記良品であるか前記不良品であるかの判定を行う、請求項7に記載のデータ解析システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ解析システムに関する。
【背景技術】
【0002】
特許文献1には、ニューラルネットワークにより構成された識別器を用いて、外観画像における欠陥の有無を検査する外観検査装置が記載されている。一般に、外観画像における欠陥の有無の検査などのように、クラス分類を行う機械学習モデルは、クラス分類の境界が明確であることが望まれる。
【0003】
クラス分類を行うためのニューラルネットワークからなる機械学習モデルの学習方法は、種々知られている。例えば、ユークリッド距離、マンハッタン距離、チェビシェフ距離などのように、特徴量空間における距離を用いて学習を行う方法がある。この場合、例えば、Center Lossなどの距離学習用の損失関数を用いる。
【0004】
また、角度を用いた距離学習として、ArcFace、CosFace、SphereFaceなどが知られている。これらの距離学習は、特徴ベクトルと正解クラスの重みベクトルとの内積に対して、正解クラスの場合にマージンを付加して、学習を行う手法である。これらの距離学習は、特徴ベクトルと正解クラスの重みベクトルとのなす角θを小さくするように学習する手法である。そして、これらの距離学習の手法は、マージンの与え方がそれぞれ異なる。また、一般に、予測精度は、ArcFaceが最も良く、次にCosFace、その次にSphereFaceの順となる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
発明者は、角度を用いた距離学習として、ArcFaceによるマージン付加処理を適用して勾配法を用いて学習する場合、初期における、特徴ベクトルと重みベクトルとのなす角θにおけるcos距離(cos類似度とも称する)が小さい場合に、学習が進まない場合があることを発見した。
【0007】
本発明は、かかる課題に鑑みてなされたものであり、ArcFaceによる高い予測精度を利用しつつ、ArcFaceにより学習が進まない問題を解決し、高精度な予測を可能とする機械学習モデルを生成することができるデータ解析システムを提供しようとするものである。
【課題を解決するための手段】
【0008】
本発明の一態様は、
演算処理装置および記憶装置を備えるコンピュータ装置により構成されたデータ解析システムであって、
前記記憶装置は、ニューラルネットワークより構成され、最終段の全結合層の重みベクトルを用いて特徴ベクトルを出力し、対象のデータに関する前記特徴ベクトルとクラス代表のデータに関する前記特徴ベクトルとのcos距離によりクラス分類を行うための機械学習モデルを記憶し、
前記演算処理装置は、
学習用データを入力した場合に前記機械学習モデルを実行することにより前記特徴ベクトルを出力する機械学習モデル実行部と、
前記機械学習モデル実行部が前記特徴ベクトルを出力した際の前記重みベクトルを取得する重みベクトル取得部と、
前記特徴ベクトルと正解クラスの前記重みベクトルとのなす角θが所定値より小さい場合に、前記特徴ベクトルおよび前記重みベクトルを用いてArcFaceによるマージン付加処理を適用して損失関数の値を算出し、前記なす角θが前記所定値以上の場合に、前記特徴ベクトルおよび前記重みベクトルを用いてCosFaceによるマージン付加処理を適用して損失関数の値を算出する損失関数演算部と、
前記損失関数の値に基づいて勾配法により前記機械学習モデルの学習を行う学習処理部と、
を備える、データ解析システムにある。
【発明の効果】
【0009】
機械学習モデルの学習は、角度を用いた距離学習としてのArcFaceとCosFaceを併用している。具体的には、損失関数演算部が、特徴ベクトルと重みベクトルとのなす角θが所定値より小さい場合には、ArcFaceによるマージン付加処理を適用し、なす角θが所定値以上の場合には、CosFaceによるマージン付加処理を適用している。
【0010】
従って、ArcFaceによるマージン付加処理のみの場合に学習が進まない可能性のある領域は、CosFaceによるマージン付加処理が適用されている。従って、全体として、ArcFaceにて学習が進まなくなるような領域は存在せず、CosFaceにより確実に学習が進む状態とすることができる。
【0011】
さらに、学習が進むと、特徴ベクトルと正解クラスの重みベクトルとのなす角θは小さくなる。学習の初期において、特徴ベクトルと正解クラスの重みベクトルとのなす角θが所定値より大きい場合において、CosFaceによるマージン付加処理が適用される。その後、学習が進むことで、なす角θが小さくなる。そうすると、なす角θが所定値に到達し、CosFaceの領域から、ArcFaceの領域へ移行する。その後、ArcFaceによる学習が進むことにより、高精度な予測を行うことができる機械学習モデルが生成される。
【図面の簡単な説明】
【0012】
【
図1】データ解析システムの学習フェーズにおける機能ブロック構成図である。
【
図2】データ解析システムの学習フェーズにおける詳細構成を示す図である。
【
図3】cos距離と損失関数の値との関係を示すグラフにおいて、ArcFaceとCosFaceとの第一の併用パターンを実線で示し、ArcFaceのみによるパターンを破線にて示す。
【
図4】cos距離と損失関数の値との関係を示すグラフにおいて、ArcFaceとCosFaceとの第二の併用パターンを実線で示し、ArcFaceのみによるパターンを破線にて示す。
【発明を実施するための形態】
【0013】
(1.機械学習モデル)
機械学習モデルは、ニューラルネットワークにより構成される。ここでのニューラルネットワークは、隠れ層が1層である場合、または、隠れ層が複数層である場合を含み意味で用いている。つまり、隠れ層が複数層ある場合には、いわゆるディープニューラルネットワークと称する。もちろん、機械学習モデルは、ニューラルネットワークとして、例えば、畳み込みニューラルネットワークなどを適用することができる。機械学習モデルは、ニューラルネットワークにより構成されるため、入力されるデータに対応する特徴ベクトルを出力する。
【0014】
本形態の機械学習モデルは、各ニューロンにおいて、重み、バイアス、活性化関数などを用いた処理を行う。主に、重みおよびバイアスが学習対象となる。そして、機械学習モデルは、最終段の全結合層の出力が特徴ベクトルとなる。最終段の全結合層は、重みベクトルを用いて特徴ベクトルを出力する。
【0015】
本形態においては、機械学習モデルは、対象のデータのクラス分類を行うためのモデルである。例えば、対象のデータに関する特徴ベクトルが、各クラスの代表データに関する特徴ベクトルに近いか否かを判定することにより、対象のデータがどのクラスに属するかを判定することができる。本形態においては、機械学習モデルは、対象のデータに関する特徴ベクトルとクラス代表のデータに関する特徴ベクトルとcos距離により、対象のデータのクラス分類を行うためのモデルである。
【0016】
例えば、機械学習モデルは、画像データを対象として、画像データのクラス分類に用いるモデルとすることができる。この場合、機械学習モデルは、対象の画像データに関する特徴ベクトルとクラス代表の画像データに関する特徴ベクトルとのcos距離により、対象の画像データのクラス分類を行う。
【0017】
特に、機械学習モデルは、産業製品の外観検査に用いるモデルを例にあげる。この場合、産業製品の外観の画像データを入力して、対象の産業製品が良品であるか不良品であるかの判定を行う。具体的には、機械学習モデルに対象の外観画像データを入力した場合に出力される特徴ベクトルを取得する。また、機械学習モデルに良品の代表画像データを入力した場合に出力される特徴ベクトルを取得する。さらに、機械学習モデルに不良品の代表画像データを入力した場合に出力される特徴ベクトルを取得する。
【0018】
そして、対象の外観画像データに関する特徴ベクトルと良品の代表画像データに関する特徴ベクトルとのcos距離より、対象の外観画像データが良品のクラスに分類されるかを判定する。一方、対象の外観画像データに関する特徴ベクトルと不良品の代表画像データに関する特徴ベクトルとのcos距離より、対象の外観画像データが不良品のクラスに分類されるかを判定する。このように、各クラスの代表の画像データに関する特徴ベクトルとのcos距離に基づいて、産業製品が、良品であるか不良品であるかの判定を行うことができる。
【0019】
不良品の種類が複数存在する場合には、対象の外観画像データに関する特徴ベクトルと、それぞれの不良品の代表画像データに関する特徴ベクトルとのcos距離により、対象の外観画像データがどの不良品のクラスに分類されるかを判定することもできる。ここで、産業製品としては、車両部品、産業機械部品、民生機器部品など種々の部品を対象とできる。
【0020】
(2.データ解析システム1の学習フェーズの概要)
データ解析システム1の学習フェーズにおける構成の概要について、
図1を参照して説明する。データ解析システム1は、記憶装置2および演算処理装置3を備えるコンピュータ装置により構成される。
【0021】
記憶装置2は、上述した機械学習モデル11を記憶する。さらに、記憶装置2は、機械学習モデルの学習フェーズにおいて用いる学習用データ12を記憶する。学習用データ12は、例えば、産業製品の外観画像データであって、良品の画像データおよび不良品の画像データを含む。さらに、学習用データ12は、各画像データが良品であるか不良品であるかの情報、すなわち正解ラベル12aを含む。
【0022】
記憶装置2は、さらに、損失関数演算用プログラム13を記憶する。損失関数演算用プログラムは、ArcFaceによるマージン付加処理を適用して損失関数の値を算出するプログラム、および、CosFaceによるマージン付加処理を適用して損失関数の値を算出するプログラムを含む。
【0023】
演算処理装置3は、機械学習モデル実行部21、特徴ベクトル正規化処理部22、重みベクトル取得部23、重みベクトル正規化処理部24、損失関数演算部25、および、学習処理部26を備える。
【0024】
機械学習モデル実行部21は、機械学習モデル11に画像データを入力した場合に、入力された画像データに関する特徴ベクトルを出力する。学習フェーズにおいて、機械学習モデル実行部21は、記憶装置2に記憶されている外観画像の学習用データ12を入力して、入力された学習用データ12に関する特徴ベクトルを出力する。特徴ベクトル正規化処理部22は、機械学習モデル実行部21により出力された特徴ベクトルに対してL2正規化を行う。
【0025】
重みベクトル取得部23は、機械学習モデル実行部21が特徴ベクトルを出力した際の最終段の全結合層の重みベクトルを取得する。重みベクトル正規化処理部24は、重みベクトル取得部23が取得した重みベクトルに対してL2正規化を行う。
【0026】
損失関数演算部25は、記憶装置2に記憶されている損失関数演算用プログラム13を実行することにより、ArcFaceによるマージン付加処理を適用して損失関数の値Lossを算出する。さらに、損失関数演算部25は、損失関数演算用プログラム13を実行することにより、CosFaceによるマージン付加処理を適用して損失関数の値Lossを算出する。2つのマージン付加処理の適用の概要は、次のとおりである。
【0027】
損失関数演算部25は、特徴ベクトルと正解クラスの重みベクトルとのなす角θが所定値より小さい場合に、特徴ベクトルおよび重みベクトルを用いてArcFaceによるマージン付加処理を適用して損失関数の値Lossを算出する。一方、損失関数演算部25は、なす角θが所定値以上の場合に、特徴ベクトルおよび重みベクトルを用いてCosFaceによるマージン付加処理を適用して損失関数の値Lossを算出する。損失関数の値Lossの算出においては、記憶装置20に記憶されている学習用データ12に含まれる正解ラベル12aを用いる。
【0028】
学習処理部26は、損失関数演算部25により算出された損失関数の値Lossに基づいて、勾配法により機械学習モデル11の学習を行う。学習処理部26は、記憶装置2に記憶されている機械学習モデル11の重みおよびバイアスを学習する。本形態においては、学習処理部26は、損失関数の値Lossが最小値または極小値となるように、勾配降下法を適用して学習する。
【0029】
(3.データ解析システム1の学習フェーズの詳細構成)
データ解析システム1の学習フェーズの詳細な構成について
図2を参照して説明する。機械学習モデル実行部21が、学習用データ12に含まれる画像データを入力し、機械学習モデルを実行する。そうすると、機械学習モデル実行部21が、特徴ベクトルを出力する。ここで、入力される学習用データ12に含まれる画像データをxとして、出力される特徴ベクトルをx’とした場合、式(1)のように表される。f()は、機械学習モデル11を表す関数である。
【0030】
【0031】
特徴ベクトル正規化処理部22が、特徴ベクトルx’をL2正規化することで、正規化後特徴ベクトルx”を出力する。特徴ベクトルx’と正規化後特徴ベクトルx”とは、式(2)のように表される。正規化後特徴ベクトルx”は、特徴ベクトルx’の長さを1としたベクトルである。
【0032】
【0033】
重みベクトル取得部23が、機械学習モデル実行部21が実行した機械学習モデル11における最終段の全結合層の重みベクトルWを取得する。重みベクトル正規化処理部24が、重みベクトルWをL2正規化することで、正規化後重みベクトルW’を出力する。重みベクトルWと正規化後重みベクトルW’とは、式(3)のように表される。正規化後重みベクトルW’は、重みベクトルWの長さを1としたベクトルである。
【0034】
【0035】
損失関数演算部25は、ArcFace適用部30と、CosFace適用部40とを備える。ArcFace適用部30は、内積算出部31、ArcFace演算部32、ロジット算出部33、ソフトマックス関数演算部34、損失算出部35を備える。CosFace適用部40は、内積算出部41、CosFace演算部42、ロジット算出部43、ソフトマックス関数演算部44、損失算出部45を備える。ただし、ArcFace適用部30の内積算出部31と、CosFace適用部40の内積算出部41とは、同一の処理を行うため、共通したプログラムを実行するようにしても良い。
【0036】
ArcFace適用部30の内積算出部31は、正規化後特徴ベクトルx”と正規化後重みベクトルW’とを取得する。そして、内積算出部31は、式(4)に示すように、正規化後特徴ベクトルx”と正規化後重みベクトルW’との内積であるcos距離(cosθ)を算出する。CosFace適用部40の内積算出部41も同様である。
【0037】
【0038】
ArcFace演算部32は、式(5)に従って、正規化後特徴ベクトルx”と正解クラスjの正規化後重みベクトルW’とのなす角θが所定値θThより小さい場合に、正規化後特徴ベクトルx”と正規化後重みベクトルW’とのなす角θを用いて、ArcFaceにより角度θ’を算出する。ArcFace演算部32は、正解クラスjに対応する場合には、ArcFaceによるマージンmaを付加する処理(マージン付加処理)を実行する。ArcFace演算部32は、正解クラスjに対応しない場合には、マージンmaを付加せずに、正規化後特徴ベクトルx”と正規化後重みベクトルW’とのなす角θを用いる。
【0039】
【0040】
ここで、所定値θThは、式(6)により表される。
【0041】
【0042】
ArcFace演算部32は、前述のなす角θが所定値θThより小さい場合に、式(5)により算出した角θ’jを用いて、式(7)に表されるように、cos距離(cosθ’j)を算出する。つまり、ArcFace演算部32は、正解クラスjに対応する場合には、マージンmaが付加されたときのcos距離(cosθ’j)を算出する。一方、ArcFace演算部32は、正解クラスjに対応しない場合には、マージンmaを付加せずに、内積算出部31により算出されたcos距離(cosθ’j)をそのまま用いる。
【0043】
【0044】
CosFace演算部42は、式(8)に従って、正規化後特徴ベクトルx”と正解クラスjの正規化後重みベクトルW’とのなす角θが所定値θTh以上の場合に、CosFaceによる処理を行う。CosFace演算部42は、正解クラスjに対応する場合には、CosFaceによるマージンmcを付加する処理(マージン付加処理)を実行して、マージンmcが付加されたときのcos距離(cosθ’j)を算出する。一方、CosFace演算部42は、正解クラスjに対応しない場合には、マージンmcを付加せずに、内積算出部31により算出されたcos距離(cosθ’j)をそのまま用いる。
【0045】
【0046】
ここで、CosFaceによるマージンmcは、式(9)により表される。
【0047】
【0048】
ArcFace適用部30のロジット算出部33は、式(10)に従って、ArcFace演算部32により算出されたcos距離(cosθ’j)に、スケールパラメータsを乗算することにより、ロジットlogitを算出する。また、CosFace適用部40のロジット算出部43も、同様の処理を行う。すなわち、ロジット算出部43は、式(10)に従って、CosFace演算部42により算出されたcos距離(cosθ’j)に、スケールパラメータsを乗算することにより、ロジットlogitを算出する。
【0049】
【0050】
ArcFace適用部30のソフトマックス関数演算部34は、式(11)に従って、ロジット算出部33により算出されたロジットlogitをソフトマックス関数により変換する。同様に、CosFace適用部40のソフトマックス関数演算部44は、式(11)に従って、ロジット算出部43により算出されたロジットlogitをソフトマックス関数により変換する。
【0051】
【0052】
ArcFace適用部30の損失算出部35は、式(12)に従って、ArcFaceによる損失関数の値Lossarcを算出する。損失算出部35は、ロジット算出部33により算出されたロジットlogitに対して損失関数としてのクロスエントロピーを適用することにより、損失関数の値Lossarcとしてクロスエントロピー誤差を算出する。クロスエントロピー誤差の算出においては、学習用データ12における正解ラベル12aを用いる。
【0053】
【0054】
つまり、式(12)に示すArcFaceによる損失関数は、マージンmaを付加することにより、正解クラスjの重みベクトルWyiと特徴ベクトルx’iとのcos距離を実際より小さく見積もり、不正解クラスの重みベクトルWと特徴ベクトルx’とのcos距離を実際より大きく見積もっていることに相当する。つまり、他のクラスの重みベクトルWよりも、正解クラスjの重みベクトルWyiにより近づくように損失関数の値Lossarcを与えているため、正解クラスの重みベクトルと不正解クラスの重みベクトルとを引き離す効果を有する。
【0055】
CosFace適用部40の損失算出部45は、式(13)に従って、CosFaceによる損失関数の値Losscosを算出する。損失算出部45は、ロジット算出部43により算出されたロジットlogitに対して損失関数としてのクロスエントロピーを適用することにより、損失関数の値Losscosとしてクロスエントロピー誤差を算出する。クロスエントロピー誤差の算出においては、学習用データ12における正解ラベル12aを用いる。
【0056】
【0057】
つまり、式(13)に示すCosFaceによる損失関数は、マージンmcを付加することにより、ArcFaceと基本的には同様に機能する。つまり、CosFaceによる損失関数は、正解クラスjの重みベクトルWyiと特徴ベクトルx’iとのcos距離を実際より小さく見積もり、不正解クラスの重みベクトルWと特徴ベクトルx’とのcos距離を実際より大きく見積もっていることに相当する。つまり、他のクラスの重みベクトルWよりも、正解クラスjの重みベクトルWyiにより近づくように損失関数の値Losscosを与えているため、正解クラスの重みベクトルと不正解クラスの重みベクトルとを引き離す効果を有する。
【0058】
学習処理部26は、正規化後特徴ベクトルx”と正解クラスjの正規化後重みベクトルW’とのなす角θが所定値θTh以上の場合には、ArcFace適用部30の損失算出部35により算出された損失関数の値Lossarc(式(12)に示す)を用いて、勾配法により機械学習モデル11を学習する。
【0059】
また、学習処理部26は、正規化後特徴ベクトルx”と正解クラスjの正規化後重みベクトルW’とのなす角θが所定値θThより小さい場合には、CosFace適用部40の損失算出部45により算出された損失関数の値Losscos(式(13)に示す)を用いて、勾配法により機械学習モデル11を学習する。
【0060】
(4.第一のマージン適用時のcos距離と損失関数の値)
第一のマージン適用時における「正規化後特徴ベクトルx”と正解クラスの重みベクトルW’とのcos距離」と「損失関数の値Loss」との関係について、
図3を参照して説明する。ここで、
図3には、機械学習モデル11の学習においてArcFaceとCosFaceの併用パターンとしての本形態を実線にて示しており、比較例としてArcFaceのみを適用したパターンについて破線にて示している。
【0061】
比較例としてのArcFaceのみを適用した場合には、cos距離に対する損失関数の値が、cos距離が小さい領域のうちのcosθEのときに極値(本形態では極大値)を持つ。学習の初期において、cos距離がcosθEよりも大きな値の場合には、勾配法を適用して学習すると、cos距離がより大きい方に移動して行く。そのため、cos距離を大きくする方向に学習が進んで行き、理想的な状態に近づいて行く。一方、学習の初期において、cos距離がcosθEよりも小さな値の場合には、勾配法を適用して学習すると、cos距離がより小さい方に移動して行く。そのため、cos距離を大きくする方向に学習が進まない。
【0062】
ArcFaceによるマージン付加処理は、式(7)に示すように、なす角θに角度のマージンmaを加算する処理である。そのため、なす角θが大きい場合(180°付近の場合)、θ+maの角度が180°を超える場合には、変換後のcos距離の値の変化が、大小逆転する場合がある。このことを理由に、ArcFaceによるマージン付加処理は、上記のような関係を有することになる。
【0063】
本形態を適用した場合には、
図3に示すように、CosFaceを適用した領域と、ArcFaceを適用した領域とが存在する。ここで、CosFaceによるマージン付加処理は、式(8)に示すように、cosθからマージンm
cを減算する処理である。従って、変換後のcos距離の値の変化は、cosθの変化と同一となり、ArcFaceの場合のように大小逆転することはない。
【0064】
そして、ArcFaceを適用した領域とCosFaceを適用した領域との境界が、なす角θが所定値θThに対応するcos距離の値cosθThとなる。ArcFaceによるマージン付加処理およびCosFaceによるマージン付加処理は、なす角θが所定値θThの前後において、損失関数の値Lossが、cos距離に対して単調減少または単調増加する関係を有するように設定されている。本形態においては、cos距離が大きくなる場合に、損失関数の値Lossが単調減少するような関係を有するように設定されている。
【0065】
特に、所定値θThに対応するcos距離の値cosθThが、ArcFaceによるマージン付加処理においてcos距離に対する損失関数の値Lossarcが極値となるときのcos距離の値cosθEよりも大きな値となるように、所定値θThが設定されている。
【0066】
つまり、本形態においては、ArcFaceのみを適用した場合のような極値を有しない。従って、学習の初期において、cos距離がどの位置に位置したとしても、勾配法を適用して学習することでcos距離がより大きい方に移動して行く。そのため、cos距離を大きくする方向に学習が進んで行き、理想的な状態に近づいて行く。
【0067】
さらに、ArcFaceによるマージン付加処理およびCosFaceによるマージン付加処理は、なす角θが所定値θThにおいて、損失関数の値Lossがcos距離に対して連続する関係を有するように設定されている。この場合、学習において、連続的に処理が進む。従って、学習が安定する。特に、なす角θが所定値θThにおいて、損失関数の値Lossがcos距離に対して滑らかに連続する関係を有するように設定されているとより良い。つまり、なす角θが所定値θThにおいて、損失関数の値Lossをcos距離による偏微分した値が、一致する状態となる。
【0068】
ArcFaceによるマージン付加処理およびCosFaceによるマージン付加処理が、上記のように設定するためには、例えば、所定値θThの設定、および、CosFaceによるマージンmcの設定にて対応できる。
【0069】
(5.第二のマージン適用時のcos距離と損失関数の値)
第二のマージン適用時における正規化後特徴ベクトルx”と正解クラスの重みベクトルW’とのcos距離と損失関数の値Lossとの関係について、
図4を参照して説明する。ここで、
図4には、
図3と同様に、機械学習モデル11の学習においてArcFaceとCosFaceの併用パターンとしての本形態を実線にて示しており、比較例としてArcFaceのみを適用したパターンについて破線にて示している。
【0070】
図4に示す第二のマージン適用時には、
図3と比較して、ArcFaceによるマージン付加処理およびCosFaceによるマージン付加処理が、なす角θが所定値θ
Thにおいて、損失関数の値Lossがcos距離に対して不連続の関係を有するように設定されている。ただし、ArcFaceを適用した領域とCosFaceを適用した領域との境界が、なす角θが所定値θ
Thに対応するcos距離の値cosθ
Thとなる。ArcFaceによるマージン付加処理およびCosFaceによるマージン付加処理は、なす角θが所定値θ
Thの前後において、損失関数の値Lossが、cos距離に対して単調減少または単調増加する関係を有するように設定されている。
【0071】
この場合も、本形態においては、ArcFaceのみを適用した場合のような極値を有しない。従って、学習の初期において、cos距離がどの位置に位置したとしても、勾配法を適用して学習することでcos距離がより大きい方に移動して行く。そのため、cos距離を大きくする方向に学習が進んで行き、理想的な状態に近づいて行く。
【0072】
そして、ArcFaceによるマージン付加処理およびCosFaceによるマージン付加処理が、上記のように設定するためには、例えば、所定値θThの設定、および、CosFaceによるマージンmcの設定にて対応できる。
【0073】
(6.効果)
以上のように、機械学習モデル11の学習は、角度を用いた距離学習としてのArcFaceとCosFaceを併用している。具体的には、損失関数演算部25は、特徴ベクトルx’と重みベクトルWとのなす角θが所定値θThより小さい場合には、式(5)(7)(12)に示すように、ArcFaceによるマージン付加処理を適用する。一方、損失関数演算部25は、なす角θが所定値θTh以上の場合には、式(8)(13)に示すように、CosFaceによるマージン付加処理を適用している。
【0074】
従って、ArcFaceによるマージン付加処理のみの場合に学習が進まない可能性のある領域は、CosFaceによるマージン付加処理が適用されている。従って、全体として、ArcFaceにて学習が進まなくなるような領域は存在せず、CosFaceにより確実に学習が進む状態とすることができる。
【0075】
さらに、学習が進むと、特徴ベクトルx’と正解クラスの重みベクトルWとのなす角θは小さくなる。学習の初期において、特徴ベクトルx’と正解クラスの重みベクトルWとのなす角θが所定値θThより大きい場合(cos距離がcosθThより小さい場合)において、CosFaceによるマージン付加処理が適用される。その後、学習が進むことで、なす角θが小さくなる。そうすると、なす角θが所定値θThに到達し、CosFaceの領域から、ArcFaceの領域へ移行する。その後、ArcFaceによる学習が進むことにより、高精度な予測を行うことができる機械学習モデル11が生成される。
【符号の説明】
【0076】
1 データ解析システム
2 記憶装置
3 演算処理装置
21 機械学習モデル実行部
23 重みベクトル取得部
25 損失関数演算部
26 学習処理部