JP7451445B2 - 秘匿演算方法、秘匿演算システム及び秘匿演算管理装置 - Google Patents

秘匿演算方法、秘匿演算システム及び秘匿演算管理装置 Download PDF

Info

Publication number
JP7451445B2
JP7451445B2 JP2021020031A JP2021020031A JP7451445B2 JP 7451445 B2 JP7451445 B2 JP 7451445B2 JP 2021020031 A JP2021020031 A JP 2021020031A JP 2021020031 A JP2021020031 A JP 2021020031A JP 7451445 B2 JP7451445 B2 JP 7451445B2
Authority
JP
Japan
Prior art keywords
data
dec
inference
computing devices
management device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021020031A
Other languages
English (en)
Other versions
JP2022122660A (ja
Inventor
麻里 松本
雅則 古田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2021020031A priority Critical patent/JP7451445B2/ja
Priority to US17/469,106 priority patent/US11870893B2/en
Publication of JP2022122660A publication Critical patent/JP2022122660A/ja
Application granted granted Critical
Publication of JP7451445B2 publication Critical patent/JP7451445B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Description

本発明の実施形態は、秘匿演算方法、秘匿演算システム及び秘匿演算管理装置に関する。
近年では、様々な情報がデジタル化され、当該情報を利用した高度な電気通信サービスが提供されている。このような電気通信サービスには、例えば工場の機器等に設置されたセンサから得られる情報を利用して当該機器の異常を検知する(つまり、故障予知を行う)サービス及びユーザのパーソナルデータ(個人情報)を利用して当該ユーザの趣味嗜好に応じたサービスのような各種サービスが含まれる。
ところで、これらのサービスの提供を実現するために機械学習(により生成された学習モデル)を用いることが考えられる。機械学習の規模は拡大化する傾向にあり、近年ではクラウドコンピューティングサービスを提供する事業者(以下、クラウド事業者と表記)に当該機械学習に関する演算(計算)を委託し、大規模な機械学習を実現することが行われている。
しかしながら、クラウド事業者に機械学習に関する演算を委託した場合、当該機械学習に用いる学習データが漏洩するリスクが生じる。
これに対しては、上記した学習データ(入力データ)を秘匿しながら演算を実行させる秘匿演算技術が研究されている。なお、秘匿演算技術の1つに秘密分散法があるが、当該秘密分散法によれば、学習データを複数の計算装置に分散して機械学習を行うことができるため、当該学習データが漏洩するリスクを低減することができる。
ここで、上記した各種サービスを提供する場合には、機械学習により生成された学習モデルに当該サービスを提供するためのデータ(以下、推論データ)を入力することによって推論(演算)を実行し、当該推論の結果として得られた推論結果データに基づく処理が実行される。上記したように学習データを複数の計算装置に分散して機械学習を行っている場合には、このようなサービスの提供時においても、上記した学習データと同様に、推論データを複数の計算装置に分散し、当該複数の計算装置に推論を実行させるが、この場合、当該複数の計算装置において得られた推論結果データを復号する必要がある。
しかしながら、推論結果データの復号精度が低い場合には、質の高いサービスを提供することは困難である。
国際公開第2020/075797号
そこで、本発明が解決しようとする課題は、秘匿演算におけるデータの復号精度を向上させることが可能な秘匿演算方法、秘匿演算システム及び秘匿演算管理装置を提供することにある。
実施形態によれば、秘匿演算管理装置と、前記秘匿演算管理装置と通信可能に接続されるn(nは、2以上の整数)個の計算装置とを備える秘匿演算システムが実行する秘匿演算方法が提供される。前記秘匿演算方法は、前記秘匿演算管理装置が、前記秘匿演算管理装置に入力された第1データXに基づいて、X∈Qとなる整数環Qから選択される係数を決定することと、前記秘匿演算管理装置が、前記第1データXに対してShamirの秘密分散法に基づく秘密分散を実施し、前記決定された係数に基づいて当該第1データXから前記n個の計算装置の各々に対応するn個の第1断片データを生成することと、前記n個の計算装置の各々が、当該計算装置に対応する第1断片データを当該計算装置が保持する学習モデルに学習させることと、前記秘匿演算管理装置が、前記秘匿演算管理装置に入力された第2データZに対してShamirの秘密分散法に基づく秘密分散を実施し、前記決定された係数に基づいて当該第2データZからn個の計算装置の各々に対応するn個の第2断片データを生成することと、前記n個の計算装置の各々が、当該計算装置が保持する学習モデルを用いて当該計算装置に対応する第2断片データに基づく推論を実行することと、前記秘匿演算管理装置が、前記n個の計算装置の各々のうちのk(kは、2以上、かつ、n以下の整数)個の計算装置の各々によって行われた推論の結果として得られるk個の推論結果データをShamirの秘密分散法に基づいて復号することによって復号データdecを取得することと、前記秘匿演算管理装置が、前記復号データdecが前記整数環Qの最大値の近傍となる場合、当該整数環Qの最大値に基づいて当該復号データdecを補正することとを具備する。前記係数は、Shamirの秘密分散法に基づき、かつ、前記n個の第1断片データの各々が前記整数環Qの最大値未満となるように決定される。前記n個の計算装置の各々が保持する学習モデルは、当該学習モデルに入力されるデータと当該学習モデルから出力されるデータとが同一となるように学習したオートエンコーダを含む。
第1実施形態に係る秘匿演算システムのネットワーク構成の一例を示す図。 秘匿演算管理装置のハードウェア構成の一例を示す図。 秘匿演算管理装置の機能構成の一例を示すブロック図。 計算装置の機能構成の一例を示すブロック図。 秘匿演算管理装置に学習データが入力される際の処理手順の一例を示すシーケンスチャート。 学習データに含まれるサブデータ毎に生成されるシェアについて説明するための図。 秘匿演算管理装置に推論データが入力される際の処理手順の一例を示すシーケンスチャート。 判定閾値を決定する際の処理手順の一例を示すシーケンスチャート。 第2実施形態に係る秘匿演算管理装置に推論データが入力される際の処理手順の一例を示すシーケンスチャート。
以下、図面を参照して、各実施形態について説明する。
(第1実施形態)
まず、第1実施形態について説明する。図1は、第1実施形態に係る秘匿演算システムのネットワーク構成の一例を示す。
図1に示すように、秘匿演算システム1は、秘匿演算管理装置10及び複数の計算装置(演算装置)20-1~20-n(nは、2以上の整数)を備える。秘匿演算管理装置10及び複数の計算装置20-1~20-nは、例えばインターネットのようなネットワーク30を介して通信可能に接続される。
秘匿演算管理装置10は、例えばパーソナルコンピュータのような電子機器(情報処理装置)によって実現されるが、他の電子機器であってもよい。
複数の計算装置20-1~20-nの各々は、例えばパーソナルコンピュータのような電子機器(情報処理装置)によって実現されるが、他の電子機器であってもよい。なお、複数の計算装置20-1~20-nは、例えば秘匿演算管理装置10に対してクラウドコンピューティングサービスを提供するクラウドサーバ装置として実現されていてもよい。
ここで、本実施形態に係る秘匿演算システム1の使用態様について簡単に説明する。本実施形態に係る秘匿演算システム1は、機械学習により生成された学習モデルを用いた各種サービスを提供するために利用される。秘匿演算システム1において提供されるサービスには、例えば工場の機器等に設置されたセンサから得られるデータ(センサデータ)を利用して当該機器の異常を検知するようなサービスが含まれるが、他のサービスであってもよい。
本実施形態においては、上記したサービスを提供する際に用いられる学習モデルに対する機械学習(学習処理)を他の事業者に委託する場合を想定している。
しかしながら、学習データは有用なデータである場合が多く、他の事業者に学習処理を委託する場合には当該学習データが漏洩するリスクが懸念される。このため、本実施形態に係る秘匿演算システム1は、学習データを秘匿化しながら計算装置20-1~20-n(すなわち、複数の事業者)に学習処理を実行させるものとする。この場合、計算装置20-1~20-nの各々には、当該計算装置において学習処理が実行されることによって生成された学習モデルが保持される。
また、上記したように計算装置20-1~20-nの各々に保持されている学習モデルを用いて例えばセンサデータから機器の異常を検知する(つまり、推論を実行する)ような場合においても、当該センサデータ(推論データ)を秘匿化しながら計算装置20-1~20-nに推論を実行させ、当該推論が実行されることによって得られる推論結果データを復号することによって、異常検知のようなサービスを実現することができる。
ところで、上記したような秘匿化を実現する技術(秘匿演算技術)には、準同型暗号と秘密分散法とがあるが、一般的に、準同型暗号は、秘密分散法と比較して、演算量(計算量)が多くなる。このため、本実施形態において適用する秘匿演算技術としては、秘密分散法を用いる。
秘密分散法は秘匿化されるデータ(秘匿情報)をシェアと称される複数の断片データに変換する方法であり、当該秘密分散法の一例としてはShamirの秘密分散法等が知られている。
以下、Shamirの秘密分散法の概要について説明する。ここでは、秘匿化されるデータaの保有者が当該データaをn個に安全に分散する場合を考える。
このような場合、Shamirの秘密分散法によれば、データ保有者はa∈Qとなる体(整数環)Qを選択し、秘密分散を実施する。
具体的には、k-1(kは、2以上、かつ、n以下の整数)のランダムな体Qの元であるr,…,rk-1を選択し、秘匿化されるデータaを切片とするk-1次多項式である以下の式(1)を構成する。
Figure 0007451445000001
また、n個の体Qの元であるP,…,Pを選択し、当該P,…,Pをそれぞれ上記した式(1)のPに適用することによって、W(P),…,W(P)を計算する。なお、上記したr,…,rk-1及びP,…,Pは、式(1)における係数に相当する。また、P,…,Pはそれぞれ異なる値である。換言すれば、P(t=1,2,…,n)はPt´(t´=1,2,…,n、かつ、t≠t´)とは異なる。
上記したように計算されたW(P),…,W(P)は、上記した秘匿化されるデータaのシェア(断片データ)であり、例えば異なるn台のサーバ等に送信される。
これにより、秘匿化されるデータaをn台のサーバにおいて安全に分散して保管させることができる。なお、n台のサーバをサーバS,…,Sとし、サーバS(t=1,2,…,n)に送信されたシェアをW(P)とすると、当該W(P)は、例えば[a]:=W(P)と表される。
次に、上記したように分散されたn個のシェアから上記したデータaを復元する場合を考える。この場合、上記したn台のサーバS,…,Sのうちのk台のサーバ(以下、サーバSt1,…,Stkと表記)を選択し、当該選択されたサーバSt1,…,Stkの各々からシェアを受け取る。なお、サーバSt1,…,Stkから受け取られたシェアを[a]t1,…,[a]tkとする。
この場合、上記したデータaは、上記したk個のシェア[a]t1,…,[a]tkから以下の式(2)により復元することができる。
Figure 0007451445000002
なお、式(2)におけるλtjは、Lagrange補間法におけるLagrange係数である。
上記したようにShamirの秘密分散法によれば、1つの秘匿化されるデータaからn個のシェア(断片データ)を生成し、n台のサーバ(機器)に分散して管理するとともに、当該分散されたシェアから予め定められたk個のシェアを集めて元のデータaを復元することができる。すなわち、Shamirの秘密分散法は、k≦nを満たすような2以上の整数n及びkについて、n-k個のシェアが消失したとしても元のデータaを復元することができる耐消失性と、k個未満のシェアからは元のデータaを復元できない機密性を併せ持つ。
このような秘匿演算が本実施形態に適用されることによって、学習データをn個のシェアに分散してn個の計算装置の各々が保持する学習モデルに学習させることができるとともに、推論データをn個のシェアに分散してn個の計算装置の各々に当該学習モデルを用いた推論を実行させることができる。
ここで、上記したようにシェアを用いた計算を行う秘匿演算(秘密分散法)は整数環上で行う必要がある。換言すれば、上記した秘匿化されるデータa及びシェアW(P),…,W(P)等は全て整数で表現される。
上記したように本実施形態においてはn個の計算装置20-1~20-nの各々に保持されている学習モデルを用いた推論が実行され、当該推論が実行されることによって得られるk個の推論結果データが復号されることになるが、当該学習モデルを用いた推論には実数による演算が必要となる。このような推論が実行された結果(推論結果データ)を秘匿演算において復号しようとすると復号精度が低下する場合がある。具体的には、推論に実数が使用されることによって秘匿演算における体Q(有限体)を超える推論結果データが得られた場合には、当該推論結果データを正しく復号することができない。
そこで、本実施形態においては、上記した式(1)において用いられる係数r,…,rk-1及びP,…,Pの範囲を限定することにより、推論結果データの復号精度を向上させる構成を採用する。具体的には、上記したShamirの秘密分散法によれば、単にk-1個のランダムな体Qの元であるr,…,rk-1及びn個のランダムな体Qの元であるP,…,Pを係数として選択するものとして説明したが、本実施形態における秘匿演算(秘密分散法)においては、例えばW(P),…,W(P)の各々(つまり、断片データの各々)が体Qの最大値未満となるように係数r,…,rk-1及びP,…,Pが決定される。
なお、例えばP,…,PがP<…<Pの関係にあり、秘匿化されるデータaの最大値がAmaxであるものとすると、Amaxのシェアの中の最大値であるシェアW(P)は、以下の式(3)により表される。
Figure 0007451445000003
本実施形態においては、このような式(3)により計算されるシェアW(P)が体Qの最大値未満(つまり、W(P)<Q)となるように係数が決定されるものとする。
以下、本実施形態に係る秘匿演算システムについて詳細に説明する。図2は、図1に示す秘匿演算管理装置10のハードウェア構成の一例を示す。
図2に示すように、秘匿演算管理装置10は、CPU11、不揮発性メモリ12、RAM13及び通信デバイス14等を備える。
CPU11は、秘匿演算管理装置10内の様々なコンポーネントの動作を制御するためのプロセッサである。CPU11は、単一のプロセッサであってもよいし、複数のプロセッサで構成されていてもよい。CPU11は、不揮発性メモリ12からRAM13にロードされる様々なプログラムを実行する。これらのプログラムは、オペレーティングシステム(OS)や様々なアプリケーションプログラムを含む。このようにCPU11によって実行されるアプリケーションプログラムには、上記した秘匿演算に関する処理を実行するプログラムが含まれる。
不揮発性メモリ12は、補助記憶装置として用いられる記憶媒体である。RAM13は、主記憶装置として用いられる記憶媒体である。図2においては不揮発性メモリ12及びRAM13のみが示されているが、秘匿演算管理装置10は、例えばHDD(Hard Disk Drive)及びSSD(Solid State Drive)等の他の記憶装置を備えていてもよい。
通信デバイス14は、秘匿演算管理装置10の外部の装置(例えば、計算装置20-1~20-n)との通信を実行するように構成されたデバイスである。
ここでは秘匿演算管理装置10のハードウェア構成について説明したが、計算装置20-1~20-nについても秘匿演算管理装置10と同様のハードウェア構成を有するものとする。なお、計算装置20-1~20-nのハードウェア構成の詳細な説明については省略する。
図3は、秘匿演算管理装置10の機能構成の一例を示すブロック図である。図3に示すように、秘匿演算管理装置10は、係数決定部101,シェア生成部102、推論結果復号部103、復号データ補正部104、判定処理部105及び判定閾値決定部106を含む。
本実施形態において、秘匿演算管理装置10に含まれる各部101~106の一部または全部は、CPU11(つまり、秘匿演算管理装置10のコンピュータ)に所定のプログラムを実行させること、すなわち、ソフトウェアによって実現されるものとする。なお、このCPU11によって実行されるプログラムは、コンピュータ読み取り可能な記憶媒体に格納して頒布されてもよいし、ネットワークを通じて秘匿演算管理装置10にダウンロードされてもよい。
ここではCPU11に所定のプログラムを実行させることによって各部101~106が実現されるものとして説明したが、当該各部101~106の一部または全部は、例えばIC(Integrated Circuit)等のハードウェアによって実行されてもよいし、ソフトウェア及びハードウェアの組み合わせによって実現されてもよい。
ここで、本実施形態においては、上記したようにn個の計算装置20-1~20-nの各々において保持されている学習モデルを学習させる際には秘匿演算管理装置10に学習データ(群)Xが入力され、n個の計算装置20-1~20-nに保持されている学習モデルを用いた推論を実行させる際には秘匿演算管理装置10に推論データZが入力されるものとして説明する。なお、上記したように本実施形態に係る秘匿演算システム1が機器の異常を検知するようなサービスを提供するために利用される場合、学習データX及び推論データZは、例えば当該機器に設置されたセンサから得られるセンサデータである。
秘匿演算管理装置10に学習データXが入力された場合、係数決定部101は、当該学習データXに基づいて、X∈Qとなる体(整数環)Qから選択される係数を決定する。なお、上記したように学習データXをn個の計算装置20-1~20-nに分散する場合には当該学習データXからn個のシェアが生成されるが、係数決定部101は、当該n個のシェアの各々(つまり、シェアの最大値)が体Qの最大値未満となるように係数を決定する。
シェア生成部102は、学習データXに対して秘密分散を実施し、係数決定部101によって決定された係数に基づいて学習データXからn個の計算装置20-1~20-nの各々に対応するn個のシェア(断片データ)を生成する。
秘匿演算管理装置10に推論データZが入力された場合、シェア生成部102は、当該推論データに対して秘密分散を実施し、当該推論データZからn個の計算装置20-1~20-nの各々に対応するn個のシェア(断片データ)を生成する。なお、この場合におけるn個のシェアは、上記したように係数決定部101によって学習データXに基づいて決定された係数に基づいて生成される。
シェア生成部102によって生成されたn個のシェアの各々は、それぞれ対応する計算装置20-1~20-nに送信される。
推論結果復号部103は、計算装置20-1~20-nのうちのk個の計算装置において推論が実行された結果(推論結果)として得られるk個の推論結果データを当該k個の計算装置から受信し、当該推論結果データを復号することによって、復号データを取得する。
復号データ補正部104は、推論結果復号部103によって取得された復号データを補正する。なお、復号データの補正は、例えば秘匿演算における体Q(の最大値)に基づいて行われる。
ここで、上記した計算装置20-1~20-nの各々において保持されている学習モデルは、例えばオートエンコーダであるものとする。オートエンコーダは、例えば当該オートエンコーダに対して入力されるデータ(入力データ)に対して、当該データを再現するようなデータ(出力データ)を出力するように学習した学習モデルである。なお、オートエンコーダは、例えば入力レイヤに含まれるノード数(入力ノード数)と、出力レイヤに含まれるノード数(出力ノード数)とが同一であり、隠れレイヤに含まれるノード数(隠れノード数)が入力レイヤ及び出力レイヤに含まれるノード数よりも少ない3レイヤ構造のニューラルネットワークである。なお、隠れレイヤに含まれるノード数及び隠れレイヤの数等は適宜設定可能である。また、計算装置20-1~20-nの各々において保持されている学習モデルの初期構成(入出力ノード数、隠れノード数及び隠れレイヤの数等)は同一であるものとする。
上記したように計算装置20-1~20-nの各々において保持されている学習モデルがオートエンコーダである場合、判定処理部105は、推論データと復号データとの誤差値(差分)を閾値と比較し、当該推論データと復号データとの乖離度を判定する。具体的には、判定処理部105は、誤差値が閾値以上である場合、推論データと復号データとが同一でないと判定する。一方、判定処理部105は、誤差値が閾値未満である場合、推論データと復号データとが同一であると判定する。本実施形態においては、このような判定処理部105による判定結果に基づいて例えば機器が異常であるかどうかを検知することができる。
判定閾値決定部106は、例えば上記した学習データ及び推論データと同様の検証用データに基づいて、上記した判定処理部105による判定処理に用いられる閾値を決定する。
図4は、計算装置20-1~20-nのうちの計算装置20-t(t=1,2,…,n)の機能構成の一例を示すブロック図である。図4に示すように、計算装置20-tは、学習データ格納部201、学習処理部202、学習モデル格納部203、推論データ格納部204、推論処理部205及び推論結果格納部206を含む。
本実施形態において、計算装置20-tに含まれる学習データ格納部201、学習モデル格納部203、推論データ格納部204及び推論結果格納部206は、計算装置20-tに備えられる不揮発メモリまたは他の記憶装置等によって実現される。
また、計算装置20-tに含まれる学習処理部202及び推論処理部205の一部または全部は、計算装置20-tに備えられるCPU(つまり、計算装置20-tのコンピュータ)に所定のプログラムを実行させること、すなわち、ソフトウェアによって実現されるものとする。なお、このCPUによって実行されるプログラムは、コンピュータ読み取り可能な記憶媒体に格納して頒布されてもよいし、ネットワーク30を通じて計算装置20-tにダウンロードされてもよい。
ここではCPUに所定のプログラムを実行させることによって学習処理部202及び推論処理部205が実現されるものとして説明したが、当該各部202及び205の一部または全部は、例えばIC等のハードウェアによって実行されてもよいし、ソフトウェア及びハードウェアの組み合わせによって実現されてもよい。
学習データ格納部201には、上記した秘匿演算管理装置10に含まれるシェア生成部102によって学習データXから生成されたn個のシェアのうち、計算装置20-tに対応するシェアが格納される。
学習処理部202は、学習データ格納部201に格納されたシェア(学習データXのシェア)に基づいて学習モデルを学習させる学習処理を実行する。
学習モデル格納部203には、学習処理部202によって学習処理が実行されることによって得られた学習モデル(つまり、学習データXのシェアを学習した学習モデル)が格納される。なお、計算装置20-1~20-nの各々においては異なるシェアに基づいて学習処理が実行されるため、当該計算装置20-1~20-nの各々の学習モデル格納部203には、上記したように初期構成は同一であるが、学習内容が異なる学習モデル(つまり、パラメータが異なる学習モデル)が格納されることになる。
推論データ格納部204には、上記した秘匿演算管理装置10に含まれるシェア生成部102によって推論データZから生成されたn個のシェアのうち、計算装置20-tに対応するシェアが格納される。
推論処理部205は、推論データ格納部204に格納されたシェア(推論データZのシェア)に基づいて推論処理を実行する。なお、推論処理においては、推論データZのシェアを学習モデル格納部203に格納されている学習モデルに入力することによって、当該学習モデルから出力されるデータが推定結果データとして取得される。
推論結果格納部206には、推論処理部205によって取得された推論結果データが格納される。推論結果格納部206に格納された推論結果データは、秘匿演算管理装置10に送信される。
以下、本実施形態に係る秘匿演算システム1の動作について説明する。ここでは、秘匿演算管理装置10に学習データXが入力される(つまり、計算装置20-1~20-nに学習処理を実行させる)際の処理(以下、第1処理と表記)と、秘匿演算管理装置10に推論データZが入力される(つまり、計算装置20-1~20-nに推論処理を実行させる)際の処理(以下、第2処理と表記)とについて説明する。
まず、図5のシーケンスチャートを参照して、上記した第1処理の処理手順の一例について説明する。なお、図5においては便宜的に計算装置20-1~20-nのうちの1つの計算装置20-tのみが示されているが、他の計算装置においても同様の処理が実行されるものとする。
第1処理において、秘匿演算管理装置10は、上記したように学習データXを入力する(ステップS1)。なお、学習データXは、複数の学習データを含む学習データ群Xであってもよい。この場合、秘匿演算管理装置10は、学習データ群X={X,…,X}を入力する。この学習データ群Xに含まれる学習データX,…,Xの各々は、例えば同じ種類の複数の機器(正常な状態にある機器)に設置されたセンサから同時刻に得られるセンサデータであってもよいし、同一の機器(正常な状態にある機器)に設置されたセンサから時系列に得られるセンサデータであってもよい。以下の説明においては、ステップS1において学習データ群X={X,…,X}が入力されたものとして説明する。
また、上記したように学習モデルがオートエンコーダであり、当該オートエンコーダの入力レイヤ及び出力レイヤのノード数がd(dは、2以上の整数)個である場合、学習データX,…,Xの各々は、d個のサブデータ(要素)を含む配列として構成されている。なお、学習データX,…,Xの各々を構成するd個のサブデータをx,…,xとすると、当該サブデータx,…,xは、例えば同一の機器に設置されたd種のセンサから同時刻に得られるセンサデータである。
以下においては、便宜的に、学習データXを構成するd個のサブデータをx11,…,x1d、学習データXを構成するd個のサブデータをxm1,…,xmdとして説明する。他の学習データX,…,Xm-1についても同様である。
ステップS1の処理が実行されると、係数決定部101は、学習データ群Xに基づいて、当該学習データ群Xに含まれる学習データX,…,Xの各々のシェアを生成するための係数(体Qから選択される係数)を決定する(ステップS2)。
ステップS2においては、学習データ群X(X,…,X)に含まれる全てのサブデータx,…,xの最大値をXmaxとした場合に、以下の式(4)を満たすような係数r,…,rk-1及びP,…,Pを決定する。
Figure 0007451445000004
なお、式(4)は、上記した式(3)を学習データ群Xに適用したものであり、学習データ群Xに含まれる学習データX,…,Xの各々のシェア(サブデータのシェア)のうちの最大値(W(Pn))が体Qの最大値未満となるように係数r,…,rk-1及びP,…,Pを決定することを意味している。また、式(4)のQは、体Qの最大値を示している。また、式(4)において、P,…,Pは、P<…<Pの関係にあるものとする。
上記したステップS2において決定された係数は、後述する第2処理に用いるために係数決定部101内部に保持される。
次に、シェア生成部102は、ステップS2において決定された係数に基づいて、学習データ群Xに含まれる学習データX,…,Xの各々から計算装置20-1~20-nの各々に対応するn個のシェアを生成する(ステップS3)。換言すれば、シェア生成部102は、学習データXからn個のシェアを生成するとともに、学習データXからもn個のシェアを生成する。他の学習データX,…,Xm-1についても同様である。
更に、本実施形態においては学習データX,…,Xの各々はサブデータx,…,xから構成されるが、この場合、上記したシェアは当該サブデータ毎に生成される。
ここで、図6に示すように、学習データX,…,Xのうちの1つの学習データX(1≦g≦m)がサブデータxg1,…,xgdを含む配列から構成されている場合を想定する。この場合、シェア生成部102は、サブデータxg1,…,xgdの各々からn個のシェアを生成する。
具体的には、サブデータxg1からはn個のシェアxg1(P),…,xg1(P)が生成される。シェアxg1(P)は、上記した式(1)の切片aをサブデータxg1とし、ステップS2において係数として決定されたr,…,rk-1及びPを適用した当該式(1)により計算されるシェアW(P)に相当する。シェアxg1(P)は、上記した式(1)の切片aをサブデータxg1とし、ステップS2において係数として決定されたr,…,rk-1及びPを適用した式(1)により計算されるシェアW(P)に相当する。詳しい説明については省略するが、シェアxg1(P),…,xg1(Pn-1)についても同様に計算される。
また、サブデータxgdからはn個のシェアxgd(P1),…,xgd(Pn)が生成される。シェアxgd(P)は、上記した式(1)の切片aをサブデータxgdとし、ステップS2において係数として決定されたr,…,rk-1及びPを適用した当該式(1)により計算されるシェアW(P)に相当する。シェアxgd(P)は、上記した式(1)の切片aをサブデータxgdとし、ステップS2において係数として決定されたr,…,rk-1及びPを適用した当該式(1)により計算されるシェアW(P)に相当する。詳しい説明については省略するが、シェアxgd(P),…,xgd(Pn-1)についても同様に計算される。
ここではサブデータxg1及びxgdの各々から生成されるシェアについて説明したが、他のサブデータxg2,…,xgd-1の各々からも同様にn個のシェアが生成される。
この場合、図6に示すように、シェアxg1(P),…,xgd(P)は、計算装置20-1に対応するシェアX(P)である。また、シェアxg1(P),…,xgd(P)は、計算装置20-nに対応するシェアX(P)である。
本実施形態においては、上記した処理が実行されることにより、学習データXに対してはそれぞれサブデータのシェアを含むn個のシェアX(P),…,X(P)が上記した式(1)を用いて生成される。ここでは学習データXについて説明したが、他の学習データについても同様にシェアが生成される。
再び図5に戻ると、シェア生成部102は、ステップS3において生成された学習データX,…,Xの各々のシェア(に含まれるサブデータのシェア)の各々を規格化する(ステップS4)。この場合、シェア生成部102は、Max-Min Normalization処理を実行する。このMax-Min Normalizationによれば、以下の式(5)により値が0から1になるようにシェアが変換(規格化)される。
Figure 0007451445000005
なお、上記した式(5)におけるxmmはステップS3において生成されたシェア(サブデータのシェア)の規格化された後の値を示し、当該式(5)におけるxは当該ステップS3において生成されたシェアを示す。
また、式(5)におけるxmaxは、規格化されるサブデータのシェアxと同一のノード(オートエンコーダの入力レイヤに含まれる同一のノード)に入力される全てのサブデータのシェアのうちの最大値である。同様に、式(5)におけるxminは、規格化されるサブデータのシェアxと同一のノード(オートエンコーダの入力レイヤに含まれる同一のノード)に入力される全てのサブデータのシェアのうちの最小値である。具体的には、上記した図6に示すサブデータxg1のシェアxg1(P)を式(5)により規格化する場合、当該式(5)におけるxmaxは学習データX,…,Xの各々を構成するサブデータxのシェアのうちの最大値であり、当該式(5)におけるxminは学習データX,…,Xの各々を構成するサブデータxのシェアのうちの最小値である。
ステップS4においては、ステップS3において生成された学習データX,…,Xを構成するサブデータx,…,xのシェアの各々を式(5)に適用することによって、当該シェアの各々を規格化することができる。
なお、ここではxmax及びxminが実データ(学習データX,…,Xを構成するサブデータx,…,xのシェア)から定められるものとして説明したが、例えばサブデータとして入力されるセンサデータの種類(つまり、センサの種類)等の条件から当該センサデータが取り得る値の範囲が定められている場合には、当該xmax及びxminは当該範囲に基づいて定められてもよい。
また、ここではxmax及びxminがサブデータx,…,x毎に異なる値となるものとして説明したが、当該サブデータx,…,xのシェアの分布(範囲)が同程度である場合には、全てのサブデータx,…,xのシェアに共通なxmax及びxminが用いられてもよい。
ステップS4の処理が実行されると、秘匿演算管理装置10は、当該ステップS4において規格化されたシェア(学習データX,…,Xを構成するサブデータx,…,xのシェアの各々)を、対応する計算装置20-1~20-nに送信する(ステップS5)。
この場合、例えば計算装置20-1に送信される学習データXのシェアX(P)は、上記したようにd個のサブデータのシェア(xg1(P),…,xgd(P))を含む。これによれば、上記したd個のサブデータを含む学習データXと同様のデータ長(つまり、学習に必要なデータ長)のシェアを計算装置20-1に送信することができるため、当該計算装置20-1においては学習モデル(オートエンコーダ)の学習処理を適切に実行することができる。
以下、計算装置20-1~20-nのうちの計算装置20-tの処理について説明する。ステップS5において送信された計算装置20-tに対応する学習データX,…,Xの各々のシェア(以下、X(P),…,X(P)と表記)は、当該計算装置20-tにおいて受信され、学習データ格納部201に格納される。
次に、学習処理部202は、学習データ格納部201に格納された学習データX,…,XのシェアX(P),…,X(P)に基づいて学習モデルの学習処理を実行する(ステップS6)。
ここで、学習データXのシェアX(P)を学習モデルに学習させる場合を想定する。この場合、シェアX(P)はd個のサブデータのシェア(以下、x11(P),…,x1d(P)と表記)を含み、学習処理部202は、当該d個のサブデータのシェアx11(P),…,x1d(P)をオートエンコーダ(学習モデル)の入力レイヤに含まれるd個の入力ノードに入力する。
オートエンコーダは上記したように入力データを再現するような出力データを出力するように構成されているため、例えば機器が正常な状態である場合に得られたセンサデータ(群)が上記した学習データ群Xとして入力されているのであれば、当該オートエンコードから出力される出力データは入力データと同一であるべきである。
このため、上記したステップS6における学習処理においては、学習モデル(オートエンコーダ)入力されたシェアX(P)と当該学習モデルから出力された出力データとの誤差を計算し、当該誤差が小さくなるように学習モデルのパラメータを更新する処理が実行される。
これにより、学習モデルはシェアX(P)を学習することができる。ここでは学習データXのシェアX(P)について説明したが、ステップS6においては、学習データ格納部201に格納された学習データX,…,XのシェアX(P),…,X(P)の各々が学習モデルによって学習される。
上記したステップS6の処理が実行されることによってパラメータが更新された学習モデル(つまり、学習データX,…,Xのシェアを学習した学習モデル)は、学習モデル格納部203に格納される(ステップS7)。
次に、図7のシーケンスチャートを参照して、上記した第2処理の処理手順の一例について説明する。なお、図7においては、便宜的に、計算装置20-1~20-nのうちの1つの計算装置20-tのみが示されている。
第2処理において、秘匿演算管理装置10は、上記したように推論データZを入力する(ステップS11)。なお、推論データZは、上記した学習データX,…,Xの各々と同様に、d個のサブデータを含む配列として構成されている。なお、推論データZを構成するd個のサブデータをz,…,zとすると、当該サブデータz,…,zは、例えば同一の機器(異常を判定する対象となる機器)に設置されたd種のセンサから同時刻に得られるセンサデータである。
ステップS1の処理が実行されると、係数決定部101は、上記した第1処理において当該係数決定部101内部に保持されている係数r,…,rk-1及びP,…,Pを読み出す(ステップS12)。
次に、シェア生成部102は、ステップS2において読み出された係数に基づいて、推論データZからn個の計算装置20-1~20-nの各々に対応するn個のシェアを生成する(ステップS13)。なお、ステップS13の処理は上記した図5に示すステップS13の処理に相当する処理であるので、ここではその詳しい説明を省略する。
なお、ステップS13の処理が実行されることによって推論データZのシェアZ(P),…,Z(P)が生成されるものとすると、推論データZのシェアZ(P)は、当該推論データZを構成するサブデータz,…,zの各々のシェアz(P),…,z(P)を含む。他のシェアZ(P),…,Z(P)についても同様である。
次に、上記した図5に示すステップS4及びS5の処理に相当するステップS14及びS15の処理が実行される。なお、ステップS14及びS15の処理は、図5において説明した学習データX,…,Xの各々のシェアを推論データZのシェアとした点以外は図5に示すステップS4及びS5の処理と同様であるので、ここではその詳しい説明を省略する。
以下、計算装置20-1~20-nのうちの計算装置20-tの処理について説明する。ステップS15において送信された計算装置20-tに対応する推論データZのシェア(以下、シェアZ(P)と表記)は、当該計算装置20-tにおいて受信され、推論データ格納部204に格納される。
次に、推論処理部205は、学習モデル格納部に格納されている学習モデル(計算装置20-tにおいて学習処理が実行された学習モデル)を用いて、推論データZのシェアZ(P)に対する推論処理を実行する(ステップS16)。
この場合、推論データZのシェアZ(P)はd個のサブデータのシェア(以下、z(P),…,z(P)と表記)を含み、推論処理部205は、当該d個のサブデータのシェアz(P),…,z(P)をオートエンコーダ(学習モデル)の入力レイヤに含まれるd個の入力ノードに入力することによって推論(処理)を実行する。これによれば、推論処理部205は、オートエンコーダ(の出力レイヤに含まれるd個の出力ノード)から出力される出力データを推論結果データとして取得することができる。
なお、ステップS16の処理が実行されることによって取得される推論結果データをdec´(P)と表すものとすると、当該推論結果データdec´(P)は、d個のサブデータdec´(P),…,dec´(P)を含む。
ステップS16の処理が実行されると、推論結果データdec´(P)は、推論結果格納部206に格納される(ステップS17)。
ここで、計算装置20-1~20-nの各々において実行された推論の結果を復号するためには、上記したようにk個の推論結果データが必要である。このため、秘匿演算管理装置10は、k個の推論結果データを取得(収集)するために計算装置20-1~20-nのうちのk個の計算装置を選択する。この場合、図7には示されていないが、秘匿演算管理装置10は、選択されたk個の計算装置の各々に対して推論結果データの送信を指示する。
秘匿演算管理装置10によって選択されたk個の計算装置に計算装置20-tが含まれている場合、当該計算装置20-tは、秘匿演算管理装置10からの指示に基づいて、推論結果格納部206に格納された推論結果データdec´(P)を当該秘匿演算管理装置10に送信する(ステップS18)。なお、上記した秘匿演算管理装置10によって選択されたk個の計算装置のうちの計算装置20-t以外の計算装置も同様に推論結果データを秘匿演算管理装置10に送信する。
以下の説明においては、便宜的に、k個の計算装置として計算装置20-1~20-kの各々から推論結果データが送信されたものとする。ここでは計算装置20-1~20-kから推論結果データが送信されたものとして説明するが、k個の計算装置は任意に選択され得る。以下、計算装置20-1~20-kの各々から送信されたk個の推論結果データを、推論結果データdec´(P),…,dec´(P)と称する。
秘匿演算管理装置10は、上記したようにk個の計算装置から送信されたk個の推論結果データdec´(P),…,dec´(P)を受信する。
ここで、秘匿演算管理装置10において受信されたk個の推論結果データdec´(P),…,dec´(P)の各々は、学習モデルを用いた推論データZのシェア(規格化された推論データZのシェア)に基づく推論(演算)の結果であるため、0から1の実数である。よって、秘匿演算管理装置10において受信されたk個の推論結果データdec´(P),…,dec´(P)に対して秘匿演算における復号処理を実行するためには、当該k個の推論結果データdec´(P),…,dec´(P)の各々を整数に変換する必要がある。
この場合、推論結果復号部103は、上記した式(5)を用いて、k個の推論結果データdec´(P),…,dec´(P)の各々を整数に変換する(ステップS19)。
ここで、推論結果データdec´(P)(ここでは、1≦t≦k)を整数に変換する処理について説明する。上記したように推論結果データdec´(P)はd個のサブデータdec´(P),…,dec´(P)を含むため、当該サブデータ毎に整数変換が実施される。
この場合、例えばサブデータdec´(P)を上記した式(5)の左辺に入力し、右辺のxを求めるような計算を行う。このように計算されたxが整数に変換されたサブデータdec´(P)に相当する。なお、サブデータdec´(P)を整数に変換する場合には、上記した推論データZのシェアZ(P)に含まれるサブデータzのシェアz(P)が規格化された際に用いられたmmax及びmmin(つまり、サブデータdec´(P)に対応するmmax及びmmin)が用いられる。他のサブデータdec´(P),…,dec´(P)を整数に変換する場合についても同様に、サブデータdec´(P),…,dec´(P)の各々に対応するmmax及びmminが用いられる。
なお、上記したように整数に変換された結果(つまり、式(5)により計算されたx)が整数でない場合は、小数点以下を四捨五入するものとする。
このような処理が推論結果データdec´(P),…,dec´(P)の各々に対して実行されることにより、当該推論結果データdec´(P),…,dec´(P)(のサブデータ)の各々を整数に変換することができる。
ステップS19の処理が実行されると、推論結果復号部103は、当該ステップS19において整数に変換されたk個の推論結果データdec´(P),…,dec´(P)を復号する(ステップS20)。
なお、k個の推論結果データを復号することによって得られる復号データを復号データdecとした場合、ステップS20においては、上記したLagrange補間法を用い、上記したデータaを復号データdec、[a]t1,…,[a]tkを推論結果データdec´(P),…,dec´(P)とした式(2)により、当該復号データdecを復元することができる。
なお、推論結果データdec´(P),…,dec´(P)の各々は上記したようにd個のサブデータを含むところ、復号データdecは、上記した推論データZと同様に、d個のサブデータdec,…,decを含む。
ここで、本実施形態においては、k個の推論結果データdec´(P),…,dec´(P)を送信した計算装置20-1~20-kの各々が異なるシェアZ(P),…,Z(P)に基づく推論を実行しているため、当該計算装置20-1~20-kの各々において得られた推論結果データdec´(P),…,dec´(P)を復号した結果として得られる復号データdec(に含まれるサブデータ)には誤差が生じている可能性がある。特にゼロ近傍の値が解となる復号値に負の誤差が生じた場合、体Qに基づく秘匿演算を実施していることから、当該復号データdecに含まれるサブデータ(の値)は体Qの最大値の近傍(つまり、サブデータは体Qの最大値と概ね同様の値)となる。この場合、例えば上記した復号データdecに含まれるd個のサブデータのうちの1つが体Qの最大値の近傍であるものとすると、当該サブデータが他のサブデータに与える影響が大きくなり、適切な検知結果を得ることができない可能性がある。
そこで、本実施形態において、復号データ補正部104は、上記した復号データdecに含まれるサブデータdec,…,decの各々が体Qの最大値の近傍である(つまり、復号データ≒Qである)か否かを判定する(ステップS21)。なお、サブデータdec,…,decの各々が体Qの最大値の近傍であると判定するための判定ライン(閾値)については、予め設定されているものとする。これによれば、サブデータdec,…,decと体Qの最大値との差分が閾値未満であれば、当該サブデータが体Qの最大値との近傍であると判定することができる。
ここで、復号データdecに含まれるサブデータdecが体Qの最大値の近傍であると判定された場合を想定する(ステップS21のYES)。この場合、復号データ補正部104は、復号データdecに含まれるサブデータdecを補正する(ステップS22)。
なお、上記したように解であるゼロ近傍の値に負の誤差が生じることによって当該解が負の値となるような場合、上記した推論結果復号部103による復号結果として得られるサブデータdec(の値)は、体Qの最大値-α´(α´は、整数)のような値(つまり、体Qの最大値の近傍)となる。
このため、ステップS22においては、サブデータdecを、「体Qの最大値-サブデータdec」のように補正する。上記したようにサブデータdecが体Qの最大値-α´のような値である場合、当該サブデータdecを「体Qの最大値-サブデータdec」のように補正(変換)することにより、当該サブデータdecを実質的にα´として扱うことができ、上記したサブデータdec1が体Qの近傍となった場合に生じる影響を緩和することができる。
上記したようにステップS22の処理が実行されることによって例えばサブデータdecが補正された場合、ステップS20の処理が実行されることによって得られた復号データdecに含まれるサブデータdecを、当該補正されたサブデータdecに置き換えることにより、復号データdec(のデータ列)を再構成する(ステップS23)。
ここではサブデータdecを補正する場合について説明したが、他のサブデータdec,…,decが体Qの最大値の近傍である場合については、当該サブデータも同様に補正される。
なお、復号データdecに含まれる全てのサブデータdec,…,decが体Qの最大値の近傍でないと判定された場合(ステップS21のNO)、ステップS22及びS23の処理は実行されない。
以下の説明においては、ステップS23において再構成された復号データdec、及びステップS22及びS23の処理が実行されない場合におけるステップS20において復号された結果として得られる復号データdecを、便宜的に、単に復号データdecと称する。
次に、判定処理部105は、例えば機器の異常を検知するための閾値(以下、判定閾値Lthと表記)を用いて、推論データと復号データとの差分に基づく誤差値(再構成誤差)から当該機器が異常であるか否かを判定する判定処理を実行する(ステップS24)。
ここで、上記したように計算装置20-1~20-nにおいて保持されている学習モデル(学習モデル格納部203に格納されている学習モデル)がオートエンコーダであるものとすると、当該オートエンコーダは、例えば機器が正常な状態にある場合には、入力されたデータと同一のデータを出力するように学習されている。換言すれば、オートエンコーダは、例えば機器が異常な状態にある場合には、入力されたデータと異なるデータを出力する。
このため、ステップS24においては、推論データと復号データとの誤差値が判定閾値Lth以上である(つまり、乖離度が大きい)場合には機器が異常な状態にあると判定するような異常検知を実施するものとする。
なお、上記したステップS24においては、上記した式(5)により規格化された推論データZ(秘密分散が実施される前の推論データZ)と復号データdecとの差分和を評価指標(つまり、誤差値)として用いる。差分和とは各ノードに対応するサブデータの差分の和であり、当該差分和zdは、以下の式(6)により計算される。
Figure 0007451445000006
上記した式(6)におけるZはd個のノードのうちのノードiに対応する推論データZの規格化されたサブデータであり、decは当該ノードiに対応する復号データdecの規格化されたサブデータである。
なお、図7においては1つの推論データZが秘匿演算管理装置10に入力されるものとして説明したが、当該秘匿演算管理装置10には複数の推論データZ(つまり、推論データ群)が入力されてもよい。
ここで、上記したステップS24においては判定閾値Lthが用いられるが、以下、図8のシーケンスチャートを参照して、当該判定閾値Lthを決定する際の処理手順の一例について説明する。なお、図8においては、上記した図7と同様に、便宜的に、計算装置20-1~20-nのうちの1つの計算装置20-tのみが示されている。
この場合、秘匿演算管理装置10は、上記した学習データとは異なる検証用データを入力する(ステップS21)。検証用データは、上記した学習データ(群)Xと同様に正常な状態にある機器に設置されたセンサから得られるセンサデータである。なお、検証用データは学習データXとは異なるデータであることが望ましいが、十分な数のデータを用意することができない場合には、学習データXを検証用データとして用いてもよい。
ステップS1の処理が実行されると、上記した図7に示すステップS12~S23の処理に相当するステップS32~S43が実行される。なお、ステップS32~S43の処理は図7において説明した推論データZを検証用データとした点以外は当該図7において説明した通りであるため、ここではその詳しい説明を省略する。
次に、秘匿演算管理装置10に含まれる判定閾値決定部106は、検証用データと復号データとの差分に基づく誤差値(再構成誤差)から判定閾値Lthを決定する(ステップS44)。
この場合、上記したように検証用データは正常な状態にある機器に設置されたセンサから得られたセンサデータに相当するため、当該検証用データ(及び復号データ)に基づいて上記した図7に示すステップS24の処理が実行された場合には、機器が正常な状態にあるという判定結果が得られることが好ましい。
したがって、ステップS44においては、検証用データと復号データとの誤差値に基づいて機器が正常な状態にあると判定されるような値(例えば、当該誤差値よりも大きな値)を判定閾値Lthとして決定する。
ステップS44において決定された判定閾値Lthは、例えば判定処理部105内に保持され、上記した図7に示すステップS24において用いられる。
ここでは、説明の便宜上、1つの検証用データに基づいて判定閾値Lthが決定されるものとして説明したが、複数の検証用データ(検証用データ群)に基づいて判定閾値Lthを決定することにより、より精度の高い判定閾値Lthを決定することが可能となる。この場合、例えば検証用データと復号データとの誤差値に基づく判定結果の正解率が最も高くなる値を判定閾値Lthとして決定することが好ましい。
上記したように本実施形態においては、秘匿演算管理装置10に入力された学習データ(第1データ)Xに基づいて、X∈Qとなる体(整数環)Qから選択される係数を決定し、当該学習データXに対して秘密分散を実施し、当該決定された係数に基づいて当該学習データXからn個の計算装置20-1~20-nの各々に対応するn個のシェア(第1断片データ)を生成し、当該n個の計算装置20-1~20-nの各々が当該計算装置に対応する学習データXのシェアを当該計算装置が有する学習モデルに学習させる。また、本実施形態においては、秘匿演算管理装置10に入力された推論データ(第2データ)Zに対して秘密分散を実施し、上記したように決定された係数に基づいて当該推論データZからn個の計算装置20-1~20-nの各々に対応するn個のシェア(第2断片データ)を生成し、当該n個の計算装置20-1~20-nの各々が当該計算装置が有する学習モデルを用いて当該計算装置に対応する推論データZのシェアに基づく推論(演算)を実行し、当該n個の計算装置20-1~20-nの各々のうちのk個の計算装置20-1~20-kの各々によって実行された推論の結果として得られる推論結果データ(演算結果データ)を復号する。なお、本実施形態における係数は、n個の学習データXのシェアの各々が体Qの最大値未満となるように決定される。
本実施形態においては、このような構成により、秘匿演算におけるデータの復号精度を向上させることができる。具体的には、上記したように秘匿演算における体Q(有限体)を超える推定結果データが得られた場合には当該推定結果データを正しく復号することができないが、本実施形態においては、シェアを生成する際の係数に制限をかけることで当該推定結果データが体Qを超えることを抑制し、当該推定結果データを正しく復号することができない事態を回避することができる。
なお、本実施形態においては、k-1個のランダムな体Qの元であるr,…,rk-1(第1係数)と、n個の計算装置20-1~20-nの各々に対応するn個のランダムな体Qの元であるP,…,P(第2係数)とを係数として決定し、上記した秘匿されるデータaを学習データXとした上記した式(1)(つまり、学習データXを切片とするk-1次多項式)に基づいてn個の学習データXのシェアW(P),…,W(P)を生成する。この場合、上記したr,…,rk-1及びP,…,Pは、n個の学習データXのシェアW(P),…,W(P)のうちの最大値が体Qの最大値未満となるように決定される。
また、本実施形態においては、k個の推論結果データを復号することによって得られる復号データdecが体Qの最大値の近傍となる場合、当該体Qの最大値に基づいて当該復号データdecを補正する構成を更に有する。この場合、復号データdec(のサブデータ)は、体Qの最大値から当該復号データdecを減算した値に補正される。
本実施形態においては、このような構成により、より高い精度の復号データdecを得ることができるため、推論データZ及び復号データdecを用いた判定処理(例えば、機器の異常を検知する処理等)の精度を向上させることが可能となる。
更に、本実施形態において、n個の学習データXのシェア及びn個の推論データZのシェアは、例えばMax-Min Normalization処理によって規格化されてn個の計算装置20-1~20-nに送信される。
ここで、一般的に、秘匿演算(秘密分散法)においてはシェアを生成するために用いられる係数に制限がない方が高い安全性を実現することができるが、本実施形態においては、当該係数に制限をかける構成であるため、安全性が低下することが懸念される。しかしながら、本実施形態においては、係数に制限をかけることによって生じ得る安全性の低下を、上記したように計算装置20-1~20-nに送信する前にシェアを規格化することにより緩和することができる。
また、本実施形態においてk個の推論結果データがk個の計算装置から受信された場合、当該k個の推論結果データは整数変換された後に復号される。このような構成によれば、秘密演算における復号処理を適切に実行することができる。
また、本実施形態においては、n個の計算装置20-1及び20-nの各々が有する学習モデルが当該学習モデルに入力されるデータと当該学習モデルから出力されるデータとが同一となるように学習したオートエンコーダであるものとして説明したが、学習モデルは他のアルゴリズムによって生成されるものであってもよい。
なお、本実施形態においては秘匿演算システム1が例えば工場の機器の異常を検知するようなサービスを提供する(つまり、機器の異常検知を実施する)ような場合について主に説明したが、当該秘匿演算システム1は、他のサービスを提供するものであってもよい。
すなわち、本実施形態においては秘匿演算管理装置10が学習データX及び推論データZとして機器に設置されたセンサから得られたセンサデータを入力するものとして説明したが、当該学習データX及び推論データZは、上記した秘匿演算システム1が提供するサービスに応じて様々な種類のデータを用いることができる。
(第2実施形態)
次に、第2実施形態について説明する。なお、本実施形態に係る秘匿演算システムのネットワーク構成、当該秘匿演算システムに備えられる秘匿演算管理装置及び複数の計算装置の各々のハードウェア構成及び機能構成については、前述した第1実施形態と同様であるため、ここではその詳しい説明を省略し、適宜、図1~図4を用いて説明する。また、本実施形態においては、前述した第1実施形態と異なる点について主に説明する。
本実施形態においては、秘匿演算管理装置10に推論データが入力される際の処理(第2処理)が前述した第1実施形態とは異なる。
以下、図9のシーケンスチャートを参照して、本実施形態における第2処理の処理手順の一例について説明する。なお、図9においては、前述した図7と同様に、便宜的に、計算装置20-1~20-nのうちの1つの計算装置20-tのみが示されている。
本実施形態における第2処理においては、前述した図7に示すステップS11~S20の処理に相当するステップS51~S60の処理が実行される。なお、ステップS57の処理が実行された場合、前述した第1実施形態において説明したように秘匿演算管理装置10はk個の推論結果データを取得するためにk個の計算装置を選択するが、以下の説明においては、ここで選択されたk個の計算装置が計算装置20-1~20-kであるものとする。
ここで、前述した第1実施形態においては復号データdecに含まれるd個のサブデータdec,…,decのうちの体Qの最大値の近傍であるサブデータを補正するものとして説明したが、当該体Qの最大値の近傍となるサブデータの数が多い場合には、多くの補正されたサブデータから再構成された復号データdecに基づいて判定処理が実行されることになり、高い精度の判定結果を得る(例えば、高い精度の異常検知結果を提供する)ことができない可能性がある。
このため、本実施形態においては、ステップS60においてk個の推論結果データを復号することによって得られた復号データdecに含まれるd個のサブデータに対する体Qの最大値の近傍となるサブデータ(の数)の割合が閾値Pth以上であるか否かが判定される(ステップS61)。
上記した割合が閾値Pth以上であると判定された場合(ステップS61のYES)、ステップS58に戻って処理が繰り返される。この場合、秘匿演算管理装置10は、上記したk個の計算装置20-1~20-kとは異なる組み合わせのk個の計算装置を選択し、当該選択されたk個の計算装置からk個の推論結果データを再度受信する。以下、再度受信されたk個の推論結果データに基づいて、ステップS59以降の処理が実行される。
なお、k個の計算装置20-1~20-kとは異なる組み合わせのk個の計算装置とは、当該計算装置20-1~20-kのうちの少なくとも1つの計算装置が異なるk個の計算装置であればよい。
また、n個の計算装置20-1~20-nからk個の計算装置を選択する場合の組み合わせの数はであるが、当該k個の計算装置(の組み合わせ)を選択する順番(アルゴリズム)は任意でよい。
上記した割合が閾値Pth以上でないと判定された場合(ステップS61のNO)、前述した図7に示すステップS21~S24の処理に相当するステップS62~S65の処理が実行される。
上記したように本実施形態においては、復号データdecがd個のサブデータ(要素)を含み、当該d個のサブデータに対する体(整数環)Qの最大値の近傍となるサブデータ(以下、補正が必要なサブデータと表記)の割合が閾値Pth(予め定められた値)以上である場合、異なる組み合わせのk個の計算装置から推論結果データを再度受信し、復号する。
ここで、n個の計算装置20-1~20-nの各々において保持される学習モデルは、初期構成は同一であるものの、異なるシェアを学習することにより得られた学習モデルであることから、k個の計算装置の各々から送信される推論結果データを復号することによって得られた復号データに対して生じる誤差は、当該k個の計算装置の組み合わせによって異なると考えられる。
このため、本実施形態においては、上記したようにd個のサブデータに対する補正が必要なサブデータの割合が閾値Pth以上である場合に、異なる組み合わせのk個の計算装置から推論結果データを再度受信することで、より誤差の影響が少ない復号データを得ることが可能であるため、復号データの精度を向上させることができる。
なお、例えば複数の推論データZ(つまり、推論データ群)が秘匿演算管理装置10に入力されるような構成の場合には図9に示すステップS60の処理が実行されることによって複数の推論データZに対応する複数の復号データdecが得られるが、この場合には、当該複数の復号データdecの各々に含まれるサブデータ全体に対する補正が必要なサブデータの割合が閾値Pth以上である場合に、異なる組み合わせのk個の計算装置から推論結果データを受信すればよい。
また、本実施形態においては、復号データdecに含まれるd個のサブデータに対する補正が必要なサブデータの割合が閾値Pth以上である場合にk個の計算装置から推論結果データを再度受信するものとして説明したが、当該割合が閾値Pth以上である場合には、図9に示すステップS52において読み出された係数を調整する構成としてもよい。
具体的には、図9に示すステップS52において読み出された係数r,…,rk-1及びP,…,Pは前述した第1実施形態において説明したように学習データ(群)Xのシェア(サブデータのシェア)の各々が体Qの最大値未満となるように決定されているが、復号データdecに含まれるd個のサブデータに対する補正が必要なサブデータの割合が閾値Pth以上である場合には、例えば学習データXのシェア(サブデータのシェア)の各々が体Qの最大値未満となる範囲内で、かつ、上記したステップS52において読み出された係数r,…,rk-1とは異なる係数r´,…,rk-1´を再度決定するものとする。
この場合、再度決定されたr´,…,rk-1´及びステップS52において読み出されたP,…,Pに基づいて、ステップS53以降の処理が実行されればよい。
ここでは係数r,…,rk-1が調整されるものとして説明したが、P,…,Pが調整される構成であってもよいし、r,…,rk-1及びP,…,Pの両方が調整される構成であってもよい。
以上述べた少なくとも1つの実施形態によれば、秘匿演算が行われた結果に対する復号精度を向上させることが可能な秘匿演算方法、秘匿演算システム及び秘匿演算装置を提供することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…秘匿演算システム、10…秘匿演算管理装置、20-1~20-n…計算装置、30…ネットワーク、11…CPU、12…不揮発性メモリ、13…RAM、14…通信デバイス、101…係数決定部、102…シェア生成部、103…推論結果復号部、104…復号データ補正部、105…判定処理部、106…判定閾値決定部、201…学習データ格納部、202…学習処理部、203…学習モデル格納部、204…推論データ格納部、205…推論処理部、206…推論結果格納部。

Claims (9)

  1. 秘匿演算管理装置と、前記秘匿演算管理装置と通信可能に接続されるn(nは、2以上の整数)個の計算装置とを備える秘匿演算システムが実行する秘匿演算方法であって、
    前記秘匿演算管理装置が、前記秘匿演算管理装置に入力された第1データXに基づいて、X∈Qとなる整数環Qから選択される係数を決定することと、
    前記秘匿演算管理装置が、前記第1データXに対してShamirの秘密分散法に基づく秘密分散を実施し、前記決定された係数に基づいて当該第1データXから前記n個の計算装置の各々に対応するn個の第1断片データを生成することと、
    前記n個の計算装置の各々が、当該計算装置に対応する第1断片データを当該計算装置が保持する学習モデルに学習させることと、
    前記秘匿演算管理装置が、前記秘匿演算管理装置に入力された第2データZに対してShamirの秘密分散法に基づく秘密分散を実施し、前記決定された係数に基づいて当該第2データZからn個の計算装置の各々に対応するn個の第2断片データを生成することと、
    前記n個の計算装置の各々が、当該計算装置が保持する学習モデルを用いて当該計算装置に対応する第2断片データに基づく推論を実行することと、
    前記秘匿演算管理装置が、前記n個の計算装置の各々のうちのk(kは、2以上、かつ、n以下の整数)個の計算装置の各々によって実行された推論の結果として得られるk個の推論結果データをShamirの秘密分散法に基づいて復号することによって復号データdecを取得することと
    前記秘匿演算管理装置が、前記復号データdecが前記整数環Qの最大値の近傍となる場合、当該整数環Qの最大値に基づいて当該復号データdecを補正することと
    を具備し、
    前記係数は、Shamirの秘密分散法に基づき、かつ、前記n個の第1断片データの各々が前記整数環Qの最大値未満となるように決定され
    前記n個の計算装置の各々が保持する学習モデルは、当該学習モデルに入力されるデータと当該学習モデルから出力されるデータとが同一となるように学習したオートエンコーダを含む
    秘匿演算方法。
  2. 前記決定することは、k-1個のランダムな前記整数環Qの元である第1係数r,…,rk-1と、n個の計算装置の各々に対応するn個のランダムな前記整数環Qの元である第2係数P,…,Pとを前記係数として決定することを含み、
    前記生成することは、前記第1データXを切片とするk-1次多項式
    Figure 0007451445000007
    に基づいてn個の第1断片データW(P),…,W(P)を生成することを含み、
    前記第1係数及び前記第2係数は、前記n個の第1断片データW(P),…,W(P)のうちの最大値が前記整数環Qの最大値未満となるように決定される
    請求項1記載の秘匿演算方法。
  3. 前記補正することは、前記復号データdecを、前記整数環Qの最大値から当該復号データdecを減算した値に補正することを含む請求項記載の秘匿演算方法。
  4. 前記n個の第1及び第2断片データは、Max-Min Normalization処理によって規格化される請求項1~のいずれか一項に記載の秘匿演算方法。
  5. 前記秘匿演算管理装置が、前記k個の推論結果データを整数変換することを更に具備する請求項記載の秘匿演算方法。
  6. 前記第2データZは、複数の要素z,…,z(dは、2以上の整数)を含み、
    前記復号データdecは、前記複数の要素z,…,zに対応する複数の要素dec,…,decを含み、
    前記複数の要素dec,…,decに対する前記整数環Qの最大値の近傍となる要素の割合が予め定められた値以上である場合、前記k個の推論結果データを復号することは、前記k個の計算装置とは異なる組み合わせのk個の計算装置の各々によって実行された推論の結果として得られる推論結果データを再度復号することを含む
    請求項1記載の秘匿演算方法。
  7. 前記第2データZは、複数の要素z,…,zを含み、
    前記復号データdecは、前記複数の要素z,…,zに対応する複数の要素dec,…,decを含み、
    前記複数の要素dec,…,decに対する前記整数環Qの最大値の近傍となる要素の割合が予め定められた値以上である場合、前記決定することは、前記係数とは異なる係数を再度決定することを含み、
    前記生成することは、前記再度決定された係数に基づいて、前記n個の第2断片データを再度生成することを含む
    請求項1記載の秘匿演算方法。
  8. 秘匿演算管理装置と、前記秘匿演算管理装置と通信可能に接続されるn(nは、2以上の整数)個の計算装置とを備える秘匿演算システムにおいて、
    前記秘匿演算管理装置は、決定手段と、第1生成手段と、第2生成手段と、復号手段と、補正手段とを含み、
    前記n個の計算装置の各々は、学習処理手段と、推論処理手段とを含み、
    前記決定手段は、前記秘匿演算管理装置に入力された第1データXに基づいて、X∈Qとなる整数環Qから選択される係数を決定し、
    前記第1生成手段は、前記第1データXに対してShamirの秘密分散法に基づく秘密分散を実施し、前記決定された係数に基づいて当該第1データXから前記n個の計算装置の各々に対応するn個の第1断片データを生成し、
    前記n個の計算装置の各々に含まれる学習処理手段は、当該計算装置に対応する第1断片データを当該計算装置が保持する学習モデルに学習させ、
    前記第2生成手段は、前記秘匿演算管理装置に入力された第2データZに対してShamirの秘密分散法に基づく秘密分散を実施し、前記決定された係数に基づいて当該第2データZからn個の計算装置の各々に対応するn個の第2断片データを生成し、
    前記n個の計算装置の各々に含まれる推論処理手段は、当該計算装置が保持する学習モデルを用いて当該計算装置に対応する第2断片データに基づく推論を実行し、
    前記復号手段は、前記n個の計算装置の各々のうちのk(kは、2以上、かつ、n以下の整数)個の計算装置の各々によって実行された推論の結果として得られるk個の推論結果データをShamirの秘密分散法に基づいて復号することによって復号データdecを取得し、
    前記補正手段は、前記復号データdecが前記整数環Qの最大値の近傍となる場合、当該整数環Qの最大値に基づいて当該復号データdecを補正し、
    前記係数は、Shamirの秘密分散法に基づき、かつ、前記n個の第1断片データの各々が前記整数環Qの最大値未満となるように決定され
    前記n個の計算装置の各々が保持する学習モデルは、当該学習モデルに入力されるデータと当該学習モデルから出力されるデータとが同一となるように学習したオートエンコーダを含む
    秘匿演算システム。
  9. n(nは、2以上の整数)個の計算装置と通信可能に接続される秘匿演算管理装置において、
    前記秘匿演算管理装置に入力された第1データXに基づいて、X∈Qとなる整数環Qから選択される係数を決定する決定手段と、
    前記第1データXに対してShamirの秘密分散法に基づく秘密分散を実施し、前記決定された係数に基づいて当該第1データXから前記n個の計算装置の各々に対応するn個の第1断片データを生成する第1生成手段と、
    前記生成されたn個の第1断片データの各々を、当該第1断片データを学習する学習モデルを保持する前記n個の計算装置の各々に送信する第1送信手段と、
    前記秘匿演算管理装置に入力された第2データZに対してShamirの秘密分散法に基づく秘密分散を実施し、前記決定された係数に基づいて当該第2データZからn個の計算装置の各々に対応するn個の第2断片データを生成する第2生成手段と、
    前記生成されたn個の第2断片データの各々を、前記学習モデルを用いて当該第2断片データに基づく推論を実行する前記n個の計算装置の各々に送信する第2送信手段と、
    前記n個の計算装置の各々のうちのk(kは、2以上、かつ、n以下の整数)個の計算装置の各々によって実行された推論の結果として得られるk個の推論結果データをShamirの秘密分散法に基づいて復号することによって復号データdecを取得する復号手段と
    前記復号データdecが前記整数環Qの最大値の近傍となる場合、当該整数環Qの最大値に基づいて当該復号データdecを補正する補正手段と
    を具備し、
    前記係数は、Shamirの秘密分散法に基づき、かつ、前記n個の第1断片データの各々が前記整数環Qの最大値未満となるように決定され
    前記n個の計算装置の各々が保持する学習モデルは、当該学習モデルに入力されるデータと当該学習モデルから出力されるデータとが同一となるように学習したオートエンコーダを含む
    秘匿演算管理装置。
JP2021020031A 2021-02-10 2021-02-10 秘匿演算方法、秘匿演算システム及び秘匿演算管理装置 Active JP7451445B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021020031A JP7451445B2 (ja) 2021-02-10 2021-02-10 秘匿演算方法、秘匿演算システム及び秘匿演算管理装置
US17/469,106 US11870893B2 (en) 2021-02-10 2021-09-08 Secure computing method, secure computing system, and secure computing management device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021020031A JP7451445B2 (ja) 2021-02-10 2021-02-10 秘匿演算方法、秘匿演算システム及び秘匿演算管理装置

Publications (2)

Publication Number Publication Date
JP2022122660A JP2022122660A (ja) 2022-08-23
JP7451445B2 true JP7451445B2 (ja) 2024-03-18

Family

ID=82705090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021020031A Active JP7451445B2 (ja) 2021-02-10 2021-02-10 秘匿演算方法、秘匿演算システム及び秘匿演算管理装置

Country Status (2)

Country Link
US (1) US11870893B2 (ja)
JP (1) JP7451445B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017207839A (ja) 2016-05-17 2017-11-24 日本電信電話株式会社 ニューラルネットワークシステム、シェア計算装置、ニューラルネットワークの学習方法、プログラム
JP2019215512A (ja) 2017-10-13 2019-12-19 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 予測モデル分散方法および予測モデル分散システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5957126B1 (ja) * 2015-06-24 2016-07-27 日本電信電話株式会社 秘密計算装置、秘密計算方法、およびプログラム
US10630655B2 (en) * 2017-05-18 2020-04-21 Robert Bosch Gmbh Post-quantum secure private stream aggregation
US20210358332A1 (en) 2018-10-04 2021-11-18 Nippon Telegraph And Telephone Corporation Secret sigmoid function calculation system, secret logistic regression calculation system, secret sigmoid function calculation apparatus, secret logistic regression calculation apparatus, secret sigmoid function calculation method, secret logistic regression calculation method and program
JP7067633B2 (ja) 2018-10-10 2022-05-16 日本電信電話株式会社 秘密右シフト演算システム、秘密除算システム、それらの方法、秘密計算装置、およびプログラム
US12026219B2 (en) * 2019-12-13 2024-07-02 TripleBlind, Inc. Systems and methods for efficient computations on split data and split algorithms
KR20210081471A (ko) * 2019-12-23 2021-07-02 삼성전자주식회사 프로그램 코드를 저장하는 비일시적 컴퓨터 판독가능 매체, 복호화 장치, 및 암호화 장치와 복호화 장치를 포함하는 통신 시스템
US20230032519A1 (en) * 2020-07-14 2023-02-02 Microsoft Technology Licensing, Llc Private inference in deep neural network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017207839A (ja) 2016-05-17 2017-11-24 日本電信電話株式会社 ニューラルネットワークシステム、シェア計算装置、ニューラルネットワークの学習方法、プログラム
JP2019215512A (ja) 2017-10-13 2019-12-19 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 予測モデル分散方法および予測モデル分散システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Anders Dalskov,Cats or Croissants? Techniques for Secure Inference,2020年11月11日,pp. 1-68,[2023年10月30日検索], インターネット<URL:https://anderspkd.github.io/res/files/thesis.pdf>

Also Published As

Publication number Publication date
US20220255730A1 (en) 2022-08-11
US11870893B2 (en) 2024-01-09
JP2022122660A (ja) 2022-08-23

Similar Documents

Publication Publication Date Title
US11551035B2 (en) Machine learning based on homomorphic encryption
US11308222B2 (en) Neural-network training using secure data processing
CN110753926B (zh) 用于数据加密的方法、系统和计算机可读存储介质
US10102399B2 (en) Secure evaluation of a program
JP6040320B2 (ja) 秘密並列処理装置、秘密並列処理方法、プログラム
JP7414655B2 (ja) 学習システム、情報処理装置、学習方法およびプログラム
CN113221153B (zh) 图神经网络训练方法、装置、计算设备及存储介质
KR101825838B1 (ko) 데이터의 부분 암호화 방법, 데이터의 부분 복호화 방법 및 부분 암호화된 데이터를 복호화하는 프로그램을 저장하는 저장매체
US9866372B2 (en) Encryption apparatus, method for encryption, method for decryption and computer-readable recording medium
AU2018271515B2 (en) Secret tampering detection system, secret tampering detection apparatus, secret tampering detection method, and program
KR20240004830A (ko) 완전 동형 암호화에서 사용하기 위한 블라인드 회전
JP7451445B2 (ja) 秘匿演算方法、秘匿演算システム及び秘匿演算管理装置
EP2991266B1 (en) Encrypted text matching system, method, and computer readable medium
JP6933290B2 (ja) 秘密計算装置、秘密計算認証システム、秘密計算方法、およびプログラム
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
CN116170142A (zh) 分布式协同解密方法、设备和存储介质
JP7205016B2 (ja) 秘匿情報処理システムおよび秘匿情報処理方法
KR20220021543A (ko) 비밀번호 및 행동 패턴을 이용한 멀티 팩터 인증 시스템 및 방법
Schmid et al. Towards Private Deep Learning-Based Side-Channel Analysis Using Homomorphic Encryption: Opportunities and Limitations
JP6980154B2 (ja) データ利用者鍵生成装置、鍵生成方法及び鍵生成プログラム
Jiang et al. Privacy-Preserving UCB Decision Process Verification via zk-SNARKs
WO2022199861A1 (en) Private artificial neural networks with trusted execution environments and quadratic homomorphic encryption
JP2023177836A (ja) 機械学習システム及び方法
CN118427874A (zh) 一种双分支结构的量化神经网络隐私推理方法及系统
JP2024009581A (ja) 情報処理システムの制御方法、情報処理システム、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240306

R151 Written notification of patent or utility model registration

Ref document number: 7451445

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151