測試機器學習模型的魯棒性的一種方法是所謂的特洛伊木馬攻擊,它涉及修改模型以響應輸入觸發(fā),從而導致其推斷出錯誤的響應。為了使這些測試更具可重復性和可擴展性,約翰·霍普金斯大學的研究人員開發(fā)了一個名為TrojAI的框架,該框架是一組工具,可生成觸發(fā)的數(shù)據(jù)集以及與特洛伊木馬相關的模型。他們說,這將使研究人員能夠了解各種數(shù)據(jù)集配置對生成的“特洛伊木馬”模型的影響,并且將有助于全面測試新的特洛伊木馬檢測方法以強化模型。
TrojAI是一組Python模塊,使研究人員能夠查找并生成木馬AI分類和強化學習模型。在第一步(分類)中,用戶配置(1)要應用于感興趣的數(shù)據(jù)集的數(shù)據(jù)中毒的類型,(2)要訓練的模型的體系結構,(3)模型的訓練參數(shù),以及( 4)要訓練的型號。然后由主程序提取配置,生成所需的模型?;蛘撸脩艨梢耘渲靡粋€可在有毒的環(huán)境中訓練模型的模型,而不是數(shù)據(jù)集。
數(shù)據(jù)生成子模塊datagen創(chuàng)建包含圖像或文本樣本的合成語料庫,而模型生成子模塊modelgen訓練包含特洛伊木馬的一組模型。
在對木馬數(shù)據(jù)集或環(huán)境進行模型訓練時,TrojAI會收集多個指標,包括針對沒有觸發(fā)條件的測試數(shù)據(jù)集中所有示例的數(shù)據(jù)對訓練后的模型的性能;具有嵌入式觸發(fā)器的示例的訓練模型的性能;以及模型訓練過程中觸發(fā)的干凈示例類的模型性能。這三個指標均具有高性能,旨在使您確信該模型已成功進行特洛伊木馬,同時在為其設計模型的原始數(shù)據(jù)集上保持了高性能。
將來,研究人員希望擴展該框架,以合并其他數(shù)據(jù)模式,例如音頻以及諸如對象檢測之類的任務。他們還計劃擴展數(shù)據(jù)集,體系結構和觸發(fā)增強學習環(huán)境的庫,以測試和生成多個觸發(fā)模型,并考慮到旨在避免檢測的觸發(fā)嵌入方法的最新進展。
約翰霍普金斯大學團隊遠非唯一一個應對機器學習中對抗性攻擊的挑戰(zhàn)的團隊。2月份,Google研究人員發(fā)表了一篇論文,描述了一個框架,該框架可以檢測攻擊或向攻擊者施加壓力,以產(chǎn)生類似于目標圖像類別的圖像。百度提供了一個工具箱-Advbox-用于生成對抗性示例,這些示例可以欺騙MxNet,Keras,F(xiàn)acebook的PyTorch和Caffe2,谷歌的TensorFlow和百度自己的PaddlePaddle等框架中的模型。麻省理工學院的計算機科學和人工智能實驗室最近發(fā)布了一個名為TextFooler的工具,該工具可以生成對抗性文本來增強自然語言模型。