(57)【要約】【課題】教師データが少ない場合におけるモデルの学習効率を向上させること。【解決手段】学習装置１００は、入力データに対応する第一の正解ラベルを基にして、複数の第二の正解ラベルを、第一の正解ラベルに対応する第二の正解ラベルに制限した正解ラベル候補に変換する。学習装置１００は、第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づいて前記モデルの学習を行う。学習装置１００は、第二の正解ラベルが付与された入力データが入力された場合に、第二の正解ラベルに基づいてモデルの学習を行う。【選択図】図５
2020052644.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する学習方法であって、
第一の正解ラベルが付与された入力データと、前記第一の正解ラベルとは異なる基準の正解ラベルとなる第二の正解ラベルが付与された入力データとを基にしてモデルの学習を行う場合において、
入力データに対応する前記第一の正解ラベルを基にして、複数の前記第二の正解ラベルを、前記第一の正解ラベルに対応する第二の正解ラベルに制限した正解ラベル候補に変換し、
前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づいて前記モデルの学習を行い、
前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づいて前記モデルの学習を行う
処理を実行することを特徴とする学習方法。
【請求項２】
前記変換する処理は、前記第一の正解ラベルと前記第二の正解ラベルとの対応関係を定義したデータを基にして、複数の前記第二の正解ラベルのうち、前記第一の正解ラベルに対応する第二の正解ラベルを、前記モデルの学習時の正解ラベルの候補とすることを特徴とする請求項１に記載の学習方法。
【請求項３】
前記学習を行う処理は、前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づく損失が最小化するように、前記モデルのパラメータを学習することを特徴とする請求項１または２に記載の学習方法。
【請求項４】
前記学習を行う処理は、前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づく損失が最小化するように、前記モデルのパラメータを学習することを特徴とする請求項１、２または３に記載の学習方法。
【請求項５】
第一の正解ラベルが付与された入力データと、前記第一の正解ラベルとは異なる基準の正解ラベルとなる第二の正解ラベルが付与された入力データとを基にしてモデルの学習を行う場合において、
入力データに対応する前記第一の正解ラベルを基にして、複数の前記第二の正解ラベルを、前記第一の正解ラベルに対応する第二の正解ラベルに制限した正解ラベル候補を変換する変換部と、
前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づいて前記モデルの学習を行い、前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づいて前記モデルの学習を行う学習部
を有することを特徴とする学習装置。
【請求項６】
コンピュータに、
第一の正解ラベルが付与された入力データと、前記第一の正解ラベルとは異なる基準の正解ラベルとなる第二の正解ラベルが付与された入力データとを基にしてモデルの学習を行う場合において、
入力データに対応する前記第一の正解ラベルを基にして、複数の前記第二の正解ラベルを、前記第一の正解ラベルに対応する第二の正解ラベルに制限した正解ラベル候補を生成し、
前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づいて前記モデルの学習を行い、
前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づいて前記モデルの学習を行う
処理を実行させることを特徴とする学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習方法等に関する。
【背景技術】
【０００２】
あるタスクに対してよい分類能力をもつ分類器Ａがある場合に、この分類器Ａをもとにして、同じタスクで分類クラスの定義を一部だけ追加および変更した分類器Ｂを学習（転移学習）する従来技術がある。
【０００３】
図８は、従来技術１を説明するための図である。従来技術１では、分類器Ａの分類結果のクラスを更に細かく分類する分類器Ｂ１，Ｂ２を用意し、分類器Ａの分類結果を用いて、分類器Ｂ１，Ｂ２を学習させる。前提として、分類器Ａの学習に使った教師データは大量であり、分類器Ｂ１，Ｂ２の学習に使用する教師データは少量であるものとする。
【０００４】
分類器Ａは、入力データを、クラス｛スポーツ、政治、その他｝のいずれか一つに分類する学習済みの分類器である。たとえば、分類器Ａは、入力データ「鈴木メジャー４番」をクラス「スポーツ」に分類する。分類器Ａは、入力データ「佐藤平昌で金メダル」をクラス「スポーツ」に分類する。分類器Ａは、入力データ「ｅスポーツ大会開幕」をクラス「その他」に分類する。分類器Ａは、入力データ「国会で予算案可決」をクラス「政治」に分類する。分類器Ａは、入力データ「新型jPhone発表」をクラス「その他」に分類する。
【０００５】
分類器Ｂ１は、入力データを、クラス｛スポーツ（オリンピック以外）、オリンピック｝のいずれか一つに分類する分類器である。従来技術１では、入力データのうち、分類器Ａにより、スポーツに分類された入力データと、クラス｛スポーツ（オリンピック以外）、オリンピック｝のいずれかと対応付けた教師データを、分類器Ｂ１に与えて学習を行う。
【０００６】
たとえば、入力データ「鈴木メジャー４番」は、分類器Ａでクラス「スポーツ」に分類されている。このため、従来技術１は、入力データ「鈴木メジャー４番」と、クラス「スポーツ（オリンピック以外）」とを対応付けた教師データを、分類器Ｂ１に与えて学習させる。入力データ「佐藤平昌で金メダル」は、分類器Ａでクラス「スポーツ」に分類されている。このため、従来技術１は、入力データ「佐藤平昌で金メダル」と、クラス「オリンピック」とを対応付けた教師データを、分類器Ｂ１に与えて学習させる。
【０００７】
分類器Ｂ２は、入力データを、クラス｛政治、スポーツ（オリンピック以外）、その他｝のいずれか一つに分類する分類器である。従来技術１は、入力データのうち、分類器Ａにより、その他または政治に分類された入力データと、クラス｛政治、スポーツ（オリンピック以外）、その他｝のいずれかと対応付けた教師データを、分類器Ｂ２に与えて学習を行う。
【０００８】
たとえば、入力データ「ｅスポーツ大会開幕」は、分類器Ａでクラス「その他」に分類されている。このため、従来技術１は、入力データ「ｅスポーツ大会開幕」とクラス「スポーツ（オリンピック以外）」とを対応付けた教師データを、分類器Ｂ２に与えて学習させる。入力データ「国会で予算案可決」は、分類器Ａでクラス「政治」に分類されている。このため、従来技術１は、入力データ「国会で予算案可決」と、クラス「政治」とを対応付けた教師データを、分類器Ｂ２に与えて学習を行う。入力データ「新型jPhone発表」は、分類器Ａでクラス「その他」に分類されている。このため、従来技術１は、入力データ「新型jPhone発表」と、クラス「その他」とを対応付けた教師データを、分類器Ｂ２に与えて学習を行う。
【０００９】
図９は、従来技術２を説明するための図である。従来技術２では、分類器Ａの分類結果のクラスの情報を特徴量として、分類器Ｂを学習させる場合の教師データに用いる。前提として、分類器Ａの学習に使った教師データは大量であり、分類器Ｂの学習に使用する教師データは少量であるものとする。
【００１０】
分類器Ａは、入力データを、クラス｛スポーツ、政治、その他｝のいずれか一つに分類する学習済みの分類器である。分類器Ｂは、入力データを、クラス｛スポーツ（オリンピック以外）、政治、オリンピック、その他｝のいずれか一つに分類する分類器である。従来技術２では、分類器Ｂに教師データを与えて学習させる場合に、分類器Ａによる分類結果を特徴量として与える。
【００１１】
たとえば、入力データ「鈴木メジャー４番」は、分類器Ａでクラス「スポーツ」に分類されている。この場合には、特徴量「鈴木メジャー４番」および特徴量「スポーツ」を入力データとし、この入力データと、クラス「スポーツ（オリンピック以外）」とを対応付けた教師データを、分類器Ｂに与えて学習を行う。
【００１２】
上述した従来技術１、２以外にも、マルチタスク学習やＬｗＦ（Learning  without  Forgetting）等の技術がある。マルチタスク学習は、目的の分類器が解きたいタスクと関連のあるタスクを、モデルパラメータの一部を共有しながら学習することで、関連タスクの知識を使って分類性能を向上させるものである。ＬｗＦは、マルチタスク学習を応用し、学習済みの分類器の性能を落とさずに、新規タスクに適用させる技術である。
【００１３】
図１０は、マルチタスク学習を説明するための図である。マルチタスク学習では、入力データが入力されると、中間層１０で学習されたモデルパラメータθｓに基づいて、入力データを中間表現データに変換する。モデルパラメータθｓは、分類層１１ａ，１１ｂ，１１ｃで共有するパラメータとなる。また、マルチタスク学習では、分類層１１ａ〜１１ｃにはそれぞれ固有のパラメータθａ、θｂ、θｃを設定し、中間表現データとクラスとを対応付けた教師データを分類層１１ａ〜１１ｃにそれぞれ与えることで、各パラメータθａ、θｂ、θｃを学習する。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２０１５−３８７０９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、上述した従来技術では、教師データが少ない場合におけるモデルの学習効率を向上させることができないという問題がある。
【００１６】
従来技術１では、分類基準を変更する度に、分類器が増え、モデルサイズが増大し、管理が煩雑となる。また、従来技術１では、分類器Ｂ１，Ｂ２がそれぞれ独立に学習されるため、分類器Ｂ１で学習した特徴と、Ｂ２で学習した特徴とが共有されない。
【００１７】
従来技術２では、従来技術１と同様にして、分類基準を変更する度に、分類器が増え、モデルサイズが増大する。また、従来技術２では、分類器Ａの分類結果をあくまでも特徴量の一つとして取り扱うため、分類器Ａと分類器Ｂとの既知のクラス間の関係を利用することができない。
【００１８】
また、マルチタスク学習やＬｗＦでは、モデルパラメータの一部を共有しながら学習しているものの、各分類層１１ａ〜１１ｃはそれぞれ独立に学習することになるため、各分類層１１ａ〜１１ｃ間のクラスの関係を利用することができない。
【００１９】
図１１は、従来技術の問題を説明するための図である。以下に説明するように、分類器Ａの分類結果を用いて分類器Ｂを学習した場合において、ある入力データを分類器Ａに入力して正しい分類結果が得られても、ある入力データを分類器Ｂに入力した場合に、正しい分類結果が得られない場合がある。
【００２０】
分類器Ａは、入力データを、クラス｛スポーツ、政治｝に分類する分類器である。図１１において、入力データ２０ａ，２０ｂは、分類器Ａを学習する場合に用いたものである。すなわち、入力データ２０ａ「日本、男女ともに決勝へ−ショートトラックＷ杯」と、クラス「スポーツ」との組が、分類器Ａの教師データである。また、入力データ２０ｂ「汚職事件で野党が審議要求」と、クラス「政治」との組が、分類器Ａの教師データである。係る教師データにより学習された、分類器Ａのクラスの境界を、境界３０ａとする。
【００２１】
分類器Ｂは、従来技術１、２またはマルチ学習と同様にして、分類器Ａの分類結果を用いて転移学習した分類器である。分類器Ｂは、入力データを、クラス｛スポーツ、政治、オリンピック｝に分類する。図１１において、入力データ２１ａ，２１ｂ，２１ｃは、分類器Ｂを学習する場合に用いたものである。すなわち、入力データ２１ａ「ショートトラックリレーで日本３位」と、クラス「スポーツ」との組が、分類器Ｂの教師データである。入力データ２１ａ「カジノ法案の審議に注目」と、クラス「政治」との組が、分類器Ｂの教師データである。入力データ２１ａ「ショートトラック北朝鮮の妨害で審議」と、クラス「オリンピック」との組が、分類器Ｂの教師データである。係る教師データにより学習された、分類器Ｂのクラスの境界を、境界３０ａ，３０ｂとする。
【００２２】
ここで、テストデータ２５「北朝鮮問題を集中審議へ」を分類器Ａに入力した場合について説明する。分類器Ａは、テストデータ２５が特徴量「審議」を含んでいるため、テストデータ２５を、クラス「政治」に分類する。この分類結果は正しい分類結果である。
【００２３】
一方、テストデータ２５を分類器Ｂに入力した場合について説明する。分類器Ｂは、テストデータ２５が特徴量「北朝鮮、審議」を含んでいるため、テストデータを、クラス「オリンピック」に分類する。この分類結果は誤った分類結果である。分類器Ｂの理想的な境界は、境界３０ｃ、３０ｄによって、クラス｛スポーツ、政治、オリンピック｝を分類することである。これにより、テストデータ２５をクラス「政治」に分類することができる。
【００２４】
１つの側面では、本発明は、教師データが少ない場合におけるモデルの学習効率を向上させることができる学習方法、学習装置および学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２５】
第１の案では、コンピュータが、第一の正解ラベルが付与された入力データと、第一の正解ラベルとは異なる基準の正解ラベルとなる第二の正解ラベルが付与された入力データとを基にしてモデルの学習を行う場合において次の処理を行う。コンピュータは、入力データに対応する第一の正解ラベルを基にして、複数の第二の正解ラベルを、第一の正解ラベルに対応する第二の正解ラベルに制限した正解ラベル候補に変換する。コンピュータは、第一の正解ラベルが付与された入力データが入力された場合に、正解ラベル候補に基づいてモデルの学習を行う。コンピュータは、第二の正解ラベルが付与された入力データが入力された場合に、第二の正解ラベルに基づいてモデルの学習を行う。
【発明の効果】
【００２６】
第二の正解ラベル付きデータが少ないときに、第一の正解ラベル付きデータを用いて、第二の正解ラベル基準に基づくモデルの学習効率を向上させることができる。
【図面の簡単な説明】
【００２７】
【図１】図１は、本実施例に係る制約表の一例を示す図である。
【図２】図２は、教師データＤＢを用いた学習方法を説明する図である。
【図３】図３は、教師データＤＡを用いた学習方法を説明する図（１）である。
【図４】図４は、教師データＤＡを用いた学習方法を説明する図（２）である。
【図５】図５は、本実施例に係る学習装置の構成を示す機能ブロック図である。
【図６】図６は、本実施例に係る学習装置の処理手順を示すフローチャートである。
【図７】図７は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図８】図８は、従来技術１を説明するための図である。
【図９】図９は、従来技術２を説明するための図である。
【図１０】図１０は、マルチタスク学習を説明するための図である。
【図１１】図１１は、従来技術の問題を説明するための図である。
【発明を実施するための形態】
【００２８】
以下に、本願の開示する学習方法、学習装置および学習プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００２９】
本実施例に係る学習装置の学習方法について説明する。前提として、分類器Ａには大量の教師データが存在し、分類器Ｂには少量の教師データが存在するものとする。学習装置は、分類器Ａと同じタスクで分類クラスの定義を一部だけ追加および変更した分類器Ｂを学習（転移学習）する。学習装置は、分類器Ｂの教師データと分類器Ａの教師データとを併用し、共通部分の分類性能を維持しつつ変更部分を調整する。
【００３０】
学習装置に対する入力は、分類器Ａのパラメータθ、分類器Ａの教師データＤＡ（ＤＡ＝（ＸＡ，ＹＡ））、分類器Ｂの教師データＤＢ（ＤＢ＝（ＸＢ，ＹＢ））、制約表Ｔが含まれる。制約表Ｔは、分類器Ａのクラスと分類器Ｂのクラスとの関係を定義する情報である。
【００３１】
図１は、本実施例に係る制約表の一例を示す図である。この制約表Ｔは、分類器Ａのクラスと、分類器Ｂのクラスとの関係を示す。分類器Ａのクラスを｛スポーツ、政治、その他｝とする。分類器Ｂのクラスを｛スポーツ（オリンピック以外）、政治、オリンピック、その他｝とする。「○」は、各クラスが対応関係にあり、「×」は、各クラスが対応関係にないことを示す。
【００３２】
図１において、分類器Ａのクラス「スポーツ」は、分類器Ｂのクラス「スポーツ（オリンピック以外）、オリンピック」に対応しており、分類器Ｂのクラス「政治、その他」に対応していないことを示す。すなわち、分類器Ａの教師データＤＡを用いて分類器Ｂを学習する場合に、教師データＤＡのクラスが「スポーツ」であるものは、クラスを「スポーツ（オリンピック以外）、オリンピック」に制限して学習を行う。
【００３３】
分類器Ａのクラス「政治」は、分類器Ｂのクラス「政治」に対応しており、分類器Ｂのクラス「スポーツ（オリンピック以外）、オリンピック、その他」に対応していないことを示す。すなわち、分類器Ａの教師データＤＡを用いて分類器Ｂを学習する場合に、教師データＤＡのクラスが「政治」であるものは、クラスを「政治」に制限して学習を行う。
【００３４】
分類器Ａのクラス「その他」は、分類器Ｂのクラス「スポーツ（オリンピック以外）、その他」に対応しており、分類器Ｂのクラス「政治、オリンピック」に対応していないことを示す。すなわち、分類器Ａの教師データＤＡを用いて分類器Ｂを学習する場合に、教師データＤＡのクラスが「その他」であるものは、クラスを「スポーツ（オリンピック以外）、その他」に制限して学習を行う。
【００３５】
図２は、教師データＤＢを用いた学習方法を説明する図である。学習装置は、教師データＤＢから入力データｘＢ（ｘＢ∈ＸＢ）と正解クラスｙＢ（ｙＢ∈ＹＢ）との組をサンプリングし、分類器Ｂのパラメータを学習する。図２に示す例では、入力データｘＢを「ｅスポーツに奨学金」とし、正解クラスｙＢを「スポーツ（オリンピック以外）」とする。
【００３６】
分類器Ｂは、入力データｘＢが入力されると、推定確率結果４０ａを出力する。推定確率結果４０ａには、各クラスの推定確率が含まれる。たとえば、クラス「スポーツ（オリンピック以外）」の推定確率は「０．１（１０％）」である。ここで、入力データｘＢの正解クラスｙＢは「スポーツ（オリンピック以外）」である。このため、学習装置は、クラス「スポーツ（オリンピック以外）」の推定確率が他のクラスの推定確率よりも大きくなるように、損失計算を行い、分類器Ｂのパラメータを更新する。たとえば、学習装置は、損失計算への寄与ＬＢを算出し、この寄与ＬＢを小さくするパラメータを算出する。
【００３７】
図３は、教師データＤＡを用いた学習方法を説明する図（１）である。学習装置は、教師データＤＡから入力データｘＡ（ｘＡ∈ＸＡ）と正解クラスｙＡ（ｙＡ∈ＹＡ）との組をサンプリングし、分類器Ｂのパラメータを学習する。図３に示す例では、入力データｘＡを「佐藤平昌で金メダル」とし、正解クラスｙＡを「スポーツ」とする。
【００３８】
分類器Ｂは、入力データｘＡが入力されると、推定確率結果４０ｂを出力する。推定確率結果４０ｂには、各クラスの推定確率が含まれる。たとえば、クラス「スポーツ（オリンピック以外）」の推定確率は「０．６（６０％）」である。ここで、入力データｘＡの正解クラスｙＡは「スポーツ」であるが、分類器Ｂのクラスには、クラス「スポーツ」が存在しないため、そのままでは、比較することができず、学習することができない。
【００３９】
図４は、教師データＤＡを用いた学習方法を説明する図（２）である。学習装置は、図３で説明したような問題を解消するために、入力データｘＡ（ｘＡ∈ＸＡ）の正解クラスｙＡ（ｙＡ∈ＹＡ）と、制約表Ｔとを基にして、正解クラスｙＡと対応関係にある、正解クラス候補集合Ｔ（ｙＡ）を生成する。たとえば、制約表Ｔによれば、分類器Ａのクラス「スポーツ」と対応関係にある分類器Ｂのクラスは「スポーツ（オリンピック以外）、オリンピック」である。このため、正解クラス候補集合Ｔ（ｙＡ）は、「スポーツ（オリンピック以外）、オリンピック」となる。すなわち、学習装置は、正解クラスｙＡを、正解クラス候補集合Ｔ（ｙＡ）に制限する。
【００４０】
学習装置は、分類器Ｂを学習する場合において、入力データ「佐藤平昌で金メダル」に対応する正解クラスを、正解クラス候補集合Ｔ（ｙＡ）の「スポーツ（オリンピック以外）、オリンピック」とする。学習装置は、クラス「スポーツ（オリンピック以外）、オリンピック」の推定確率が他のクラスの推定確率よりも大きくなるように、損失計算を行い、分類器Ｂのパラメータを更新する。たとえば、学習装置は、損失計算への寄与ＬＡを算出し、この寄与ＬＡを小さくするパラメータを算出する。
【００４１】
上記のように、学習装置は、教師データＤＢを用いて分類器Ｂの学習を行う場合に、教師データＤＢの正解クラスｙＢに対する推定確率が大きくなるような損失計算を行う。学習装置は、教師データＤＡを用いて分類器Ｂの学習を行う場合に、教師データＤＢの正解クラスｙＡと、制約表Ｔとを基にして、正解クラス候補集合Ｔ（ｙＡ）を生成し、正解クラス候補集合Ｔ（ｙＡ）に対する推定確率が大きくなるような損失計算を行う。これによって、分類器Ａには大量の教師データが存在し、分類器Ｂには少量の教師データしか存在しない場合であっても、分類器Ａの教師データを、分類器Ｂの学習に用いることができるので、分類器Ｂの学習を効率的に行うことができる。
【００４２】
図５は、本実施例に係る学習装置の構成を示す機能ブロック図である。図５に示すように、この学習装置１００は、通信部１１０と、入力部１２０と、表示部１３０と、記憶部１４０と、制御部１５０とを有する。
【００４３】
通信部１１０は、ネットワーク等を介して外部装置（図示略）とデータ通信を実行する処理部である。通信部は、通信装置の一例である。後述する制御部１５０は、通信部１１０を介して、外部装置との間でデータをやり取りする。たとえば、制御部１５０は、外部装置から、後述する第１教師データ１４１、第２教師データ、パラメータ１４３、制約表データ１４４を受信してもよい。
【００４４】
入力部１２０は、学習装置１００に各種のデータを入力する入力装置である。入力部１２０は、キーボードやマウス、タッチパネル等に対応する。たとえば、ユーザは、入力部１２０を操作して、パラメータ１４３や、制約表データ１４４等の入力、分類を要求する入力データ等の入力を行ってもよい。
【００４５】
表示部１３０は、制御部１６０から出力される各種の情報を表示するための表示装置である。たとえば、表示部１３０は、液晶ディスプレイやタッチパネル等に対応する。たとえば、ユーザの入力装置に応答して、制御部１５０から出力される情報を表示する。
【００４６】
記憶部１４０は、第１教師データ１４１、第２教師データ１４２、パラメータ１４３、制約表データ１４４、学習結果モデル１４５を有する。記憶部１４０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００４７】
第１教師データ１４１は、分類器Ａの教師データＤＡ（ＤＡ＝（ＸＡ，ＹＡ））を有する。教師データＤＡに含まれる入力データＸＡは、式（１）に示されるものである。教師データＤＡに含まれる正解クラスＹＡは、式（２）に示されるものである。第１教師データ１４１に含まれる教師データＤＡの量は、第２教師データ１４２に含まれる教師データＤＢの量よりも多いものとする。
【００４８】
【数１】
2020052644.tif 000003
【数２】
2020052644.tif 000004
【００４９】
第２教師データ１４２は、分類器Ｂの教師データＤＢ（ＤＢ＝（ＸＢ，ＹＢ））を有する。教師データＤＢに含まれる入力データＸＢは、式（３）に示されるものである。教師データＤＢに含まれる正解クラスＹＢは、式（４）に示されるものである。第２教師データ１４２に含まれる教師データＤＢの量は、第２教師データ１４２に含まれる教師データＤＡの量よりも少ないものとする。
【００５０】
【数３】
2020052644.tif 000005
【数４】
2020052644.tif 000006
【００５１】
パラメータ１４３は、学習済みの分類器Ａに設定されているパラメータに対応する。なお、パラメータ１４３を、ユーザが設定してもよい。
【００５２】
制約表データ１４４は、図１で説明した制約表Ｔのデータに対応するものである。すなわち、制約表データ１４４は、分類器Ａのクラスと、分類器Ｂのクラスとの対応関係を示すものである。
【００５３】
学習結果モデル１４５は、後述する制御部１５０のより学習される分類器Ｂのパラメータを含む情報である。
【００５４】
制御部１５０は、受付部１５１、変換部１５２、学習部１５３、分類部１５４を有する。制御部１６０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１６０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００５５】
受付部１５１は、各種の情報を受け付ける処理部である。たとえば、受付部１５１は、外部装置から、第１教師データ１４１、第２教師データ１４２、パラメータ１４３、制約表データ１４４を受け付け、受け付けた各データ１４１〜１４４を、記憶部１４０に格納する。
【００５６】
変換部１５２は、後述する学習部１５３から、分類器Ａの教師データＤＡに含まれる正解クラスｙＡを受け付けた場合に、制約表データ１４４を基にして、正解クラスｙＡを、正解クラス候補集合Ｔ（ｙＡ）を変換する処理部である。変換部１５２は、正解クラス候補集合Ｔ（ｙＡ）を学習部１５３に出力する。
【００５７】
たとえば、変換部１５２は、学習部１５３から、正解クラスｙＡとして「スポーツ」を取得したとする。この場合には、変換部１５２は、正解クラスｙＡとして「スポーツ」に対応する正確クラス候補集合Ｔ（ｙＡ）として、「スポーツ（オリンピック以外）、オリンピック」を生成する。
【００５８】
学習部１５３は、第１教師データ（教師データＤＡ）１４１または第２教師データ（教師データＤＢ）１４４、パラメータ１４３を基にして、分類器Ｂのパラメータを学習する処理部である。たとえば、学習部１５３は、教師データＤＡに含まれる（ｘＡ，ｙＡ）または、教師データＤＢに含まれる（ｘＢ，ｙＢ）を取得して、損失関数Ｌを算出し、損失関数Ｌの値が最小となるように、分類器Ｂのパラメータを学習する。学習部１５３は、学習した分類器Ｂのパラメータにより、学習結果モデル１４５を更新する。学習部１５３は、分類器Ｂのパラメータが収束し、学習が完了した場合に、学習結果モデル１４５の情報を、外部装置に通知してもよい。
【００５９】
損失関数Ｌは、式（５）に示すものとなる。式（５）に含まれるλは、元タスクの重みであり、事前に設定される。ＬＢは、分類器Ｂのパラメータがθに設定されている場合において、入力データＸＢを与えた場合の、正解クラスＹＢの推定確率を示すものであり、式（６）により定義される。
【００６０】
【数５】
2020052644.tif 000007
【数６】
2020052644.tif 000008
【００６１】
ＬＡは、分類器Ｂのパラメータがθに設定されている場合において、入力データＸＡを与えた場合の、正解クラスＹＡの推定確率を示すものであり、式（７）により定義される。ただし、式（７）における正解クラスＹＡは、正解クラス候補集合Ｔ（ｙＡ）により制限される（ｙ∈Ｔ（ｙＡ））。Ｒ（θ）は、分類器Ｂのパラメータの正則化項である。学習部１５３は、正解クラスｙＡを、変換部１５２に通知して、正解クラス候補集合Ｔ（ｙＡ）を取得する。
【００６２】
【数７】
2020052644.tif 000009
【００６３】
図６は、本実施例に係る学習装置の処理手順を示すフローチャートである。図６に示すように、学習装置１００の学習部１５３は、パラメータθを初期化する（ステップＳ１０１）。たとえば、学習部１５３は、ステップＳ１０１において、パラメータ１４３を、初期値とする。
【００６４】
学習部１５３は、ＬＡ、ＬＢ、ＮＡ、ＮＢの値をそれぞれ「０」に設定する（ステップＳ１０２）。学習部１５３は、第１教師データ１４１または第２教師データ１４２に含まれる｛（ｘ１，ｙ１），・・・，（ｘｎ，ｙｎ）｝から、ｎ事例をサンプリングする（ステップＳ１０３）。学習部１５３は、ｉ＝１、・・・、ｎまで、ステップＳ１０４〜Ｓ１０９の処理を繰り返し実行する。
【００６５】
学習部１５３は、ｘｉがＤＡからのデータである場合には（ステップＳ１０５，Ｙｅｓ）、ステップＳ１０６に移行する。一方、学習部１５３は、ｘｉがＤＡからのデータでない場合には（ステップＳ１０５，Ｎｏ）、ステップＳ１１０に移行する。
【００６６】
学習部１５３は、変換部１５２から正解クラス候補集合Ｔ（ｙＡ）を取得する（ステップＳ１０６）。学習部１５３は、ＮＡをインクリメントする（ステップＳ１０７）。学習部１５３は、式（８）を基にしてＬＡを更新する（ステップＳ１０８）。式（８）は、式（７）に対応するものである。
【００６７】
【数８】
2020052644.tif 000010
【００６８】
学習部１５３は、ＮＡをインクリメントする（ステップＳ１１０）。学習部１５３は、式（９）を基にしてＬＢを更新する（ステップＳ１１１）。式（９）は、式（６）に対応するものである。
【００６９】
【数９】
2020052644.tif 000011
【００７０】
ステップＳ１１２以降の処理について説明する。学習部１５３は、式（１０）に基づいて損失関数Ｌを算出する（ステップＳ１１２）。学習部１５３は、損失関数Ｌの値が小さくなる方向に、パラメータθを更新する（ステップＳ１１３）。
【００７１】
【数１０】
2020052644.tif 000012
【００７２】
学習部１５３は、損失関数Ｌの値が収束したか否かを判定する（ステップＳ１１４）。学習部１５３は、損失関数Ｌの値が収束していない場合には（ステップＳ１１４，Ｎｏ）、ステップＳ１０２に移行する。
【００７３】
一方、学習部１５３は、損失関数Ｌの値が収束した場合には（ステップＳ１１４，Ｙｅｓ）、モデルを出力する（ステップＳ１１５）。たとえば、学習部１５３は、収束した時点の分類器Ｂのパラメータθを、学習結果モデル１４５に登録する。
【００７４】
図５の説明に戻る。分類部１５４は、学習結果モデル１４５に登録された分類器Ｂのパラメータθを用いて、入力データに対応するクラスを判定する処理部である。たとえば、分類部１５４は、入力データを受け付けると、パラメータθを設定した分類器Ｂのモデルに入力データを入力することで、分類器Ｂの推定確率結果を得る。分類部１５４は、推定確率結果を参照して、推定確率の最も大きいクラスを、入力データの分類結果として出力する。
【００７５】
次に、本実施例に係る学習装置１００の効果について説明する。学習装置１００は、教師データＤＢを用いて分類器Ｂの学習を行う場合に、教師データＤＢの正解クラスｙＢに対する推定確率が大きくなるような損失計算を行う。また、学習装置１００は、教師データＤＡを用いて分類器Ｂの学習を行う場合に、教師データＤＢの正解クラスｙＡと、制約表Ｔとを基にして、正解クラス候補集合Ｔ（ｙＡ）を生成し、正解クラス候補集合Ｔ（ｙＡ）に対する推定確率が大きくなるような損失計算を行う。これによって、分類器Ａには大量の教師データが存在し、分類器Ｂには少量の教師データしか存在しない場合であっても、分類器Ａの教師データを、分類器Ｂの学習に用いることができるので、分類器Ｂの学習を効率的に行うことができる。
【００７６】
学習装置１００は、教師データＤＢおよび教師データＤＡを用いて分類器Ｂのパラメータを学習するため、学習済みの分類器Ａの分類能力を残しつつ、クラス追加やクラス定義の一部変更に対応した新たな分類器Ｂを構築することができる。たとえば、教師データＤＡを用いて分類器Ｂのパラメータを学習するため、分類器Ａから得られる分類能力を、直接分類器Ｂに反映させることができる。
【００７７】
学習装置１００が学習する分類器Ｂは、分類基準を変更してもパラメータは一つであるため、モデルサイズが増大することを抑止することができる。
【００７８】
なお、上述した学習装置１００の処理は一例であり、学習装置１００は、その他の処理を実行して、分類器Ｂのパラメータの学習を行ってもよい。たとえば、学習装置１００の学習部１５３は、確率的勾配法（stochastic  gradient  descent,  SGD）等の手法を用いて、各反復における損失をＤＡ、ＤＢからサンプリングした一部のデータを使って求めてもよい。
【００７９】
学習部１５３は、ＤＡからサンプリングしたデータを用いて、λＬＡ＋Ｒ（θ）に基づきパラメータθの更新を行う。また、学習部１５３は、ＤＢからサンプリングしたデータを用いて、λＬＢ＋Ｒ（θ）に基づきパラメータθの更新を行う。このように、二段階でパラメータ更新を交互に行うことで、まとめてパラメータ更新を行う場合と比較して、学習装置１００の処理負荷を軽減できる場合がある。
【００８０】
制約表Ｔについては、ユーザが分類器Ａのクラスと、分類器Ｂのクラスとを参照して、設定してもよいし、学習部１５３が自動的に対応関係を設定してもよい。学習部１５３が、制約表Ｔを自動的に設定する第１の処理の一例について説明する。学習部１５３は、分類器Ａの各クラスと、分類器Ｂの各クラスとを比較し、分類器Ｂの各クラスのうち、分類器Ａに存在しない新たなクラスについては、分類器Ａのクラスとの対応関係を「○」とし、その他のクラスを「×」とする。
【００８１】
たとえば、分類器Ａのクラスを｛スポーツ、政治、その他｝とする。分類器Ｂのクラスを｛スポーツ（オリンピック以外）、政治、オリンピック、その他｝とする。分類器Ａのクラス「スポーツ」と、分類器Ｂの各クラスとの対応関係を生成する場合について説明する。分類器Ｂの各クラスの内、「政治、その他」は、分類器Ａに存在するものであるため、学習部１５３は、分類器Ａのクラス「スポーツ」と、分類器Ｂのクラス「政治、その他」との対応関係をそれぞれ「×」とする。これに対して、分類器Ｂの各クラスの内、「スポーツ（オリンピック以外）、オリンピック」は、分類器Ａに存在しないので、学習部１５３は、分類器Ａのクラス「スポーツ」と、分類器Ｂのクラス「スポーツ（オリンピック以外）、オリンピック」との対応関係をそれぞれ「○」に設定する。
【００８２】
学習部１５３が、制約表Ｔを自動的に設定する第２の処理の一例について説明する。学習部は、分類器Ｂの教師データＤＢを、分類器Ａに適用し、分類結果の差分を基に、分類器Ｂのクラスと、分類器Ａのクラスとの対応関係を設定してもよい。たとえば、学習部１５３は、正解クラス「スポーツ（オリンピック以外）」に対応する複数の入力データを分類器Ａに入力して、分類器Ａのクラスのいずれかに分類させ、分類器Ａ「スポーツ」に高頻度で分類される場合に、分類器Ｂのクラス「スポーツ（オリンピック以外）」と、分類器Ａのクラス「スポーツ」との対応関係を「○」に設定する。
【００８３】
また、本実施例に係る学習装置１００は、マルチタスク学習と組み合わせて、分類器Ａおよび分類器Ｂの学習を行ってもよい。マルチタスク学習と組み合わせた場合の損失関数Ｌは、式（１１）に示すものとなる。学習装置１００は、式（１１）に示される損失関数Ｌの値が小さくなるように、パラメータθＳ、θＡ、θＢを調整する。ここで、θＳは、分類器Ａおよび分類器Ｂが共有するパラメータである。θＡは、分類器Ａのパラメータである。θＢは、分類器Ｂのパラメータである。式（１１）の１番目の項は、クラス制約つき手法の損失を示す。式（１１）の２番目の項は、マルチタスク学習の損失を示す項である。
【００８４】
【数１１】
2020052644.tif 000013
【００８５】
また、学習部１５３は、第１教師データ１４１に、正解クラスが含まれていない場合には、入力データを分類器Ａに入力してクラスを求め、入力データと正確クラスとを対応付けた教師データを生成してもよい。
【００８６】
次に、実施例に示した学習装置１００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図７は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【００８７】
図７に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、ユーザからのデータの入力を受け付ける入力装置２０２と、ディスプレイ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る読み取り装置２０４と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置２０５とを有する。コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０６と、ハードディスク装置２０７とを有する。そして、各装置２０１〜２０７は、バス２０８に接続される。
【００８８】
ハードディスク装置２０７は、受付プログラム２０７ａ、生成プログラム２０７ｂ、学習プログラム２０７ｃ、分類プログラム２０７ｄを有する。ＣＰＵ２０１は、受付プログラム２０７ａ、生成プログラム２０７ｂ、学習プログラム２０７ｃ、分類プログラム２０７ｄを読み出してＲＡＭ２０６に展開する。
【００８９】
受付プログラム２０７ａは、受付プロセス２０６ａとして機能する。生成プログラム２０７ｂは、生成プロセス２０６ｂとして機能する。学習プログラム２０７ｃは、学習プロセス２０６ｃとして機能する。分類プログラム２０７ｄは、分類プロセス２０６ｄとして機能する。
【００９０】
受付プロセス２０６ａの処理は、受付部１５１の処理に対応する。変換プロセス２０６ｂの処理は、変換部１５２の処理に対応する。学習プロセス２０６ｃの処理は、学習部１５３の処理に対応する。分類プロセス２０６ｃの処理は、分類部１５４の処理に対応する。
【００９１】
なお、各プログラム２０７ａ〜２０７ｄについては、必ずしも最初からハードディスク装置２０７に記憶させておかなくてもよい。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ２００が各プログラム２０７ａ〜２０７ｈを読み出して実行するようにしてもよい。
【００９２】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９３】
（付記１）コンピュータが実行する学習方法であって、
第一の正解ラベルが付与された入力データと、前記第一の正解ラベルとは異なる基準の正解ラベルとなる第二の正解ラベルが付与された入力データとを基にしてモデルの学習を行う場合において、
入力データに対応する前記第一の正解ラベルを基にして、複数の前記第二の正解ラベルを、前記第一の正解ラベルに対応する第二の正解ラベルに制限した正解ラベル候補に変換し、
前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づいて前記モデルの学習を行い、
前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づいて前記モデルの学習を行う
処理を実行することを特徴とする学習方法。
【００９４】
（付記２）前記変換する処理は、前記第一の正解ラベルと前記第二の正解ラベルとの対応関係を定義したデータを基にして、複数の前記第二の正解ラベルのうち、前記第一の正解ラベルに対応する第二の正解ラベルを、前記モデルの学習時の正解ラベルの候補とすることを特徴とする付記１に記載の学習方法。
【００９５】
（付記３）前記学習を行う処理は、前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づく損失が最小化するように、前記モデルのパラメータを学習することを特徴とする付記１または２に記載の学習方法。
【００９６】
（付記４）前記学習を行う処理は、前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づく損失が最小化するように、前記モデルのパラメータを学習することを特徴とする付記１、２または３に記載の学習方法。
【００９７】
（付記５）第一の正解ラベルが付与された入力データと、前記第一の正解ラベルとは異なる基準の正解ラベルとなる第二の正解ラベルが付与された入力データとを基にしてモデルの学習を行う場合において、
入力データに対応する前記第一の正解ラベルを基にして、複数の前記第二の正解ラベルを、前記第一の正解ラベルに対応する第二の正解ラベルに制限した正解ラベル候補を変換する変換部と、
前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づいて前記モデルの学習を行い、前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づいて前記モデルの学習を行う学習部
を有することを特徴とする学習装置。
【００９８】
（付記６）前記変換部は、前記第一の正解ラベルと前記第二の正解ラベルとの対応関係を定義したデータを基にして、複数の前記第二の正解ラベルのうち、前記第一の正解ラベルに対応する第二の正解ラベルを、前記モデルの学習時の正解ラベルの候補とすることを特徴とする付記５に記載の学習装置。
【００９９】
（付記７）前記学習部は、前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づく損失が最小化するように、前記モデルのパラメータを学習することを特徴とする付記５または６に記載の学習装置。
【０１００】
（付記８）前記学習部は、前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づく損失が最小化するように、前記モデルのパラメータを学習することを特徴とする付記５、６または７に記載の学習装置。
【０１０１】
（付記９）コンピュータに、
第一の正解ラベルが付与された入力データと、前記第一の正解ラベルとは異なる基準の正解ラベルとなる第二の正解ラベルが付与された入力データとを基にしてモデルの学習を行う場合において、
入力データに対応する前記第一の正解ラベルを基にして、複数の前記第二の正解ラベルを、前記第一の正解ラベルに対応する第二の正解ラベルに制限した正解ラベル候補を生成し、
前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づいて前記モデルの学習を行い、
前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づいて前記モデルの学習を行う
処理を実行させることを特徴とする学習プログラム。
【０１０２】
（付記１０）前記変換する処理は、前記第一の正解ラベルと前記第二の正解ラベルとの対応関係を定義したデータを基にして、複数の前記第二の正解ラベルのうち、前記第一の正解ラベルに対応する第二の正解ラベルを、前記モデルの学習時の正解ラベルの候補とすることを特徴とする付記９に記載の学習プログラム。
【０１０３】
（付記１１）前記学習を行う処理は、前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づく損失が最小化するように、前記モデルのパラメータを学習することを特徴とする付記９または１０に記載の学習プログラム。
【０１０４】
（付記１２）前記学習を行う処理は、前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づく損失が最小化するように、前記モデルのパラメータを学習することを特徴とする付記９、１０または１１に記載の学習プログラム。
【符号の説明】
【０１０５】
１００    学習装置
１１０    通信部
１２０    入力部
１３０    表示部
１４０    記憶部
１４１    第１教師データ
１４２    第２教師データ
１４３    パラメータ
１４４    制約表データ
１４５    学習結果モデル
１５０    制御部
１５１    受付部
１５２    変換部
１５３    学習部
１５４    分類部
【図１】
2020052644.tif 000014
【図２】
2020052644.tif 000015
【図３】
2020052644.tif 000016
【図４】
2020052644.tif 000017
【図５】
2020052644.tif 000018
【図６】
2020052644.tif 000019
【図７】
2020052644.tif 000020
【図８】
2020052644.tif 000021
【図９】
2020052644.tif 000022
【図１０】
2020052644.tif 000023
【図１１】
2020052644.tif 000024