(57)【要約】【課題】学習結果の判定精度の劣化を抑制することを課題とする。【解決手段】学習装置は、学習対象のデータそれぞれに付された１または複数のラベルそれぞれに対し、学習対象のデータの属性または学習対象のデータと他の学習対象のデータとの関係に基づきスコアを設定する。そして、学習装置は、学習対象のデータそれぞれに付されたラベルに設定されたスコアを用いて、ニューラルネットワークに対する学習を行わせる。【選択図】図３
2019144767.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
学習対象のデータそれぞれに付された１または複数のラベルそれぞれに対し、前記学習対象のデータの属性または前記学習対象のデータと他の学習対象のデータとの関係に基づき、スコアを設定し、
前記学習対象のデータそれぞれに付されたラベルに設定されたスコアを用いて、ニューラルネットワークに対する学習を行わせる、
処理を実行させる学習プログラム。
【請求項２】
請求項１に記載の学習プログラムであって、前記コンピュータに、
前記学習対象のデータの属性が複数の分布を含む混合分布に従う場合、前記混合分布における混合比率に基づき前記スコアを設定する処理を実行させる学習プログラム。
【請求項３】
請求項１に記載の学習プログラムであって、前記コンピュータに、
前記学習対象のデータから所定距離に位置する近接の学習対象のデータそれぞれを特定し、前記近接の学習対象のデータそれぞれに付されたラベルの割合に基づき、前記スコアを設定する処理を実行させる学習プログラム。
【請求項４】
請求項１に記載の学習プログラムであって、前記コンピュータに、
前記学習対象のデータから所定距離に位置する近接の学習対象のデータそれぞれを特定し、前記近接の学習対象のデータそれぞれに付されたラベルの割合と、前記学習対象のデータと前記近接の学習対象のデータそれぞれとの距離に応じた重みとを用いて、前記スコアを設定する処理を実行させる学習プログラム。
【請求項５】
コンピュータが、
学習対象のデータそれぞれに付された１または複数のラベルそれぞれに対し、前記学習対象のデータの属性または前記学習対象のデータと他の学習対象のデータとの関係に基づき、スコアを設定し、
前記学習対象のデータそれぞれに付されたラベルに設定されたスコアを用いて、ニューラルネットワークに対する学習を行わせる、
処理を実行する学習方法。
【請求項６】
学習対象のデータそれぞれに付された１または複数のラベルそれぞれに対し、前記学習対象のデータの属性または前記学習対象のデータと他の学習対象のデータとの関係に基づき、スコアを設定する設定部と、
前記学習対象のデータそれぞれに付されたラベルに設定されたスコアを用いて、ニューラルネットワークに対する学習を行わせる学習部と、
を有する学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習プログラム、学習方法および学習装置に関する。
【背景技術】
【０００２】
ラベル付きデータを用いた教師あり学習に関する技術が知られている。ラベル付きデータを用いた教師あり学習において用いられるラベルは、別の観点でデータの種類がはっきりした確実なラベルであることもあるが、作業者の主観により人手で付与されたラベルであることもある。一般的に、ラベル付きデータは、正解が既知である正解付きデータとして学習に用いられるから、正例と負例との境界付近のデータについてもいずれかのラベルを付与され、学習が行われる。
【０００３】
図１２は、一般的なラベル付与を説明する図である。図１２の（ａ）に示すように、境界付近の曖昧なデータに対して、ラベルＡとラベルＢのいずれかを付与する必要がある場合、当該データの近傍のデータに付与されたラベルの多数決によって決定することが行われる。また、図１２の（ｂ）に示すように、境界付近の曖昧なデータに関しては、ラベルの確実性が低いので、学習データから除外することが行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１６６９６２号公報
【特許文献２】特開２０１７−０１６４１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記ラベルの付与方法では、学習結果の判定精度が劣化する場合がある。例えば、多数決を利用する手法では、ラベル付けが間違えていた場合、特に境界付近での誤差が大きくなる。また、ラベルが交じり合うことも多く、非線形性が高くなるので、判定器（分類器）の学習が難しい。除外する手法では、非線形性が低くなるので、学習はし易くなるが、境界付近が学習できないので、境界付近の判定精度が低下する。
【０００６】
一つの側面では、学習結果の判定精度の劣化を抑制することができる学習プログラム、学習方法および学習装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の案では、学習プログラムは、コンピュータに、学習対象のデータそれぞれに付された１または複数のラベルそれぞれに対し、前記学習対象のデータの属性または前記学習対象のデータと他の学習対象のデータとの関係に基づき、スコアを設定する処理を実行させる。学習プログラムは、コンピュータに、前記学習対象のデータそれぞれに付されたラベルに設定されたスコアを用いて、ニューラルネットワークに対する学習を行わせる処理を実行させる。
【発明の効果】
【０００８】
一実施形態によれば、学習結果の判定精度の劣化を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１にかかる学習装置の全体例を説明する図である。
【図２】図２は、実施例１にかかる学習例を説明する図である。
【図３】図３は、実施例１にかかる学習装置の機能構成を示す機能ブロック図である。
【図４】図４は、学習データＤＢに記憶される情報の例を示す図である。
【図５】図５は、分布を用いたラベルの設定例を説明する図である。
【図６】図６は、近傍のデータの割合を用いたラベルの設定例を説明する図である。
【図７】図７は、データ間の距離を用いたラベルの設定例を説明する図である。
【図８】図８は、クラウドソーシングによるラベルの設定例を説明する図である。
【図９】図９は、処理の流れを示すフローチャートである。
【図１０】図１０は、効果を説明する図である。
【図１１】図１１は、ハードウェア構成例を説明する図である。
【図１２】図１２は、一般的なラベル付与を説明する図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する学習プログラム、学習方法および学習装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例１】
【００１１】
［全体構成］
図１は、実施例１にかかる学習装置の全体例を説明する図である。図１に示すように、実施例１にかかる学習装置１０は、学習データのラベルに対してスコアを付与した後に、機械学習や深層学習（ディープラーニング（ＤＬ）・Deep  Learning）などを用いた判別処理（学習処理）を実行して、学習データを事象ごとに正しく判別（分類）できるように、スコアを用いてニューラルネットワーク（ＮＮ：Neural  Network）などを学習する。その後、学習結果を適用した学習モデルを用いることで、判別対象データの正確な事象（ラベル）の推定を実現する。なお、学習データには、画像、動画、文書、グラフなど様々なデータを採用することができる。
【００１２】
例えば、学習装置１０は、ＮＮを用いたモデルに対する学習を行う際に、学習対象のデータそれぞれに付された１または複数のラベルそれぞれに対し、データの属性またはデータと他のデータとの関係に基づきスコアを設定する。そして、学習装置１０は、学習対象のデータそれぞれに付されたラベルに設定されたスコアを用いて、ＮＮに対する学習を行わせる。
【００１３】
一般的に、ＮＮの学習に各データに対して決定するラベルは、行列として保持する。しかし、従来から使用されていたＳＶＭ（Support  Vector  Machine）などのアルゴリズムが、ラベルを一つに決める必要があったこと、全学習データの認識スコアが正解ラベルに沿って１または０であることが最も望ましい状態であることから、複数のラベル成分に小数（分数）で値を設定することなく、１または０が設定されていた。
【００１４】
つまり、１か０か曖昧なデータであっても１か０のいずれかを設定する必要があった。言い換えると、ラベルＡかラベルＢか曖昧なデータであっても、いずれかのラベルを設定する必要があるので、当該データに対して、ラベルとして「ラベル（ラベルＡ＝１．０、ラベルＢ＝０．０）」または「ラベル（ラベルＡ＝０．０、ラベルＢ＝１．０）」を付与する必要があった。
【００１５】
そこで、実施例１では、ラベルが曖昧なデータについては、各ラベルである確率を各ラベルに対応した要素に付したラベルベクトルを与え、これらのラベルベクトルをもとに深層学習を実行する。すなわち、実施例１では、付与されるラベルが曖昧なデータに対しては、確率的なラベルベクトルで与え、ラベルの値を小数として学習させる。
【００１６】
［学習例］
次に、ラベルが曖昧な学習データの学習について説明する。図２は、実施例１にかかる学習例を説明する図である。ここでは、図２の（ａ）と（ｂ）は、一般的な学習例を示し、図２の（ｃ）は、実施例１による学習例を示す。
【００１７】
図２の（ａ）に示すように、「ラベルＡ＝１．０、ラベルＢ＝０．０」が付与されたデータをＮＮに入力し、出力が、ラベルＡである確率が７０％でラベルＢである確率が３０％であったとする。この場合、誤差逆伝搬法によってラベルＡと判別されるようにＮＮの学習が実行されるが、学習データに設定されたラベルがある程度は正しかったことから、許容できる範囲内で正常にＮＮを学習することができる。
【００１８】
一方、図２の（ｂ）に示すように、「ラベルＡ＝１．０、ラベルＢ＝０．０」が付与されたデータをＮＮに入力し、出力が、ラベルＡである確率が４０％でラベルＢである確率が６０％であったとする。この場合、学習データに設定されたラベルが間違っていた可能性が高いにも関わらず、誤差逆伝搬法によってラベルＡと判別されるようにＮＮの学習が実行され、間違った方向にＮＮが学習されるので、判別精度の劣化を引き起こす。
【００１９】
これに対して、図２の（ｃ）に示すように、「ラベルＡ＝０．６、ラベルＢ＝０．４」が付与されたデータをＮＮに入力し、出力が、ラベルＡである確率が７０％でラベルＢである確率が３０％であったとする。この場合、誤差逆伝搬法によってラベルＡと判別されるようにＮＮの学習が実行されるが、学習データに設定されたラベルが正しかったことから、図２の（ａ）と比較してもより正常にＮＮを学習することができる。
【００２０】
このように、実施例１にかかる学習装置１０は、ラベルが曖昧なデータに対しては、いずれかのラベルであると強制的に学習させるのではなく、曖昧さを残したまま、曖昧さを考慮した学習を実行することができる。したがって、学習装置１０は学習結果の判定精度の劣化を抑制することができる。
【００２１】
［機能構成］
図３は、実施例１にかかる学習装置の機能構成を示す機能ブロック図である。図３に示すように、学習装置１０は、通信部１１と記憶部１２と制御部２０を有する。
【００２２】
通信部１１は、他の装置との通信を制御する処理部であり、例えば通信インタフェースである。例えば、通信部１１は、管理者の端末から、処理開始指示を受信する。また、通信部１１は、管理者の端末等から、学習対象であるデータ（入力データ）を受信して入力データＤＢ１３に格納する。
【００２３】
記憶部１２は、プログラムやデータを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部１２は、入力データＤＢ１３、学習データＤＢ１４、学習結果ＤＢ１５を記憶する。
【００２４】
入力データＤＢ１３は、学習対象となる入力データを記憶するデータベースである。ここで記憶されるデータは、人手等によってラベルが設定されていてもよく、未設定であってもよい。なお、データは、管理者等によって格納することもでき、通信部１１が受信して記憶することもできる。
【００２５】
学習データＤＢ１４は、学習対象の教師ありデータを記憶するデータベースである。具体的には、学習データＤＢ１４は、後述する制御部２０によって、入力データＤＢ１３に記憶される入力データと当該入力データに設定されたラベルとを対応付けて記憶する。図４は、学習データＤＢ１４に記憶される情報の例を示す図である。図４に示すように、学習データＤＢ１４は、「データＩＤ、ラベル１、ラベル２、ラベル３」を対応付けて記憶する。図４の例では、データＩＤが「１」のデータには、「ラベル１、ラベル２、ラベル３」として「０．５、０、０．５」のラベルベクトルが設定されていることを示す。なお、ここで示したラベルベクトルの次元数や数値は、一例であり、任意に設定変更することができる。
【００２６】
学習結果ＤＢ１５は、学習結果を記憶するデータベースである。例えば、学習結果ＤＢ１５は、制御部２０による学習データの判別結果（分類結果）、機械学習やディープラーニングによって学習された各種パラメータを記憶する。
【００２７】
制御部２０は、学習装置１０全体の処理を司る処理部であり、例えばプロセッサなどである。この制御部２０は、設定部２１と学習部２２を有する。なお、設定部２１と学習部２２は、プロセッサなどが有する電子回路やプロセッサなどが実行するプロセスの一例である。
【００２８】
設定部２１は、学習対象のデータそれぞれに付された１または複数のラベルそれぞれに対し、データの属性またはデータと他のデータとの関係に基づきスコアを設定する処理部である。具体的には、設定部２１は、入力データＤＢ１３から各入力データを読み出し、各入力データに基づくスコアを算出する。そして、設定部２１は、各入力データに対して、スコアを設定したラベルベクトルをラベルとして設定した学習データを生成する。その後、設定部２１は、生成した学習データを学習データＤＢ１４に格納する。なお、入力データに人手等によるラベルが既に付与されている場合は、ラベルの補正が行われる。また、後述する処理によって、曖昧なデータについてだけラベルの再設定を行うこともでき、全データについてラベルの再設定を行うこともできる。
【００２９】
つまり、設定部２１は、ＮＮの学習において、ラベル付けされたデータの「確信度や信頼度」が「全て正しい」という前提をあてはめることによる弊害を、小数ラベル（ラベルベクトル）により解決する。ここで、設定部２１が実行するラベルの設定方法の具体例について説明する。なお、ラベルが２つ（二次元）の場合を用いて説明するが、これに限定されるものではなく、三次元以上であっても同様に処理することができる。なお、一例としては、設定部２１は、複数の管理者等のユーザによってラベルが異なるデータを曖昧なデータと判定することができる。
【００３０】
（手法１：分布）
まず、曖昧なデータの属性が複数の分布を含む混合分布に従う場合、混合分布における混合比率に基づきスコアを設定する例を説明する。つまり、各ラベルの発生がある分布に沿っていると仮定し、各ラベルの混合分布に基づいて決定する手法を説明する。この例では、各データ間の距離が定まっており、データ数は十分に存在し、曖昧なラベルも含めて全データにラベルが付与されているものとする。
【００３１】
図５は、分布を用いたラベルの設定例を説明する図である。この例は、同年代の身長と体重の数値から男女を識別する例である。身長と体重はセンサーで測定され、ラベル付けは目視で行う場合もしくは分布に沿って自動的に行う場合を考える。図５に示すように、正規化を行った身長と体重の分布は、正規分布に従うことが予想され、男性の方が身長および体重の平均が大きい。
【００３２】
図５の例では、女性の正規分布のみに沿うデータを丸印、男性の正規分布のみに沿うデータを点線の丸印で表す。例えば、設定部２１は、正規分布が重複しない領域かつ女性の正規分布に属する領域のデータ（ＩＤ＝１）に対しては、ラベルベクトル「ラベル１（女性）＝１．０、ラベル２（男性）＝０．０」を設定する。また、設定部２１は、正規分布が重複しない領域かつ男性の正規分布に属する領域のデータ（ＩＤ＝２０）に対しては、ラベルベクトル「ラベル１（女性）＝０．０、ラベル２（男性）＝１．０」を設定する。
【００３３】
これらに対して、設定部２１は、分布が重複する領域Ｐに属するデータ（ＩＤ＝Ｄ）、すなわち曖昧なデータＤに対しては、混合分布の割合等に基づくスコアをラベルとして設定する。例えば、設定部２１は、女性分布上の値Ｐ２と男性分布上の値Ｐ１とを特定し、Ｐ０からＰ１までの距離（Ｐ１−Ｐ０）と、Ｐ０からＰ２までの距離（Ｐ２−Ｐ０）との割合を算出する。そして、設定部２１は、「距離（Ｐ２−Ｐ０）：距離（Ｐ１−Ｐ０）」＝「６：４」と算出した場合、データＤに対しては、ラベルベクトル「ラベル１（女性）＝０．６、ラベル２（男性）＝０．４」を設定する。
【００３４】
なお、設定部２１は、両方の分布に属する各データ、言い換えると両方の分布に沿うデータを曖昧なデータと判定し、上記処理によってスコアを算出する。なお、割合の算出時は、合計が１になるように正規化することもできる。また、距離に限らず、値そのもの（図５では身長）の割合や比率などを用いることもできる。また、いずれかの分布に沿っているデータについては管理者等による人手でラベルを設定し、曖昧なデータのみに対して上記手法１によるラベル設定を実行することもできる。
【００３５】
（手法２：近傍データの割合）
次に、曖昧なデータの近傍のデータに付与されるラベルの割合に基づいて、曖昧なデータにラベルを設定する例を説明する。この例でも手法１と同様、各データ間の距離が定まっており、データ数は十分に存在し、曖昧なラベルも含めて全データにラベルが付与されているものとする。なお、データが三次元以上の場合には、全データ間の距離を計算し、ＭＤＳ（Multi-Dimensional  Scaling）などで二次元に次元圧縮する。
【００３６】
図６は、近傍のデータの割合を用いたラベルの設定例を説明する図である。この例は、機器の動作時の各部位の振動から、機器が正常か異常か判断し、各部位の振動データである各データに対して正常か異常などのラベルを設定する例である。機器の異常は経年劣化的に起こることから、正常と異常の境目の判断は不確実性が高い。また、境界付近で判断が曖昧であることが多く、正常と異常のデータはそれぞれ分布に従っているわけではない。
【００３７】
図６の例では、過去の事例や実際に発生した障害事例などから、正常値と判定されたデータを丸印、異常値と判定されたデータを点線の丸印で表す。例えば、設定部２１は、正常値と判定されたデータ（ＩＤ＝１）に対しては、ラベルベクトル「ラベル１（正常）＝１．０、ラベル２（異常）＝０．０」を設定する。また、設定部２１は、異常値と判定されたデータ（ＩＤ＝２０）に対しては、ラベルベクトル「ラベル１（正常）＝０．０、ラベル２（異常）＝１．０」を設定する。
【００３８】
これらに対して、設定部２１は、過去の事例等より、正常値か異常値かの判断ができない曖昧なデータ（ＩＤ＝Ｄ）に対しては、圧縮空間上である閾値の距離内の近傍に存在する他のデータのラベルの割合に基づいてラベル設定を行う。なお、図６の丸印内の数字はデータＩＤを示す。
【００３９】
図６に示すように、設定部２１は、ＭＤＳなどで得られるデータ間の距離を用いて、曖昧なデータＤから任意の所定範囲Ｑ内に存在するデータを特定する。そして、設定部２１は、所定範囲Ｑ内のデータのうち、データ１、３、５、１０の４つのデータのラベルが「正常」であり、データ２、４、６、７、８、９の６つのデータのラベルが「異常」であることを特定する。すなわち、設定部２１は、所定範囲Ｑ内の近傍データの４割が「正常」で６割が「異常」と特定済みであると判定する。この結果、設定部２１は、データＤに対しては、ラベルベクトル「ラベル１（正常）＝０．４、ラベル２（異常）＝０．６」を設定する。
【００４０】
なお、設定部２１は、管理者等のユーザによって正常か異常かの区別ができないと判定されたデータ、過去事例に基づき正常にも異常にも属さないと判定されたデータなどを曖昧なデータと判定することができる。なお、割合の算出時は、合計が１になるように正規化することもできる。また、正常か異常かを正確に判定されたデータについては管理者等による人手でラベルを設定し、曖昧なデータのみに対して上記手法２によるラベル設定を実行することもできる。
【００４１】
（手法３：データ間の距離）
次に、曖昧なデータの近傍のデータ間の距離に基づいて、曖昧なデータにラベルを設定する例を説明する。この例の条件は、手法２と同様とする。図７は、データ間の距離を用いたラベルの設定例を説明する図である。
【００４２】
図７に示すように、設定部２１は、ＭＤＳなどで得られるデータ間の距離を用いて、曖昧なデータＤから任意の所定範囲Ｑ内に存在するデータを特定する。そして、設定部２１は、所定範囲Ｑ内のデータのうち、「正常」と識別された（正常のラベルのみが付与された）データ１、３、５、１０の４つのデータを特定する。続いて、設定部２１は、予め算出済みのデータ間の距離を用いて、データＤとデータ１との距離ｗ１、データＤとデータ３との距離ｗ３、データＤとデータ５との距離ｗ５、データＤとデータ１０との距離ｗ１０を算出する。その後、設定部２１は、距離による重み（ｗの総和）として、「（１／ｗ１）＋（１／ｗ３）＋（１／ｗ５）＋（１／ｗ１０）」を算出する。なお、ここでは重みの算出に距離の逆数を用いたが、距離が近いほど大きくなる指標であれば逆数以外の指標を用いてもよい。
【００４３】
同様に、設定部２１は、所定範囲Ｑ内のデータのうち、「異常」と識別された（異常のラベルのみが付与された）データ２、４、６、７、８、９の６つのデータを特定する。続いて、設定部２１は、予め算出済みのデータ間の距離を用いて、データＤとデータ２との距離Ｗ２、データＤとデータ４との距離Ｗ４、データＤとデータ６との距離Ｗ６、データＤとデータ７との距離Ｗ７、データＤとデータ８との距離Ｗ８、データＤとデータ９との距離Ｗ９を算出する。その後、設定部２１は、距離による重み（Ｗの総和）として、「（１／Ｗ２）＋（１／Ｗ４）＋（１／Ｗ６）＋（１／Ｗ７）＋（１／Ｗ８）＋（１／Ｗ９）」を算出する。
【００４４】
この結果、設定部２１は、データＤに対しては、ラベルベクトル「ラベル１（正常）、ラベル２（異常）」として「ラベル１（正常）＝ｗの総和、ラベル２（異常）＝Ｗの総和」を設定する。なお、距離の重みを考慮した算出手法は、一例であり、距離が近いほど重要視されるような手法であれば、どのような手法も採用することができる。また、距離による重みは、合計が１になるように正規化して算出することができる。また、手法２と手法３では、全データについて、上記で計算した確率（値）はなめらかな関数にならないため、各ラベルに対し応答曲面を作成し、各ラベルの応答曲面による値をベクトルのセル値に対応させることもできる。
【００４５】
（手法４：近傍データの割合）
次に、ラベル決定の参考となる情報が複数存在する場合に、参考情報で指示されるラベルの割合に基づいて、ラベルを設定する例を説明する。例えば、クラウドソーシング等によって複数の担当者にラベル付作業を依頼することが考えられる。この場合、それぞれのラベル付結果から各データのラベルを決定するが、曖昧なデータに関しては、各担当者によって付与されるラベルが異なる場合がある。
【００４６】
一般的には、多数決や担当者の信頼度によって決定されるが、必ずしも正しいラベルが付与されるとは限らない。そこで、設定部２１は、ラベル付結果の割合に基づいてラベルベクトルを生成して設定する。
【００４７】
図８は、クラウドソーシングによるラベルの設定例を説明する図である。図８に示すように、データＤに対して、担当者ａがラベル１を付与し、担当者ｂがラベル１を付与し、担当者ｃがラベル１を付与し、担当者ｄがラベル２を付与し、担当者ｅがラベル１を付与したとする。この場合、設定部２１は、各ラベルの設定合計数を計算し、ラベル１が「４」、ラベル２が「１」と算出する。そして、設定部２１は、各ラベルの全体に対する割合「ラベル１、ラベル２」として「４／５＝０．８、１／５＝０．２」を算出する。この結果、設定部２１は、データＤに対しては、ラベルベクトル「ラベル１＝０．８、ラベル２＝０．２」を設定する。
【００４８】
なお、担当者の信頼度等によって、重み付けすることもできる。例えば、予め指定された担当者ａの信頼度が閾値以上である場合に、担当者ａについては、設定数が１つであっても２倍にして２として上記算出手法を実行することもできる。また、各参考情報で、指示するラベルが異なる場合、参考情報の重要度に応じて重みをつけ、各ラベルを指示する情報の重み付和を全体の重み付和で割った「各ラベルの重み付比率」を各ラベルに対する値とすることもできる。
【００４９】
図３に戻り、学習部２２は、学習データＤＢ１４に記憶される学習データを用いてＮＮの学習を実行し、学習結果を学習結果ＤＢ１５に格納する処理部である。図４の例では、学習部２２は、ＩＤ＝１のデータについてはラベルベクトル「ラベル１＝０．５、ラベル２＝０、ラベル３＝０．５」を入力として学習を実行する。
【００５０】
［処理の流れ］
次に、上述したラベルベクトルの設定処理について説明する。図９は、処理の流れを示すフローチャートである。
【００５１】
図９に示すように、入力データが受信されて入力データＤＢ１３に格納されると（Ｓ１０１：Ｙｅｓ）、設定部２１は、入力データＤＢ１３から１つの入力データを読み込む（Ｓ１０２）。
【００５２】
続いて、設定部２１は、読み込んだ入力データが曖昧なデータに該当するか否かを判定し（Ｓ１０３）、曖昧なデータに該当する場合（Ｓ１０３：Ｙｅｓ）、入力データの属性や他データとの関係からスコアを算出する（Ｓ１０４）。そして、設定部２１は、スコアに基づいたラベルベクトルを入力データに設定（付与）した学習データを生成して（Ｓ１０５）、学習データＤＢ１４に格納する（Ｓ１０６）。
【００５３】
一方、設定部２１は、読み込んだ入力データが曖昧なデータに該当しない場合（Ｓ１０３：Ｎｏ）、入力データに対して既知のラベルを示すラベルベクトルを設定した学習データを生成して（Ｓ１０７）、学習データＤＢ１４に格納する（Ｓ１０６）。なお、曖昧ではない入力データにすでに付与されているラベルをそのまま用いることができる。
【００５４】
その後、全入力データに対してラベル（ラベルベクトル）が設定済みではなく、未設定の入力データが存在する場合（Ｓ１０８：Ｎｏ）、Ｓ１０２以降が実行される。
【００５５】
一方、全入力データに対してラベル（ラベルベクトル）が設定済みである場合（Ｓ１０８：Ｙｅｓ）、学習部２２は、学習データＤＢ１４から各学習データを読み込み（Ｓ１０９）、各学習データのラベルベクトルをもとに学習を実行する（Ｓ１１０）。
【００５６】
［効果］
上述したように、学習装置１０は、付与されたラベルが曖昧な場合に、確率的なラベルベクトルを与えることで深層学習を行い精度の高い学習を行うことができる。また、学習装置１０は、ラベルを集約させることによる、判別速度の劣化や学習結果の判別精度の劣化を抑制することができる。
【００５７】
ここで、実施例１による手法と従来手法との比較を行った実験結果を説明する。まず、実験の条件を説明する。ここでは、１０次元のベクトルデータを用い、第１成分が０．５以上か否かで正例か負例か分類する例で説明する。なお、曖昧なデータの条件として、第１成分が０．３５から０．５５の間のデータでは３割の確率でランダムにラベルを入れ替えることとする。
【００５８】
比較する手法は、そのままのラベルで学習する手法「一般法１」と、担当者の主観によってラベルを付け替えた「一般法２」、不確定な区間である（０．３５から０．６）区間のデータを学習データから除去した「不確定除去」と、上記手法１から４のいずれかを用いた「実施例１」とする。
【００５９】
図１０は、効果を説明する図である。図１０では、各手法で学習データを生成した上で学習を実行し、その後に、学習結果を反映した学習モデルを用いて、判別対象データの判別を実行した結果を示す。図１０に示すように、全体的な精度は、各手法とも精度の高い判別（分類）ができたが、不確定な範囲（０．３５から０．６の区間）については、各手法とも精度が低下した。しかし、実施例１では、精度が低下したものの、依然として８０％以上の精度を維持しており、高精度に判別できたことがわかる。したがって、実施例１は、他の手法と比較しても、劣化や学習結果の判別精度の劣化を抑制することができる。
【実施例２】
【００６０】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【００６１】
［システム］
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。
【００６２】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６３】
［ハードウェア］
図１１は、ハードウェア構成例を説明する図である。図１１に示すように、学習装置１０は、通信装置１０ａ、ＨＤＤ（Hard  Disk  Drive）１０ｂ、メモリ１０ｃ、プロセッサ１０ｄを有する。また、図１１に示した各部は、バス等で相互に接続される。
【００６４】
通信装置１０ａは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。ＨＤＤ１０ｂは、図３に示した機能を動作させるプログラムやＤＢを記憶する。
【００６５】
プロセッサ１０ｄは、図３に示した各処理部と同様の処理を実行するプログラムをＨＤＤ１０ｂ等から読み出してメモリ１０ｃに展開することで、図３等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、学習装置１０が有する各処理部と同様の機能を実行する。具体的には、プロセッサ１０ｄは、設定部２１、学習部２２等と同様の機能を有するプログラムをＨＤＤ１０ｂ等から読み出す。そして、プロセッサ１０ｄは、設定部２１、学習部２２等と同様の処理を実行するプロセスを実行する。
【００６６】
このように学習装置１０は、プログラムを読み出して実行することで学習方法を実行する情報処理装置として動作する。また、学習装置１０は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、学習装置１０によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【００６７】
１０  学習装置
１１  通信部
１２  記憶部
１３  入力データＤＢ
１４  学習データＤＢ
１５  学習結果ＤＢ
２０  制御部
２１  設定部
２２  学習部
【図１】
2019144767.tif 000003
【図２】
2019144767.tif 000004
【図３】
2019144767.tif 000005
【図４】
2019144767.tif 000006
【図５】
2019144767.tif 000007
【図６】
2019144767.tif 000008
【図７】
2019144767.tif 000009
【図８】
2019144767.tif 000010
【図９】
2019144767.tif 000011
【図１０】
2019144767.tif 000012
【図１１】
2019144767.tif 000013
【図１２】
2019144767.tif 000014