(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024123378
(43)【公開日】2024-09-12
(54)【発明の名称】モデルパラメータ回復装置、方法及びプログラム
(51)【国際特許分類】
G06F 11/10 20060101AFI20240905BHJP
G06N 20/00 20190101ALI20240905BHJP
G06F 21/57 20130101ALN20240905BHJP
【FI】
G06F11/10 604
G06N20/00
G06F21/57
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023030727
(22)【出願日】2023-03-01
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504176911
【氏名又は名称】国立大学法人大阪大学
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】芦澤 奈実
(72)【発明者】
【氏名】矢内 直人
(72)【発明者】
【氏名】後藤 勇芽輝
(57)【要約】
【課題】モデルのパラメータを攻撃前の状態に戻すためにモデルのパラメータの再学習が不要である技術を提供する。
【解決手段】モデルパラメータ回復装置は、モデルのパラメータに付与された誤り訂正符号に基づいてパラメータに所定の変化が生じたかを判断する変化判断部2と、変化判断部2において、パラメータに所定の変化が生じたと判断された場合には、誤り訂正符号に基づいてパラメータを回復する回復部3と、を備えている。
【選択図】
図1
【特許請求の範囲】
【請求項1】
モデルのパラメータに付与された誤り訂正符号に基づいて前記パラメータに所定の変化が生じたかを判断する変化判断部と、
前記変化判断部において、前記パラメータに所定の変化が生じたと判断された場合には、前記誤り訂正符号に基づいて前記パラメータを回復する回復部と、
を含むモデルパラメータ回復装置。
【請求項2】
請求項1のモデルパラメータ回復装置であって、
前記変化判断部は、前記パラメータの変化量が所定の閾値よりも大きい場合に、前記パラメータに所定の変化が生じたと判断する、
モデルパラメータ回復装置。
【請求項3】
請求項1のモデルパラメータ回復装置であって、
前記回復部は、前記パラメータだけではなく、前記モデルの他のパラメータも回復する、
モデルパラメータ回復装置。
【請求項4】
変化判断部が、モデルのパラメータに付与された誤り訂正符号に基づいて前記パラメータに所定の変化が生じたかを判断する変化判断ステップと、
回復部が、前記変化判断部において、前記パラメータに所定の変化が生じたと判断された場合には、前記誤り訂正符号に基づいて前記パラメータを回復する回復ステップと、
を含むモデルパラメータ回復方法。
【請求項5】
請求項1から3の何れかのモデルパラメータ回復装置装置の各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、モデルのパラメータを回復する技術に関する。
【背景技術】
【0002】
AI、言い換えればモデルパラメータへの攻撃やその対策は様々に検討されているが、攻撃を未然に防ぐ対策は多く提案されていても、攻撃を受けたモデルパラメータを利用し続けるための技術は多くない。
【0003】
攻撃を受けたモデルパラメータを利用し続けるための技術として、非特許文献1及び2の技術が知られている。
【0004】
非特許文献1の技術は、バックドア攻撃を検知し、バックドア攻撃が検知された場合には、モデルパラメータを攻撃前の状態に戻すための再学習データセットを最適化する技術である。
【0005】
非特許文献2の技術は、バックドア攻撃を受けた状態を検知し、パラメータを変更することで攻撃前の状態に戻す技術である。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Fahmy, Hazem & Pastore, Fabrizio & Bagherzadeh, Mojtaba & Briand, Lionel. (2021). Supporting Deep Neural Network Safety Analysis and Retraining Through Heatmap-Based Unsupervised Learning. IEEE Transactions on Reliability. PP. 1-17. 10.1109/TR.2021.3074750.
【非特許文献2】Yue Zhao, Hong Zhu, Kai Chen, and Shengzhi Zhang. 2021. AI-Lancet: Locating Error-inducing Neurons to Optimize Neural Networks. In Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security (CCS '21). Association for Computing Machinery, New York, NY, USA, 141-158.
【発明の概要】
【発明が解決しようとする課題】
【0007】
非特許文献1及び非特許文献2の技術では、モデルのパラメータを攻撃前の状態に戻すためにモデルのパラメータの再学習を行う必要がある。
【0008】
開示の技術は、モデルのパラメータを攻撃前の状態に戻すためにモデルのパラメータの再学習を不要にすることを目的とする。
【課題を解決するための手段】
【0009】
開示の技術の一態様であるモデルパラメータ回復装置は、モデルのパラメータに付与された誤り訂正符号に基づいてパラメータに所定の変化が生じたかを判断する変化判断部と、変化判断部において、パラメータに所定の変化が生じたと判断された場合には、誤り訂正符号に基づいてパラメータを回復する回復部と、を備えている。
【発明の効果】
【0010】
開示の技術によれば、モデルのパラメータを攻撃前の状態に戻すためにモデルのパラメータの再学習が不要である。
【図面の簡単な説明】
【0011】
【
図1】
図1は、モデルパラメータ回復装置の機能構成の例を示す図である。
【
図2】
図2は、モデルパラメータ回復方法の処理手続きの例を示す図である。
【
図3】
図3は、回復機能付きモデル学習装置の機能構成の例を示す図である。
【
図4】
図4は、回復機能付きモデル学習方法の処理手続きの例を示す図である。
【
図5】
図5は、コンピュータの機能構成例を示す図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して開示の技術の実施形態を説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【0013】
[モデルパラメータ回復装置及び方法]
モデルパラメータ回復装置は、
図1に示すように、モデル記憶部1、変化判断部2、回復部3を例えば備えている。
【0014】
モデルパラメータ回復方法は、モデルパラメータ回復装置の各構成部が、
図2に示すステップS2からステップS3の処理を行うことにより例えば実現される。
【0015】
<モデル記憶部1>
モデル記憶部1には、モデルを構成する複数のパラメータが記憶されている。モデルは、例えばディープニューラルネットワークである。
【0016】
モデルがディープニューラルネットワークである場合には、各パラメータは、ノードとノードを接続するエッジに対応する重みベクトルである。
【0017】
モデルを構成する複数のパラメータの全部又は一部に、誤り訂正符号が付与されている。モデル記憶部1には、パラメータと共に、そのパラメータに付与された誤り訂正符号が記憶されている。誤り訂正符号の例は、巡回冗長検査である。
【0018】
例えば、モデルを構成する複数のパラメータの一部の例は、モデルを構成する複数のパラメータの中の所定の少なくとも1つのパラメータである。
【0019】
モデルがディープニューラルネットワークである場合には、重みベクトルであるパラメータは行列の要素になっていることがある。この場合、モデルを構成する複数のパラメータの一部の例は、モデルを構成する複数のパラメータの中の所定の行列に含まれるパラメータであってもよい。
【0020】
なお、モデル記憶部1に記憶されている複数のパラメータの生成及び誤り訂正符号の付与は、後述する回復機能付きモデル学習装置によりステップS1の処理が行われる前に行われる。
【0021】
<変化判断部2>
変化判断部2は、モデル記憶部1に記憶されている複数のパラメータの中からあるパラメータ及びそのあるパラメータに付与された誤り訂正符号を読み込む。
【0022】
変化判断部2は、読み込んだパラメータ及びそのパラメータに付与された誤り訂正符号を用いて、以下の処理を行う。
【0023】
変化判断部2は、モデルのパラメータに付与された誤り訂正符号に基づいてパラメータに所定の変化が生じたかを判断する(ステップS1)。判断結果については、回復部3に出力される。
【0024】
例えば、変化判断部2は、まず、モデルのパラメータに付与された誤り訂正符号に基づいてパラメータの変化量を計算する。もちろん、変化判断部2は、誤り訂正符号だけではなく、パラメータを用いてパラメータの変化量を計算してもよい。そして、変化判断部2は、計算された変化量と所定の閾値とを比較して、計算された変化量が所定の閾値よりも大きい場合に、パラメータに所定の変化が生じたと判断する。
【0025】
所定の閾値の例は、予め定められた絶対値である。所定の閾値の例は、nを所定の正の整数として、パラメータの過去n回の変化量の代表値である。代表値の例は、平均値、最大値、最小値、最頻値の何れかである。
【0026】
パラメータの過去n回の変化量は、後述する学習部4で得られた各回の学習を行った際のパラメータの変化量についての情報から得ることができる。学習部4で得られた各回の学習を行った際のパラメータの変化量についての情報は、変化判断部2に入力されてもよい。
【0027】
なお、変化判断部2は、計算された変化量の絶対値が所定の閾値よりも大きく、かつ、計算された変化量が正か負の何れかである場合に、パラメータに所定の変化が生じたと判断してもよい。
【0028】
また、変化判断部2は、パラメータの過去n回の変化量が正である場合であって、今回計算された変化量が負である場合に、パラメータに所定の変化が生じたと判断してもよい。また、変化判断部2は、パラメータの過去n回の変化量が負である場合であって、今回計算された変化量が正である場合に、パラメータに所定の変化が生じたと判断してもよい。
【0029】
また、変化判断部2は、計算された変化量の絶対値が所定の閾値よりも大きく、かつ、パラメータの過去n回の変化量が正である場合であって、今回計算された変化量が負である場合に、パラメータに所定の変化が生じたと判断してもよい。また、変化判断部2は、計算された変化量の絶対値が所定の閾値よりも大きく、かつ、パラメータの過去n回の変化量が負である場合であって、今回計算された変化量が正である場合に、パラメータに所定の変化が生じたと判断してもよい。
【0030】
なお、変化判断部2は、ベクトル距離などに基づく既存のパラメータ変化検知方法を組合わせて、パラメータに所定の変化が生じたかを判断してもよい。
【0031】
例えば、変化判断部2は、これまでに説明した、計算された変化量に基づいてパラメータに所定の変化が生じたと判断された場合、かつ、既存のパラメータ変化検知方法に基づいてパラメータに所定の変化が生じたと判断された場合に、パラメータに所定の変化が生じたと最終的な判断をしてもよい。
【0032】
<回復部3>
回復部3には、変化判断部2の判断結果が入力される。
【0033】
回復部3は、変化判断部2において、パラメータに所定の変化が生じたと判断された場合には、誤り訂正符号に基づいてパラメータを回復する(ステップS3)。
【0034】
誤り訂正符号に基づいてパラメータを回復するとは、誤り訂正符号に基づいてパラメータを元の値に戻すことを意味する。
【0035】
回復部3は、所定の変化が生じたと判断されたパラメータのみを回復させてもよいし、所定の変化が生じたと判断されたパラメータだけではなく、モデルの他のパラメータも回復してもよいし、モデルの全てのパラメータを回復してもよい。
【0036】
モデルの他のパラメータの例は、所定の変化が生じたと判断されたパラメータに隣接するパラメータ、所定の変化が生じたと判断されたパラメータから距離Lのパラメータ、所定の変化が生じたと判断されたパラメータと同じ行列に属するパラメータである。Lは、所定の正の整数である。
【0037】
所定の変化が生じたと判断されたパラメータに隣接するパラメータとは、モデルがディープニューラルネットワークである場合には、例えば、そのパラメータに対応するエッジが接続するノードに接続する各エッジに対応するパラメータである。
【0038】
ここで、モデルがディープニューラルネットワークである場合には、例えば、パラメータP1とパラメータP2の距離は、パラメータP1に対応するエッジとパラメータP2に対応するエッジの間にあるノードの数である。
【0039】
この場合、所定の変化が生じたと判断されたパラメータから距離Lのパラメータは、そのパラメータに対応するエッジとの間にあるノードの数がL個であるエッジに対応するパラメータのことである。
【0040】
L=1である場合には、所定の変化が生じたと判断されたパラメータから距離Lのパラメータは、所定の変化が生じたと判断されたパラメータに隣接するパラメータのことである。
【0041】
このように、モデルのパラメータ自体に誤り訂正符号等の回復機構を組み込むことで、モデルのパラメータを攻撃前の状態に戻すためにモデルのパラメータの再学習が不要となる。
【0042】
学習部4により学習され、誤り訂正符号付与部5により誤り訂正符号が付与された、モデルを構成する複数のパラメータがモデル記憶部1に記憶された後に、
図1に破線で示す学習部6により、モデル記憶部1に記憶されたモデルを構成する複数のパラメータについて再学習が行われる場合がある。
【0043】
この場合、学習部6が学習に用いる学習データがノイズやトリガー付きの汚染された学習データである場合には、学習部6の学習によりモデル記憶部1に記憶されたモデルを構成する複数のパラメータについて、モデル記憶部1に記憶されたモデルの作成者が意図しない変化が起きることがある。このような意図しない変化を汚染攻撃と呼ぶことにする。
【0044】
このような汚染攻撃によりモデル記憶部1に記憶されたモデルを構成する複数のパラメータが変化した場合であっても、上記のモデルパラメータ回復装置及び方法により、パラメータを元に戻すことができる。
【0045】
[回復機能付きモデル学習装置及び方法]
回復機能付きモデル学習装置は、
図3に例示するように、モデル記憶部1、学習部4、誤り訂正符号付与部5を例えば備えている。
【0046】
回復機能付きモデル学習方法は、
図4に示すステップステップS4からステップS5の処理を行うことにより例えば実現される。
【0047】
<学習部4>
学習部4には、学習データが入力される。
【0048】
学習部4は、入力された学習データに基づく学習を行い、モデルを構成する複数のパラメータを生成する(ステップS4)。生成されたモデルを構成する複数のパラメータは、モデル記憶部1に記憶される。
【0049】
学習部4は、学習データを複数のグループに分けて、複数のグループのそれぞれに基づく学習を行う。すなわち、学習部4は、複数回の学習を行う。複数回の学習には、軽微な学習であるいわゆる微調整の学習が含まれていてもよい。
【0050】
学習部4は、複数回の学習を行う場合において、各回の学習を行った際のパラメータの変化量についての情報を得てもよい。
【0051】
各回の学習を行った際のパラメータの変化量についての情報は、変化判断部2に出力されてもよい。この場合、変化判断部2では、各回の学習を行った際のパラメータの変化量についての情報に基づいて、所定の閾値が決定される。
【0052】
<誤り訂正符号付与部5>
誤り訂正符号付与部5は、モデル記憶部1からモデルを構成する複数のパラメータを読み込む。
【0053】
誤り訂正符号付与部5は、読み込んだモデルを構成する複数のパラメータの全部又は一部に誤り訂正符号を付与する(ステップS5)。誤り訂正符号は対応するパラメータと共にモデル記憶部1に記憶される。
【0054】
このように、モデルを構成する複数のパラメータの全部又は一部に誤り訂正符号を付与することで、モデルのパラメータを攻撃前の状態に戻すためにモデルのパラメータの再学習を不要にすることができる。
【0055】
なお、誤り訂正符号付与部5による誤り訂正符号の付与の前に、ノイズやトリガー付きの汚染された学習データによる学習が行われることがある。例えば、学習部4が複数回の学習を行う場合において、複数回の学習の中の少なくとも1回の学習が、ノイズやトリガー付きの汚染された学習データによる学習であるとする。この場合であっても、モデルパラメータ回復装置の変化判断部2が、パラメータの過去n回の変化量の代表値を所定の閾値として用いて所定の変化が生じたかを判断する場合であって、ノイズやトリガー付きの汚染された学習データによる学習の回数よりもnが十分大きい場合には、変化判断部2は所定の変化が生じたかを判断し得る。
【0056】
[変形例]
以上、開示の技術の実施形態の具体的な構成は、これまで説明した構成に限られるものではない。開示の技術の実施形態の具体的な構成は、開示の技術の実施形態の趣旨を逸脱しない範囲で適宜設計の変更等が可能である。
【0057】
開示の技術の実施形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【0058】
例えば、モデルパラメータ回復装置の構成部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
【0059】
[プログラム、記録媒体]
上述した各装置の各部の処理をコンピュータにより実現してもよく、この場合は各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムを
図5に示すコンピュータ1000の記憶部1020に読み込ませ、演算処理部1010、入力部1030、出力部1040、表示部1060などに動作させることにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【0060】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体は、例えば、非一時的な記録媒体であり、具体的には、磁気記録装置、光ディスク、等である。
【0061】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0062】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の非一時的な記憶装置である補助記録部1050に格納する。そして、処理の実行時、このコンピュータは、自己の非一時的な記憶装置である補助記録部1050に格納されたプログラムを記憶部1020に読み込み、読み込んだプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを記憶部1020に読み込み、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0063】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。例えば、変化判断部2、回復部3、学習部4、誤り訂正符号付与部5は、処理回路により構成されてもよい。
【0064】
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0065】
本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記載された場合と同程度に、本明細書中に参照により取り込まれる。