This note derives the gradients for training a deep neural network while trying to use only matrix algebra and vector calculus. It isn’t quite enough so we have to add a little more structure based on ‘tuples’, basically a list of stuff, which can be utilized intuitively.
Link: Calculus for Deep Learning, with Vectors, Matrices, and a few Tuples
Unknown self-occlusion in a scene with opaque objects causes the multiview reconstruction problem to become ill-posed and nonlinear. In this report we describe a scalable nonlinear optimization method for simultaneously reconstructing the object and occlusion. The approach uses a simple learning stage which forms hypotheses for scene opacity given locally-optimal reconstruction estimates. This is combined with a first-order projected-gradient method for imposing physical consistency. Results are demonstrated for simulated examples.
A first-order optimization method for learning to reconstruct opacity in computational imaging.pdf
In this report we consider the numerical optimization of performance for a computational extension of a confocal microscope. Using a system where the pinhole detector is replaced with a detector array, we seek to exploit this additional information for each point in the scan. We derive an optimal estimate of the light at focus which minimizes the contribution of out-of-focus light. We estimate the amount of improvement that would be theoretically possible in point-scanning and line-scanning systems and demonstrate with simulation. We find that even with a large degree of regularization, a significant improvement is possible, especially for line-scanning systems.
Focus optimization in a Computational Confocal Microscope
I will be at Brain Informatics 2020 on September 19, 2020 presenting “The Resolution Matrix for Visualizing Functional Network Connectivity” (see preprint below).
For pre-recorded video of presentation, click image:
Accurately measuring optical aberrations is an important process for several eyecare tasks. Managing the individual variations found in human eyes plays a large role in properly defining these aberrations. A common method to measure optical aberrations uses sensors to locally capture the gradients across a grid of points. This data is used to reconstruct the wavefront resulting from light passing through the eye. In using this method of measurement, typical individual variations such as scarring or eyelashes can lead to shortcomings in the data. These shortcomings can manifest as noise or even areas of entirely missing data. The use of ANN (artificial neural networks) is one way to minimize the effects of these unpredictable deviations.
The resolution matrix is a mathematical tool for analyzing inverse problems such as computational imaging systems. When treating network connectivity estimation as an inverse problem, the resolution matrix describes the degree to which network nodes and edges can be resolved. This is useful both for quantifying robustness of the network estimate, as well as identifying correlated activity. In this report we analyze the resolution matrix for functional MRI data from the Human Connectome project. We find that common metrics of the resolution metric can be used to identify networked activity, though with a new twist on the relationship between default mode network and the frontoparietal attention network.
Brain parcellation is important for exploiting neuroimaging data. Variability in physiology between individuals has led to the need for data-driven approaches to parcellation, with recent research focusing on simultaneously estimating and partitioning the network structure of the brain. We view data preprocessing, parcellation, and parcel validation from the perspective of predictive modeling. The goal is to identify parcels in a way that best generalizes to unseen data. We utilize an uncertainty quantification approach from image science to define parcels as groups of unresolvable variables in the predictive model.
We consider the problem of detecting malware with deep learning models, where the malware may be combined with significant amounts of benign code. Examples of this include piggybacking and trojan horse attacks on a system, where malicious behavior is hidden within a useful application. Such added flexibility in augmenting the malware enables significantly more code obfuscation. Hence we focus on the use of static features, particularly Intents, Permissions, and API calls, which we presume cannot be ultimately hidden from the Android system, but only augmented with yet more such features. We first train a deep neural network classifier for malware classification using features of benign and malware samples. Then we demonstrate a steep increase in false negative rate (ie, attacks succeed), simply by randomly adding features of a benign app to malware. Finally we test the use of data augmentation to harden the classifier against such attacks. We find that for API calls, it is possible to reject the vast majority of attacks, where using Intents or Permissions is less successful.
This note describes how to implement and solve a quadratic programming optimization problem using a shallow neural network in Keras. A single linear layer is used with a custom one-sided loss to impose the inequality constraints. A custom kernel regularizer is used to impose the optimization objective, yielding a form of penalty method. This provides a useful exercise in augmenting the loss, metrics, and callbacks used in Keras. This also potentially allows the exploitation of the back-end implementations of Keras and Tensorflow on GPU’s and distributed storage. We demonstrate the method for large-scale computational image reconstruction with compressed sensing simulations.
www.keithdillon.com/papers_preprints/Quadratic Programming with Keras.pdf