(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-03
(45)【発行日】2024-04-11
(54)【発明の名称】学習装置、学習方法及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240404BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2020017869
(22)【出願日】2020-02-05
【審査請求日】2022-08-12
【前置審査】
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】598163064
【氏名又は名称】学校法人千葉工業大学
(74)【代理人】
【識別番号】100128314
【氏名又は名称】沖川 仁
(74)【代理人】
【識別番号】100229725
【氏名又は名称】中島 裕美
(72)【発明者】
【氏名】岩田 具治
(72)【発明者】
【氏名】吉川 友也
【審査官】小林 秀和
(56)【参考文献】
【文献】特開2011-141678(JP,A)
【文献】国際公開第2019/176986(WO,A1)
【文献】小島 惇史, 田中 聡久,サンプリングによるカーネル回帰のデュアルスパース化,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2017年02月22日,第116巻 第476号,p.115~p.118
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
入力されたデータを簡易的な表現に変換した簡易表現ベクトルを生成する簡易化手段と、
記憶部に記憶されているパラメータを用いて、前記データに関する所定のモデルの重みベクトルを生成する重み生成手段と、
前記重みベクトルに含まれる各要素のうちK個の要素を選択し、選択した要素を1、残りの要素を0とするゲートベクトルを生成する重み選択手段と、
前記簡易表現ベクトルと前記重みベクトルと前記ゲートベクトルとを用いて、予測値を算出する予測手段と、
前記データに対応する教師データと前記予測値との誤差を最小化させるように、前記パラメータを学習する学習手段と、
を有し、
前記重み選択手段は、
K個のone-hotベクトルをガンベルソフトマックスにより生成し、生成したK個のone-hotベクトルを足し合わせることで、前記ゲートベクトルを生成する、ことを特徴とする学習装置。
【請求項2】
前記重み選択手段は、
前記重みベクトルに含まれる各要素のうち、前記予測手段によって算出される予測値と前記教師データとの誤差が小さくなるK個の要素を選択する、ことを特徴とする請求項1に記載の学習装置。
【請求項3】
前記重み生成手段は、
前記データ毎に、前記モデルの重みベクトルを生成する、ことを特徴とする請求項1又は2に記載の学習装置。
【請求項4】
前記モデルは、線形モデル又は決定木若しくはルールに基づくモデルである、ことを特徴とする請求項1乃至3の何れか一項に記載の学習装置。
【請求項5】
前記重み生成手段はニューラルネットワーク、畳み込みニューラルネットワーク又は再帰的ニューラルネットワークであり、
前記パラメータは、前記ニューラルネットワーク、前記畳み込みニューラルネットワーク又は前記再帰的ニューラルネットワークのパラメータである、ことを特徴とする請求項1乃至4の何れか一項に記載の学習装置。
【請求項6】
入力されたデータを簡易的な表現に変換した簡易表現ベクトルを生成する簡易化手順と、
記憶部に記憶されているパラメータを用いて、前記データに関する所定のモデルの重みベクトルを生成する重み生成手順と、
前記重みベクトルに含まれる各要素のうちK個の要素を選択し、選択した要素を1、残りの要素を0とするゲートベクトルを生成する重み選択手順と、
前記簡易表現ベクトルと前記重みベクトルと前記ゲートベクトルとを用いて、予測値を算出する予測手順と、
前記データに対応する教師データと前記予測値との誤差を最小化させるように、前記パラメータを学習する学習手順と、
をコンピュータが実行し、
前記重み選択手順は、
K個のone-hotベクトルをガンベルソフトマックスにより生成し、生成したK個のone-hotベクトルを足し合わせることで、前記ゲートベクトルを生成する、ことを特徴とする学習方法。
【請求項7】
コンピュータを、請求項1乃至5の何れか一項に記載の学習装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法及びプログラムに関する。
【背景技術】
【0002】
深層学習技術は、高い予測精度を達成することができるが、解釈性が低いという問題点がある。一方で、線形モデルは、解釈性は高いが、予測精度が低い場合があるという問題点がある。
【0003】
このような問題点に関連する従来技術として、これまでに、深層学習等で得られたモデルを局所的な線形モデルで近似することで解釈する手法が提案されている(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【文献】Ribeiro, Marco Tulio, Sameer Singh, and Carlos Guestrin. "Why should I trust you?: Explaining the predictions of any classifier." Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining. ACM (2016)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の従来技術は、予測をするモデルと解釈をするモデルとが分離されているため、予測と解釈の整合性が取れない場合があるという問題点がある。
【0006】
本発明の一実施形態は、上記の問題点に鑑みてなされたもので、解釈性及び予測精度が高い機械学習器を得ることを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、一実施形態に係る学習装置は、入力されたデータを簡易的な表現に変換した簡易表現ベクトルを生成する簡易化手段と、記憶部に記憶されているパラメータを用いて、前記データに関する所定のモデルの重みベクトルを生成する重み生成手段と、前記重みベクトルに含まれる各要素のうちK個の要素を選択し、選択した要素を1、残りの要素を0とするゲートベクトルを生成する重み選択手段と、前記簡易表現ベクトルと前記重みベクトルと前記ゲートベクトルとを用いて、予測値を算出する予測手段と、前記データに対応する教師データと前記予測値との誤差を最小化させるように、前記パラメータを学習する学習手段と、を有することを特徴とする。
【発明の効果】
【0008】
解釈性及び予測精度が高い機械学習器を得ることができる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態に係る学習装置の機能構成の一例を示す図である。
【
図2】本実施形態に係る学習処理の流れの一例を示すフローチャートである。
【
図3】本実施形態に係る学習装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の一実施形態について説明する。本実施形態では、データが与えられたときに、解釈性及び予測精度が高い機械学習器を得ることが可能な学習装置10について説明する。本実施形態に係る学習装置10には、入力データとして、
【0011】
【数1】
が与えられたとする。ここで、x
nはn番目のデータのオリジナル表現、y
nはそのラベル(つまり、教師データ)を表す。なお、オリジナル表現とは、後述する簡易表現との対比で用いている用語である。
【0012】
<機能構成>
まず、本実施形態に係る学習装置10の機能構成について、
図1を参照しながら説明する。
図1は、本実施形態に係る学習装置10の機能構成の一例を示す図である。
【0013】
図1に示すように、本実施形態に係る学習装置10は、読込部101と、簡易化部102と、重み生成部103と、重み選択部104と、予測部105と、学習部106と、記憶部107とを有する。
【0014】
読込部101は、学習装置10に与えられた入力データを読み込む。
【0015】
簡易化部102は、オリジナル表現xnをその簡易表現zn∈RDに変換する。簡易表現はD次元の実数ベクトルであり、人間にとって解釈しやすい表現とする。例えば、文書データの場合は、オリジナル表現xnとしてその文書の単語系列、簡易表現znとしてその文書内に含まれる各単語の頻度(bag-of-words表現)、等を用いることができる。
【0016】
重み生成部103は、オリジナル表現xnから、データ毎の線形モデルの重みベクトルwn∈RDを生成する(つまり、データ毎の線形モデルを生成する。)。重みベクトルwnはD次元の実数ベクトルである。ここで、重み生成部103は、オリジナル表現xnから重みベクトルwnを生成するモデルにより実現される。このようなモデルとしては、例えば、ニューラルネットワーク、畳み込みニューラルネットワーク、再帰的ニューラルネットワーク等の任意のモデルを用いることができる。なお、以降では、オリジナル表現xnから重みベクトルwnを生成するモデルを「重み生成モデル」とも表す。また、重み生成モデルのパラメータ(学習部106による学習対象のパラメータ)を「モデルパラメータ」とも表す。
【0017】
重み選択部104は、重みベクトルwnの各要素のうち、予測精度が高くなるK個の要素を選択し、選択した要素が1であり、そのほかの要素が0をとる二値のゲートベクトルgn∈{0,1}Dを生成する。少数の要素のみを選択することにより、解釈性を高めることができる。予測精度が高いものを選ぶために、予測精度のモデルパラメータに関する微分が計算可能な手続きを用いる。例えば、ガンベルソフトマックスをK回繰り返す。具体的には、K個のone-hotベクトルg(1),g(2),・・・,g(K)をガンベルソフトマックスにより生成し、以下の式(1)に示すように、これらのg(1),g(2),・・・,g(K)を足し合わせることで得ることができる。
【0018】
【数2】
ここで、g
j
(t)をg
(t)のj番目の要素としたとき、
【0019】
【数3】
であり、τ>0は温度パラメータ、λ
j∈Rは標準ガンベル分布からサンプルされる値、
【0020】
【数4】
を表す。ガンベルソフトマックスにおいて必要なlogπは、log softmax(w
2)を用いる。なお、これ以外に、要素の絶対値に関連する値であれば、他のものを用いてもよい。
【0021】
また、同じ要素が選ばれるのを防ぐため、例えば、t番目のlogπ(t)は以下の式(4)を用いる。
【0022】
【数5】
ここで、m
j
(t)∈{0,1}はj番目の要素がすでに選択されているかどうかを表す。t番目のマスクベクトルm
(t)∈{0,1}
Dとゲートベクトルg
(t)とを用いて、次のマスクベクトルは、
【0023】
【数6】
で計算することができる。ここで、onehot(j)∈{0,1}
Dはj番目の要素のみが1、それ以外の要素は0となるone-hotベクトルを表す。なお、事前に選択されない要素が分かっている場合には、最初のマスクベクトルm
(1)にその情報(つまり、選択されない要素を示す情報)を埋め込んでもよい。
【0024】
予測部105は、簡易表現znと重みベクトルwnとゲートベクトルgnとから、以下の式(6)により予測を行う。
【0025】
【0026】
【0027】
学習部106は、入力データ
【0028】
【数9】
に対する予測精度が高くなるように、重み生成モデルのモデルパラメータを学習する。すなわち、学習部106は、予測値
【0029】
【数10】
とラベルy
nとの誤差(目的関数値)を最小化させるように、重み生成モデルのモデルパラメータを学習する。なお、モデルパラメータの学習は既知の手法を用いればよいが、例えば、勾配法等を用いることが可能である。
【0030】
記憶部107は、各種データ(例えば、入力データ、重み生成モデルのモデルパラメータ等)を記憶する。
【0031】
なお、上記では1変数回帰の場合について説明したが、複数の重みベクトルとゲートベクトルとを生成することで多変数回帰にも対応することが可能である。また、ソフトマックス関数を用いることで分類問題に対応することもできる。このように、目的関数や予測器を適切に選択することで、本実施形態は、ランキング問題や次元圧縮問題等の任意の機械学習タスクに対応することが可能である。
【0032】
また、上記では解釈性が高い線形モデルの重みベクトルを生成したが、例えば決定木やルールに基づくモデル等、他の解釈性が高いモデルを生成することも同様に可能である。
【0033】
<学習処理の流れ>
以降では、本実施形態に係る学習処理(つまり、重み生成モデルのモデルパラメータを学習する処理)の流れについて、
図2を参照しながら説明する。
図2は、本実施形態に係る学習処理の流れの一例を示すフローチャートである。
【0034】
まず、読込部101は、学習装置10に与えられた入力データ{(xn,yn)|n=1,・・・,N}を記憶部107から読み込む(ステップS101)。
【0035】
次に、簡易化部102は、オリジナル表現xnをその簡易表現znに変換する(ステップS102)。
【0036】
次に、重み生成部103は、オリジナル表現xnから、データ毎の線形モデルの重みベクトルwnを生成する(ステップS103)。すなわち、重み生成部103は、記憶部107に記憶されているモデルパラメータを用いて、オリジナル表現xnから重みベクトルwnを生成する。なお、上述したように、重み生成部103は重み生成モデルにより実現される。
【0037】
次に、重み選択部104は、重みベクトルwnの各要素のうち、予測精度が高くなるK個の要素を選択し、選択した要素が1であり、そのほかの要素が0をとる二値のゲートベクトルgn∈{0,1}Dを生成する(ステップS104)。
【0038】
なお、上記のステップS102と、上記のステップS103~ステップS104との処理順は順不同である。すなわち、上記のステップS103~ステップS104を実行した後に、上記のステップS102が実行されてもよいし、上記のステップS102と上記のステップS103~ステップS104とが並列に実行されてもよい。
【0039】
次に、予測部105は、簡易表現znと重みベクトルwnとゲートベクトルgnとから、上記の式(6)により予測値を算出する(ステップS105)。
【0040】
次に、学習部106は、上記のステップS105で算出された予測値と、オリジナル表現xnに対応するラベルynとの誤差を最小化させるように、既知の学習手法により重み生成モデルのモデルパラメータを学習する(ステップS106)。なお、学習部106は、記憶部107に記憶されているモデルパラメータを所定の更新式によって更新することで、モデルパラメータの学習を行う。
【0041】
なお、例えば、学習部106による学習方法がバッチ学習である場合には、入力データに含まれる各データ(xn,yn)の各々に対して上記のステップS102~ステップS105が繰り返し実行された後、上記のステップS106が実行される。同様に、例えば、学習部106による学習方法がミニバッチ学習である場合には、入力データから作成されたミニバッチに含まれる各データ(xn,yn)の各々に対して上記のステップS102~ステップS105が繰り返し実行された後、上記のステップS106が実行される。すなわち、上記のステップS102~ステップS105は、例えば、オンライン学習ではデータ毎、ミニバッチ学習ではミニバッチ毎、バッチ学習ではバッチ毎に繰り返し実行される。
【0042】
続いて、学習部106は、所定の終了条件を満たすか否かを判定する(ステップS107)。終了条件を満たさない場合には、学習部106は、上記のステップS102に戻る。一方で、終了条件を満たす場合には、学習部106は、学習処理を終了する。これにより、記憶部107に記憶されている学習済みのモデルパラメータと簡易化部102と重み生成部103と重み選択部104と予測部105とで実現される機械学習器が得られる。言い換えれば、簡易化部102と、学習済みのモデルパラメータが設定された重み生成モデルにより実現される重み生成部103と、重み選択部104と、予測部105とで実現される機械学習器が得られる。
【0043】
なお、終了条件としては、例えば、ステップS102~ステップS106が実行された回数(繰り返し回数)が或る指定された値を超えたこと、繰り返し回数がL(ただし、Lは任意の自然数)回目のときと繰り返し回数がL+1回目のときで目的関数値の変化量が或る指定された値よりも小さくなったこと、学習に用いたデータセット(入力データ)とは異なるデータセットに対する目的関数値が最小になったこと、等が挙げられる。
【0044】
以上のように、本実施形態に係る学習装置10は、与えられた入力データ(データセット)に含まれるデータ毎に線形モデルの重みベクトルを生成し、これらの線形モデルの重みベクトルを生成する重み生成モデルのモデルパラメータを学習する。これにより、後述する評価で示すように、解釈性と予測精度が共に高い機械学習器を得ることができる。なお、上述したように、線形モデルに限られず、他の解釈性が高いモデルを用いることも可能である。
【0045】
<評価>
ここで、本実施形態の手法の評価について説明する。本実施形態の手法を評価するため、手書き数字データを用いて予測精度(分類正当率)の評価を行った。また、比較対象の既存手法としては、リッジ回帰と、Lassoと、深層学習とを採用した。K=1,K=5,K=10とした場合の評価結果を以下の表1に示す。なお、深層学習ではKを選択できないため、1つの予測精度のみを示している。
【0046】
【表1】
上記の表1に示すように、本実施形態の手法は、解釈性の高いリッジ回帰やLassoと比べて高い予測精度を達成しており、かつ、解釈性の低い深層学習と同程度の予測精度を達成していることがわかる。なお、上記の表1において括弧内に記載している数値は標準偏差を表す。
【0047】
<ハードウェア構成>
最後に、本実施形態に係る学習装置10のハードウェア構成について、
図3を参照しながら説明する。
図3は、本実施形態に係る学習装置10のハードウェア構成の一例を示す図である。
【0048】
図3に示すように、本実施形態に係る学習装置10は一般的なコンピュータ又はコンピュータシステムで実現され、入力装置201と、表示装置202と、外部I/F203と、通信I/F204と、プロセッサ205と、メモリ装置206とを有する。これら各ハードウェアは、それぞれがバス207を介して通信可能に接続されている。
【0049】
入力装置201は、例えば、キーボードやマウス、タッチパネル等である。表示装置202は、例えば、ディスプレイ等である。なお、学習装置10は、入力装置201及び表示装置202のうちの少なくとも一方を有していなくてもよい。
【0050】
外部I/F203は、外部装置とのインタフェースである。外部装置には、記録媒体203a等がある。学習装置10は、外部I/F203を介して、記録媒体203aの読み取りや書き込み等を行うことができる。記録媒体203aには、例えば、学習装置10が有する各機能部(読込部101、簡易化部102、重み生成部103、重み選択部104、予測部105及び学習部106)を実現する1以上のプログラムが格納されていてもよい。
【0051】
なお、記録媒体203aには、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
【0052】
通信I/F204は、学習装置10を通信ネットワークに接続するためのインタフェースである。なお、学習装置10が有する各機能部を実現する1以上のプログラムは、通信I/F204を介して、所定のサーバ装置等から取得(ダウンロード)されてもよい。
【0053】
プロセッサ205は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。学習装置10が有する各機能部は、例えば、メモリ装置206等に格納されている1以上のプログラムがプロセッサ205に実行させる処理により実現される。
【0054】
メモリ装置206は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。学習装置10が有する記憶部107は、例えば、メモリ装置206を用いて実現可能である。なお、例えば、記憶部107は、学習装置10と通信ネットワークを介して接続される記憶装置等を用いて実現されていてもよい。
【0055】
本実施形態に係る学習装置10は、
図3に示すハードウェア構成を有することにより、上述した学習処理を実現することができる。なお、
図3に示すハードウェア構成は一例であって、学習装置10は、他のハードウェア構成を有していてもよい。例えば、学習装置10は、複数のプロセッサ205を有していてもよいし、複数のメモリ装置206を有していてもよい。
【0056】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0057】
10 学習装置
101 読込部
102 簡易化部
103 重み生成部
104 重み選択部
105 予測部
106 学習部
107 記憶部