(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024082158
(43)【公開日】2024-06-19
(54)【発明の名称】敵対的攻撃方法及び敵対的攻撃システム
(51)【国際特許分類】
G06F 40/44 20200101AFI20240612BHJP
G06F 40/56 20200101ALI20240612BHJP
G06F 40/216 20200101ALI20240612BHJP
G06N 3/08 20230101ALI20240612BHJP
【FI】
G06F40/44
G06F40/56
G06F40/216
G06N3/08
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022195918
(22)【出願日】2022-12-07
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 掲載年月日:令和4年5月27日、掲載アドレス https://confit.atlas.jp/guide/event/jsai2022/subject/1P4-GS-6-01/advanced https://confit.atlas.jp/guide/event/jsai2022/session/1P06-10/date https://confit.atlas.jp/guide/event/jsai2022/notifications 集会名:2022年度人工知能学会全国大会(第36回)、開催日:令和4年6月14日
(71)【出願人】
【識別番号】504258527
【氏名又は名称】国立大学法人 鹿児島大学
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100162259
【弁理士】
【氏名又は名称】末富 孝典
(74)【代理人】
【識別番号】100168114
【弁理士】
【氏名又は名称】山中 生太
(74)【代理人】
【識別番号】100146916
【弁理士】
【氏名又は名称】廣石 雅紀
(72)【発明者】
【氏名】小野 智司
(72)【発明者】
【氏名】河野 竜士
【テーマコード(参考)】
5B091
【Fターム(参考)】
5B091CA21
5B091EA01
(57)【要約】
【課題】日本語に特有の敵対的事例を発見することができる敵対的攻撃方法及び敵対的攻撃システムを提供する。
【解決手段】日本語の文章を処理する深層学習器に対する敵対的事例を発見する敵対的攻撃システム1によって実行される敵対的攻撃方法である。敵対的攻撃システム1は、原文と意味内容が変化しない変更であって日本語に特有の摂動を日本語の文章に与えると深層学習器20の処理結果が変化する文章を、敵対的事例として生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
日本語の文章を処理する深層学習器に対する敵対的事例を発見する敵対的攻撃システムによって実行される敵対的攻撃方法であって、
原文と意味内容が変化しない変更であって日本語に特有の摂動を日本語の文章に与えると前記深層学習器の処理結果が変化する文章を、敵対的事例として生成する、
敵対的攻撃方法。
【請求項2】
原文の一部を異なる字種に変換することにより、前記摂動を日本語の文章に与えて、前記敵対的事例を生成する、
請求項1に記載の敵対的攻撃方法。
【請求項3】
字種には、ひらがな、カタカナ、ローマ字及び漢字が含まれる、
請求項2に記載の敵対的攻撃方法。
【請求項4】
原文における文節の順序を入れ替えることにより、前記摂動を日本語の文章に与えて、前記敵対的事例を生成する、
請求項1に記載の敵対的攻撃方法。
【請求項5】
原文に含まれる複合名詞を構成する各名詞の間に助詞を挿入することにより、前記摂動を日本語の文章に与えて、前記敵対的事例を生成する、
請求項1に記載の敵対的攻撃方法。
【請求項6】
原文の一部を同義語に変換すると前記深層学習器の処理結果が変化する日本語の文章を、前記敵対的事例として追加生成する、
請求項1に記載の敵対的攻撃方法。
【請求項7】
長さがそれぞれ異なる複数の原文についてそれぞれ前記敵対的事例を生成する、
請求項1に記載の敵対的攻撃方法。
【請求項8】
ブラックボックス最適化により、前記敵対的事例を探索する、
請求項1に記載の敵対的攻撃方法。
【請求項9】
生成した前記敵対的事例を用いて前記深層学習器の訓練又は評価を行う、
請求項1に記載の敵対的攻撃方法。
【請求項10】
前記深層学習器は、
前記文章を分類する処理、前記文章を翻訳する処理、前記文章に対する回答を生成する処理、前記文章を要約する処理、前記文章を画像化又は音声化する処理の少なくとも1つを行う、
請求項1から9のいずれか一項に記載の敵対的攻撃方法。
【請求項11】
日本語の文章を処理する深層学習器に対する敵対的事例を発見する敵対的攻撃システムであって、
原文と意味内容が変化しない変更であって日本語に特有の摂動を日本語の文章に与えると前記深層学習器の処理結果が変化する文章を、敵対的事例として生成する、
敵対的攻撃システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、敵対的攻撃方法及び敵対的攻撃システムに関する。
【背景技術】
【0002】
機械翻訳や検索エンジン、メールフィルタ、テキストマイニングなど、多様な自然言語処理技術が広く利用されている。近年、深層ニューラルネットワーク(Deep Neural Network:DNN)の応用により自然言語処理技術の性能が向上する事が明らかにされており、様々なタスクでDNNを用いた自然言語処理の活用が進んでいる。一方、DNNには特有の脆弱性があることが知られており、自然言語処理器を対象としたDNNにおいても同様の脆弱性が懸念されている。
【0003】
このため、自然言語処理を扱うDNNを対象とした脆弱性の検証に関する研究も行われている。例えば、攻撃者がモデルの誤認識を引き起こすよう設計した敵対的事例(Adversarial Example:AE)により文章認識の誤りが引き起こされることが明らかにされている(非特許文献1)。自然言語処理分野でAEを生成する際の問題点として、(i)入力が離散的であることから、摂動が知覚されやすい点、(ii)原文との意味の一貫性を確保することが困難な点が指摘されている(非特許文献2)。
【0004】
(i)の問題点に対しては,離散的な摂動を付与するために、摂動をスペルミスに見せかける手法(非特許文献3)及び単語の追加と削除によって摂動を付与する手法(非特許文献4)が提案されている。また、(ii)の問題点に対しては、原文との意味の一貫性を保持するための工夫として、ルールベースで同義語置換を行うなど(非特許文献5)、より自然なAEを生成するための手法が提案されている。この手法によれば、言語を問わず摂動を生成することができる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】I. J. Goodfellow, J Shlens, and C Szegedy, "Explaining and harnessing adversarial examples", arXiv preprint arXiv: 1412.6572 (2014)
【非特許文献2】W. E. Zhang, Q. Z. Sheng, A. Alhazmi, and C. Li, "Adversarial attacks on deep-learning models in natural language processing", A survey, ACM Transactions on Intelligent Systems and Technology (TIST), Vol. 11, No. 3, pp. 1-41 (2020)
【非特許文献3】J. Ebrahimi, A. Rao, D. Lowd, and D. Dou, "Hotflip: White-box adversarial examples for text classification", arXiv preprint arXiv: 1712.06751 (2017)
【非特許文献4】B. Liang, H. Li, M. Su, P. Bian, X. Li, and W. Shi, "Deep text classification can be fooled", arXivpreprint arXiv: 1704. 08006 (2017)
【非特許文献5】S. Ren, Y. Deng, K. He, and W. Che, "Generating natural language adversarial examples throughprobability weighted word saliency", in Proceedings of the 57th annual meeting of the association for computational linguistics, pp. 1085-1097 (2019)
【発明の概要】
【発明が解決しようとする課題】
【0006】
日本語は、ひらがな、カタカナ及び漢字等の複数の字種の単語が入り交じった複雑な構造を有する文章である。日本語の文章では、文章の一部がひらがなである場合と、カタカナである場合のように、字種が違っているだけで、文章の意味合いが変わってくる場合もある。これは、例えば英語のような外国語にはない日本語の表記体系の特性である。この他、日本語には、語順を自在に変更できたりするなど、他の言語にはない特性を有する。このような特性は、深層学習器において日本語に特有の脆弱性を生み出す恐れがある。頑健な深層学習器を実現するためには、これらの脆弱性を明らかにし、明らかにした脆弱性に対し敵対的事例で攻撃を行う敵対的学習を行うことが重要となる。このため、日本語を扱う深層学習器の脆弱性を攻撃する、日本語に特有の敵対的事例の発見が必要になっている。
【0007】
本発明は、上記実情の下になされたものであり、日本語に特有の敵対的事例を発見することができる敵対的攻撃方法及び敵対的攻撃システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の第1の観点に係る敵対的攻撃方法は、
日本語の文章を処理する深層学習器に対する敵対的事例を発見する敵対的攻撃システムによって実行される敵対的攻撃方法であって、
原文と意味内容が変化しない変更であって日本語に特有の摂動を日本語の文章に与えると前記深層学習器の処理結果が変化する文章を、敵対的事例として生成する。
【0009】
この場合、原文の一部を異なる字種に変換することにより、前記摂動を日本語の文章に与えて、前記敵対的事例を生成する、
こととしてもよい。
【0010】
字種には、ひらがな、カタカナ、ローマ字及び漢字が含まれる、
こととしてもよい。
【0011】
原文における文節の順序を入れ替えることにより、前記摂動を日本語の文章に与えて、前記敵対的事例を生成する、
こととしてもよい。
【0012】
原文に含まれる複合名詞を構成する各名詞の間に助詞を挿入することにより、前記摂動を日本語の文章に与えて、前記敵対的事例を生成する、
こととしてもよい。
【0013】
原文の一部を同義語に変換すると前記深層学習器の処理結果が変化する日本語の文章を、前記敵対的事例として追加生成する、
こととしてもよい。
【0014】
長さがそれぞれ異なる複数の原文についてそれぞれ前記敵対的事例を生成する、
こととしてもよい。
【0015】
ブラックボックス最適化により、前記敵対的事例を探索する、
こととしてもよい。
【0016】
生成した前記敵対的事例を用いて前記深層学習器の訓練又は評価を行う、
こととしてもよい。
【0017】
前記深層学習器は、
前記文章を分類する処理、前記文章を翻訳する処理、前記文章に対する回答を生成する処理、前記文章を要約する処理、前記文章を画像化又は音声化する処理の少なくとも1つを行う、
こととしてもよい。
【0018】
本発明の第2の観点に係る敵対的攻撃システムは、
日本語の文章を処理する深層学習器に対する敵対的事例を発見する敵対的攻撃システムであって、
原文と意味内容が変化しない変更であって日本語に特有の摂動を日本語の文章に与えると前記深層学習器の処理結果が変化する文章を、敵対的事例として生成する。
【発明の効果】
【0019】
本発明によれば、日本語に特有の敵対的事例を発見することができる。
【図面の簡単な説明】
【0020】
【
図1】本発明の実施の形態に係る敵対的攻撃システムの機能構成を示すブロック図である。
【
図2】(A)は、原文と字種が変換された文章との一例を示す図である。(B)は、字種変換を示す模式図である。(C)は、文節の順序を入れ替えた例を示す図である。(D)は、複合名詞における各名詞の間に助詞を挿入する例を示す図である。
【
図3】
図1の敵対的攻撃システムのハードウエア構成を示すブロック図である。
【
図4】字種変換による敵対的事例生成処理を示すフローチャートである。
【
図5】文節の順序変更による敵対的事例生成処理を示すフローチャートである。
【
図6】助詞の挿入による敵対的事例生成処理を示すフローチャートである。
【発明を実施するための形態】
【0021】
以下、本発明の実施の形態について図面を参照して詳細に説明する。各図面においては、同一又は同等の部分に同一の符号を付す。
【0022】
図1に示すように、本実施の形態に係る敵対的攻撃システム1は、日本語の文章を処理する深層学習器20に対する敵対的事例を発見する。
【0023】
深層学習器20の処理内容は、その目的には限定されない。例えば、深層学習器20は、その文章を分類、分析、識別、フィルタリング(極性、感情、著者)する処理を行ってもよい。また、深層学習器20は、文章を翻訳する処理を行ってもよい。また、深層学習器20は、文章が質問文である場合、その質問文に対する回答を生成する処理で行ってもよい。また、深層学習器20は、文章を要約する処理を行ってもよい。また、深層学習器20は、文章を画像化又は音声化する処理を行ってもよい。
【0024】
敵対的事例とは、間違った処理を深層学習器20に行わせる原因となる微小な変化である摂動が加えられたデータである。本実施の形態では、敵対的事例を用いた敵対的攻撃の攻撃対象を深層学習器20であるものとする。深層学習器20は、基本的な学習データを用いてある程度学習が進んだ状態となっているものとする。この場合、第1文(原文)と第2文とは、互いに意味内容が同じであるため、第1文を入力した場合の深層学習器20の処理結果と、第2文を入力した場合の深層学習器20の処理結果とは同じはずである。しかしながら、これらの処理結果が異なる場合、それは、第2文に与えられた摂動を原因とするものである。このような摂動が付与された第2文が敵対的事例となる。
【0025】
[システム構成]
図1に示すように、敵対的攻撃システム1は、摂動付与手段10と、敵対的事例決定手段11と、を備える。
【0026】
摂動付与手段10は、原文と意味内容が変化しない変更であって日本語に特有の摂動を原文に与える。例えば、摂動付与手段10は、原文としての第1文の一部を異なる字種に変換することにより、第1文に摂動を与えて第2文を生成する。
図2(A)に示すように、第1文の一部を、ひらがなからカタカナに置換すれば、原文と意味内容が変化しない摂動を日本語の文章に与えることができる。このように、摂動付与手段10は、
図2(B)に示すように、第1文に含まれる文節を、ひらがな、カタカナ、漢字との間で変換を行うことにより、第2文を生成する。意味内容が変化しない漢字で異なるものが複数存在する場合、摂動付与手段10は、ある漢字から異なる漢字への変換も行うことができる。また、摂動付与手段10は、ローマ字を変換する字種に含めるようにしてもよい。
【0027】
また、摂動付与手段10は、第1文における文節の順序を入れ替えることにより、第1文に摂動を与えて第2文を生成する。例えば、
図2(C)に示すように、第1文「私は今日休む」の語順を入れ替えて第2文「今日私は休む」を生成することができる。
【0028】
また、摂動付与手段10は、第1文に含まれる複合名詞を構成する各名詞の間に助詞を挿入することにより、摂動を第1文に与えて第2文を生成することができる。例えば、
図2(D)に示すように、複合名詞「焼肉定食」の「焼肉」と「定食」との間に「の」を追加することができる。
【0029】
敵対的事例決定手段11は、深層学習器20の第1文の処理結果に対して深層学習器20の処理結果が変化する第2文を、敵対的事例として決定する。第1文を入力した場合の深層学習器20の処理結果と、第2文を入力した場合の深層学習器20の処理結果とが異なる場合、敵対的事例決定手段11は、その第2文を敵対的事例として決定する。
【0030】
本実施の形態では、深層学習器20の処理内容が、入力した文章の意味合いがポジティブなものであるかネガティブなものであるかを分類するものであるとする。この場合、例えば、第1文を入力した場合の深層学習器20の分類結果がネガティブなものとして分類され、第2文を入力した場合の深層学習器20の分類結果がポジティブなものとして分類された場合、この第2文を敵対的事例として決定することができる。
【0031】
なお、深層学習器20の分類結果は、上述のように、ネガティブ/ポジティブのような極性を判定するものには限られず、感情を分類するものであってもよい。深層学習器20には、一般に用いられているものを適用することができる。第1文、第2文の入力時の深層学習器20の出力を、positive/negativeとするには、これらの深層学習器の後段に、positive/negativeの出力を行うDNNを追加すればよい。
【0032】
[ハードウエア構成]
図1に示す敵対的攻撃システム1は、例えば、
図3に示すハードウエア構成を有するコンピュータがソフトウエアプログラムを実現することにより実現される。具体的には、敵対的攻撃システム1は、装置全体の制御を司るCPU(Central Processing Unit)21と、CPU21の作業領域等として動作する主記憶部22と、CPU21の動作プログラム等を記憶する外部記憶部23と、操作部24と、表示部25と、これらを接続する内部バス28から構成される。
【0033】
主記憶部22は、RAM(Random Access Memory)等から構成されている。主記憶部22には、CPU21によって実行されるプログラム29が外部記憶部23からロードされる。また、主記憶部22は、CPU21の作業領域(データの一時記憶領域)としても用いられる。
【0034】
外部記憶部23は、フラッシュメモリ、ハードディスク等の不揮発性メモリから構成される。外部記憶部23には、CPU21に実行させるためのプログラム29が予め記憶されている。
【0035】
操作部24は、キーボード及びマウス等のデバイスと、これらのデバイスを内部バス28に接続するインターフェイス装置から構成されている。
【0036】
表示部25は、CRT(Cathode Ray Tube)、液晶モニタ等の表示用デバイスから構成される。
【0037】
敵対的攻撃システム1の機能は、1以上のプロセッサ及び一時的でない記憶媒体を含む1以上の記憶装置を含む1以上のコンピュータからなる計算機システムに実装することができる。複数のコンピュータは、相互に接続された通信ネットワークを介して通信を行いつつ、敵対的攻撃システム1の機能を実現する。例えば、敵対的攻撃システム1の複数の機能の一部が1つのコンピュータに実装され、他の一部が他のコンピュータに実装されてもよい。
【0038】
[処理手順]
本実施の形態1に係る敵対的攻撃システム1の敵対的事例生成処理の処理手順について説明する。
【0039】
(字種変換による敵対的事例生成処理)
まず、字種変換による敵対的事例生成処理について説明する。敵対的攻撃システム1は、第1文の処理結果と異なる第2文の処理結果が得られるまで、すなわち誤認識が引き起こされるまで,後述する重要度スコアに基づく単語の選択,および,選択された単語への摂動の付与を貪欲法によって繰り返すことで敵対的事例を生成する。
【0040】
この処理手順は、(1)置換する表記の候補の抽出、(2)重要度スコアでの単語のランク付け、(3)解候補の生成、及び(4)評価の4つ段階の手順で構成されている。(1)、(2)は前処理に相当し、(3)が、第1文に、意味内容が変化しない摂動を与えて第2文を生成する手順に対応する。また、(4)が、深層学習器20による処理結果が、第1文と異なる第2文を敵対的事例として決定する手順に対応する。
【0041】
(1)置換する表記の候補の抽出
図4に示すように、まず、摂動付与手段10は、入力した第1文Xから、置換する表記の候補の抽出を行う(ステップS1)。この処理において、摂動付与手段10は、まず、形態素解析を行うことで入力された第1文Xの分かち書きを行い、第1文Xの単語列Xwを取得する。
単語列Xw={w1,w2,・・・,wn}
ここで、単語w1~wnを、wi(i=1~nの自然数)で表す。
【0042】
摂動付与手段10は、同時に、単語wiのひらがな、カタカナ、漢字の各表記を取得して、以下のCiに格納する。
Ci={c1,c2,c3,…}
単語wiに対するCiが置換する表記の候補となる。
図2(A)の例では、例えばwi「ひどい」に対して、{ひどい、酷い、ヒドイ}がCiとなる。
【0043】
(2)重要度スコアにもとづく単語のランク付け
摂動付与手段10は、第1文Xの単語wiが深層学習器20の処理結果(予測スコア)に与える影響力、すなわち重要度スコアI(wi)を算出する(ステップS2)。単語wiの重要度スコアI(wi)は、以下の式(1)により算出される。予測スコアとは、深層学習器20が出力する処理結果毎に得られる確率値である。
I(wi)=FY(X)-FY(X-wi) …(1)
ここで,Xは入力文を意味し、X-wiは、Xから単語wiが削除された文を意味する。また、FY(・)は、深層学習器20が出力する処理結果、すなわち処理結果毎に得られる確率値(予測スコア)を表す。すなわち、FY(X)は、第1文Xを深層学習器20で処理した際のクラスYの予測スコアを示し、FY(X-wi)は、第1文Xから単語wiが削除された文を深層学習器20で処理した際のクラスYの予測スコアを示す。なお、第1文XのクラスY、すなわち処理ラベルを以下では、L(X)ともいう。すなわちY=L(X)となる。
【0044】
なお、深層学習器20での処理結果がYである場合と、Yでない場合との2つに分かれているものとする。この場合、上記式(1)として、以下の式を用いるようにしてもよい。
(A)単語wiを削除しても処理結果が変化しない場合
I(wi)=FY(X)-FY(X-wi)
(B)単語wiを削除して処理結果が変化した場合
I(wi)=FY(X)-FY(X-wi)+GY(X)-GY(X-wi)
ここで、GY(X)は、第1文Xの処理結果がクラスYでない場合の確率値を示し、単語wiを削除した第1文Xの処理結果がクラスYでない場合の確率値を示す。この式は、単語wiを削除しても処理結果が変化しない場合と、処理結果が変化した場合とで算出式が異なる。
【0045】
すなわち、摂動付与手段10は、第1文Xの単語wiについてそれが存在する場合と存在しない場合での処理結果に与える影響度を算出する。
【0046】
次に、摂動付与手段10は、算出された単語wiの重要度スコアI(wi)に基づいて、降順でソートした集合Wを生成し、単語wiのランク付けを行う(ステップS3)。集合Wは、単語wiがその重要度スコアI(wi)に応じた並び替えられた単語列となる。
【0047】
(3)解候補の生成:
次に、摂動付与手段10は、第1文Xの単語wiを、ランク順に、摂動の候補であるc∈Cに置換し、{w1,…,wi-1,c,wi+1,…wn}を、第2文X’として生成する(ステップS4)。例えば、
図2(A)に示すように、第2文「まったくもってヒドイ映画だ。」が生成される。
【0048】
(4)生成した解候補(第2文)の評価:
続いて、摂動付与手段10は、第2文X’の評価を行う(ステップS5)。具体的には、摂動付与手段10は、攻撃対象となる深層学習器20に第2文X’を入力し、その処理を行わせる。このときの処理結果である処理ラベルをL(X’)とする。
【0049】
続いて、敵対的事例決定手段11は、深層学習器20による第2文X’の処理ラベルF(X’)が、深層学習器20による第1文Xの処理ラベルL(X)と異なるものとなったか、敵対的であるか否かを判定する(ステップS6)。
【0050】
第2文X’が敵対的でないと判定された場合(ステップS6;No)、処理は、ステップS4に戻る。摂動付与手段10は、予測結果が第1文Xと同じ場合、第1文Xの予測ラベルYの重要度スコアI(wi)が次に低い単語wiについてcへの置換を行って、ステップS4、S5を実行し、敵対的事例決定手段11は、ステップS6を実行する。このようにして、深層学習器20の処理ラベルが変わるまで、ステップS4~ステップS6の処理が繰り返される。
【0051】
第2文X’が敵対的であると判定された場合(ステップS6;Yes)、敵対的事例決定手段11は、その第2文X’を敵対的事例として出力し(ステップS7)、敵対的攻撃システム1は、字種変換による敵対的事例生成処理を終了する。なお、ステップS6では、全ての候補について処理が完了した場合にも、判定が肯定される。
【0052】
(文節の順序変更による敵対的事例生成処理)
次に、文節の順序変更による敵対的事例生成処理について説明する。
図5に示すように、まず、摂動付与手段10は、入力した第1文Xを深層学習器20に入力して、その処理ラベルL(X)の予測スコアF
Y(X)を得て、第1文Xの評価を行う(ステップS11)。
【0053】
その後、摂動付与手段10は、解候補となる第1文Xに対して文節の順序を変更した第2文X’を生成し(ステップS14)、第2文X’を深層学習器20に入力して処理ラベルL(X’)を取得して第2文X’の評価を行う(ステップS5)。続いて、敵対的事例決定手段11は、第2文X’が敵対的か否か、すなわちL(X)≠L(X’)か否か判定する(ステップS6)。L(X)≠L(X’)であるか、全候補の評価が完了した場合(ステップS6;Yes)、敵対的事例決定手段11は、L(X)≠L(X’)となった第2文X’がある場合、第2文X’を敵対的事例(AE)として決定し出力する(ステップS7)。
【0054】
(助詞の挿入による敵対的事例生成処理)
次に、助詞の挿入による敵対的事例生成処理について説明する。
図6に示すように、まず、摂動付与手段10は、入力した第1文Xを深層学習器20に入力して、その処理ラベルL(X)を得て、第1文Xの評価を行う(ステップS11)。
【0055】
その後、摂動付与手段10は、解候補となる第1文Xに対して助詞の挿入による第2文X’を生成し(ステップS24)、第2文X’を深層学習器20に入力して処理ラベルL(X’)を取得して第2文X’の評価を行う(ステップS5)。続いて、敵対的事例決定手段11は、第2文X’が敵対的か否か、すなわちL(X)≠L(X’)か否か判定する(ステップS6)、L(X)≠L(X’)であるか、全候補の評価が完了した場合(ステップS6;Yes)、敵対的事例決定手段11は、L(X)≠L(X’)となった第2文X’がある場合、第2文X’を敵対的事例(AE)として決定し、出力する(ステップS7)。
【0056】
本実施の形態に係る敵対的攻撃システム1では、
図4に示す字種変換による敵対的事例生成処理、
図5に示す文節の順序変更による敵対的事例生成処理、
図6に示す助詞の挿入による敵対的事例生成処理の少なくとも1つを実行して、敵対的事例を生成する。なお、敵対的攻撃システム1は、これらの処理と組み合わせて、第1文Xの一部を同義語に変換して第3文X’’を生成し、深層学習器20による処理結果が変化する第3文X’’を敵対的事例として追加生成するようにしてもよい。
【0057】
この場合、摂動付与手段10は、第1文Xの一部を同義語に変換して第3文X’’を生成する。敵対的事例決定手段11は、第1文Xの深層学習器20による処理結果と、処理結果が異なる第3文X’’を敵対的事例として決定すればよい。なお、同義語は、辞書データベースを参照して用いるようにしてもよいし、いわゆる単語の埋め込み表現で求められるベクトル空間において所定範囲内にある単語同士を同義語として選択して用いるようにしてもよい。埋め込み表現での同義語変換を用いた場合、例えば、「進める」→「乗り切る」、「できません」→「使えません」などの辞書では同義語として記載されていない単語同士の変換も可能となる。
【0058】
なお、本実施の形態では、貪欲法を用いて解候補となる第2文X’を探索しているが、これには限られない。他の探索法、例えば局所解以外の解を探索可能な方法を用いて、敵対的事例を探索するようにしてもよい。このように、敵対的攻撃システム1は、ブラックボックス最適化により、敵対的事例を探索して、敵対的事例を発見することができる。
【0059】
以上詳細に説明したように、本実施の形態に係る敵対的攻撃システム1によれば、原文(第1文X)と意味内容が変化しない日本語に特有の摂動を原文に与えて、深層学習器20の処理結果が変化する第2文X’を敵対的事例として生成するので、日本語に特有の敵対的事例を発見することができる。
【0060】
上記実施の形態に係る敵対的攻撃システム1は、DNNの内部情報を用いないブラックボックス条件下で、日本語処理用DNNの脆弱性を検証する敵対的攻撃を行う敵対的事例を生成することができる。この敵対的攻撃システム1では、複数の表音文字や表意文字を併用する日本語の表記体系の特性に着目し、字種変換により原文に摂動を加えるため、原文との意味の類似性を高く保つ敵対的事例を生成することができる。
【0061】
第1文Xに対する摂動の与え方には、字種の変換(ひらがな、カタカナ、漢字)、文節の順序変更、複合名詞に対する助詞の挿入がある。いずれの場合でも、第1文Xに意味内容を変えずに、第2文X’の生成が可能である。これらの摂動を加える他、第1文Xの一部を同義語に変換して第3文X’’を生成し、敵対的事例を生成するようにしてもよい。
【0062】
発見した敵対的事例は、脆弱性の利用方法の一つとして、敵対的学習のための訓練データとして用いることができる。また、敵対的事例は、敵対的学習を行わない場合でも,機械学習モデルの頑健性を定量的に評価することができる。すなわち、敵対的攻撃システム1は、生成した敵対的事例を用いて深層学習器20の訓練又は評価を行う。
【0063】
<評価実験>
なお、字種変換による敵対的事例生成処理(方法1)、文節の順序変更による敵対的事例生成処理(方法2)、助詞の挿入による敵対的事例生成処理(方法3)をそれぞれ行った場合について評価実験を行った。20単語未満、40単語未満、60単語未満の長さが異なる第1文をそれぞれ用意し、敵対的攻撃の成功率、摂動が加えられた単語の割合、深層学習器20の呼び出し回数(クエリ数)に着目して評価を行った。方法1~3で、それぞれ敵対的攻撃に成功したことが確認された。また、この方法1~3に、辞書による同義語変換(方法4)、埋め込み表現による同義語変換(方法5)を組み合わせた場合に、成功率が改善されることが確認された。また、方法1によれば、方法5のみを行う場合にくらべ、クエリ数を約25%に低減することができた。また、方法1と方法4又は方法5を組み合わせた場合でも、クエリ数が極端に増加することはなかった。
【0064】
なお、攻撃対象となる日本語の文章を処理する深層学習器20としては、例えば、BERT(Bidirectional Encoder Representations from Transformers)、Microsoft Azure(登録商標)とすることができる。しかし、敵対的攻撃対象は、日本語の文章を処理する深層学習器20であれば、特に限定されない。
【0065】
日本語の文章を入力する深層学習器20は、まず、文章を構成する単語を埋め込み表現によるベクトル空間のベクトルに変換している。この埋め込み表現を用いる場合、深層学習器20は、摂動による敵対的攻撃に脆弱性を有するようになる。本実施の形態に係る敵対的攻撃システム1によれば、このような脆弱性を発見する敵対的事例を効率的に生成することが可能となる。
【0066】
敵対的攻撃システム1のハードウエア構成やソフトウエア構成は一例であり、任意に変更および修正が可能である。
【0067】
CPU21、主記憶部22、外部記憶部23、操作部24、表示部25及び内部バス28などから構成される敵対的攻撃システム1の処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読み取り可能な記録媒体(フレキシブルディスク、CD-ROM、DVD-ROM等)に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行する敵対的攻撃システム1を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することで敵対的攻撃システム1を構成してもよい。
【0068】
敵対的攻撃システム1の機能を、OS(オペレーティングシステム)とアプリケーションプログラムの分担、またはOSとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【0069】
搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板(BBS, Bulletin Board System)にコンピュータプログラムを掲示し、ネットワークを介してコンピュータプログラムを配信してもよい。そして、このコンピュータプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【0070】
この発明は、この発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、この発明の範囲を限定するものではない。すなわち、この発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【産業上の利用可能性】
【0071】
本発明は、日本語の文章を処理する深層学習器の学習に適用することができる。
【符号の説明】
【0072】
1 敵対的攻撃システム、10 摂動付与手段、11 敵対的事例決定手段、21 CPU、22 主記憶部、23 外部記憶部、24 操作部、25 表示部、28 内部バス、29 プログラム