I love Colab. It’s a great replacement of a machine with GPU for ML/DL researchers. All you need is a Google account, and you’re good to go. You don’t need to buy a new system; GPUs on Colab get upgraded sometimes; install whatever library you like; you can share it with others or upload/update on Github (some researchers release codes on Colab). If you need space to store data or models, you can link it with your Google drive.

There are some issues with Colab but people come up with tricks for these and sometimes Google updates Colab to solve…


The highly non-linear structure of deep learning (DL) models make them effective at learning difficult tasks like scene understanding, text translation, and novel data synthesis. This also makes them very successful at reinforcement learning (RL) tasks like playing video games, which require interacting with the environment and learning. While many different approaches have been proposed and used for explaining (or interpreting) DL models, not all of them can be used directly for RL. RL models often predict value function or policy parameters, which are not as intuitive as labels in object detection. In this blog, I’ll give overview of Linear…


In this blog post, I am going to give a quick overview of the Local Interpretable Model-agnostic Explanation (LIME) tool (paper and code) by Ribeiro et al. It is aimed at explaining the decision-making process of machine/deep learning models. Before we jump into the specifics, let’s first understand what each of the terms means.

  • Local: There local explanations seek to explain the decision taken for a specific example. The other type, global explanations, explain the model itself (in other words, try to explain the decision taken for all the examples)
  • Interpretable: Interpretability and Explainability are the two types of approaches…

My aim in this blog is to give some behind the scene/mathematical introduction to the neural networks.

I believe that it is needed in order to build a good neural net model and to have reasonable expectations from it.

Neuron/Perceptron

What is it?

A: Just a simple equation

y=f(∑(xᵢ × Wᵢ)+b₀)

where,

  • y is the prediction
  • f is a non-linear function
  • xᵢ is the datapoint/input
  • Wᵢ is the weight, which will be learned
  • b₀ is a bias

Another way of representing

(Source: https://docs.opencv.org/2.4.8/_images/neuron_model.png)

Why is this math required?

We aim to find a combination of inputs and a transformation to help…


This post is next part of blog post at Medium (Part 1) and notebook at Part 1 notebook. Please make sure that you have gone through them as I will be using some concept from there.

In this part, I will focus more on embeddings as the concept seems obscure to beginners.

In last part, we have seen that we can use embeddings to learn representation for input. This concept will get clearer in this part.

Setup:
In this part, our aim is to pedict whether a given sequence of numbers contains ‘4’ or not. This is a classification problem. You…


This tutorial will take you through a basic understanding of the working of RNN. You can have a lok at Chris Olah’s blog on RNN to understand RNN architecture.

This tutorial is a copy of a jupyter notebook, link to which is given at the bottom. The style used here is similar: grey section followed by ‘In’ is a python code and following grey section (after ‘Out’) is the corresponding output.

We will be using a simple RNN for which the cell-equation (not a standard name) is:

Setup:
Our aim in first problem is to predict the sum of 3 numbers…


Keras is a high-level API over popular deep-learning frameworks like tensorflow, theano and CNTK. Although it is an excellent platform for beginners due to abstraction, the same advantage can become a problem while debugging.

In my personal opinion, you should write your keras model without bringing the backend functionalities into picture. For that, I prefer using functional model over Sequential models. As a brief introduction, in functional models, you need to mention the input to a layer and get the output to a variable.

Following is an example sequential model:

my_model = Sequential()
my_model.add(Embedding(max_features, embd_size))
my_model.add(LSTM(lstm_size, dropout=lstm_drop_rate, recurrent_dropout=lstm_drop_rate))
my_model.add(Dense(hidden_size, activation='sigmoid'))
my_model.add(Dense(1, activation='sigmoid'))…

Vishnu Sharma

Ph.D. Student@UMD. Robotics and Learning Systems

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store