(57)【要約】【課題】機械学習の学習フェーズでの処理を高速に検証可能とする学習装置、学習システム、学習方法及び学習プログラムを提供すること。【解決手段】サーバ１０は、機械学習による訓練前のモデル、及び訓練データをクライアント２０から受信する依頼受信部１１１と、機械学習の演算のうち、損失関数を偏微分した偏導関数を多項式に変換して計算する学習実行部１１２と、計算結果の正当性を検証するための証明データを生成する証明生成部１１３と、機械学習による訓練後のモデル、及び証明データをクライアント２０へ送信する結果送信部１１４と、クライアント２０との間で証明データを検証する結果検証部１１５と、を備える。【選択図】図１
2020091656.tif 000002
【特許請求の範囲】
【請求項１】
機械学習による訓練前のモデル、及び訓練データを端末から受信する依頼受信部と、
前記機械学習の演算のうち、損失関数を偏微分した偏導関数を多項式に変換して計算する学習実行部と、
前記学習実行部による計算結果の正当性を検証するための証明データを生成する証明生成部と、
前記機械学習による訓練後のモデル、及び前記証明データを前記端末へ送信する結果送信部と、
前記端末との間で前記証明データを検証する第１結果検証部と、を備える学習装置。
【請求項２】
前記機械学習は、前記訓練データに含まれる悪性データを取り除くため、前記損失関数の値を最小化する前記訓練データの部分集合を選択する処理を含み、
前記学習実行部は、前記選択による前記損失関数の値の減少量を算出し、
前記証明生成部は、前記損失関数の値を最小化する前記訓練データの部分集合を選択する処理から、前記損失関数の値を最小化する条件を除いた前記証明データを生成する請求項１に記載の学習装置。
【請求項３】
請求項１に記載の学習装置と、当該学習装置へ前記機械学習を依頼する端末と、を備えた学習システムであって、
前記端末は、
前記訓練前のモデル、及び前記訓練データを前記学習装置へ送信する依頼送信部と、
前記訓練後のモデル、及び前記証明データを前記学習装置から受信する結果受信部と、
前記学習装置との間で前記証明データを検証する第２結果検証部と、を備える学習システム。
【請求項４】
請求項２に記載の学習装置と、当該学習装置へ前記機械学習を依頼する端末と、を備えた学習システムであって、
前記端末は、
前記訓練前のモデル、及び前記訓練データを前記学習装置へ送信する依頼送信部と、
前記訓練後のモデル、及び前記証明データを前記学習装置から受信する結果受信部と、
前記学習装置との間で前記証明データを検証する第２結果検証部と、を備え、
前記第２結果検証部は、前記損失関数の値の減少量が正であることを確認する学習システム。
【請求項５】
機械学習による訓練前のモデル、及び訓練データを端末から受信する依頼受信ステップと、
前記機械学習の演算のうち、損失関数を偏微分した偏導関数を多項式に変換して計算する学習実行ステップと、
前記学習実行ステップにおける計算結果の正当性を検証するための証明データを生成する証明生成ステップと、
前記機械学習による訓練後のモデル、及び前記証明データを前記端末へ送信する結果送信ステップと、
前記端末との間で前記証明データを検証する第１結果検証ステップと、をコンピュータが実行する学習方法。
【請求項６】
請求項１又は請求項２に記載の学習装置としてコンピュータを機能させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習結果の正当性を証明できる学習装置、学習システム、学習方法及び学習プログラムに関する。
【背景技術】
【０００２】
四則演算をサーバが実行した場合に、演算の結果が正しいかどうかをクライアントで検証可能な技術が非特許文献１で提案されている。この技術は、検証処理の際にサーバとクライアントとの間で通信が不要という特徴も持つ。
また、クライアントからサーバに依頼する処理が多項式の演算の場合、検証処理中にサーバとクライアントとの間で通信が発生するものの、軽量であることが特徴のｓｕｍ−ｃｈｅｃｋと呼ばれるプロトコルが非特許文献２で提案されている。さらに、ｓｕｍ−ｃｈｅｃｋを機械学習の推論フェーズに適用した技術が非特許文献３で提案されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｂ．  Ｐａｒｎｏ，  Ｃ．  Ｇｅｎｔｒｙ，  Ｊ．  Ｈｏｗｅｌｌ  ａｎｄ  Ｍ．  Ｒａｙｋｏｖａ．  “Ｐｉｎｏｃｃｈｉｏ：  Ｎｅａｒｌｙ  Ｐｒａｃｔｉｃａｌ  Ｖｅｒｉｆｉａｂｌｅ  Ｃｏｍｐｕｔａｔｉｏｎ．”  ２０１３  ＩＥＥＥ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｐｒｉｖａｃｙ  （２０１３）．
【非特許文献２】Ｃ．  Ｌｕｎｄ，  Ｌ．  Ｆｏｒｔｎｏｗ，  Ｈ．  Ｋａｒｌｏｆｆ  ａｎｄ  Ｎ．  Ｎｉｓａｎ．  “Ａｌｇｅｂｒａｉｃ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｐｒｏｏｆ  Ｓｙｓｔｅｍｓ．”  Ｊｏｕｒｎａｌ  ｏｆ  ｔｈｅ  Ａｓｓｏｃｉａｔｉｏｎ  ｆｏｒ  Ｃｏｍｐｕｔｉｎｇ  Ｍａｃｈｉｎｅｒｙ，  Ｖｏｌ．  ３９，  Ｎｏ．  ４  （１９９２）．
【非特許文献３】Ｚ．  Ｇｈｏｄｓｉ，  Ｔ．  Ｇｕ  ａｎｄ  Ｓ．  Ｇａｒｇ．  “ＳａｆｅｔｙＮｅｔｓ：  Ｖｅｒｉｆｉａｂｌｅ  Ｅｘｅｃｕｔｉｏｎ  ｏｆ  Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ  ｏｎ  ａｎ  Ｕｎｔｒｕｓｔｅｄ  Ｃｌｏｕｄ．”  ＮＩＰＳ  （２０１７）．
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述の技術は、いずれも証明者が正しく処理を実行したかどうかを検証者に証明可能とする技術である。しかしながら、非特許文献１は、計算コストが高いという課題があり、機械学習への適用が困難であった。また、対応する計算の種類を限定し、かつ、検証時に通信を行うことで計算コストを削減した非特許文献２又は３の技術は、機械学習の学習フェーズで必要となる計算に対応していないという課題があった。
【０００５】
本発明は、機械学習の学習フェーズでの処理を高速に検証可能とする学習装置、学習システム、学習方法及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る学習装置は、機械学習による訓練前のモデル、及び訓練データを端末から受信する依頼受信部と、前記機械学習の演算のうち、損失関数を偏微分した偏導関数を多項式に変換して計算する学習実行部と、前記学習実行部による計算結果の正当性を検証するための証明データを生成する証明生成部と、前記機械学習による訓練後のモデル、及び前記証明データを前記端末へ送信する結果送信部と、前記端末との間で前記証明データを検証する第１結果検証部と、を備える。
【０００７】
前記機械学習は、前記訓練データに含まれる悪性データを取り除くため、前記損失関数の値を最小化する前記訓練データの部分集合を選択する処理を含み、前記学習実行部は、前記選択による前記損失関数の値の減少量を算出し、前記証明生成部は、前記損失関数の値を最小化する前記訓練データの部分集合を選択する処理から、前記損失関数の値を最小化する条件を除いた前記証明データを生成してもよい。
【０００８】
本発明に係る学習システムは、前記学習装置と、当該学習装置へ前記機械学習を依頼する端末と、を備えた学習システムであって、前記端末は、前記訓練前のモデル、及び前記訓練データを前記学習装置へ送信する依頼送信部と、前記訓練後のモデル、及び前記証明データを前記学習装置から受信する結果受信部と、前記学習装置との間で前記証明データを検証する第２結果検証部と、を備える。
【０００９】
前記第２結果検証部は、前記損失関数の値の減少量が正であることを確認してもよい。
【００１０】
本発明に係る学習方法は、機械学習による訓練前のモデル、及び訓練データを端末から受信する依頼受信ステップと、前記機械学習の演算のうち、損失関数を偏微分した偏導関数を多項式に変換して計算する学習実行ステップと、前記学習実行ステップにおける計算結果の正当性を検証するための証明データを生成する証明生成ステップと、前記機械学習による訓練後のモデル、及び前記証明データを前記端末へ送信する結果送信ステップと、前記端末との間で前記証明データを検証する第１結果検証ステップと、をコンピュータが実行する。
【００１１】
本発明に係る学習プログラムは、前記学習装置としてコンピュータを機能させるためのものである。
【発明の効果】
【００１２】
本発明によれば、機械学習の学習フェーズでの処理を高速に検証できる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る学習システムの機能構成を示すブロック図である。
【図２】実施形態に係る学習方法の処理手順を示すシーケンス図である。
【図３】実施形態に係るＴＲＩＭのアルゴリズムを示す図である。
【図４】実施形態に係るサブセットの選択処理のアルゴリズムを示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態の一例について説明する。
図１は、本実施形態に係る学習システム１の機能構成を示すブロック図である。
学習システム１は、サーバ１０（学習装置）とクライアント２０（端末）とを備え、両者は通信可能に接続される。サーバ１０は、クライアント２０から依頼されて機械学習を実行する。
【００１５】
サーバ１０は、制御部１１及び記憶部１２の他、各種データの入出力デバイス及び通信デバイス等を備えた情報処理装置（コンピュータ）である。
【００１６】
制御部１１は、サーバ１０の全体を制御する部分であり、記憶部１２に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部１１は、ＣＰＵであってよい。
【００１７】
記憶部１２は、ハードウェア群をサーバ１０として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ＲＯＭ、ＲＡＭ、フラッシュメモリ又はハードディスク（ＨＤＤ）等であってよい。具体的には、記憶部１２は、本実施形態の各機能を制御部１１に実行させるためのプログラム（学習プログラム）、学習対象のモデル、訓練データ、及び後述の証明データ等を記憶する。
【００１８】
制御部１１は、依頼受信部１１１と、学習実行部１１２と、証明生成部１１３と、結果送信部１１４と、結果検証部１１５（第１結果検証部）とを備える。制御部１１は、これらの機能部により、クライアント２０から受信した訓練データを用いて線形回帰の機械学習を行うと共に、学習結果の正当性を検証するための検証機能をクライアント２０に提供する。
【００１９】
依頼受信部１１１は、機械学習による訓練前のモデル、及び訓練データをクライアント２０から受信する。
【００２０】
学習実行部１１２は、機械学習の演算のうち、損失関数を偏微分した偏導関数を多項式に変換して計算する。
また、機械学習において、訓練データに含まれる悪性データを取り除くため、損失関数の値を最小化する訓練データの部分集合を選択する処理を含む場合、学習実行部１１２は、部分集合の選択による損失関数の値の減少量を算出する。
なお、学習実行部１１２による計算の詳細は後述する。
【００２１】
証明生成部１１３は、学習実行部による計算結果の正当性を検証するための証明データを生成する。証明データは、前述の非特許文献２で提案されたｓｕｍ−ｃｈｅｃｋにより生成される。
このとき、証明生成部１１３は、損失関数の値を最小化する訓練データの部分集合を選択する処理から、損失関数の値を最小化するという条件を除いた証明データを生成する。証明生成部１１３は、この損失関数の値を最小化するという条件を証明するために、学習実行部１１２により算出された損失関数の値の減少量を証明データに含める。
【００２２】
結果送信部１１４は、機械学習による訓練後のモデル、及び証明データをクライアント２０へ送信する。
【００２３】
結果検証部１１５は、サーバ１０とクライアント２０との間の通信を含むｓｕｍ−ｃｈｅｃｋの所定の手続を経て、クライアント２０との間で証明データを検証する。
なお、証明データに含まれる損失関数の値の減少量は、クライアント２０において、訓練データの部分集合の選択の正当性を検証するために用いられる。
【００２４】
クライアント２０は、パーソナルコンピュータ、スマートフォン又はタブレット端末等の情報処理装置（コンピュータ）であり、制御部２１及び記憶部２２の他、各種データの入出力デバイス及び通信デバイス等を備える。
【００２５】
制御部２１は、クライアント２０の全体を制御する部分であり、記憶部２２に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部２１は、ＣＰＵであってよい。
【００２６】
記憶部２２は、ハードウェア群をクライアント２０として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ＲＯＭ、ＲＡＭ、フラッシュメモリ又はハードディスク（ＨＤＤ）等であってよい。
【００２７】
制御部２１は、依頼送信部２１１と、結果受信部２１２と、結果検証部２１３（第２結果検証部）とを備える。制御部２１は、これらの機能部により、サーバ１０へ訓練データを提供して線形回帰の機械学習を行わせると共に、得られた学習結果の正当性を検証する。
【００２８】
依頼送信部２１１は、サーバ１０に学習させる訓練前のモデル、及び訓練データをサーバ１０へ送信する。
【００２９】
結果受信部２１２は、訓練後のモデル、及び計算結果の正当性を検証するための証明データをサーバ１０から受信する。
【００３０】
結果検証部２１３は、サーバ１０とクライアント２０との間の通信を含むｓｕｍ−ｃｈｅｃｋの所定の手続を経て、サーバ１０との間で証明データを検証する。
このとき、結果検証部２１３は、証明データに含まれる損失関数の値の減少量が正であることを合わせて確認する。
【００３１】
図２は、本実施形態に係る学習システム１における学習方法の処理手順を示すシーケンス図である。
ステップＳ１において、クライアント２０は、訓練データ（入力ｘ及び出力ｙ）と、更新前のモデルとを、サーバ１０へ送信する。
【００３２】
ステップＳ２において、サーバ１０は、ステップＳ１において受信した訓練データを用いて、更新前のモデルに対して学習フェーズの処理を実行し、この処理を検証するための証明データπを生成する。
【００３３】
ステップＳ３において、サーバ１０は、学習フェーズによる更新後のモデルＦと、証明データπとを、クライアント２０へ送信する。
ステップＳ４において、クライアント２０は、サーバ１０と協働して証明データπの検証を行う。
【００３４】
ここで、サーバ１０の学習実行部１１２による計算について詳述する。
クライアント２０が訓練データをサーバ１０に対して提供すると、サーバ１０は、学習処理を行った際に、その学習処理が正しく実行されたことをクライアント２０に対して証明する。このとき、学習実行部１１２は、ｓｕｍ−ｃｈｅｃｋにより検証可能な多項式を用いて学習処理を行う。
【００３５】
まず、学習処理で必要となる偏微分は、次のように扱うことができる。
多項式をＰａ（ｘｋ，ｘｋ−１，…，ｘ０）＝ａｋｘｋ＋ａｋ−１ｘｋ−１＋…＋ａ１ｘ１＋ａ０ｘ０とし、係数と変数とをそれぞれ次のベクトルＡ，Ｘで表現する。
【数１】
2020091656.tif 000003
【００３６】
すると、多項式Ｐａ（ｘｋ，ｘｋ−１，…，ｘ０）のｘｉに関する偏導関数は、Ｘのｉ番目の要素を１とし、それ以外の要素を０としたベクトルＸｉを用いてＡＴＸｉと表現することができる。これにより、学習実行部１１２は、以下のように検証可能計算を実行する。
【００３７】
損失関数をＬ、学習率をηとすると、バッチ学習フェーズは、ｎ回の学習処理を、
【数２】
2020091656.tif 000004
と表現できる。損失関数として、ｍ個の訓練データに対して、
【数３】
2020091656.tif 000005
を利用すれば、損失関数の偏微分は、
【数４】
2020091656.tif 000006
となる。ここで、∂Ｌ／∂ｗｊは、ｗについての多項式と考えることができるため、ｃを定数として、
【数５】
2020091656.tif 000007
と表すことが可能である。サーバ１０は、これにｓｕｍ−ｃｈｅｃｋを適用することで、処理が正しく実行されていることを証明できる。
【００３８】
さらに、バッチ学習フェーズのループ処理全体を式で表すと、
【数６】
2020091656.tif 000008
となる。これもｗについての多項式となるため、ｓｕｍ−ｃｈｅｃｋを適用することで、サーバ１０は、処理が正しく実行されていることを証明できる。
【００３９】
また、オンライン学習の場合、学習実行部１１２は、各訓練データに対して、
【数７】
2020091656.tif 000009
を計算する。したがって、ｍ個のデータに対する学習処理は、
【数８】
2020091656.tif 000010
と表すことができる。これもｗについての多項式となるため、ｓｕｍ−ｃｈｅｃｋを適用することで、サーバ１０は、処理が正しく実行されていることを証明できる。
【００４０】
次に、訓練データに悪性データが混入されている場合の学習処理を説明する。
例えば、複数のクライアント２０が訓練データを提供し、サーバ１０で一つのモデルを構築する場合、悪意のあるクライアント２０が悪性データを含む訓練データを提供する可能性がある。このため、サーバ１０は、モデルを構築する前に悪性データを取り除く処理を行う必要がある。
【００４１】
学習実行部１１２は、悪性データを取り除く手法として、次の文献Ａで提案されているＴＲＩＭと呼ばれるアルゴリズムを利用する。このとき、サーバ１０は、ＴＲＩＭを実行したとしても、処理結果をクライアント２０に証明することが困難なため、ｓｕｍ−ｃｈｅｃｋと組み合わせることによって証明する。
文献Ａ：  Ｍ．  Ｊａｇｉｅｌｓｋｉ，  Ａ．  Ｏｐｒｅａ，  Ｂ．  Ｂｉｇｇｉｏ，  Ｃ．  Ｌｉｕ，  Ｃ．  Ｎｉｔａ−Ｒｏｔａｒｕ  ａｎｄ  Ｂ．  Ｌｉ．  “Ｍａｎｉｐｕｌａｔｉｎｇ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ：  Ｐｏｉｓｏｎｉｎｇ  Ａｔｔａｃｋｓ  ａｎｄ  Ｃｏｕｎｔｅｒｍｅａｓｕｒｅｓ  ｆｏｒ  Ｒｅｇｒｅｓｓｉｏｎ  Ｌｅａｒｎｉｎｇ．”  ２０１８  ＩＥＥＥ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｐｒｉｖａｃｙ  （２０１８）．
【００４２】
図３は、本実施形態に係るＴＲＩＭのアルゴリズムＡを示す図である。
Ｎ個の訓練データＤには、正常なデータＤｔｒと悪性データＤｐとが含まれる。アルゴリズムＡでは、悪性データは、正常なデータｎ個に対してｐ＝α×ｎ個含まれると仮定し、ｉ回の学習を繰り返すことでモデルθ（ｉ）が出力される。
【００４３】
ステップ１において、Ｎ個の訓練データからｎ個がランダムに選択され、インデックス集合Ｉ（０）が生成される。
ステップ２において、損失Ｌ（ＤＩ（０），θ）を最小にするモデルθ（０）が求められる。
ステップ３において、学習の繰り返し回数ｉが０に初期化され、ステップ４から９が繰り返し実行される。
【００４４】
ステップ５において、回数ｉがカウントアップされ、ｉ回目の学習として後続のステップ６から８が実行される。
ステップ６において、損失Ｌ（ＤＩ（ｉ），θ（ｉ−１））を最小にするデータのサブセットが選択されることで、インデックス集合Ｉ（ｉ）が更新される。これにより、訓練データＤに含まれる悪性データＤｐと推定されるデータが取り除かれる。
ステップ７において、損失Ｌ（ＤＩ（ｉ），θ（ｉ））を最小にするモデルθ（ｉ）が求められる。
ステップ８において、現在のモデルθ（ｉ）における損失Ｒ（ｉ）＝Ｌ（ＤＩ（ｉ），θ（ｉ））が求められる。
【００４５】
ステップ９において、損失が収束し、Ｒ（ｉ）＝Ｒ（ｉ−１）になると学習の繰り返しが終了する。
ステップ１０において、学習結果としてモデルθ（ｉ）が出力される。
【００４６】
このＴＲＩＭのアルゴリズムＡでは、ステップ８の処理で損失を最小にするデータのサブセットを選択することで訓練データに含まれる悪性データを取り除いているが、ｓｕｍ−ｃｈｅｃｋではこの処理に対する証明データを生成できない。そこで、本実施形態では、ＴＲＩＭのループ内の処理を次のように修正する。
【００４７】
図４は、本実施形態に係る検証可能なサブセットの選択処理のアルゴリズムＢを示す図である。
アルゴリズムＢは、図３のステップ４から９の繰り返し部分に相当し、証明生成部１１３は、この処理に対する証明データを生成する。
【００４８】
図３のアルゴリズムＡと比較すると、アルゴリズムＢでは、データのサブセットの選択時に、損失を最小にするという条件が除かれている。このため、クライアント２０からすると、サーバ１０が常に損失を最小にするサブセットを選択するとは限らない。しかしながら、クライアント２０は、１回前の処理で求めた損失との比較結果ｄ（ｉ）＝Ｒ（ｉ）−Ｒ（ｉ−１）を受信することで、繰り返し毎に損失が低下していることを確認できる。
したがって、クライアント２０は、サーバ１０で図２のＴＲＩＭが実行され、悪性データを除くデータセットを用いて正しく学習が行われたことを検証できる。
【００４９】
本実施形態によれば、サーバ１０は、損失関数を偏微分した偏導関数を多項式に変換して計算することにより、線形回帰の学習処理をｓｕｍ−ｃｈｅｃｋにより検証可能な計算により実行でき、計算結果の正当性を検証するための証明データをクライアント２０へ提供できる。
これにより、クライアント２０は、サーバ１０における機械学習の学習フェーズでの処理を高速に検証できる。
この結果、クライアント２０は、多くの学習データを用いてサーバ１０で繰り返し学習させるような場合に、サーバ１０が正しく処理を実行したことを、クライアント２０で同じ処理を実行することなく検証することが可能となる。
【００５０】
また、サーバ１０は、ＴＲＩＭによる悪性データを取り除く処理を、ｓｕｍ−ｃｈｅｃｋにより検証可能な計算に置き換え、損失関数の値を最小化するという除外された条件の代わりに、損失関数の値の減少量を算出する計算を追加する。
これにより、クライアント２０は、損失関数の値の減少量が正であることを確認することで、サーバ１０において悪性データを取り除くために損失が減少する訓練データの部分集合が選択されたことを検証できる。
この結果、例えば、サーバ１０が複数のクライアント２０から訓練データを収集し、一つのモデルを構築する場合に、一部のクライアント２０が悪性データを含む訓練データを提供したとしても、サーバ１０は、悪性データを取り除く処理を実施していることをクライアント２０に証明できる。
【００５１】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【００５２】
前述の実施形態において、学習システム１は、検証のプロトコルとしてｓｕｍ−ｃｈｅｃｋを用いたが、ｓｕｍ−ｃｈｅｃｋの代わりに、次の文献Ｂで提案されているゼロ知識ｓｕｍ−ｃｈｅｃｋを用いてもよい。
文献Ｂ：  Ｅ．  Ｂｅｎ−Ｓａｓｓｏｎ，  Ａ．  Ｃｈｉｅｓａ，  Ｍ．  Ｆｏｒｂｅｓ，  Ａ．  Ｇａｂｉｚｏｎ，  Ｍ．  Ｒｉａｂｚｅｖ，  ａｎｄ  Ｎ．  Ｓｐｏｏｎｅｒ．  “Ｚｅｒｏ  Ｋｎｏｗｌｅｄｇｅ  Ｐｒｏｔｏｃｏｌｓ  ｆｒｏｍ  Ｓｕｃｃｉｎｃｔ  Ｃｏｎｓｔｒａｉｎｔ  Ｄｅｔｅｃｔｉｏｎ．”  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １５ｔｈ  Ｔｈｅｏｒｙ  ｏｆ  Ｃｒｙｐｔｏｇｒａｐｈｙ  Ｃｏｎｆｅｒｅｎｃｅ  （２０１７）．
【００５３】
通常のｓｕｍ−ｃｈｅｃｋであれば、検証の過程でサーバ１０が行った処理に関する一部の情報がクライアント２０に漏洩することが知られており、複数のクライアント２０から訓練データを収集する場合に、訓練データの一部が別のクライアント２０に漏洩することが懸念される。
これに対して、ゼロ知識ｓｕｍ−ｃｈｅｃｋを利用することで、サーバ１０は、クライアント２０に情報を漏らすことなく、処理が正しく行われたことを証明できる。したがって、複数のクライアント２０から訓練データを収集しモデルを構築する際に、ゼロ知識ｓｕｍ−ｃｈｅｃｋを利用することで、サーバ１０は、クライアント２０から提供された訓練データを保護できる。
【００５４】
学習システム１による学習方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置（コンピュータ）にインストールされる。また、これらのプログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したＷｅｂサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【００５５】
１  学習システム
１０  サーバ（学習装置）
１１  制御部
１２  記憶部
２０  クライアント（端末）
２１  制御部
２２  記憶部
１１１  依頼受信部
１１２  学習実行部
１１３  証明生成部
１１４  結果送信部
１１５  結果検証部（第１結果検証部）
２１１  依頼送信部
２１２  結果受信部
２１３  結果検証部（第２結果検証部）
【図１】
2020091656.tif 000011
【図２】
2020091656.tif 000012
【図３】
2020091656.tif 000013
【図４】
2020091656.tif 000014