JP7047498B2 - 学習プログラム、学習方法および学習装置 - Google Patents

学習プログラム、学習方法および学習装置 Download PDF

Info

Publication number
JP7047498B2
JP7047498B2 JP2018045963A JP2018045963A JP7047498B2 JP 7047498 B2 JP7047498 B2 JP 7047498B2 JP 2018045963 A JP2018045963 A JP 2018045963A JP 2018045963 A JP2018045963 A JP 2018045963A JP 7047498 B2 JP7047498 B2 JP 7047498B2
Authority
JP
Japan
Prior art keywords
class
learning
feature amount
data
discriminator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018045963A
Other languages
English (en)
Other versions
JP2019159836A (ja
Inventor
孝 河東
健人 上村
優 安富
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018045963A priority Critical patent/JP7047498B2/ja
Priority to US16/287,494 priority patent/US11741363B2/en
Publication of JP2019159836A publication Critical patent/JP2019159836A/ja
Application granted granted Critical
Publication of JP7047498B2 publication Critical patent/JP7047498B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2132Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on discrimination criteria, e.g. discriminant analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2433Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting

Description

本発明は、学習プログラム、学習方法および学習装置に関する。
学習済みのモデルを利用して、既存クラスではないことの判別を行うオープンセット認識(Open Set Recognition)がある。オープンセット認識に関する技術としては、既知クラスによる特徴空間の中で、未知クラスに相当する領域を設定して、未知クラスを判別する手法が知られている。
図15は、オープンセット認識を説明する図である。図15に示すように、既知クラスの学習データを特徴空間に射影し、特徴空間をクラス1が属する空間1、クラス2が属する空間2、クラス3が属する空間3の部分空間に分割する。そして、適用時に既知クラスの部分空間に属さないデータを未知クラスのデータとして検出する。例えば、判別対象のデータX1が空間3に分類された場合、データX1をクラス3と判別し、判別対象のデータX2がいずれの空間にも分類されない場合、データX2を未知クラスと判別する。
このようなオープンセット認識は、学習データに含まれないクラスが入力された場合に、エラーを返すことで誤検出による深刻な問題が発生する前に処理を中断することに使用される。また、オープンセット認識は、学習済みのクラスと未学習のクラスを分割し、未学習のクラスのみラベル付けを行い、専用の分類器を作成することで逐次学習を行うことに使用される。
特開2013-152654号公報 国際公開第2011/092793号 特開2016-18358号公報
しかしながら、上記技術では、未知クラスの検出精度が高くない。具体的には、空間分割に使用する特徴空間が既知クラスのデータ分類によって生成されるので、未知クラスのデータと既知クラスのデータが正しく分割できる空間になっていないことがあり、未知クラスのデータの検出に失敗する場合がある。
図16は、未知クラスの誤検出を説明する図である。上記手法では、未知クラスのデータの特徴を想定せずに空間を分割するので、未知クラスのデータの特徴量が既知クラスのデータの特徴量と特徴空間上で重なったり、近い位置になることがある。この場合、図16に示すように、いずれの既知クラスにも属さないはずの未知クラスYのデータがクラス1やクラス3に分類されることがあり、未知クラスの誤検出が発生する。
一つの側面では、未知クラスの検出精度を向上させることができる学習プログラム、学習方法および学習装置を提供することを目的とする。
第1の案では、学習プログラムは、コンピュータに、教師データに含まれる既知クラス、または、前記教師データに含まれない未知クラスに対象データを判別する判別器の学習を、前記教師データを用いて実行する処理を実行させる。学習プログラムは、コンピュータに、前記判別器の複数の層において、前記教師データの少なくとも一部より、前記複数の層における特徴量から未知クラスに対応する未知クラス特徴量を生成する処理を実行させる。学習プログラムは、コンピュータに、前記既知クラスおよび前記未知クラスの特徴量が分離されるように、前記判別器の学習を実行する処理を実行させる。
一実施形態によれば、未知クラスの検出精度を向上させることができる。
図1は、実施例1にかかる学習装置を説明する図である。 図2は、実施例1にかかる学習装置の機能構成を示す機能ブロック図である。 図3は、学習装置によるクラス分類の学習全体例を説明する図である。 図4は、特徴量Aの生成例を説明する図である。 図5は、特徴量Aに基づく仮想的な特徴量の生成例を説明する図である。 図6は、特徴量Bの生成例を説明する図である。 図7は、特徴量Bに基づく仮想的な特徴量の生成例を説明する図である。 図8は、特徴量Cの生成例を説明する図である。 図9は、判別器による予測クラスの予測結果を説明する図である。 図10は、正しいクラスの確率が上がるように学習する例を説明する図である。 図11は、仮想クラスの確率が下がるように学習する例を説明する図である。 図12は、処理の流れを示すフローチャートである。 図13は、実施例1によるクラス領域の分割例を説明する図である。 図14は、ハードウェア構成例を説明する図である。 図15は、オープンセット認識を説明する図である。 図16は、未知クラスの誤検出を説明する図である。
以下に、本願の開示する学習プログラム、学習方法および学習装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
[学習装置の説明]
図1は、実施例1にかかる学習装置を説明する図である。図1に示す学習装置10は、教師データに含まれる既知クラス、または、教師データに含まれない未知クラスに対象データを判別する判別器(以下では、クラス判別器と記載する場合がある)の学習を実行するコンピュータ装置の一例である。
この学習装置10は、機械学習や深層学習(ディープラーニング・Deep Learning;DL)において、教師データに含まれる既知のクラスの他に、教師データに含まれない未知のクラスのデータに適用される可能性がある状況で、学習対象である教師データに含まれない未知クラスのデータが入力されたときに正しく未知クラスであることを検出できる判別器を学習する。例えば、学習装置10は、クラスが猫の画像データと、クラスが犬の画像データを用いて、画像データが入力されたときに猫か犬かを判別できるように判別器を学習し、鳥の画像データが入力されたときには未知クラスのデータであることを検出できるように、判別器を学習する。
具体的には、学習装置10は、教師データを用いて判別器の学習を行う。学習装置10は、判別器の複数の層において、教師データの少なくとも一部より、複数の層における特徴量から未知クラスに対応する未知クラス特徴量を生成する。その後、学習装置10は、既知クラスおよび未知クラスの特徴量が分離されるように、判別器の学習を行う。
ここで、適用されるデータは、未知クラスのデータであっても、既知クラスのデータとまったく無関係というわけではなく、同一のカテゴリに属すると考えることができる。例えば、既知クラスのデータが文字画像なら、未知クラスのデータは別の文字画像であり、動物の画像などではないことが多い。
そこで、実施例1にかかる学習装置10は、未知クラスの特徴量を既知クラスの特徴量に基づき生成することで、未知クラスの検出に使用する特徴空間を生成する。例えば、図1に示すように、学習装置10は、未知クラスのデータである「7」の画像データ、「8」の画像データ、「9」の画像データのそれぞれが、既知クラスである「1」の画像データ、「2」の画像データ、「3」の画像データそれぞれを分割した中間的な特徴量の組み合わせを有していると想定する。
そして、学習装置10は、既知クラスを分割する最終的な特徴空間を生成するために使用されるこの中間的な特徴量を組み合わせて、未知クラスに対応する仮想的な特徴量を生成する。そして、学習装置10は、仮想的な特徴量に基づき未知クラスの特徴空間を生成し、この未知クラスの特徴空間を用いて、未知クラスを検出するので、未知クラスの検出精度を向上させることができる。
[機能構成]
図2は、実施例1にかかる学習装置の機能構成を示す機能ブロック図である。図2に示すように、学習装置10は、通信部11、記憶部12、制御部20を有する。
通信部11は、他の装置との通信を制御する処理部であり、例えば通信インタフェースである。例えば、通信部11は、管理者の端末から、処理開始指示を受信する。また、通信部11は、管理者の端末等から、学習対象である教師データを受信して学習データDB13に格納する。
記憶部12は、プログラムやデータを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部12は、学習データDB13、学習結果DB14を記憶する。
学習データDB13は、学習対象のデータである教師データを記憶するデータベースである。具体的には、学習データDB13は、クラスが既知である既知クラスのデータを記憶し、例えば「クラス、データ」を対応付けて記憶する。
学習結果DB14は、学習結果を記憶するデータベースである。例えば、学習結果DB14は、制御部20による学習データの判別結果(分類結果)、機械学習やディープラーニングによって学習された各種パラメータなどを記憶する。
制御部20は、学習装置10全体の処理を司る処理部であり、例えばプロセッサなどである。この制御部20は、クラス判別器21、第1学習部22、クラス処理部23を有する。なお、クラス判別器21と第1学習部22とクラス処理部23は、プロセッサなどが実行するプロセスによって実現することもできる。
クラス判別器21は、入力された入力データのクラスを判別する処理部である。具体的には、クラス判別器21は、後述する各学習部によって学習されたニューラルネットワークなどを用いた学習モデルを適用した判別器(学習器)であり、入力データのクラス判別を実行する。例えば、クラス判別器21は、少なくとも1つの特徴生成器と、判別器(分類器)とを有し、入力データから特徴量を生成し、生成した特徴量を用いてクラス判別を実行する。
また、クラス判別器21は、入力データから特徴量を生成し、生成した特徴量が未知クラスの領域に該当する場合、当該入力データが教師データのクラスに含まれない未知クラスのデータであると検出する。このとき、クラス判別器21は、画面や管理者端末にエラー情報を出力するエラー処理を実行することもできる。
第1学習部22は、学習データDB13に記憶される既知クラスのデータである教師データを用いて、クラス判別器21を学習する処理部である。具体的には、第1学習部22は、教師データに含まれる各クラスを判別(分類)できるように、誤差逆伝播法などによって、ニューラルネットワークなど用いた学習モデルを学習する。
クラス処理部23は、特徴量生成部24、仮想特徴量生成部25、第2学習部26を有し、未知クラスのデータが入力された場合に、未知クラスのデータあることが検出できるように、クラス判別器21を学習する処理部である。
特徴量生成部24は、クラス判別器21の学習時に、クラス判別器21の複数の層を用いて、教師データの特徴量を生成する処理部である。例えば、特徴量生成部24は、ニューラルネットワークを用いた学習器である場合、入力層、中間層の各層から出力される特徴量を取得して、仮想特徴量生成部25に出力する。
また、特徴量生成部24は、クラス判別器21が複数の特徴量生成器を有する場合、各特徴量生成器から出力される特徴量を取得して、仮想特徴量生成部25に出力する。また、特徴量生成部24は、クラス判別器21が複数の特徴量生成器を有し、各特徴量生成器が複数の層を有する場合、各層または各特徴量生成器から出力される特徴量を取得して、仮想特徴量生成部25に出力する。
仮想特徴量生成部25は、教師データの少なくとも一部より、複数の層における特徴量から未知クラスに対応する未知クラス特徴量を生成する処理部である。具体的には、仮想特徴量生成部25は、学習データである教師データのクラスを分類するクラス判別器21の学習中に、中間特徴量を組み合わせて未知クラスのデータに対応する、未知クラス特徴量の一例である仮想的な特徴量を生成する。
例えば、仮想特徴量生成部25は、(手法1-1)学習中に、複数の層などから出力される複数の特徴量の各次元の値をランダムに組み合わせて、仮想的な特徴量を生成することができる。また、仮想特徴量生成部25は、(手法1-2)学習中の特徴量の分布(平均や分散)に従った特徴量をランダムに生成することができる。
第2学習部26は、第1学習部による教師データのクラスの分類に加えて、既知クラスのデータと仮想的な未知クラスのデータとが分割できるような特徴空間を学習する処理部である。具体的には、第2学習部26は、深層学習等の特徴生成を多段に繰り返す学習器において、特徴量生成部24が生成した特徴量と、仮想特徴量生成部25が生成した仮想的な特徴量とを用いて、クラス判別の通常学習に加えて、未知クラスが検出できるように、クラス判別器21を学習する。
例えば、第2学習部26は、(手法2-1)仮想的な未知データに対する未知クラスを新たに作成し、仮想的な未知データは未知クラスに分類されるように学習する。また、第2学習部26は、(手法2-2)既知クラスのデータに対しては、真のクラス確率が最大になる様に、仮想的な未知クラスのデータに対しては、どの既知クラスの確率も低くなるように学習する。なお、第1学習部22による学習と第2学習部26による学習は、別々のフローで並行して実行することもでき、第1学習部22による学習時と同時に、第2学習部26による学習を実行することもできる。
[具体例]
次に、図3から図11を用いて、クラス処理部23による学習を説明する。なお、ここで説明する特徴量の次元などは一例であり、任意に設定変更することができる。
図3は、学習装置10によるクラス分類の学習全体例を説明する図である。図3に示すように、ここでは、クラス判別器21が、特徴生成器Aと特徴生成器Bと特徴生成器Cと判別器とを有する例で説明する。そして、教師データとして、クラス1のデータD1、クラス2のデータD2、クラス3のデータD3、クラス4のデータD4を用いることとする。なお、ここでは、一例として、特徴生成器AがNNの入力層に対応し、特徴生成器Bと特徴生成器CとがNNの中間層に対応し、判別器がNNの出力層に対応する例で説明する。また、各特徴生成器が複数の層を有する場合は、各特徴生成器について後述する処理を実行することもできる。
また、各既知クラスのデータは、元のデータの説明変数である特徴量を有する。例えば、図3に示すように、クラス1のデータD1の特徴量は、「0.21、1.25、1.18」、クラス1のデータD2の特徴量は、「0.23、2.49、2.87」、クラス2のデータD3の特徴量は、「1.92、0.81、2.32」、クラス2のデータD4の特徴量は、「0.86、2.01、1.76」とする。
(特徴量Aの生成)
このような状態で、特徴量生成部24は、既知データ(既知クラスのデータ)を特徴生成器Aに入力して、図4に示す中間特徴量(特徴量A)を取得する。図4は、特徴量Aの生成例を説明する図である。図4に示すように、特徴量生成部24は、クラス1のデータD1の特徴量Aとして「0.57、3.90、3.33、3.10、2.98」、クラス1のデータD2の特徴量Aとして「0.74、4.73、1.58、5.45、1.34」、クラス2のデータD3の特徴量Aとして「1.04、3.08、3.26、4.19、0.17」、クラス2のデータD4の特徴量Aとして「0.25、2.37、2.46、3.03、0.99」を取得する。
続いて、仮想特徴量生成部25は、上記手法1-1を用いて、各特徴量Aから仮想的な特徴量を生成する。図5は、特徴量Aに基づく仮想的な特徴量の生成例を説明する図である。図5に示すように、仮想特徴量生成部25は、各特徴量Aからランダムに特徴量を取得して仮想的な特徴量を2つ生成する。
例えば、仮想特徴量生成部25は、クラス2のデータD3の特徴量A「1.04、0.17」とクラス1のデータD1の特徴量A「3.90、3.33」とクラス2のデータD4の特徴量A「3.03」とを組み合わせて、仮想クラスの仮想データV1の特徴量「1.04、3.90、3.33、3.03、0.17」とする。また、仮想特徴量生成部25は、クラス1のデータD2の特徴量A「0.74、5.45」とクラス2のデータD4の特徴量A「2.37」とクラス1のデータD1の特徴量A「3.33、2.98」とを組み合わせて、仮想クラスの仮想データV2の特徴量「0.74、2.37、3.33、5.45、2.98」とする。なお、ここでは2つの仮想的な未知クラスのデータの特徴量を生成する例を説明したが、これに限定されるものではなく、任意の数の仮想データを生成することができる。
(特徴量Bの生成)
続いて、特徴量生成部24は、図5で生成した6つの各データの特徴量Aを特徴生成器Bに入力して、図6に示す中間特徴量(特徴量B)を取得する。図6は、特徴量Bの生成例を説明する図である。図6に示すように、特徴量生成部24は、クラス1のデータD1の特徴量Bとして「8.71、6.41、4.07、1.67」、クラス1のデータD2の特徴量Bとして「5.25、6.6、5.99、0.17」、クラス2のデータD3の特徴量Bとして「8.85、5.8、6.18、0.06」、クラス2のデータD4の特徴量Bとして「8.65、6.54、6.96、2.8」を取得する。同様に、特徴量生成部24は、仮想クラスの仮想データV1の特徴量Bとして「5.29、7.44、5.23、0.9」、仮想クラスの仮想データV2の特徴量Bとして「1.06、6.73、2.01、2.62」を取得する。
(仮想特徴量Bの生成)
その後、仮想特徴量生成部25は、上記手法1-2を用いて、各特徴量Bから仮想的な特徴量を生成する。図7は、特徴量Bに基づく仮想的な特徴量の生成例を説明する図である。図7に示すように、仮想特徴量生成部25は、特徴量Bの分布(平均・分散)に従った仮想的な特徴量Cを2つ生成する。
例えば、仮想特徴量生成部25は、各クラスの特徴量Bの次元ごとに平均値と分散値とを算出する。図7で説明すると、仮想特徴量生成部25は、データD1の特徴量B「8.71」とデータD2の特徴量B「5.25」とデータD3の特徴量B「8.85」とデータD4の特徴量B「8.65」と仮想データV1の特徴量B「5.29」と仮想データV2の特徴量B「1.06」とを用いて、平均値「6.30」と分散値「7.90」を算出する。
同様に、仮想特徴量生成部25は、データD1の特徴量B「6.41」とデータD2の特徴量B「6.60」とデータD3の特徴量B「5.80」とデータD4の特徴量B「6.54」と仮想データV1の特徴量B「7.44」と仮想データV2の特徴量B「6.73」とを用いて、平均値「6.58」と分散値「0.23」を算出する。
同様に、仮想特徴量生成部25は、データD1の特徴量B「4.07」とデータD2の特徴量B「5.99」とデータD3の特徴量B「6.18」とデータD4の特徴量B「6.96」と仮想データV1の特徴量B「5.23」と仮想データV2の特徴量B「2.01」とを用いて、平均値「5.07」と分散値「2.67」を算出する。
また、仮想特徴量生成部25は、データD1の特徴量B「1.67」とデータD2の特徴量B「0.17」とデータD3の特徴量B「0.06」とデータD4の特徴量B「2.80」と仮想データV1の特徴量B「0.90」と仮想データV2の特徴量B「2.62」とを用いて、平均値「1.37」と分散値「1.17」を算出する。
さらに、仮想特徴量生成部25は、次元ごとに算出した平均値と分散値の正規分布からサンプリングされた値を用いて、仮想クラスの仮想データV3と仮想クラスの仮想データV4とを生成する。例えば、仮想特徴量生成部25は、平均値「6.30」と分散値「7.90」の正規分布からサンプリングされた値「4.94」、平均値「6.58」と分散値「0.23」の正規分布からサンプリングされた値「6.17」、平均値「5.07」と分散値「2.67」の正規分布からサンプリングされた値「5.62」、平均値「1.37」と分散値「1.17」の正規分布からサンプリングされた値「0.25」を、仮想クラスの仮想データV3の特徴量とする。同様の手法で、仮想特徴量生成部25は、仮想クラスの仮想データV4の特徴量を生成する。
(最終特徴量Cの生成)
続いて、特徴量生成部24は、図7で生成した8つの各データの特徴量を特徴生成器Cに入力して、図8に示す最終特徴量(特徴量C)を取得する。図8は、特徴量Cの生成例を説明する図である。図8に示すように、特徴量生成部24は、クラス1のデータD1の特徴量Cとして「0.24、0.13」、クラス1のデータD2の特徴量Cとして「0.53、0.52」、クラス2のデータD3の特徴量Cとして「1.12、1.50」、クラス2のデータD4の特徴量Bとして「1.11、1.71」を取得する。同様に、徴量生成部24は、仮想クラスの仮想データV1の特徴量Cとして「1.67、0.48」、仮想クラスの仮想データV2の特徴量Cとして「1.83、0.25」、仮想クラスの仮想データV3の特徴量Cとして「0.24、0.37」、仮想クラスの仮想データV4の特徴量Cとして「0.59、1.44」を取得する。
(予測クラスの判別結果:例1)
その後、クラス判別器21は、図8に示す最終特徴量(特徴量C)が判別器に入力されると、予測クラスの判別結果(予測クラスの確率)を出力する。ここで、予測クラスの確率とは、入力された判別対象データがどのクラスであるかを示す確率であり、一般的には、一番確率が高いクラスが判別対象データのクラスと判別される。
図9は、判別器による予測クラスの予測結果を説明する図である。図9に示すように、クラス判別器21は、クラス1のデータD1について、入力されたデータD1の特徴量Cに基づき、予測クラスの確率として「クラス1=0.82、クラス2=0.10、仮想クラス=0.08」を出力し、クラス1のデータD2について、入力されたデータD2の特徴量Cに基づき、予測クラスの確率として「クラス1=0.67、クラス2=0.04、仮想クラス=0.29」を出力する。
また、クラス判別器21は、クラス2のデータD3について、入力されたデータD3の特徴量Cに基づき、予測クラスの確率として「クラス1=0.21、クラス2=0.70、仮想クラス=0.19」を出力し、クラス2のデータD4について、入力されたデータD4の特徴量Cに基づき、予測クラスの確率として「クラス1=0.02、クラス2=0.91、仮想クラス=0.07」を出力する。
また、クラス判別器21は、仮想クラスの仮想データV1について、入力された仮想データV1の特徴量Cに基づき、予測クラスの確率として「クラス1=0.15、クラス2=0.14、仮想クラス=0.71」を出力し、仮想クラスの仮想データV2について、入力された仮想データV2の特徴量Cに基づき、予測クラスの確率として「クラス1=0.03、クラス2=0.28、仮想クラス=0.69」を出力する。
同様に、クラス判別器21は、仮想クラスの仮想データV3について、入力された仮想データV3の特徴量Cに基づき、予測クラスの確率として「クラス1=0.00、クラス2=0.11、仮想クラス=0.89」を出力し、仮想クラスの仮想データV4について、入力された仮想データV4の特徴量Cに基づき、予測クラスの確率として「クラス1=0.04、クラス2=0.02、仮想クラス=0.92」を出力する。
(学習:手法2-1)
その後、第2学習部26は、上記手法2-1を用いて、正しいクラスの確率が上がる様に、誤差逆伝播法などによってクラス判別器21(学習モデル全体)を学習する。図10は、正しいクラスの確率が上がるように学習する例を説明する図である。図10に示すように、第2学習部26は、クラス1のデータD1およびデータD2については、予測クラスのクラス1の確率が上がり、予測クラスのクラス2および仮想クラスが下がるように、学習モデルを学習する。また、第2学習部26は、クラス2のデータD3およびデータD4については、予測クラスのクラス2の確率が上がり、予測クラスのクラス1および仮想クラスが下がるように、学習モデルを学習する。一方で、第2学習部26は、仮想クラスのデータV1、V2、V3、V4については、予測クラスの仮想クラスの確率が上がり、予測クラスのクラス1およびクラス2が下がるように、学習モデルを学習する。
(予測クラスの判別結果(例1)と学習(手法2-2))
次に、図10では、上記手法2-1を用いた学習例を説明したが、図11では、上記手法2-2を用いた学習手法について説明する。図11は、仮想クラスの確率が下がるように学習する例を説明する図である。
図11に示すように、クラス判別器21は、クラス1のデータD1について、特徴量Cに基づき、予測クラスの確率として「クラス1=0.90、クラス2=0.10」を出力し、クラス1のデータD2について、特徴量Cに基づき、予測クラスの確率として「クラス1=0.81、クラス2=0.19」を出力する。また、クラス判別器21は、クラス2のデータD3について、特徴量Cに基づき、予測クラスの確率として「クラス1=0.21、クラス2=0.79」を出力し、クラス2のデータD4について、特徴量Cに基づき、予測クラスの確率として「クラス1=0.08、クラス2=0.92」を出力する。
また、クラス判別器21は、仮想クラスの仮想データV1について、特徴量Cに基づき、予測クラスの確率として「クラス1=0.72、クラス2=0.28」を出力し、仮想クラスの仮想データV2について、特徴量Cに基づき、予測クラスの確率として「クラス1=0.48、クラス2=0.52」を出力する。同様に、クラス判別器21は、仮想クラスの仮想データV3について、特徴量Cに基づき、予測クラスの確率として「クラス1=0.86、クラス2=0.14」を出力し、仮想クラスの仮想データV4について、特徴量Cに基づき、予測クラスの確率として「クラス1=0.23、クラス2=0.77」を出力する。
その後、第2学習部26は、クラス1のデータD1およびデータD2については、予測クラスのクラス1の確率が上がり、予測クラスのクラス2が下がるように、学習モデルを学習する。また、第2学習部26は、クラス2のデータD3およびデータD4については、予測クラスのクラス2の確率が上がり、予測クラスのクラス1が下がるように、学習モデルを学習する。一方で、第2学習部26は、仮想クラスのデータV1、V2、V3、V4については、予測クラスのクラス1およびクラス2が下がるように、学習モデルを学習する。
[処理の流れ]
図12は、処理の流れを示すフローチャートである。図12に示すように、第1学習部22は、既知クラスの教師データを用いて、クラス判別器21全体を学習する(S101)。ここで、第1学習部22は、1ステップや1イテレーションなどのように任意の量だけ学習を実行することができる。
続いて、特徴量生成部24は、教師データを読み込み(S102)、多段に構成される特徴生成器のうち、未処理かつ先頭の特徴量生成器を選択する(S103)。
そして、特徴量生成部24は、選択した特徴量生成器に教師データを入力して、既知クラスのデータの特徴量または未知クラス(仮想クラス)のデータの特徴量を生成する(S104)。なお、先頭の特徴量生成器の場合は、既知クラスのデータの特徴量のみが生成される。
続いて、仮想特徴量生成部25は、特徴量生成部24によって生成された特徴量を用いて、仮想クラスに対応する仮想的な特徴量を生成する(S105)。そして、後段に未処理の特徴量生成器が存在する場合(S106:Yes)、次の特徴量生成器についてS103以降を実行する。
一方、後段に未処理の特徴量生成器が存在しない場合(S106:No)、クラス判別器21は、最後の特徴量を用いて、既知クラスと未知クラスを分類する(S107)。その後、第2学習部26は、分類結果(予測結果)と上記手法2-1または手法2-2を用いて、クラス判別器21全体を学習する(S108)。
そして、学習を継続する場合は(S109:No)、S102以降を繰り返し、学習を終了する場合は(S109:Yes)、処理を終了する。
[効果]
上述したように、学習装置10は、学習器の中間特徴量の分布を使ってランダムな特徴量を未知クラスの特徴量として生成し、既知クラスの特徴量と未知クラスの特徴量の分布を使ってさらに別の未知クラスの特徴量を順次生成する。そして、学習装置10は、未知クラスの特徴量が未知クラスとして分類されるように学習する。これにより、未知クラスおよび既知クラスの判別を行う形の学習を行って、特徴量空間を分割することにより、既知クラスを判別する特徴量空間では適切に分離できない未知クラスのデータが、適切に分離・判別される。したがって、学習装置10は、既知のクラスに似ているが異なる特徴を持つ未知クラスが入力された場合に、未知クラスであることが正しく出力される学習モデルを生成することができる。
図13は、実施例1によるクラス領域の分割例を説明する図である。図13の(a)に示すように、一般的な学習手法では、空間分割に使用する特徴空間が既知クラスのデータの分類によってのみ作成されるので、未知クラスと既知クラスの空間分割が正確ではなく、未知クラスであるデータXの誤検出が多発する。一方で、図13の(b)に示すように、実施例1による学習手法では、通常学習時の特徴生成時に仮想的な未知クラスに対応する特徴量を生成して、この特徴量を用いて、特徴生成を多段に繰り返す学習器(クラス判別器21)を学習できるので、未知クラスと既知クラスの空間分割をより正確に実現でき、未知クラスであるデータXやデータZの誤検出を減少させることができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
[学習器]
実施例1にかかるクラス判別器21(学習器)には、SVM(Support Vector Machine)、勾配法、ニューラルネットワークなど様々な学習手法を採用することができる。
[手法の選択]
上記実施例1では、最初に手法1-1を用いて仮想的な特徴量を生成した後、次に手法1-2を用いて仮想的な特徴量を生成する例を説明したが、これに限定されるものではない。順番を入れ替えてもよく、いずれか一方だけを複数回用いてもよく、任意に変更することができる。また、手法2-1および手法2-2も任意に選択することができる。
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア]
図14は、ハードウェア構成例を説明する図である。図14に示すように、学習装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図14に示した各部は、バス等で相互に接続される。
通信装置10aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD10bは、図2に示した機能を動作させるプログラムやDBを記憶する。
プロセッサ10dは、図2に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図2等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、学習装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、クラス判別器21、第1学習部22、クラス処理部23等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、クラス判別器21、第1学習部22、クラス処理部23等と同様の処理を実行するプロセスを実行する。
このように学習装置10は、プログラムを読み出して実行することで学習方法を実行する情報処理装置として動作する。また、学習装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、学習装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
10 学習装置
11 通信部
12 記憶部
13 学習データDB
14 学習結果DB
20 制御部
21 クラス判別器
22 第1学習部
23 クラス処理部
24 特徴量生成部
25 仮想特徴量生成部
26 第2学習部

