Page 321 - 《软件学报》2025年第10期
P. 321

4718                                                      软件学报  2025  年第  36  卷第  10  期


                    基于  OAD  的  LLM  鲁棒性评估方法包含      3  个主要过程. 首先, 在基于词语重要性的对抗文本生成框架下生成
                 对抗文本, 并使用这些对抗文本直接攻击中文               BERT  模型. 随后, 利用对抗文本的可迁移性, 使用面向中文              BERT
                 模型生成的对抗文本攻击最终目标模型              ChatGPT. 使用此间接攻击的方式是因为中文            BERT  的输出为软标签, 而
                 ChatGPT  的输出则为硬标签, 而基于词语重要性的对抗文本生成框架需要用到输出中的置信度信息, 因此需要利
                 用对抗文本的可迁移性实施间接攻击. 此过程中需要注意的是, 由于                     ChatGPT  是一个面向多种     NLP  任务的生成
                 模型, 其内部参数很难提取, 因此本文并没有使用多次问询的方式构造其影子模型, 而是在黑盒场景下使用中间目
                 标模型进行间接攻击. 最后, 分别面向硬标签和软标签使用                  ORS  计算对应目标模型的鲁棒性分数, 以达到评估其
                 鲁棒性的目的.
                    基于  OAD  的对抗文本流畅性评估方法主要利用             LLM  强大的自然语言理解能力, 将         LLM  当作一个分类模型
                 对输入的对抗文本进行分类. 本工作使用无法被分类的对抗文本占比, 利用                        OFS  为对抗文本的流畅性打分, 整个
                 过程不像传统方法一样需要人类参与, 实现了对抗文本流畅性的自动化评估.
                    两种评估方法的具体细节详见第            3.1  节和第  3.2  节.
                  3.1   基于  OAD  的  LLM  鲁棒性评估
                  3.1.1    基于词语重要性的对抗文本生成方法
                    本工作采用的文本对抗攻击方法均在基于词语重要性的对抗文本生成框架下设计. 该框架通常分为两个阶
                 段, 分别是排序阶段和扰动阶段. 在排序阶段中需要为文本中每个词语的重要性打分, 并按重要性大小由高到低对
                 这些词语进行排序; 而在扰动阶段中则为所挑选的词语依次添加扰动. 本节将依次讲解排序阶段中使用的打分方
                 法和扰动阶段中采用的扰动方法.
                  3.1.1.1    重要性词语打分方法
                    本文使用的重要性词语打分方法为文献               [10] 中提出的改进的     DS  方法. 给定一篇文本    x, 其中包含   n 个词语,
                                                                                                y
                 即   x = w 1 ,w 2 ,...,w n . 假设文本  x 对应的真值标签为  y, 即有   f (x) = y, 并且使用   f y (x) 表示文本  x 在标签   上的置信
                 度. 则  x 中的任意词语   w i (i = 1,...,n), 其重要性分数  I (w i ) 可用如下公式表示:

                                    {
                                      f y (x)− f y (x\w i ),      if f (x) = f (x\w i ) = y
                              I (w i ) =          [            ]                                      (7)
                                                                                    ′
                                      f y (x)− f y (x\w i )+ f y ′ (x\w i )− f y ′ (x) , if f (x) = y∧ f (x\w i ) = y ∧y , y ′
                 其中,   x\w i  表示把词语  w i  从文本  x 中删去.
                    使用公式    (7) 计算文本中每一个词语的重要性分数. 若            I (w i ) > 0, 则说明词语  w i  对其真值标签   有正向影响,
                                                                                              y
                 即  w i  为  x 中的重要词语, 反之即非  x 中的重要词语. 挑选重要性分数大于          0  的所有词语, 并按重要性大小由高到低
                 对它们进行排序, 便于后续为这些词语依次添加扰动.
                  3.1.1.2    中文扰动方法
                    本工作主要采用了       9  种中文扰动方法为重要词语添加扰动. 这            9  种扰动方法的具体介绍如下.
                    (1) Tradition [19] : Tradition  扰动是一种字符级扰动方法, 其将中文文本中的简体字转化为对应的繁体字, 它是
                 一种中文独有的扰动方法. 汉字的书写形式随时代的演变而不断变化, 而繁体字是一种被广泛了解的汉字形式之
                 一. 当前大部分文档均由简体字书写, 使用            Tradition  方法后, 在一定程度上可以达到添加扰动的目的. 这种扰动方
                 法适用于简体形式和繁体形式不同的汉字.
                    (2) Rewrite [20] : Rewrite 是一种字符级扰动方法, 该方法是一种基于汉语拼音的扰动方法, 其在原词语中随机选
                 择一个汉字, 将该汉字直接替换为它对应的拼音形式. 拼音是一种中文特有的文字拼读规则, 因此                              Rewrite 也是一
                 种中文独有的扰动方法. 相比于          Pinyin  [17] 方法, Rewrite 方法更加有助于人类对原文含义的理解, 但其很容易通过
                 将拼音还原成文字的防御方法将对抗文本进行自动修正.
                    (3) Splitting-character (SC) [17] : SC  扰动是一种字符级扰动方法, 其将一个汉字拆分成组成它的偏旁部首, 这是
                 一种中文独有的扰动方法. 中文是一种既能够表音, 又能够表意的语言, 而其表意的部分往往通过汉字的偏旁部首
                 体现. 将一个汉字按偏旁部首拆分后, 人类仍然能够理解其含义. 但为了保证对抗文本的流畅性, 本工作仅对左右
                 结构的汉字进行拆分.
   316   317   318   319   320   321   322   323   324   325   326