IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7200571機械学習方法、機械学習装置および機械学習プログラム
<>
  • 特許-機械学習方法、機械学習装置および機械学習プログラム 図1
  • 特許-機械学習方法、機械学習装置および機械学習プログラム 図2
  • 特許-機械学習方法、機械学習装置および機械学習プログラム 図3
  • 特許-機械学習方法、機械学習装置および機械学習プログラム 図4
  • 特許-機械学習方法、機械学習装置および機械学習プログラム 図5
  • 特許-機械学習方法、機械学習装置および機械学習プログラム 図6
  • 特許-機械学習方法、機械学習装置および機械学習プログラム 図7
  • 特許-機械学習方法、機械学習装置および機械学習プログラム 図8
  • 特許-機械学習方法、機械学習装置および機械学習プログラム 図9
  • 特許-機械学習方法、機械学習装置および機械学習プログラム 図10
  • 特許-機械学習方法、機械学習装置および機械学習プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-26
(45)【発行日】2023-01-10
(54)【発明の名称】機械学習方法、機械学習装置および機械学習プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20221227BHJP
【FI】
G06N20/00 130
【請求項の数】 6
(21)【出願番号】P 2018180477
(22)【出願日】2018-09-26
(65)【公開番号】P2020052644
(43)【公開日】2020-04-02
【審査請求日】2021-06-10
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】吉川 和
【審査官】多賀 実
(56)【参考文献】
【文献】特開2006-309485(JP,A)
【文献】特開2016-186515(JP,A)
【文献】国際公開第2018/047225(WO,A1)
【文献】Young-Bum Kim et al.,"New Transfer Learning Techniques for Disparate Label Sets",Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing (Volume 1: Long Papers) [online],Association for Computational Linguistics,2015年,pp.473-482,[令和4年11月15日 検索], インターネット:<URL: https://aclanthology.org/P15-1046.pdf>,DOI:10.3115/v1/P15-1046
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータが実行する学習方法であって、
他のモデルの訓練に利用される入力データに対応す正解ラベルが、対象モデルを訓練する際の基準の正解ラベルであるか否かを判定し、
入力データに対応する記正解ラベルが、前記基準の正解ラベルである場合には、前記正解ラベルに基づいて、前記対象モデルを訓練し、
入力データに対応する前記正解ラベルが、前記基準の正解ラベルでない場合には、前記正解ラベルを、前記基準の正解ラベルに対応する正解ラベルの候補に変換し、
記正解ラベルの候補に基づいて、前記対象モデルを訓練する
処理を実行することを特徴とする機械学習方法。
【請求項2】
前記変換する処理は、前記他のモデルの訓練に利用される正解ラベルと前記基準の正解ラベルとの対応関係を定義したデータを基にして、入力データに対応する複数の前記正解ラベルのうち、前記基準の正解ラベルに対応する正解ラベルを、前記対象モデルの訓練時の正解ラベルの候補とすることを特徴とする請求項1に記載の機械学習方法。
【請求項3】
前記対象モデルを訓練する処理は、前記他のモデルの訓練に利用される正解ラベルが付与された入力データが入力された場合に、前記正解ラベルの候補に基づく損失が最小化するように、前記対象モデルのパラメータを訓練することを特徴とする請求項1または2に記載の機械学習方法。
【請求項4】
前記対象モデルを訓練する処理は、前記基準の正解ラベルが付与された入力データが入力された場合に、前記基準の正解ラベルに基づく損失が最小化するように、前記対象モデルのパラメータを訓練することを特徴とする請求項1、2または3に記載の機械学習方法。
【請求項5】
他のモデルの訓練に利用される入力データに対応す正解ラベルが、対象モデルを訓練する際の基準の正解ラベルであるか否かを判定し、入力データに対応する前記正解ラベルが、前記基準の正解ラベルでない場合には、前記正解ラベルを、前記基準の正解ラベルに対応する正解ラベルの候補に変換する変換部と、
入力データに対応する前記正解ラベルが、前記基準の正解ラベルである場合には、前記正解ラベルに基づいて、前記対象モデルを訓練し、入力データに対応する前記正解ラベルが、前記基準の正解ラベルでない場合には、前記正解ラベルの候補に基づいて、前記対象モデルを訓練する学習部
を有することを特徴とする機械学習装置。
【請求項6】
コンピュータに、
他のモデルの訓練に利用される入力データに対応す正解ラベルが、対象モデルを訓練する際の基準の正解ラベルであるか否かを判定し、
入力データに対応する記正解ラベルが、前記基準の正解ラベルである場合には、前記正解ラベルに基づいて、前記対象モデルを訓練し、
入力データに対応する前記正解ラベルが、前記基準の正解ラベルでない場合には、前記正解ラベルを、前記基準の正解ラベルに対応する正解ラベルの候補に変換し、
記正解ラベルの候補に基づいて、前記対象モデルを訓練する
処理を実行させることを特徴とする機械学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習方法等に関する。
【背景技術】
【0002】
あるタスクに対してよい分類能力をもつ分類器Aがある場合に、この分類器Aをもとにして、同じタスクで分類クラスの定義を一部だけ追加および変更した分類器Bを学習(転移学習)する従来技術がある。
【0003】
図8は、従来技術1を説明するための図である。従来技術1では、分類器Aの分類結果のクラスを更に細かく分類する分類器B1,B2を用意し、分類器Aの分類結果を用いて、分類器B1,B2を学習させる。前提として、分類器Aの学習に使った教師データは大量であり、分類器B1,B2の学習に使用する教師データは少量であるものとする。
【0004】
分類器Aは、入力データを、クラス{スポーツ、政治、その他}のいずれか一つに分類する学習済みの分類器である。たとえば、分類器Aは、入力データ「鈴木メジャー4番」をクラス「スポーツ」に分類する。分類器Aは、入力データ「佐藤平昌で金メダル」をクラス「スポーツ」に分類する。分類器Aは、入力データ「eスポーツ大会開幕」をクラス「その他」に分類する。分類器Aは、入力データ「国会で予算案可決」をクラス「政治」に分類する。分類器Aは、入力データ「新型jPhone発表」をクラス「その他」に分類する。
【0005】
分類器B1は、入力データを、クラス{スポーツ(オリンピック以外)、オリンピック}のいずれか一つに分類する分類器である。従来技術1では、入力データのうち、分類器Aにより、スポーツに分類された入力データと、クラス{スポーツ(オリンピック以外)、オリンピック}のいずれかと対応付けた教師データを、分類器B1に与えて学習を行う。
【0006】
たとえば、入力データ「鈴木メジャー4番」は、分類器Aでクラス「スポーツ」に分類されている。このため、従来技術1は、入力データ「鈴木メジャー4番」と、クラス「スポーツ(オリンピック以外)」とを対応付けた教師データを、分類器B1に与えて学習させる。入力データ「佐藤平昌で金メダル」は、分類器Aでクラス「スポーツ」に分類されている。このため、従来技術1は、入力データ「佐藤平昌で金メダル」と、クラス「オリンピック」とを対応付けた教師データを、分類器B1に与えて学習させる。
【0007】
分類器B2は、入力データを、クラス{政治、スポーツ(オリンピック以外)、その他}のいずれか一つに分類する分類器である。従来技術1は、入力データのうち、分類器Aにより、その他または政治に分類された入力データと、クラス{政治、スポーツ(オリンピック以外)、その他}のいずれかと対応付けた教師データを、分類器B2に与えて学習を行う。
【0008】
たとえば、入力データ「eスポーツ大会開幕」は、分類器Aでクラス「その他」に分類されている。このため、従来技術1は、入力データ「eスポーツ大会開幕」とクラス「スポーツ(オリンピック以外)」とを対応付けた教師データを、分類器B2に与えて学習させる。入力データ「国会で予算案可決」は、分類器Aでクラス「政治」に分類されている。このため、従来技術1は、入力データ「国会で予算案可決」と、クラス「政治」とを対応付けた教師データを、分類器B2に与えて学習を行う。入力データ「新型jPhone発表」は、分類器Aでクラス「その他」に分類されている。このため、従来技術1は、入力データ「新型jPhone発表」と、クラス「その他」とを対応付けた教師データを、分類器B2に与えて学習を行う。
【0009】
図9は、従来技術2を説明するための図である。従来技術2では、分類器Aの分類結果のクラスの情報を特徴量として、分類器Bを学習させる場合の教師データに用いる。前提として、分類器Aの学習に使った教師データは大量であり、分類器Bの学習に使用する教師データは少量であるものとする。
【0010】
分類器Aは、入力データを、クラス{スポーツ、政治、その他}のいずれか一つに分類する学習済みの分類器である。分類器Bは、入力データを、クラス{スポーツ(オリンピック以外)、政治、オリンピック、その他}のいずれか一つに分類する分類器である。従来技術2では、分類器Bに教師データを与えて学習させる場合に、分類器Aによる分類結果を特徴量として与える。
【0011】
たとえば、入力データ「鈴木メジャー4番」は、分類器Aでクラス「スポーツ」に分類されている。この場合には、特徴量「鈴木メジャー4番」および特徴量「スポーツ」を入力データとし、この入力データと、クラス「スポーツ(オリンピック以外)」とを対応付けた教師データを、分類器Bに与えて学習を行う。
【0012】
上述した従来技術1、2以外にも、マルチタスク学習やLwF(Learning without Forgetting)等の技術がある。マルチタスク学習は、目的の分類器が解きたいタスクと関連のあるタスクを、モデルパラメータの一部を共有しながら学習することで、関連タスクの知識を使って分類性能を向上させるものである。LwFは、マルチタスク学習を応用し、学習済みの分類器の性能を落とさずに、新規タスクに適用させる技術である。
【0013】
図10は、マルチタスク学習を説明するための図である。マルチタスク学習では、入力データが入力されると、中間層10で学習されたモデルパラメータθsに基づいて、入力データを中間表現データに変換する。モデルパラメータθsは、分類層11a,11b,11cで共有するパラメータとなる。また、マルチタスク学習では、分類層11a~11cにはそれぞれ固有のパラメータθa、θb、θcを設定し、中間表現データとクラスとを対応付けた教師データを分類層11a~11cにそれぞれ与えることで、各パラメータθa、θb、θcを学習する。
【先行技術文献】
【特許文献】
【0014】
【文献】特開2015-38709号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
しかしながら、上述した従来技術では、教師データが少ない場合におけるモデルの学習効率を向上させることができないという問題がある。
【0016】
従来技術1では、分類基準を変更する度に、分類器が増え、モデルサイズが増大し、管理が煩雑となる。また、従来技術1では、分類器B1,B2がそれぞれ独立に学習されるため、分類器B1で学習した特徴と、B2で学習した特徴とが共有されない。
【0017】
従来技術2では、従来技術1と同様にして、分類基準を変更する度に、分類器が増え、モデルサイズが増大する。また、従来技術2では、分類器Aの分類結果をあくまでも特徴量の一つとして取り扱うため、分類器Aと分類器Bとの既知のクラス間の関係を利用することができない。
【0018】
また、マルチタスク学習やLwFでは、モデルパラメータの一部を共有しながら学習しているものの、各分類層11a~11cはそれぞれ独立に学習することになるため、各分類層11a~11c間のクラスの関係を利用することができない。
【0019】
図11は、従来技術の問題を説明するための図である。以下に説明するように、分類器Aの分類結果を用いて分類器Bを学習した場合において、ある入力データを分類器Aに入力して正しい分類結果が得られても、ある入力データを分類器Bに入力した場合に、正しい分類結果が得られない場合がある。
【0020】
分類器Aは、入力データを、クラス{スポーツ、政治}に分類する分類器である。図11において、入力データ20a,20bは、分類器Aを学習する場合に用いたものである。すなわち、入力データ20a「日本、男女ともに決勝へ-ショートトラックW杯」と、クラス「スポーツ」との組が、分類器Aの教師データである。また、入力データ20b「汚職事件で野党が審議要求」と、クラス「政治」との組が、分類器Aの教師データである。係る教師データにより学習された、分類器Aのクラスの境界を、境界30aとする。
【0021】
分類器Bは、従来技術1、2またはマルチ学習と同様にして、分類器Aの分類結果を用いて転移学習した分類器である。分類器Bは、入力データを、クラス{スポーツ、政治、オリンピック}に分類する。図11において、入力データ21a,21b,21cは、分類器Bを学習する場合に用いたものである。すなわち、入力データ21a「ショートトラックリレーで日本3位」と、クラス「スポーツ」との組が、分類器Bの教師データである。入力データ21a「カジノ法案の審議に注目」と、クラス「政治」との組が、分類器Bの教師データである。入力データ21a「ショートトラック北朝鮮の妨害で審議」と、クラス「オリンピック」との組が、分類器Bの教師データである。係る教師データにより学習された、分類器Bのクラスの境界を、境界30a,30bとする。
【0022】
ここで、テストデータ25「北朝鮮問題を集中審議へ」を分類器Aに入力した場合について説明する。分類器Aは、テストデータ25が特徴量「審議」を含んでいるため、テストデータ25を、クラス「政治」に分類する。この分類結果は正しい分類結果である。
【0023】
一方、テストデータ25を分類器Bに入力した場合について説明する。分類器Bは、テストデータ25が特徴量「北朝鮮、審議」を含んでいるため、テストデータを、クラス「オリンピック」に分類する。この分類結果は誤った分類結果である。分類器Bの理想的な境界は、境界30c、30dによって、クラス{スポーツ、政治、オリンピック}を分類することである。これにより、テストデータ25をクラス「政治」に分類することができる。
【0024】
1つの側面では、本発明は、教師データが少ない場合におけるモデルの学習効率を向上させることができる学習方法、学習装置および学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0025】
第1の案では、コンピュータは、他のモデルの訓練に利用される入力データに対応する正解ラベルが、対象モデルを訓練する際の基準の正解ラベルであるか否かを判定し、入力データに対応する正解ラベルが、基準の正解ラベルである場合には、正解ラベルに基づいて、対象モデルを訓練し、入力データに対応する正解ラベルが、基準の正解ラベルでない場合には、正解ラベルを、基準の正解ラベルに対応する正解ラベルの候補に変換し、正解ラベルの候補に基づいて、対象モデルを訓練する。
【発明の効果】
【0026】
第二の正解ラベル付きデータが少ないときに、第一の正解ラベル付きデータを用いて、第二の正解ラベル基準に基づくモデルの学習効率を向上させることができる。
【図面の簡単な説明】
【0027】
図1図1は、本実施例に係る制約表の一例を示す図である。
図2図2は、教師データDを用いた学習方法を説明する図である。
図3図3は、教師データDを用いた学習方法を説明する図(1)である。
図4図4は、教師データDを用いた学習方法を説明する図(2)である。
図5図5は、本実施例に係る学習装置の構成を示す機能ブロック図である。
図6図6は、本実施例に係る学習装置の処理手順を示すフローチャートである。
図7図7は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図8図8は、従来技術1を説明するための図である。
図9図9は、従来技術2を説明するための図である。
図10図10は、マルチタスク学習を説明するための図である。
図11図11は、従来技術の問題を説明するための図である。
【発明を実施するための形態】
【0028】
以下に、本願の開示する学習方法、学習装置および学習プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例
【0029】
本実施例に係る学習装置の学習方法について説明する。前提として、分類器Aには大量の教師データが存在し、分類器Bには少量の教師データが存在するものとする。学習装置は、分類器Aと同じタスクで分類クラスの定義を一部だけ追加および変更した分類器Bを学習(転移学習)する。学習装置は、分類器Bの教師データと分類器Aの教師データとを併用し、共通部分の分類性能を維持しつつ変更部分を調整する。
【0030】
学習装置に対する入力は、分類器Aのパラメータθ、分類器Aの教師データD(D=(X,Y))、分類器Bの教師データD(D=(X,Y))、制約表Tが含まれる。制約表Tは、分類器Aのクラスと分類器Bのクラスとの関係を定義する情報である。
【0031】
図1は、本実施例に係る制約表の一例を示す図である。この制約表Tは、分類器Aのクラスと、分類器Bのクラスとの関係を示す。分類器Aのクラスを{スポーツ、政治、その他}とする。分類器Bのクラスを{スポーツ(オリンピック以外)、政治、オリンピック、その他}とする。「○」は、各クラスが対応関係にあり、「×」は、各クラスが対応関係にないことを示す。
【0032】
図1において、分類器Aのクラス「スポーツ」は、分類器Bのクラス「スポーツ(オリンピック以外)、オリンピック」に対応しており、分類器Bのクラス「政治、その他」に対応していないことを示す。すなわち、分類器Aの教師データDを用いて分類器Bを学習する場合に、教師データDのクラスが「スポーツ」であるものは、クラスを「スポーツ(オリンピック以外)、オリンピック」に制限して学習を行う。
【0033】
分類器Aのクラス「政治」は、分類器Bのクラス「政治」に対応しており、分類器Bのクラス「スポーツ(オリンピック以外)、オリンピック、その他」に対応していないことを示す。すなわち、分類器Aの教師データDを用いて分類器Bを学習する場合に、教師データDのクラスが「政治」であるものは、クラスを「政治」に制限して学習を行う。
【0034】
分類器Aのクラス「その他」は、分類器Bのクラス「スポーツ(オリンピック以外)、その他」に対応しており、分類器Bのクラス「政治、オリンピック」に対応していないことを示す。すなわち、分類器Aの教師データDを用いて分類器Bを学習する場合に、教師データDのクラスが「その他」であるものは、クラスを「スポーツ(オリンピック以外)、その他」に制限して学習を行う。
【0035】
図2は、教師データDを用いた学習方法を説明する図である。学習装置は、教師データDから入力データx(x∈X)と正解クラスy(y∈Y)との組をサンプリングし、分類器Bのパラメータを学習する。図2に示す例では、入力データxを「eスポーツに奨学金」とし、正解クラスyを「スポーツ(オリンピック以外)」とする。
【0036】
分類器Bは、入力データxが入力されると、推定確率結果40aを出力する。推定確率結果40aには、各クラスの推定確率が含まれる。たとえば、クラス「スポーツ(オリンピック以外)」の推定確率は「0.1(10%)」である。ここで、入力データxの正解クラスyは「スポーツ(オリンピック以外)」である。このため、学習装置は、クラス「スポーツ(オリンピック以外)」の推定確率が他のクラスの推定確率よりも大きくなるように、損失計算を行い、分類器Bのパラメータを更新する。たとえば、学習装置は、損失計算への寄与Lを算出し、この寄与Lを小さくするパラメータを算出する。
【0037】
図3は、教師データDを用いた学習方法を説明する図(1)である。学習装置は、教師データDから入力データx(x∈X)と正解クラスy(y∈Y)との組をサンプリングし、分類器Bのパラメータを学習する。図3に示す例では、入力データxを「佐藤平昌で金メダル」とし、正解クラスyを「スポーツ」とする。
【0038】
分類器Bは、入力データxが入力されると、推定確率結果40bを出力する。推定確率結果40bには、各クラスの推定確率が含まれる。たとえば、クラス「スポーツ(オリンピック以外)」の推定確率は「0.6(60%)」である。ここで、入力データxの正解クラスyは「スポーツ」であるが、分類器Bのクラスには、クラス「スポーツ」が存在しないため、そのままでは、比較することができず、学習することができない。
【0039】
図4は、教師データDを用いた学習方法を説明する図(2)である。学習装置は、図3で説明したような問題を解消するために、入力データx(x∈X)の正解クラスy(y∈Y)と、制約表Tとを基にして、正解クラスyと対応関係にある、正解クラス候補集合T(y)を生成する。たとえば、制約表Tによれば、分類器Aのクラス「スポーツ」と対応関係にある分類器Bのクラスは「スポーツ(オリンピック以外)、オリンピック」である。このため、正解クラス候補集合T(y)は、「スポーツ(オリンピック以外)、オリンピック」となる。すなわち、学習装置は、正解クラスyを、正解クラス候補集合T(y)に制限する。
【0040】
学習装置は、分類器Bを学習する場合において、入力データ「佐藤平昌で金メダル」に対応する正解クラスを、正解クラス候補集合T(y)の「スポーツ(オリンピック以外)、オリンピック」とする。学習装置は、クラス「スポーツ(オリンピック以外)、オリンピック」の推定確率が他のクラスの推定確率よりも大きくなるように、損失計算を行い、分類器Bのパラメータを更新する。たとえば、学習装置は、損失計算への寄与Lを算出し、この寄与Lを小さくするパラメータを算出する。
【0041】
上記のように、学習装置は、教師データDを用いて分類器Bの学習を行う場合に、教師データDの正解クラスyに対する推定確率が大きくなるような損失計算を行う。学習装置は、教師データDを用いて分類器Bの学習を行う場合に、教師データDの正解クラスyと、制約表Tとを基にして、正解クラス候補集合T(y)を生成し、正解クラス候補集合T(y)に対する推定確率が大きくなるような損失計算を行う。これによって、分類器Aには大量の教師データが存在し、分類器Bには少量の教師データしか存在しない場合であっても、分類器Aの教師データを、分類器Bの学習に用いることができるので、分類器Bの学習を効率的に行うことができる。
【0042】
図5は、本実施例に係る学習装置の構成を示す機能ブロック図である。図5に示すように、この学習装置100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
【0043】
通信部110は、ネットワーク等を介して外部装置(図示略)とデータ通信を実行する処理部である。通信部は、通信装置の一例である。後述する制御部150は、通信部110を介して、外部装置との間でデータをやり取りする。たとえば、制御部150は、外部装置から、後述する第1教師データ141、第2教師データ、パラメータ143、制約表データ144を受信してもよい。
【0044】
入力部120は、学習装置100に各種のデータを入力する入力装置である。入力部120は、キーボードやマウス、タッチパネル等に対応する。たとえば、ユーザは、入力部120を操作して、パラメータ143や、制約表データ144等の入力、分類を要求する入力データ等の入力を行ってもよい。
【0045】
表示部130は、制御部160から出力される各種の情報を表示するための表示装置である。たとえば、表示部130は、液晶ディスプレイやタッチパネル等に対応する。たとえば、ユーザの入力装置に応答して、制御部150から出力される情報を表示する。
【0046】
記憶部140は、第1教師データ141、第2教師データ142、パラメータ143、制約表データ144、学習結果モデル145を有する。記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
【0047】
第1教師データ141は、分類器Aの教師データD(D=(X,Y))を有する。教師データDに含まれる入力データXは、式(1)に示されるものである。教師データDに含まれる正解クラスYは、式(2)に示されるものである。第1教師データ141に含まれる教師データDの量は、第2教師データ142に含まれる教師データDの量よりも多いものとする。
【0048】
【数1】
【数2】
【0049】
第2教師データ142は、分類器Bの教師データD(D=(X,Y))を有する。教師データDに含まれる入力データXは、式(3)に示されるものである。教師データDに含まれる正解クラスYは、式(4)に示されるものである。第2教師データ142に含まれる教師データDの量は、第2教師データ142に含まれる教師データDの量よりも少ないものとする。
【0050】
【数3】
【数4】
【0051】
パラメータ143は、学習済みの分類器Aに設定されているパラメータに対応する。なお、パラメータ143を、ユーザが設定してもよい。
【0052】
制約表データ144は、図1で説明した制約表Tのデータに対応するものである。すなわち、制約表データ144は、分類器Aのクラスと、分類器Bのクラスとの対応関係を示すものである。
【0053】
学習結果モデル145は、後述する制御部150のより学習される分類器Bのパラメータを含む情報である。
【0054】
制御部150は、受付部151、変換部152、学習部153、分類部154を有する。制御部160は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部160は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
【0055】
受付部151は、各種の情報を受け付ける処理部である。たとえば、受付部151は、外部装置から、第1教師データ141、第2教師データ142、パラメータ143、制約表データ144を受け付け、受け付けた各データ141~144を、記憶部140に格納する。
【0056】
変換部152は、後述する学習部153から、分類器Aの教師データDに含まれる正解クラスyを受け付けた場合に、制約表データ144を基にして、正解クラスyを、正解クラス候補集合T(y)を変換する処理部である。変換部152は、正解クラス候補集合T(y)を学習部153に出力する。
【0057】
たとえば、変換部152は、学習部153から、正解クラスyとして「スポーツ」を取得したとする。この場合には、変換部152は、正解クラスyとして「スポーツ」に対応する正確クラス候補集合T(y)として、「スポーツ(オリンピック以外)、オリンピック」を生成する。
【0058】
学習部153は、第1教師データ(教師データD)141または第2教師データ(教師データD)144、パラメータ143を基にして、分類器Bのパラメータを学習する処理部である。たとえば、学習部153は、教師データDに含まれる(x,y)または、教師データDに含まれる(x,y)を取得して、損失関数Lを算出し、損失関数Lの値が最小となるように、分類器Bのパラメータを学習する。学習部153は、学習した分類器Bのパラメータにより、学習結果モデル145を更新する。学習部153は、分類器Bのパラメータが収束し、学習が完了した場合に、学習結果モデル145の情報を、外部装置に通知してもよい。
【0059】
損失関数Lは、式(5)に示すものとなる。式(5)に含まれるλは、元タスクの重みであり、事前に設定される。Lは、分類器Bのパラメータがθに設定されている場合において、入力データXを与えた場合の、正解クラスYの推定確率を示すものであり、式(6)により定義される。
【0060】
【数5】
【数6】
【0061】
は、分類器Bのパラメータがθに設定されている場合において、入力データXを与えた場合の、正解クラスYの推定確率を示すものであり、式(7)により定義される。ただし、式(7)における正解クラスYは、正解クラス候補集合T(y)により制限される(y∈T(y))。R(θ)は、分類器Bのパラメータの正則化項である。学習部153は、正解クラスyを、変換部152に通知して、正解クラス候補集合T(y)を取得する。
【0062】
【数7】
【0063】
図6は、本実施例に係る学習装置の処理手順を示すフローチャートである。図6に示すように、学習装置100の学習部153は、パラメータθを初期化する(ステップS101)。たとえば、学習部153は、ステップS101において、パラメータ143を、初期値とする。
【0064】
学習部153は、L、L、N、Nの値をそれぞれ「0」に設定する(ステップS102)。学習部153は、第1教師データ141または第2教師データ142に含まれる{(x,y),・・・,(x,y)}から、n事例をサンプリングする(ステップS103)。学習部153は、i=1、・・・、nまで、ステップS104~S109の処理を繰り返し実行する。
【0065】
学習部153は、xがDからのデータである場合には(ステップS105,Yes)、ステップS106に移行する。一方、学習部153は、xがDからのデータでない場合には(ステップS105,No)、ステップS110に移行する。
【0066】
学習部153は、変換部152から正解クラス候補集合T(y)を取得する(ステップS106)。学習部153は、Nをインクリメントする(ステップS107)。学習部153は、式(8)を基にしてLを更新する(ステップS108)。式(8)は、式(7)に対応するものである。
【0067】
【数8】
【0068】
学習部153は、Nをインクリメントする(ステップS110)。学習部153は、式(9)を基にしてLを更新する(ステップS111)。式(9)は、式(6)に対応するものである。
【0069】
【数9】
【0070】
ステップS112以降の処理について説明する。学習部153は、式(10)に基づいて損失関数Lを算出する(ステップS112)。学習部153は、損失関数Lの値が小さくなる方向に、パラメータθを更新する(ステップS113)。
【0071】
【数10】
【0072】
学習部153は、損失関数Lの値が収束したか否かを判定する(ステップS114)。学習部153は、損失関数Lの値が収束していない場合には(ステップS114,No)、ステップS102に移行する。
【0073】
一方、学習部153は、損失関数Lの値が収束した場合には(ステップS114,Yes)、モデルを出力する(ステップS115)。たとえば、学習部153は、収束した時点の分類器Bのパラメータθを、学習結果モデル145に登録する。
【0074】
図5の説明に戻る。分類部154は、学習結果モデル145に登録された分類器Bのパラメータθを用いて、入力データに対応するクラスを判定する処理部である。たとえば、分類部154は、入力データを受け付けると、パラメータθを設定した分類器Bのモデルに入力データを入力することで、分類器Bの推定確率結果を得る。分類部154は、推定確率結果を参照して、推定確率の最も大きいクラスを、入力データの分類結果として出力する。
【0075】
次に、本実施例に係る学習装置100の効果について説明する。学習装置100は、教師データDを用いて分類器Bの学習を行う場合に、教師データDの正解クラスyに対する推定確率が大きくなるような損失計算を行う。また、学習装置100は、教師データDを用いて分類器Bの学習を行う場合に、教師データDの正解クラスyと、制約表Tとを基にして、正解クラス候補集合T(y)を生成し、正解クラス候補集合T(y)に対する推定確率が大きくなるような損失計算を行う。これによって、分類器Aには大量の教師データが存在し、分類器Bには少量の教師データしか存在しない場合であっても、分類器Aの教師データを、分類器Bの学習に用いることができるので、分類器Bの学習を効率的に行うことができる。
【0076】
学習装置100は、教師データDおよび教師データDを用いて分類器Bのパラメータを学習するため、学習済みの分類器Aの分類能力を残しつつ、クラス追加やクラス定義の一部変更に対応した新たな分類器Bを構築することができる。たとえば、教師データDを用いて分類器Bのパラメータを学習するため、分類器Aから得られる分類能力を、直接分類器Bに反映させることができる。
【0077】
学習装置100が学習する分類器Bは、分類基準を変更してもパラメータは一つであるため、モデルサイズが増大することを抑止することができる。
【0078】
なお、上述した学習装置100の処理は一例であり、学習装置100は、その他の処理を実行して、分類器Bのパラメータの学習を行ってもよい。たとえば、学習装置100の学習部153は、確率的勾配法(stochastic gradient descent, SGD)等の手法を用いて、各反復における損失をD、Dからサンプリングした一部のデータを使って求めてもよい。
【0079】
学習部153は、Dからサンプリングしたデータを用いて、λL+R(θ)に基づきパラメータθの更新を行う。また、学習部153は、Dからサンプリングしたデータを用いて、λL+R(θ)に基づきパラメータθの更新を行う。このように、二段階でパラメータ更新を交互に行うことで、まとめてパラメータ更新を行う場合と比較して、学習装置100の処理負荷を軽減できる場合がある。
【0080】
制約表Tについては、ユーザが分類器Aのクラスと、分類器Bのクラスとを参照して、設定してもよいし、学習部153が自動的に対応関係を設定してもよい。学習部153が、制約表Tを自動的に設定する第1の処理の一例について説明する。学習部153は、分類器Aの各クラスと、分類器Bの各クラスとを比較し、分類器Bの各クラスのうち、分類器Aに存在しない新たなクラスについては、分類器Aのクラスとの対応関係を「○」とし、その他のクラスを「×」とする。
【0081】
たとえば、分類器Aのクラスを{スポーツ、政治、その他}とする。分類器Bのクラスを{スポーツ(オリンピック以外)、政治、オリンピック、その他}とする。分類器Aのクラス「スポーツ」と、分類器Bの各クラスとの対応関係を生成する場合について説明する。分類器Bの各クラスの内、「政治、その他」は、分類器Aに存在するものであるため、学習部153は、分類器Aのクラス「スポーツ」と、分類器Bのクラス「政治、その他」との対応関係をそれぞれ「×」とする。これに対して、分類器Bの各クラスの内、「スポーツ(オリンピック以外)、オリンピック」は、分類器Aに存在しないので、学習部153は、分類器Aのクラス「スポーツ」と、分類器Bのクラス「スポーツ(オリンピック以外)、オリンピック」との対応関係をそれぞれ「○」に設定する。
【0082】
学習部153が、制約表Tを自動的に設定する第2の処理の一例について説明する。学習部は、分類器Bの教師データDを、分類器Aに適用し、分類結果の差分を基に、分類器Bのクラスと、分類器Aのクラスとの対応関係を設定してもよい。たとえば、学習部153は、正解クラス「スポーツ(オリンピック以外)」に対応する複数の入力データを分類器Aに入力して、分類器Aのクラスのいずれかに分類させ、分類器A「スポーツ」に高頻度で分類される場合に、分類器Bのクラス「スポーツ(オリンピック以外)」と、分類器Aのクラス「スポーツ」との対応関係を「○」に設定する。
【0083】
また、本実施例に係る学習装置100は、マルチタスク学習と組み合わせて、分類器Aおよび分類器Bの学習を行ってもよい。マルチタスク学習と組み合わせた場合の損失関数Lは、式(11)に示すものとなる。学習装置100は、式(11)に示される損失関数Lの値が小さくなるように、パラメータθ、θ、θを調整する。ここで、θは、分類器Aおよび分類器Bが共有するパラメータである。θは、分類器Aのパラメータである。θは、分類器Bのパラメータである。式(11)の1番目の項は、クラス制約つき手法の損失を示す。式(11)の2番目の項は、マルチタスク学習の損失を示す項である。
【0084】
【数11】
【0085】
また、学習部153は、第1教師データ141に、正解クラスが含まれていない場合には、入力データを分類器Aに入力してクラスを求め、入力データと正確クラスとを対応付けた教師データを生成してもよい。
【0086】
次に、実施例に示した学習装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図7は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0087】
図7に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る読み取り装置204と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置205とを有する。コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
【0088】
ハードディスク装置207は、受付プログラム207a、生成プログラム207b、学習プログラム207c、分類プログラム207dを有する。CPU201は、受付プログラム207a、生成プログラム207b、学習プログラム207c、分類プログラム207dを読み出してRAM206に展開する。
【0089】
受付プログラム207aは、受付プロセス206aとして機能する。生成プログラム207bは、生成プロセス206bとして機能する。学習プログラム207cは、学習プロセス206cとして機能する。分類プログラム207dは、分類プロセス206dとして機能する。
【0090】
受付プロセス206aの処理は、受付部151の処理に対応する。変換プロセス206bの処理は、変換部152の処理に対応する。学習プロセス206cの処理は、学習部153の処理に対応する。分類プロセス206cの処理は、分類部154の処理に対応する。
【0091】
なお、各プログラム207a~207dについては、必ずしも最初からハードディスク装置207に記憶させておかなくてもよい。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207hを読み出して実行するようにしてもよい。
【0092】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0093】
(付記1)コンピュータが実行する学習方法であって、
第一の正解ラベルが付与された入力データと、前記第一の正解ラベルとは異なる基準の正解ラベルとなる第二の正解ラベルが付与された入力データとを基にしてモデルの学習を行う場合において、
入力データに対応する前記第一の正解ラベルを基にして、複数の前記第二の正解ラベルを、前記第一の正解ラベルに対応する第二の正解ラベルに制限した正解ラベル候補に変換し、
前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づいて前記モデルの学習を行い、
前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づいて前記モデルの学習を行う
処理を実行することを特徴とする学習方法。
【0094】
(付記2)前記変換する処理は、前記第一の正解ラベルと前記第二の正解ラベルとの対応関係を定義したデータを基にして、複数の前記第二の正解ラベルのうち、前記第一の正解ラベルに対応する第二の正解ラベルを、前記モデルの学習時の正解ラベルの候補とすることを特徴とする付記1に記載の学習方法。
【0095】
(付記3)前記学習を行う処理は、前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づく損失が最小化するように、前記モデルのパラメータを学習することを特徴とする付記1または2に記載の学習方法。
【0096】
(付記4)前記学習を行う処理は、前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づく損失が最小化するように、前記モデルのパラメータを学習することを特徴とする付記1、2または3に記載の学習方法。
【0097】
(付記5)第一の正解ラベルが付与された入力データと、前記第一の正解ラベルとは異なる基準の正解ラベルとなる第二の正解ラベルが付与された入力データとを基にしてモデルの学習を行う場合において、
入力データに対応する前記第一の正解ラベルを基にして、複数の前記第二の正解ラベルを、前記第一の正解ラベルに対応する第二の正解ラベルに制限した正解ラベル候補を変換する変換部と、
前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づいて前記モデルの学習を行い、前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づいて前記モデルの学習を行う学習部
を有することを特徴とする学習装置。
【0098】
(付記6)前記変換部は、前記第一の正解ラベルと前記第二の正解ラベルとの対応関係を定義したデータを基にして、複数の前記第二の正解ラベルのうち、前記第一の正解ラベルに対応する第二の正解ラベルを、前記モデルの学習時の正解ラベルの候補とすることを特徴とする付記5に記載の学習装置。
【0099】
(付記7)前記学習部は、前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づく損失が最小化するように、前記モデルのパラメータを学習することを特徴とする付記5または6に記載の学習装置。
【0100】
(付記8)前記学習部は、前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づく損失が最小化するように、前記モデルのパラメータを学習することを特徴とする付記5、6または7に記載の学習装置。
【0101】
(付記9)コンピュータに、
第一の正解ラベルが付与された入力データと、前記第一の正解ラベルとは異なる基準の正解ラベルとなる第二の正解ラベルが付与された入力データとを基にしてモデルの学習を行う場合において、
入力データに対応する前記第一の正解ラベルを基にして、複数の前記第二の正解ラベルを、前記第一の正解ラベルに対応する第二の正解ラベルに制限した正解ラベル候補を生成し、
前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づいて前記モデルの学習を行い、
前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づいて前記モデルの学習を行う
処理を実行させることを特徴とする学習プログラム。
【0102】
(付記10)前記変換する処理は、前記第一の正解ラベルと前記第二の正解ラベルとの対応関係を定義したデータを基にして、複数の前記第二の正解ラベルのうち、前記第一の正解ラベルに対応する第二の正解ラベルを、前記モデルの学習時の正解ラベルの候補とすることを特徴とする付記9に記載の学習プログラム。
【0103】
(付記11)前記学習を行う処理は、前記第一の正解ラベルが付与された入力データが入力された場合に、前記正解ラベル候補に基づく損失が最小化するように、前記モデルのパラメータを学習することを特徴とする付記9または10に記載の学習プログラム。
【0104】
(付記12)前記学習を行う処理は、前記第二の正解ラベルが付与された入力データが入力された場合に、前記第二の正解ラベルに基づく損失が最小化するように、前記モデルのパラメータを学習することを特徴とする付記9、10または11に記載の学習プログラム。
【符号の説明】
【0105】
100 学習装置
110 通信部
120 入力部
130 表示部
140 記憶部
141 第1教師データ
142 第2教師データ
143 パラメータ
144 制約表データ
145 学習結果モデル
150 制御部
151 受付部
152 変換部
153 学習部
154 分類部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11