Generate the next sentence using Temporal Convolution Network. (TCN)

Sequence Model

Temporal Convolution Network is a variation of Convolution Neural Networks for sequence modelling tasks. It is a strong alternative to RCNNs (Recurrent networks) and does not suffer from vanishing or exploding gradient problems.

TCNs are implemented using Dilated Causal blocks. Causal Blocks are convolution blocks that can only look into the past and not into the future. TCN is thus an Auto-Regressive model. Causal Blocks prevent the model from cheating by directly looking at the next word!


Prediction Digits (Source)

ResNets or Residual Networks was introduced by Kaiming He, Xiangyu Zhang, Shaoqin Ren, Jian Sun of the Microsoft Research team (Link to the paper). It solved the degradation problem when neural networks are too deep by introducing skip connections or shortcut connections.

The Degradation Problem — When a model gets deeper, after a certain point, the accuracy of the model starts decreasing. This happens because as the model becomes too deep, it becomes difficult for the layers to propogate information from shallow layers and the information is lost.

From the ResNet paper:

When deeper networks are able to start converging…


In my earlier post, I covered what Federated Learning is at a broad level. Here, I will walk you through how to set up your own Federated Learning based model using a framework called Flower.

We will look at a cross-device and asynchronous design. This is very similar to GBoard and Siri, where a local model resides on the edge device (your phone/ mac) in this case.

Federated Learning

Let’s jump right into the components needed to build your own model. A federated learning system needs two parts

  1. Server
  2. Client.

The Data Scientist has full control over the server. The server hosts…


In this blog, we will look into some commonly used data augmentations.

We will be specifically looking at Pytorch augmentations and Albumentation Augmentations.

You can find the code here.

We will be using the image of this dog.

image used for augmentations

Let’s load the image.

import cv2
import albumentations
image = cv2.imread('image_path')
plt.imshow(image)

Let is look at some common transformations from albumentations.ai. To define an augmentation pipeline, you need to create an instance of the Compose class. As an argument to the Compose class, you need to pass a list of augmentations you want to apply. …


What is Federated Learning?

Federated learning is a machine learning technique that collaboratively trains an algorithm across multiple decentralized edge devices (desktops, mobiles, tablets, IOT devices, etc.) or servers (data silos) holding local data samples, without the need for sharing the data or centrally aggregating them.

This approach is in contrast to classical Centralized ML techniques where all the datasets residing on edge devices are uploaded to one central server. Federated Learning also differs from Distributed ML, where the expectation is that the local datasets will be identically distributed with more or less constant availability of the nodes.

Some of…


Our Use Case: was to generate key phrases (bi-grams or tri-grams) from reviews instead of generating 1 word topics. 1 word topics do not give a wholistic view of what is being talked about a product in the market but a phrase helps us understand more about whether the words are being talked about in a positive or a negative sense. I started with topic-modeling using n-grams and also tried generating high frequency words with tf-idf and Rake which did not result in phrases which actually captured the high frequency phrases.

Therefore, I decided to build up from scratch instead…


Today I am going to talk about how to get data from your website aand store it in redshift using AWS server-less architecture. This is probably the easiest and fastest way to start processing your data and build your backend quickly.

Let’s start with building a simple GET restpoint.

  1. Open the AWS console and go to API Gateway.
  2. Select the HTTP API and select BUILD. The HTTP api supports lambda and gives CORS support out of the box.
  3. Now give your api a name and we are good to go. For this tutorial, i will name it “test”.
  4. It will…

I am a software developer and quarantine for me only meant taking my work home. During these four months of quarantine, my perception of myself changed a lot.

When quarantine started, my life and the routine it had was suddenly disrupted. Let me give you a picture of my life before quarantine. On weekdays, I used to wake up everyday at around 8am. Got ready went to office, we used to play the various indoor games in the premises for about an hour. Then I would start working till lunch-time which was a time where our team sat together and…


I finally got a raspberry pi 4 and started playing around with it. My first project was to automate the lights in my room. Then I thought of building myself a series of robots. I started with trying to build a line following robot but got stuck trying to run the motor with rasapberry pi 4. There were too less tutorials for a newbie like me to understaand fully how to make all the connections. So I thought of writing my blog to make life of others like me who have just bought a raspberry pi easier.

In this tutorial…


The recent boom in e-commerce has created active electronic
communities where consumers share their thoughts about the
product and the company. These reviews play a very important
part in building an opinion about the said item. For a
popular product or service, there might be thousands of reviews,
making it difficult for the customer to make an informed
decision about the product. Today, we try to surface out the
reviews that are outliers to the general cluster of reviews(for a short period of time). …

Ankita Sinha

Hi I am Ankita. I work at Intuit India. I am passionate about machine learning and artificial intelligence.

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