A Tutorial Series for Software Developers, Data Scientists, and Data Center Managers. In this article, we explore the first key step in the AI development process: ideation. This involves the creative process of forming ideas and concepts for your project. But before getting started, you need to define what problem will be solved with your product and how you’re going to build it.
Step 1. Understand Your User’s Needs
Deep learning is a popular topic, but it still has an aura of mystery. The following questions can help you prepare for your first deep learning project:
- How can I apply deep learning to my product or business?
- What are the typical structures, duration, and milestones?
- What type of experts are required and how should the team be built?
- What hardware should be selected and how should it be set up?
- What software frameworks should I use?
- How do you measure the success of the project?
- How do you convince the decision maker to invest in AI?
- Are there existing step-by-step guides and code samples?
- Where can I find data sets?
- How I can improve the model if the out-of-the-box algorithm is not doing great?
How the data is generated and managed is an important consideration for a successful deep learning project.
- Large companies have a lot of data, but it is often siloed in corporate databases. To get access to and extract the data, the product manager often has to obtain permission from other departments.
- Small companies and startups may have no data yet, but they assume that "deep learning magic" is super-intelligent by default—a common misconception. Deep learning requires training data sets, which are preprocessed and labeled.
When designing a new product, try to find an idea that resonates with your customers and is a good fit with their needs.
Step 2. Brainstorm and Generate Ideas
Start by defining your goal or the problem you intend to solve with your idea. Our goal is to build an application that shows all the aspects of deep learning. During the brainstorming process, your team should come up with several good ideas, such as a small but useful mobile app with image recognition.
You might conduct interviews to identify specific challenges. For example, one person who recently visited Japan said, “Every time I bought something I had to think hard about whether the price was good and if I had enough cash.” Existing currency calculators make you enter data into the app, which is time consuming. To find a better solution, you conduct a brainstorming session. As a result, your team imagines an augmented reality app that recognizes price tags in a photo and immediately converts the prices in the image to US dollars.
Figure 1. Augmented reality currency converter sketch
Other ideas may be voice filters, AI for a shooter game, portfolio scoring for freelance designers, and other augmented reality prototypes.
Step 3. Search for Relevant Use Cases
As defined in Part 1, this developer journey is focused on an automated movie-making app that analyzes photos, detects emotions, and generates music based on these emotions. There are two deep learning applications in this project:
- Image recognition with convolutional neural network to detect emotions
- Sound generation with recurrent neural network to create music
There are several technologies in the market based on similar ideas. Microsoft* has technology that detects faces and scores the level of anger, contempt, disgust, fear, happiness, neutral, sadness, and surprise.
Google* has an API that can extract more information about the image, but seems to be less accurate at scoring emotions.
Using deep learning to generate music is also a popular application. You can read this review of deep learning music generators.
Below are samples of open-source music generators:
For our project, we will use the open-source code from BachBot developed by Feynman Liang (the creator of BachBot).
Step 4. Talk to Experts to Evaluate the Technical Feasibility of Your Idea
After talking to experts, you may find that both emotion recognition and computer music generation tasks are solvable with deep learning. But some implementations may take more time and consume more resources than others, such as generating music in real time based on a photo. The user looks into the camera, and the music is generated based on his or her mood. This idea is intriguing, but requires real-time computing and video streaming.
For our sample project, we'll use photos, not video, and analyze them without real-time processing. This project is not going to be a full-scale website or app, but the source code is open for everyone.
Ideation is the process of crafting an idea that is a good fit with the audience, technologies, and competitive landscape. A good product idea is a synthesis of business, art, science, and technology.
|Prev: Create Applications with Powerful AI Capabilities||Next: The Anatomy of an AI Team|
Create Applications with Powerful AI Capabilities
The Anatomy of an AI Team
Select a Deep Learning Framework
Select an AI Computing Infrastructure
Augment AI with Human Intelligence Using Amazon Mechanical Turk*
Crowdsourcing Word Selection for Image Search
Data Annotation Techniques
Set Up a Portable Experimental Environment for Deep Learning with Docker*
Image Dataset Search
Image Data Collection
Image Data Exploration
Image Data Preprocessing and Augmentation
Overview of Convolutional Neural Networks for Image Classification
Modern Deep Neural Network Architectures for Image Classification
Emotion Recognition from an Images Baseline Model
Emotion Recognition from Images Model Tuning and Hyperparameters
Music Dataset Search
Music Data Collection and Exploration
Emotion-Based Music Transformation
Deep Learning for Music Generation: Choosing a Model and Preprocessing
Deep Learning for Music Generation: Implementing the Model
TensorFlow Serving for AI API and Web App Deployment
Product and Performance Information
Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.