Author Archive Eric Muccino

ByEric Muccino

Image Classification with Variable Input Resolution in Keras

Convolutional neural networks (CNN) are a type of neural network designed for image classification.

Read the rest of the article at Mindboard’s Medium channel.

ByEric Muccino

Improving Classification Accuracy with ACGAN (Keras)

Supervised machine learning uses labeled data to train models for classification or regression over a set of targets. The performance of a model is a function of the data that is used to train it. The less data that is available, the harder it is for a model to learn to make accurate predictions on unseen data.

Read the rest of the article at Mindboard’s Medium channel.

ByEric Muccino

Visualizing How Convolution Neural Networks “See”

Convolution Neural Networks (CNN) learns image regognition the way human visual system does. It scans images by using filters which recognizes a unique feature. A little deeper layers identify low level features such as curves and edges, while the deeper layers idtentifies high level features such as eyes or windows. We use Keras library to visualize what CNN are learning to look when making a certain classfication.

Read the rest of the article at Mindboard’s Medium channel.

ByEric Muccino

Generating Adversarial Samples in Keras (Tutorial)

As deep learning technologies power increasingly more services, associated security risks become more critical to address. Adversarial Machine Learning is a branch of machine learning that exploits the mathematics underlying deep learning systems in order to evade, explore, and/or poison machine learning models. Evasion attacks are the most common adversarial attack method due to their ease of implementation and potential for being highly disruptive. During an evasion attack, the adversary tries to evade a fully trained model by engineering samples to be misclassified by the model. This attack does not assume any influence over the training data.

Evasion attacks have been demonstrated in the context of autonomous vehicles where the adversary manipulates traffic signs to confuse the learning model. Research suggests that deep neural networks are susceptible to adversarial based evasion attacks due to their high degree of non-linearity as well as insufficient model averaging and regularization.

Read the rest of the article at Mindboard’s Medium channel.

ByEric Muccino

Active Learning for Fast Data Set Labeling

Active learning is a special case of machine learning where a model can query a user for input. In this post, we will see how we can use active learning to label large data sets. For most machine learning tasks, large amounts of labeled data is needed is need for model training. However, the process of labeling data can be extremely time consuming and/or expensive. Using active learning, we can leverage a classification model to do most of the labeling for us, so that we only need to label samples when it is most needed.

Read the rest of the article at Mindboard’s Medium channel.

ByEric Muccino

Convolutional Generative Adversarial Network: “EyeGaze” Image Generator

A generative adversarial network (GAN) is a system composed of two neural networks: a generator and a discriminator. The discriminator takes a data instance as input, and classifies it as ‘Real’ or ‘Fake’ with respect to a training data set. The generator takes Gaussian noise and transforms it into a synthetic data sample with the goal of fooling the discriminator. The discriminator learns to classify samples as real or fake. The generator learns from errors in failed attempts at fooling the discriminator.

Read the rest of the article at Mindboard’s Medium channel.

ByEric Muccino

Investigating RNN Memory Stability

A Recurrent Neural Networks (RNN) is a class of Artificial Neural Network that contains connections along a temporal axis, producing a functioning memory of prior network inferences that influences the network’s output. Two of the most common types of RNN are the Long Short-Term Memory (LSTM) and Gated Recurrent Unit (GRU) cells. LSTMs and GRUs are designed for long-term memory capability. In both cases, the RNN cell maintains a hidden memory state that undergoes an alteration after every inference call.

Read the rest of the article at Mindboard’s Medium channel.

ByEric Muccino

LSTM vs GRU: Experimental Comparison

A Recurrent Neural Network is a type of Artificial Neural Network that contains shared neuron layers between its inputs through time. This allows us to model temporal data such as video sequences, weather patterns or stock prices. There are many ways to design a recurrent cell, which controls the flow of information from one time-step to another. A recurrent cell can be designed to provide a functioning memory for the neural network. Two of the most popular recurrent cell designs are the Long Short-Term Memory cell (LSTM) and the Gated Recurrent Unit cell (GRU).

Read the rest of the article at Mindboard’s Medium channel.

ByEric Muccino

Input Window Size for Deep Recurrent Reinforcement Learning

Deep Recurrent Reinforcement Learning makes use of a Recurrent Neural Network (RNN), such as Long Short-Term Memory (LSTM) or Gated Recurrent Unit (GRU) based networks, for learning a value function that maps environment states to action values. Recurrent Neural Networks are useful for modeling time-series data since the network maintains a memory, learning to retain useful information from inputs of prior model inferences. Every time the model is called, the memory is updated in correspondence with the current inputs.

Read the rest of the article at Mindboard’s Medium channel.

ByEric Muccino

Scaling Reward Values for Improved Deep Reinforcement Learning

Deep Reinforcement Learning involves using a neural network as a universal function approximator to learn a value function that maps state-action pairs to their expected future reward given a particular reward function. This can be done many different ways. For example, a Monte Carlo based algorithm will observe total rewards following state-action pairs from a complete episode to make build training data for the neural network. Alternatively, a Temporal Difference approach would use incremental rewards from single time-steps and bootstrap off of predicted future rewards from the latest version of the value function model. However, no matter what approach is taken, it is important that the neural network is being efficiently fitted to the data in order to optimize the learning algorithm. There are many factors that determine a neural networks ability to fit to training data. In this post we will examine how scaling our outputs can affect our rate of convergence.

Read the rest of the article at Mindboard’s Medium channel.