Learning in 2018

So, this is a follow-up post from my earlier post on learning which you can read here.

What has changed since January, well I started dissecting text and speech (or nlp and asr for the 3 letter proponents). What I realised in the process was that a lot of information seems quite foreign when you try to chew on something which doesn't fit your jaws. Learning how to understand language and speech was like that and I got bombarded by the sheer volume of ideas and concepts I had to absorb.

As I reflected in the previous post, learning by doing is one of the best ways of learning new things is to just pull up your sleeves and dive into practising them. While this is very satisfying and indeed takes you forward in the journey of understanding things. It is equally important to have a depth-full understanding of the concepts you are practising.

Why you may ask is it necessary to not just practice things but also understand them? Well couple of reasons, practising things gives you a peripheral coverage of the problem at hand without going into the depths of it. Over elongated periods of pure practising you start getting comfortable with the concepts but two things happen: a) You feel in-confident a lot of times on what you know and what you don't b) You start feeling averse towards going deep into the new thing you are learning. Point b is quite scary. Another thing which happens is if your problems are not in-depth you never go beyond a certain layer of the thing you are trying to learn. This is both good and bad.  A painter doesn't need to understand which chemicals compose the paints he has been applying. But a good painter should know what goes into his paints, that in-depth understanding is invaluable and we need painters who are not only proficient with their craft but are also proponents of them.

But you may also ask this: Any painter who keeps painting without reading up on the nature of paints will slowly but surely get a grasp on the chemical composition of paints, its there on the paint boxes, he will at some point make a connect that the type of chemical used in the paint and the surface he uses them upon have some correlation. This is quite true, slowly but surely practising can also give us that depth of understanding. But this is kinda scary in my craft technology or software development. Before you can get enough sweet time to spend with a particular paint (read software libraries) they may get outdated and a new advanced thing may take its place. In such a scenario the depth of understanding which can be really gathered very fast with reading becomes a fleeting entity. Many a times I come across web developers who have written in php, java, ruby and python with a lack of understanding of basic programming constructs like map / dictionary data structures or have a very flaccid understanding of protocols involved like HTTP etc. This is quite scary, these guys are now looking for senior leadership positions but are unsure of these very fundamental concepts. It may not necessarily affect their contributions to the organisation but it may hinder their chances of getting a foot in the door or may get stuck with a noble problem their approach can be quite naive and a well read engineer may even reject them as leaders (once they are able to see the lack of depth of their understanding on the core concepts).

So now that we have established learning not only breadth of things but also learning them in depth is imperative, I would like to share how we can achieve something like this in practice. If you have stayed this long thanks and hats off to you sire, you are destined for big things in life.

So the secret sauce, to quickly get depth understanding about any concept: Let's take ASR which is a fancy 3 letter for automatic speech recognition and just start reading about it. Soon you will come across monstrous 3-4 letter beasts like MFCCCTC, LSTM, HMM, LDA, MLLT and so on. Don't get scared by all these instead try to form a mental map of all these concepts and how they correlate to your problem (ASR). Now with these new beasts search the internet again try reading more about say MLLT  and see where it gets applied. Whenever something new comes up just add them the dictionary and keep the flow on. This will create what digital electronics practitioners also call a positive feedback loop. You would soon realise that depth is nothing but breadth in disguise. Try to reinforce this mental map by doing the same process over and over again. Keep bookmarking things into either the same bookmark folder or some classification you can find (like theoretical-non-theoretical, over my head - under my head, model related - practise related). Soon enough you would have gone through hundreds if not thousands of these articles. Its time to revise now, go through these bookmarks in a temporal fashion (the order in which you first read them). Then, go on a discovery reading spree with the new words / phrases you may have come across, keep bookmarking them and keep revising them, and continue this exercise again and again. This exercise will soon make you realise that you are now well practised with the jargon of the new field and have even started understanding a lot of them! In the process do not forget to put them into practise, since I do software development it is very easy to put things into practise (well at least a lot of times). 

Comments

Popular posts from this blog

Using cookies with HttpURLConnection

ffmpeg for Google Speech API

SPARQL