. As deep learning models are also often re-used (e.g., via transfer learning), model vulnerabilities—whether inherent or purposefully inserted by a malicious party —can easily affect a large number of systems. This has severe implications for the trustability of deep learning models in security-critical decision making. Defending these attacks is challenging due to the wide variety of possible attack mechanisms and vectors, especially for models operating in the visual domain. In this work, we explore physical
attacks on visual classifiers and introduce SentiNet, a robust defense which detects adversarial inputs without requiring any specific model re-training or prior knowledge of the attack.
We focus on physical attacks which are localized, i.e., that constrain the adversarial region to a small contiguous portion of an image such as the “adversarial patch” attacks in [4, 30]. This localization constraint has been helpful in designing robust and physically realizable attacks, that take the form of an adversarial object or sticker placed inside a visual scene [4, 30, 11, 12]. In turn, these classes of attacks typically use unbounded perturbations (i.e., without any specific or constraint as in most digital attacks [43, 18]), to ensure that the attacks are robust to changes in viewpoint, lighting and other physical artifacts. Several such physical attacks aimed at causing misclassifications when applied to arbitrary images with different class labels [4, 30] have been demonstrated. A drawback of localized physical attacks is that they are generally visible and detectable by the human eye, but there are many situations where attacks can be deployed in autonomous settings or carefully disguised .
A prospective defender must first consider that the model being protected may have been compromised prior to being deployed. An attack can originate from the source of the network provider, as in the case with data poisoning attacks , or can be intercepted and modified, as with trojaning attacks . Even if a network is integrity protected, attackers can still generate physical attacks that will affect the model at test time, via adversarial examples . Furthermore, there are countless permutations positioning and behaviors these attacks could exhibit, all which are unknown to the defense. Altogether, this creates an extremely difficult security setting where vulnerabilities are easily distributed, where attackers target properties inherent to neural network systems that cannot be removed, and where an attacks might be too diverse in appearance for a signature-based scheme.
Our goal is to create a defense that is attack-agnostic. To this end, we analyze unifying necessary features of a successful localized physical adversarial attack, and develop SentiNet, a technique that exploits these attack behaviors to detect them. We start from the observation that physical attacks are designed to be robust to a variety of physical artifacts, while generalizing to a large distribution of inputs (e.g., the adversarial patch of  is designed to work when applied to any input image). Our first insight is that a physical attacks’ success relies on the use of “salient” features that strongly affect the model’s classification on many different inputs. We thus consider techniques from model interpretability and object detection
to discover highly salient contiguous regions of an input image. As we show, these techniques uncover adversarial image regions, as well as benign ones that strongly affect classification. In a second step, we exploit adversarial patches’ strong robustness and generalization properties to distinguish them from benign patches with high saliency. Specifically, we apply extracted image patches to a large number of held-out benign images, and test how often a patch results in a misclassification. Successful adversarial patches are much more likely than benign patches to generate misclassifications, and are thus detected by SentiNet. As we show in our thorough evaluation of SentiNet, mounting an attack that evades detection requires lowering an adversarial region’s saliency to a point where the region no longer works with high probability—even for a strong adaptive adversary with full knowledge of the defense.
Contributions—To summarize, this paper makes the following contributions:
We propose SentiNet, a new architecture that protects a neural network by using the same model to detect physical attacks.
To the best of our knowledge, SentiNet is the first attack-agnostic architecture that can defend from distinct families of physical attacks without previously seeing or having knowledge of the attack.
SentiNet uses a novel approach to detect a potential attack region using techniques developed for model visualization and object detection, and feeds the attack deployed on multiple test images back to the network to perform attack classification.
We evaluate SentiNet to protect three pre-existing compromised and uncompromised networks against three known attacks, i.e., adversarial examples, poisoned networks, and trojaned networks. We show that SentiNet can protect neural networks successfully, with an average true positive rate of 94.26% and an average true negative rate of 93.96%.
We further evaluate SentiNet against an adaptive attacker and present six attacks against SentiNet. We show that SentiNet is resistant even to strong adversaries by demonstrating the robustness of each individual component.
SentiNet requires no special training and can be instantiated with off-the-shelf neural networks, while introducing a 3x inference overhead on multi-GPU systems.
Paper Organization—Before presenting our approach and experiments, we summarize the structure of this paper. First, in Section II, we present the architecture of deep learning systems and the threat model. Then, in Section III, we present SentiNet and its architecture. In Section IV, we perform an extensive evaluation of SentiNet covering physical attacks taken from the literature, i.e., adversarial examples, data poisoning and trojaned networks, and adaptive attackers trying to fool SentiNet. Next, in Section V, we discuss our results. Finally, in Section VI, we cover related works, and in Section VII, we provide our conclusions.
Ii-a Neural Networks
Deep learning is a branch of machine learning which focuses on multi-layered artificial neural networks. A neural network can be defined as a standard machine learning function , which given an input returns a prediction and prediction-confidence ; i.e. .
Ii-B Deep Learning Systems
Deep learning (DL) systems are computer systems that rely on neural networks to perform specific tasks. At its essence, a DL system takes in an input, computes an output value, and makes a prediction based on the output. The analysis performed by a DL system is often a classification task such as a face-based user authentication mechanisms, voice recognition, or voice-to-text system. Recently, DL systems have been proposed for autonomous vehicles and digital assistants .
In this paper, we focus on DL systems acting while processing physical scenes, where data is acquired via sensors. Sensors are devices that transform physical signals originating on a scene into a stream of digital data. The output of a sensor is then processed by a neural network to make predictions. The prediction of the neural network will be used to determine an appropriate action. Figure 1
shows an example of a DL system implementing a face recognition system to unlock a mobile device or to let a user into a building. The scene includes the user’s face and other background objects. The sensor can be a CCD sensor of a camera that returns a digital image of the scene. The image is processed by a face classifier which predicts the user identity. If the user identity is valid, the actuator will unlock the device or open the gate.
Ii-C Threat Model
In this work, we assume a scenario where a DL system uses a deep CNN model to classify sensor data. The attacker’s goal is to create a physical attack that will hijack the prediction of the model. We allow the attacker to have white-box access to the model, to have full control of the training process and to modify the model in any way, and to be considered a trusted party to the model user. The attacker intends to create a general targeted
attack that redirects a large distribution of inputs to a specific targeted output. More specifically, we consider three types of attack that we review below: physical adversarial examples[40, 27, 4, 11, 12, 2], data poisoning attacks , and trojaned models [25, 30].
Training a large neural network from scratch requires a huge amount of data and computation, and developers tend to reuse pre-trained networks . Reusing a pre-trained neural network exposes a DL system to several attacks. In particular, we consider two attacks that originate when the origin of the model is untrusted. One method to compromise a neural network is via data poisoning attacks. In a data poisoning attack, the adversary inserts malicious inputs, i.e., backdoors to compromise the model during training . Instead of training a model with malicious data points, the adversary could also trojan
a neural network by modifying the weights of selected neurons[25, 30] to respond to a specific trigger. For both trojaned and poisoned networks, the adversary can modify a network to respond to specific objects.
Another threat to DL systems are adversarial examples [43, 18]. Adversarial examples are maliciously-crafted inputs causing a neural network to make an incorrect prediction. Most of the existing literature on adversarial examples requires the attacker to control the neural network input at the byte level. In a physical DL system, this means that the attacker controls either the sensor to generate the desired stream of bytes or the communication channel between the sensor and the model to modify the data. However, the sensor and the communication channel of a DL system may not be accessible by an attacker. As a result, the attacker can only influence the stream of data values to the model by showing the sensor physical objects. Recent works have shown that adversaries can create malicious physical objects, e.g., printed patches [40, 4, 12, 11] or 3D objects , that can fool a model under real-world conditions such as lighting, sensor noise, and rotation. As opposed to the more traditional perturbations, physical perturbations are localized in a region of the input.
In this section, we present SentiNet. The goal of SentiNet is to identify adversarial inputs that will hijack the prediction of the model. Specifically, SentiNet intends to protect networks against adversarial examples, trigger trojans, and backdoors without assuming knowledge of what the attack will be beforehand. The core insight of SentiNet is to use this very behavior of adversarial misclassification to detect an attack. First, SentiNet uses techniques from model interpretability and object detection to extract from an input scene those regions that most highly influence the model prediction (Section III-A). These regions likely contain the malicious object (if present) as well as benign salient regions. Then, SentiNet applies these extracted regions on a set of benign test inputs and observes the behavior of the model. Finally, SentiNet uses fuzzing techniques to compare these synthetic behaviors with the known behavior of the model on benign inputs, to detect prediction hijacking (Section III-B).
Iii-a Adversarial Object Localization
The first step of our approach intends to localize on the given input the regions that might contain malicious objects. The idea is to identify the parts of the input that contribute to the model prediction . Because the physical attack is small and localized, we can hope to recover the true class of input if we evaluate the model on a segmented input that contains no part of the attack. In the following, we look into the details of each step. First, we present a segmentation-based approach to propose classes. Then, starting from proposed classes and the given input, we generate a mask for that may contain the malicious object.
Class Proposal via Segmentation—The detection of the attack begins with the identification of a set of possible classes that may be predicted by the model . The first of such classes is the actual prediction, i.e., . The other classes are identified by segmenting the input and then evaluating the network on each segment. Algorithm 1 shows the algorithm to propose classes via input segmentation. Different approaches can be used to segment a given input including sliding windows and network-based region proposals . In our approach, we use the selective search image segmentation algorithm . Selective search generates an exhaustive list of region proposals based on the patterns and edges found in natural scenes . Then, we evaluate each proposed segment, i.e., , and return the most confident predictions, where is a configuration parameter of SentiNet.
Mask Generation—Over the past few years, several techniques have been proposed to explain and interpret the prediction of a model. One strategy attempts to “quantify” the relevance of individual pixels of the input, e.g., using saliency maps . While effective in practice, focusing on individual pixels may result in a mask of non-contiguous pixels. Sparse masks may miss elements of the malicious object and are not suitable for the model testing phase (see Section III-B). Alternative approaches do not operate on individual pixels but attempt to recover discriminative image regions used by the model to identify the inputs of the same class. Unfortunately, many of these approaches require modifying and fine-tuning a base model, e.g., Class Activation Mapping (CAM)  . Such modifications may alter the behavior of the model, including the malicious behavior that SentiNet intends to detect and prevent from being exploited.111We verified that CAM cannot be used with trojaned network as it removes the last layer (i.e., Layer FC6-8 of face recognition model of ) rendering the trigger trojan not detectable.
A particularly suitable approach for our goal is Grad-CAM , a model-interpretation technique identifies contiguous spatial regions of an input without requiring modifications to the original model. At a high level, Grad-CAM uses gradients computed in the final layers of a network to calculate the saliency of input regions. For class , Grad-CAM calculates the gradients of the model’s output (the model’s logit score for class ) with respect to each of the feature maps of the model’s final pooling layer to obtain . The mean gradient value of each filter map, or “neuron importance weight”, is denoted . Finally, the feature maps are weighted by their neuron importance and aggregated to obtain the final Grad-CAM output: . Here,15] which retains only the positive gradient signals for class
. The output of Grad-CAM is a coarse heatmap of the positive importance of the image, usually at a lower resolution that the input image due to downsampling in the model’s convolutional and pooling layers. Finally, masks are produced by binarizing the heatmap with a threshold of 15% of max intensity. We use this mask to segment salient regions for the next steps.
Precise Mask Generation—Although Grad-CAM can successfully identify discriminative input regions corresponding to adversarial objects, it may also identify benign salient areas. An illustrative example is in Figure 3, where the Grad-CAM generated heatmap for a facial recognition network covers both a trojan trigger patch but also the original face. To improve the accuracy of the mask, we query the model for additional predictions on selected regions of the input image. Then, for each prediction, we use Grad-CAM to extract a mask for the input area most relevant for the prediction. Finally, we combine these additional masks to refine the mask of the initial prediction .
Once we derive a list of possible classes present in the picture, we carve out the regions of more relevant for each predicted class. For simplicity, in this section, we assume that each input can contain only one malicious object. We show how to generalize this approach to multiple malicious inputs in Section IV-C. Algorithm 2 shows the procedure to extract input regions from .
We start by extracting the mask using Grad-CAM for the input and prediction . We also extract a mask for each proposed class . Performing Grad-CAM on the other proposed classes allows us to locate the important regions of the image besides the adversarial attack. Additionally, because the adversarial region is often negatively correlated with the non-targeted classes, the heatmap actively avoids highlighting the adversarial regions of the image. We can use these heatmaps to generate secondary masks to improve our original mask by subtracting regions where the masks overlap. This results in masks that highlight only the localized attack and not the other salient regions in the image. In Figure 3, we can see this approach applied to generate a more precise mask containing mostly the adversarial region only.
Iii-B Attack Detection
The detection of an attack requires two steps. First, as described above, SentiNet extracts input regions that are likely to contain adversarial patches. Then, SentiNet tests each of these regions on a set of benign images, as detailed below, to discriminate adversarial regions from benign ones.
Testing—Once an input region is localized, SentiNet observes the effects the region has on the model to determine whether the region is adversarial or benign. To do so, SentiNet overlays the suspected region on a set of benign test images , which are often shipped together with deployed models. These test images are fed back into the network, where the number of fooled examples are counted and used for adversarial images. Intuitively, the higher the number of mutated images can fool the model, the more likely the suspected region is an adversarial attack.
When the recovered mask is small, this feedback technique is effective at distinguishing adversarial and benign inputs, as small benign objects cannot typically overwhelm a network’s prediction. However, one problem of such an approach is that a mask that covers a large fraction of the input image will likely cause misclassifications when overlaid onto other images, even for benign inputs. Consider, for example, a large mask of an input image . When overlaid, the features inside the mask are likely to be more relevant than the features outside, increasing the chance to classify the mutated test inputs as . A way to address this issue is suppressing the features inside a mask with inert patterns, i.e., a pattern with low confidence, so to increase the response of the network to the features outside the mask. Masks too large will tend to block out too much of the test images resulting in low confidences, giving us another data point to use for classifying attacks. An actual adversarial input should have both high and values, while a benign input will have tradeoffs between the two values.
Decision Boundary for Detection—Now, with these two metrics (number of images fooled and average inert pattern confidence values) we can determine under which conditions an input is adversarial. A naive approach is to use thresholding based rules, but it is hard to determine how to set the thresholds and which metric holds more importance. We examine this problem by plotting metrics from an example task in a 2D plot in Figure 4
, where the red triangular dots represent metrics found with adversarial examples containing physical and the blue circular dots are calculated from clean examples. We observe that the adversarial and clean points can be easily separated using a parabolic function, suggesting that a classifier approach such as linear regression or support vector machine could be used. However, this would operate under the false assumption that we have prior examples of adversarial inputs. Ideally, we want to create a technique that would allow us to identify an unseen adversarial input as an attack based on the attack-agnostic metrics.
We notice a general pattern where adversarial examples are usually clustered near the top-right of the plot. Because adversarial examples are designed to cause misclassifications when applied to other images and not overly obstruct the other important regions of an image, it makes sense that both the number of images fooled and the average noisy confidence metrics of an adversarial example would be high. We can use our set of benign test images to generate statistics of the metrics of normal examples, which will then allow us to formulate when an input is abnormally adversarial.
We can use our collected metrics on clean examples to approximate a curve. By taking the points most likely to be the bounds of the statistics of our examples, we can approximate a curve where points lying outside our curve function can be classified as adversarial attacks. We collect our points by taking the points with the highest y-values for x-intervals, and then using a non-linear least squares function to approximate our curve. We then use our approximated curve to set classify attacks by calculating the distance between a curve and a point —using the Constrained Optimization by Linear Approximation (COBYLA) method 
—and determining whether that distance is within a threshold estimated by the distances of clean examples lying outside the curve.
SentiNet does not modify the original network through retraining or layer modification, and thus will not impact the performance of the network. Instead, it acts as a protection layer that determines whether the resulting output of the original network can be trusted. SentiNet needs to protect a network from adversarial inputs exploiting both inherent vulnerabilities of neural networks and implanted ones. In addition, SentiNet needs to be robust against an adaptive adversary that may attempt to bypass SentiNet. SentiNet is executed after the model prediction and requires several computationally intensive operations including the Grad-CAM visualizations, the selective search algorithm, and multiple evaluations of the network under protection. As a result, as SentiNet adds overhead between the classification and the actuator, SentiNet needs to be efficient.
In this section, we evaluate SentiNet covering these three dimensions. After presenting the experiment setup in Section IV-A, in Section IV-B, we evaluate the effectiveness of SentiNet in detecting three known attacks, i.e., adversarial patches, trojan triggers, and backdoors. Then, in Section IV-C, we evaluate the robustness of SentiNet against an adaptive attacker that attempts to bypass SentiNet. Finally, in Section IV-D, we look into the performance overhead of SentiNet in terms of wallclock and runtime analysis.
Iv-a Experiment Settings
We evaluated SentiNet when protecting three publicly available networks shared by other researchers. Two of the selected networks are compromised and one is uncompromised. The compromised networks are a backdoored Faster-RCNN network for reading signs detection by Gu et al.  and a VGG-16 trojaned network for facial recognition by Liu et al. 
. The uncompromised network is a VGG-16 network trained on the Imagenet dataset by Simonyan et al.. Additionally, to operate, SentiNet requires a benign test image set and an inert pattern to generate the decision boundary as shown in Section III-B. We present the generation of each test set for the selected networks in Section IV-B. Unless specified, we use random noise for our inert pattern .
We evaluated SentiNet using a Tesla K-80 GPU on an Ubuntu 18.04 machine with Intel Xeon CPU E5-2697 and 72 cores. SentiNet uses Tensorflow 1.5 to generate the adversarial patches for the uncompromised network, BLVC-Caffe for the trojaned network, and Faster-RCNN Caffe for the poisoned network. To parallelize the class proposal, SentiNet relies on the ROI pooling layer as implemented by the Fast-RCNN Caffe version. Finally, SentiNet uses the off-the-shelf implementations of Grad-CAM  and selective search .222We will publish scripts, models, and datasets on GitHub after publication.
Finally, we measure effectiveness and robustness in terms of accuracy and performance, collecting the TP/TN and FP/FN rates of each attack. We measure efficiency by profiling the execution of each step of SentiNet.
Iv-B Known Attacks
The first part of our evaluation assesses the effectiveness of SentiNet in protecting our selected networks against three attacks, i.e., backdoors , trojan triggers , and adversarial patches . For each attack, we measured the effectiveness of SentiNet with and without mask refinement. For the adversarial patches attack, we considered an additional variant where the attacker uses multiple patches at the same time. The summary of this evaluation is in Table I.
|Faster-RCNN ||Poisoned||Attack #1||Random||85.07%||86.90%||13.10%||14.83%|
|Faster-RCNN ||Poisoned||Attack #1, w/o mask reduction||Random||85.61%||76.55%||23.45%||14.39%|
|VGG-16 ||Trojaned||Attack #2||Random||99.18%||99.75%||0.25%||0.82%|
|VGG-16 ||Trojaned||Attack #2, w/o mask reduction||Random||87.77%||99.25%||0.75%||12.23%|
|VGG-16 ||Trojaned||Attack #2||Checker||99.18%||99.50%||0.50%||0.82%|
|VGG-16 ||-||Attack #3||Random||98.52%||95.25%||4.75%||1.48%|
|VGG-16 ||-||Attack #3, w/o mask reduction||Random||98.52%||95.00%||5.00%||1.48%|
|VGG-16 ||-||Attack #4||Random||99.19%||95.25%||4.75%||0.81%|
Attack #1: Poisoned Networks—The first attack that we evaluate is a backdoor attack against a poisoned network. While this attack has been studied in the past, the availability of poisoned networks for classification tasks is quite limited. Accordingly, we resort to the poisoned Faster-RCNN object detection network shared by Gu et al. , a network that is trained to detect the position of stop signs on the input image. The authors poisoned the training set so that the network will incorrectly classify stop signs with a yellow flower—the backdoor—as a warning sign (see Figure 5).
As Faster-RCNN is an object detection network, we paid particular attention when connecting it to SentiNet. First, the prediction of Faster-RCNN consists of bounding boxes, classes and confidence of the detected objects. Instead of processing these outputs, we bypass the bounding box prediction layer and connect SentiNet directly to the class likelihood output. In doing so, SentiNet will have access to classes and confidence values only. Second, the Faster-RCNN network detects objects that are often a small part of the background scene, in contrast to cropped images often used for classification tasks. To modify our input to be compatible with the detection network as a classification task, we take the image we intend to classify and place it onto a larger image. As an example, with an image of dimension , we can create a larger blank image of where and , with a carefully chosen n value. We then place our image at the coordinates , and input as our ROI proposal as our starting x, starting y, ending x, and ending y coordinates. This larger image is projected into a feature map using spatial pyramid techniques before we feed it through the network with our ground-truth bounding box () as the ROI input. This technique allows us to leave unchanged the performance of the Faster-RCNN.
Once prepared the classifier , we create the boundary decision as described in Section III-B. To prepare the data for this task, we collected 145 images of stop signs from the LISA dataset  by cropping out the images with their labelled bounding boxes, and place the backdoor at approximately below the “stop” text of each sign to create an “attack” dataset. The dataset in this technique contains 130 images which successfully fool our Faster-RCNN. We also prepare our test set by cropping out 100 images from each class with equal probability. With our prepared dataset, we run SentiNet on all 130 adversarial examples and on all 145 clean examples, collecting the final classifications for each example.
As shown in Figure 5, the clean data points trend towards lower values in comparison to the backdoored inputs. By plotting out enough data points from our clean dataset, we can construct the decision boundary to set the attack threshold. Our TP and TN rates are both 85%, as shown in Table I. As we will see later on in the section, these numbers are not as competitive as other experiments, which is likely due to both the coarser heatmaps generated by the smaller ROI pooling layer and the lower resolution of the images in the LISA dataset—stop signs are often cropped to sizes as small as . Nevertheless, SentiNet still produces detection accuracies comparable to other adversarial detection works (see, e.g., ).
Attack #2: Trojaned Networks—A trojaning attack generates a trigger from specified neurons in the network, and then fine-tunes the model on the trigger to respond to a specific output. The generated trigger can be created with any shape or size using both convolutional and fully-connected neurons. The trojaned model we for our target network is the facial recognition model shared by Liu et al.  with a VGG-16 architecture  trained on the VGG-Face dataset . In the evaluation, we used the square trigger that can be generated with neurons from the FC6 layer of the VGG-16 network. This trigger hijack the prediction of the VGG-16 network to class 0, i.e., “A.J. Buckley”. We use a separate facial recognition dataset to generate our clean and adversarial datasets. We use 400 examples of the LFW dataset , placing the trigger of each of these images. Of the 400 adversarial images, 368 of them successfully direct the output of the model to class 0. Our test set consists of 100 images from the original VGG-16 dataset .
The plot in Figure 6 shows clear separation between normal samples (in blue) and the adversarial samples (in red). We can see that most of the blue examples fail to fool the model with the exception of several masks which produce low scores, while the adversarial examples fool a high number of images while preserving very high scores with the overlaid inert pattern. Thus, after plotting out enough points from our clean dataset, we can subsample the points with the highest confidence scores to create our boundary. This classification rule produces TP and TN rates above 99%, as shown in Table I.
In this task, we can also see the greater importance of our mask reduction technique. The trojan mechanism in particular seems work with the combination of both trigger and the original facial regions. This often results in the Grad-Cam highlighting regions outside the trigger. Table I, we can see the clear improvement Mask Reduction has on improving the True Positive and True Negative rates of SentiNet.
Attack #3: Adversarial Patches—Adversarial patches are white-box attacks that use gradient perturbations to generate a highly salient patch. We use the patch provided by Brown et al.  as our physical attack, which fools Imagenet trained models to classify adversarial images as a “toaster”. In our case, we use a VGG-16  Imagenet-pretrained  network as our target network . We choose the size of the patch to occupy around 25% of the input images. We randomly sample 400 images from the Imagenet test set  to implement our attack. We place the patch at random positions on the 400 images to generate our adversarial dataset, retrieving 338 images which successfully direct the output of our model to “toaster”. Our test set consists of 100 randomly selected images from the Imagenet training set.
In Figure 7
, we observe that the adversarial (red triangle) points are skewed towards producing both higherand numbers. The classification rule generated by this curve produces TP rates of 98% and TN rates of 95% as seen in Table I. These results compare favorably to other literature focused on adversarial attack detection.
Attack #4: Multiple Adversarial Patches—As an extension of Attack #3, we perform experiments on images containing multiple adversarial patches, using the same target network and patch from Attack #3. The setup is largely the same as the previous setting, except that two slightly smaller patches are randomly placed on opposing sides of an image. This experiment is mainly performed to highlight SentiNet’s generalizability to detect attacks that are unpredictable in deployment and appearance. Being able to detect disjoint attacks is a great demonstration of the ability of our model to identify attacks without any prior knowledge of the adversary.
Grad-CAM can be used to visualize disjoint regions of an image that contribute towards the same class. As we can see in Figure 8, this applies to adversarial patches, with both patches successfully highlighted in the attack example. We do not have to modify our technique to make SentiNet work in this scenario. We use a random sample of 400 images from Imagenet test set to create our dataset (we also use 100 images from Imagenet train set as test set ). With two patches inserted, we are able to produce a higher attack success rate, with 369 detected examples. After running SentiNet on both our adversarial and clean datasets, we find our TP rate to be 99.19% and our TN rate to be 95.25% (see Table I). Additionally, we perform an experiment to measure how often SentiNet is able to successfully detect both patches by checking whether the generated masks are disjoint and cover substantial portions of both patches. We find that SentiNet discovers both patches 97.4% of the time, which we consider to be sufficiently accurate relative to the TP and TN values.
Iv-C Adaptive Attacks
Our previous analysis demonstrates how SentiNet detects multiple categories of attacks without having prior knowledge of the adversary or having to modify the defense. A threat is still posed by “adaptive attacks”, which are targeted and bypass specific defenses. The next section considers an attacker aware of the presence of SentiNet and its mechanisms, whereupon the attack is adapted to avoid detection by SentiNet. We probe our defense from the perspective of an actual attacker to measure the robustness of our technique. We attempt to compromise the three distinct component of our defense; the heatmap proposal (Section IV-C1), the class proposals (Section IV-C2), and the attack classification (Section IV-C3). We will analyze the robustness of each component from the perspective of a potential attacker.
Iv-C1 Attacking Region Proposals
Our defense is reliant on successfully localizing the adversarial region in an image. In our current framework, this is done using the Grad-CAM algorithm, which generates heatmap of the salient regions leading to a classification. If an attack can disrupt the Grad-CAM mechanism and avoid successful detection and localization, the subsequent components of the pipeline will fail. The Grad-CAM mechanism uses network back-propagation to measure region importance. This means our mechanism is differentiable, which theoretically means we can modify our heatmap outputs using targeted gradient perturbations. However, our experiments show that Grad-CAM is robust against adversarial attacks in our defense context, and strongly suggests that Grad-CAM is capturing the inherent saliency of a region and cannot be easily manipulated.
Attack #5: Perturbing Grad-CAM—We first show that perturbational noise can target specific Grad-CAM outputs. The Grad-CAM function
is differentiable, and we can optimize an input on this function given a target class. We can use a standard Stochastic Gradient Descent Optimizer (SGD) on a VGG-16 network
to minimize a loss function calculated as the total difference between the current Grad-CAM output and the target Grad-CAM output, and iteratively add noise until our loss converges.
Figure 9 is a image of a dog overlaid by an adversarial patch, and the subsequent Grad-CAM heatmap on target class “toaster”. We start from random noise, which does not have any salient regions for the “toaster” class, and optimize the input on our loss function. We demonstrate in Figure 9 that the heatmap output of the generated noise at convergence is visually identical to the original heatmap. This conclusively shows that Grad-CAM outputs can be precisely manipulated through gradient optimization. However, to mount such an attack, the attacker is required to add noise to the entire image, which may not be feasible.
Attack #6: Heatmap Misdirection—A potential behavior an attacker might attempt to generate is heatmap region misdirection, where the heatmap proposes a region that does not cover the adversarial region to either increase the region captured or avoid detection altogether. We demonstrate earlier that this is trivially possible if the attacker is allowed to add perturbational noise to an entire image. However, in our setting, the attacker cannot add noise beyond the region of the localized attack, and therefore Grad-CAM perturbations must also be constrained to the adversarial region. Therefore, the threat we want to consider is that an attacker can add noise in one region of an image that increases the Grad-CAM output value in a disjoint region. We again consider the target heatmap of our adversarial patch in Figure 9. We first show in Figure 9 that if noise region overlaps the Grad-CAM location we want to modify, we will able to modify the heatmap successfully. We also show in Figure 9
that if the noise region is disjoint from the target Grad-CAM region, our Grad-CAM optimization fails to achieve either visual similarity or equivalent final convergence loss. These experiments show that localized noise can only affect the corresponding Grad-CAM region, which strongly suggests that a misdirection attack is not possible.
Attack #7: Heatmap Minimization—If heatmap misdirection is not possible with localized noise, another option the attacker can consider is to minimize the corresponding Grad-CAM region to the greatest extent possible to avoid detection. We can modify our loss function as the value of the Grad-CAM region to optimize for minimal Grad-CAM output. We start from the adversarial patch image in Figure 10 and iteratively add perturbational noise to the region. In Figure 10, we show that as our loss converges, the Grad-CAM output is successfully minimized, avoiding detection. We can also see in Figure 10 that as more noise is added, the success rate of our attack is reduced. This pattern suggests that Grad-CAM is capturing some inherent saliency of the region and cannot be minimized without reducing the attack effectiveness.
However, we would also expect the effectiveness of the attack to drop with the addition of any arbitrary noise, and does not rule out the possibility of perturbational noise that can optimize both targeted misclassification and Grad-CAM minimization. Our next experiments demonstrate how an attacker might attempt to jointly generate a patch for both criteria by performing both optimization functions during every iteration. We use a range of from 4.0 to 1.0 with intervals of 0.025 and set the learning rates of the Grad-CAM minimization and the misclassification as and respectively, as seen in Figure 11. This adjusts the level or prioritization we set for each optimization task. After we generate 40 patches for each value, we plot the average of both the percentage of successful misclassifications on Imagenet  test set from Attack #3 and the percentage of patches with overlap with the adversarial pixels and the Grad-CAM region in Figure 11. Our plot shows that there is an inverse relation between how well the patch fools test images and how well the patch is hidden, corroborating our previous findings. We further plot the patches that successfully fulfill both criteria in Figure 11, and find that the optimum value is where the ratios of successful misclassifications and hidden patches overlaps, giving us patches that fulfill both criteria at most a 10% success rate. This strongly suggests that minimizing the Grad-CAM output directly weakens the attack effectiveness, and that it is difficult to jointly optimize for both objectives.
We can conclude that the redirection task for Grad-CAM is infeasible for localized patches, and that minimizing Grad-CAM is incompatible with the misclassification objective. Therefore, Grad-CAM is reasonably resistant to adaptive attacks and is a robust choice for the region proposal task.
Iv-C2 Class Proposal
Our class proposal module uses selective search  and a proposal network modified from the original network with a ROI pooling layer . Selective search is a traditional image processing algorithm that uses a graph-based approach to segment an image based on color, shapes, textures, and size. There is no gradient component for an attacker to perturb, or a training procedure to poison, which severely limits an attacker’s mechanisms of attack compared to a network-generated proposal mechanism as seen in Faster-RCNN . Our selective search algorithm is also designed to capture class proposals other than adversarial class, and the attacker will be unable to affect the selective search results outside of the adversarial region. Furthermore, because our proposal network uses the original network weights, there is no way to cause different behaviors between the original and proposal networks. Finally, the attacker will have limited motivation to attack the class proposal process of our network, as a successful attack will damage the accuracy of the attack detection rather than break the entire process. We can conclude that our class proposal mechanism is robust due to the properties of the individual components that are collectively resistant to perturbational or poisoning attacks.
Iv-C3 Attack Classification
We consider the decision procedure of our method by analyzing our attack classification robustness. Our classification procedure is not trained with gradient descent techniques, which removes the possibility of using gradient perturbations to fool the classification. Our thresholding is based on data points with two dimensions collected from a confidential dataset, the fooled-percentage and the average confidence. The average-confidence is calculated with a pattern .
Attack #8: Classification—If an adversary is able to manipulate the model to respond to an inert pattern with strong confidence they can produce similar outputs between benign and adversarial inputs, bypassing our defense. We show we can keep the pattern secret by demonstrating how arbitrary patterns still produce similar levels of accuracies, by using the standard random noise pattern and a new checker pattern as shown in Figure 12. In Table I, we can see that for Attack #2, the TP and TN rates of the random noise pattern and checker pattern are within . Also, the defense will always be able to find an inert pattern by using gradient descent to minimize response confidence for all classes. This component of SentiNet secure as long as the pattern is kept secret.
Attack #9: Patterns Targeting Different Classes—An attacker can place multiple patches into the image targeting different classes. Our defense will capture one of the patches, leaving the other patch to pass through undetected. We can modify our defense to run iterations of our defense until the image is no longer classified as an adversarial by adding a linear increase in runtime for each additional patch.
Attack #10: Size Attack—If the attacker uses a large enough patch, the average confidence on will be lowered, which reduces the effectiveness of our defense. We can see in Figure 13 that for adversarial patches, the attack’s drops as the size of the patch increases. By increasing the transparency of the patch, we can drop the attack below the threshold while retaining very high attack success. However, we argue that this is an unavoidable aspect of localized attacks. Brown et al.  notes that overlaying a image of an actual toaster will create the same behavior of an adversarial patch at a large enough size. This raises interested questions about what actually constitutes an “attack”, although for now we can conclude our defense captures small patches that abnormally affects the classification results at an extent greater than expected for natural images.
We evaluate the overhead of our defense in terms of rounded wallclock time in Table II, using a VGG-16  architecture as a case study. In general, a forward pass through the network takes 2.5 seconds, regardless of batch size, while the selective search and Grad-CAM each take 2.25 and 0.35 seconds respectively. If we use a sequential approach to implement SentiNet, we will perform a forward pass to get the initial prediction on input , a selective search on , class proposal on , three Grad-CAMs on the highest class proposals, and three iterations of two batched computations to get and to get a total runtime of 23.3 seconds. However, many steps can be computed in parallel given enough compute. In general, the original prediction and class proposals can be computed in parallel, as well as the three Grad-CAM computations and the final 6 batched computations. This cuts the total time down to 7.6 seconds, which is 3x as large as the original prediction time of 2.5 seconds.
Our results show that our defense is able to record high accuracy metrics for detecting adversarial images in all three cases and is robust to strong adaptive adversaries. We now cover in more depth the strengths and limitations of our approach, highlighting some unusual aspects of our design.
V-a Strengths of our Defense
—The fundamental strength of SentiNet is that it relies on the fact our model is compromised by an attack. Therefore, our detection framework is unaffected by the mechanism or deployment the attack uses, detecting attacks successfully as long as they fool the model. In fact, our framework is better at detecting attacks when the adversary is stronger. Very powerful physical attacks are able to consistently fool the model while minimizing the size needed or the obfuscation important parts of the image to order to avoid detection. The properties that characterize a strong physical attack make it easier for SentiNet detection as such an attack would easily result in outlier behavior outside the threshold of an approximated curve. In real-world conditions, attacks have to be even more robust as they need to tolerate different lighting and viewpoint variations. Real-world deployments of neural networks could potentially represent the most potent deployment scenario for SentiNet.
Detection of Unsuccessful Attacks—SentiNet can also further extended for additional functionality. With the adversarial input detection and class proposal, SentiNet can analyze also the second or subsequent proposed classes, raising the possibility of using SentiNet to detect unsuccessful attempted attacks. This is a useful attribute which could help deter attackers from probing and testing our defense with experimental attacks.
Run-time Adversarial Object Suppression—Furthermore, the masking functionality can be used to still preserve functionality by reporting the output label with the inert pattern. Unlike other detection frameworks which simply identify when an attack has taken place, the calculated mask of SentiNet can easily be used to remove the physical attack and salvage as much of the rest of the data as possible.
V-B Limitations of our Defense
Large Adversarial Objects—In general, adversaries can override an image prediction if they are allowed to modify the majority of pixels in an image. SentiNet makes the assumption that adversarial objects are small. We show in Section IV that large enough patches can easily bypass the decision boundary of our model. However, we note once more that Brown et al.  demonstrates how large images of toasters will hijack the prediction of classification models, which is expected behavior even for a human classifier. In general, if an attacker can modify a majority of an image, it is trivial to influence the output by obfuscating the input with the targeted class. Our focus with SentiNet is to capture adversarial attacks that are unreasonably salient, designed to be small and unnoticeable and that would not fool humans. With this measure, SentiNet largely succeeds at detecting abnormal regions of images that deviate from patches of natural images.
Overhead—The runtime of our approach is not insignificant at 3x the original computation time. Each inference requires a constant overhead, raising the inference time from milliseconds to several seconds. This lag for real-time detection scenarios is perhaps acceptable for tasks like facial recognition, but could prove impractical in scenarios including autonomous driving. However, the computational cost is even more significant, as instead of performing one forward pass through our network, SentiNet performs hundreds of batched inferences. In non real-time situations, it is common for inference to be performed in batches. This would be incompatible with the current SentiNet setup, as for each input SentiNet will require 100 additional inputs during each fuzzing phase. Performing parallel analysis is theoretically possible, but will require 100x the amount of memory a regular inference scheme is current using. It is worth noting that many other detection schemes introduce significant overhead as well, and a small benefit of the SentiNet approach is its plug and play compatibility, only requiring a pre-computed run of small subset of clean samples.
Vi Related Work
We now review works closely related to this paper. First, we explore the domain of attacks against neural networks. Then, we expand on prior works on physical attacks. Finally, we review proposed approaches to detect attacks against neural networks.
Neural Network Attacks—The literature on adversarial attacks on neural networks is vast and still growing. Szegedy et al.  first demonstrated how adversarial noise can be used to fool neural network classifiers by adding small gradient perturbations to an image that is imperceptible to humans. Numerous works have built on this approach; some notable works include the Fast Gradient Sign Method , DeepFool , and Universal Adversarial Perturbations . This area of research can be categorized as a cat-and-mouse game in recent years, where defenses are created for new attacks that bypass previous defenses  . Additionally, adversarial attacks certainly are not limited to gradient-perturbation based techniques; data poisoning can be used to cause misintended model behaviors , and compromised hardware can also be used to insert trojans during the network inference procedure . Akhtar et al.  provides a useful survey about the current state of the adversarial deep learning field.
Physical Attacks—Multiple works have demonstrated physical attacks within a variety of classification settings and attacker capabilities. Adversarial patches  are possibly the most well-known physical attack. These attacks are generated by performing back-propagation on the target class to calculate gradient noise localized to a region of the image. A related attack—Localized and Visible Adversarial Noise —operates under a similar principle with smaller but less robust attacks. Robust Physical-World Attacks on Deep Learning Models  demonstrates how adversarial perturbations can be disguised as graffiti stickers to fool traffic sign attacks. Similarly,  uses perturbations placed on glasses to fool facial classification models. Trojaned Neural Networks  perform back-propagation on specifically chosen neurons in the network rather than the target class. The generated triggers are used to ”trojan” the model by performing slight fine-tuning to guide the trigger outputs towards a specified class, making sure that the triggers only cause misclassifications on trojaned models. BadNets  targets traffic sign detection models by inserting pre-chosen patterns into images with the target label, poisoning the data before the training process.
Adversarial Attack Detection—Detection techniques for adversarial attacks as a defensive measure have been proposed by many researchers. Safetynets  is designed to detect adversarial-noise based attacks and exploits the different activations adversarial perturbations produce to train a SVM classifier. Metzen et al.  use a similar approach by training a modified target classification network to detect adversarial perturbations. Feinman et al.  also trains a classifier to detect adversarial perturbational inputs based on the neural network features, while Gong et al.  introduces a classifier trained to detect adversarially-perturbed images. Magnet  trains a classifier on manifolds of normal examples to detect adversarial perturbations without prior knowledge of the attack. There are also some works designed at creating defenses that do not require training. Grosse et al.  uses statistical techniques to distinguish adversarial-perturbations outputs, while Hendrycks et al.  uses PCA to visualize differences in perturbed images. A survey by Yuan et al.  covers further detection defenses. All these works are only aimed at defending against adversarial perturbations whereas SentiNet can defend a network against other types of attacks, i.e., data poisoning and trojaning attacks.
In this work, we introduce SentiNet, an attack agnostic framework for detecting physical attacks on Convolutional Neural Networks. Our method is notable because it only relies on the malicious behavior of an adversarial attack to perform classifications, without requiring prior knowledge of the deployment or mechanisms of an attack. We demonstrate the effectiveness SentiNet on three experiments with fundamentally different attack mechanisms; a data poisoning attack, a network trojaning attack, and a white-box adversarial attack. We also the robustness of SentiNet against strong adaptive adversaries by individually testing each component of our defense. Our approach can be run in real-time in many scenarios, and is flexible and easy to deploy.
There are further improvements that would help improve the performance of SentiNet. Better visualization techniques (see, e.g., Grad-CAM++ 
) would improve the heatmap quality to create better masks. Deep learning interpretability and visualization is a challenging problem and breakthroughs in this area can also allow us to further reason about whether an attack is taking place. Furthermore, our anomaly detection approach can be further extended to take advantage of the richer data provided by the neuron outputs during the inference process. Works have shown techniques to detect anomalous high dimensional data using one class neural networks (see, e.g.,[16, 7]) which could enhance our current framework.
We hope SentiNet inspires further approaches towards creating attack-agnostic defenses. Tailoring a defense towards a specific attack means unknown attacks cannot be captured, and also makes the system highly vulnerable to strong adaptive adversaries. We believe a similar approach can be used to detect other adversarial attacks by leveraging the same core concepts of identifying an attack from a model’s weakness.
This work was partially supported by NSF, ONR, the Simons Foundation, a Google faculty fellowship, the Swiss National Science Foundation (SNSF project P1SKP2_178149), and the German Federal Ministry of Education and Research (BMBF) through funding for the CISPA-Stanford Center for Cybersecurity (FKZ: 13N1S0762).
-  N. Akhtar and A. Mian, “Threat of adversarial attacks on deep learning in computer vision: A survey,” CoRR, vol. abs/1801.00553, 2018. [Online]. Available: http://arxiv.org/abs/1801.00553
-  A. Athalye and I. Sutskever, “Synthesizing robust adversarial examples,” arXiv preprint arXiv:1707.07397, 2017.
-  Y. Bengio, “Deep learning of representations for unsupervised and transfer learning,” in Proceedings of ICML Workshop on Unsupervised and Transfer Learning, 2012, pp. 17–36.
-  T. B. Brown, D. Mané, A. Roy, M. Abadi, and J. Gilmer, “Adversarial patch,” CoRR, vol. abs/1712.09665, 2017. [Online]. Available: http://arxiv.org/abs/1712.09665
-  N. Carlini, “Evaluation and design of robust neural network defenses,” Ph.D. dissertation, EECS Department, University of California, Berkeley, Aug 2018. [Online]. Available: http://www2.eecs.berkeley.edu/Pubs/TechRpts/2018/EECS-2018-118.html
-  N. Carlini and D. A. Wagner, “Adversarial examples are not easily detected: Bypassing ten detection methods,” CoRR, vol. abs/1705.07263, 2017. [Online]. Available: http://arxiv.org/abs/1705.07263
-  R. Chalapathy, A. K. Menon, and S. Chawla, “Anomaly detection using one-class neural networks,” CoRR, vol. abs/1802.06360, 2018. [Online]. Available: http://arxiv.org/abs/1802.06360
-  A. Chattopadhyay, A. Sarkar, P. Howlader, and V. N. Balasubramanian, “Grad-cam++: Generalized gradient-based visual explanations for deep convolutional networks,” CoRR, vol. abs/1710.11063, 2017. [Online]. Available: http://arxiv.org/abs/1710.11063
-  J. Clements and Y. Lao, “Hardware trojan attacks on neural networks,” CoRR, vol. abs/1806.05768, 2018.
-  J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei, “ImageNet: A Large-Scale Hierarchical Image Database,” in CVPR09, 2009.
-  I. Evtimov, K. Eykholt, E. Fernandes, T. Kohno, B. Li, A. Prakash, A. Rahmati, and D. Song, “Robust physical-world attacks on machine learning models,” CoRR, vol. abs/1707.08945, 2017. [Online]. Available: http://arxiv.org/abs/1707.08945
-  K. Eykholt, I. Evtimov, E. Fernandes, B. Li, A. Rahmati, F. Tramer, A. Prakash, T. Kohno, and D. Song, “Physical adversarial examples for object detectors,” arXiv preprint arXiv:1807.07769, 2018.
-  R. Feinman, R. R. Curtin, S. Shintre, and A. B. Gardner, “Detecting Adversarial Samples from Artifacts,” ArXiv e-prints, Mar. 2017.
-  R. B. Girshick, “Fast R-CNN,” CoRR, vol. abs/1504.08083, 2015. [Online]. Available: http://arxiv.org/abs/1504.08083
-  X. Glorot, A. Bordes, and Y. Bengio, “Deep sparse rectifier neural networks,” in AISTATS, 2011.
-  M. Goldstein and S. Uchida, “A comparative evaluation of unsupervised anomaly detection algorithms for multivariate data,” PLOS ONE, vol. 11, no. 4, pp. 1–31, 04 2016. [Online]. Available: https://doi.org/10.1371/journal.pone.0152173
-  Z. Gong, W. Wang, and W. Ku, “Adversarial and clean data are not twins,” CoRR, vol. abs/1704.04960, 2017. [Online]. Available: http://arxiv.org/abs/1704.04960
-  I. J. Goodfellow, J. Shlens, and C. Szegedy, “Explaining and Harnessing Adversarial Examples,” ArXiv e-prints, Dec. 2014.
-  K. Grosse, P. Manoharan, N. Papernot, M. Backes, and P. D. McDaniel, “On the (statistical) detection of adversarial examples,” CoRR, vol. abs/1702.06280, 2017. [Online]. Available: http://arxiv.org/abs/1702.06280
-  T. Gu, B. Dolan-Gavitt, and S. Garg, “Badnets: Identifying vulnerabilities in the machine learning model supply chain,” CoRR, vol. abs/1708.06733, 2017. [Online]. Available: http://arxiv.org/abs/1708.06733
-  K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image recognition,” CoRR, vol. abs/1512.03385, 2015. [Online]. Available: http://arxiv.org/abs/1512.03385
-  J. Hendrik Metzen, T. Genewein, V. Fischer, and B. Bischoff, “On Detecting Adversarial Perturbations,” ArXiv e-prints, Feb. 2017.
-  D. Hendrycks and K. Gimpel, “Early Methods for Detecting Adversarial Images,” ArXiv e-prints, Aug. 2016.
-  G. B. Huang, M. Ramesh, T. Berg, and E. Learned-Miller, “Labeled faces in the wild: A database for studying face recognition in unconstrained environments,” University of Massachusetts, Amherst, Tech. Rep. 07-49, October 2007.
-  Y. Ji, X. Zhang, S. Ji, X. Luo, and T. Wang, “Model-reuse attacks on deep learning systems,” in Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2018, pp. 349–363.
-  D. Karmon, D. Zoran, and Y. Goldberg, “Lavan: Localized and visible adversarial noise,” CoRR, vol. abs/1801.02608, 2018. [Online]. Available: http://arxiv.org/abs/1801.02608
-  A. Kurakin, I. Goodfellow, and S. Bengio, “Adversarial examples in the physical world,” arXiv preprint arXiv:1607.02533, 2016.
-  Y. LeCun, Y. Bengio et al., “Convolutional networks for images, speech, and time series,” The handbook of brain theory and neural networks, 1995.
-  Y. LeCun, Y. Bengio, and G. Hinton, “Deep learning,” Nature, 2015.
-  Y. Liu, S. Ma, Y. Aafer, W.-C. Lee, J. Zhai, W. Wang, and X. Zhang, “Trojaning attack on neural networks,” in NDSS, 2018.
-  J. Lu, T. Issaranon, and D. A. Forsyth, “Safetynet: Detecting and rejecting adversarial examples robustly,” CoRR, vol. abs/1704.00103, 2017. [Online]. Available: http://arxiv.org/abs/1704.00103
-  D. Meng and H. Chen, “Magnet: a two-pronged defense against adversarial examples,” CoRR, vol. abs/1705.09064, 2017. [Online]. Available: http://arxiv.org/abs/1705.09064
-  A. Møgelmose, D. Liu, and M. M. Trivedi, “Traffic sign detection for u.s. roads: Remaining challenges and a case for tracking,” in 17th International IEEE Conference on Intelligent Transportation Systems (ITSC), Oct 2014, pp. 1394–1399.
-  S. Moosavi-Dezfooli, A. Fawzi, O. Fawzi, and P. Frossard, “Universal adversarial perturbations,” CoRR, vol. abs/1610.08401, 2016. [Online]. Available: http://arxiv.org/abs/1610.08401
-  S. Moosavi-Dezfooli, A. Fawzi, and P. Frossard, “Deepfool: a simple and accurate method to fool deep neural networks,” CoRR, vol. abs/1511.04599, 2015. [Online]. Available: http://arxiv.org/abs/1511.04599
-  O. M. Parkhi, A. Vedaldi, and A. Zisserman, “Deep face recognition,” in British Machine Vision Conference, 2015.
-  S. Ren, K. He, R. B. Girshick, and J. Sun, “Faster R-CNN: towards real-time object detection with region proposal networks,” CoRR, vol. abs/1506.01497, 2015. [Online]. Available: http://arxiv.org/abs/1506.01497
-  R. R. Selvaraju, A. Das, R. Vedantam, M. Cogswell, D. Parikh, and D. Batra, “Grad-cam: Why did you say that? visual explanations from deep networks via gradient-based localization,” CoRR, vol. abs/1610.02391, 2016. [Online]. Available: http://arxiv.org/abs/1610.02391
-  A. Shafahi, W. R. Huang, M. Najibi, O. Suciu, C. Studer, T. Dumitras, and T. Goldstein, “Poison frogs! targeted clean-label poisoning attacks on neural networks,” CoRR, vol. abs/1804.00792, 2018. [Online]. Available: http://arxiv.org/abs/1804.00792
-  M. Sharif, S. Bhagavatula, L. Bauer, and M. K. Reiter, “Accessorize to a crime: Real and stealthy attacks on state-of-the-art face recognition,” in Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, ser. CCS ’16. New York, NY, USA: ACM, 2016, pp. 1528–1540. [Online]. Available: http://doi.acm.org/10.1145/2976749.2978392
-  K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” CoRR, vol. abs/1409.1556, 2014. [Online]. Available: http://arxiv.org/abs/1409.1556
-  C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. E. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich, “Going deeper with convolutions,” CoRR, vol. abs/1409.4842, 2014. [Online]. Available: http://arxiv.org/abs/1409.4842
-  C. Szegedy, W. Zaremba, I. Sutskever, J. Bruna, D. Erhan, I. J. Goodfellow, and R. Fergus, “Intriguing properties of neural networks,” CoRR, vol. abs/1312.6199, 2013. [Online]. Available: http://arxiv.org/abs/1312.6199
-  A. R. C. K. S. P. L. Toint, “On the convergence of derivative-free methods for unconstrained optimization,” in Approximation theory and optimization: tributes to MJD Powell., 2007, pp. 83–108.
-  J. R. Uijlings, K. E. Sande, T. Gevers, and A. W. Smeulders, “Selective search for object recognition,” Int. J. Comput. Vision, vol. 104, no. 2, pp. 154–171, Sep. 2013. [Online]. Available: http://dx.doi.org/10.1007/s11263-013-0620-5
-  J. Yosinski, J. Clune, A. M. Nguyen, T. J. Fuchs, and H. Lipson, “Understanding neural networks through deep visualization,” CoRR, vol. abs/1506.06579, 2015. [Online]. Available: http://arxiv.org/abs/1506.06579
-  X. Yuan, P. He, Q. Zhu, R. R. Bhat, and X. Li, “Adversarial examples: Attacks and defenses for deep learning,” CoRR, vol. abs/1712.07107, 2017. [Online]. Available: http://arxiv.org/abs/1712.07107
-  R. Zhang, W. Li, and T. Mo, “Review of deep learning,” CoRR, vol. abs/1804.01653, 2018. [Online]. Available: http://arxiv.org/abs/1804.01653
-  B. Zhou, A. Khosla, À. Lapedriza, A. Oliva, and A. Torralba, “Learning deep features for discriminative localization,” CoRR, vol. abs/1512.04150, 2015. [Online]. Available: http://arxiv.org/abs/1512.04150