Thintelligence

The state of mind where a person does something without considering the consequences. The idea may seem brilliant at first, but the after-affects usually prove to be deadly. This phrase was invented by Michael Crichton in his book Jurassic Park (the character Malcolm says it)


Build your own image dataset from search engine

Finding or getting the right dataset is painful process. Here’s an idea : let’s scrape images from search engine.

Combination of category and variations would pull series of queries to wrest images from search engine, before download an image from an url.  Source code that scrape close to 1M of images overnight (I do not owned the code, however I think it is very useful). Really helpful to getting train sets for classifier.

The pipeline of developing dataset. Original diagram by D Grossman.

Read the details from the original post.


SketchUp : My first hour

Since the last three years, my top circles in the UK are artists and architects by genus. And of course, I am far disparate apart from them. I enjoy all of their works. Creative is one thing is that I have a strong keen and try to break free. I want to learn it.

Since the beginning, I asked few times and inform of my interest of learning 3D modelling. But I’ve been procrastinating..

 

The first start

Lately, I am learning bits of everything on arts and eventually invested (again) some interest in 3D.

5AM or so today, I shoved computer and dive. Finally I’ve installed SketchUp.

Oh 3D is mindblowing, man!

The real reason why I wanted to learn 3D is the hope to discover different types of patterns or way into my creative product. I only used the touchpad to draw the object as above. I’d say I quite familiar with tools like Sketch and Photoshop, so this is an entirely different world. Controlling in multiple axes environment is annoying, but hey – that what makes a 3D environment is 3D, right? I don’t have a mouse, so it putting more weight to the process.

After created object that not went as it should be, I thought I should learn to do real world objects, as what my architect friends do. So, I picked one thing that’s the most common and easy enough for me to make myself comfortable with control and SketchUp essential features. To simulate this, I drew a basic house.

Lets have a TV and dining table outside, why not 😊

I love arts. However, art and me is like a distant cousins. I’ve spent years to appreciate the concept and learn, but the result are always terrible and distasteful. Nonetheless, I still believe it is learnable.

Colors, typography, patterns and other bagful components.. Oh man, those things are very hard!


WordPress : Battling with the White screen of death

Updating a deaf theme (no within-panel update) should be easy job.

Just upload, renaming folder for transition, and hit refresh.

Blank screen. 😦

Nav to /wp-admin. Here is also white screen. And I had no backup!

I made mistake today. I accidentally renamed theme folder without deactivate the current theme first. The upshot? White screen of death. My friend Aqeel is on his way for an appointment for the project, possibly asking for collaboration for the website. And yet I updating the website.

The problem was, I hosted WordPress, naked, on DigitalOcean; with no cpanel, no PhpMyAdmin etc – putting more cream to challenges.

I learnt something. I also learnt there’s no clear way solution were found.

Here’s the way to solve this.

  1. Check the current_theme values on by accessing your database on wp_options. WordPress has fail-safe mechanism for this – if your current theme has problem, it will fall to another theme for that matter.
  2. Rename the intended theme as temporary name in wp-content. For example tweentyseventeen_new.
  3. This way, WordPress should load as it should because fail-safe exceptions are passed.
  4. If you’re lucky you will see your dashboard. Now change the theme. Fixed.
  5. If not working, rename plugins folder temporarily to disable all plugins. Repeat step one.

Moral of the story; do not maintain anything without backup.


Time versus word count


GitHub + Jupyter Notebooks = <3

I found new love! It’s everything in a box called; Jupyter (later version of iPython Notebook).

This is my first push a notebook to github. It automagically rendered into glory in Github. Made show-and-tell swifter with Markdown support.

Check this out!

Looking to get started? Simply commit a .ipynb file to a new or existing repository to view the rendered notebook. Alternatively if you’re looking for some inspiration then check out this incredible gallery of Jupyter notebooks.


I could’t afford Siraj Raval’s deep learning Udacity course. So, I curated his Youtube content instead.

It is sad. Because I can’t afford this £300 course, I could if the deadline did not fall this week. The course enrolment is ended today (20 Jan 2017), but if Udacity extends the date line until next week, I’d certainly able to do that. Sadly, this is probably a one time thing only at Udacity.

Who don’t know Siraj Raval? He is computer science version of Neville Medhora. He is one of the best youtuber in education — engaging, hilarious, non-BS style of teaching. Everyone loves him.

Anyway, based on the landing page — I notice most of the curriculum are resemblance with the content on YouTube. I haven’t watch everything yet, but, I know this is the closest equivalent what Udemy offers. So, I spent sometime to make this list;

It can’t be as complete as the course. This is the closest I could collect.

WEEK 1 Types of Machine Learning and when to use Machine Learning

Live Session: Linear regression from scratch

 

WEEK 2 Neural Network Architecture and Types

Live Session: Numerical classification from scratch
I assume this is basic classification. Siraj would probably feed data from classical csv, I don’t know.

 

WEEK 3 Cloud Computing and Sentiment Analysis

Live Session: Sentiment analysis from scratch and cloud computing detailed instruction

Sentiment :

Sentiment 2 :

 

WEEK 4 Math Notation and Recommender Systems

Live Session: Various math examples and recommender system from scratch

 

WEEK 5 Data preparation (cleaning, regularization, dimensionality reduction)

