Hands-On AI Part 2: Ideation

Published: 07/13/2017   Last Updated: 07/27/2017

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.

Microsoft* Cognitive Services
Microsoft Emotion* API

Google* has an API that can extract more information about the image, but seems to be less accurate at scoring emotions.

Google Cloud Vision* API
Compare Other Emotion APIs

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:

DeepJazz

BachBot

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.

Conclusion

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

 

View All Tutorials ›

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.