An Alternative to Deep Learning? Guide to Hierarchical Temporal Memory (HTM) for Unsupervised Learning

Deep learning has proved its supremacy in the world of supervised learning, where we clearly define the tasks that need to be accomplished. But, when it comes to unsupervised learning, research using deep learning has either stalled or not even gotten off the ground! There are a few areas of intelligence which our brain executes flawlessly, but we still do not understand how it does so. Because we don’t have an answer to the “how”, we have not made a lot of progress in these areas. If you liked my previous article on the functioning of the human brain to create machine learning algorithms that solve complex real world problems, you will enjoy this introductory article on Hierarchical Temporal Memory (HTM). I believe this is the closest we have reached to replicating the underlying principles of the human brain. In this article, we will first look at the areas where deep learning is yet to penetrate. Then we will look at the difference between deep learning and HTM before deep diving into the concept of HTM, it’s workings and applications. Let’s get into it.

G-Rap: interactive text synthesis using recurrent neural network suggestions

Finding the best neural network configuration for a given goal can be challenging, especially when it is not possible to assess the output quality of a network automatically. We present G-Rap, an interactive interface based on Visual Analytics principles for comparing outputs of multiple RNNs for the same training data. G-Rap enables an iterative result generation process that allows a user to evaluate the outputs with contextual statistics.

I tested all intelligent IDEs (and ended up disappointed)

Artificial intelligence is going to change the way software is developed. I think most of us can agree with this (a couple of opinions and even a new conference on this exact topic). But I wanted to see if, right now, there is already something useful for the regular developer. So I searched for all so-called intelligent/smart “copilots” for developers and tried to accomplish a “simple” programming task with their help: opening and reading a local text file. This is something simple enough for them to be able to help and that, at the same time, a task complex enough (for me) to make me look it up online every time I have to do it (I never manage t remember the names of the classes to be combined for this). Reading the description of smart IDEs (“understands the world’s code and provides you with the right suggestion at the right time” , “analyzes all the code on the web and gives you fast, smart completions ordered by popularity”), it seemed that my little experiment would be a great success. But it wasn’t. Let’s dive in the tools I tried (in no particular order, let me know if I missed any!).

Just a short joke that explains what machine learning is about

Interviewer: what’s your biggest strength
Me: I’m an expert in machine learning.
Interviewer: What’s 9+10
Me: It’s 3.
Interviewer: Not even close. It’s 19.
Me: It’s 16,
Interviewer: Wrong. It’s still 16.
Me: It’s 18.
Interviewer: No it’s 19.
Me: It’s 19.
Interviewer: You’re hired!