JP6832013B2 - 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム - Google Patents
処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム Download PDFInfo
- Publication number
- JP6832013B2 JP6832013B2 JP2017225462A JP2017225462A JP6832013B2 JP 6832013 B2 JP6832013 B2 JP 6832013B2 JP 2017225462 A JP2017225462 A JP 2017225462A JP 2017225462 A JP2017225462 A JP 2017225462A JP 6832013 B2 JP6832013 B2 JP 6832013B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- neural network
- network model
- encrypted data
- data
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Description
前記ニューラルネットワークモデルを用いて前記平文データに対して所定の処理を実行する処理実行部と、を備え、ニューラルネットワークモデルは、前段から入力される第1平文データに対して、剰余演算付き演算を実行する処理レイヤーを有し、処理レイヤーの後段において、処理レイヤーの演算結果に対して非線形関数を適用しないように構成されている。
図6を参照して、本実施形態に係る処理システム1における処理動作について説明する。
図7は、コンピュータ装置の一実施例を示すブロック図である。なお、本実施形態では、学習装置10、推論装置20、及びクライアント装置30は、別々のコンピュータ装置で構成されているが、これらコンピュータ装置は、同様な構成を有するものとすることができるので、以下の説明では、便宜的に図7に示すコンピュータ装置を用いて、学習装置10、推論装置20、及びクライアント装置30を構成するコンピュータ装置について説明することとする。
C1=gm1×r1 N mod N2 ・・・(1)
C2=gm2×r2 N mod N2 ・・・(2)
ここで、r1(0≦r1≦N−1)、及びr2(0≦r2≦N−1)は、乱数である。
C3=C1 × C2 mod N2 ・・・(3)
式(3)を変形すると、以下の式(4)に示すように表される。
C3=C1 × C2 modN2
=(gm1×r1N)×(gm2×r2N) mod N2
=gm1+m2×(r1×r2)N mod N2
=(gm1+m2 mod N2×(r1×r2)N mod N2) mod N2 ・・・(4)
gx mod N2=(1+kN)X mod N2=1+xkN+x(x−1)/2×k2N2+・・・・mod N2 ・・・(5)
式(5)の右辺については、第3項以降は、必ずN2が係数として掛かっているため、mod N2では、0となる。
この結果、以下の式(6)に示す関係が得られる。
gx mod N2=1+xkN mod N2 ・・・(6)
式(6)において、x=Nとすると、以下の式(7)に示す関係が成り立つ。
gN mod N2=1+NkN mod N2 =1・・・(7)
式(7)によると、以下の式(8)が成り立つことがわかる。
gx+yN mod N2=gx×gyN modN2 =gx×(gN)y mod N2=gx×1y mod N2=gx mod N2・・・(8)
ここで、yは、任意の整数である。
gm1+m2 mod N2=gm1+m2+yN modN2 ・・・(9)
式(9)を式(4)に代入すると、C3は、以下の式(10)に示すようになる。
C3=(gm1+m2+yN mod N2×(r1×r2)N mod N2) mod N2 ・・・(10)
m1及びm2の値域により、m1+m2の値域は、以下の式(11)に示すようになる。
0≦m1+m2≦2N−2 ・・・(11)
したがって、m1+m2+yNの値域は、yを0又は−1とすれば、式(12)を満たすに示すようになる。
0≦m1+m2+yN≦N−1 ・・・(12)
このようなyであるとすると、m1+m2+yN=m1+m2 mod Nと表現できる。
C3=(gm1+m2 mod N mod N2×(r1×r2)N mod N2) mod N2 ・・・(13)
D’=C3 (p−1)(q−1) mod N2・・・(14)
式(14)に、式(13)を代入すると、復号用データD’は、式(15)に示すように表される。
D’=(gm1+m2 mod N×(p−1)×(q−1) mod N2×(r1×r2)N×(p−1)×(q−1) mod N2) mod N2・・・(15)
オイラーのトーシエント関数を計算すると、
φ(N2)=φ(p2q2)=p(p−1)q(q−1)=N(p−1)(q−1)であるので、オイラーの定理によって、任意のaに対して、以下の式(16)が成り立つ。
aN×(p−1)×(q−1)N1 mod N2 =1 ・・・(16)
式(16)によると、(r1×r2)N×(p−1)×(q−1) mod N2) mod N2=1となる。
したがって、式(15)は、以下の式(17)に示すように表される。
D’=(gm1+m2 mod N×(p−1)×(q−1) mod N2・・・(17)
式(6)の関係を用いると、式(17)は、以下の式(18)に変形できる。
D’=1+(m1+m2 mod N)×(p−1)×(q−1)kN mod N2・・・(18)
D=(D’−1)/N×(k×(p−1)×(q−1))−1 mod N・・・(19)
ここで、任意のaに対するa−1は、aのmod Nにおける逆元(言い換えれば、a×a−1 mod N =1を満たす値)を示す。なお、Nについては、mod N2における逆元が存在しないため、単純に除算を行う式となっている。
式(19)に式(18)に示すD’を代入すると、復号データDは、式(20)に示すように表される。
D=m1+m2 mod N・・・(20)
Claims (8)
- ニューラルネットワークモデルを用いて所定の処理を実行する処理装置であって、
有限巡回群上での演算に対して準同型な構造を有する加法準同型暗号により暗号化された暗号化データを受け付ける入力部と、
前記ニューラルネットワークモデルを用いて前記暗号化データに対して暗号化したまま所定の処理を実行する処理実行部と、を備え、
前記ニューラルネットワークモデルは、前段から入力される複数の第1暗号化データを用いて生成される第2暗号化データであって、前記第1暗号化データに対応する平文データに対して有限巡回群上での演算である剰余演算付きの加減算を実行した処理結果が暗号化された前記第2暗号化データを生成する処理レイヤーを有し、前記処理レイヤーと、非線形分離された前記処理結果が暗号化された前記第2暗号化データの入力を受け付ける次の処理レイヤーとの間において、前記処理レイヤーの出力である前記第2暗号化データに対して活性化関数を適用しないように構成されている
処理装置。 - ニューラルネットワークモデルを用いて所定の推論処理を実行する推論装置であって、
有限巡回群上の演算に対して準同型な構造を有する加法準同型暗号により暗号化された暗号化データを受け付ける入力部と、
前記ニューラルネットワークモデルを用いて前記暗号化データに対して暗号化したまま所定の推論処理を実行する推論部と、を備え、
前記ニューラルネットワークモデルは、前段から入力される複数の第1暗号化データを用いて生成される第2暗号化データであって、前記第1暗号化データに対応する平文データに対して有限巡回群上での演算である剰余演算付きの加減算を実行した処理結果が暗号化された前記第2暗号化データを生成する処理レイヤーを有し、前記処理レイヤーと、非線形分離された前記処理結果が暗号化された前記第2暗号化データの入力を受け付ける次の処理レイヤーとの間において、前記処理レイヤーの出力である前記第2暗号化データに対して活性化関数を適用しないように構成されている
推論装置。 - 所定の学習用データに基づいてニューラルネットワークモデルにおける設定値を学習する学習装置であって、
学習対象のニューラルネットワークモデルを用いて、前記学習用データに基づいて、前記学習対象のニューラルネットワークモデルにおける設定値を学習する学習部と、
前記学習部により学習された前記学習対象のニューラルネットワークの設定値を記憶する学習結果記憶部と、を備え、
前記学習部は、正伝播を実行する場合には、学習対象のニューラルネットワークモデルとして、前段から入力される第1平文データに対して、剰余演算付き演算を実行する第1処理レイヤーを有し、前記第1処理レイヤーの後段において、前記第1処理レイヤーの演算結果に対して非線形関数を適用しないように構成されているニューラルネットワークモデルを使用し、
前記学習対象のニューラルネットワークモデルにおける設定値を更新するために逆伝播を実行する場合には、学習対象のニューラルネットワークモデルとして、前記第1処理レイヤーに代えて、前記第1処理レイヤーにおける前記剰余演算付き演算から剰余演算を除いた演算を行う第2処理レイヤーと、前記第2処理レイヤーの後段に配置され、微分可能な活性化関数による処理を行う活性化関数レイヤーとを含むニューラルネットワークモデルを使用し、前記正伝播を実行した場合に出力された出力データを入力として用いる
学習装置。 - 前記学習部は、逆伝播を実行する場合には、前記活性化関数レイヤーにおける前記活性化関数を、連続的に増加して一部の値でのみ非連続に減少する波形、又は連続的に減少して一部の値でのみ非連続に増加する波形のいずれかに近似された微分可能な近似関数とする
請求項3に記載の学習装置。 - 前記近似関数は、双曲線関数である
請求項4に記載の学習装置。 - 所定の学習用データに基づいて第1ニューラルネットワークモデルにおける設定値を学習する学習装置と、前記第1ニューラルネットワークモデルの少なくとも一部に対応する第2ニューラルネットワークモデルにより所定の推論処理を実行する推論装置とを備える処理システムであって、
前記学習用データは、暗号化データであり、
前記学習装置は、
第1ニューラルネットワークモデルを用いて、前記学習用データに基づいて、前記第1ニューラルネットワークモデルにおける設定値を学習する学習部と、
前記学習部により学習された前記第1ニューラルネットワークの設定値を記憶する学習結果記憶部と、を備え、
前記学習部は、正伝播を実行する場合には、学習対象の第1ニューラルネットワークモデルとして、前段から入力される複数の第1暗号化データから、復号すると前記第1暗号化データに対応する平文データに対して剰余演算付きの演算を行うことにより得られる処理結果が得られる第2暗号化データを生成して出力する処理を実行する処理レイヤーを有し、前記処理レイヤーの後段において、前記第2暗号化データに対して非線形関数を適用しないように構成されているニューラルネットワークモデルを使用し、
前記学習対象の第1ニューラルネットワークモデルにおける設定値を更新するために逆伝播を実行する場合には、学習対象のニューラルネットワークモデルとして、平文データに対して前記所定の処理を実行するためのニューラルネットワークモデルを使用し、前記正伝播を実行した場合に出力された出力データを復号した復号データを入力として用い、
前記推論装置は、
暗号化データを受け付ける入力部と、
前記第2ニューラルネットワークモデルを用いて前記暗号化データに対して所定の推論処理を実行する推論部と、を備え、
前記第2ニューラルネットワークモデルは、前段から入力される複数の第3暗号化データから、復号すると前記第3暗号化データに対応する平文データに対して剰余演算付きの演算を行うことにより得られる処理結果が得られる第4暗号化データを生成して出力する処理を実行する処理レイヤーを有し、前記処理レイヤーの後段において、前記第4暗号化データに対して非線形関数を適用しないように構成されている
処理システム。 - ニューラルネットワークモデルを用いて所定の処理を実行する処理装置による処理方法であって、
前記ニューラルネットワークモデルを用いて、有限巡回群上での演算に対して準同型な構造を有する加法準同型暗号により暗号化された暗号化データに対して暗号化したまま所定の処理を実行し、
前記ニューラルネットワークモデルは、前段から入力される複数の第1暗号化データを用いて生成される第2暗号化データであって、前記第1暗号化データに対応する平文データに対して有限巡回群上での演算である剰余演算付きの加減算を実行した処理結果が暗号化された前記第2暗号化データを生成する処理レイヤーを有し、前記処理レイヤーと、非線形分離された前記処理結果が暗号化された前記第2暗号化データの入力を受け付ける次の処理レイヤーとの間において、前記処理レイヤーの出力である前記第2暗号化データに対して活性化関数を適用しないように構成されている
処理方法。 - ニューラルネットワークモデルを用いて所定の処理を実行する処理装置を構成するコンピュータに実行させるための処理プログラムであって、
前記コンピュータを、
有限巡回群上での演算に対して準同型な構造を有する加法準同型暗号により暗号化された暗号化データを受け付ける入力部と、
前記ニューラルネットワークモデルを用いて前記暗号化データに対して暗号化したまま所定の処理を実行する処理実行部と、して機能させ、
前記ニューラルネットワークモデルは、前段から入力される複数の第1暗号化データを用いて生成される第2暗号化データであって、前記第1暗号化データに対応する平文データに対して有限巡回群上での演算である剰余演算付きの加減算を実行した処理結果が暗号化された前記第2暗号化データを生成する処理レイヤーを有し、前記処理レイヤーと、非線形分離された前記処理結果が暗号化された前記第2暗号化データの入力を受け付ける次の処理レイヤーとの間において、前記処理レイヤーの出力である前記第2暗号化データに対して活性化関数を適用しないように構成されている
処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017225462A JP6832013B2 (ja) | 2017-11-24 | 2017-11-24 | 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム |
US16/168,073 US11373098B2 (en) | 2017-11-24 | 2018-10-23 | Processing apparatus, learning apparatus, processing method, and nonvolatile recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017225462A JP6832013B2 (ja) | 2017-11-24 | 2017-11-24 | 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021005277A Division JP7096610B2 (ja) | 2021-01-15 | 2021-01-15 | 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019095635A JP2019095635A (ja) | 2019-06-20 |
JP6832013B2 true JP6832013B2 (ja) | 2021-02-24 |
Family
ID=66633289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017225462A Active JP6832013B2 (ja) | 2017-11-24 | 2017-11-24 | 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11373098B2 (ja) |
JP (1) | JP6832013B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120151479A1 (en) | 2010-12-10 | 2012-06-14 | Salesforce.Com, Inc. | Horizontal splitting of tasks within a homogenous pool of virtual machines |
US11321618B2 (en) * | 2018-04-25 | 2022-05-03 | Om Digital Solutions Corporation | Learning device, image pickup apparatus, image processing device, learning method, non-transient computer-readable recording medium for recording learning program, display control method and inference model manufacturing method |
WO2021087073A1 (en) * | 2019-10-30 | 2021-05-06 | Via Science, Inc. | Secure outsourcing of a multiplication |
JP7096610B2 (ja) * | 2021-01-15 | 2022-07-06 | 株式会社アクセル | 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム |
WO2024034112A1 (ja) * | 2022-08-12 | 2024-02-15 | 日本電気株式会社 | 推論システム、情報処理システム、推論方法、及び記録媒体 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07113917B2 (ja) * | 1991-03-20 | 1995-12-06 | エイ・ティ・アンド・ティ・コーポレーション | ニューラル・ネットワーク及びその制御方法及びニューラル・ネットワーク用演算装置 |
US9946970B2 (en) * | 2014-11-07 | 2018-04-17 | Microsoft Technology Licensing, Llc | Neural networks for encrypted data |
JP2017139646A (ja) * | 2016-02-04 | 2017-08-10 | リコーイメージング株式会社 | 撮影装置 |
-
2017
- 2017-11-24 JP JP2017225462A patent/JP6832013B2/ja active Active
-
2018
- 2018-10-23 US US16/168,073 patent/US11373098B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019095635A (ja) | 2019-06-20 |
US11373098B2 (en) | 2022-06-28 |
US20190164056A1 (en) | 2019-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6832013B2 (ja) | 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム | |
US11374735B2 (en) | Processing apparatus, processing method, storage medium, and encryption processing system | |
JP7096610B2 (ja) | 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム | |
US11586743B2 (en) | Secure data processing | |
JP6814480B2 (ja) | 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム | |
JP6730740B2 (ja) | 処理装置、処理方法、処理プログラム、及び暗号処理システム | |
JP6962578B2 (ja) | 暗号処理システム、暗号処理装置、暗号処理プログラム、及び暗号処理方法 | |
US11164484B2 (en) | Secure computation system, secure computation device, secure computation method, and program | |
US11294633B2 (en) | Secure computation system, secure computation device, secure computation method, and program | |
EP3863003B1 (en) | Hidden sigmoid function calculation system, hidden logistic regression calculation system, hidden sigmoid function calculation device, hidden logistic regression calculation device, hidden sigmoid function calculation method, hidden logistic regression calculation method, and program | |
JP2019046460A (ja) | 推論装置、及び推論方法 | |
JP6585846B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
JP6777816B2 (ja) | 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム | |
JP2020519968A (ja) | ビット分解秘密計算装置、ビット結合秘密計算装置、方法およびプログラム | |
JP4663421B2 (ja) | 離散対数演算装置、方法及びプログラム | |
JP6825119B2 (ja) | 秘密読み込み装置、秘密書き込み装置、それらの方法、およびプログラム | |
JP2015135380A (ja) | シェア変換システム、シェア変換方法、プログラム | |
JPWO2019176520A1 (ja) | 秘密計算装置、秘密計算方法、プログラム、および記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190402 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200408 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201027 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201208 |
|
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: 20210105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210118 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6832013 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |