You've probably heard some of the recent successes of deep learning - beating the best in the world at Go, translating text on street signs on the fly, and turning selfies into Monet works of art.
It's easy to see how deep learning is an incredibly powerful tool for companies like Google, Twitter, Facebook, Amazon, and other giants with tons of data. Most businesses, however, don't operate at that scale, making managers of smaller businesses sometimes feel like capitalizing on deep learning is not feasible.
Leaving the hype aside, however, deep learning can have immense value for your company when implemented correctly. The same technology that powers self-driving cars can even help you win new customers, make recommendations, detect fraud, or decrease churn.
What is deep learning, anyway?
Before we dive in to some of its uses, it's important to understand this thing we're calling "deep learning". In deep learning, a multi-layered neural network learns abstractions from input data in order to predict some outcomes.
Neural networks aren't as scary as they may seem at first glance. Let's start with the single node of a neural network. This node takes in information from multiple sources and has one output. So, let's imagine a 'lunch' node that decides whether we should go out to lunch or just keep drinking coffee. We input information about the weather (it's raining), how much money we have (none), and how hungry we are (violently). Each decision has a particular weight (.1 weather, .45 money, .45 hunger). The lunch node combines these weighted inputs and, if they meet some threshold, it says we should go for lunch (output: 1); otherwise, we keep drinking coffee (output: 0). From our information, this node outputs a decision: today we starve.
All we do to build the network is chain together multiple nodes in one or more layers. Each successive node is making a decision based on the information from previous nodes, and therefore derives high-dimensional non-linear features: weighted combinations of weighted combinations of input. From there we use backpropogation to find the derivative of the cost function with respect to it's weights. You're still with me, right?
The takeaway here is that deep learning is, at it's core, multi-layered neural networks. From this basic foundation, we can build new architectures tailored to particular problems - convolutional neural networks, recurrent neural networks, deep variational autoencoders, generative adversarial networks, and so on.
How can I use this for my business?
Great - so you're now a deep learning expert. But using a hammer to stir your soup is not a great idea, unless, of course, you have inadequate iron intake. Knowing when to use deep learning and when to apply a different machine learning technique takes experience and skill.
Here are a few cases where deep learning might be the right tool for you, if you run a software-as-a-service (SaaS) business.
Keeping churn rates low is critical for SaaS businesses. One means of keeping churn low is to predict who will churn ahead of time and do something (e.g., offer an incentive, give them a call) that lowers the likelihood that they will churn. But even understanding when someone has churned is difficult. Most give up and resort to defining churn as 'didn't purchase for 30 days' or some other arbitrary metric. A more sophisticated approach to this problem is to instead predict the period within which you expect a customer to interact with your business, and if they fall outside of this range to consider them churned.
Recurrent Neural Networks (RNNs) offer us an excellent solution to the problem of predicting churn, as they're able to learn complex, nonlinear temporal patterns. We can use them to predict at every timepoint an individual customer's probability of remaining an active customer.
Convolutional neural networks (CNNs) have become the standard for image classification, segmentation, and analysis. Image classification can be used to categorize images (shirts vs blouses), detect misuse (unsolicited eggplant emojis), make recommendations (suggest someone who bought one shirt might want to look at another like it), and much more. While training an image classification model often requires substantial initial training data, pre-trained models for general image classification can often be fine-tuned for a particular task to produce great results.
With a flood of communication inbound and distributed throughout social media channels, understanding your customers and their sentiment becomes incredibly challenging. Sentiment analysis, a technique to identify and differentiate customer attitudes and trends in their variation, has incredible potential to improve your customer experience.
Deep learning offers state-of-the art techniques for language processing and sentiment analysis that provides substantial benefit over traditional language processing techniques. For example, using a standard technique which looks at words in isolation, text like "Their customer service was neither helpful nor competent" may be misclassified as positive due to the presence of helpful and competent. Using deep learning, we can construct models that build representations of sentence structure and classify sentiment based on the order and meaning of larger phrases.
Fraud and spam detection
Numerous companies are using deep learning to detect fraud and predict its sources to prevent fraud and spam. Deep learning offers a great solution for these problems as neural networks are capable of learning complex non-linear interactions and can generalize well to unseen data. Additionally, detecting fraud often requires a solution that can continuously adapt and learn. Neural networks are able to be continuously fitted in an online fashion, making them highly useful in this context.
And so much more!
There are many great uses for deep learning that remain to be seen. Have an idea but need some help implementing it? Contact us and we can help.