Figure 1: Network with point-estimates as weights vs Network with probability distribution as weights. Source

This post is the first post in an eight-post series of Bayesian Convolutional Networks. The posts will be structured as follows:

  1. Background knowledge needed to understand Bayesian Neural Networks better
  2. Some recent work in the field of Bayesian Neural Networks
  3. Bayesian Convolutional Neural Networks using Variational Inference
  4. Build your own Bayesian Convolutional Neural Network in PyTorch
  5. Uncertainty estimation in a Bayesian Neural Networks
  6. Model Pruning in a Bayesian Neural Network
  7. Applications in other areas (Super Resolution, GANs and so on..)

The blogs will be released every month starting first-week January 2020. Stay tuned! Also, feel free to check the post on ‘Why the World needs a Bayesian perspective’.

Let’s start this series by understanding the need for Bayesian Neural Networks in this blog.

Problem Statement


This post is the second post in an eight-post series of Bayesian Convolutional Networks. The posts will be structured as follows:

  1. Background knowledge needed to understand Bayesian Networks better
  2. Some recent work in the field of Bayesian Neural Networks
  3. Bayesian Convolutional Networks using Variational Inference
  4. Build your own Bayesian Convolutional Network in PyTorch
  5. Uncertainty estimation in a Bayesian Neural Network
  6. Model Pruning in a Bayesian Neural Network
  7. Applications in other areas (Super Resolution, GANs and so on..)

It is highly recommended to read the first post about the need for Bayesian Networks before proceeding further. Also, check out the post ‘Why the World needs a Bayesian perspective’.

Let’s start this post by breaking Bayesian Neural Networks into Bayesian and Neural Networks.

Bayesian inference forms an…


This post is about our recent work focusing on application of various transformer-based architectures on Indian languages.

Our paper has been accepted at ML-RSA @ NeurIPS 2020. 🥳

This blog begins with an overview of modern Natural Language Processing (NLP) and how NLP has evolved and progressed in the deep-learning era. We then move onto the premise of our work, the linguistic disparity in NLP research and highlight some relevant work in NLP for Indian languages. Finally, we delve into the details of our contributions, experimental setups and share some key insights from our research.

This work was done jointly…


Natural language understanding (NLU) is a branch of artificial intelligence (AI) that deals with understanding human language.

The NLU is used to accomplish two main tasks: to identify the intent behind what a person is saying, and to generate a response based on the identified intent.

In simple terms, the intent is an action or task that the user wants to accomplish. Based on the users’ needs, the NLU software provides a text or a voice response. In any case, it should be tailored to the user’s needs.

If the user wants to “check” a movie’s rating, its response should be the movie’s rating (e.g. “The movie was rated as PG-13”).

Who is using NLU?


Source

As with every other story nowadays, ours also begins with the COVID-19 quarantine. This project is a result of bored, but motivated AI enthusiasts. This may not be as impressive as the roof garden that Andrew built, or the new customization on Indian scout Bobber by Kate, but its a start. Before we waste any more of your time, let us start with what exactly this project is. And why, if any, you should give a frick about it.

This project is aimed at developing an application that detects toxicity in an online conversation. This project is inspired by the…


Source: Xkcd

This post is a part of the series Bayesian Neural Networks (Check Post1 and Post 2) that covers some history of Bayesian-ism and why we need to see the world through a Bayesian perspective.

We take for granted that the cases are equally possible, that is to say, that each case can occur as easily as any other. — Jakob Bernoulli, Ars Conjectandi 1713

Do certainties exist?

On a fine Friday evening, a group of four friends were enjoying a fine game of poker. In no time, the game gets serious. Some fine amount of money was on the table. …


F1 Score comparison of various platforms with our method on three datasets

This blog post shows the state-of-the-art results in Intent Classification obtained on the three corpora:

  1. Web Application Corpus
  2. Chatbot Corpus

The notebook with the code and results is available here:

If you already have a basic understanding of the Intent classification for text, check out the original paper:

This post is divided into two parts:

1 we used a count based vectorized hashing technique which is enough to beat the previous state-of-the-art results in Intent Classification Task.

2 we will look into the training of hash embeddings based language models to further improve the results.

Let’s start…


#1 in Plant Seedling Classification

This post is about the approach I used for the Kaggle competition: Plant Seedlings Classification. I was the #1 in the ranking for a couple of months and finally ending with #5 upon final evaluation. The approach is pretty generic and can be used for other Image Recognition tasks as well.

Kaggle is a platform for predictive modelling and analytics competitions in which statisticians and data miners compete to produce the best models for predicting and describing the datasets uploaded by companies and users. …


This post is in continuation of the previous post : How to Version Control your Machine Learning - I. If you have not read the previous post, I would recommend to have a look at the previous post to understand the terminologies better.

For the Ninjas out there in Version Control and Machine Learning, you can go ahead.

By now, we already know the importance of Version Control, let’s go ahead and implement it to see the real use.

Before going ahead, make sure that we have DVC installed in the system. We can check that based on the operating…


What is Version Control ?

A component of software configuration management, version control, also known as revision control or source control,[1] is the management of changes to documents, computer programs, large web sites, and other collections of information. Changes are usually identified by a number or letter code, termed the “revision number”, “revision level”, or simply “revision”. For example, an initial set of files is “revision 1”. When the first change is made, the resulting set is “revision 2”, and so on. Each revision is associated with a timestamp and the person making the change. …

Kumar Shridhar

NLP Researcher @ {NeuralSpace.ai , ETH Zürich} | kumar-shridhar.github.io

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