(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-14
(45)【発行日】2025-01-22
(54)【発明の名称】モデル学習装置、モデル学習方法、及びモデル学習プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20250115BHJP
【FI】
G06N20/00
(21)【出願番号】P 2023563387
(86)(22)【出願日】2021-11-24
(86)【国際出願番号】 JP2021043009
(87)【国際公開番号】W WO2023095211
(87)【国際公開日】2023-06-01
【審査請求日】2024-03-11
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】南部 優太
(72)【発明者】
【氏名】幸島 匡宏
(72)【発明者】
【氏名】山本 隆二
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2019-125319(JP,A)
【文献】永原聡士,機械学習を用いた生産現場における着工順序ルールのモデリング,日本機械学会論文集 [online],一般社団法人日本機械学会,2021年05月12日,[検索日 2022.01.28], インターネット:<URL:https://www.jstage.jst.go.jp/article/transjsme/advpub/0/advpub_20-00396/_article/-char/ja/>,<DOI: 10.1299/transjsme.20-00396>, Online ISSN: 2187-9761, ISSN-L: 2187-9761
【文献】門田健明 ほか,簡易な相対アノテーションに基づく潰瘍性大腸炎の重症度分類,電子情報通信学会技術研究報告[online],日本,一般社団法人電子情報通信学会,2020年10月02日,Vol.120, No.187,pp.1-5(PRMU2020-18),ISSN: 2432-6380
【文献】GENG, Bo ほか,Ranking model adaptation for domain-specific search,IEEE Transactions on Knowledge and Data Engineering [online],IEEE,2012年04月,Vol.24, No.4,pp.745-758,[検索日 2022.01.28], インターネット:<URL:https://ieeexplore.ieee.org/document/5677513?arnumber=5677513>,<DOI: 10.1109/TKDE.2010.252>, Print ISSN: 1041-4347, Electronic ISSN: 1558-2191
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
入力データを取得する入力データ処理部と、
設定パラメタを取得する設定パラメタ処理部と、
前記入力データと前記設定パラメタを入力として、順序関係を保持する損失関数とモデルの出力を制限する正則化項から構成される目的関数を用いて、モデルパラメタをランク学習するモデルパラメタ学習部と、
学習したモデルパラメタを出力するモデルパラメタ処理部を有し、
前記入力データは、観測可能な多変量データと順序関係を示すラベルデータであり、
前記設定パラメタは、前記正則化項のハイパーパラメタを含み、
前記モデルパラメタ学習部は、目的変数
を予測するスコアを出力するモデルパラメタを得る、
モデル学習装置。
【請求項2】
前記ハイパーパラメタは、前記目的変数の分位数を含み、ここで、前記分位数とは、ソート済みの数の集合を正の整数で等分する位置に存在する数であり、
前記モデルパラメタ学習部は、モデルの出力値の分位数を前記目的変数の前記分位数と近似させる、
請求項1に記載のモデル学習装置。
【請求項3】
前記モデルパラメタ学習部は、前記目的変数の前記分位数と前記モデルの前記出力値の前記分位数を用いて計算される項を含む目的関数を最小化する、
請求項2に記載のモデル学習装置。
【請求項4】
前記ハイパーパラメタは、前記正則化項の重みを決定するパラメタをさらに含む、
請求項2または3に記載のモデル学習装置。
【請求項5】
前記モデルパラメタ学習部は、勾配法、確率的勾配法、またはAdamを用いて、前記目的関数を最適化する、
請求項1から4までのいずれかひとつに記載のモデル学習装置。
【請求項6】
前記設定パラメタは、前記目的関数の最適化に用いる学習率パラメタをさらに含む、
請求項5に記載のモデル学習装置。
【請求項7】
入力データを取得することと、
設定パラメタを取得することと、
前記入力データと前記設定パラメタを入力として、順序関係を保持する損失関数とモデルの出力を制限する正則化項から構成される目的関数を用いて、モデルパラメタをランク学習することと、
学習したモデルパラメタを出力することを有し、
前記入力データは、観測可能な多変量データと順序関係を示すラベルデータであり、
前記設定パラメタは、前記正則化項のハイパーパラメタを含み、
前記ランク学習することは、目的変数
を予測するスコアを出力するモデルパラメタを得る、
コンピュータが実行するモデル学習方法。
【請求項8】
請求項1から6までのいずれかひとつに記載のモデル学習装置の各構成要素の機能をコンピュータに実行させるモデル学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル学習装置、モデル学習方法、及びモデル学習プログラムに関する。
【背景技術】
【0002】
多変量データから入出力関係を表すモデルを学習することは、機械学習・人工知能分野における問題の1つである。この問題において、通常の設定では、入力値とその入力から得られる出力値の組の集合が数値のデータとして与えられる。しかし、アンケート等において心理的抵抗から回答が得られない場合や、出力値が観測困難なものを対象にする場合は、数値ではなく順序関係が出力値として与えられる場合がある。
【0003】
心理的抵抗から数値が得られない場合として、身体情報や私生活に関する情報の収集・分析が挙げられる。例えば、食生活と健康の関係を調べるためアンケート調査を実施する際、心理的抵抗から体重を回答してもらえない場合がある。他にも、室内の状況(温度・湿度など)から電力の消費量を予測するため、データを収集する場合がある。ここでも、在宅時間や家族構成を推測されたくないなどの心理的抵抗から実測値が提供されない場合がある。
【0004】
また、出力値が観測困難な例としては、満足度や興奮といった感情・情動が挙げられる。一般に人間の感情・情動は、真値が観測できず、評価者の主観を含むため絶対評価困難であるという課題がある。そのため、人間の感情・情動のデータは、Likert scales(非特許文献1)やSAM(self-assessment manikins)(非特許文献2)などの多段階評価によって得られることが多い。これらの評価尺度は、非線形かつ評価者のバイアスを含むため間隔尺度や比例尺度とみなすのは妥当でない。実際、ある評価者Aの情動評価値2点と評価者Bの情動評価値4点を比較して、2倍の差があると論じることや、同じ2点差であるからといって評価結果が1点と3点であった場合と同等だと解釈することは妥当でない。
【0005】
これらの課題は、アンケートにおける設問を順序尺度にするあるいは回答を順序尺度として解釈することで軽減される。設問を順序尺度にするとは、「体重を入力してください」ではなく「体重は~kg以上ですか?」のような設問とすることを意味する。具体的数値に言及しないことで、心理的抵抗を軽減することが可能であり回答を得やすくなる。また、感情や情動などの場合においても、評価者Aの情動評価値2点と評価者Bの情動評価値4点から、「A<B」と解釈することができる。この「A<B」は回答を順序関係として扱っており、数値として扱う場合に比べ、誤った解釈が含まれる可能性を低減できる。このような設定から、具体的な数値は得られないが順序関係がラベルデータとして与えられた場合に、その順序関係から具体的な数値を予測する問題を検討する必要がある。
【0006】
順序関係からモデルパラメタを学習する手法としてランク学習がある。よく用いられるペアワイズランク学習をもとに、以下に一般的なランク学習の流れを述べる。要素数nx個の観測可能な多変量データXに対して、順序関係を示すnk個のペアの集合Dをラベルデータとして定義する。多変量データXとペアの集合Dは、以下のとおりである。
【0007】
【0008】
これは、vk>ukを示しているのではなく、入力値がvk,ukであるときの目的変数yvk,yukがyvk>yukであることを示している。そして、学習させたいモデルをfとすると、このvk,ukを入力して得られる出力値f(vk),f(uk)がf(vk)>f(uk)となるようL=exp(f(vk)-f(uk))などを最小化することで学習は実現される。つまり、ランク学習の目的は、意図したランキングを構成するためのスコア出力モデルfのパラメタ調整である。
【0009】
有名なランク学習手法としてRankNet(非特許文献3)がある。これはロジスティック関数とエントロピー損失関数を用いて、損失関数Lを以下で定義している。
【0010】
【0011】
この損失関数は、ペアデータの順序関係を保持するとき出力が小さくなるためラベルデータの順序関係を満たすスコアの生成が可能となる。
【0012】
また、ガウス分布を用いたランク学習手法(非特許文献4)も存在する。この手法では、損失関数Lを以下で定義している。
【0013】
【0014】
これらの手法は、順序関係からモデルパラメタを調整し、ランキングを構築可能なスコアを生成するモデルである。つまり、ラベルデータに沿ったランキングを構築することができれば、スコアの値は問わない。例えば、映画鑑賞時の情動を1から5点で評価した結果、入力vk,ukに対して、ukよりもvkの方が好ましいことが得られたとする。このラベルから学習することで、f(vk)>f(uk)を満たすとは可能であり、ラベルデータに沿ったランキングは構築可能である。しかし、f(vk),f(uk)が閉区間[1,5]に収まる保証はなく、このスコアを情動評価値としてみなすことはできない。
【先行技術文献】
【非特許文献】
【0015】
【文献】R. Likert. A technique for the measurement of attitudes. Archives of Psychology, Vol. 22 140, pp. 5-55, 1932.
【文献】Jon D. Morris. Observations: SAM: The Self-Assessment Manikin An Efficient Cross-Cultural Measurement Of Emotional Response. (This article originally appeared in the Journal of Advertising Research November/December 1995.)
【文献】Christopher Burges, Tal Shaked, Erin Renshaw, Ari Lazier, Matt Deeds, Nicole Hamilton, and Greg Hullender. Learning to rank using gradient descent. pp. 89-96, 01 2005.
【文献】Wei Chu and Zoubin Ghahramani. Preference learning with gaussian processes. pp. 137-144, 08 2005.
【発明の概要】
【発明が解決しようとする課題】
【0016】
しかし、既存のランク学習はラベルデータから順序関係を学習し、その順序関係に沿ったスコアを出力するモデルであり、その出力は目的変数を示すものではない。すなわち、既存のランク学習を用いるだけでは、順序関係のみがラベルデータとして与えられた場合に、その順序関係から具体的な目的変数を予測することは難しい。
【0017】
本発明は、上記事情に着目してなされたもので、その目的は、ラベルデータとして順序関係のみしか得られない場合でも、その順序関係から目的変数を予測するモデル学習装置、モデル学習方法、及びモデル学習プログラムを提供することにある。
【課題を解決するための手段】
【0018】
本発明の一態様は、モデル学習装置である。モデル学習装置は、入力データを取得する入力データ処理部と、設定パラメタを取得する設定パラメタ処理部と、前記入力データと前記設定パラメタを入力として、順序関係を保持する損失関数とモデルの出力を制限する正則化項から構成される目的関数を用いて、モデルパラメタをランク学習するモデルパラメタ学習部と、学習したモデルパラメタを出力するモデルパラメタ処理部を有する。前記入力データは、観測可能な多変量データと順序関係を示すラベルデータである。前記設定パラメタは、前記正則化項のハイパーパラメタを含む。前記モデルパラメタ学習部は、目的変数を予測するスコアを出力するモデルパラメタを得る。
【0019】
本発明の一態様は、コンピュータが実行するモデル学習方法である。モデル学習方法は、入力データを取得することと、設定パラメタを取得することと、前記入力データと前記設定パラメタを入力として、順序関係を保持する損失関数とモデルの出力を制限する正則化項から構成される目的関数を用いて、モデルパラメタをランク学習することと、学習したモデルパラメタを出力することを有する。前記入力データは、観測可能な多変量データと順序関係を示すラベルデータである。前記設定パラメタは、前記正則化項のハイパーパラメタを含む。前記ランク学習することは、目的変数を予測するスコアを出力するモデルパラメタを得る。
【0020】
本発明の一態様に係るモデル学習プログラムは、上記のモデル学習装置の各構成要素の機能をコンピュータに実行させる。
【発明の効果】
【0021】
本発明によれば、ラベルデータとして順序関係のみしか得られない場合でも、その順序関係から目的変数を予測するモデル学習装置、モデル学習方法、及びモデル学習プログラムが提供される。
【図面の簡単な説明】
【0022】
【
図1】
図1は、実施形態に係るモデル学習装置の機能構成の一例を示すブロック図である。
【
図2】
図2は、実施形態に係るモデル学習装置のハードウェア構成の一例を示すブロック図である。
【
図3】
図3は、実施形態に係るモデル学習装置が実行するモデルパラメタの推定の処理手順と処理内容の一例を示すフローチャート図である。
【
図4】
図4は、実施形態に係るモデル学習装置のモデルパラメタ学習部が実行するモデルパラメタのランク学習の処理手順と処理内容の一例を示すフローチャート図である。
【発明を実施するための形態】
【0023】
以下、図面を参照して本発明に係る実施形態について説明する。
【0024】
[構成例]
まず、
図1を参照して、モデル学習装置1の動作について説明する。
図1は、実施形態に係るモデル学習装置1の機能構成の一例を示すブロック図である。
【0025】
図1に示されるように、モデル学習装置1は、入力データ処理部10と、設定パラメタ処理部20と、モデルパラメタ学習部30と、モデルパラメタ処理部40と、記録部50と、入出力部60を有する。記録部50は、入力データ記録部51と、設定パラメタ記録部52と、モデルパラメタ記録部53を有する。
【0026】
入出力部60は、外部装置2との間でデータの入出力を行う。入出力部60は、外部装置2から入力データと設定パラメタを受け取る。また、入出力部60は、外部装置2にモデルパラメタを出力する。
【0027】
入力データ処理部10は、入出力部60を介して、外部装置2から入力データを取得する。入力データ処理部10は、取得した入力データを入力データ記録部51に出力する。
【0028】
入力データ記録部51は、入力データを入力データ処理部10から受け取り、これを記録する。
【0029】
設定パラメタ処理部20は、入出力部60を介して、外部装置2から設定パラメタを取得する。設定パラメタ処理部20は、取得した設定パラメタを設定パラメタ記録部52に出力する。
【0030】
設定パラメタ記録部52は、設定パラメタを設定パラメタ処理部20から受け取り、これを記録する。
【0031】
モデルパラメタ学習部30は、入力データ記録部51に記録されている入力データと、設定パラメタ記録部52に記録されている設定パラメタを入力として、順序関係を保持する損失関数とモデルの出力を制限する正則化項から構成される目的関数を用いて、モデルパラメタをランク学習する。モデルパラメタ学習部30は、学習したモデルパラメタをモデルパラメタ記録部53に出力する。
【0032】
モデルパラメタ記録部53は、モデルパラメタをモデルパラメタ学習部30から受け取り、これを記録する。
【0033】
モデルパラメタ処理部40は、モデルパラメタ記録部53からモデルパラメタを読み込み、入出力部60を介して、これを外部装置2に出力する。
【0034】
入力データ処理部10が取得する入力データは、観測可能な多変量データと、順序関係を示すラベルデータである。例えば、ラベルデータは、順序関係を示すペアの集合である。
【0035】
設定パラメタ処理部20が取得する設定パラメタは、モデルパラメタ学習部30がランク学習に用いる目的関数の正則化項のハイパーパラメタを含む。ハイパーパラメタは、目的変数の分位数を含む。ここで、分位数とは、ソート済みの数の集合を正の整数で等分する位置に存在する数である。ハイパーパラメタはまた、正則化項の重みを決定するパラメタを含む。設定パラメタはまた、目的関数の最適化に用いる学習率パラメタを含む。
【0036】
次に、モデル学習装置1のハードウェア構成について説明する。モデル学習装置1は、コンピュータで構成される。例えば、モデル学習装置1は、パーソナルコンピュータやサーバコンピュータ等で構成される。
【0037】
図2は、実施形態に係るモデル学習装置1のハードウェア構成の一例を示すブロック図である。
図2に示されるように、モデル学習装置1は、入出力インタフェース110と、CPU120と、記憶装置130を有する。
【0038】
入出力インタフェース110とCPU120と記憶装置130は、バス140を介して互いに電気的に接続されており、バス140を介してデータや命令のやりとりを行う。
【0039】
入出力インタフェース110は、信号ケーブルまたはネットワークを介して、外部装置2と接続される。入出力インタフェース110は、外部装置2からデータを受け取ったり、モデルパラメタを外部装置2に出力したりするために使用される。
【0040】
記憶装置130は、CPU120が実行する処理に必要なプログラムとデータを記憶している。CPU120は、記憶装置130から必要なプログラムとデータを読み出して実行することにより、各種の処理を行う。
【0041】
記憶装置130は、主記憶装置131と、補助記憶装置132を有する。主記憶装置131と補助記憶装置132は、相互間でプログラムとデータのやりとりを行う。
【0042】
主記憶装置131は、CPU120の処理に一時的に必要なプログラムとデータを記憶する。例えば、主記憶装置131は、RAM(Random Access Memory)等の揮発性メモリで構成される。
【0043】
補助記憶装置132は、外部機器やネットワークを介して供給されるプログラムやデータを記憶しており、CPU120の処理に一時的に必要なプログラムとデータを主記憶装置131に提供する。例えば、補助記憶装置132は、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性メモリで構成される。
【0044】
CPU120は、プロセッサであり、データや命令を処理するハードウェアである。CPU120は、制御装置121と、演算装置122を有する。
【0045】
制御装置121は、入出力インタフェース110と演算装置122と記憶装置130を制御する。
【0046】
演算装置122は、主記憶装置131からプログラムとデータを読み込み、プログラムを実行してデータを処理し、処理したデータを主記憶装置131に提供する。
【0047】
このようなハードウェア構成において、入出力インタフェース110は、入出力部60を構成する。CPU120と主記憶装置131は、入力データ処理部10と設定パラメタ処理部20とモデルパラメタ学習部30とモデルパラメタ処理部40を構成する。記憶装置130(例えば補助記憶装置132)は、記録部50を構成する。
【0048】
[動作例]
次に、モデル学習装置1の動作について説明する。モデル学習装置1が実行するランク学習は、ランク学習における出力値の分布を分位数にもとづく正則化項により制限する手法である。モデルの出力を目的変数に近づけるためには、モデルの出力分布を目的変数の分布へ近似させる必要がある。しかし、ラベルデータとして順序関係のみしか得られない場合では、具体的な数値が得られないため目的変数の分布も得られない。
【0049】
そこで、分布全体を近似させるのではなく、目的変数の分位数をハイパーパラメタとして与え、分位数で定める複数点のみを近似させる。分位数とは、あるソート済みの数の集合X={x1,x2,…,xn|x1≦x2≦…≦xn}に対し、分布を任意の正の整数mでm等分する位置に存在するm-1個の数{xi1,xi2,…,xim-1}のことであり、xilを第lm分位数と呼ぶ。
【0050】
目的変数のm分位数αをハイパーパラメタとして与えたとき、モデルの出力値のm分位数βとの誤差を最小化することでモデルの出力に制限を加える。または、目的変数のm分位数αとモデルの出力値のm分位数βを用いて計算される項を含む目的関数を最小化することでモデルの出力に制限を加える。
【0051】
(入力データ)
入力データ処理部10が取得する入力データは、観測可能な多変量データと順序関係を示すラベルデータである。例えば、多変量データは、要素数nx個の観測可能な多変量データXであり、ラベルデータは、順序関係を示すnk個のペアの集合Dである。以下では、ペアの集合DをペアラベルデータDとも称する。多変量データXとペアラベルデータDは、以下のように表される。
【0052】
【0053】
(モデル)
モデルパラメタ学習部30が実行するランク学習に用いられるモデルfは、ランク学習においてランキングの構築指標となるスコアを出力する任意のモデルが利用可能である。入力モデルfは、線形モデルやロジスティック関数・シグモイド関数を用いた一般化線形モデルであってもよいし、ガウス過程モデルや深層学習モデルなどの非線形なモデルであってもよい。また、Xが多変量時系列データである場合には、ある時刻tに対し潜在変数zt-1とxtからztを得る関数と、ztから目的変数ytを推定する基本的な時系列モデルや、LSTMのようなRNNアーキテクチャとしてもよい。多変量データXが画像の集合である場合に対し次式で表現されるCNN構造を持つモデルを用いることも想定している。
【0054】
【0055】
(出力)
モデル学習装置1の出力は、モデルパラメタθの推定結果である。モデルパラメタθの推定結果は、目的変数に近いスコアである。
【0056】
(目的関数)
次に、ランク学習における目的関数について説明する。目的関数は、順序関係を保持する損失関数Eとモデルの出力を制限する正則化項Ωから構成される。これを踏まえ、目的関数Lを以下で表現する。
【0057】
【0058】
ここで、λは正則化項の重みを決定するハイパーパラメタであり、αは目的変数のm分位数を示すハイパーパラメタである。
【0059】
(正則化)
目的関数の主題は正則化であるため、まず正則化項Ωについて述べる。2つの分布の分位数を近似するようなΩについては様々な定義が可能であり、ここでは下記Ω1,Ω2を定義する。
【0060】
まず、Ω1について述べる。目的変数の累積分布関数をΦ(x)、モデル出力の累積分布関数をΨ(x)とすると、両分布が類似するほど小さな値を取る正則化項として2つの累積分布関数のL1距離が定義できる。
【0061】
【0062】
この式においてΦ(a)は、目的変数の具体的数値が得られないため、同様に具体的数値が得られない。そこで、目的変数のm分位数α={α1,…,αm-1}が与えられると仮定し、前式の左辺をaに関して離散化した次式を最小化する。
【0063】
【0064】
ここで、昇順ソート済みのモデル出力をyとし、yのうちαlより小さい要素の部分集合をyαlとすると、Ψ(αl)は以下で算出できる。
【0065】
【0066】
ただし、式(7)にて用いられるnは要素数の数え上げ処理であり、これは手続き的であるため一般に誤差逆伝播ができない。そこで、モデル出力yのうち第l+1分位に属する(1/m)個の要素が、αlからαl+1の範囲に含まれるよう正則化項Ω2を定めることでΨ(αl)→l/mを実現し、近似的にΩ1を最小化する。Ω2を式(8)に示す。
【0067】
【0068】
ここで、bはバッチサイズ(=n(y))であり、α0,αmは目的変数の上限と下限を示す任意の値である。この正則化項Ω2は、yの第lm分位数をβlとしたとき、2つの分位数(βl,βl+1)に挟まれる要素yiに対し、yiが区間[αl,αl+1]に属する場合には値が0になり、yiがαlより小さい場合はαlとの差、yiがαl+1より大きい場合はαl+1との差を出力する。これは、yの分位数で定める区間[βl,βl+1]に属するyの要素が、目的変数の分位数で定める区間[αl,αl+1]に収まるほど損失が小さくなることを意味する。よって、yの要素が分位数αで定める各区間に等分されるときΩ2=0となる。つまり、bが十分に大きくΩ2→0のときn(yαl)→(l/m)bであるため、式(5)と式(7)に代入することで同様にΩ→0となる。よって、Ω2を最小化することでΩ1の最小化が実現される。
【0069】
次に、式(8)の最小化アルゴリズムについて述べる。まず、モデル出力yの第l+1分位に属する要素に対して、目的変数の第(l+1)m分位数を格納したベクトルcと目的変数の第lm分位数を格納したベクトルdを以下で定義する。
【0070】
【0071】
このu,lを用いて計算処理上の正則化項は次式となる。
【0072】
【0073】
この正則化項において、ハイパーパラメタαは任意の値を設定可能であり、学習時に入力されるバッチの性質に合わせて可変である。これは、ある学習データセットをX1,X2,…,Xnと異なる性質を持つミニバッチに分割して学習する際、ミニバッチX1にはハイパーパラメタα、ミニバッチX2にはハイパーパラメタβというように、ミニバッチレベルで可変であることを示している。例えば、食生活から個人の体重を予測するというタスクにおいては、入力バッチが男性である場合と女性である場合に分けてハイパーパラメタを設定することが可能である。また、スポーツ観戦中に人間の情動を予測するタスクにおいては、盛り上がる時間帯とそうでない時間帯に分けてハイパーパラメタを設定することが可能である。
【0074】
損失関数Eについては、ペアデータの順序関係を保持するとき出力が小さくなる任意の関数が利用できる。例えば、RankNet(非特許文献3)と同様に式(1)としてもよい。また、ガウス分布を用いたランク学習手法(非特許文献4)と同様に式(2)としてもよい。
【0075】
(最適化法)
目的関数の最適化には、勾配法や確率的勾配法、Adamなど任意の最適化手法が適用できる。勾配法を利用する場合は、k回目の最適化ステップで下記の式にしたがいパラメタを更新することを繰り返せばよい。
【0076】
【0077】
ここで、γkは学習率パラメタである。目的関数の勾配∇θL(θ)は、計算して導出した関数を用いてもよいし、数値的に計算してもよい。
【0078】
(モデルパラメタの推定)
次に、
図3を参照して、モデル学習装置1が実行するモデルパラメタの推定の処理手順と処理内容について説明する。
図3は、モデル学習装置1が実行するモデルパラメタの推定の処理手順と処理内容を示すフローチャート図である。
【0079】
ステップS1において、入力データ処理部10は、入力データを取得する。入力データは、前述した多変量データXとペアラベルデータDである。入力データ処理部10はまた、取得した入力データを入力データ記録部51に格納する。
【0080】
ステップS2において、設定パラメタ処理部20は、設定パラメタを取得する。設定パラメタは、目的関数の正則化項のハイパーパラメタを含む。ハイパーパラメタは、目的変数のm分位数αと、正則化項の重みを決定するパラメタλを含む。設定パラメタはまた、目的関数の最適化に用いる学習率パラメタγkを含む。設定パラメタ処理部20はまた、取得した設定パラメタを設定パラメタ記録部52に格納する。
【0081】
ステップS3において、モデルパラメタ学習部30は、入力データ記録部51に記録されている入力データと、設定パラメタ記録部52に記録されている設定パラメタを入力として、損失関数と正則化項を有する目的関数を用いて、モデルパラメタをランク学習する。モデルパラメタ学習部30はまた、学習したモデルパラメタをモデルパラメタ記録部53に格納する。
【0082】
ステップS4において、モデルパラメタ処理部40は、モデルパラメタ記録部53からモデルパラメタを読み込み、これを外部装置2に出力する。
【0083】
(ランク学習)
次に、
図4を参照して、モデルパラメタ学習部30が実行するモデルパラメタのランク学習の処理手順と処理内容について説明する。
図4は、モデルパラメタ学習部30が実行するモデルパラメタのランク学習の処理手順と処理内容の一例を示すフローチャート図である。
【0084】
ステップS11において、モデルパラメタθを初期化する。
【0085】
ステップS12において、ランク学習の最大繰り返し回数を設定する。また、ランク学習の計算繰り返し回数を初期化する。すなわち、計算繰り返し回数を0にする。
【0086】
ステップS13において、モデルパラメタθを式(3)と式(10)に従い更新する。
【0087】
ステップS14において、計算繰り返し回数を更新する。すなわち、計算繰り返し回数を1増やす。
【0088】
ステップS15において、計算繰り返し回数が最大繰り返し回数を超えたか否かを判断する。計算繰り返し回数が最大繰り返し回数を超えていない場合には、ステップS13の処理に戻る。計算繰り返し回数が最大繰り返し回数を超えた場合には、モデルパラメタの学習を終了し、
図3のステップS4の処理に戻る。
【0089】
[効果]
実施形態によれば、ラベルデータとして順序関係のみしか得られない場合でも、その順序関係から目的変数を予測することが可能となる。これにより、任意のランク学習モデルをランキング生成モデルとしてだけではなく、目的変数の分布に近似した数値を出力する回帰モデルとして学習することが可能となる。これにより、心理的抵抗から具体的な数値でアンケート回答が得られない場合や情動など絶対評価が難しい目的変数に対し、順序関係だけでなく数値として推定値を得ることが可能になる。
【0090】
上記実施形態では、最適化の際に勾配法を用いる例を示しているが、確率的勾配法やAdamなど任意の手法が利用できる。同様に目的関数(式3)におけるEにも任意の損失関数が利用できる。上記の実施の形態の
図1に示すモデル学習装置1は、各構成要素の動作をプログラムとして構築し、モデル学習装置として利用されるコンピュータにインストールして実行させる、またはネットワークを介して流通させることが可能である。本発明は上記実施形態に限定されることなく、種々変更・応用が可能である。
【0091】
例えば、上記実施形態は、本発明をペアワイズランク学習法に適用した例であるが、本発明は、これに限らず、他のランク学習法、例えば、ポイントワイズランク学習法やリストワイズランク学習法に適用されてもよい。
【0092】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【0093】
1…モデル学習装置
2…外部装置
10…入力データ処理部
20…設定パラメタ処理部
30…モデルパラメタ学習部
40…モデルパラメタ処理部
50…記録部
51…データ記録部
52…設定パラメタ記録部
53…モデルパラメタ記録部
60…入出力部
110…入出力インタフェース
120…CPU
121…制御装置
122…演算装置
130…記憶装置
131…主記憶装置
132…補助記憶装置
140…バス