(57)【要約】      （修正有）【課題】ニューラルネットワークの学習モデルの不正利用を抑制しつつ、学習モデルのユーザの利便性を向上する。【解決手段】学習装置１において、ネットワーク生成部１１０は、入力層、中間層、及び中間出力層が連結して構成される秘匿用ネットワークと、出力層を含む公開用ネットワークとが結合された１つのニューラルネットワークを生成する。学習部１１１は、ネットワーク生成部１１０が生成したニューラルネットワークに基本学習用データを学習させてモデルパラメータを生成する。公開用モデル提供部１１２は、公開用ネットワークに対応する部分のモデルパラメータである公開用モデルパラメータを通信ネットワークを介してユーザ端末に提供する。出力算出部１１３は、ユーザ端末から取得した調整学習用の学習データを入力とする秘匿用ネットワークの出力を算出する。出力提供部１１４は、秘匿用ネットワークの出力をユーザ端末に提供する。【選択図】図３
2019153216.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを用いてユーザ端末と通信可能な学習装置であって、
入力層、中間層、及び中間出力層が連結して構成される秘匿用ネットワークと、出力層を含む公開用ネットワークとが結合された１つのニューラルネットワークを生成するネットワーク生成部と、
前記ネットワーク生成部が生成したニューラルネットワークに基本学習用データを学習させてモデルパラメータを生成する学習部と、
前記公開用ネットワークに対応する部分のモデルパラメータである公開用モデルパラメータを前記通信ネットワークを介して前記ユーザ端末に提供する公開用モデル提供部と、
前記ユーザ端末から取得した調整学習用の学習データを入力とする前記秘匿用ネットワークの出力を算出する出力算出部と、
前記秘匿用ネットワークの出力を前記ユーザ端末に提供する出力提供部と、
を備える学習装置。
【請求項２】
前記ネットワーク生成部は、
複数の独立したサブネットワークを並列に並べて前記中間層を生成し、
前記公開用モデル提供部が前記公開用モデルパラメータを提供するユーザ端末毎に、前記サブネットワークの配列を変更する、
請求項１に記載の学習装置。
【請求項３】
前記ネットワーク生成部は、１つのサブネットワークに入力されるデータの一部が、他のサブネットワークに入力されるデータの一部と重複するように前記入力層と中間層とが接続されたニューラルネットワークを生成する、
請求項２に記載の学習装置。
【請求項４】
前記学習部は、前記公開用モデル提供部が前記公開用モデルパラメータを提供するユーザ端末毎に異なる個別学習データを用いて前記公開用ネットワークと前記中間出力層とを再学習し、
前記公開用モデル提供部は、前記学習部が再学習した公開用モデルパラメータを前記ユーザ端末に提供する、
請求項１から３のいずれか１項に記載の学習装置。
【請求項５】
ユーザ端末と、
通信ネットワークを用いて前記ユーザ端末と通信可能な学習装置と、
を備える情報処理システムであって、
前記学習装置は、
入力層を含む秘匿用ネットワークと出力層を含む公開用ネットワークとが連結して構成されるニューラルネットワークを生成するネットワーク生成部と、
前記公開用ネットワークに対応する部分のモデルパラメータである公開用モデルパラメータを前記通信ネットワークを介して前記ユーザ端末に提供する公開用モデル提供部と、
前記ユーザ端末から取得した調整学習用の学習データを入力とする前記秘匿用ネットワークの出力を、前記ユーザ端末に提供する出力提供部と、を備え、
前記ユーザ端末は、
前記通信ネットワークを介して前記学習装置から前記公開用モデルパラメータを取得するモデルパラメータ受信部と、
前記通信ネットワークを介して前記学習装置に調整学習用の学習データを送信する学習データ送信部と、
前記通信ネットワークを介して前記学習装置から、前記調整学習用の学習データを入力とする前記秘匿用ネットワークの出力を取得する出力受信部と、
前記出力受信部が取得した出力を入力データとして、前記モデルパラメータ受信部が取得した公開用モデルパラメータをファインチューニングするモデル調整部と、を備える、
情報処理システム。
【請求項６】
通信ネットワークを用いてユーザ端末と通信可能な学習装置のプロセッサが、
入力層、中間層、及び中間出力層が連結して構成される秘匿用ネットワークと、出力層を含む公開用ネットワークとが結合された１つのニューラルネットワークを生成するステップと、
生成した前記ニューラルネットワークに基本学習用データを学習させてモデルパラメータを生成するステップと、
前記公開用ネットワークに対応する部分のモデルパラメータである公開用モデルパラメータを前記通信ネットワークを介して前記ユーザ端末に提供するステップと、
前記ユーザ端末から取得した調整学習用の学習データを入力とする前記秘匿用ネットワークの出力を算出するステップと、
前記秘匿用ネットワークの出力を前記ユーザ端末に提供するステップと、
を実行する学習方法。
【請求項７】
通信ネットワークを用いてユーザ端末と通信可能なコンピュータに、
入力層、中間層、及び中間出力層が連結して構成される秘匿用ネットワークと、出力層を含む公開用ネットワークとを結合して１つのニューラルネットワークを生成する機能と、
生成した前記ニューラルネットワークに基本学習用データを学習させてモデルパラメータを生成する機能と、
前記公開用ネットワークに対応する部分のモデルパラメータである公開用モデルパラメータを前記通信ネットワークを介して前記ユーザ端末に提供する機能と、
前記ユーザ端末から取得した調整学習用の学習データを入力とする前記秘匿用ネットワークの出力を算出する機能と、
前記秘匿用ネットワークの出力を前記ユーザ端末に提供する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、情報処理システム、学習方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、ＣＰＵ（Central Processing Unit）及びＧＰＵ（Graphics Processing Unit）の高速化、メモリの大容量化、及びニューラルネットワークを用いた機械学習技術が急速に進んできている。このため、数十万から百万といったオーダーの学習データを用いる機械学習が可能となり、精度の高い識別技術や分類技術が確立されつつある（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Yangqing Jia, Evan Shelhamer, Jeff Donahue, Sergey Karayev, Jonathan Long, Ross Girshick, Sergio Guadarrama, and Trevor Darrell. Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the 22nd ACM international conference on Multimedia (pp. 675-678). ACM.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
大量の学習データに基づく機械学習を実行するためには大量の計算コストがかかる。また、大量の学習データを用意すること、及び用意した学習データを機械学習に用いるためにする前処理にも膨大な労力を要する。一方で、ニューラルネットワークを用いた機械学習によって生成された学習モデルはデジタルデータであり、その複製は容易である。さらに、一般に学習モデル生成に用いられた学習データを、学習モデル自体から推測することは難しい。
【０００５】
学習モデルを生成したモデル作成者がその学習モデルを第三者に利用させることで利益を得ようとする場合に、学習モデル自体を第三者に渡してしまうと、第三者が学習モデルを不正に利用したとしても、モデル作成者はその不正を立証することが難しい。一方で、モデル作成者が学習モデルを秘匿し、ユーザからの入力を受け付けて出力のみを返す構造とすると、ユーザは学習モデルをファインチューニングすることができず不便であり、学習モデルの利用価値を最大化できない。
【０００６】
本発明はこれらの点に鑑みてなされたものであり、ニューラルネットワークの学習モデルの不正利用を抑制しつつ、学習モデルのユーザの利便性を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様は、通信ネットワークを用いてユーザ端末と通信可能な学習装置である。この装置は、入力層、中間層、及び中間出力層が連結して構成される秘匿用ネットワークと、出力層を含む公開用ネットワークとが結合された１つのニューラルネットワークを生成するネットワーク生成部と、前記ネットワーク生成部が生成したニューラルネットワークに基本学習用データを学習させてモデルパラメータを生成する学習部と、前記公開用ネットワークに対応する部分のモデルパラメータである公開用モデルパラメータを前記通信ネットワークを介して前記ユーザ端末に提供する公開用モデル提供部と、前記ユーザ端末から取得した調整学習用の学習データを入力とする前記秘匿用ネットワークの出力を算出する出力算出部と、前記秘匿用ネットワークの出力を前記ユーザ端末に提供する出力提供部と、を備える。
【０００８】
前記ネットワーク生成部は、複数の独立したサブネットワークを並列に並べて前記中間層を生成してもよく、前記公開用モデル提供部が前記公開用モデルパラメータを提供するユーザ端末毎に、前記サブネットワークの配列を変更してもよい。
【０００９】
前記ネットワーク生成部は、１つのサブネットワークに入力されるデータの一部が、他のサブネットワークに入力されるデータの一部と重複するように前記入力層と中間層とが接続されたニューラルネットワークを生成してもよい。
【００１０】
前記学習部は、前記公開用モデル提供部が前記公開用モデルパラメータを提供するユーザ端末毎に異なる個別学習データを用いて前記公開用ネットワークと前記中間出力層とを再学習してもよく、前記公開用モデル提供部は、前記学習部が再学習した公開用モデルパラメータを前記ユーザ端末に提供してもよい。
【００１１】
本発明の第２の態様は、ユーザ端末と、通信ネットワークを用いて前記ユーザ端末と通信可能な学習装置と、を備える情報処理システムである。このシステムにおいて、前記学習装置は、入力層を含む秘匿用ネットワークと出力層を含む公開用ネットワークとが連結して構成されるニューラルネットワークを生成するネットワーク生成部と、前記公開用ネットワークに対応する部分のモデルパラメータである公開用モデルパラメータを前記通信ネットワークを介して前記ユーザ端末に提供する公開用モデル提供部と、前記ユーザ端末から取得した調整学習用の学習データを入力とする前記秘匿用ネットワークの出力を、前記ユーザ端末に提供する出力提供部と、を備える。また、前記ユーザ端末は、前記通信ネットワークを介して前記学習装置から前記公開用モデルパラメータを取得するモデルパラメータ受信部と、前記通信ネットワークを介して前記学習装置に調整学習用の学習データを送信する学習データ送信部と、前記通信ネットワークを介して前記学習装置から、前記調整学習用の学習データを入力とする前記秘匿用ネットワークの出力を取得する出力受信部と、前記出力受信部が取得した出力を入力データとして、前記モデルパラメータ受信部が取得した公開用モデルパラメータをファインチューニングするモデル調整部と、を備える。
【００１２】
本発明の第３の態様は、学習方法である。この方法において、通信ネットワークを用いてユーザ端末と通信可能な学習装置のプロセッサが、入力層、中間層、及び中間出力層が連結して構成される秘匿用ネットワークと、出力層を含む公開用ネットワークとが結合された１つのニューラルネットワークを生成するステップと、生成した前記ニューラルネットワークに基本学習用データを学習させてモデルパラメータを生成するステップと、前記公開用ネットワークに対応する部分のモデルパラメータである公開用モデルパラメータを前記通信ネットワークを介して前記ユーザ端末に提供するステップと、前記ユーザ端末から取得した調整学習用の学習データを入力とする前記秘匿用ネットワークの出力を算出するステップと、前記秘匿用ネットワークの出力を前記ユーザ端末に提供するステップと、を実行する。
【００１３】
本発明の第４の態様は、プログラムである。このプログラムは、通信ネットワークを用いてユーザ端末と通信可能なコンピュータに、入力層、中間層、及び中間出力層が連結して構成される秘匿用ネットワークと、出力層を含む公開用ネットワークとを結合して１つのニューラルネットワークを生成する機能と、生成した前記ニューラルネットワークに基本学習用データを学習させてモデルパラメータを生成する機能と、前記公開用ネットワークに対応する部分のモデルパラメータである公開用モデルパラメータを前記通信ネットワークを介して前記ユーザ端末に提供する機能と、前記ユーザ端末から取得した調整学習用の学習データを入力とする前記秘匿用ネットワークの出力を算出する機能と、前記秘匿用ネットワークの出力を前記ユーザ端末に提供する機能と、を実現させる。
【発明の効果】
【００１４】
ニューラルネットワークの学習モデルの不正利用を抑制しつつ、学習モデルのユーザの利便性を向上することができる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態に係るニューラルネットワークの構成を模式的に示す図である。
【図２】実施の形態に係る情報処理システムの全体構成を模式的に示す図である。
【図３】実施の形態に係る学習装置の機能構成を模式的に示す図である。
【図４】実施の形態に係るネットワーク生成部が生成する秘匿用ネットワークの内部構造を模式的に示す図である。
【図５】実施の形態に係る学習部が実行する公開用モデルパラメータの個別学習を説明するための図である。
【図６】入力データのオーバーラップを説明するための図である。
【図７】実施の形態に係るユーザ端末の機能構成を模式的に示す図である。
【図８】実施の形態に係る学習装置が実行する学習処理の流れを説明するためのフローチャートである。
【図９】変形例に係る秘匿用ネットワークの内部構造を模式的に示す図である。
【発明を実施するための形態】
【００１６】
＜実施の形態の概要＞
図１は、実施の形態に係るニューラルネットワークの構成を模式的に示す図である。また、図２は、実施の形態に係る情報処理システムＳの全体構成を模式的に示す図である。以下、図１及び図２を参照して、実施の形態の概要を述べる。
【００１７】
実施の形態に係る学習装置が利用するニューラルネットワークは、全体としては、入力層、中間層、及び出力層を含む一般的な構成である。図１の上段に示すように、実施の形態に係る学習装置は、入力層に入力した基本学習用データが中間層を伝搬し、最終的に出力層が出力したデータ列と、基本学習用データに対応する正解ラベルとの誤差を損失関数を用いて算出する。学習装置は、算出した誤差に基づいて、誤差逆伝搬法を用いて中間層に設定された重みを更新する。
【００１８】
図１の下段に示すように、実施の形態に係る学習装置が利用するニューラルネットワークにおいて、中間層は３つの層に大別される。具体的には、入力層と隣接する第１中間層、第１中間層を伝搬したデータを出力するための中間出力層、及び中間出力層の出力を入力とし出力層に至るまでの間の第２中間層の３つである。
【００１９】
図２に示すように、実施の形態に係る情報処理システムＳは、通信ネットワークＮを介して互いに通信可能な態様で接続する学習装置１とユーザ端末２とを含む。ここで、学習装置１は、第２中間層と出力層とから構成される公開用ネットワークのみをニューラルネットワークのユーザのユーザ端末２に提供する。
【００２０】
一方、学習装置１は、入力層、第１中間層、及び中間出力層から構成される秘匿用ネットワークのパラメータは、ユーザ端末２に提供せず秘匿する。学習装置１は、秘匿用ネットワークをユーザ端末２に提供するその代わりに、秘匿用ネットワークにデータを入力するための入力ＡＰＩ（Application Programming Interface）と、秘匿用ネットワークが出力したデータを取り出すための出力ＡＰＩとをユーザに公開する。
【００２１】
ユーザは、入力ＡＰＩを利用してファインチューニングに利用する再学習用データを秘匿用ニューラルネットワークに入力する。また、ユーザは、出力ＡＰＩを用いて秘匿用ニューラルネットワークの出力を取得する。これにより、ユーザは、秘匿用ニューラルネットワークの出力を公開用ニューラルネットワークに入力することができる。したがって、ユーザは、公開用ニューラルネットワークを再学習用データでファインチューニングすることができるようになる。
【００２２】
公開用ニューラルネットワークは秘匿用ニューラルネットワークの出力を入力とするため、ユーザは、公開用ニューラルネットワークだけでは目的タスクを実行することができない。このため、ユーザが公開用ニューラルネットワークを第三者に不正に譲渡したとしても、譲り受け人は公開ニューラルネットワークだけでは目的タスクを実行することができない。これにより、学習装置１の管理者であるモデル作成者は、自身が作成したニューラルネットワークの学習モデルが不正利用されることを抑制できる。
【００２３】
また、公開用ニューラルネットワーク及び各ＡＰＩの提供を受けたユーザは、自身が用意した再学習用データを用いて公開用ニューラルネットワークのモデルパラメータをファインチューニングすることができるため、目的タスクに応じた学習モデルを生成することができる。また、秘匿用ニューラルネットワークに関する演算を学習装置１が肩代わりするため、ユーザがＩｏＴ（Internet of Things）デバイス等の計算リソースの乏しい機器で学習モデルを利用する場合であっても、目的タスクを実行することができる。
【００２４】
このように、実施の形態に係る学習装置１は、ニューラルネットワークの学習モデルの不正利用を抑制しつつ、学習モデルのユーザの利便性を向上させることができる。
【００２５】
＜学習装置１の機能構成＞
図３は、実施の形態に係る学習装置１の機能構成を模式的に示す図である。学習装置１は、記憶部１０と制御部１１とを備える。
【００２６】
記憶部１０は、学習装置１を実現するコンピュータのＢＩＯＳ（Basic Input Output System）等を格納するＲＯＭ（Read Only Memory）や学習装置１の作業領域となるＲＡＭ（Random Access Memory）、ＯＳ（Operating System）やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の大容量記憶装置である。
【００２７】
制御部１１は、学習装置１のＣＰＵやＧＰＵ等のプロセッサであり、記憶部１０に記憶されたプログラムを実行することによってネットワーク生成部１１０、学習部１１１、公開用モデル提供部１１２、出力算出部１１３、及び出力提供部１１４として機能する。
【００２８】
なお、図３は、学習装置１が単一の装置で構成されている場合の例を示している。しかしながら、学習装置１は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部１１を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【００２９】
ネットワーク生成部１１０は、秘匿用ネットワークと公開用ネットワークとが結合された１つのニューラルネットワークを生成する。具体的には、ネットワーク生成部１１０は、入力層、第１中間層、及び中間出力を連結して秘匿用ネットワークを生成する。また、ネットワーク生成部１１０は、第２中間層と出力層とを連結して公開用ネットワークを生成する。
【００３０】
学習部１１１は、ネットワーク生成部１１０が生成したニューラルネットワークに基本学習用データを学習させてモデルパラメータを生成する。基本学習用データは、ニューラルネットワークの入力層に入力するための入力データと、ニューラルネットワーク出力層が出力すべき正解ラベルとの組み合わせであるデータセットである。学習部１１１は、既知の誤差逆伝搬法を用いて学習を実行することにより、モデルパラメータを生成する。
【００３１】
公開用モデル提供部１１２は、公開用ネットワークに対応する部分のモデルパラメータである公開用モデルパラメータを、通信ネットワークＮを介してユーザ端末２に提供する。
【００３２】
出力算出部１１３は、ユーザ端末２から調整学習用の学習データを取得する。出力算出部１１３は、秘匿用ネットワークに調整学習用データを入力し、秘匿用ネットワークの出力を算出する。出力提供部１１４は、出力算出部１１３が算出した秘匿用ネットワークの出力を、通信ネットワークＮを介してユーザ端末２に提供する。
【００３３】
これにより、学習装置１は、ユーザ端末２にニューラルネットワーク全体のモデルパラメータを提供することなく、ユーザ端末２にモデルパラメータのファインチューニングをする機会を提供することができる。ゆえに、学習装置１は、ニューラルネットワークの学習モデルの不正利用を抑制しつつ、学習モデルのユーザの利便性を向上することができる。
【００３４】
（公開用ネットワークのユーザ毎のランダム化）
公開用ネットワークのユーザは、通信ネットワークＮを介して秘匿用ネットワークに関する演算を学習装置１に委任するが、これは学習装置１がユーザに対して一種のクラウドサービスを提供していることになる。したがって、学習装置１の管理者は、ユーザが秘匿用ネットワークを利用する場合、必要に応じてユーザに対して対価を請求することもある。
【００３５】
ここで、公開用ネットワークを正当に入手したユーザ同士が、調整用学習データの少なくとも一部が共通しているとする。この場合、ユーザ同士が共謀したとすると、一方のユーザが共通部分の調整用学習データを入力する秘匿用ネットワークの出力を取得して他方のユーザに提供することにより、他方のユーザは共通部分について秘匿用ネットワークを利用せずに再学習ができてしまうことになる。これは一種の不正利用であり、学習装置１は他方のユーザから本来受け取るべき対価を受け取れなくなることを意味する。
【００３６】
そこで、ネットワーク生成部１１０は、同じ入力データを入力しても、公開用モデルパラメータを提供するユーザ端末２が異なれば、秘匿用ネットワークの出力値が異なるように、秘匿用ネットワークを構成する。具体的には、ネットワーク生成部１１０は、公開用モデルパラメータを提供するユーザ端末毎に、出力値をランダム化する。
【００３７】
図４（ａ）―（ｂ）は、実施の形態に係るネットワーク生成部１１０が生成する秘匿用ネットワークの内部構造を模式的に示す図である。図４（ａ）は、あるユーザ端末２に提供する公開用ネットワークに対応する秘匿用ネットワークの構造を示す図である。また、図４（ｂ）は、別のユーザ端末２に提供する公開用ネットワークに対応する秘匿用ネットワークの構造を示す図である。
【００３８】
図４（ａ）―（ｂ）に示すように、ネットワーク生成部１１０は、複数の独立したサブネットワークを並列に並べて第１中間層を生成する。また、ネットワーク生成部１１０は、公開用モデルパラメータを提供するユーザ端末毎に、サブネットワークの配列を変更する。
【００３９】
なお、ネットワーク生成部１１０は、入力層と第１中間層との接続関係を、サブネットワークの配列のさせ方に応じてユーザ端末毎に変更する。これにより、ユーザ端末毎に秘匿用ネットワークの内部構造が異なっても、同一のデータをネットワークに入力する場合、ユーザ端末毎に入力データを変更する必要がない。結果として、ユーザ端末２から見ると、他のユーザ端末２用の入力ＡＰＩ及び出力ＡＰＩを用いると、同一のデータを入力しても異なる結果が出力されるように見える。これにより、ユーザ同士が共謀して秘匿用ネットワークの出力結果を使いまわすことを抑制できる。
【００４０】
一般に、ニューラルネットワークの学習は大量の計算リソースを消費しかつ時間もかかる。サブネットワークを並列に並べて第１中間層を構成することにより、学習装置１の管理者は、サブネットワークの配列を組み替えるだけで秘匿用ネットワークの出力を変えることができる。このため、学習装置１の管理者は、異なるユーザ毎に秘匿用ネットワークの学習をやり直す必要がないので、計算リソース及び時間を節約することができる。
【００４１】
（公開用モデル自体のランダム化）
上述したように、第１中間層を構成するサブネットワークの配列を組み替えることにより、ユーザ端末毎に秘匿用ネットワークの出力を変更することができる。しかしながら、第１中間層を構成するサブネットワークの配列を組み替えるだけでは、秘匿用ネットワークが出力するベクトルを構成する構成要素の順番は入れ替わるものの、構成要素自体が変更されるわけではない。
【００４２】
このため、例えば、公開用ネットワークを正当に入手したユーザ同士が共謀し、それぞれの入力ＡＰＩに同一の入力データを入力し、出力ＡＰＩで取得した出力を比較することにより、出力パターンの並び順の相違を見破られる可能性がある。出力パターンの並び順の相違を見破られた場合、一方の出力を他方で流用されることもありうる。
【００４３】
そこで、学習部１１１は、公開用モデルパラメータを提供するユーザ端末毎に異なる個別学習データを用いて、ユーザ端末毎に公開用ネットワークと中間出力層とを再学習してもよい。
【００４４】
図５は、実施の形態に係る学習部１１１が実行する公開用モデルパラメータの個別学習を説明するための図である。図５に示すように、学習部１１１は、ユーザ端末毎に異なる個別学習用データを秘匿用ネットワークと公開用ネットワークとに入力し、その出力と個別学習用ラベルとの誤差が小さくなるように、公開用ネットワークの重みと中間出力層とを更新する。言い換えると、学習部１１１は、出力層から中間出力層まで誤差が伝搬するように、個別学習用データを用いてファインチューニングする。公開用モデル提供部１１２は、学習部１１１が再学習した公開用モデルパラメータを各ユーザ端末２に提供する。
【００４５】
これにより、学習部１１１は、中間出力層の値自体を、提供するユーザ端末２毎に変更する。当然ながら、公開用モデルパラメータを構成する要素の値自体もユーザ端末２毎に異なる。中間出力層の値自体がユーザ端末毎に異なるため、ユーザ同士が共謀し、それぞれの入力ＡＰＩに同一の入力データを入力し、出力ＡＰＩで出力を取得しても、出力ベクトルの構成要素の値自体も変更される。ゆえに、ある出力ＡＰＩの出力ベクトルを並べ替え、別の出力ＡＰＩの出力として再利用されることを抑制できる。また、学習装置１は、ファインチューニングを中間出力層までで停止するため、中間層については全ユーザ端末で共通に使用することができる。
【００４６】
（入力データのオーバーラップ）
図４（ａ）―（ｂ）に示すように、第１中間層を複数の独立したサブネットワークの集合とすると、第１中間層においては、サブネットワーク間のつながりが絶たれることになる。これは、あるサブネットワークに入力された情報と、他のサブネットワークに入力された情報との組み合わせが学習されないことになるため、ニューラルネットワーク全体としての汎化性の向上を妨げることも起こりうる。
【００４７】
そこで、ネットワーク生成部１１０は、１つのサブネットワークに入力されるデータの一部が、他のサブネットワークに入力されるデータの一部と重複するように前記入力層と中間層とが接続されたニューラルネットワークを生成する。
【００４８】
図６は、入力データのオーバーラップを説明するための図である。図６は、ニューラルネットワークに入力されるデータが画像データＩである場合の例を示している。図６において、画像データＩの部分領域である第１部分画像Ｉ１は第１サブネットワークに入力される。同様に、画像データＩの部分領域である第２部分画像Ｉ２は、第２サブネットワークに入力される。
【００４９】
ここで、図６に示すように、第１部分画像Ｉ１の一部は第１サブネットワークと第２サブネットワークとの両方のネットワークに入力される。また、第２部分画像Ｉ２の一部も、第１サブネットワークと第２サブネットワークとの両方のネットワークに入力される。これにより、図６において符号Ｏで示すように、学習装置１とユーザ端末２とにまたがる重複領域Ｏは、第１サブネットワークと第２サブネットワークとの両方に入力されることになる。このため、第１サブネットワークと第２サブネットワークとは独立していても、入力されるデータに重複があるため、ニューラルネットワーク全体としての汎化性の向上が期待できる。
【００５０】
なお、図６は、重複領域Ｏが、第１部分画像Ｉ１と第２部分画像Ｉ２との両方に接している場合の例を示している。このため、図６に示すように、重複領域Ｏが第１部分領域Ｉ２及び第２部分領域Ｉ２の中に含まれているかのように見える。しかしながら、各部分領域のうち、重複領域Ｏとそれ以外の領域とは、必ずしも接している必要はない。図示はしないが、各部分領域のうち、重複領域Ｏとそれ以外の領域とが接しておらず、重複領域Ｏがあたかも「飛び地」のように入力画像Ｉ中の離れた場所に存在するようにしてもよい。
【００５１】
＜ユーザ端末２の機能構成＞
図７は、実施の形態に係るユーザ端末２の機能構成を模式的に示す図である。実施の形態に係るユーザ端末２は、記憶部２０と制御部２１とを備える。
【００５２】
記憶部２０は、ユーザ端末２を実現するコンピュータのＢＩＯＳ等を格納するＲＯＭやユーザ端末２の作業領域となるＲＡＭ、ＯＳやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するＨＤＤやＳＳＤ等の大容量記憶装置である。
【００５３】
制御部２１は、ユーザ端末２のＣＰＵやＧＰＵ等のプロセッサであり、記憶部２０に記憶されたプログラムを実行することによってモデルパラメータ受信部２１０、学習データ送信部２１１、出力受信部２１２、及びモデル調整部２１３として機能する。
【００５４】
なお、図７は、ユーザ端末２が単一の装置で構成されている場合の例を示している。しかしながら、ユーザ端末２は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部２１を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【００５５】
モデルパラメータ受信部２１０は、通信ネットワークＮを介して学習装置１から公開用モデルパラメータを取得する。学習データ送信部２１１は、通信ネットワークＮを介して学習装置１に調整学習用の学習データを送信する。出力受信部２１２は、通信ネットワークＮを介して、学習装置１から、調整学習用の学習データを入力とする秘匿用ネットワークの出力を取得する。
【００５６】
モデル調整部２１３は、出力受信部２１２が取得した出力を入力データとして、モデルパラメータ受信部２１０が取得した公開用モデルパラメータをファインチューニングする。これにより、ユーザ端末２は、入力層から中間出力層に至るまでの演算を学習装置１に委任して出力結果だけを受信し、ファインチューニングを実施することができる。
【００５７】
＜学習装置１が実行する学習処理の処理フロー＞
図８は、実施の形態に係る学習装置１が実行する学習処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば、学習装置１が起動したときに開始する。
【００５８】
ネットワーク生成部１１０は、入力層、中間層、及び中間出力層が連結して構成される秘匿用ネットワークと、出力層を含む公開用ネットワークとが結合された１つのニューラルネットワークを生成する（Ｓ２）。学習部１１１は、ネットワーク生成部１１０が生成したニューラルネットワークに基本学習用データを学習させてモデルパラメータを生成する（Ｓ４）。
【００５９】
公開用モデル提供部１１２は、公開用ネットワークに対応する部分のモデルパラメータである公開用モデルパラメータを通信ネットワークＮを介してユーザ端末２に提供する（Ｓ６）。出力算出部１１３は、ユーザ端末２から取得した調整学習用の学習データを入力とする秘匿用ネットワークの出力を算出する（Ｓ８）。
【００６０】
出力提供部１１４は、出力算出部１１３が算出した秘匿用ネットワークの出力をユーザ端末２に提供する（Ｓ１０）。出力提供部１１４がユーザ端末２に秘匿用ネットワークの出力を提供すると、本フローチャートにおける処理は終了する。
【００６１】
＜実施の形態に係る情報処理システムＳの利用シーン＞
ユーザ端末２のユーザは、情報処理システムＳにユーザ登録を行い、情報処理システムＳに公開用モデルパラメータの提供を要求する。情報処理システムＳは、ユーザ端末から所定の対価の支払いがあることを条件として、ユーザ端末２に公開用モデルパラメータを提供する。
【００６２】
ユーザ端末２のユーザは、自身の目的タスク用に公開用モデルパラメータをファインチューニングするために、学習装置１に調整学習用データを送信する。学習装置１は、ユーザ端末２から受信した調整学習用データを入力とする秘匿用ネットワークの出力をユーザ端末２に送信する。
【００６３】
ユーザ端末２は、学習装置１から取得した秘匿用ネットワークの出力を公開用ネットワークに入力し、公開用モデルパラメータをファインチューニングする。これにより、学習装置１は、ユーザ端末２にニューラルネットワークのモデルパラメータ全体を提供することなく、ユーザ端末２のユーザにファインチューニングの機会を提供することができる。
【００６４】
ユーザ端末２のユーザは、公開用モデルパラメータをファインチューニングした後は、ファインチューニング後のモデルパラメータを用いて、自身の目的タスクを実行することができる。この場合も、図２に示す情報処理システムＳの枠組みをそのまま利用できる。
【００６５】
すなわち、ユーザ端末２のユーザは、ユーザ端末２で入力ＡＰＩを利用して、図２における再学習用データに替えて、目的タスクの実行対象のデータを秘匿用ネットワークに入力する。その後、ユーザ端末２のユーザは、ユーザ端末２で出力ＡＰＩを利用して、目的タスクの実行対象のデータを入力とする秘匿用ネットワークの出力を取得する。ユーザ端末２のユーザは、取得した出力をユーザ端末２が保持するファインチューニング後の公開用モデルパラメータに入力することで、最終的な実行結果を得ることができる。
【００６６】
＜実施の形態に係る学習装置１が奏する効果＞
以上説明したように、実施の形態に係る学習装置１によれば、ニューラルネットワークの学習モデルの不正利用を抑制しつつ、学習モデルのユーザの利便性を向上させることができる。
【００６７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
【００６８】
＜変形例＞
上記では、ネットワーク生成部１１０は、ユーザ端末毎に第１中間層を構成する各サブネットワークの配列の順序を変更することにより、秘匿用ネットワークの出力をランダム化する場合について説明した。しかしながら、再学習をすることなく秘匿用ネットワークの出力をランダム化する方法は上記に限られない。例えば、ネットワーク生成部１１０は、中間出力層に、第１中間層の出力をランダム化するランダム化層を設けることで、秘匿用ネットワークの出力をランダム化してもよい。
【００６９】
図９は、変形例に係る秘匿用ネットワークの内部構造を模式的に示す図である。図９に示すように、変形例に係るネットワーク生成部１１０は、中間出力層の内部に、第１中間層の出力の順番を入れ替えるランダム化層を生成する。ここで、変形例に係る１１０は、公開用モデルパラメータを提供するユーザ端末毎に第１中間層の出力の順番が異なるように、ランダム化層もユーザ端末毎に変更する。これにより、ネットワーク生成部１１０は、第１中間層の構造をサブネットワークの集合としなくても秘匿用ネットワークの出力をランダム化できる。実施の形態に係る第１中間層の構造の制約を外せるため、変形例に係るネットワーク生成部１１０が生成する秘匿用ネットワークは、ニューラルネットワークの学習の汎化性を向上させうる点で効果がある。
【符号の説明】
【００７０】
１・・・学習装置
１０・・・記憶部
１１・・・制御部
１１０・・・ネットワーク生成部
１１１・・・学習部
１１２・・・公開用モデル提供部
１１３・・・出力算出部
１１４・・・出力提供部
２・・・ユーザ端末
２０・・・記憶部
２１・・・制御部
２１０・・・モデルパラメータ受信部
２１１・・・学習データ送信部
２１２・・・出力受信部
２１３・・・モデル調整部
Ｓ・・・情報処理システム
【図１】
2019153216.tif 000003
【図２】
2019153216.tif 000004
【図３】
2019153216.tif 000005
【図４】
2019153216.tif 000006
【図５】
2019153216.tif 000007
【図６】
2019153216.tif 000008
【図７】
2019153216.tif 000009
【図８】
2019153216.tif 000010
【図９】
2019153216.tif 000011