Deep Learning
Improved Detection of Adversarial Attacks via Penetration Distortion Maximization
Rozenberg, Shai, Elidan, Gal, El-Yaniv, Ran
A BSTRACT This paper is concerned with the defense of deep models against adversarial attacks. We develop an adversarial detection method, which is inspired by the certificate defense approach, and captures the idea of separating class clusters in the embedding space to increase the margin. The resulting defense is intuitive, effective, scalable, and can be integrated into any given neural classification model. Our method demonstrates state-of-the-art (detection) performance under all threat models. 1 Introduction Defending machine learning models from adversarial attacks has become an increasingly pressing issue as deep neural networks become associated with more critical aspects of society. Adversarial attacks can effectively fool deep models and force them to misclassify, using a slight but maliciously-designed distortion that is typically invisible to the human eye (Carlini & Wagner, 2017c; Athalye et al., 2018). Despite numerous developments, defense mechanisms are still wanting. Many interesting ideas have been proposed to construct defense mechanisms for adversarial examples. Among these are adversarial training (Metzen et al., 2017; Zuo et al., 2020; Y an et al., 2018), ensemble methods (Strauss et al., 2017), and randomization (Dhillon et al., 2018; Xu et al., 2017) to name a few.
Training DNN IoT Applications for Deployment On Analog NVM Crossbars
Garcรญa-Redondo, Fernando, Das, Shidhartha, Rosendale, Glen
Deep Neural Networks (DNN) applications are increasingly being deployed in always-on IoT devices. However, the limited resources in tiny microcontroller units (MCUs) limit the deployment of the required Machine Learning (ML) models. Therefore alternatives to traditional architectures such as Computation-In-Memory based on resistive nonvolatile memories (NVM), promising high integration density, low power consumption and massively-parallel computation capabilities, are under study. However, these technologies are still immature and suffer from intrinsic analog nature problems --noise, non-linearities, inability to represent negative values, and limited-precision per device. Consequently, mapping DNNs to NVM crossbars requires the full-custom design of each one of the DNN layers, involving finely tuned blocks such as ADC/DACs or current subtractors/adders, and thus limiting the chip reconfigurability. This paper presents an NVM-aware framework to efficiently train and map the DNN to the NVM hardware. We propose the first method that trains the NN weights while ensuring uniformity across layer weights/activations, improving HW blocks re-usability. Firstly, this quantization algorithm obtains uniform scaling across the DNN layers independently of their characteristics, removing the need of per-layer full-custom design while reducing the peripheral HW. Secondly, for certain applications we make use of Network Architecture Search, to avoid using negative weights. Unipolar weight matrices translate into simpler analog periphery and lead to $67 \%$ area improvement and up to $40 \%$ power reduction. We validate our idea with CIFAR10 and HAR applications by mapping to crossbars using $4$-bit and $2$-bit devices. Up to $92.91\%$ accuracy ($95\%$ floating-point) can be achieved using $2$-bit only-positive weights for HAR.
XDeep: An Interpretation Tool for Deep Neural Networks
Yang, Fan, Zhang, Zijian, Wang, Haofan, Li, Yuening, Hu, Xia
XDeep is an open-source Python package developed to interpret deep models for both practitioners and researchers. Overall, XDeep takes a trained deep neural network (DNN) as the input, and generates relevant interpretations as the output with the post-hoc manner. From the functionality perspective, XDeep integrates a wide range of interpretation algorithms from the state-of-the-arts, covering different types of methodologies, and is capable of providing both local explanation and global explanation for DNN when interpreting model behaviours. With the well-documented API designed in XDeep, end-users can easily obtain the interpretations for their deep models at hand with several lines of codes, and compare the results among different algorithms. XDeep is generally compatible with Python 3, and can be installed through Python Package Index (PyPI). The source codes are available at: https://github.com/datamllab/xdeep.
Demystifying Deep Convolutional Neural Networks - Adam Harley (2014)
This document explores the mathematics of deep convolutional neural networks. We begin at the level of an individual neuron, and from there examine parameter tuning, fully-connected networks, error minimization, back-propagation, convolutional networks, and finally deep networks. The report concludes with experiments on geometric invariance, and data augmentation. Relevant MATLAB code is provided throughout, and a downloadable package is available at the end of the document. Artificial neural networks (ANNs) [1] are at the core of state-of-the-art approaches to a variety of visual recognition tasks, including image classification [2] and object detection [3]. For a computer vision researcher interested in recognition, it is useful to understand how ANNs work, and why they have recently become so effective. An artificial neural network is a type of biologically-inspired pattern recognizer.
16. Appendix: Mathematics for Deep Learning -- Dive into Deep Learning 0.7 documentation
One of the wonderful parts of modern deep learning is the fact that much of it can be understood and used without a full understanding of the mathematics below it. This is a sign of the fact that the field is becoming more mature. Most software developers no longer need to worry about the theory of computable functions, or if programming languages without a goto can emulate programming languages with a goto with at most constant overhead, and neither should the deep learning practitioner need to worry about the theoretical foundations maximum likelihood learning, if one can find an architecture to approximate a target function to an arbitrary degree of accuracy. That said, we are not quite there yet. Sometimes when building a model in practice you will need to understand how architectural choices influence gradient flow, or what assumptions you are making by training with a certain loss function.
16. Appendix: Mathematics for Deep Learning -- Dive into Deep Learning 0.7 documentation
One of the wonderful parts of modern deep learning is the fact that much of it can be understood and used without a full understanding of the mathematics below it. This is a sign of the fact that the field is becoming more mature. Most software developers no longer need to worry about the theory of computable functions, or if programming languages without a goto can emulate programming languages with a goto with at most constant overhead, and neither should the deep learning practitioner need to worry about the theoretical foundations maximum likelihood learning, if one can find an architecture to approximate a target function to an arbitrary degree of accuracy. That said, we are not quite there yet. Sometimes when building a model in practice you will need to understand how architectural choices influence gradient flow, or what assumptions you are making by training with a certain loss function.
AI Institute "Geometry of Deep Learning" 2019 [Day 1 Session 4] - Microsoft Research
Deep learning is transforming the field of artificial intelligence, yet it is lacking solid theoretical underpinnings. This state of affair significantly hinders further progress, as exemplified by time-consuming hyperparameters optimization, or the extraordinary difficulties encountered in adversarial machine learning. Our three-day workshop stems on what we identify as the current main bottleneck: understanding the geometrical structure of deep neural networks. This problem is at the confluence of mathematics, computer science, and practical machine learning. We invite the leaders in these fields to bolster new collaborations and to look for new angles of attack on the mysteries of deep learning.
Progress and Challenges for the Use of Deep Learning to Improve Weather Forecasts - insideHPC
In this video from the UK HPC Conference, Peter Dueben from ECMWF presents: Progress and Challenges for the Use of Deep Learning to Improve Weather Forecasts. I will present recent studies that use deep learning to learn the equations of motion of the atmosphere, to emulate model components of weather forecast models and to enhance usability of weather forecasts. I will then talk about the main challenges for the application of deep learning in cutting-edge weather forecasts and suggest approaches to improve usability in the future. Peter Dueben is a Royal Society University Research Fellow at the European Centre for Medium-Range Weather Forecasts (ECMWF). He is contributing to the development and optimization of weather and climate models for modern supercomputers.
How to Build Your Own PyTorch Neural Network Layer from Scratch
Within the class, we'll need an __init__ dunder function to initialize our linear layer and a forward function to do the forward calculation. We'll use the PyTorch official document as a guideline to build our module. From the document, an nn.Linear module has the following attributes: So we'll get these three attributes in: The class also needs to hold weight and bias parameters so it can be trained. Here we used torch.nn.Parameter to set our weight and bias, otherwise, it won't train. Also, note that we used torch.randn