(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023103675
(43)【公開日】2023-07-27
(54)【発明の名称】学習モデルの個別化
(51)【国際特許分類】
G06N 3/084 20230101AFI20230720BHJP
【FI】
G06N3/08 140
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022004328
(22)【出願日】2022-01-14
(11)【特許番号】
(45)【特許公報発行日】2022-05-31
(71)【出願人】
【識別番号】520040304
【氏名又は名称】窪田 望
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】窪田 望
(57)【要約】
【課題】既存の学習モデルを個別化する際に効率よく行う。
【解決手段】プロセッサを有する情報処理装置により実行される情報処理方法であって、プロセッサは、各正解データに対応付けられた各学習データを含む所定のデータセットのうち、第1正解データに対応付けられた第1学習データを取得すること、第1学習データに対して付与された第2正解データを取得すること、所定のデータセットに対応する学習モデルに第1学習データを入力して予測データを算出すること、第1正解データと第2正解データとの比較結果に応じて、学習モデルに設定された損失関数に用いられる第2正解データと予測データとの誤差に付与される重みを調整すること、損失関数の出力値を用いて誤差逆伝搬法により学習モデルの学習を行うこと、を実行する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
プロセッサを有する情報処理装置により実行される情報処理方法であって、
前記プロセッサは、
各正解データに対応付けられた各学習データを含む所定のデータセットのうち、第1正解データに対応付けられた第1学習データを取得すること、
前記第1学習データに対して付与された第2正解データを取得すること、
前記所定のデータセットに対応する学習モデルに前記第1学習データを入力して予測データを算出すること、
前記第1正解データと前記第2正解データとの比較結果に応じて、前記学習モデルに設定された損失関数に用いられる前記第2正解データと前記予測データとの誤差に付与される重みを調整すること、
前記損失関数の出力値を用いて誤差逆伝搬法により前記学習モデルの学習を行うこと、を実行する情報処理方法。
【請求項2】
前記調整することは、
前記比較結果が、前記第1正解データと前記第2正解データとが異なることを示す場合に、前記重みを所定値より大きくすることを含む、請求項1に記載の情報処理方法。
【請求項3】
前記調整することは、
前記誤差が大きいほど、前記重みを大きくすることを含む、請求項1又は2に記載の情報処理方法。
【請求項4】
前記第1学習データを取得することは、
前記所定のデータセットのうち、所定数の第1学習データを取得することを含み、
前記第2正解データを取得することは、
各第1学習データに対して、正解データの選択肢の中から所定のユーザにより選択された各第2正解データを取得することを含み、
前記第1学習データごとに、前記予測データ及び前記誤差が算出される、請求項1から3のいずれか一項に記載の情報処理方法。
【請求項5】
前記プロセッサは、
前記所定のデータセットを他の情報処理装置から取得すること、
所定のユーザのユーザ識別情報と前記所定のユーザが付与した前記第2正解データとが前記第1学習データに対応付けられて更新された所定のデータセットを、前記他の情報処理装置に出力することを実行する、請求項1から4のいずれか一項に記載の情報処理方法。
【請求項6】
前記第1学習データを取得することは、
前記他の情報処理装置から取得された所定のデータセットに含まれる第1学習データを取得することを含み、
前記第2正解データを取得することは、
所定のユーザ識別情報が特定され、当該所定のユーザ識別情報に対応する第2正解データを取得することを含む、請求項5に記載の情報処理方法。
【請求項7】
前記学習が2回目以降の繰り返しである場合、前記重みを調整することは、
前記第1正解データと前記第2正解データとが異なる第1学習データが前記学習モデルに入力され、当該学習モデルを用いて算出された予測データと、前記第2正解データとの誤差が所定値以内の場合、前記重みの調整を停止することを含む、請求項1から6のいずれか一項に記載の情報処理方法。
【請求項8】
プロセッサを有する情報処理装置であって、
前記プロセッサは、
各正解データに対応付けられた各学習データを含む所定のデータセットのうち、第1正解データに対応付けられた第1学習データを取得すること、
前記第1学習データに対して付与された第2正解データを取得すること、
前記所定のデータセットに対応する学習モデルに前記第1学習データを入力して予測データを算出すること、
前記第1正解データと前記第2正解データとの比較結果に応じて、前記学習モデルに設定された損失関数に用いられる前記第2正解データと前記予測データとの誤差に付与される重みを調整すること、
前記損失関数の出力値を用いて誤差逆伝搬法により前記学習モデルの学習を行うこと、を実行する情報処理装置。
【請求項9】
情報処理装置に備えられるプロセッサに、
各正解データに対応付けられた各学習データを含む所定のデータセットのうち、第1正解データに対応付けられた第1学習データを取得すること、
前記第1学習データに対して付与された第2正解データを取得すること、
前記所定のデータセットに対応する学習モデルに前記第1学習データを入力して予測データを算出すること、
前記第1正解データと前記第2正解データとの比較結果に応じて、前記学習モデルに設定された損失関数に用いられる前記第2正解データと前記予測データとの誤差に付与される重みを調整すること、
前記損失関数の出力値を用いて誤差逆伝搬法により前記学習モデルの学習を行うこと、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習モデルを個別化するための情報処理方法、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
複数ユーザ分の情報を基にした学習データを入力して一般的な学習モデルを生成し、ユーザ一人分の情報に基づいて、一般的な学習モデルをパーソナライズ化する技術が知られている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、教師あり学習を行って学習された一般的な学習モデルに対して、ユーザが学習データに正解データを付与して個別化を図る場合、ユーザ個人の正解データが付与された学習データを用いて学習が行われる。
【0005】
しかしながら、ユーザが付与する正解データと、予め付与されている正解データとの間に乖離があった場合、この学習データこそ個別化という観点において着目すべきであるが、特に何も処理がなされていないのが現状である。
【0006】
そこで、本発明は、既存の正解データと新たに付与される正解データとの乖離に着目し、既存の学習モデルの個別化を効率よく行うことを可能にする情報処理方法、情報処理装置、及びプログラムを提供する。
【課題を解決するための手段】
【0007】
本発明の一態様に係る情報処理方法は、プロセッサを有する情報処理装置により実行される情報処理方法であって、前記プロセッサは、各正解データに対応付けられた各学習データを含む所定のデータセットのうち、第1正解データに対応付けられた第1学習データを取得すること、前記第1学習データに対して付与された第2正解データを取得すること、前記所定のデータセットに対応する学習モデルに前記第1学習データを入力して予測データを算出すること、前記第1正解データと前記第2正解データとの比較結果に応じて、前記学習モデルに設定された損失関数に用いられる前記第2正解データと前記予測データとの誤差に付与される重みを調整すること、前記損失関数の出力値を用いて誤差逆伝搬法により前記学習モデルの学習を行うこと、を実行する。
【発明の効果】
【0008】
本発明によれば、既存の学習モデルの個別化を効率よく行うことを可能にする。
【図面の簡単な説明】
【0009】
【
図1】実施形態に係るシステム構成の一例を示す図である。
【
図2】実施形態に係る情報処理装置の物理的構成の一例を示す図である。
【
図3】実施形態に係る情報処理装置の処理ブロックの一例を示す図である。
【
図4】実施形態に係るデータセットの一例を示す図である。
【
図5】実施形態に係るアノテーションの例を示す図である。
【
図6】実施形態に係るデータセット内のグループを選択する例を示す図である。
【
図7】実施形態に係る情報処理装置の処理例を示すシーケンス図である。
【発明を実施するための形態】
【0010】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0011】
<システム構成>
図1は、実施形態に係るシステム構成の一例を示す図である。
図1に示す例では、サーバ10と、各情報処理装置20A、20B、20C、20Dとが、ネットワークを介してデータ送受信可能なように接続される。情報処理装置を個別に区別しない場合は情報処理装置20とも表記する。
【0012】
サーバ10は、データを収集、分析可能な情報処理装置であり、1つ又は複数の情報処理装置から構成されてもよい。情報処理装置20は、スマートフォン、パーソナルコンピュータ、タブレット端末、サーバ、コネクティッドカーなど、機械学習を実行可能な情報処理装置である。なお、情報処理装置20は、脳波をセンシングする侵襲型又は非侵襲型の電極に直接的又は間接的に接続されており、脳波データを解析、送受信可能な装置でもよい。
【0013】
図1に示すシステムでは、サーバ10は、教師あり学習に用いられる1又は複数のデータセットと、複数のデータセットのうちの少なくとも1つのデータセットを用いて学習された学習済みの学習モデルとを有する。サーバ10は、各情報処理装置20からのリクエストに応じて、所定のデータセット及びこのデータセットを用いて学習された学習モデルの組、所定のデータセット、又は所定の学習モデルを、各情報処理装置20に送信してもよい。また、サーバ10は、各情報処理装置20からのリクエストに応じて、学習済みの学習モデルを個別化するプログラムを送信したり、このプログラムを記録した非一時的な記録媒体を提供したりしてもよい。
【0014】
各情報処理装置20は、メモリに記憶された、又はサーバ10から取得したプログラムを実行し、学習済みの所定の学習モデルの個別化を行う。各情報処理装置20は、学習モデルの個別化を行う場合に、所定のデータセットに含まれる1又は複数の学習データに対して、ユーザのアノテーションを受け付ける。例えば、各情報処理装置20は、学習データを画面等に出力し、正解データ(正解値又は正解ラベルとも呼ばれる)を受け付ける。
【0015】
この場合、ユーザから正解データが付与された学習データに基づいて学習モデルの個別化が行われる。このとき、既存の正解データとユーザにより付与された正解データとの間に乖離がある学習データは、乖離がない学習データよりも、乖離がある学習データの特徴が学習により強く反映されるように、損失関数の誤差に設けられる重みが調整される。
【0016】
これにより、既存の学習モデルに対して個別化が行われる場合、ユーザの特徴が表れる学習データの予測誤差に対して重みを与えることで、学習を効率よく行うことが可能になる。例えば、既存の正解データとユーザにより付与された正解データとの間に乖離がある学習データの予測誤差をより大きくして誤差逆伝搬法を行うことにより、このユーザの特徴を有する学習データの予測誤差が損失関数の出力値に反映される。そして、ユーザの特徴が反映された出力値に基づく誤差逆伝搬法を用いて学習が繰り返し行われるにつれて、このユーザの特徴を有する学習データの予測誤差がより小さくなるようにハイパーパラメータの調整が行われ、学習に対してユーザの特徴をより強く反映させることができる。以下、本実施形態の各装置の構成について説明する。
【0017】
<ハードウェア構成>
図2は、実施形態に係る情報処理装置10の物理的構成の一例を示す図である。情報処理装置10は、演算部に相当するCPU(Central Processing Unit)10aと、記憶部に相当するRAM(Random Access Memory)10bと、記憶部に相当するROM(Read only Memory)10cと、通信部10dと、入力部10eと、表示部10fと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。
【0018】
本実施形態では、情報処理装置10が一台のコンピュータで構成される場合について説明するが、情報処理装置10は、複数のコンピュータ又は複数の演算部が組み合わされて実現されてもよい。また、
図1で示す構成は一例であり、情報処理装置10はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
【0019】
CPU10aは、プロセッサの一例であり、RAM10b又はROM10cに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU10aは、例えば、所定の学習モデルを用いて学習を行うプログラム(学習プログラム)を実行する演算部である。CPU10aは、入力部10eや通信部10dから種々のデータを受け取り、データの演算結果を表示部10fに表示したり、RAM10bに格納したりする。
【0020】
RAM10bは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。RAM10bは、CPU10aが実行するプログラム、各学習モデル、各学習モデルのパラメータに関するデータ、学習対象データの特徴量に関するデータなどを記憶してもよい。なお、これらは例示であって、RAM10bには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
【0021】
ROM10cは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ROM10cは、例えば学習プログラムや、書き換えが行われないデータを記憶してよい。
【0022】
通信部10dは、情報処理装置10を他の機器に接続するインターフェースである。通信部10dは、インターネット等の通信ネットワークに接続されてよい。
【0023】
入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード及びタッチパネルを含んでよい。
【0024】
表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。表示部10fが演算結果を表示することは、XAI(eXplainable AI:説明可能なAI)に貢献し得る。表示部10fは、例えば、学習結果や、学習に関連するデータを表示してもよい。
【0025】
学習プログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な非一時的な記録媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信ネットワークを介して提供されてもよい。情報処理装置10では、CPU10aが学習プログラムを実行することにより、後述する様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、情報処理装置10は、CPU10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。また、情報処理装置10は、GPU(Graphical Processing Unit)やASIC(Application Specific Integrated Circuit)を備えていてもよい。
【0026】
なお、情報処理装置20の構成は、
図2に示す情報処理装置10の構成と同様であるため、その説明を省略する。また、情報処理装置10と情報処理装置20とは、データ処理を行う基本的な構成であるCPU10aやRAM10b等を有していればよく、入力部10eや表示部10fは設けられなくてもよい。また、入力部10eや表示部10fは、外部からインターフェースを用いて接続されてもよい。
【0027】
<処理構成>
図3は、実施形態に係る情報処理装置20の処理ブロックの一例を示す図である。情報処理装置20は、取得部21、学習部22、出力部23、記憶部24を備える。情報処理装置20は、汎用のコンピュータや量子コンピュータなどで構成されてもよい。
【0028】
取得部21は、各正解データに対応付けられた各学習データを含む所定のデータセットのうち、第1正解データに対応付けられた第1学習データを取得する。例えば、取得部21は、記憶部24に記憶されているデータセット24aの少なくとも1つの第1学習データを取得する。第1学習データには第1正解データが対応付けられている。また、データセット24aは、サーバ10から受信して記憶部24に記憶されたデータセットでもよい。
【0029】
データセット24aは、例えば、画像データ、系列データ及びテキストデータの少なくともいずれか1つを含む。ここで、画像データは、静止画のデータ、又は動画のデータを含む。系列データは、音声データや株価のデータなどを含む。
【0030】
また、取得部21は、第1学習データに対して付与された第2正解データを取得する。例えば、取得部21は、第1学習データに対して、情報処理装置20を利用するユーザによりアノテーションされた正解データを取得する。取得部21は、ユーザの操作により正解データを受け付ける受付部としての機能を有してもよい。
【0031】
学習部22は、例えば教師あり学習を行い、所定の問題に対して教師あり学習が行われた所定の学習モデル22a、算出部22b、調整部22cを有する。なお、学習モデル22aは、サーバ10から受信した学習モデルや、学習データを用いた学習が行われていない未学習の学習モデルなどでもよい。
【0032】
所定の学習モデル22aは、例えば、予測モデルであり、画像認識モデル、系列データ解析モデル、ロボットの制御モデル、強化学習モデル、音声認識モデル、音声生成モデル、画像生成モデル、自然言語処理モデル等の少なくとも1つを含む。また、所定の学習モデル22aの具体例としては、CNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、DNN(Deep Neural Network)、LSTM(Long Short-Term Memory)、双方向LSTM、DQN(Deep Q-Network)、VAE(Variational AutoEncoder)、GANs(Generative Adversarial Networks)、flow-based生成モデル等のいずれかでもよい。
【0033】
また、学習モデル22aは、学習済みモデルを枝刈り(Pruning)、量子化(Quantization)、蒸留(Distillation)又は転移(Transfer)して得られるモデルを含む。なお、これらは一例に過ぎず、学習部22は、これら以外の問題について、学習モデルの機械学習を行ってもよい。学習部22は、学習するデータセットの特徴に応じて学習モデル22aを選択し、この学習モデルを用いて教師あり学習を行ってもよい。また、学習部22において使用される損失関数は、学習モデル22aの出力と正解データとに関する2乗誤差関数であったり、クロスエントロピー関数であったりしてよい。学習部22は、損失関数の値が小さくなるように、所定の条件が満たされるまで誤差逆伝搬法を用いてハイパーパラメータを調整しながら学習を繰り返す。
【0034】
算出部22bは、所定のデータセットに対応する学習モデル22aに第1学習データを入力して予測データを算出する。例えば、算出部22bは、回帰問題を解く学習モデル22aの場合、予測データとしての予測値を算出する。また、算出部22bは、分類問題を解く学習モデル22aの場合、予測データとしての分類値を算出する。
【0035】
調整部22cは、学習データに予め設定された第1正解データとユーザにより付与された第2正解データとの比較結果に応じて、学習モデル22aに設定された損失関数に用いられる第2正解データと予測データとの誤差に付与される重みを調整する。例えば、調整部22cは、第1正解データと第2正解データとが異なる場合、この第2正解データが付与された学習データの予測誤差がより強く学習に反映されるように、この誤差に付与される重みを大きくする。
【0036】
学習部22は、損失関数の出力値を用いて誤差逆伝搬法により学習モデル22aの学習を行う。例えば、学習部22は、第1正解データと第2正解データとが異なる学習データに対する誤差が大きくなるように調整された損失関数の出力値を用いて、誤差逆伝搬法を行ってハイパーパラメータの調整を行う。すなわち、ユーザの特徴を有する学習データの予測誤差が大きくなるように調整された出力値に基づいて、損失関数の出力値が小さくなるようにハイパーパラメータが調整されるため、ユーザの特徴をより強く学習に反映させる。
【0037】
以上の処理により、既存の学習モデルの個別化を効率よく行うことができる。例えば、ユーザのアノテーションが少ない場合でも、そのユーザの特徴を表す学習データの予測誤差に対する重みを大きくすることにより、学習モデルの個別化を効率よく行うことができる。また、ユーザのアノテーション結果を提供したくないユーザにとっては、アノテーション結果を提供せずに、個別化された学習モデルを提供することなども可能になる。
【0038】
出力部23は、学習結果に関する情報を出力する。例えば、出力部23は、学習済みの学習モデルに関する情報や、学習精度に関する情報をサーバ10に出力してもよい。
【0039】
また、調整部22cは、2回目以降の繰り返しの学習の際に、第1正解データと第2正解データとが異なる学習データの予測データが、第2正解データと一致するようになれば、それ以降重みを調整しなくてもよい。これは、その時点の学習モデルがユーザの特徴を反映していることにより、予測データが第2正解データと一致するようになったため、この学習データの予測誤差を調整する必要がなくなったからである。
【0040】
例えば、2回目以降の繰り返しの学習の際に、第1正解データと第2正解データとが異なる学習データが学習モデルに入力される。調整部22cは、この学習モデルにより算出された予測データと第2正解データとの誤差が所定値以内であれば、予測データが第2正解データに一致又は類似すると判断し、この学習データに対する重みの調整を停止する。これにより、必要以上に予測誤差を大きくすることを防ぐことができ、適切な学習を繰り返し行うことができるようになる。
【0041】
また、調整部22cは、第1正解データと第2正解データとの比較結果が、第1正解データと第2正解データとが異なることを示す場合に、損失関数に用いられる重みを所定値より大きくすることを含んでもよい。例えば、調整部22cは、損失関数として、2乗誤差関数を用いる場合、以下の数式(1)の重みwnを調整する。
【数1】
【0042】
この場合、調整部22cは、デフォルト値として1が設定された重みwnに対して、s番目の学習データの第1正解データと第2正解データとが異なることを示す場合に、wsを1より大きい値に設定する。これにより、既存の正解データと異なる正解データが付与された学習データに対する誤差をより大きくすることで、この学習データの特徴をより強く学習モデルに反映させることができる。
【0043】
また、調整部22cは、学習部22が解く所定の問題の種類に応じて、損失関数を選択してもよい。例えば、調整部22cは、回帰問題の場合には上記の数式(1)の損失関数、二値分類問題の場合には下記の数式(2)の損失関数、多値分類問題の場合には下記の数式(3)の損失関数を選択する。なお、記載した損失関数は一例であって、これに限られるものではない。
【数2】
【数3】
【0044】
また、調整部22cは、第1正解データと第2正解データとの誤差が大きいほど、損失関数に用いられる重みwnを大きくすることを含んでもよい。例えば、調整部22cは、誤差値の絶対値に基づいて重みwnを設定することで、誤差値の大きさを重みwnに反映してもよい。
【0045】
これにより、ユーザが付与した正解データが既存の正解データと大きく異なるほど、その学習データはユーザの特徴を有するため、この学習データに対する誤差をより大きくすることができる。その結果、損失関数の出力値が大きくなり、誤差逆伝搬法によるハイパーパラメータの調整の際に、この学習データが有するユーザの特徴をより強く学習モデルに反映させることができる。
【0046】
また、取得部21は、所定のデータセットのうち、所定数の第1学習データを取得することを含んでもよい。この場合、取得部21は、各第1学習データに対して、正解データの選択肢の中から所定のユーザにより選択された各第2正解データを取得することを含んでもよい。例えば、取得部21は、順に画面に表示される学習データに対して、ユーザによるアノテーション結果(第2正解データ)を受け付けて取得してもよい。
【0047】
また、算出部22bは、第1学習データごとに、予測データ及び誤差を算出し、調整部22cは、第1正解データと第2正解データとの比較結果を反映した重みを誤差に乗算して、損失関数の出力値を算出する。
【0048】
これにより、所定数の学習データに対してユーザがアノテーションを順に行うことで、アノテーション結果によるユーザの特徴をより強く反映しながら既存の学習モデルを個別化することが可能になる。
【0049】
また、取得部21は、所定のデータセットを他の情報処理装置(例えばサーバ10)から取得してもよい。また、出力部23は、所定のユーザのユーザ識別情報と所定のユーザが付与した第2正解データとが第1学習データに対応付けられて更新された所定のデータセットを、他の情報処理装置に出力する。所定のデータセットの取得元と、更新後の所定のデータセットの出力先とは、必ずしも同じである必要はなく、異なる情報処理装置であってもよい。
【0050】
これにより、サーバ10は、各ユーザにアノテーションを行わせ、ユーザごとのアノテーション結果を対応付けたデータセットを生成することができる。また、サーバ10は、ユーザを指定することで、そのユーザに応じた学習モデルの生成を可能にすることができる。
【0051】
また、取得部21は、他の情報処理装置(例えばサーバ10)から取得された所定のデータセットに含まれる第1学習データを取得することを含んでもよい。この場合、取得部21は、所定のユーザ識別情報(ユーザID)が特定され、所定のユーザ識別情報に対応する第2正解データを取得することを含んでもよい。例えば、取得部21は、学習データに、各ユーザIDの各正解データが対応付けられたデータセットを、サーバ10から取得してもよい。
【0052】
これにより、情報処理装置20は、目的や用途に応じてユーザIDを選択し、選択されたユーザIDに対応する正解データを用いて、既存の学習モデルの個別化を図ることが可能になる。
【0053】
なお、情報処理装置20が有する各処理部は、サーバ10に設けられてもよい。例えば、各情報処理装置20を利用する各ユーザにアノテーションを行わせ、学習モデルの個別化はサーバ10の学習部で実行してもよい。
【0054】
<データ例>
図4は、実施形態に係るデータセットの一例を示す図である。
図4に示す例では、予め正解データが付与されている学習データに対して、所定のユーザが正解データを追加で付与することができるデータセットを表す。
【0055】
図4に示す例では、データセットは、各第1学習データを有し、それぞれの第1学習データに、予め設定された第1正解データ、ユーザ識別情報が示すユーザが付与した第2正解データが対応付けられる。例えば、ユーザ識別情報が異なれば、異なるユーザが付与した第2正解データであることを示す。
【0056】
図4に示すデータセットは一例であり、特定のユーザのみから正解データが付与されるのであれば、ユーザ識別情報が含まれないデータセットであってもよい。また、データセットに含まれる学習データのカテゴリ(画像、系列データなど)を示す情報がデータセットに含まれてもよい。
【0057】
<ユーザインタフェースの例>
図5は、実施形態に係るアノテーションの例を示す図である。
図5に示す例では、データセットに含まれる学習データは音楽データであり、正解データは音楽に対するユーザの感じ方とする。
【0058】
図5に示す例では、画面に各音楽のタイトルが表示され、タイトル部分を操作すると音楽を聴くことができる。例えば、ユーザは、「音楽A」に対して「落ち着く」を選択したことを示し、「音楽B」に対して「気分高揚」を選択したことを示す。ここで、「設定」がユーザにより操作されると、各音楽データに対して選択された選択肢が各正解データ(第2正解データ)として記憶される。
【0059】
ユーザにより上述したようなアノテーションが完了すると、学習部22により学習が行われるが、アノテーションに用いられた学習データを用いて学習モデルの個別化が行われる。このとき、調整部22cは、既に付与されている正解データ(第1正解データ)と、
図5に示す例などのようにして付与された正解データ(第2正解データ)とが異なる場合、その音楽データの特徴をより強く学習に反映させるために、損失関数に関する重みを調整する。
【0060】
例えば、
図5に示す例の場合、音楽Aと音楽Cとに付与された第2正解データが、既に付与されている第1正解データと異なる場合、音楽Aの予測データと第2正解データとの誤差、及び音楽Cの予測データと第2正解データとの誤差の重みを大きくすることで、音楽Aと音楽Bの特徴が学習モデルにより強く反映されるようにする。
【0061】
図6は、実施形態に係るデータセット内のグループを選択する例を示す図である。
図6に示す例では、データセットに含まれる学習データのうち、各年代によってグループが分けられており、年代ごとに第2正解データが付与されている。
図6に示すデータセットの場合、
図4に示すデータセットのユーザ識別情報にはグループIDが含まれる。
図6に示す例は、データセットAに対してカテゴリ「10代」が選択されている。
【0062】
10代のユーザが付与した正解データを有する学習データを用いて10代用の学習モデルが生成される際に、10代の第2正解データが、一般的な正解である第1正解データと異なる場合に、その学習データの特徴が個別化の学習の際に強く反映されるようにする。
【0063】
<処理例>
図7は、実施形態に係る情報処理装置20の処理例を示すシーケンス図である。ステップS102において、取得部21は、各正解データに対応付けられた各学習データを含む所定のデータセットのうち、第1正解データに対応付けられた第1学習データを取得する。
【0064】
ステップS104において、取得部21は、第1学習データに対して付与された第2正解データを取得する。
【0065】
ステップS106において、算出部22bは、所定のデータセットに対応する学習モデル22aに第1学習データを入力して予測データを算出する。
【0066】
ステップS108において、調整部22cは、学習データに予め設定された第1正解データとユーザにより付与された第2正解データとの比較結果に応じて、学習モデル22aに設定された損失関数に用いられる第2正解データと予測データとの誤差に付与される重みを調整する。
【0067】
ステップS110において、学習部22は、損失関数の出力値を用いて誤差逆伝搬法により学習モデル22aの学習を行う。
【0068】
以上の処理により、既存の学習モデルの個別化を効率よく行うことができる。例えば、ユーザのアノテーションが少ない場合でも、そのユーザの特徴を表す学習データの予測誤差に対する重みを大きくすることにより、学習モデルの個別化を効率よく行うことができる。
【0069】
以上、実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【0070】
上記実施形態では、情報処理装置20の学習部22は、他の装置に実装されてもよく、この場合、情報処理装置20は、学習モデルの個別化を他の装置に指示してもよい。
【符号の説明】
【0071】
10、20…情報処理装置、10a…CPU、10b…RAM、10c…ROM、10d…通信部、10e…入力部、10f…表示部、21…取得部、22…学習部、22a…学習モデル、22b…算出部、22c…調整部、23…出力部、24…記憶部