(57)【要約】【課題】異なる正答率の学習モデルを提供する。【解決手段】情報処理装置１において、モデル取得部１１０は、目的タスクを検出するための機械学習モデルのモデルパラメータを取得する。目標値取得部１１１は、モデルパラメータに設定する目的タスクの正答率を示す目標正答率を取得する。パラメータ圧縮部１１２は、初期の圧縮関連パラメータにしたがって、モデルパラメータを非可逆圧縮する。パラメータ伸張部１１３は、パラメータ圧縮部１１２が非可逆圧縮したモデルパラメータを伸張する。正答率算出部１１４は、パラメータ伸張部１１３が伸張したモデルパラメータにおけるテスト用入力データの正答率を算出する。圧縮率設定部１１５は、正答率算出部１１４が算出した正答率と目標正答率との差が所定の範囲となるまで、パラメータ圧縮部１１２に設定するモデルパラメータの圧縮関連パラメータを変更する。【選択図】図２
2019159694.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.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
大量の学習データに基づく機械学習を実行するためには大量の計算コストがかかる。また、大量の学習データを用意すること、及び用意した学習データを機械学習に用いるためにする前処理にも膨大な労力を要する。学習モデルを生成したモデル作成者がその学習モデルを第三者に利用させることで利益を得ようとする場合に、利用者に請求する対価に応じて学習モデルの性能を変えられると便利である。
【０００５】
本発明はこれらの点に鑑みてなされたものであり、異なる正答率の学習モデルを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様は、情報処理装置である。この装置は、目的タスクを検出するための機械学習モデルのモデルパラメータを取得するモデル取得部と、前記モデルパラメータに設定する目的タスクの正答率を示す目標正答率を取得する目標値取得部と、初期の圧縮率にしたがって、前記モデルパラメータを非可逆圧縮するパラメータ圧縮部と、前記パラメータ圧縮部が非可逆圧縮したモデルパラメータを伸張するパラメータ伸張部と、前記パラメータ伸張部が伸張したモデルパラメータにおけるテスト用入力データの正答率を算出する正答率算出部と、前記正答率算出部が算出した正答率と前記目標正答率との差が所定の範囲となるまで、前記パラメータ圧縮部に設定する前記モデルパラメータの圧縮関連パラメータを変更する圧縮率設定部と、を備える。
【０００７】
前記圧縮率設定部は、前記正答率算出部が算出した正答率が前記目標正答率を上回る場合、前記パラメータ圧縮部に設定する前記圧縮関連パラメータに含まれる圧縮率を高くしてもよく、前記正答率算出部が算出した正答率が前記目標正答率を下回る場合、前記パラメータ圧縮部に設定する前記圧縮関連パラメータに含まれる圧縮率を低くしてもよい。
【０００８】
前記情報処理装置は、通信ネットワークを介してユーザ端末から、当該ユーザ端末のユーザを識別するためのユーザ情報を取得するユーザ情報取得部をさらに備えてもよく、前記目標値取得部は、ユーザ情報と前記目標正答率とを対応づけて記憶する正答率データベースを参照して、前記ユーザ情報取得部が取得したユーザ情報に対応する前記目標正答率を読み出して取得してもよく、前記情報処理装置はさらに、前記正答率算出部が算出した正答率と前記目標正答率との差が前記所定の範囲となるように前記パラメータ圧縮部が圧縮した前記モデルパラメータを、前記通信ネットワークを介して前記ユーザ端末に送信するモデル提供部を含んでもよい。
【０００９】
前記情報処理装置は、通信ネットワークを介してユーザ端末から前記機械学習モデルに入力するタスクデータを取得するタスクデータ取得部と、前記パラメータ圧縮部による非可逆圧縮なされていない前記モデルパラメータに前記タスクデータを入力した結果を取得する検出実行部と、前記通信ネットワークを介して前記検出実行部が取得した結果を前記ユーザ端末に送信する結果送信部と、をさらに備えてもよい。
【００１０】
本発明の第２の態様は、情報処理方法である。この方法において、プロセッサが、目的タスクを検出するための機械学習モデルのモデルパラメータを取得するステップと、前記モデルパラメータに設定する目的タスクの正答率を示す目標正答率を取得するステップと、初期の圧縮率にしたがって、前記モデルパラメータを非可逆圧縮するステップと、非可逆圧縮された前記モデルパラメータを伸張するステップと、伸張されたモデルパラメータにおけるテスト用入力データの正答率を算出するステップと、算出された正答率と前記目標正答率との差が所定の範囲となるまで、前記モデルパラメータを圧縮する際に設定する圧縮関連パラメータを変更して前記非可逆圧縮を繰り返すステップと、を実行する。
【００１１】
本発明の第３の態様は、プログラムである。このプログラムは、コンピュータに、目的タスクを検出するための機械学習モデルのモデルパラメータを取得する機能と、前記モデルパラメータに設定する目的タスクの正答率を示す目標正答率を取得する機能と、初期の圧縮率にしたがって、前記モデルパラメータを非可逆圧縮する機能と、非可逆圧縮された前記モデルパラメータを伸張する機能と、伸張されたモデルパラメータにおけるテスト用入力データの正答率を算出する機能と、算出された正答率と前記目標正答率との差が所定の範囲となるまで、前記モデルパラメータを圧縮する際に設定する圧縮関連パラメータを変更して前記非可逆圧縮を繰り返す機能と、を実現させる。
【発明の効果】
【００１２】
本発明によれば、異なる正答率の学習モデルを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態に係るニューラルネットワークの構成を模式的に示す図である。
【図２】実施の形態に係る情報処理装置の機能構成を模式的に示す図である。
【図３】モデルパラメータの圧縮率とモデルパラメータの正答率とを対応付けて格納する圧縮率―正答率データベースのデータ構造を模式的に示す図である。
【図４】実施の形態に係る正答率データベースのデータ構造を模式的に示す図である。
【図５】実施の形態に係るタスク実行部の内部構造を模式的に示す図である。
【図６】実施の形態に係る情報処理システムの全体構成を模式的に示す図である。
【図７】実施の形態に係る情報処理装置が実行する情報処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
＜実施の形態の概要＞
図１は、実施の形態に係るニューラルネットワークの構成を模式的に示す図である。以下、図１を参照して、実施の形態の概要を述べる。
【００１５】
実施の形態に係る情報処理装置が利用するニューラルネットワークは、全体としては、入力層、中間層、及び出力層を含む一般的な構成である。図１の上段に示すように、実施の形態に係る情報処理装置は、入力層に入力した基本学習用データが中間層を伝搬し、最終的に出力層が出力したデータ列と、基本学習用データに対応する正解ラベルとの誤差を損失関数を用いて算出する。情報処理装置は、算出した誤差に基づいて、誤差逆伝搬法を用いて中間層に設定された重みを更新する。
【００１６】
実施の形態に係る情報処理装置が生成するニューラルネットワークは、図１の下段に示すように、モデルパラメータのうち中間層に対応する部分のモデルパラメータが非可逆圧縮されている。よく知られているように、あるデータを非可逆圧縮した場合、圧縮後のデータを伸張しても、元のデータと同一のデータには戻らない。非可逆圧縮のアルゴリズムにも依存するが、一般に、あるデータに非可逆圧縮を施すと、元のデータの高周波成分が取り除かれる。
【００１７】
ニューラルネットワークは、中間層の各ノードの出力が、モデルパラメータが定める重み係数を乗じられた後に隣接する層に伝搬していくことで最終的な識別精度を達成するように設計されている。したがって、モデルパラメータが非可逆圧縮によって改変されると、各ノードの出力値に乗じられる重み係数が変化するため、一般に学習モデルの正答率は下がる。なお、モデルパラメータの非可逆圧縮の具体例については後述する。
【００１８】
実施の形態に係る情報処理装置は、モデルパラメータに設定する非可逆圧縮の圧縮率を変更しながら、その学習モデルの正答率を算出する。情報処理装置は、モデルパラメータに施す圧縮率と正答率とを紐づけて保持しておく。これにより、実施の形態に係る情報処理装置１は、異なる正答率の学習モデルを提供することができる。
【００１９】
＜情報処理装置１の機能構成＞
図２は、実施の形態に係る情報処理装置１の機能構成を模式的に示す図である。情報処理装置１は、記憶部１０と制御部１１とを備える。
【００２０】
記憶部１０は、情報処理装置１を実現するコンピュータのＢＩＯＳ（Basic Input Output System）等を格納するＲＯＭ（Read Only Memory）や情報処理装置１の作業領域となるＲＡＭ（Random Access Memory）、ＯＳ（Operating System）やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の大容量記憶装置である。
【００２１】
制御部１１は、情報処理装置１のＣＰＵやＧＰＵ等のプロセッサであり、記憶部１０に記憶されたプログラムを実行することによってモデル取得部１１０、目標値取得部１１１、パラメータ圧縮部１１２、パラメータ伸張部１１３、正答率算出部１１４、圧縮率設定部１１５、ユーザ情報取得部１１６、モデル提供部１１７、及びタスク実行部１１８として機能する。
【００２２】
なお、図２は、情報処理装置１が単一の装置で構成されている場合の例を示している。しかしながら、情報処理装置１は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部１１を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【００２３】
モデル取得部１１０は、目的タスクを検出するための機械学習モデルのモデルパラメータを取得する。機械学習のモデルパラメータはあらかじめ学習用データを機械学習することで生成されており、記憶部１０に格納されている。
【００２４】
目標値取得部１１１は、モデル取得部１１０が取得したモデルパラメータに設定する目的タスクの正答率を示す目標正答率を取得する。パラメータ圧縮部１１２は、モデルパラメータを圧縮するための初期の圧縮率を含む圧縮関連パラメータを記憶部１０から読み出して取得する。パラメータ圧縮部１１２は、読み出し圧縮関連パラメータにしたがって、モデルパラメータを非可逆圧縮する。以下、「圧縮率」は、圧縮関連パラメータに含まれる圧縮率とする。
【００２５】
パラメータ伸張部１１３は、パラメータ圧縮部１１２が非可逆圧縮したモデルパラメータを伸張する。正答率算出部１１４は、パラメータ伸張部１１３が伸張したモデルパラメータにおけるテスト用入力データの正答率を算出する。ここで「テスト用入力データ」とは、モデルパラメータの正答率を測定するために用意された固定のデータセットである。正答率算出部１１４は、同一のテスト用入力データを用いて非可逆圧縮されたモデルパラメータの正答率を算出するため、異なる圧縮率に係るモデルパラメータの正答率を同じ条件下で算出することができる。
【００２６】
圧縮率設定部１１５は、正答率算出部１１４が算出した正答率と目標正答率との差が所定の範囲となるまで、パラメータ圧縮部１１２に設定する圧縮率を変更する。圧縮率設定部１１５は、正答率算出部１１４が算出した正答率と目標正答率との差が所定の範囲に収まった場合、パラメータ圧縮部１１２に設定する圧縮率と正答率とを対応付けて記憶部１０に格納する。
【００２７】
ここで「所定の範囲」とは、圧縮率設定部１１５が非可逆圧縮を施されたモデルパラメータの正答率と目標正答率との誤差の許容範囲を定める際に参照する「目標正答率誤差許容範囲」である。所定の範囲の具体的な値は正答率の調整の難易度等を勘案して実験により定めればよいが、例えば、目標正答率の前後２％の範囲である。
【００２８】
以上の動作を複数の目標正答率について繰り返すことにより、情報処理装置１は、複数種類の正答率毎に非可逆圧縮を施したモデルパラメータを生成することができる。
【００２９】
図３は、モデルパラメータの圧縮率とモデルパラメータの正答率とを対応付けて格納する圧縮率―正答率データベースのデータ構造を模式的に示す図である。圧縮率―正答率データベースは記憶部１０に格納されており、圧縮率設定部１１５によって管理されている。
【００３０】
なお、本明細書において「圧縮率」とは、データを圧縮することによって縮減するデータサイズに対する元のデータサイズの百分率を意味する。例えば、圧縮後のデータサイズが元のデータサイズの４０％となった場合、縮減されたデータサイズは６０％である。したがって、この場合の圧縮率は６０％となる。すなわち、圧縮率が大きくなるほど、圧縮後のデータサイズは小さくなることを意味する。
【００３１】
一般に、データを非可逆圧縮する際の圧縮率を大きくする（すなわち、元のデータサイズに対する圧縮後のデータサイズを小さくする）ほど、圧縮後のデータは元のデータに対してより変化する。そこで、圧縮率設定部１１５は、正答率算出部１１４が算出した正答率が目標正答率を上回る場合、パラメータ圧縮部１１２に設定する圧縮率を高くする。これにより、圧縮率設定部１１５は、再設定後の圧縮率によって非可逆圧縮されたモデルパラメータの正答率を下げることができる。
【００３２】
反対に、圧縮率設定部１１５は、正答率算出部１１４が算出した正答率が目標正答率を下回る場合、パラメータ圧縮部１１２に設定する圧縮率を低くする。これにより、圧縮率設定部１１５は、再設定後の圧縮率によって非可逆圧縮されたモデルパラメータの正答率を上げることができる。
【００３３】
ここで、圧縮率設定部１１５及びパラメータ圧縮部１１２が実行する圧縮の具体例を説明する。
【００３４】
学習モデルを圧縮する手法として、例えば、（１）枝刈り、（２）重みの量子化と共有、及び（３）ハフマン符号化が知られており、これらは併用もされている。（１）枝刈りでは、刈られる枝（ノード間の接続）を増やしスパースなネットワークとすることで圧縮率を高める手法である。（２）重みの量子化と共有では、ノード間の結合の係数を表す重み値をクラスタリングして同一グループ内では同じ重み値（クラスタの中心値）を共有することで各々の重みを表現するのに必要とされるビット数を削減し、圧縮率を高める手法である。
【００３５】
パラメータ圧縮部１１２は、（１）枝刈り、（２）重みの量子化と共有、及び（３）ハフマン符号化をこの順序で併用する。具体的には、圧縮率設定部１１５は、第１の枝刈り段階では、閾値Ｔを設定する。パラメータ圧縮部１１２は、閾値Ｔ以下の重み値となるノード間の接続（すなわち「枝」）を刈る。圧縮率設定部１１５が、閾値Ｔをより大きな値であるＴ＋ΔＴに変更することで、パラメータ圧縮部１１２が刈る枝を増やすことができ、結果として圧縮率が上昇する。圧縮率設定部１１５は、ΔＴを大きくするほど、圧縮率が高くなり精度が下がりやすくなるΔＴ・α（α＝１，２，３・・・）と順に繰り返すことで、細やかな正答率調整が行える。
【００３６】
第２の重みの量子化と共有段階では、圧縮率設定部１１５は、共有する重み数を減らす（クラスタリングの数を減らす）か、又は、共有する重み値を表現するビットを減らすことで、パラメータ圧縮部１１２による圧縮後の学習モデルの精度が下げることができる。ここで、パラメータ圧縮部１１２は、異なるレイヤー間でも数値範囲がある程度重なる場合には異なるレイヤーの重み同士も重み値の共有を行ってもよい。これにより、パラメータ圧縮部１１２は、モデルパラメータの圧縮率を高め精度を低下させることができる。
【００３７】
パラメータ圧縮部１１２は、重み値を表現するビット数を一定値とせず、上位のＬ層までとＬ層以下の下位層とで異ならせることで細やかな正答率調整が行うことができる。例えば、畳み込み層の上位Ｌ層でＮビット、Ｌ層以下でＮビット未満とするなど割り当てるビット数を層により変更することで細かな正答率調整が行える。
【００３８】
以上の様な操作で目標正答率を得られない場合には、パラメータ圧縮部１１２は、目標正答率より正答率が高いモデルにおいて、重み共有を行っているクラスタの中心値（共有する重み値）を少しずつ変更することで正答率を徐々に下げる最終調整を行ってもよい。この場合、圧縮率に大きな変化はないが、上位層では絶対値がより大きな中心値ほど正答率の低下に影響が大きい。
【００３９】
なお、圧縮関連パラメータは、圧縮率の他に、上述した枝刈り用の閾値やクラスタリング数、ビット数を含む。また、上述の手法を用いて圧縮率を低く設定したい場合、圧縮率を高く設定したい場合と逆の処理を行えばよい。つまり、（１）枝刈り時は、閾値をより低くし、（２）重みの量子化と共有時はビット数をより大きくし、上位層に多くのビットを割り当て、共有するクラスタの数を増やせばよい。
【００４０】
なお、パラメータ圧縮部１１２がモデルパラメータを非可逆圧縮することは、圧縮後のモデルパラメータの正答率が下がる点でデメリットではあるが、一方で、圧縮後のモデルパラメータのデータサイズが縮小することは大きなメリットである。一般に、データの非可逆圧縮は、可逆圧縮と比較すると、圧縮後のデータサイズを大幅に小さくすることができる。
【００４１】
例えば、ＩｏＴ（Internet Of Things）デバイス等の計算リソースが乏しい機器では、モデルパラメータを可逆圧縮しただけでは保持できないか、できたとしてコストが大きくなる場合がある。非可逆圧縮してデータサイズを縮小したモデルパラメータであれば、計算リソースが乏しい機器であっても単独で保持し実行することができる。
【００４２】
実施の形態に係る情報処理装置１の管理者がモデルパラメータを第三者に提供することで利益を得ようとする場合に、利用者に請求する対価に応じてモデルパラメータの正答率を変えられると便利である。また、情報処理装置１がモデルパラメータを提供するユーザ端末２の記憶容量は、ユーザ端末２によって様々である。そこで、情報処理装置１は、学習モデルを提供するユーザ端末２に応じて、その端末で保持できるサイズとなるまで提供するモデルパラメータの正答率を変更する。
【００４３】
具体的には、ユーザ情報取得部１１６は、通信ネットワークＮを介してユーザ端末２から、ユーザ端末２のユーザを識別するためのユーザ情報を取得する。目標値取得部１１１は、ユーザ情報と目標正答率とを対応づけて記憶する正答率データベースを参照して、ユーザ情報取得部１１６が取得したユーザ情報に対応する目標正答率を読み出して取得する。または、目標値取得部１１１は、そのユーザ端末２で保持できるサイズとなるように目標正答率を算出して取得してもよい。
【００４４】
図４は、実施の形態に係る正答率データベースのデータ構造を模式的に示す図である。正答率データベースは記憶部１０に格納されており、ユーザ情報取得部１１６によって管理されている。図４に示す例では、ユーザ識別子がＵＩＤ００００１のユーザには、目標正答率としてＳＳ［％］が対応付けられている。また、ユーザ識別子がＵＩＤ００００２のユーザには、目標正答率としてＴＴ［％］が対応付けられている。以下同様である。これらの目標正答率は、各ユーザのユーザ端末２の記憶容量と各ユーザが情報処理装置１の管理者に支払った学習モデルの使用の対価とに基づいて設定されている。
【００４５】
モデル提供部１１７は、圧縮率―正答率データベースに含まれる正答率のうち、ユーザに対応付けられた正答率との誤差が所定の範囲内となる正答率がある場合、その正答率に対応する圧縮率で圧縮されたモデルパラメータを通信ネットワークＮを介してユーザ端末２に送信する。
【００４６】
モデル提供部１１７は、圧縮率―正答率データベースに含まれる正答率のうち、ＳＳ［％］との誤差が所定の範囲内となる正答率がない場合、正答率算出部１１４が算出した正答率と目標正答率との差が所定の範囲となるようにパラメータ圧縮部１１２が圧縮したモデルパラメータを、通信ネットワークＮを介してユーザ識別子がＵＩＤ００００１のユーザのユーザ端末２に送信する。この際、目標正答率に近くかつ正答率がより高い圧縮関連パラメータやより低い圧縮関連パラメータから目標正答率が存在する圧縮パラメータの範囲も限定することができ、繰り返しを少なくすることもできる。これにより、モデル提供部１１７は、各ユーザに設定された目標正答率となるモデルパラメータを各ユーザに提供することができる。
【００４７】
上述したように、圧縮率が高いモデルパラメータは、正答率が低下するというデメリットがあるものの、計算リソースが少ない機器でも実行し得るというメリットがある。一方、計算リソースが低い機器であっても、通信ネットワークＮを介して情報処理装置１と通信できる場合には、モデルパラメータの演算の一部を情報処理装置１に肩代わりさせることにより、圧縮率は低いモデルパラメータ（すなわち、データサイズが大きいモデルパラメータ）を用いて目的タスクを実現することもできる。
【００４８】
そこで、情報処理装置１は、通信ネットワークＮを介して情報処理装置１とは異なるユーザ端末２と通信しながら、ユーザ端末２による目的タスクの実行を補助するためのタスク実行部１１８を備えている。
【００４９】
図５は、実施の形態に係るタスク実行部１１８の内部構造を模式的に示す図である。タスク実行部１１８は、タスクデータ取得部１１８０、検出実行部１１８１、及び結果送信部１１８２を備える。
【００５０】
タスクデータ取得部１１８０は、通信ネットワークＮを介してユーザ端末２から機械学習モデルに入力するタスクデータを取得する。検出実行部１１８１は、パラメータ圧縮部１１２による非可逆圧縮なされていないモデルパラメータにタスクデータを入力した結果を取得する。結果送信部１１８２は、通信ネットワークＮを介して検出実行部１１８１が取得した結果をユーザ端末２に送信する。これにより、ユーザ端末２は、通信ネットワークＮを利用して情報処理装置１と通信できるという条件の下では、ユーザ端末２単独では保持できない大きさのモデルパラメータを用いて目的タスクを実行することができる。
【００５１】
図６は、実施の形態に係る情報処理システムＳの全体構成を模式的に示す図である。図６に示すように、実施の形態に係る情報処理システムＳは、通信ネットワークＮを介して互いに通信可能な態様で接続する情報処理装置１とユーザ端末２とを含む。情報処理装置１は、非可逆圧縮が施されたモデルパラメータをユーザ端末２に提供している。この場合、ユーザ端末２がローカルな環境でモデルパラメータを用いる場合には、正答率が低下した機械学習モデルを実行することになる。
【００５２】
ユーザ端末２は、情報処理装置１から入力ＡＰＩ（Application Program Interface）と出力ＡＰＩとの提供を受けている。ユーザ端末２は、入力ＡＰＩを利用することにより、通信ネットワークＮを介して処理対象とするデータを情報処理装置１に送信することができる。また、ユーザ端末２は、出力ＡＰＩを利用することにより、通信ネットワークＮを介して情報処理装置１から学習モデルの実行結果を受信することができる。これにより、ユーザ端末２は、通信環境が良好で情報処理装置１と通信できる場合には、オンラインによる高性能なモデルパラメータを利用してタスクを実行することができ、情報処理装置１と通信ができない場合であっても、圧縮されたモデルパラメータを用いてオフラインでタスクを実行することができる。
【００５３】
＜実施の形態に係る情報処理装置１が実行する情報処理の処理フロー＞
図７は、実施の形態に係る情報処理装置１が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置１が起動したときに開始する。
【００５４】
目標値取得部１１１は、モデルパラメータに設定する目的タスクの正答率を示す目標正答率Ｒｔを取得する（Ｓ４）。モデル取得部１１０は、目的タスクを検出するための機械学習モデルのモデルパラメータを取得する（Ｓ２）。これは、精度に対応するモデルパラメータが存在する場合はそのパラメータを取得し、対応するパラメータがない場合は、正答率がより高いモデルパラメータか、圧縮していないモデルパラメータを取得する。
【００５５】
パラメータ圧縮部１１２は、モデルパラメータを圧縮するための初期の圧縮関連パラメータを記憶部１０から読み出して取得する（Ｓ６）。続いて、パラメータ圧縮部１１２は、読み出した初期の圧縮関連パラメータにしたがって、モデルパラメータを非可逆圧縮する（Ｓ８）。
【００５６】
パラメータ伸張部１１３は、パラメータ圧縮部１１２が非可逆圧縮したモデルパラメータを伸張する（Ｓ１０）。正答率算出部１１４は、パラメータ伸張部１１３が伸張したモデルパラメータにおけるテスト用入力データの正答率Ｒを算出する（Ｓ１２）。
【００５７】
正答率算出部１１４が算出した正答率Ｒが目標正答率Ｒｔに誤差許容範囲ｅを足したＲｔ＋ｅを上回っている場合（Ｓ１４のＹｅｓ）、圧縮率設定部１１５は、パラメータ圧縮部１１２に設定するモデルパラメータの圧縮率が高くなるように圧縮関連パラメータを変更し（Ｓ１６）、情報処理装置１は、ステップＳ８以降の処理を再度実行する。
【００５８】
正答率算出部１１４が算出した正答率Ｒが目標正答率Ｒｔ＋ｅを上回っていないが（Ｓ１４のＮｏ）、正答率Ｒが目標正答率Ｒｔ−ｅを下回っている場合（Ｓ１８のＹｅｓ）、圧縮率設定部１１５は、パラメータ圧縮部１１２に設定するモデルパラメータの圧縮率を低くし（Ｓ２０）、情報処理装置１は、ステップＳ８以降の処理を再度実行する。
【００５９】
正答率算出部１１４が算出した正答率Ｒが目標正答率Ｒｔを上回っておらず（Ｓ１４のＮｏ）、かつ正答率算出部１１４が算出した正答率Ｒが目標正答率Ｒｔを下回っていない場合（Ｓ１４のＮｏ）、圧縮率設定部１１５は、パラメータ圧縮部１１２に設定する圧縮関連パラメータと正答率Ｒとを対応付けて記憶部１０に格納する（Ｓ２２）。圧縮率設定部１１５が圧縮関連パラメータと正答率Ｒとを対応付けて記憶部１０に格納すると、本フローチャートにおける処理は終了する。
【００６０】
情報処理装置１は、複数の異なる目標正答率Ｒｔについて上記の処理を実行することにより、圧縮率と正答率Ｒとの種々の組み合わせを取得する。
【００６１】
＜実施の形態に係る情報処理装置１が奏する効果＞
以上説明したように、実施の形態に係る情報処理装置１によれば、圧縮率と正答率Ｒとの種々の組み合わせを取得できる。したがって、パラメータ圧縮部１１２が種々の圧縮率でモデルパラメータを圧縮することにより、異なる正答率の学習モデルを提供することができる。
【００６２】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
【００６３】
＜第１の変形例＞
上記では、実施の形態に係る情報処理装置１は、ニューラルネットワークの学習モデルのモデルパラメータを非可逆圧縮して学習モデルの正答率を変更する場合について主に説明した。しかしながら、情報処理装置１がモデルパラメータを圧縮する対象の機械学習モデルはニューラルネットワークに限られない。この他にも、例えばＳＶＭ（Support Vector Machine）、ブースティング等、何らかの数値の集合によって表現される機会学習モデルであれば本発明を適用できることは、当業者であれば容易に理解できることである。
【００６４】
＜第２の変形例＞
ユーザ端末２と情報処理装置１とで分散処理を行うことが考えられる。この際、ユーザ端末２に送るモデルパラメータのみ、またはモデルパラメータを偏重して圧縮しても良い。例えば、上位層のモデルパラメータをユーザ端末２が保持し、タスク実行時には、ユーザ端末２が上位層のモデルパラメータを利用したモデルに入力、中間層での出力を取得し、通信ネットワークＮを介して出力を情報処理装置１に送信する。情報処理装置１では、下位層のモデルパラメータを利用して実行結果を取得し、ユーザ端末２に結果を送信する。このような形態はユーザのプライバシーを保護しつつ、モデルがユーザに完全に漏洩することを防ぐのに有効である。その際には、ユーザ端末２に送信する上位層を集中的に圧縮すると良い。また、下位層は精度が低下しないモデルを保持しておき、様々なユーザに共通で利用しても良い。その場合、ユーザに送信する上位層のモデルのみで目標正答率が得られるように、特定の範囲の上位層のみで上述したような圧縮率・正答率・モデルパラメータの取得処理を行えば良い。
【符号の説明】
【００６５】
１・・・情報処理装置
１０・・・記憶部
１１・・・制御部
１１０・・・モデル取得部
１１１・・・目標値取得部
１１２・・・パラメータ圧縮部
１１３・・・パラメータ伸張部
１１４・・・正答率算出部
１１５・・・圧縮率設定部
１１６・・・ユーザ情報取得部
１１７・・・モデル提供部
１１８・・・タスク実行部
１１８０・・・タスクデータ取得部
１１８１・・・検出実行部
１１８２・・・結果送信部
２・・・ユーザ端末
Ｎ・・・通信ネットワーク
Ｓ・・・情報処理システム
【図１】
2019159694.tif 000003
【図２】
2019159694.tif 000004
【図３】
2019159694.tif 000005
【図４】
2019159694.tif 000006
【図５】
2019159694.tif 000007
【図６】
2019159694.tif 000008
【図７】
2019159694.tif 000009