Deep learning is a category of artificial intelligence (AI) used to find patterns within various types of complex datasets which can include textual, audio, and visual data. Deep learning is often conducted using large cloud-based datasets and all of the major cloud providers have various branded deep learning products and there are also several open source libraries publicly available to support it.
Although it's a little in the weeds, the core test for whether something is "deep learning" vs. machine learning or artificial intelligence, deep learning is a subcategory of machine learning. The core test is whether the framework uses networked GPU (Graphics Processing Unit) to create synthetic neural networks. Seen visually:
There are two major categories of deep learning tools:
Open-source deep learning frameworks include the following:
Additionally there are a few now deprecated platforms worth calling out:
While open-source deep learning projects are generally the "roll your own" approach, they do still operate within cloud platforms. For example, AWS prominently offers support for MXNet, TensorFlow, and PyTorch.
In addition to supporting most (if not all) of the open-source deep learning projects, the major cloud providers (AWS, Google, Microsoft) all have their own deep learning tools. The difference between these and the open source projects is that they are encapsulated and bill-for-service based on utilization. As an AWS Consulting Partner, we've written extensively on AWS deep learning.
The advantage of using something within a cloud-based deep learning ecosystem (like AWS or one of the other majors providers) are:
When it comes to deep learning it may be temping to jump in and experiment at a low level, any commercial venture attempting to create a new algorithm is likely doomed to failure. As seen above, all the major players: Amazon, Google, Facebook, Microsoft are deeply involved in developing both the underlying platforms - and then using those platforms to underpin their commercial products, and they are continuing to improve their algorithms and expand their feature sets every month. So unless you have the resources to compete with some of the largest most innovative technology companies in the world implement, don't create.
If you know all this and still want to build your own machine learning algorithm or maybe you just want to understand the tech I recommend building on top of AWS SageMaker or perhaps even the "point-and-click" version SageMaker Canvas. It's easy to get an AWS account created and many services have a free tier. But be careful! It can be much easier than you might think to "leave the faucet on" and end up accidentally paying hundreds of dollars per month on something intended as a hobby project.