(57)【要約】【課題】分離性のないラベルによる半教師あり学習による学習モデルの判定精度を向上させることを課題とする。【解決手段】学習装置は、複数のラベル無しデータそれぞれの、複数のラベル有りデータに用いられる複数のラベルそれぞれに対する距離に基づき、複数のラベル無しデータそれぞれに複数のラベルそれぞれに対するスコアを設定する。そして、学習装置は、複数のラベル有りデータおよび複数のラベル有りデータ各々のラベルと、複数のラベル無しデータおよび複数のラベル無しデータそれぞれの複数のラベルに対するスコアを用いて、ニューラルネットワークを用いた学習モデルを学習させる。【選択図】図３
2019159576.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数のラベル無しデータそれぞれの、複数のラベル有りデータに用いられる複数のラベルそれぞれに対する距離に基づき、前記複数のラベル無しデータそれぞれに前記複数のラベルそれぞれに対するスコアを設定し、
前記複数のラベル有りデータおよび前記複数のラベル有りデータ各々のラベルと、前記複数のラベル無しデータおよび前記複数のラベル無しデータそれぞれの前記複数のラベルに対するスコアを用いて、ニューラルネットワークを用いた学習モデルを学習させる
処理を実行させる学習プログラム。
【請求項２】
請求項１に記載の学習プログラムであって、前記コンピュータに、
前記複数のラベル無しデータおよび前記複数のラベル有りデータのそれぞれについて、前記複数のラベル有りデータ各々のラベルと前記スコアとを用いたラベルベクトルを生成し、
生成したラベルベクトルを用いて、前記学習モデルを学習させる処理を実行させる学習プログラム。
【請求項３】
請求項１に記載の学習プログラムであって、前記コンピュータに、
前記複数のラベル無しデータそれぞれについて、各ラベル無しデータから所定の距離に位置する複数のラベル有りデータそれぞれにもともと付加されている各ラベルの割合を、前記スコアとして設定する処理を実行させる学習プログラム。
【請求項４】
請求項３に記載の学習プログラムであって、前記コンピュータに、
前記複数のラベル無しデータそれぞれについて、前記所定の距離に位置する複数のラベル有りデータのうち距離が近いほど値を大きくする重みを用いて前記各ラベルの割合を算出する処理を実行させる学習プログラム。
【請求項５】
請求項３または４に記載の学習プログラムであって、前記コンピュータに、
前記複数のラベル有りデータそれぞれについて、該当するラベルに１を設定し、その他のラベルに０を設定したラベルベクトルを前記スコアとして設定し、
前記複数のラベル無しデータそれぞれについて、前記各ラベルの割合を設定したラベルベクトルを前記スコアとして設定し、
前記ラベルベクトルを用いて前記学習モデルを学習させる処理を実行させる学習プログラム。
【請求項６】
請求項１に記載の学習プログラムであって、前記コンピュータに、
前記複数のラベル無しデータそれぞれの、前記複数のラベル有りデータそれぞれに対する距離として、前記ラベル無しデータに含まれる各要素と、前記ラベル有りデータに含まれる各要素との類似性を数値化した、ベクトル空間上の距離または各要素によって特定されるデータ間の距離に基づく類似度を算出する処理を実行させる学習プログラム。
【請求項７】
請求項１に記載の学習プログラムであって、前記コンピュータに、
前記複数のラベル無しデータそれぞれの、前記複数のラベル有りデータそれぞれに対する距離として、前記ラベル無しデータに含まれる各要素と、前記ラベル有りデータに含まれる各要素と一致性または相関性である関連度を算出する処理を実行させる学習プログラム。
【請求項８】
コンピュータが、
複数のラベル無しデータそれぞれの、複数のラベル有りデータに用いられる複数のラベルそれぞれに対する距離に基づき、前記複数のラベル無しデータそれぞれに前記複数のラベルそれぞれに対するスコアを設定し、
前記複数のラベル有りデータおよび前記複数のラベル有りデータ各々のラベルと、前記複数のラベル無しデータおよび前記複数のラベル無しデータそれぞれの前記複数のラベルに対するスコアを用いて、ニューラルネットワークを用いた学習モデルを学習させる
処理を実行する学習方法。
【請求項９】
複数のラベル無しデータそれぞれの、複数のラベル有りデータに用いられる複数のラベルそれぞれに対する距離に基づき、前記複数のラベル無しデータそれぞれに前記複数のラベルそれぞれに対するスコアを設定する設定部と、
前記複数のラベル有りデータおよび前記複数のラベル有りデータ各々のラベルと、前記複数のラベル無しデータおよび前記複数のラベル無しデータそれぞれの前記複数のラベルに対するスコアを用いて、ニューラルネットワークを用いた学習モデルを学習させる学習部と
を有する学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習プログラム、学習方法および学習装置に関する。
【背景技術】
【０００２】
ラベル付きデータを用いた深層学習（ディープラーニング・Deep  Learning；DL）に関する技術が知られている。深層学習などでは、ラベルが付加された多くのラベル有りデータを用いるが、一般的には、ラベル有りデータは少数で、ラベルが付いていないラベル無しデータが数多くあることが多い。例えば、学習データとして時系列データを用いる場合、ログを監視しつつ、所定の事象が発生した場合にラベルを付加するが、十分なデータ量を取得するためには膨大な時間がかかり、所定の事象を引き起こすことが困難なこともある。
【０００３】
近年では、ラベル有りデータとラベル無しデータとを用いて学習を実行する半教師あり学習が知られており、半教師あり学習では、ラベル無しデータについてラベル有りデータを利用したラベルの付加が行われる。
【０００４】
例えば、ラベル有りデータとラベル無しデータとを含めてクラスタリングし、同じクラスタのデータは同じラベルになるように、ラベル無しデータにラベルを付与する分類器を用いる手法（手法１）が知られている。また、手法１等により得られる各クラスタ内で、ラベル有りデータとラベル無しデータとの類似度を算出し、各ラベル無しデータに対して、類似度が最も高いラベル有りデータのラベルを付加する手法（手法２）が知られている。また、２値分類で全体の分布と一方のラベルの分布がわかる程度のデータ数が存在する場合に、既知の分布に加算して全体の分布になるように、もう一方のデータの分布を計算し、計算で得られた分布に応じてラベル無しデータを分類する手法（手法３）が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００９−５４３２５４号公報
【特許文献２】特開２０１４−０４９１００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記技術では、ラベルの分離性が高くない場合やデータ分布が特定できる程度のデータ数がない場合、ラベル無しデータへのラベル付与が必ずしも正確ではなく、学習結果を用いた判定精度が劣化する。
【０００７】
例えば、手法１は、分離性が高くないデータを対象とする場合やクラスタリングを行うためのデータ構造などが未知である場合には、複数のクラスタに分類することができず、付加するラベルの正確性が劣化する。図１０は、手法１によるクラスタリングを説明する図である。図１０の例は、クラスタを分類する境界と、ラベル有りデータのみで分類する境界とが異なっている。この場合、正例と負例との境界が曖昧となり、分類されたクラスタに基づいてラベル無しデータに付加したラベルは、正確性に欠けるので、学習精度も劣化する。
【０００８】
手法２では、ある程度の分離性があっても、クラスタ２に属するラベル無しデータに最も類似度が高いラベル有りデータがクラスタ２内ではなくクラスタ１に存在するなど、クラスタの境界付近の精度が高くない。また、データ間に分離性がない場合は、各クラスタの境界付近の非線形性が強まり、学習が進まなくなる。図１１は、手法２によるラベル設定を説明する図である。図１１の例では、クラスタ２に属するラベル無しデータＤ１は、クラスタ１内のラベル有りデータＡの方が近いにも関わらず、同じクラスタ２に属するラベル有りデータＢのラベルが付加される。つまり、クラスタ内のデータを用いるという制限が優先されることで、ラベル設定の正確性が劣化し、学習精度も劣化する。
【０００９】
手法３では、全体のデータの分布と一定種のラベルのデータの分布が分かる程度のデータ数がない場合は、採用することができない。このように、上記手法では、ラベルごとにデータ発生の分布が分かれている分離性の仮定と、十分なデータ数とが前提となっており、これらの前提が満たされない場合は、性能を保障することが難しい。
【００１０】
一つの側面では、分離性のないラベルによる半教師あり学習による学習モデルの判定精度を向上させることができる学習プログラム、学習方法および学習装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の案では、学習プログラムは、コンピュータに、複数のラベル無しデータそれぞれの、複数のラベル有りデータに用いられる複数のラベルそれぞれに対する距離に基づき、前記複数のラベル無しデータそれぞれに前記複数のラベルそれぞれに対するスコアを設定する処理を実行させる。学習プログラムは、コンピュータに、前記複数のラベル有りデータおよび前記複数のラベル有りデータ各々のラベルと、前記複数のラベル無しデータおよび前記複数のラベル無しデータそれぞれの前記複数のラベルに対するスコアを用いて、ニューラルネットワークを用いた学習モデルを学習させる処理を実行させる。
【発明の効果】
【００１２】
一実施形態によれば、分離性のないラベルによる半教師あり学習による学習モデルの判定精度を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１にかかる学習装置の全体例を説明する図である。
【図２】図２は、実施例１にかかるラベル設定例を説明する図である。
【図３】図３は、実施例１にかかる学習装置の機能構成を示す機能ブロック図である。
【図４】図４は、学習データＤＢに記憶される情報の例を示す図である。
【図５】図５は、データ間の距離に基づくラベルベクトルの設定例を説明する図である。
【図６】図６は、データ間の距離に応じた重み付けに基づくラベルベクトルの設定例を説明する図である。
【図７】図７は、処理の流れを示すフローチャートである。
【図８】図８は、効果を説明する図である。
【図９】図９は、ハードウェア構成例を説明する図である。
【図１０】図１０は、手法１によるクラスタリングを説明する図である。
【図１１】図１１は、手法２によるラベル設定を説明する図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する学習プログラム、学習方法および学習装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例１】
【００１５】
［全体構成］
図１は、実施例１にかかる学習装置の全体例を説明する図である。図１に示すように、実施例１にかかる学習装置１０は、学習データのラベルに対してスコアを付与した後に、機械学習や深層学習（ディープラーニング・Deep  Learning；DL）などを用いた判別処理（学習処理）を実行して、学習データを事象ごとに正しく判別（分類）できるように、スコアを用いてニューラルネットワーク（ＮＮ：Neural  Network）などを学習する。その後、学習結果を適用した学習モデルを用いることで、判別対象データの正確な事象（ラベル）の推定を実現する。なお、学習データには、画像、動画、文書、グラフなど様々なデータを採用することができる。
【００１６】
具体的には、学習装置１０は、複数のラベル有データと複数のラベル無データとを用いて学習モデルに対する学習を行わせる。このとき、学習装置１０は、ラベル無データそれぞれの、ラベル有データに用いられた複数のラベルそれぞれに対する距離に基づき、ラベル無データそれぞれに複数のラベルそれぞれに対するスコアを設定する。そして、学習装置１０は、複数のラベル有りデータおよび複数のラベル有りデータ各々のラベルと、複数のラベル無しデータおよび複数のラベル無しデータそれぞれの複数のラベルに対するスコアを用いて、ニューラルネットワークを用いた学習モデルを学習させる。
【００１７】
図２は、実施例１にかかるラベル設定例を説明する図である。通常の機械学習は、各データに対してどのラベルかを決定して入力する。ＤＬは、目的関数として、各データと各ラベルの相関（例えばスコア）を利用する。例えば、ラベルの設定例としては、各データに対しそのデータのラベルの要素を１、それ以外の要素を０としたベクトルで与える。
【００１８】
具体的には、ラベル有りデータについては、ラベルとして、ラベルベクトル「ラベル１、ラベル２、ラベル３」を設定して学習が実行される。図２に示すように、ラベル１のラベル有りデータ１については、ラベルベクトル「１、０、０」が設定され、ラベル３のラベル有りデータ３については、ラベルベクトル「０、０、１」が設定され、ラベル２のラベル有りデータ４については、ラベルベクトル「０、１、０」が設定される。
【００１９】
一方で、ラベル無しデータについては、間違ったラベルを１つ付加すると、ラベルの不確かさにより学習に悪影響を及ぼすことが考えられる。そこで、学習装置１０は、ＤＬの学習データはラベルを付ける必要はなく可能性の確率で十分であることから、近傍のラベル有りデータのラベル比率に基づく仮のラベルの割合を、ラベル無しデータに付加して学習データとする。
【００２０】
つまり、図２の（ａ）に示すように、学習装置１０は、ラベルＡが付加されたラベル有りデータについては、ラベルベクトル「ラベルＡ（１．０）、ラベルＢ（０．０）」を設定してＮＮに入力し、誤差逆伝搬法によってラベルＡと判別されるようにＮＮを学習させる。一方、図２の（ｂ）に示すように、学習装置１０は、ラベル無しデータについては、ラベルベクトル「ラベルＡ（０．６）、ラベルＢ（０．４）」を設定してＮＮに入力し、誤差逆伝搬法によって各ラベルの割合が判別の割合となるようにＮＮを学習させる。
【００２１】
このように、学習装置１０は、半教師あり学習において、ラベル無しデータ（教師なしデータ）に対するラベル付加をクラスタリングで行うことによる弊害を、小数ラベルにより解決する。
【００２２】
［機能構成］
図３は、実施例１にかかる学習装置の機能構成を示す機能ブロック図である。図３に示すように、学習装置１０は、通信部１１と記憶部１２と制御部２０を有する。
【００２３】
通信部１１は、他の装置との通信を制御する処理部であり、例えば通信インタフェースである。例えば、通信部１１は、管理者の端末から、処理開始指示を受信する。また、通信部１１は、管理者の端末等から、学習対象であるデータ（入力データ）を受信して入力データＤＢ１３に格納する。
【００２４】
記憶部１２は、プログラムやデータを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部１２は、入力データＤＢ１３、学習データＤＢ１４、学習結果ＤＢ１５を記憶する。
【００２５】
入力データＤＢ１３は、学習対象となる入力データを記憶するデータベースである。例えば、入力データＤＢ１３は、人手等によってラベルが設定された（付加された）ラベル有りの学習データであるラベル有りデータと、人手等によってラベルが設定されていないラベル無しの学習データであるラベル無しデータとを記憶する。なお、データは、管理者等によって格納することもでき、通信部１１が受信して記憶することもできる。
【００２６】
学習データＤＢ１４は、学習対象のラベル有りデータを記憶するデータベースである。具体的には、学習データＤＢ１４は、後述する制御部２０によって、ラベルがもともと付加されているラベル有りデータおよびラベルが付加されてないラベル無しデータそれぞれについて、ラベルベクトルが設定されたラベル有りデータ（教師有りデータ）を記憶する。
【００２７】
図４は、学習データＤＢ１４に記憶される情報の例を示す図である。図４に示すように、学習データＤＢ１４は、「データＩＤ、ラベル１、ラベル２、ラベル３」を対応付けて記憶する。図４の例では、データＩＤが「１」のデータには、「ラベル１、ラベル２、ラベル３」として「１．０、０、０」のラベルベクトルが設定されており、データＩＤが「２」のデータには、「ラベル１、ラベル２、ラベル３」として「０．６、０．４、０」のラベルベクトルが設定されていることを示す。なお、ここで示したラベルベクトルの次元数や数値は、一例であり、任意に設定変更することができる。
【００２８】
学習結果ＤＢ１５は、学習結果を記憶するデータベースである。例えば、学習結果ＤＢ１５は、制御部２０による学習データの判別結果（分類結果）、機械学習やディープラーニングによって学習された各種パラメータを記憶する。
【００２９】
制御部２０は、学習装置１０全体の処理を司る処理部であり、例えばプロセッサなどである。この制御部２０は、選別部２１と設定部２２と学習部２３を有する。なお、選別部２１と設定部２２と学習部２３は、プロセッサなどが有する電子回路やプロセッサなどが実行するプロセスの一例である。
【００３０】
選別部２１は、入力データＤＢ１３に記憶されるデータそれぞれを、ラベルがもともと付加されているラベル有りデータか、ラベルが付加されていないラベル無しデータかのいずれかに選別する処理部である。具体的には、選別部２１は、入力データＤＢ１３から入力データを読み出し、ラベルが付加されているか否かを判定する。そして、選別部２１は、選別したラベル有りデータとラベル無しデータとを設定部２２に通知したり、記憶部１２に格納したりする。
【００３１】
設定部２２は、選別部２１によって選別された入力データに、ラベルベクトルを設定する処理部である。具体的には、設定部２２は、ラベル有りデータについては、該当する要素のみに「１」を設定したラベルベクトルを生成し、ラベル無しデータについては、ラベル有りデータとの距離に基づくラベルベクトルを生成する。そして、設定部２２は、ラベルベクトルを入力データに付加した学習データを生成して、学習データＤＢ１４に格納する。
【００３２】
例えば、設定部２２は、ラベル１が設定されているラベル有りデータＤ１については、ラベルベクトル「ラベル１、ラベル２、ラベル３」として「１．０、０、０」を生成する。そして、設定部２２は、ラベル有りデータＤ１「データ＋ラベル１」のうち、ラベル１をラベルベクトルに置き換えたラベル有りデータＤ１「データ＋ラベルベクトル（１．０、０、０）」を学習データとして、学習データＤＢ１４に格納する。
【００３３】
また、設定部２２は、ラベル無しデータＤ２については、データ間の距離が近いものは似た性質（同じラベル）となると仮定し、距離の近いデータの割合を計算することで、確率的にラベルを推定する。つまり、設定部２２は、ラベル無しデータＤ２について、ラベル有りデータにはじめから設定されるラベルのうち、どのラベルに近いかを距離をもとに計算する。そして、設定部２２は、距離の近いラベルの割合等を用いたスコアを計算し、ラベル無しデータに設定することで、疑似的なラベルを付加した学習データを生成する。
【００３４】
図５は、データ間の距離に基づくラベルベクトルの設定例を説明する図である。図５に示すように、設定部２２は、ラベル無しデータと、各ラベル有りデータ（ラベル付きデータ）との距離を、類似度や関連度を用いて算出する。そして、設定部２２は、ラベル無しデータと距離が近い１０個のラベル有りデータを抽出する。その後、設定部２２は、抽出されたラベル付きデータのラベルを参照し、ラベル１が８個、ラベル２が２個、ラベル３が０個と計数する。
【００３５】
そして、設定部２２は、ラベルベクトル「ラベル１、ラベル２、ラベル３」として「（８／１０＝０．８）、（２／１０＝０．２）、０／１０＝０」を算出する。この結果、設定部２２は、ラベル無しデータＤ２について、ラベル無しデータＤ２「データ（ラベルなし）」に、ラベルベクトルを設定したラベル有りデータＤ２「データ＋ラベルベクトル（０．８、０．２、０）」を学習データとして、学習データＤＢ１４に格納する。
【００３６】
次に、ラベルベクトルの設定について別例を説明する。図６は、データ間の距離に応じた重み付けに基づくラベルベクトルの設定例を説明する図である。図６に示すように、設定部２２は、ラベル無しデータＤ２から任意の所定距離の範囲内にあるラベル有りデータとして、ラベル１が設定されたラベル有りデータ１、２、３、４、５と、ラベル２が設定されたラベル有りデータ６、７、８、９、１０とを抽出する。
【００３７】
続いて、設定部２２は、ラベル無しデータと、各ラベル有りデータ（ラベル付きデータ）との距離を、類似度や関連度を用いて算出する。具体的には、設定部２２は、ラベル無しデータＤ２とラベル有りデータ１との距離ｄ１、ラベル無しデータＤ２とラベル有りデータ２との距離ｄ２、ラベル無しデータＤ２とラベル有りデータ３との距離ｄ３、ラベル無しデータＤ２とラベル有りデータ４との距離ｄ４、ラベル無しデータＤ２とラベル有りデータ５との距離ｄ５を算出する。同様に、設定部２２は、ラベル無しデータＤ２とラベル有りデータ６との距離ｄ６、ラベル無しデータＤ２とラベル有りデータ７との距離ｄ７、ラベル無しデータＤ２とラベル有りデータ８との距離ｄ８、ラベル無しデータＤ２とラベル有りデータ９との距離ｄ９、ラベル無しデータＤ２とラベル有りデータ１０との距離ｄ１０を算出する。
【００３８】
その後、設定部２２は、距離が近いほど大きい値となる関数（例えば正規分布の関数）であるｆ（ｘ）を用意し、各ラベルに対しｆ（ｘ）に距離を代入した結果の和を、全体の和で割った値を各ラベルの値とする。例えば、設定部２２は、ラベル１については、「ラベル１のラベル値＝（（ｆ（ｄ１）＋ｆ（ｄ２）＋ｆ（ｄ３）＋ｆ（ｄ４）＋ｆ（ｄ５））／（ｆ（ｄ１）＋ｆ（ｄ２）＋ｆ（ｄ３）＋ｆ（ｄ４）＋ｆ（ｄ５）＋ｆ（ｄ６）＋ｆ（ｄ７）＋ｆ（ｄ８）＋ｆ（ｄ９）＋ｆ（ｄ１０）））」と算出する。同様に、設定部２２は、ラベル２については、「ラベル２のラベル値＝（（ｆ（ｄ６）＋ｆ（ｄ７）＋ｆ（ｄ８）＋ｆ（ｄ９）＋ｆ（ｄ１０））／（ｆ（ｄ１）＋ｆ（ｄ２）＋ｆ（ｄ３）＋ｆ（ｄ４）＋ｆ（ｄ５）＋ｆ（ｄ６）＋ｆ（ｄ７）＋ｆ（ｄ８）＋ｆ（ｄ９）＋ｆ（ｄ１０）））」と算出する。
【００３９】
そして、設定部２２は、ラベルベクトルとして、ラベルベクトル「上記ラベル１のラベル値、上記ラベル２のラベル値、０」を生成する。この結果、設定部２２は、ラベル無しデータＤ２について、ラベル無しデータＤ２「データ（ラベルなし）」に、ラベルベクトルを設定したラベル有りデータＤ２「データ＋ラベルベクトル」を学習データとして、学習データＤＢ１４に格納する。なお、重みの算出は、距離が近いほど大きくなる指標であれば様々な手法を採用することができ、例えば距離の逆数の和をラベル値とすることもできる。また、ラベル有りデータが比較的少なく、不均等になっている場合、距離の近さが上位のデータであっても、影響が少ないものを含むことがあり、単純に割合をラベルベクトルにすると不具合となる場合がある。このような場合に、重みを用いる手法は、特に有効である。
【００４０】
なお、類似度は、ラベル無しデータに含まれる各要素と、ラベル有りデータに含まれる各要素との類似性を数値化した値の一例である。例えば、類似度としては、対象データ間の類似性を判断するために、対象データ間の距離によって特定される類似度を採用でき、ベクトルのコサイン類似度や２点間のユークリッド距離などを用いることができる。
【００４１】
関連度は、ラベル無しデータに含まれる各要素と、ラベル有りデータに含まれる各要素と一致性または相関性の一例であり、例えば相関度や言語データの同時出現頻度などである。また、類似度や関連度は、データの種類によって使い分けることができ、例えば文書データには類似度を用い、時系列データには相関度などを用いることができる。また、言語データの同時出現頻度とは、２つのデータ間で出現する全単語のうち共通する単語の割合であり、例えば２つのデータで重複した単語を除く合計２０単語が出現し、５単語が共通する場合は「５／２０」が当該頻度となる。なお、上記１０個などの数値や所定距離の範囲等は、あくまで一例であり、任意に設定変更することができる。
【００４２】
図３に戻り、学習部２３は、学習データＤＢ１４に記憶される学習データを用いてＮＮの学習を実行し、学習結果を学習結果ＤＢ１５に格納する処理部である。図４の例では、学習部２３は、ＩＤ＝２のデータについてはラベルベクトル「ラベル１＝０．６、ラベル２＝０．４、ラベル３＝０」を入力として学習を実行する。すなわち、学習部２３は、もともとラベルが付加されていたラベル有りデータと、ラベルが付加されていないラベル無しデータとを用いた半教師有り学習の実行に際して、ラベル有りデータおよびラベル無しデータそれぞれに新たに設定されたラベルベクトルを用いた学習を実行する。
【００４３】
［処理の流れ］
次に、上述したラベルベクトルの設定処理について説明する。ここでは、一例として、入力データから学習データを生成した後に学習処理を実行する一連の流れを説明するが、これに限定されず、別々のフローで処理することもできる。
【００４４】
図７は、処理の流れを示すフローチャートである。図７に示すように、選別部２１は、入力データが受信されて入力データＤＢ１３に格納されると（Ｓ１０１：Ｙｅｓ）、入力データＤＢ１３から各入力データを読み込む（Ｓ１０２）。続いて、選別部２１は、各入力データを、ラベル有りデータとラベル無しデータとに選別（分類）する（Ｓ１０３）。
【００４５】
その後、設定部２２は、選択された入力データを読み出し、読み出した入力データがラベル有りデータか否かを判定する（Ｓ１０４）。そして、設定部２２は、読み出した入力データがラベル有りデータである場合（Ｓ１０４：Ｙｅｓ）、ラベル有りデータのラベル行列に、対応ラベル部分に１を設定し、非対応ラベル部分に０を設定したラベルベクトルを生成する（Ｓ１０５）。その後、設定部２２は、ラベル有りデータに、ラベルベクトルを付加した学習データを生成する（Ｓ１０６）。
【００４６】
一方、設定部２２は、読み出した入力データがラベル無しデータである場合（Ｓ１０４：Ｎｏ）、ラベル無しデータと各ラベル有りデータとの距離を算出し（Ｓ１０７）、周辺にあるラベル有りデータの各ラベルの割合を算出する（Ｓ１０８）。そして、設定部２２は、ラベル行列に、ラベルの割合を設定したラベルベクトルを生成する（Ｓ１０９）。その後、設定部２２は、ラベル無しデータに、ラベルベクトルを付加した学習データを生成する（Ｓ１１０）。
【００４７】
そして、設定部２２は、Ｓ１０６またはＳ１１０を実行後、全入力データに対してＳ１０４からＳ１１０までの処理が終了して、学習データの生成が完了したか否かを判定する（Ｓ１１１）。ここで、設定部２２は、未処理の入力データが存在し、学習データの生成が完了していない場合（Ｓ１１１：Ｎｏ）、Ｓ１０４以降を繰り返す。
【００４８】
一方、未処理の入力データが存在せず、学習データの生成が完了した場合（Ｓ１１１：Ｙｅｓ）、学習部２３は、学習データＤＢ１４から各学習データを読み込み（Ｓ１１２）、各学習データのラベルベクトルをもとに学習を実行する（Ｓ１１３）。
【００４９】
［効果］
上述したように、学習装置１０は、ラベルの分離性や分布の既知性を仮定することなく、大量のラベル無しデータに対して、各ラベルである可能性の確率が設定されるラベルベクトルを付加して、学習データとすることができる。したがって、学習装置１０は、ラベル有りデータが少なくても、学習データを増やすことができ、ＤＬの学習効率を向上させることができる。つまり、学習装置１０は、分離性のないラベルによる半教師あり学習による学習モデルの判定精度を向上させることができる。
【００５０】
ここで、実施例１による手法と従来手法との比較を行った実験結果を説明する。まず、実験の条件を説明する。ここでは、学習データとして脳波データを用い、はじめからラベルが付加されているラベル有りデータを２０個、ラベルが付加されていないラベル無しデータを６００個用意し、各データは従来のクラスタリングによっては正確に分類することが難しいデータである。そして、実施例１にかかる学習装置１０は、ＤＴＷ（Dynamic  Time  Warping）距離を用いて、各ラベル無しデータに対して距離が近い上位５個のラベル有りデータを抽出し、抽出した５個のラベル有りデータのラベルの割合を用いたラベルベクトルを設定することとする。
【００５１】
図８は、効果を説明する図である。図８に示すように、はじめからラベルが付加されているラベル有りデータ（ラベル付きデータ）のみを用いて学習した場合の正答率は５５％である。また、はじめからラベルが付加されているラベル有りデータ（ラベル付きデータ）と、従来の手法によって疑似的なラベルが付加されたラベル無しデータ（疑似的なラベル有りデータ）との両方を用いて半教師有り学習を実行した場合の正答率は７４％である。そして、ラベル有りデータとラベル無しデータのそれぞれにラベルベクトルを付加し、ラベル無しデータにも正解ラベルを与えた実施例１の手法を用いて学習した場合の正答率は７８％である。
【００５２】
したがって、実施例１にかかる手法は、他の手法と比較しても、学習結果の判別精度の劣化を抑制することができる。また、実施例１にかかる手法は、学習が進まなかった状態から、ラベルベクトルを加えることで学習を進めることができ、ラベル有りデータが少数の場合でも、ＤＬの学習が進まない状況を改善できる。
【実施例２】
【００５３】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【００５４】
［ラベルベクトルの付加例］
上記実施例では、ラベルがもともと付加されているラベル有りデータに対してもラベルベクトルを設定する例を説明したが、これに限定されるわけではない。例えば、ラベルがもともと付加されているラベル有りデータについては、一般的なＮＮによる学習を実行し、ラベルがもともと付加されていないラベル無しデータについて、上記実施例１による手法を用いたスコア設定を実行することもできる。
【００５５】
［システム］
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。
【００５６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００５７】
［ハードウェア］
図９は、ハードウェア構成例を説明する図である。図９に示すように、学習装置１０は、通信装置１０ａ、ＨＤＤ（Hard  Disk  Drive）１０ｂ、メモリ１０ｃ、プロセッサ１０ｄを有する。また、図９に示した各部は、バス等で相互に接続される。
【００５８】
通信装置１０ａは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。ＨＤＤ１０ｂは、図３に示した機能を動作させるプログラムやＤＢを記憶する。
【００５９】
プロセッサ１０ｄは、図３に示した各処理部と同様の処理を実行するプログラムをＨＤＤ１０ｂ等から読み出してメモリ１０ｃに展開することで、図３等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、学習装置１０が有する各処理部と同様の機能を実行する。具体的には、プロセッサ１０ｄは、選別部２１、設定部２２、学習部２３等と同様の機能を有するプログラムをＨＤＤ１０ｂ等から読み出す。そして、プロセッサ１０ｄは、選別部２１、設定部２２、学習部２３等と同様の処理を実行するプロセスを実行する。
【００６０】
このように学習装置１０は、プログラムを読み出して実行することで学習方法を実行する情報処理装置として動作する。また、学習装置１０は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、学習装置１０によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【００６１】
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ（Magneto−Optical  disk）、ＤＶＤ（Digital  Versatile  Disc）などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【００６２】
１０  学習装置
１１  通信部
１２  記憶部
１３  入力データＤＢ
１４  学習データＤＢ
１５  学習結果ＤＢ
２０  制御部
２１  選別部
２２  設定部
２３  学習部
【図１】
2019159576.tif 000003
【図２】
2019159576.tif 000004
【図３】
2019159576.tif 000005
【図４】
2019159576.tif 000006
【図５】
2019159576.tif 000007
【図６】
2019159576.tif 000008
【図７】
2019159576.tif 000009
【図８】
2019159576.tif 000010
【図９】
2019159576.tif 000011
【図１０】
2019159576.tif 000012
【図１１】
2019159576.tif 000013