Claims (9)

  1. コンピュータに、
    教師データに含まれる既知クラス、または、前記教師データに含まれない未知クラスに対象データを判別する判別器の学習を、前記教師データを用いて実行し、
    前記判別器の複数の層において、前記教師データの少なくとも一部が前記判別器に入力されることで、前記複数の層から出力される特徴量から未知クラスに対応する未知クラス特徴量を生成し、
    前記既知クラスおよび前記未知クラスの特徴量が分離されるように、前記判別器の学習を実行する、
    処理を実行させる学習プログラム。
  2. 請求項1に記載の学習プログラムであって、前記コンピュータに、
    前記教師データを用いて前記既知クラスの判別を前記判別器に学習させる時に、前記判別器が前記教師データのクラス判別結果を出力する途中で前記複数の層から出力される前記既知クラスの特徴量を用いて、前記未知クラス特徴量を生成し、
    前記既知クラスが判別できるように、および、前記既知クラスおよび前記未知クラスの特徴量が分離されるように、前記判別器の学習を実行する処理を実行させる学習プログラム。
  3. 請求項1または2に記載の学習プログラムであって、前記コンピュータに、
    多段に構成される前記複数の層それぞれにおいて、前段の層から出力される複数の特徴量から、前記既知クラスに対応する既知クラス特徴量と前記未知クラス特徴量とを生成して後段の層に入力し、
    前記複数の層の最終層から出力される判別の予測結果に基づいて、前記判別器の学習を実行する処理を実行させる学習プログラム。
  4. 請求項3に記載の学習プログラムであって、前記コンピュータに、
    前記複数の層の最終層から前記既知クラスと判断される既知クラスの確率と前記未知クラスと判断される未知クラスの確率とを出力し、
    前記既知クラスに対しては、前記既知クラスの確率が向上かつ前記未知クラスの確率が低下するように前記判別器の学習を実行し、前記未知クラスに対しては、前記未知クラスの確率が向上かつ前記既知クラスの確率が低下するように前記判別器の学習を実行する処理を実行させる学習プログラム。
  5. 請求項3に記載の学習プログラムであって、前記コンピュータに、
    前記複数の層の最終層から前記既知クラスと判断される既知クラスの確率を出力し、
    前記既知クラスに対しては、前記既知クラスの確率が向上するように前記判別器の学習を実行し、前記未知クラスに対しては、前記既知クラスの確率が低下するように前記判別器の学習を実行する処理を実行させる学習プログラム。
  6. 請求項3に記載の学習プログラムであって、前記コンピュータに、
    前記判別器の複数の層において、各層から出力される複数の特徴量からランダムに選択した複数の特徴量を用いて、前記未知クラス特徴量を生成する処理を実行させる学習プログラム。
  7. 請求項3に記載の学習プログラムであって、前記コンピュータに、
    前記判別器の複数の層において、各層から出力される複数の特徴量の平均と分散を用いて、前記未知クラス特徴量を生成する処理を実行させる学習プログラム。
  8. コンピュータが、
    教師データに含まれる既知クラス、または、前記教師データに含まれない未知クラスに対象データを判別する判別器の学習を、前記教師データを用いて実行し、
    前記判別器の複数の層において、前記教師データの少なくとも一部が前記判別器に入力されることで、前記複数の層から出力される特徴量から未知クラスに対応する未知クラス特徴量を生成し、
    前記既知クラスおよび前記未知クラスの特徴量が分離されるように、前記判別器の学習を実行する、
    処理を実行する学習方法。
  9. 教師データに含まれる既知クラス、または、前記教師データに含まれない未知クラスに対象データを判別する判別器の学習を、前記教師データを用いて実行する第1学習部と、
    前記判別器の複数の層において、前記教師データの少なくとも一部が前記判別器に入力されることで、前記複数の層から出力される特徴量から未知クラスに対応する未知クラス特徴量を生成する生成部と、
    前記既知クラスおよび前記未知クラスの特徴量が分離されるように、前記判別器の学習を実行する第2学習部と
    を有する学習装置。