Live Session: Data prep from scratch

 

WEEK 6 Drone Image Tracking

Live Session: Image classification from scratch

 

WEEK 7 Prediction

Live Session: Stock Prediction from scratch

 

WEEK 8 Art Generation

Live Session: Artistic Style transfer from scratch

 

WEEK 9 Music Generation (LSTMs applied to Audio)

Live Session: Generating music from scratch

 

WEEK 10 Poetry Generation (LSTMs applied to NLP)

Live Session: Text generation from scratch
This is the closest with Poetry generation, using HMM.

 

WEEK 11 Language translation (sequence to sequence)

Live Session: Language Translation from scratch
Unfortunately, I can’t any topic on this on Sirajology. Hopefully, he will do this topic in the near future.

WEEK 12 Chatbot QA System with Voice

Live Session: Chatbot from scratch

A Tensorflow chatbot!

 

WEEK 13 Game Bot 2D (reinforcement learning via Monte-Carlo tree search)

Live Session: Game bot from scratch
There are many videos falls into this topic. Apparently, it is the most popular topic in Sirajology. Hence, I made a playlist.

WEEK 14 Image Compression

Live Session: Autoencoder from scratch

 

WEEK 15 Data Visualization

Live Session: Data visualization from scratch

WEEK 16 Image Generation

Live Session: Generative adversarial network from scratch

 

WEEK 17 One-shot Learning (Probabilistic Programming)

Live Session: One shot learning from scratch

 

All these are good supplementary prior to the course, I think. It’s still fundamental compared to a full fledge course with expert support. To Siraj Raval, I hope this post does not making you unconfortable. If it does, just let me know and I will remove it.
I would love to learn NN and GAN from Siraj (and also LSTM and Recurrent net to build translation chatbot into my native language?). However, I don’t have money because students like me are broke and don’t own much money.


Backpropagation inspired learning

If there is one thing we could learn from back propagation method in neural net is reverse engineering our daily learning process.

For example, if you are going to learn a complex topic. You could start with reading the technical (like Wikipedia) and so on. The problem is, that kind of materials are often messy and jumbled with even more technical (uh) and jargons. It will be overwhelmed before you reach an understanding of that particular topic.

Let’s take into more drilled example;

Say I would like to grasp a concept about Convolutional Neural Network; and I know the father of CNN is the Facebook AI Research director, Yann LeCun. Normally, I could go deep dive through his scholar page or his group publication site. But, that could take more time than I imagine just to understand a general concept and perhaps some comparisons. One easiest way I could do is browse to YouTube, and watch all of his interview or presentation about CNN. Usually, these presentations are present to a less technical audience (unless you watch academic one, still, it is simpler than reaching his papers from the beginning). Certainly, he will tone down the technicalities (and people friendly touch) so the audience could understand what the message tried to convey.

Usually, you will be able to learn the lower gradient of the complexity by his presentation or interview. Next, I will go to discussion site like Quora for more details before finally lead to his publications.

This way, you could learn faster and better. Remember the key here is FAST. I’m not saying that you do not need to learn the nitty-gritty or the bits and bobs of that particular topic, but these would like to push you in some way to get the better understanding and faster.

Elon Musk, also uses similar method becoming an expert-generalists in many, many fields. He starts first with the knowledge tree and gets the details later on. The structure is the most important part when you try to understand one substantial concept.

This easy hack is inspired by the same back propagation training method in the neural network. Learn the result or general picture first, and work backwards under its curtains.


Focus less

Found this powerful advice at Medium. I feel the need to re-post it here is a must. This post is credit to Dan Pedersen.

You cannot concentrate more, you can only concentrate less. You cannot try harder, you can only try less.

What does this mean?

It means that if you stop thinking about concentrating more, if you stop thinking about trying harder, you’ll do it automatically.

When we set up two targets – the thing we want to do, and the thing we are trying to do to make it happen, we lose focus and become distracted.

In other words, trying to concentrate more, or “trying harder,” actually distracts us from our natural ability to simply be in the moment and do it. In this sense, concentrating more equates to concentrating less and trying harder is equivalent to trying to try.

The Need To Win

When an archer is shooting for nothing he has all his skill. If he shoots for a brass buckle he is already nervous. If he shoots for a prize of gold he goes blind or sees two targets— he is out of his mind!

His skill has not changed. But the prize divides him. He cares. He thinks more of winning than of shooting— and the need to win drains him of power.

~Thomas Merton, The Way of Chuang Tzu


Epiphany

This piece is my commit to the practice of writing without thinking.

Since the past three or so, I’d found one small area that hasn’t been uncovered. It’s called small data or personal knowledge. I have the gut this one is imperative, and it generally appears people is joining into big data hordes. There are misconceptions of how big is big data is. The notion to grasp this is; big data is for machines, while small data is for human. One company is called Digi.me, has been a player year in this area. The company is focusing on archiving all personal user information into your own keeping. It might be similar to what I’m looking into, but the domain is relatively different.

It was an epiphany.

According to Forbes, small data is the genuine revolution. Forget about big data, because the real opportunity is the decentralised data wrangling. This area isn’t about large organisations running parallel software on thousand of thousands of servers, but about more people than ever being to ever collaborate effectively around a distributed system of information, which is a system of small beta.