一句话:提出 DeepInfer:将训练好的 DNN 抽象为可做最弱前置条件推理的表示,从输出后置条件推断输入前置条件,以判定部署预测的可信性。
深度学习模型在开发阶段基于特定数据假设训练,但在部署阶段会面对未见数据,因此需要判断其预测是否可信。传统软件的规格与验证方法难以处理 DNN 架构和输出结果的复杂性。本文提出 DeepInfer:为训练好的 DNN 引入一种抽象表示,使其支持基于 Dijkstra 谓词转换语义的最弱前置条件推理;通过对神经网络抽象表示的归纳类型推导规则,克服从输出层到输入层反向非线性计算中的矩阵维度问题;并利用不同激活函数的规则,从最终输出的后置条件逐层计算前置条件。作者在来自五个数据源的四个数据集上、29 个真实 DNN 模型上评估,DeepInfer 以高召回率 0.98 和高 F-1 分数 0.84 检测正确与错误预测,显著优于 SelfChecker;平均运行时开销仅 0.22 秒,且比 SelfChecker 快 3.27 倍。
Deep learning models are trained with certain assumptions about the data during the development stage and then used for prediction in the deployment stage. It is important to reason about the trustworthiness of the model's predictions with unseen data during deployment. Existing methods for specifying and verifying traditional software are insufficient for this task, as they cannot handle the complexity of DNN model architecture and expected outcomes. In this work, we propose a novel technique that uses rules derived from neural network computations to infer data preconditions for a DNN model to determine the trustworthiness of its predictions. Our approach, DeepInfer involves introducing a novel abstraction for a trained DNN model that enables weakest precondition reasoning using Dijkstra's Predicate Transformer Semantics. By deriving rules over the inductive type of neural network abstract representation, we can overcome the matrix dimensionality issues that arise from the backward non-linear computation from the output layer to the input layer. We utilize the weakest precondition computation using rules of each kind of activation function to compute layer-wise precondition from the given postcondition on the final output of a deep neural network. We extensively evaluated DeepInfer on 29 real-world DNN models using four different datasets collected from five different sources and demonstrated the utility, effectiveness, and performance improvement over closely related work. DeepInfer efficiently detects correct and incorrect predictions of high-accuracy models with high recall (0.98) and high F-1 score (0.84) and has significantly improved over the prior technique, SelfChecker. The average runtime overhead of DeepInfer is low, 0.22 sec for all the unseen datasets. We also compared runtime overhead using the same hardware settings and found that DeepInfer is 3.27 times faster than SelfChecker, the state-of-the-art in this area.
@inproceedings{paperbot11379,
title = {Inferring Data Preconditions from Deep Learning Models for Trustworthy Prediction in Deployment},
author = {Shibbir Ahmed and Hongyang Gao and Hridesh Rajan},
booktitle = {ICSE},
year = {2024},
doi = {10.1145/3597503.3623333}
}