Deep Learning provides for an inherently fascinating subject, and one that I just love to geek out upon. In my last LinkedIn post I spoke of Deep Learning in and as it relates to Web Development (you can read that particular blog post here Deep learning and Web development) today however I want to take a look at deep machine learning. (There are to many synonyms, indeed!)
Deep machine learning in a nutshell
Deep Learning has provided for amazing achievements within realms that span from speech perception to object recognition. But it’s far from a branch of commuter science that makes for light, easy to understand reading. So here’s my definition of deep machine learning in its most simplistic sense.
Machine learning is the art form of making computers act free from explicit instructions (such as following a specific line of code for each and every action within a program).
Deep machine learning is then the science of programming a computer to learn in much the same way that the neural networks within a human brain works – through many layers and parameters. It is then very much our closest form to truly achieving artificial intelligence.
Deep Learning in (a lot) more detail
Delving into Deep machine learning further we find three core concepts: compositions of layers, end-to-end learning and distributed representation. Let’s take a close look at each.
Compositions of layers
Multiple layers of representation can, again, perhaps best be understood from how a human brain learns, and the neural networks within it that operates upon multiple understandings from a single sensory input, such as the sound of a word (this analogy within the field of deep learning is a pretty consistent occurrence, after all much of what has already been achieved is working towards Artificial Intelligence). And from the speaking of a word to the brain’s understanding there are multiple hidden layers that connect the two, which is exactly the same as with any deep machine learning process.
Perhaps one of the most important things to appreciate about multiple layers of representation is that it’s overcome much of the previous issues faced when computer scientists modelled neuron networks and today instead of simply classifying data they can instead generate the data models for themselves.
End-to-end learning
Prior to deep machine learning, and within much of the earliest work upon speech recognition, there lay a problem with how densely connected the layers of representations were. This issue, even experienced by the Google speech API, additionally resulted in such systems overfitting (which, to you and I, are plenty of random errors).
Today deep machine learning features end-to-end learning that can allow a computer to learn free from intermediaries and significant human expertise. And as a perfect example of this is the way in which speech recognition advanced with deep learning free from the previously cumbersome (yet necessary) phonetic representations.
Again we can go back to our human brain analogy to consider how a brain develops over time and the way that these changes affect our extraction of information from the stimuli in question. Take Primary school children as the perfect example – they learn their first words phonetically. This then compares to fully fledged adults who are fluent in English who then are free from working out words through a drawn out process that begins with phonetics.
Distributed representation
Algorithms for deep learning are, in essence, applications of the concept of a distributed representation. The idea behind a distributed representation is that observed information is the result of a multitude of factors that work together to produce the outcome. It transforms what would otherwise be humongous amounts of data into a streamlined team of data combinations.
Let’s take a simple example: you want a computer to store data about a collection of vehicles.
- First you have a large blue Ford.
- Second you have a massive white Volkswagen.
- Third you have Lightning McQueen the car from the Disney film Cars.
- Fourth you have a large red Vauxhall.
Working this way you would need to store each of these to a single computer memory unit. And of course with each Disney car, BMW or any other vehicle you add this is going to add up to a whole load of data units. Not very efficient, right?
Let us then imagine a fresh way of storing these vehicles. We could use three memory units: one to describe the size (small, medium, and large massive and Disney Cars), the next to store the colour and the third to store the make. We can then store all the vehicles we wanted, all with the very same three memory units. This resourceful way of working is an example of distributed representation. In the most basic sense this then represents groups of neurones working together. And it’s another seriously efficient example of deep machine learning in action.
So, if you’re ready to partner with a web developer who can truly harness the potential of deep learning then let’s connect.
Email – michel.herszak@gmail.com
Twitter – @MHerszak (twitter.com/MHerszak)
Want to know about the way in which I work? Great, you can get started with an overview of just how I approach a project right here.