Is Deep Learning Suitable For Your Business?
Many people are under the impression that Deep Learning is restricted to the realm of the big players in data-driven business such as Google, Microsoft, IBM, and Apple.
It is no secret that these powerhouses are utilizing Deep Learning for a variety of applications from improving search results to streamlining business processes. As their systems become smarter through the use of this technology, their customers benefit, but is there a practical way for SMB to get involved at the ground level? Indeed, there is.
We have a long way to go before we can let an AI run our organizations or do our jobs for us.
However, we can use machine learning and deep learning to assist us in doing our jobs better so we can focus attention on more critical ones.
9 ways machine learning and deep learning can help us:
- Accomplishing more in a shorter time
- Reducing errors
- Identifying new opportunities
- Signing new customers
- Quick image and video classification
- Keeping existing customers
- Enhancing customer experience
- Improving quality of product/service
- Running essential data-crunching tasks
In deciding whether to invest in deep learning technology, there are several questions that you need to ask. Most importantly, you want to know what you can accomplish and how much it’s going to cost. If you can’t generate new revenue or find ways to improve current processes and save money, then the investment will not be worthwhile. At this point, some people dismiss the technology out of hand, but only because they have not properly considered what machine learning and deep learning can do for them.
When people hear terms like data science, machine learning, deep learning, and artificial intelligence they are sometimes overwhelmed. Perhaps they do not understand the technology, or what these terms refer to, or even whether they can be used interchangeably. In actuality, many of these things are simpler and more practical than people realize. A basic understanding can be gleaned from the article: Deep Learning vs. Machine Learning vs. Data Science: How do they Differ?
With ambiguity and the unknown out of the way, it leaves the question of whether or not there is a benefit to be had through investment in deep learning.
Why Should I Invest in Deep Learning?
Like many investments, the choice to adopt deep learning technology comes at a cost. Costs come in the form of hardware and software, training staff, and time. While there are plenty of options to consider and evaluate, there are some preliminary inquiries that need to be made. The single, most important question should be: what can deep learning do for our organization?
In the absence of suggestions from a consultant or knowledge of what is happening in other organizations, it can be difficult to understand what deep learning is capable of, as well as its limitations. Before looking at specific use cases to see if they can be applied within your environment, it is first pertinent to consider what it is that you want to accomplish.
What Do I Want to Accomplish with Deep learning?
If you’re interested in saving money then it may be useful to look at the optimization of business processes. Consider these questions.
- Are there repetitive tasks that can be automated,
- Is there potential for workflows to be developed to help streamline day-to-day tasks?
- Can an OCR assist with speeding the data entry of invoices or other documentation?
If you are interested in improving safety then you may want an automated way of watching the manufacturing floor. Has there been a spill that has not been noticed or cleaned up? What about out-of-place items that are blocking an otherwise safe path? Would it be of value to train a system to look for people not wearing proper safety equipment, or operating machines in an unsafe way?
Saving money and improving safety are good areas to focus on, but they aren’t the only ones. You might still be interested in standardizing your operations to improve both consistency and reliability, or improving the customer experience to boost satisfaction and build loyalty.
These are just a few specific examples to consider, but this might get you to thinking about the problems in your organization and how they can be framed in order to determine how the right deep learning system can help.
What problems am I solving that deep learning can help with?
Deep learning can definitely help tune-up data-driven companies, but what if you aren’t sitting on a data goldmine? Then maybe your next step is to figure out how to best quantify what you do. Below are some examples to mull over.
Automated Customer Support
Customer help desks such as level one technical support are being augmented through the use of intelligent chatbots and streamlined workflows. These customer-facing systems are not the automated attendants of days past. Static systems with pre-recorded messages did little more than present a series of menus to steer customers in the right direction. An evolving NLP-powered helpdesk and knowledge base will be able to identify problems based on similar historical events, either resolving them or forwarding requests to the appropriate team. They not only empower the customer but help to identify and prioritize issues that need to be fixed.
To highlight the difference in a deep learning-enabled expert system, imagine that the knowledge base for a mature product is static. In other words, the majority of issues that are resolvable at this level have fixes available, and these are automatically given as responses to those with matching complaints. Suddenly, a new version is released and there is a flurry of activity in the form of technical support requests. This is the hallmark of a brand new error.
With the new queries not having a known resolution, the support will automatically be escalated. The helpdesk may not be able to solve the problem immediately, but the development team benefits from the statistics and other relevant data collected from the users. When the problem is fixed and the appropriate updates are issued, the historic record will be intact, but concept drift leads the AI into new territory as the focus shifts elsewhere. Such a system will make extensive use of machine learning and deep learning to help to identify, categorize, and prioritize problems, not to mention recognize what the client is saying and, in turn, respond in a dynamic and intelligent manner.
Of course, an interactive application that uses machine learning is not the only option. In fact, harnessing the power of deep learning can be done with a much smaller investment in terms of development time. One of the easiest ways to get started is to first create your own dataset, and then see what is hidden within it.
Generating your own mineable dataset
Before using deep learning to mine your data, you can use exactly the same technology to gather it. The difference is that you aren’t starting with information that has been collected in a fashion that is easily machine-readable. Perhaps you have daily-recorded video from cameras in a warehouse or thousands of hours of customer telephone conversation recorded for quality assurance. Or, you have thousands of images that can be classified to train a deep learning or machine learning system to quickly scan new images for what you’re looking for. Is there a way to re-purpose or take further advantage of this investment?
For Professional Sports Teams/Organizations
Sports teams can generate relevant data about player performance using computer vision technology. A deep learning system that watches a specific match-up will generate objective spatial and relative data to discover relevant features, including specific players and their actions. This game data can be used to identify gaps in player performance and figure out how best to fill them with the addition of other players, new training techniques, a change-up of coaching or leadership, or other techniques or practices.
For Retail Shops (Nordstrom, Macy’s, etc)
Retail firms can use speech recognition and NLP (Natural Language Processing) to create relevant features from customer support calls. A deep learning system analyzing these conversations might be able to determine a person’s receptiveness to unsolicited sales calls, or pinpoint customers who would be interested in features relevant to a particular foreign language.
These same techniques can be used in many industries to create data and solve problems. Assembly lines can be optimized, traffic flow can be monitored to optimize delivery routes, virtual pit bosses can watch for card cheats in a casino, and robotic call monitors can offer rewards to irate customers to help improve their overall experience.
These use cases may seem trivial or inapplicable to your business, but with some thought and perhaps a few suggestions from a data scientist, along with access to a deep learning system, you can join those who have already begun improving efficiency and growing to embrace this new way of doing business.
What’s the Cost of Entry & How Much Will it Cost to Get Started?
Once you set your sights on a problem and what it is that you want to accomplish, the questions turn to the deployment model, cost, and budget. The deployment model refers to a deep learning system that is either on-premises or cloud-based. These questions are closely related because the overall cost depends on the deployment, and in turn, this is at least somewhat defined by the budget.
Costs to consider
- Deployment model
There are the basic hardware and software costs that vary depending on whether the system is on-premises, in the cloud, or part of a hybrid environment. While there are valid points that favor an on-premises solution, there is always the option of offloading some of the work to cloud-based deep learning systems in order to save time. Perhaps your on-premises system is for development and building PoCs, with the production-level work being done in the cloud. Or alternatively, for that one extra-large dataset, employing a cloud-based solution is more cost-effective. Perhaps regulations require the data to be only on-premises in order to ensure compliance, but the training of third-party data can be done off-site. In any case, if the deployment is on-premises or a hybrid model is being used then hardware capability, scalability, and cost all need to be considered.
- Building your on-premises platform
When it comes to putting together a deep learning system, there are many aspects to consider. Clearly, budget is a factor. However, scalability and the ability to grow your system is an important element that should not be disregarded. The ultimate success of your on-premises solution will depend on the planning and components that go into building it, so this is something that is worth the time spent researching.
- Staff and training
People need to be employed to configure, run, monitor, and collect results from the system regardless of the deployment model. If the team has insufficient experience then there may be a need for training or the hiring of consultants. Perhaps a data scientist, researcher, or engineer would make a valuable addition to the team?
The number of people required can vary greatly depending on the project. Even for multiple problems and multiple datasets, one person may be sufficient. At the same time, if your project is multifaceted and would best be served by combining expertise from different fields, then your team size will necessarily increase.
Not every member of the deep learning group will be required to operate the hardware or use the algorithms, which will save time and money when it comes to training. In the long run, however, some overlap and redundancy in terms of skills between team members is not a bad thing and should be considered as part of a long-term plan.
Deep learning software is an aggregate term for deep learning frameworks, programming libraries, and computer applications. This distinction matters because the skillset required for using them is different. A non-technical person may well be able to use an application that keeps the details of the algorithms hidden, concentrating only on supplying data, collecting results, and then applying them. At the lower level, it requires a software developer to make use of frameworks or libraries. As your deep learning success and experience grows, it is not difficult to imagine a team that has different people for these roles.
When building your own deep learning system, it would be beneficial to include open-source software solutions that can help propel your work. Open-source solutions are generally free to use as long as you follow their license agreement, and can save an incredible amount of time from building your own solution from scratch. Some of the more popular and well-supported platforms are TensorFlow, Keras, and PyTorch. A helpful comparison to understand the differences can be found in the article: TensorFlow vs PyTorch vs Keras for NLP. These can all be installed, along with the programming languages and lower-level libraries, when the system is built.
- Open-source datasets and synthetic dataset generation tools
While there has been some discussion on creating your own datasets using deep learning tools such as computer vision and NLP, the value in using additional data for training cannot be understated. Consider, for example, a system that performs sentiment analysis on the voices of customers in order to gauge their level of satisfaction. Without doubt, it would be helpful to train on a large set of data in advance of putting such a system into production. This would save considerable time and effort, making it much more cost-effective. Furthermore, there are many open-source datasets that exist for this very purpose. Taking advantage of data for which a great deal is already known will help to reduce the time to production, bolster reliability, and save money. One valuable resource for open-source datasets is the Kaggle Repository.
While open-source datasets are plentiful, they will not suffice in every situation. Sometimes the data that you need to train your deep learning models is proprietary and thus not generally available, only available commercially, globally scarce, or does not exist at all. You have the option to create your own, but what if you do not have enough raw data to train with? One of the ways to deal with this problem is to create synthetic data. This can be done manually through software coding, but there are helpful applications and frameworks like Scikit-Learn that can assist in this regard.
Deep Learning and Machine Learning systems are having a positive impact on business, both large and small. All companies have problems, and the key to taking advantage of this technology is framing one of yours correctly. Once you know what it is that you want to accomplish then it is time to begin.
There are plenty of things to consider including your deployment model, the components you need to guarantee both capability and scalability, recruiting or training staff, the availability of data – both your own and third-party, and ultimately the cost.
Open-source software, tools, and datasets are available to help build your experience, speed your time to production, and get the best value for your investment. They are an invaluable resource that is constantly growing in a field that will not be dwindling in popularity for the foreseeable future.
For a more complete look at what we have discussed here, please see our eBook on Getting Start With Deep Learning. This will help you to better understand the processes and what resources are available to start you on your journey.