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

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

Info

Publication number
JP6897266B2
JP6897266B2 JP2017081645A JP2017081645A JP6897266B2 JP 6897266 B2 JP6897266 B2 JP 6897266B2 JP 2017081645 A JP2017081645 A JP 2017081645A JP 2017081645 A JP2017081645 A JP 2017081645A JP 6897266 B2 JP6897266 B2 JP 6897266B2
Authority
JP
Japan
Prior art keywords
learning
error
data
supervised
feature generator
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
JP2017081645A
Other languages
English (en)
Other versions
JP2018181071A (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 JP2017081645A priority Critical patent/JP6897266B2/ja
Priority to US15/947,423 priority patent/US11367003B2/en
Publication of JP2018181071A publication Critical patent/JP2018181071A/ja
Application granted granted Critical
Publication of JP6897266B2 publication Critical patent/JP6897266B2/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/088Non-supervised learning, e.g. competitive learning
    • 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
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • 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/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • 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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Description

本発明は、学習プログラム、学習方法および学習装置に関する。
機械学習の分野で、分類や回帰等の目的で教師有学習を行う際、教師有データを用いる教師有学習と教師無データを用いる教師無学習を組み合わせた半教師学習が利用されている。半教師学習の一つの方式として、特徴生成器、教師有学習器、教師無学習器を使用し、特徴生成器によって作成された特徴量によって、教師有学習器が分類や回帰などの当初の目的の学習を実行し、教師無学習が別途用意した教師無データで例えば教師無データの再構成、圧縮、ノイズ除去、補間等を学習する手法が知られている。
例えば、教師無データの再構成を例にして説明すると、教師有学習器は、教師ラベルと教師有学習器の出力の差である教師有誤差が最小になるように、学習器内部のパラメータ調整を実行する。また、教師無学習器は、入力と教師無学習器の出力の差である教師無誤差が最小になるように学習する。そして、特徴生成器は、教師有誤差と教師無誤差の総和が最小になるように学習する。
特開2014−026455号公報 特開2017−049677号公報
しかしながら、上記半教師学習では、教師有学習と教師無学習の進行の差によって、どちらかの誤差が下がらなくなり、学習精度が向上しない場合がある。具体的には、教師有学習器や教師無学習器が解く問題の性質によって、学習の難易度が異なり、教師有学習器と教師無学習器の学習の進行にばらつきが生じる。
このような場合、一方の誤差のみを下げる特徴を特徴生成器が作成する状況が生じやすく、下がった誤差を維持しつつもう一方の誤差を下げる特徴の生成が困難になり、もう一方の学習器の学習に大きな時間がかかって学習が進まなくなる。例えば、教師無誤差のみが下がっている場合は、教師有学習が進んでおらず、当初の目的に対する学習精度が劣化する。一方、教師有誤差のみが下がっている場合は教師有学習が過剰に進んで過学習となっており、訓練データ以外のデータに対する学習精度が劣化する。
一つの側面では、半教師学習の学習精度を向上させることができる学習プログラム、学習方法および学習装置を提供することを目的とする。
第1の案では、学習プログラムは、コンピュータに、特徴生成器により、入力データから特徴量を生成する処理を実行させる。学習プログラムは、コンピュータに、ラベルつきデータに対し、教師あり学習器により、前記特徴生成器の出力から第1の出力を生成し、ラベルなしデータに対し、教師なし学習器により、前記特徴生成器の出力から第2の出力を生成する処理を実行させる。学習プログラムは、コンピュータに、前記特徴生成器の学習において、前記ラベルつきデータと前記第1の出力から生成される第1の誤差と、前記ラベルなしデータと前記第2の出力から生成される第2の誤差との寄与割合を、当該学習の過程で変化させる処理を実行させる。
一実施形態によれば、半教師学習の学習精度を向上させることができる。
図1は、実施例1にかかる半教師学習を説明する図である。 図2は、一般的な半教師学習を説明する図である。 図3は、実施例1にかかる学習装置の機能構成を示す機能ブロック図である。 図4は、実施例1にかかる学習処理の流れを示すフローチャートである。 図5は、半教師学習の具体例を説明する図である。 図6は、一般的な半教師学習の学習結果を説明する図である。 図7は、実施例1に学習装置を用いて誤差の混合割合を一時的に変更した場合の学習結果を説明する図である。 図8は、実施例1の学習装置を用いて誤差の混合割合を動的に変更した場合の学習結果を示す図である。 図9は、ハードウェア構成例を示す図である。
以下に、本願の開示する学習プログラム、学習方法および学習装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
[学習処理の説明]
図1は、実施例1にかかる半教師学習を説明する図である。図1に示すように、実施例1にかかる学習装置は、特徴生成器、教師有学習器、教師無学習器を用いた半教師学習を実行する情報処理装置の一例である。
実施例1では、教師無学習が再構成の学習を実行する例で説明するので、特徴生成器をエンコーダ、教師無学習器をデコーダと記載することがあるが、学習内容や機能を限定するものではない。また、各学習器には、勾配法やニューラルネットワークなど様々な学習手法を採用することができる。また、学習の例として画像を例示して説明するが、あくまで一例であり、学習内容や学習対象を限定するものではない。
特徴生成器は、入力xから特徴量zを生成する。例えば、特徴生成器は、学習対象が画像の場合は、画像内のエッジ、コントラスト、画像内の目や鼻の位置などを特徴量として生成する。
教師有学習器は、ラベルつきの教師有データに対し、分類や回帰などの学習を実行する。具体的には、教師有学習器は、教師有データである入力xから生成された特徴量zを入力として予測値y´を出力する。そして、教師有学習器は、予測値y´と入力xに対して予め既知である出力yとの誤差である教師有誤差が最小になるように学習する。例えば、教師有学習器は、車の画像が入力されたときの出力が車であれば教師有誤差が小さく、車の画像が入力されたときの出力が人であれば教師有誤差が大きいと判定し、この教師有誤差が小さくなるように学習する。
教師無学習器は、ラベルなしの教師無データに対し、再構成、圧縮、ノイズ除去、補間などの学習を実行する。具体的には、教師無学習器は、教師無データである入力xから生成された特徴量zを入力として予測値x´を出力する。そして、教師無学習器は、予測値x´と入力xとの誤差である教師無誤差が最小になるように学習する。例えば、教師無学習器は、車の入力画像が正しく復元できるように学習する。
このような学習器を有する学習装置は、エンコーダが学習に使用する教師有誤差と教師無誤差のバランスを動的に変化させて一方の誤差のみを低下させる特徴量が生成されないように制御する。すなわち、学習装置は、教師有誤差と教師無誤差との寄与割合を当該学習の過程で変化させる。このようにすることで、学習装置は、半教師学習の学習精度の向上を図る。
一方で、一般的な半教師学習は、特徴生成器が教師有誤差と教師無誤差の総和が最小になるように学習する。図2は、一般的な半教師学習を説明する図である。図2に示すように、教師有学習器は、教師有誤差が最小になるように学習し、教師無学習器は、教師無誤差が最小になるように学習する。そして、特徴生成器は、教師有誤差と教師無誤差の総和が最小になるように学習する。このとき、特徴生成器は、予め定めた割合で総和を算出する。例えば、特徴生成器は、教師有誤差と教師無誤差の混合割合を2:1などと定めて、「総和=(教師有誤差×2)+教師無誤差」と算出し、この総和が最小になるように学習する。
しかし、総和算出時の割合を無作為に固定した場合、学習の進行にばらつきによって、学習精度が劣化する。具体的には、教師無誤差のみが下がっている場合は、教師有学習が進んでおらず、当初の目的に対する精度が出ない。一方、教師有誤差のみが下がっている場合は、教師有学習が過剰に進んで過学習となっており、訓練データ以外のデータに対する精度が出ない。例えば、教師無学習器にWord2VecやDoc2Vec等の分散表現の学習を使用した場合、例えば教師有データに含まれない単語に関するパラメータ等のように、エンコーダの教師有学習に直接的な関係がないパラメータが非常に多いため、一度教師無学習の誤差のみを下げる特徴の生成に偏ってしまうと修正が困難になり、教師有学習が進まなくなる。この結果、一般的な半教師学習では学習精度が劣化する事象が発生する。
そこで、上述したように、実施例1にかかる学習装置は、教師有誤差と教師無誤差を動的に変化する割合で混合した誤差を最小化するように学習を進めることで、半教師学習の学習精度の向上を図る。
[機能構成]
図3は、実施例1にかかる学習装置10の機能構成を示す機能ブロック図である。図3に示すように、学習装置10は、教師有データDB11、教師無データDB12、特徴生成器13、教師有学習器14、教師有誤差計算機15、フェーダー16、教師無学習器17、教師無誤差計算機18、フェーダー19、フェード制御器20を有する。なお、特徴生成器13は、生成部の一例であり、教師有学習器14は、第1生成部の一例であり、教師無学習器17は、第2生成部の一例であり、フェード制御器20は、割合制御部の一例である。
なお、教師有データDB11や教師無データDB12は、メモリやハードディスクなどに記憶される。特徴生成器13、教師有学習器14、教師有誤差計算機15、フェーダー16、教師無学習器17、教師無誤差計算機18、フェーダー19、フェード制御器20は、プロセッサなどが実行するプロセスによって実現することもできる。
教師有データDB11は、ラベル付きの教師有データ群を記憶するデータベースであり、教師有学習器14を訓練する教師有データ群を記憶する。例えば、写真を例にして説明すると、教師有データDB11は、車、人など何が写っているかを示す被写体のラベルが付加されたデータ群を記憶する。
教師無データDB12は、ラベルなしの教師無データ群を記憶するデータベースであり、教師無学習器17を訓練する教師無データ群を記憶する。具体的には、教師無データDB12は、教師有データからみたラベルが付加されていないデータ群を記憶する。上記例で説明すると、教師無データDB12は、被写体以外の日付などのラベルが付加されたデータ群や全くラベルが付加されていないデータ群などを記憶する。したがって、多くの教師無データを採用することができ、教師無学習の学習精度を高めることができる。
特徴生成器13は、フェード制御器20が生成した混合比にしたがって、教師有誤差と教師無誤差とを混合して総和を算出し、当該総和が最小になるように学習を実行する学習器である。例えば、特徴生成器13は、フェーダー16から出力された教師有誤差と、フェーダー19から出力された教師無誤差との総和を算出し、この総和が最小になるように学習する。
そして、特徴生成器13は、教師有データDB11に対して、教師有データDB11から教師有データを読み出して入力xとし、学習結果を用いて入力xから特徴量zを生成して、教師有学習器14に出力する。同様に、特徴生成器13は、教師無データDB12に対して、教師無データDB12から教師無データを読み出して入力xとし、学習結果を用いて入力xから特徴量zを生成して、教師無学習器17に出力する。
教師有学習器14は、教師有データDB11に記憶される教師有データを用いて、教師有誤差が最小になるように学習する学習器である。具体的には、教師有学習器14は、特徴生成器13によって教師有データである入力xから生成された特徴量zから、予測値y´を生成する。そして、教師有学習器14は、生成した予測値y´を教師有誤差計算機15に出力する。
教師有誤差計算機15は、教師有誤差を算出する。具体的には、教師有誤差計算機15は、教師有学習器14から入力された予測値y´と、予測値y´が生成された時の入力値xに対応する教師有データyとの差分を、教師有誤差として算出する。そして、教師有誤差計算機15は、教師有誤差を教師有学習器14にフィードバックして更なる学習を実行させるとともに、教師有誤差をフェーダー16に出力する。
フェーダー16は、フェード制御器20から通知される混合割合にしたがって、教師有誤差の割合を増加または減少させる。具体的には、フェーダー16は、フェード制御器20から教師有誤差と教師無誤差の混合割合として「2:1」が通知されると、教師有誤差計算機15から入力された教師有誤差を2倍にして特徴生成器13に出力する。
教師無学習器17は、教師無データDB12に記憶される教師無データを用いて、教師無誤差が最小になるように学習する学習器である。具体的には、教師無学習器17は、特徴生成器13によって教師無データである入力xから生成された特徴量zから、出力x´を生成する。そして、教師有学習器14は、生成した出力x´を教師無誤差計算機18に出力する。
教師無誤差計算機18は、教師無誤差を算出する。具体的には、教師無誤差計算機18は、教師無学習器17から入力された出力x´と、出力x´が生成された時の入力値xとの差分を、教師無誤差として算出する。そして、教師無誤差計算機18は、教師無誤差を教師無学習器17にフィードバックして更なる学習を実行させるとともに、教師無誤差をフェーダー19に出力する。
フェーダー19は、フェード制御器20から通知される混合割合にしたがって、教師無誤差の割合を増加または減少させる。具体的には、フェーダー19は、フェード制御器20から教師有誤差と教師無誤差の混合割合として「1:1.5」が通知されると、教師無誤差計算機18から入力された教師無誤差を1.5倍にして特徴生成器13に出力する。
フェード制御器20は、教師有誤差と教師無誤差との寄与割合を決定する。具体的には、フェード制御器20は、特徴生成器13が教師有誤差と教師無誤差との総和を算出する際の重みを決定して、フェーダー16とフェーダー19とに出力する。
ここで、寄与割合の決定手法について具体的に説明する。フェード制御器20は、ハイパーパラメータとして学習時に渡された、学習時間に対する混合の割合を記載した混合スケジュールに従って決定することができる。
具体的には、混合スケジュールは、教師有学習および教師無学習の問題の性質に従ってユーザがあらかじめ設定することができる。例えば、フェード制御器20は、過去の学習結果に基づき生成された混合スケジュールにしたがって、混合割合を動的に変更する。ここで生成される混合は、過去の様々な学習結果を解析した管理者によって生成されたものであり、最初に教師無学習の割合を高くし、その後に教師有学習の割合を高くするなどがスケジュールされる。
また、フェード制御器20は、教師無学習にWord2Vec等の分散表現の学習が使用される場合、学習初期の短期間は教師有学習の割合を高くするスケジュールを作成することもできる。具体例を挙げると、フェード制御器20は、学習初期は教師有学習の誤差を2倍にするなど、総和算出時の教師有誤差の割合が高くなるように設定する。なお、学習初期とは、例えば2分などの所定時間であってもよく、100個の訓練データのように訓練データの数であってもよい。
また、フェード制御器20は、学習に使用するデータを訓練データと検証データに分割し、検証データの教師有誤差が最も下がるスケジュールをハイパーパラメータ探索によって探索することもできる。
例えば、フェード制御器20は、教師有データ群の9割を訓練データとし、残りの1割を検証データとする。そして、フェード制御器20は、複数の混合スケジュールを生成する。例えば、フェード制御器20は、処理開始から100個の訓練データまでの教師有誤差と教師無誤差の混合割合(混合比)を「3:1」、101個目から200個目までの混合割合を「1:3」、201個目以降の混合割合を「1:1」などとする複数の混合パターンを生成する。そして、フェード制御器20は、生成した複数の混合スケジュールを各フェーダーに通知するとともに、分割して得られた訓練データを特徴生成器13に通知する。このようにして、フェード制御器20は、各混合スケジュールで訓練データを用いた学習を教師有学習器14および教師無学習器17に実行させる。
そして、フェード制御器20は、各混合スケジュールで学習された教師有学習器14に、検証データを適用する。その後、フェード制御器20は、検証データを適用して得られた教師有誤差が最も小さい混合スケジュールを特定し、当該混合スケジュールを採用すると決定する。このように、フェード制御器20は、学習の前処理で決定した混合スケジュールを各フェーダーに通知して、各学習器による学習を開始させる。なお、検証データを適用して得られた教師有誤差が最も小さい混合スケジュールに限らず、学習器の特徴や学習期間などによって予め定めた基準(例えば閾値など)を満たす混合スケジュールを採用することもできる。
混合スケジュール生成の更なる別例としては、フェード制御器20は、混合割合を学習の進行具合に従って動的に制御することもできる。具体的には、フェード制御器20は、データを訓練データと検証データに分割し、訓練データを使って適当な誤差の混合割合で学習を開始する。学習中、フェード制御器20は、訓練データに対する教師有誤差(訓練誤差)と検証データに対する教師有誤差(検証誤差)を確認する。そして、フェード制御器20は、訓練誤差に対して検証誤差が大きすぎれば、過学習状態と判定して教師無誤差の混合割合を上げ、そうでなければ、適切または学習不足と判定して教師無誤差の混合割合を下げる。
例えば、フェード制御器20は、教師有データ群の9割を教師有訓練データとし、残りの1割を教師有検証データとする。また、フェード制御器20は、教師有誤差と教師無誤差の混合比として2:1を設定する。そして、フェード制御器20は、分割した各データを特徴生成器13に通知するとともに、混合比を各フェーダーに通知して、学習を実行させる。
その後、フェード制御器20は、所定時間が経過した場合または所定の訓練データ数の学習が完了した場合、検証データを用いた学習を各学習器に実行させる。ここで、フェード制御器20は、訓練データを用いたときの教師有誤差(教師有訓練誤差)と検証データを用いたときの教師有誤差(教師有検証誤差)との差(教師有差分)を算出する。
そして、フェード制御器20は、教師有差分(教師有検証誤差−教師有訓練誤差)が第1閾値以上であれば、誤差が大きすぎることから、教師無誤差の混合割合を上げるように、教師有誤差と教師無誤差の混合比を「2:1」から「2:1.5」や「1:2」などに変更する。また、フェード制御器20は、教師有差分が第1閾値未満かつ第2閾値以上であれば、混合比を「2:1」のまま維持する。また、フェード制御器20は、教師有差分が第2閾値未満であれば、誤差が小さすぎることから、教師有誤差の混合割合を上げるように、教師有誤差と教師無誤差の混合比を「2:1」から「2.5:1」などに変更する。なお、閾値は、任意に設定することができる。
その後、フェード制御器20は、変更後の混合比を各フェーダーに通知して、学習を継続させ、継続後、所定時間が経過した場合または所定の訓練データ数の学習が完了した場合、上記混合比の調整を繰り返す。このようにして、フェード制御器20は、学習が所定間隔完了するたびに、混合比が適切か否かを判定して、混合比の動的変更を実現する。
なお、上記いずれの例でも、教師有誤差に着目した例を説明したが、これに限定されるものではなく、教師無誤差に対して同様の判定を実行することもできる。また、教師有誤差と教師無誤差の両方に着目することもできる。
例えば、フェード制御器20は、教師有データ群の9割を教師有訓練データとし、残りの1割を教師有検証データとするとともに、教師無データ群の9割を教師無訓練データとし、残りの1割を教師無検証データとする。また、フェード制御器20は、教師有誤差と教師無誤差の混合比として2:1を設定する。そして、フェード制御器20は、分割した各データを特徴生成器13に通知するとともに、混合比を各フェーダーに通知して、学習を実行させる。
その後、フェード制御器20は、所定時間が経過した場合または所定の訓練データ数の学習が完了した場合、検証データを用いた学習を各学習器に実行させる。ここで、フェード制御器20は、訓練データを用いたときの教師有誤差(教師有訓練誤差)と検証データを用いたときの教師有誤差(教師有検証誤差)との差(教師有差分)を算出する。同様に、フェード制御器20は、訓練データを用いたときの教師無誤差(教師無訓練誤差)と検証データを用いたときの教師無誤差(教師無検証誤差)との差(教師無差分)を算出する。
そして、フェード制御器20は、教師有差分と教師無差分とを比較し、教師有差分の方が閾値以上大きければ、教師無誤差の混合割合を上げるように混合比を変更し、教師無差分の方が閾値以上大きければ、教師有誤差の混合割合を上げるように混合比を変更することもできる。また、ここでも上記手法と同様に複数の閾値による判断を適用することができる。
[処理の流れ]
図4は、実施例1にかかる学習処理の流れを示すフローチャートである。なお、ここでは、図4に示すように、学習装置10は、処理を開始すると、特徴生成器13、教師有学習器14、教師無学習器17のそれぞれを初期化する(S101)。
続いて、学習装置10は、誤差の混合を制御するフェード制御器20を初期化し、混合スケジュールを読み込む(S102)。例えば、学習装置10は、予め作成された混合スケジュール、混合割合の初期値などをフェード制御器20に設定する。
その後、学習装置10は、各学習器等を用いた学習を実行し、教師有誤差と教師無誤差とを計算する(S103)。続いて、学習装置10は、教師有誤差と教師無誤差と用いた上記いずれかの手法により、フェード制御器20において誤差の混合割合を決定し、混合された割合で誤差を計算する(S104)。ここで、各フェーダーに更新された混合割合が通知される。
その後、学習装置10は、教師有誤差を最小化するように、教師有学習器14を更新し(S105)、教師無誤差を最小化するように、教師無学習器17を更新し(S106)、混合された誤差を最小化するように、特徴生成器13を更新する(S107)。
そして、学習装置10は、訓練データが残っているなど、学習を継続する場合(S108:No)、S103以降を繰り返し、訓練データが残っていないなど、学習を終了する場合(S108:Yes)、処理を終了する。
[効果、比較例]
次に、一般的な手法による学習例と実施例1にかかる学習装置10の学習例について説明する。図5は、半教師学習の具体例を説明する図である。ここでは、+−のラベルを学習に使える教師有データと、+−のラベルを学習に使えない教師無データとを用いて学習を行い、教師無データのラベルを推定する学習を例にして説明する。なお、特徴量は2次元とし、教師有学習器は、正例(+)と負例(−)を直線で分離する線形学習器とする。また、エンコードとデコーダは、図5に示す4種類(a、b、c、d)のデータに対して、同種のデータは近く、異種のデータは遠くなるように学習する分散表現(クラスタリング)の学習器とする。
図6は、一般的な半教師学習の学習結果を説明する図である。図6の(a)は、学習前の特徴量の分布と教師有学習器の分離直線を示す。学習前であることから、特徴量はランダムに散らばっており、分離直線も適当な場所に存在する。この状態から、教師無学習が先行して進み、特徴量が教師無誤差の低下に偏った場合、図6の(b)の状態となる。すなわち、正(+)のデータや負(−)のデータが分離されず、a、b、c、dのクラスタリングが先行して実行されるので、分離直線によって分離される精度が低い。
その後、さらに教師有学習が進むと特徴量が変化して図6の(c)のような状態となる。すなわち、教師有誤差が下がる方向に学習されるので、分離直線の正(+)側にある負例データが分離直線の負(−)側に移動しようとする。しかし、これ以上、教師有誤差を下げようとすると、図6の(d)の状態となる。すなわち、教師無誤差が大きく増加してクラスタが崩れるため、教師有学習が進まなくなる。したがって、学習精度が劣化する。
図7は、実施例1に学習装置10を用いて誤差の混合割合を一時的に変更した場合の学習結果を説明する図である。ここでは、学習初期に教師有誤差の割合を高くする混合スケジュールを適用した場合を説明する。この場合、最初は、図7の(a)に示すように、教師有データの特徴が大きく変化して図7の(b)に示す状態となる。すなわち、割合の大きい誤差による強い影響を受けるので、正(+)のデータが分離直線の正側に移動しようとし、負(−)のデータが分離直線の負側に移動しようとする。
その後、誤差の割合を変更しない場合、図7の(c)の状態となる。すなわち、誤差の割合を変えずに教師有誤差の割合が高いまま学習を進めると、クラスタリングが正確に実行されないので、データが分離されず過学習となる。この結果、教師無データの分類精度が劣化する。また、クラスタリングするように、教師無誤差を下げると、教師有誤差が大きく上がるため、教師無学習も進まなくなる。したがって、一般的な手法に比べれば学習精度が向上する。
図8は、実施例1の学習装置10を用いて誤差の混合割合を動的に変更した場合の学習結果を示す図である。図8の(a)に示すように、学習前、特徴量はランダムに散らばっており、分離直線も適当な場所に存在する。この状態から、初期の学習が終了した段階で教師有誤差割合が動的に下がるように混合スケジュールを与えた場合、図8の(b)に示すように、教師無データに対する分類精度が高い学習結果が得られる。
上述したように、学習装置10は、エンコーダが学習に使用する教師有誤差と教師無誤差のバランスを動的に変化させて一方の誤差のみを低下させる特徴量が生成されないようにすることで、半教師学習の学習精度を向上させることができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
[学習器の統合]
例えば、教師有学習器と教師無学習器がニューラルネットワーク等で構成され、特徴生成器と統合されている場合は、どちらも混合誤差を最小化することで計算を単純化することもできる。
[混合スケジュール]
上記実施例では、問題の性質に従ってユーザがあらかじめ設定する手法と、動的に変更する手法とを説明したが、これらはいずれか一方を選択して実行することもでき、両方を実行することもできる。例えば、学習装置10は、問題の性質に応じて、教師有誤差または教師無誤差のいずれの割合を高くするかをあらかじめ決定する。これは、管理者等によって手動で設定することもでき、ユーザが判定基準を生成することで自動判定することもできる。
そして、学習装置10は、予め決められた混合割合を初期値として学習を開始し、所定時間が経過した場合または所定訓練データ数が学習された場合、上記手法によって、混合割合を動的に変更することができる。
[システム]
記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア構成]
図9は、ハードウェア構成例を示す図である。図9に示すように、学習装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。
通信インタフェース10aは、他の装置の通信を制御するネットワークインタフェースカードなどである。HDD10bは、プログラムやデータなどを記憶する記憶装置の一例である。
メモリ10cの一例としては、SDRAM(Synchronous Dynamic Random Access Memory)等のRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等が挙げられる。プロセッサ10dの一例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)等が挙げられる。
また、学習装置10は、プログラムを読み出して実行することで学習方法を実行する情報処理装置として動作する。つまり、学習装置10は、特徴生成器13、教師有学習器14、教師有誤差計算機15、フェーダー16、教師無学習器17、教師無誤差計算機18、フェーダー19、フェード制御器20と同様の機能を実行するプログラムを実行する。この結果、学習装置10は、特徴生成器13、教師有学習器14、教師有誤差計算機15、フェーダー16、教師無学習器17、教師無誤差計算機18、フェーダー19、フェード制御器20と同様の機能を実行するプロセスを実行することができる。なお、この他の実施例でいうプログラムは、学習装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO(Magneto−Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
10 学習装置
11 教師有データDB
12 教師無データDB
13 特徴生成器
14 教師有学習器
15 教師有誤差計算機
16 フェーダー
17 教師無学習器
18 教師無誤差計算機
19 フェーダー
20 フェード制御器

Claims (9)

  1. コンピュータに、
    特徴生成器により、入力データから特徴量を生成し、
    ラベルつきデータに対し、教師あり学習器により、前記特徴生成器の出力から第1の出力を生成し、
    ラベルなしデータに対し、教師なし学習器により、前記特徴生成器の出力から第2の出力を生成し、
    前記特徴生成器の学習において、前記ラベルつきデータと前記第1の出力から生成される第1の誤差と、前記ラベルなしデータと前記第2の出力から生成される第2の誤差との寄与割合について、前記特徴生成器の学習開始から所定時間が経過するまで、または、前記特徴生成器の学習開始から所定数の入力データ数の学習が実行されるまでの学習初期の間は、前記第1の誤差の割合が前記第2の誤差よりも高い前記寄与割合を用いて前記特徴生成器の学習を実行する
    処理を実行させる学習プログラム。
  2. 請求項1に記載の学習プログラムであって、
    前記特徴生成器の学習を実行する処理は、過去の学習結果に基づき前記寄与割合を変化させるタイミングに関する特定のスケジュールに従って、前記寄与割合を前記学習の過程で変化させる学習プログラム。
  3. 請求項1に記載の学習プログラムであって、
    前記学習の前処理として、複数のラベルつきデータを有するデータ群を訓練用データ群と検証用データ群とに分割し、
    前記寄与割合を変化させる複数の割合変化スケジュールそれぞれを用いて、前記訓練用データ群による前記教師あり学習器の学習を実行し、
    前記複数の割合変化スケジュールより、前記教師あり学習器に前記検証用データ群を適用した場合の前記第1の誤差に基づき第1の割合変化スケジュールを特定し、
    前記学習の実行時に、前記第1の割合変化スケジュールにしたがって、前記寄与割合を当該学習の過程で変化させる学習プログラム。
  4. 請求項3に記載の学習プログラムであって、
    前記第1の割合変化スケジュールは、前記教師あり学習器に前記検証用データ群を適用した場合の前記第1の誤差が最も小さい割合変化スケジュールである学習プログラム。
  5. 請求項1に記載の学習プログラムであって、
    数のラベルつきデータを有するデータ群を訓練用データ群と検証用データ群とに分割し、
    予め定めた前記寄与割合を用いて、前記訓練用データ群で前記教師あり学習器を学習したときの前記第1の誤差である訓練誤差を算出し、
    前記訓練用データ群で前記教師あり学習器を学習した後に前記教師あり学習器に前記検証用データ群を適用したときの前記第1の誤差である検証誤差を算出し、
    前記訓練誤差と前記検証誤差との比較結果に基づいて、前記寄与割合を決定する学習プログラム。
  6. 請求項に記載の学習プログラムであって、
    前記算出する処理は、前記訓練用データ群のうち所定数の訓練用データを用いた学習が完了する各契機で、前記訓練誤差および前記検証誤差を算出して、前記各契機で前記寄与割合を決定して、前記寄与割合を当該学習の過程で変化させる学習プログラム。
  7. 請求項1から6のいずれか一つに記載の学習プログラムであって、
    前記ラベルなしデータは、前記ラベルつきデータに含まれるラベルとは異なるラベルが付加されたデータ、または、いずれのラベルも付加されていないデータである学習プログラム。
  8. コンピュータが、
    特徴生成器により、入力データから特徴量を生成し、
    ラベルつきデータに対し、教師あり学習器により、前記特徴生成器の出力から第1の出力を生成し、
    ラベルなしデータに対し、教師なし学習器により、前記特徴生成器の出力から第2の出力を生成し、
    前記特徴生成器の学習において、前記ラベルつきデータと前記第1の出力から生成される第1の誤差と、前記ラベルなしデータと前記第2の出力から生成される第2の誤差との寄与割合について、前記特徴生成器の学習開始から所定時間が経過するまで、または、前記特徴生成器の学習開始から所定数の入力データ数の学習が実行されるまでの学習初期の間は、前記第1の誤差の割合が前記第2の誤差よりも高い前記寄与割合を用いて前記特徴生成器の学習を実行する
    処理を実行する学習方法。
  9. 特徴生成器により、入力データから特徴量を生成する生成部と、
    ラベルつきデータに対し、教師あり学習器により、前記特徴生成器の出力から第1の出力を生成する第1生成部と、
    ラベルなしデータに対し、教師なし学習器により、前記特徴生成器の出力から第2の出力を生成する第2生成部と、
    前記特徴生成器の学習において、前記ラベルつきデータと前記第1の出力から生成される第1の誤差と、前記ラベルなしデータと前記第2の出力から生成される第2の誤差との寄与割合について、前記特徴生成器の学習開始から所定時間が経過するまで、または、前記特徴生成器の学習開始から所定数の入力データ数の学習が実行されるまでの学習初期の間は、前記第1の誤差の割合が前記第2の誤差よりも高い前記寄与割合を用いて前記特徴生成器の学習を実行する割合制御部と
    を有する学習装置。
JP2017081645A 2017-04-17 2017-04-17 学習プログラム、学習方法および学習装置 Active JP6897266B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017081645A JP6897266B2 (ja) 2017-04-17 2017-04-17 学習プログラム、学習方法および学習装置
US15/947,423 US11367003B2 (en) 2017-04-17 2018-04-06 Non-transitory computer-readable storage medium, learning method, and learning device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017081645A JP6897266B2 (ja) 2017-04-17 2017-04-17 学習プログラム、学習方法および学習装置

Publications (2)

Publication Number Publication Date
JP2018181071A JP2018181071A (ja) 2018-11-15
JP6897266B2 true JP6897266B2 (ja) 2021-06-30

Family

ID=63790744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017081645A Active JP6897266B2 (ja) 2017-04-17 2017-04-17 学習プログラム、学習方法および学習装置

Country Status (2)

Country Link
US (1) US11367003B2 (ja)
JP (1) JP6897266B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7408325B2 (ja) * 2019-09-13 2024-01-05 キヤノン株式会社 情報処理装置、学習方法およびプログラム
CN113447997B (zh) * 2021-05-21 2023-07-18 中国石油大学(北京) 储层裂缝识别方法、识别装置及识别系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5503633B2 (ja) * 2011-12-27 2014-05-28 日本電信電話株式会社 トピックモデル学習方法、装置、及びプログラム
JP2014026455A (ja) 2012-07-26 2014-02-06 Nippon Telegr & Teleph Corp <Ntt> メディアデータ解析装置、方法、及びプログラム
JP6555015B2 (ja) 2015-08-31 2019-08-07 富士通株式会社 機械学習管理プログラム、機械学習管理装置および機械学習管理方法

Also Published As

Publication number Publication date
US11367003B2 (en) 2022-06-21
US20180300632A1 (en) 2018-10-18
JP2018181071A (ja) 2018-11-15

Similar Documents

Publication Publication Date Title
US20170185895A1 (en) System and Method for Training Parameter Set in Neural Network
Marko et al. Sensitivity to prediction error in reach adaptation
JP6567488B2 (ja) 学習データ生成装置、開発データ生成装置、モデル学習装置、それらの方法、及びプログラム
US20190228336A1 (en) Training apparatus, training method, and non-transitory computer readable storage medium
US20190138899A1 (en) Processing apparatus, processing method, and nonvolatile recording medium
KR102066773B1 (ko) 콘텐츠 추천 방법, 장치 및 시스템
JP6897266B2 (ja) 学習プログラム、学習方法および学習装置
JP2017054514A5 (ja)
KR102051390B1 (ko) 심층 신경망 학습 장치 및 방법
JP2017097807A (ja) 学習方法、学習プログラムおよび情報処理装置
JP7106902B2 (ja) 学習プログラム、学習方法および学習装置
CN107766888A (zh) 数据处理方法和装置
AU2015200401B2 (en) Annotation-information adding program, information processing apparatus, and annotation-information adding method
JP6258560B2 (ja) ニューラルネットワークの学習装置及び学習方法
US11676565B2 (en) Automatic preparation of a new MIDI file
CN114169508A (zh) 一种神经网络系统中数据处理的方法及系统
CN110321385B (zh) 基于区块链的数据处理方法和数据处理装置
CN115731409A (zh) 图像分类器的即时校准
JP5161183B2 (ja) 音響モデル適応装置、その方法、プログラム、及び記録媒体
JP7054607B2 (ja) 生成装置、生成方法および生成プログラム
CN105139020B (zh) 一种用户聚类方法及装置
JP2011065553A (ja) 学習制御システム及び学習制御方法
JP2009175925A (ja) 照合パラメータ最適化装置、最適化方法および最適化制御プログラム
JP7360595B2 (ja) 情報処理装置
EP3869418A1 (en) Learning program, learning method, and learning device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210305

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: 20210511

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210524

R150 Certificate of patent or registration of utility model

Ref document number: 6897266

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150