(57)【要約】  訓練データを入力して、ニューラルネットワークを用いた機械学習を実行し、前記機械学習により生成された複数の階層のシナプスの重みのうち、少なくとも１つの許可レベルの前記重みを使用してそれぞれ生成された復元データ、及び前記訓練データに基づき、前記許可レベルに対応したデータ距離を算出する処理をコンピュータが実行するリスク評価方法が提供される。
2017090194.tif 000002
【特許請求の範囲】
【請求項１】
訓練データを入力して、ニューラルネットワークを用いた機械学習を実行し、
前記機械学習により生成された複数の階層のシナプスの重みのうち、少なくとも１つの許可レベルの前記重みを使用してそれぞれ生成された復元データ、及び前記訓練データに基づき、前記許可レベルに対応したデータ距離を算出する、
処理をコンピュータが実行するリスク評価方法。
【請求項２】
前記許可レベルは、前記複数の階層のシナプスの重みのうち、特定の階層までの前記重みの使用を許可することにより設定される、
請求項１に記載のリスク評価方法。
【請求項３】
前記復元データは、前記複数の階層のシナプスの重みのうち、一部の階層のシナプスの前記重みに基づき生成される、
請求項１に記載のリスク評価方法。
【請求項４】
前記データ距離は、
前記訓練データを前記複数の階層のシナプスの重みのうち、特定の階層までの前記重みを使用して変換したデータと、前記復元データとを用いて算出する、
請求項１に記載のリスク評価方法。
【請求項５】
前記機械学習の実行時に、算出した前記データ距離に基づき前記許可レベルを決定する、
請求項１に記載のリスク評価方法。
【請求項６】
前記許可レベルに対応したシナプスの前記重みを使用して機械学習を実行する転移学習の実行時に、算出した前記データ距離に基づき前記重みを使用した転移学習を許可するか否かを判定する、
請求項１に記載のリスク評価方法。
【請求項７】
訓練データを入力して、ニューラルネットワークを用いた機械学習を実行し、
前記機械学習により生成された複数の階層のシナプスの重みのうち、少なくとも１つの許可レベルの前記重みを使用してそれぞれ生成された復元データ、及び前記訓練データに基づき、前記許可レベルに対応したデータ距離を算出する、
処理をコンピュータに実行させるリスク評価プログラム。
【請求項８】
前記許可レベルは、前記複数の階層のシナプスの重みのうち、特定の階層までの前記重みの使用を許可することにより設定される、
請求項７に記載のリスク評価プログラム。
【請求項９】
前記復元データは、前記複数の階層のシナプスの重みのうち、一部の階層のシナプスの前記重みに基づき生成される、
請求項７に記載のリスク評価プログラム。
【請求項１０】
前記データ距離は、
前記訓練データを前記複数の階層のシナプスの重みのうち、特定の階層までの前記重みを使用して変換したデータと、前記復元データとを用いて算出する、
請求項７に記載のリスク評価プログラム。
【請求項１１】
前記機械学習の実行時に、算出した前記データ距離に基づき前記許可レベルを決定する、
請求項７に記載のリスク評価プログラム。
【請求項１２】
前記許可レベルに対応したシナプスの前記重みを使用して機械学習を実行する転移学習の実行時に、算出した前記データ距離に基づき前記重みを使用した転移学習を許可するか否かを判定する、
請求項７に記載のリスク評価プログラム。
【請求項１３】
訓練データを入力して、ニューラルネットワークを用いた機械学習を実行する学習部と、
前記機械学習により生成された複数の階層のシナプスの重みのうち、少なくとも１つの許可レベルの前記重みを使用してそれぞれ生成された復元データ、及び前記訓練データに基づき、前記許可レベルに対応したデータ距離を算出する距離算出部と、
を有する情報処理装置。
【請求項１４】
前記許可レベルを、前記複数の階層のシナプスの重みのうち、特定の階層までの前記重みの使用を許可することにより設定する許可決定部を有する、
請求項１３に記載の情報処理装置。
【請求項１５】
前記復元データを、前記複数の階層のシナプスの重みのうち、一部の階層のシナプスの前記重みに基づき生成する復元データ生成部を有する、
請求項１３に記載の情報処理装置。
【請求項１６】
前記距離算出部は、前記データ距離を、前記訓練データを前記複数の階層のシナプスの重みのうち、特定の階層までの前記重みを使用して変換したデータと、前記復元データとを用いて算出する、
請求項１３に記載の情報処理装置。
【請求項１７】
前記許可決定部は、前記機械学習の実行時に、算出した前記データ距離に基づき前記許可レベルを決定する、
請求項１４に記載の情報処理装置。
【請求項１８】
前記許可レベルに対応したシナプスの前記重みを使用して機械学習を実行する転移学習の実行時に、算出した前記データ距離に基づき前記重みを使用した転移学習を許可するか否かを判定する転用判定部を有する、
請求項１３に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リスク評価方法、リスク評価プログラム及び情報処理装置に関する。
【背景技術】
【０００２】
ニューラルネットワークは、多数のニューロンとそれらを接続するシナプスとから構成される。ニューラルネットワークを用いた機械学習において、訓練データを入力したときの学習結果は、各シナプスに付与される重みとして蓄積される。【０００３】
また、ニューラルネットワークを用いた機械学習において、他の訓練データによる学習結果を使用する転移学習という技術が知られている（例えば、非特許文献１参照）。転移学習では、新規に学習する場合と比べて、早期に誤差の小さい学習結果に到達できるという効果を有する。一方、学習結果として蓄積されたシナプスの重みから、訓練データをある程度復元できるリスク（以下、「復元リスク」ともいう。）がある（例えば、非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】J. Yosinski, J. Clune, Y. Bengio and H. Lipson,"How transferable are features in deep neural networks?,"In Advances in Neural Information ProcessingSystems 27, pp. 3320-3328, 2014.
【非特許文献２】Le et al., "Building high-level features using large scale unsupervised learning," In Proceedings of the 29th International Conference on Machine Learning (ICML-12), pp.81-88, 2012.
【特許文献】
【０００５】
【特許文献１】特開２００３−１５７３６５号公報
【特許文献２】特開平６−１６８３４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
階層構造を持つニューラルネットワークを用いた機械学習において、シナプスの重みの使用を、ｎ層のニューラルネットワークのうちの特定の階層までに制限することで、訓練データの復元リスクを低下させることができる。しかしながら、シナプスの重みを使用する階層を制限することで、早期に誤差の小さい学習結果に到達できる、という転移学習の効果が減少する。【０００７】
訓練データの復元リスクはどの程度であるか、あるいは、転移学習の際に学習結果（つまり、シナプスの重み）を使用する必要はあるか、については、訓練データを用いて評価することができる。しかしながら、転移学習を行う時点で、訓練データは既に学習を完了したデータであり、削除等されているため参照することは困難である。したがって、転移学習の際、訓練データを用いた復元リスクの適切な評価は難しい。【０００８】
そこで、一側面では、本発明は、学習結果の転用の安全性と転用効果とを定量的に評価することを目的とする。
【課題を解決するための手段】
【０００９】
一つの案では、訓練データを入力して、ニューラルネットワークを用いた機械学習を実行し、前記機械学習により生成された複数の階層のシナプスの重みのうち、少なくとも１つの許可レベルの前記重みを使用してそれぞれ生成された復元データ、及び前記訓練データに基づき、前記許可レベルに対応したデータ距離を算出する処理をコンピュータが実行するリスク評価方法が提供される。
【発明の効果】
【００１０】
一側面によれば、学習結果の転用の安全性と転用効果とを定量的に評価することができる。
【図面の簡単な説明】
【００１１】
【図１】第１〜第３実施形態にかかるニューラルネットワークの一例を示す図。
【図２】機械学習を説明するための図。
【図３】転移学習を説明するための図。
【図４】第１〜第３実施形態にかかるリスク評価方法の概要を説明するための図。
【図５】第１〜第３実施形態にかかる復元データ、安全性及び転用効果の関係を示す図。
【図６】第１〜第３実施形態にかかる復元データ、安全性及び転用効果の関係を示す図。
【図７】第１実施形態にかかる学習機の機能構成の一例を示す図。
【図８】第１実施形態にかかる学習及びリスク評価処理の一例を示すフローチャート。
【図９】第２実施形態にかかる学習機の機能構成の一例を示す図。
【図１０】第２実施形態にかかる転用元の学習時のリスク評価処理の一例を示すフローチャート。
【図１１】第２実施形態にかかる転用先の学習時のリスク評価処理の一例を示すフローチャート。
【図１２】第１〜第３実施形態にかかるリスク評価の一例を説明するための図。
【図１３】第１〜第３実施形態にかかるリスク評価の一例を説明するための図。
【図１４】第１〜第３実施形態にかかるリスク評価の一例を説明するための図。
【図１５】第３実施形態にかかる学習機の機能構成の一例を示す図。
【図１６】第３実施形態にかかる転用先の学習時のリスク評価処理の一例を示すフローチャート。
【図１７】第１〜第３実施形態にかかる学習機のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１３】
（機械学習）
階層構造を有するニューラルネットワーク１は、図１に示すように、多数のニューロン１０とそれらを結ぶシナプス２０とから構成される。例えば、図１のニューラルネットワーク１は、入力層、第１層(最下層)、第２層、・・・、第ｎ−１層、第ｎ層(最上層)、出力層の階層構造を有する。シナプスは、これらの層に分けられる。第１層側が下層、第ｎ層側が上層である。このように複数の階層構造を有するニューラルネットワーク１を使用した学習を、ディープラーニング（DL:Deep Learning）という。
【００１４】
データは、入力層から入力され、下層側から上層側に向けてニューロン１０とシナプス２０とを伝搬する。学習結果は、出力層から出力される。あるデータを入力したときに学習されるものはシナプス２０の重みである。つまり、学習結果は、各シナプス２０に付与される重みとして蓄積される。高い認識精度の学習結果を得るためには、学習時にニューラルネットワーク１に入力される訓練データが多数必要となる。
【００１５】
図２には、ニューラルネットワーク１を構成する学習機２による機械学習の一例を示す。学習機２は、情報処理装置の一例であり、情報処理装置は、ニューロン１０の機能と、シナプス２０の機能と、シナプス２０の重み（シナプス２０の結合強度）を変化させる機能とを有するいずれの電子機器によっても実現可能である。情報処理装置は、例えば、ネットワークを介して顧客側の機器に接続されるクラウド上のサーバ等により実現され得る。
【００１６】
入力されるデータには、訓練データとテストデータとの２種類がある。図２の上段に示すように、学習時に入力される訓練データ３の一例として、顧客側の機器から提供されるブドウの写真とブドウの写真から期待される文字列「ブドウ」、及びニンジンの写真とニンジンの写真から期待される文字列「ニンジン」が挙げられる。各文字列をそれぞれ出力層のニューロン１０に割り当てたニューラルネットワーク１を構成する。
【００１７】
なお、訓練データ３は、写真などの画像データに限らず、音声データ、文字データ、数字データ等のあらゆるデータを含む。学習機２は、学習時に顧客から訓練データ３の提供を受け、学習を行い、学習結果４を出す。学習結果４は、各シナプス２０の重みにより示される。
【００１８】
認識時に、例えば、顧客側の機器からテストデータが提供される。図２の下段に示すように、例えば、ブドウの写真だけがテストデータ６として提供されると、認識機５は、入力されたブドウの写真のテストデータ６に応じて認識処理（画像認識等）を実行し、認識結果７を顧客に提供する。認識機５は、学習機２と同一の機器であってもよいし、異なる機器であってもよい。図２では、認識機５は、ブドウの写真を入力し、「ブドウ」の文字列を出力した例を示す。「ブドウ」の文字列に対応する出力層のニューロン１０の活性度が最大となったため，「ブドウ」の文字列が出力される。学習時に学習結果に基づきシナプス２０の重みが適正化されたため、認識時にその重みに基づき、入力したブドウの写真からブドウの文字列を出力できたものである。なお認識機５は画像認識に限らず，音声認識，文字認識等の様々な認識処理を行うことができる。ニューラルネットワーク１を使用した学習によれば、タスクによっては人を超える高い認識精度が得られる場合がある。
【００１９】
ディープラーニングの認識精度を改善する技術として、下層の重みを他の学習結果から転用する「転移学習」がある。転移学習について図３を参照して説明する。図３の下層、上層は、図１の複数の階層を構成するニューラルネットワーク１を、説明の便宜上下層側と上層側の二層に分け、模式的に示したものである。図３の上段に示す学習時には、訓練データとしてデータＡが提供される。この場合、上層及び下層ともランダムな重みが設定され、それらの重みに基づく学習機２による学習の結果、各シナプスの重みが更新される。
【００２０】
データＡによる学習後、図３の下段に示す学習時には、訓練データとしてデータＢが提供される。この場合、データＡによる学習時に更新されたシナプスの重みを下層の重みに転用する(転移学習)。また、上層の重みにはランダムな重みが設定され、それらの重みに基づく学習機２による学習の結果、各シナプスの重みが更新される。このように、転移学習では、学習機２は、他の学習結果からシナプス２０の重みを転用することで、少ない訓練データでも高い認識精度を得ることができる。
【００２１】
以上の転用効果がある一方で、転移学習には復元リスクがある。具体的には、例えば非特許文献２に開示された方法を用いてシナプスの重みからkunrende-tawoaruteido復元することができる。例えば、学習機２は、入力した顔画像に基づきシナプスの重みから、人の顔が映し出された復元データを生成する。これにより、人の顔画像の訓練データがある程度復元できる。また、例えば、学習機２は、猫の画像を入力すると、シナプスの重みから、猫が映し出された復元データを生成する。これにより、猫の画像の訓練データがある程度復元できる。つまり、学習機２が、転移学習により前の学習で得られたシナプスの重みを使用すると、前の学習で使用した訓練データがある程度復元され得るという復元リスクが生じる。
【００２２】
機械学習には以下の前提（１）〜（５）がある。
（１）学習機２による学習のサービスを受ける顧客は、学習結果（シナプスの重み）を参照できる。学習後のニューラルネットワーク１は、顧客の固有環境（例えば、顧客が製造、販売する自動車や携帯端末等）で動作させることが求められるからである。
（２）訓練データ３は学習時にのみ存在する。訓練データ３は顧客の所有物であり、学習機２による学習のサービス提供側は自由には使えない。このため、サービス提供側は、学習完了後、セキュリティ保持の観点から訓練データ３を削除する必要がある。
（３）転移学習の場合、重みの転用は学習時よりも後の、他の顧客が学習を行うタイミングで発生する。
（４）転用効果は重みの転用時でないと定まらない。転用効果は、転用元のデータ（例えば、図３のデータＡ、以下「転用元訓練データ」ともいう。）と転用先のデータ（例えば、図３のデータＢ、以下「転用先訓練データ」ともいう。）の類似性、及び転用許可範囲に依存するためである。
（５）転用の安全性は、学習や転用が進むほど高まる。転用されるものは、転移学習をする際のシナプスの重みの初期値であるため、学習が進むに従い、シナプスの重みは上書きされる。このため、シナプスの重みが転用された初期段階において復元リスクはより高くなる。
【００２３】
以上の前提の下に、実際に学習を行うことなく、転用効果と転用の安全性とを任意の時点で定量的に評価することが望まれる。そこで、実際に学習を行うことなく、学習結果の転用効果を高速かつ定量的に評価する技術として、転用元訓練データと転用先訓練データとの距離を計算し、計算した距離に基づき転用効果を評価する方法がある。これによれば、算出した距離が、所定の基準値よりも近い場合には転用効果が大きいと評価し、当該距離が基準値よりも遠い場合には転用効果が小さいと評価できる。しかしながら、この方法では、前提（２）に示した通り、転用元訓練データは転用時には削除されているため、距離の計算ができない。また、この方法では複数の階層のシナプスの重みに対して、シナプスの重みを転用する範囲の広狭によって、転用効果がどの程度影響されるかが考慮されていない。更に、この方法では距離の比較基準がなく、基準値を予め設定することが難しい。
【００２４】
また、転用の安全性を任意の時点で定量的に評価する技術として、転用元訓練データと復元データとの距離を計算し、計算した距離に基づき転用の安全性を評価する方法がある。これによれば、算出した距離が所定の基準値よりも遠い場合には安全性が高いと評価し、距離が基準値よりも近い場合には安全性が低いと評価できる。しかしながら、この方法では、転用元訓練データは転用時には削除されているため、距離の計算ができない。また、この方法では距離の比較基準がなく、基準値を予め設定することが難しい。
【００２５】
そこで、本実施形態は、シナプスの重みの転用の安全性と転用効果とを定量的に評価する機能を有する情報処理装置を提供する。本実施形態にかかる情報処理装置によれば、図４に示すように、シナプスの重みを転用することの安全性を示す定量値と、転用効果を示す定量値とに基づき、安全性が所定以上低い範囲と転用効果が所定以上低い範囲を除いた転用許可範囲を定めることができる。なお、本実施形態にかかる情報処理装置が実行するリスク評価方法は、ディープラーニングによる学習時に図２の学習機２により実行され、認識機５による認識時にリスク評価が行われるものではない。よって、認識機５についてはこれまでのディープラーニングをそのまま使用することができる。
【００２６】
（リスク評価／安全性と転用効果）
本実施形態では、学習時に復元データを生成し、訓練データとの距離を算出して保存する。復元データは、例えば非特許文献２の方法を用いて、シナプス２０の重みから生成してもよい。注目しているニューロン１０の活性度が高まる入力データを、例えば非特許文献２の方法から求め、その入力データを復元データとする。ただし、復元データの生成方法は、非特許文献２の方法に限らず、公知のいずれの方法も用いることができる。
【００２７】
学習時に生成した復元データと、転用元訓練データとの距離は、転用の安全性の指標となる。学習時に生成した復元データと転用元訓練データとの距離が遠い程、復元データと訓練データとは似ていないことを意味するので、シナプス２０の重みが漏洩したときの影響が小さいと判断できる。よって、復元データと転用元訓練データとの距離が遠い場合、転用の安全性は高いといえる。例えば、データ間の距離を模式的に示す図５において、三角形の左下の頂点が、転用元訓練データの位置とする。復元データの位置がＡの場合、復元データの位置がＢの場合と比較して、復元データと転用元訓練データとの距離が近い。このため、復元データの位置がＡの場合、復元データの位置がＢの場合よりも転用の安全性は低いと判断できる。
【００２８】
転用の安全性の指標は、訓練データ自体の復元データとの距離という観点だけでなく、その訓練データであると特定され易いかという観点からも評価することができる。例えば、距離の比較基準として、顧客データである転用元訓練データや転用先訓練データとは別に、参照データを予め保持しておくことで、参照データを用いて転用の安全性を評価することができる。また、参照データをデータベース(以下、「参照データＤＢ２７ａ」ともいう。)に保存することで、参照データはいつでも参照可能である。よって、参照データを用いた転用の安全性の評価はいつでも行うことができる。参照データは、例えば百科事典等の様々なデータであって、インターネット等を介して入手可能なデータを収集することで得られる。なお，学習機２は収集した参照データに基づきディープラーニングによる学習を行い、復元データを生成してそれらを参照データの一部に含めてもよい。そして、学習機２は、復元データと参照データとの距離と、復元データと転用元訓練データとの距離とを比較する。
【００２９】
図５に示すように、復元データと転用元訓練データとの距離と、復元データと参照データとの距離との大小関係から、転用の安全性を評価することができる。例えば、復元データが転用元訓練データよりも参照データに近い場合、つまり、復元データの位置が、三角形内の図５の破線Ｄよりも参照データ側にある場合、その復元データはありふれていると判断できる。つまり、この場合、復元データは、転用元訓練データよりも参照データに似ている、つまり、ありふれたデータであることを意味するので、重み漏洩時の影響が小さく、転用の安全性は高いと判断できる。
【００３０】
学習時に生成した復元データと転用先訓練データとの距離は、転用効果の指標となる。学習時に生成した復元データと転用先訓練データとの距離が近いほど、転用の効果が大きいと判断できる。また、復元データと転用先訓練データとの距離と、復元データと参照データとの距離との大小関係から、転用効果を評価することができる。例えば、復元データが参照データよりも転用先訓練データに近い場合、つまり、復元データの位置が、三角形内の図５の破線Ｅよりも転用先訓練データ側にある場合、その復元データは、参照データよりも転用先訓練データに似ていることを意味するので、転用効果が高いと判断できる。
【００３１】
また、距離の他の比較基準として、リスク評価時に存在する他の訓練データを用いることができる。ただし、学習結果であるシナプスの重みが漏洩する場合、他の訓練データの安全性が危惧されるため、他の訓練データの使用に関しては、予め制限や条件を設けてもよい。
【００３２】
なお，学習機２は他の訓練データに基づきディープラーニングによる学習を行い、復元データを生成してそれらを他の訓練データの一部に含めてもよい。そして、学習機２は、復元データと他の訓練データとの距離と、復元データと転用元訓練データとの距離とを比較する。復元データが転用元訓練データよりも他の訓練データに近い場合、つまり、復元データの位置が、三角形内の図６の破線Ｄよりも他の訓練データ側にある場合、その復元データは、ありふれていることを意味する。よって、この場合、重み漏洩時の影響が小さく、転用の安全性が高いと判断される。また、復元データが他の訓練データよりも転用先訓練データに近い場合、つまり、復元データの位置が、三角形内の図６の破線Ｅよりも転用先訓練データ側にある場合、その復元データは、他の訓練データよりも転用先訓練データに似ていることを意味する。この場合、転用効果が高いと判断できる。例えば、復元データが斜線の領域内にある場合、転用の安全性が高く、かつ、転用効果が高いと判断できる。以下では、学習結果の転用の安全性及び転用効果の観点からリスク評価を定量的に行うことが可能な情報処理装置の一例として、第１〜第３実施形態にかかる学習機２について順に説明する。
【００３３】
＜第１実施形態＞
［機能構成］
第１実施形態にかかる学習機２の機能構成の一例について、図７を参照しながら説明する。第１実施形態にかかる学習機２は、入力部２１、学習部２２、復元データ生成部２３、距離算出部２４及び出力部２５を有する。入力部２１は、訓練データを入力する。学習部２２は、ニューラルネットワーク１のニューロン１０間を接続するシナプス２０の重みをランダムに設定し、入力した訓練データによる学習を行う。学習部２２は、学習の結果、シナプス２０の重みを更新する。学習部２２は、前の学習で得られたシナプス２０の重みに基づき、次の訓練データの学習を行う。
【００３４】
復元データ生成部２３は、学習の結果得られた重みから復元データを生成する。復元データの生成方法は、非特許文献２に開示された方法を用いてもよいし、これに限定されず、その他のいずれの公知の方法も用いることができる。
【００３５】
距離算出部２４は、生成した復元データと訓練データとの距離を算出する。距離の算出方法は、限定されず、いずれの公知の方法も用いることができる。距離算出部２４は、複数の訓練データが存在する場合、訓練データ毎に復元データと訓練データとのデータ距離（以下、単に「距離」ともいう。）を算出する。出力部２５は、学習の結果得られた重みと、算出した距離とを出力する。
【００３６】
［学習及びリスク評価処理］
次に、第１実施形態にかかる学習及びリスク評価処理について、図８を参照しながら説明する。本実施形態にかかる学習及びリスク評価処理が開始されると、入力部２１は、訓練データを入力する（ステップＳ１０）。学習部２２は、シナプス２０の重みをランダムに設定し、入力した訓練データによる学習を行う（ステップＳ１２）。復元データ生成部２３は、学習の結果得られた重みから復元データを生成する（ステップＳ１４）。距離算出部２４は、生成した復元データと各訓練データとの距離を算出する（ステップＳ１６）。出力部２５は、学習の結果得られた重みと、算出した距離とを出力し（ステップＳ１８）、本処理を終了する。
【００３７】
以上に説明したように、第１実施形態にかかる学習機２によれば、算出した復元データと訓練データとの距離が出力される。これにより、距離に基づき、学習の結果を示すシナプス２０の重みの転用の安全性と転用効果とを定量的に評価することができる。また、算出した復元データと訓練データとの距離に基づき、転用の安全性及び転用効果の両方を考慮して学習の結果を示すシナプス２０の重みの転用許可範囲を定めることができる。
【００３８】
＜第２実施形態＞
次に、シナプス２０の重みの転用許可範囲を決定する処理を含んだ第２実施形態にかかる学習機２の機能構成及び学習機２が行うリスク評価処理について説明する。
【００３９】
［機能構成］
第２実施形態にかかる学習機２の機能構成の一例について、図９を参照しながら説明する。第２実施形態にかかる学習機２は、入力部２１、学習部２２、復元データ生成部２３、距離算出部２４、許可決定部２６、出力部２５及び記録部２７を有する。入力部２１は、転用元訓練データ又は転用先訓練データを入力する。学習部２２は、ニューラルネットワーク１のシナプス２０の重みをランダムに設定し、入力した訓練データによる学習を行い、学習の結果、シナプス２０の重みを更新する。
【００４０】
復元データ生成部２３は、学習の結果得られた重みから復元データを生成する。復元データの生成方法は限定されず、いずれの公知の方法も用いることができる。
【００４１】
距離算出部２４は、生成した復元データと転用元訓練データとの距離を算出する。距離算出部２４は、生成した復元データと転用先訓練データとの距離を算出する。距離算出部２４は、生成した復元データと参照データとの距離を算出する。転用元訓練データ、転用先訓練データ、参照データがそれぞれ複数存在する場合、距離算出部２４は、復元データと各転用元訓練データとの距離、復元データと各転用先訓練データとの距離、復元データと参照データとの距離をそれぞれ算出する。各種データ間の距離の算出方法は限定されず、いずれの公知の方法も用いることができる。
【００４２】
許可決定部２６は、算出した復元データと各転用元訓練データとの距離、復元データと各転用先訓練データとの距離、復元データと参照データとの距離から重みの転用許可範囲を判定する。出力部２５は、学習の結果得られた重みと転用許可範囲とを出力する。記録部２７は、参照データを参照データＤＢ２７ａ（Data Base）に保存する。なお、記録部２７には、学習処理等の学習機２が行う制御全般のプログラム（制御プログラム７０）と、学習機２が行うリスク評価を実行するためのプログラム（リスク評価プログラム７１）とが記録されていてもよい。
【００４３】
［学習及びリスク評価処理］
次に、第２実施形態にかかる学習及びリスク評価処理について、図１０及び図１１を参照しながら説明する。図１０は、第２実施形態にかかる転用元訓練データによる機械学習の実行時（学習時）におけるリスク評価処理の一例を示すフローチャートである。図１１は、第２実施形態にかかる転用先訓練データによる学習時におけるリスク評価処理の一例を示すフローチャートである。
【００４４】
図１０に示す転用元訓練データによる学習時におけるリスク評価処理が開始されると、入力部２１は、転用元訓練データを入力する（ステップＳ２０）。学習部２２は、入力した転用元訓練データに基づきランダムな重みで学習を行う（ステップＳ１２）。復元データ生成部２３は、学習の結果の重みから復元データを生成し（ステップＳ１４）、距離算出部２４は、生成した復元データと各転用元訓練データとの距離を算出する（ステップＳ１６）。
【００４５】
次に、距離算出部２４は、参照データＤＢ２７ａに基づき、生成した復元データと各参照データとの距離を算出する（ステップＳ２２）。続いて、許可決定部２６は、算出した１又は複数の転用元訓練データの距離のうちの最短距離と、算出した１又は複数の参照データの距離のうちの最短距離とが等しい又は近似するニューロン１０を選択する（ステップＳ２４）。次に、許可決定部２６は、選択したニューロン１０より下層側のシナプスの重みを転用許可範囲と判定する（ステップＳ２６）。出力部２５は、学習の結果得られた重みと、転用許可範囲とを出力し（ステップＳ２８）、本処理を終了する。
【００４６】
以上に説明したように、第２実施形態にかかる学習機２によれば、復元データ及び訓練データの最短距離と、復元データ及び参照データの最短距離とが等しいか、ほぼ等しくなるニューロンが選択され、選択されたニューロンよりも下層側のシナプスの重みが転用許可範囲であると判定される。選択されたニューロンよりも下層側の重みは、特定の階層までの重みの一例である。
【００４７】
ディープラーニングでは、下層のニューロン１０ほど汎用的、上層のニューロン１０ほどタスク特化的な要素が強くなる。従って、下層のニューロン１０ほど参照データに近くなり、転用の安全性が高くなる傾向がある。例えば、ステップＳ２４において、図１の枠Ｓで囲まれたニューロン１０が選択された場合、本実施形態では、第１層及び第２層のシナプス２０の重みが転用許可範囲であると判定してもよい。このとき、第３層〜第ｎ層のシナプス２０の重みは転用を許可しない範囲（転用不許可範囲）である。これにより、転用の安全性及び転用効果の両方を考慮して、学習結果の転用の安全性と転用効果とを定量的に評価することができる。ただし、図１の枠Ｓで囲まれたニューロン１０が選択された場合、第２層のシナプス２０の重みのみが転用許可範囲であると判定してもよい。また、図１の枠Ｓで囲まれたニューロン１０のいくつかが選択された場合、第２層のシナプス２０の重みのうち、選択されたニューロン１０に接続されている重みのみが転用許可範囲であると判定してもよい。
【００４８】
次に、転用先訓練データによる学習時に実行されるリスク評価処理について、図１１を参照しながら説明する。本実施形態にかかる転用先訓練データによる学習時におけるリスク評価処理が開始されると、入力部２１は、転用先訓練データ、転用する重み、転用許可範囲を入力する（ステップＳ３０）。次に、学習部２２は、転用許可範囲が設定されているかを判定する（ステップＳ３２）。転用許可範囲が設定されている場合（転用許可範囲が空でない場合）、学習部２２は、入力した重みを用いて学習を行う（ステップＳ３４）。転用許可範囲が設定されていない場合（転用許可範囲が空である場合）、学習部２２は、ランダムな重みを用いて学習を行う（ステップＳ３６）。
【００４９】
ステップＳ１４以降の処理については、図１１のＳ１７及びＳ２５の処理の対象データが転用先訓練データである点で、図１０のＳ１６及びＳ２４の処理の対象データが転用元訓練データであることと異なるが、処理自体は同一であるため、ここではステップＳ１４以降の処理の説明を省略する。
【００５０】
以上に説明したように、第２実施形態にかかる学習機２によれば、転用先訓練データによる学習時に、転用元訓練データによる学習時に学習した結果を用いて高速かつ精度の高い学習が可能になる。加えて、本実施形態では、学習結果の転用の安全性と転用効果とを定量的に評価した結果得られた転用許可範囲の重みを用いて、転用先の学習を行うことができる。これにより、訓練データの安全が確保される範囲で適正な転用効果を得ることができる。
【００５１】
なお、図１０及び図１１のステップＳ２４、Ｓ２５、Ｓ２６では、複数の訓練データ（転用元訓練データ、転用先訓練データ）のそれぞれと復元データとの距離のうちの最短距離に基づき、転用許可範囲が判定された。しかしながら、転用許可範囲の判定方法は、これに限らず、例えば、複数の訓練データのそれぞれと復元データとの距離の平均値、中央値、最小値及び最大値のいずれかに基づき、転用許可範囲が判定されてもよい。
【００５２】
（変形例１）
本実施形態及び他の実施形態において、重みの転用方法に関する変形例１について、図１２を参照しながら説明する。例えば、転用のために読み込んだ学習済みの重みのうち、転用する層を変えて複数回学習することで、与えられた重みに対する転用の最適化を図ることができる。
【００５３】
１回目の学習では、図１２の最上段に示すように、第Ｐ層及びその下層の重み、つまり、第１層〜第Ｐ層の重みを転用して学習を行った場合を示す。第Ｐ層は、特定の階層の一例である。
【００５４】
２回目の学習では、図１２の中段に示すように、第Ｑ層及びその下層の重み、つまり、第１層〜第Ｑ層（Ｑ＞Ｐ）の重みを転用して学習を行った場合を示す。第Ｑ層は、特定の階層の一例である。
【００５５】
３回目の学習では、図１２の最下段に示すように、第Ｒ層及びその下層の重み、つまり、第１層〜第Ｒ層（Ｒ＞Ｑ＞Ｐ）の重みを転用して学習を行った場合を示す。第Ｒ層は、特定の階層の一例である。特定の階層よりも上層についてはランダムな重みが設定される。
【００５６】
１〜３回目の各学習で算出された精度をそれぞれ、精度１〜３とする。例えば、学習機２が訓練データで学習を行い、認識機５がテストデータで認識を行い、その認識結果が予め設定された正解と一致した割合を算出した精度としてもよい。学習回数は３回に限らない。
【００５７】
算出された精度１〜３のうちの最大値が最良の精度となる。その最大値の精度に対応する特定の階層の重みを選択し、その重みを転用した学習を行ってもよい。転用不許可範囲に重みを転用することはできず、転用不許可範囲ではランダムな重みを適用することができる。転用許可範囲は、複数の階層のシナプスの重みのうち、特定の階層までのシナプスの重みの使用を許可することにより設定される許可レベルの一例である。
【００５８】
精度の算出方法は、限定されず、公知のいずれの方法も使用できる。なお、精度の算出を高速化するために、学習前に復元データを生成し、転用先訓練データと復元データとの距離を算出し、その距離が小さい所定個数の重みに限定して、重みの転用を認め、転用が許可されている限定個数の重みを用いて学習を実行してもよい。
【００５９】
なお、ニューラルネットワーク１の説明が開示されている場合、学習の意味が一致している又は学習の意味が近いと判断されるニューラルネットワーク１に限定して、学習結果を転用する重みの選択を行うことも可能である。
【００６０】
（変形例２）
本実施形態及び他の実施形態において、復元データとの距離の算出に関する変形例２について、図１３及び図１４を参照しながら説明する。例えば、生成した復元データと訓練データとの距離を算出するとき、図１３に示すように、例えば、訓練データ「Ａ」そのものと、上下層の全ての重みを使用して生成した復元データとを比較し、復元データと訓練データとの距離を計算してもよい。
【００６１】
しかしながら、必ずしもこれに限らず、図１４に示すように、訓練データそのものではなく、訓練データ「Ａ」を入力して下層の重み１を使用して訓練データ「Ａ」の特徴を抽出した訓練データ「Ａ」の変換データと、上層の重み２を使用して生成した復元データとを比較してもよい。この場合、比較した距離が、復元データと訓練データとの距離となる。訓練データそのものではなく、訓練データの変換データを用いることにより、距離の計算の計算量を削減することができる。
【００６２】
また、復元データは、一部の階層のシナプスの重み(例えば、図１４の重み２)に基づき生成されてもよい。復元データと訓練データとの距離は、訓練データそのものと復元データとの距離を算出してもよいし、訓練データの変換データと復元データとの距離を算出してもよい。
【００６３】
＜第３実施形態＞
次に、算出した距離を評価する処理を含んだ第３実施形態にかかる学習機２及び学習機２が行うリスク評価処理について説明する。
【００６４】
［機能構成］
第３実施形態にかかる学習機２の機能構成の一例について、図１５を参照しながら説明する。第３実施形態にかかる学習機２は、入力部２１、距離評価部２８、学習部２２、距離算出部２４ｂ、出力部２５及び記録部２７を有する。第２実施形態と異なる点は、第３実施形態にかかる学習機２は、距離評価部２８を有し、第２実施形態にかかる学習機２が有する許可決定部２６を有しない点である。よって、図１５に示す機能のうち、第２実施形態と異なる距離評価部２８について説明し、その他の機能については説明を省略する。
【００６５】
距離評価部２８は、復元データ生成部２３、距離算出部２４ａ及び転用判定部２９を有する。復元データ生成部２３は、読み込んだ重みから復元データを生成する。距離算出部２４ａは、復元データと各転用先訓練データとの距離、及び復元データと各参照データとの距離を算出する。転用判定部２９は、読み込んだ転用元訓練データの最短距離が参照データの最短距離以上で、転用先訓練データの最短距離が最も小さくなるニューロンを選択する。転用判定部２９は、選択したニューロンより下層側のシナプスの重みが転用可能であると判定する。本実施形態において、選択したニューロンより下層は、複数の階層のシナプスの重みのうち、特定の階層までのシナプスの重みの使用を許可することにより設定される許可レベルの一例である。
【００６６】
［学習及びリスク評価処理］
次に、第３実施形態にかかる学習及びリスク評価処理について、図１６を参照しながら説明する。図１６は、第３実施形態にかかる転用先訓練データによる学習時におけるリスク評価処理の一例を示すフローチャートである。なお、第３実施形態にかかる転用元訓練データによる学習時におけるリスク評価処理は、図８に示す第１実施形態にかかる転用元訓練データによる学習時におけるリスク評価処理と同じであるため、ここでは説明を省略する。
【００６７】
本実施形態にかかる転用先訓練データによる学習時のリスク評価処理が開始されると、入力部２１は、転用先訓練データ、転用する重み、転用元訓練データの距離を入力する（ステップＳ４０）。次に、復元データ生成部２３は、読み込んだ重みから復元データを生成する（ステップＳ４２）。その際、復元データ生成部２３は、注目しているニューロン１０の活性度が高まる入力データを、例えば非特許文献２の方法から求め、その入力データを復元データとする。
【００６８】
次に、距離算出部２４ａは、復元データと各転用先訓練データとの距離を算出し、参照データＤＢ２７ａに基づき、復元データと各参照データとの距離を算出する（ステップＳ４４）。
【００６９】
次に、転用判定部２９は、転用元訓練データの最短距離が、参照データの最短距離以上で、転用先訓練データの最短距離が最も小さくなるニューロンを選択する（ステップＳ４６）。転用判定部２９は、選択したニューロンより下層側のシナプスの重みが転用可能であると判定する（ステップＳ４８）。次に、学習部２２は、転用可能と判定した重みを使用して学習を行う（ステップＳ５０）。
【００７０】
復元データ生成部２３は、学習の結果得られた重みから復元データを生成する（ステップＳ１４）。距離算出部２４ｂは、生成した復元データと各転用先訓練データとの距離を算出する（ステップＳ１７）。出力部２５は、学習の結果得られた重みと、算出した距離とを出力し（ステップＳ１８）、本処理を終了する。
【００７１】
以上に説明したように、第３実施形態にかかる学習機２によれば、転用先訓練データによる学習時に、距離評価部２８は、読み込んだ重みから復元データを生成する。次に、学習機２は、復元データと転用元距離データとの最短距離が、復元データと参照データとの最短距離以上で、転用先訓練データの最短距離が最も小さくなるニューロンを選択し、該ニューロンよりも下層側のシナプスの重みが転用可能であると判定する。ディープラーニングでは、下層のニューロンほど汎用的、上層のニューロンほどタスク特化的になる。従って、転用の安全性を満たす下層の中で最も転用効果が期待できるニューロンを選択することで、転用の安全性及び転用効果の両方を考慮して転用許可範囲を定めることができる。これにより、転用元訓練データによる学習時に学習した結果を用いて高速かつ精度の高い学習が可能になるとともに、転用の安全性と転用効果とを両立した学習が可能になる。
【００７２】
（ハードウェア構成）
最後に、本実施形態にかかる学習機２のハードウェア構成について、図１７を参照して説明する。図１７は、本実施形態にかかる学習機２のハードウェア構成の一例を示す。学習機２は、入力装置１０１、表示装置１０２、外部Ｉ／Ｆ１０３、ＲＡＭ（Random Access Memory）１０４、ＲＯＭ（Read Only Memory）１０５、ＣＰＵ（Central Processing Unit）１０６、通信Ｉ／Ｆ１０７、及びＨＤＤ（Hard Disk Drive）１０８などを備え、それぞれがバスＢで相互に接続されている。
【００７３】
入力装置１０１は、キーボードやマウスなどを含み、学習機２に各操作信号を入力するために用いられる。表示装置１０２は、ディスプレイなどを含み、各種の処理結果を表示する。通信Ｉ／Ｆ１０７は、学習機２をネットワークに接続するインターフェースである。これにより、学習機２は、通信Ｉ／Ｆ１０７を介して、他の機器（例えば、顧客側の機器等）とデータ通信を行うことができる。
【００７４】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、学習機２の全体を制御する基本ソフトウェア及びアプリケーションソフトウェアがある。例えば、ＨＤＤ１０８には、参照データＤＢ２７ａ、制御プログラム７０、リスク評価プログラム７１等のプログラム等が格納されてもよい。
【００７５】
外部Ｉ／Ｆ１０３は、外部装置とのインターフェースである。外部装置には、記録媒体１０３ａなどがある。これにより、学習機２は、外部Ｉ／Ｆ１０３を介して記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａには、ＣＤ（Compact Disk）、及びＤＶＤ（Digital Versatile Disk）、ならびに、ＳＤメモリカード（SD Memory card）やＵＳＢメモリ（Universal Serial Bus memory）等がある。
【００７６】
ＲＯＭ１０５は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、ネットワーク設定等のプログラム及びデータが格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＣＰＵ１０６は、上記記憶装置（例えば「ＨＤＤ１０８」や「ＲＯＭ１０５」など）から、制御プログラム７０、リスク評価プログラム７１やデータをＲＡＭ１０４上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
【００７７】
かかる構成により、本実施形態にかかる学習機２では、ＣＰＵ１０６が、ＲＯＭ１０５やＨＤＤ１０８内に格納されたデータ、制御プログラム７０及びリスク評価プログラム７１を用いて学習及びリスク評価処理を実行する。なお、参照データＤＢ２７ａに記憶された情報は、ＲＡＭ１０４、ＨＤＤ１０８、又はネットワークを介してクラウド上のサーバ等に格納され、学習機２に必要な情報を送信する形態であってもよい。学習部２２、復元データ生成部２３及び距離算出部２４、２４ａ、２４ｂの各部は、制御プログラム７０が、ＣＰＵ１０１に実行させる処理により実現される。許可決定部２６及び転用判定部２９の各部は、リスク評価プログラム７１が、ＣＰＵ１０１に実行させる処理により実現される。入力部２１は、例えば、入力装置１０１により実現される。出力部２５は、例えば、表示装置１０２により実現される。
【００７８】
以上、リスク評価方法、リスク評価プログラム及び情報処理装置を上記実施形態により説明したが、本発明にかかるリスク評価方法、リスク評価プログラム及び情報処理装置は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記実施形態及び変形例が複数存在する場合、矛盾しない範囲で組み合わせることができる。
【００７９】
例えば、上記実施形態にかかるリスク評価方法、リスク評価プログラム及び情報処理装置の構成は一例であり、本発明の範囲を限定するものではなく、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
【符号の説明】
【００８０】
１：ニューラルネットワーク
２：学習機
５：認識機
１０：ニューロン
２０：シナプス
２１：入力部
２２：学習部
２３：復元データ生成部
２４，２４ａ、２４ｂ：距離算出部
２５：出力部
２６：許可決定部
２７：記録部
２７ａ：参照データＤＢ
２８：距離評価部
２９：転用判定部
【図１】
2017090194.tif 000003
【図２】
2017090194.tif 000004
【図３】
2017090194.tif 000005
【図４】
2017090194.tif 000006
【図５】
2017090194.tif 000007
【図６】
2017090194.tif 000008
【図７】
2017090194.tif 000009
【図８】
2017090194.tif 000010
【図９】
2017090194.tif 000011
【図１０】
2017090194.tif 000012
【図１１】
2017090194.tif 000013
【図１２】
2017090194.tif 000014
【図１３】
2017090194.tif 000015
【図１４】
2017090194.tif 000016
【図１５】
2017090194.tif 000017
【図１６】
2017090194.tif 000018
【図１７】
2017090194.tif 000019
【国際調査報告】
2017090194.tif 000020
2017090194.tif 000021