JP2018045963A 2018-03-13 2018-03-13 学習プログラム、学習方法および学習装置 Active JP7047498B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018045963A JP7047498B2 (ja) 2018-03-13 2018-03-13 学習プログラム、学習方法および学習装置
US16/287,494 US11741363B2 (en) 2018-03-13 2019-02-27 Computer-readable recording medium, method for learning, and learning device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018045963A JP7047498B2 (ja) 2018-03-13 2018-03-13 学習プログラム、学習方法および学習装置

Publications (2)

Publication Number Publication Date
JP2019159836A JP2019159836A (ja) 2019-09-19
JP7047498B2 true JP7047498B2 (ja) 2022-04-05

Family

ID=67905795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018045963A Active JP7047498B2 (ja) 2018-03-13 2018-03-13 学習プログラム、学習方法および学習装置

Country Status (2)

Country Link
US (1) US11741363B2 (ja)
JP (1) JP7047498B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909760B (zh) * 2019-10-12 2021-03-16 中国人民解放军国防科技大学 一种基于卷积神经网络的图像开放集识别方法
JP7373849B2 (ja) 2020-03-23 2023-11-06 学校法人 関西大学 学習装置およびその学習方法、制御プログラム
US11775617B1 (en) * 2021-03-15 2023-10-03 Amazon Technologies, Inc. Class-agnostic object detection
WO2022201320A1 (ja) * 2021-03-23 2022-09-29 日本電信電話株式会社 クラスラベル推定装置、誤り原因推定方法、及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005520A (ja) 2016-06-30 2018-01-11 クラリオン株式会社 物体検出装置及び物体検出方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7945101B2 (en) * 2007-07-26 2011-05-17 Palo Alto Research Center Incorporated Innovative OCR systems and methods that combine a template based generative model with a discriminative model
CN102356393B (zh) 2010-01-29 2014-04-09 松下电器产业株式会社 数据处理装置
US8494464B1 (en) * 2010-09-08 2013-07-23 Rockwell Collins, Inc. Cognitive networked electronic warfare
US8483215B2 (en) * 2011-11-08 2013-07-09 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for identifying other user equipment operating in a wireless communication network
US8855375B2 (en) * 2012-01-12 2014-10-07 Kofax, Inc. Systems and methods for mobile image capture and processing
JP2013152654A (ja) 2012-01-26 2013-08-08 Toyota Central R&D Labs Inc 識別器、識別器構築装置、プログラム
US9727821B2 (en) * 2013-08-16 2017-08-08 International Business Machines Corporation Sequential anomaly detection
JP6365032B2 (ja) 2014-07-08 2018-08-01 富士通株式会社 データ分類方法、データ分類プログラム、及び、データ分類装置
US9930025B2 (en) * 2015-03-23 2018-03-27 Duo Security, Inc. System and method for automatic service discovery and protection
US10504004B2 (en) * 2016-09-16 2019-12-10 General Dynamics Mission Systems, Inc. Systems and methods for deep model translation generation
JP2018063504A (ja) * 2016-10-12 2018-04-19 株式会社リコー 生成モデル学習方法、装置及びプログラム
EP3563554B1 (en) * 2016-12-29 2020-07-15 Avast Software S.R.O. System and method for detecting unknown iot device types by monitoring their behavior
US20180336439A1 (en) * 2017-05-18 2018-11-22 Intel Corporation Novelty detection using discriminator of generative adversarial network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005520A (ja) 2016-06-30 2018-01-11 クラリオン株式会社 物体検出装置及び物体検出方法

