Verified-Intelligence/auto_LiRPA

auto_LiRPA: An Automatic Linear Relaxation based Perturbation Analysis Library for Neural Networks and General Computational Graphs

解決的問題

auto_LiRPA 提供了一種形式化驗證神經網路穩健性的方法。它解決了在輸入資料或模型權重受到擾動時,確定模型輸出範圍(邊界)的保證問題,確保網路在特定限制下預測結果保持穩定且可預測。

工作原理

該庫將基於線性鬆弛的擾動分析(LiRPA)演算法推廣為一種在 PyTorch 計算圖上運作的圖演算法。使用者以標準的 nn.Module 定義模型,庫會遍歷圖以自動推導並計算任意節點的邊界。由於實作是可微分的,可用於優化網路參數,建構「可證明防禦」(即具有可證明穩健性的模型)。

適用對象

專為需要證明 AI 模型形式穩健性的研究人員和開發者設計,尤其適用於處理視覺模型(ResNet、DenseNet)、序列模型(LSTM、Transformers)以及用於李雅普諾夫穩定性的神經控制器的使用者。

主要亮點

  • 廣泛的演算法支援:實作了多種技術,包括 CROWN、DeepPoly、$α$-CROWN、$β$-CROWN、IBP 以及混合方法。
  • 自動推導:無需使用者手動推導複雜的 LiRPA 邊界,其處理方式類似於自動微分中的梯度。
  • 多樣的模型支援:支援各種激活函數(ReLU、sigmoid、tanh、maxpool)和複雜架構(如 Transformers 和 LSTMs)。
  • 高效率:包含記憶體高效的 GPU 實作和多 GPU 支援,可擴展至 ImageNet 等大型資料集。
  • 王冠之勝:作為 $α, β$-CROWN 的核心庫,自 2021 年至 2025 年連續在 VNN-COMP 競賽中奪冠。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案