Also Published As

Publication number Publication date
JP2019159836A (ja) 2019-09-19
US20190286937A1 (en) 2019-09-19
US11741363B2 (en) 2023-08-29

Similar Documents

Publication Publication Date Title
JP7047498B2 (ja) 学習プログラム、学習方法および学習装置
US20180268296A1 (en) Machine learning-based network model building method and apparatus
CN101097564A (zh) 参数学习方法及设备、模式识别方法及设备
JP7024515B2 (ja) 学習プログラム、学習方法および学習装置
JP2018173890A (ja) 情報処理装置、情報処理方法、及びプログラム
US11429863B2 (en) Computer-readable recording medium having stored therein learning program, learning method, and learning apparatus
TW202137071A (zh) 解釋與改善循環神經網路的處理結果的方法
CN113139664B (zh) 一种跨模态的迁移学习方法
JP7172612B2 (ja) データ拡張プログラム、データ拡張方法およびデータ拡張装置
CN112633310A (zh) 具有改进的训练鲁棒性地对传感器数据进行分类的方法和系统
JP7115207B2 (ja) 学習プログラム、学習方法および学習装置
JP2019159835A (ja) 学習プログラム、学習方法および学習装置
CN113408693A (zh) 识别图像的方法和设备
JP2020052935A (ja) 学習済みモデルを生成する方法、データを分類する方法、コンピュータおよびプログラム
CN115543762A (zh) 一种磁盘smart数据扩充方法、系统及电子设备
JP7172067B2 (ja) 学習プログラム、学習方法および学習装置
JP2023088603A (ja) 機械学習プログラム、機械学習方法および情報処理装置
KR102255600B1 (ko) Gan을 이용한 문서형 악성코드 탐지 장치 및 방법
JP7268367B2 (ja) 学習装置、学習方法および学習プログラム
WO2021079441A1 (ja) 検出方法、検出プログラム及び検出装置
US20230021674A1 (en) Storage medium, machine learning method, and machine learning apparatus
KR20210044003A (ko) 단어 임베딩 방법 및 장치와 단어 검색 방법
EP4287075A1 (en) Training data generation device and method
WO2021215261A1 (ja) 情報処理方法、情報処理装置、及びプログラム
JP7405148B2 (ja) 情報処理装置、学習方法、及び、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220307

R150 Certificate of patent or registration of utility model

Ref document number: 7047498

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150