Is Machine Learning Right Solution For Your Project?

How to Know if ML is a good fit for your project by Galliot

What is the "right tool" to solve your problem? - image by: galliot.us

Along with the extensive AI/ML use cases, it has various challenges to address first. Here is a framework for companies to know if Machine Learning approaches can help their business.

Published date: 12-18-2022

Are you new to Machine Learning and Deep Learning?
Explore our blog page or visit our solutions page for more examples of AI in practice.
Find out how to deal with data labeling requirements for building better AI applications.

Inspired by the book: “Designing Machine Learning Systems
by Chip Huyen

1. Introduction

In recent years, there has been a huge amount of excitement and hype around Machine Learning and Artificial Intelligence. People inside and outside the field thought they could solve any problem with these tools. However, ML is not a magic tool to solve all problems. Even for the problems that ML can solve, there might be many challenges. Therefore, in many cases, these misplaced expectations cause financial and time losses for companies.
This article presents a framework that can help companies determine if a machine learning or artificial intelligence approach is suitable for solving a particular problem or project. By using this framework, companies can make informed decisions about whether these technologies can benefit them or not.
Imagine you are a manager in a healthcare company that produces drugs or medical equipment and offers maintenance services. So how can you decide whether ML can solve your specific problems in your business or not? We try to approach this question in this blog post.

2. There Must Be Something to Learn

As its name suggests, a Machine Learning system can learn patterns and relationships. In most cases, ML systems learn these patterns from data. For instance, supervised learning needs labeled data that forms input/output pairs. So the model can learn some of the relations and patterns between these input/output pairs. After training, it can predict the output when an arbitrary input comes to the system.

Imagine you want to build an ML system based on CT scan images to learn to predict whether a detected mass is Benign or Malignant. First, you must prepare a dataset of CT images and a label that indicates the kind of mass for each particular image. Once learned, this ML system should be able to predict the type of masses given the CT images.

AI detecting suspicious mass from CT scan image
AI detecting suspicious mass from CT scan image – Image: NIH Clinical Center

3. There Must be Patterns in the Data

ML systems only work when there are patterns in data. For instance, no machine learning model can predict the color of the next passing car from a crossroad. This is a random event, and there is no pattern of how the outcome of this event is generated. However, there are patterns in how a person has diabetes. So you can create an ML model to predict the risk of getting diabetes based on various factors.
Note that patterns can exist, but sometimes they can be so complex that it may seem like there is no pattern. In this case, the only solution is to train different machine learning models, from simple to complex ones, to see if they can perform well and train something.

4. Patterns Must be Complex

No one uses a machine learning system to sort a hospital’s patients based on age. Although this data has a pattern, it is too straightforward, and you can use a simple lookup table. On the other hand, suppose you want to sort the patients based on the probability of their need for further care. Here you will find the relationship of this event with other patient factors much more complex than the age sorting problem. Thus, using an ML system will be a logical choice.

5. Data Availability

Since ML systems learn from data, there must be data for training a machine learning model. Therefore, before choosing machine learning to solve a problem, you must check whether you have enough data with acceptable quality or not. If appropriate data is unavailable, you may incur significant costs to collect and label the data, depending on the scope of the problem.

There are several ways to gather and label required datasets, such as crowdsourcing and in-house labeling. You can read this comprehensive article on data labeling best practices and methodologies to get familiar with its process.

You may find that there is little or no data available before launching a machine learning system. Still, you can generate useful data immediately after launching the system through the interaction of users with the system. You can use the Continual Learning method for this work. This way, you can start with a system that has been trained with a small amount of data or even a non-machine learning approach. Over time and with the accumulation of data, we continuously train the system in specific periods.

For example, we might not have enough data about our users and their preferences to train a Recommendation System. So, we launch a system that suggests popular products to everyone. Later, we can begin training a recommender system using the generated data from our users’ interactions with the system. As time passes, users generate more data, and as a result, the recommender system gets better.

6. Distribution of Unseen Data

What is the goal of training a machine learning model?
We usually train an ML model to estimate/predict a value not seen by the model in the training phase. So the trained model is only practical when the unseen data has the same pattern as the available data in the model training phase.
For example, if you want an ML system to predict the effectiveness of a new medication for adults, you should not train it with other age groups, such as children.

Aerial Photo of Gulf of Mexico, United States; image by Nasa on Unsplash

7. Repetitive Patterns

In contrast with the human brain, most machine learning algorithms need lots of data to work properly. With a large amount of data, most of the patterns will be repeated multiple times, making it easier for the model to learn them. Some ML approaches can work with sparse patterns in data, such as Few-Shot / Zero-Shot Learning. So if you have a problem in which the dataset size and patterns’ repetitiveness are small, you should either not use ML at all or consider using few-shot learning methods.

8. Cost of the Wrong Prediction

No Machine Learning model is perfect and will surely have some mistakes. So if the wrong prediction cost is high for your problem, you should be careful about employing Machine Learning.
For example, consider a video captioning application; the video streams to a machine learning system to describe the scene and predict the speeches in text format. As we said, this system may have errors in some situations. However, this error can be forgivable since it does not affect someone’s life. In contrast, for a cancer detection system, if the model predicts that a patient does not have cancer while he actually has, it can put someone’s life in danger.

Another good example is AI’s application in “Self-Driving Cars”; these cars use various machine learning algorithms such as object detection and semantic segmentation to see the surroundings, extract information, interpret the data, make decisions, and take action.
Here we can consider two different categories of AI use cases. The first is assistive applications such as Emergency Braking, Driver Sleep Detection & Alarming Systems, Lane control, etc. As you guess, even with a wrong prediction in these tasks, there will be no harm to the driver.
The second one is the autonomous decision-making of AI in these cars. Here the driver leaves almost everything to the vehicle (ML model). A wrong decision or error in detecting objects or signs might lead to an accident and put someone’s life in danger.
Notice that machine learning algorithms can continuously learn these tasks and eventually perform them even better than humans.

Tesla using eight cameras and AI for its self-driving system – Gif: Steph Davidson, Bloomberg

Altogether, even when a prediction mistake can have catastrophic consequences, ML is still a suitable solution if: On average, the benefits of correct predictions outweigh the cost of wrong predictions. Moreover, we can put a human operator in the middle of the system to verify the output of the ML model. In this case, the ML does not do all the job, but it assists a technician or an operator in doing it faster and more accurately.

There are various measures helping users to learn more about the model’s limitations and the condition in which it performs the best. These actions increase the users’ awareness and enable Trustworthy and Responsible AI. Google Model Cards are an example of these efforts that increases transparency by providing key information about the machine learning model.

9. Scale of the Project

Creating an ML system requires lots of investment in talent acquisition, infrastructure, and data gathering and labeling. If the system is supposed only to run a few times, it may not be worth investing in creating it. But if it is going to run like a million times a day and yield a considerable saving of funds in the future, you can think about this investment. Having a problem at a large scale also means a lot of data for you to collect, which is helpful for training ML models.

10. Do Patterns Change Constantly?

Everything is going to change. We just need to see how those changes are going to play out, for better or worse.”
― Emory R. Frie, Enchanted Forest

Living in the modern world with the prevalence of the internet and digitalization makes all of us hasty. Trends change every month dragging our taste with themselves. So, what’s the hype today may get old news tomorrow. These all mean constant changing of patterns in today’s world.

It is possible to use a series of handwritten rules or hardcoded solutions for problems with fixed patterns. But using these rules becomes practically impossible and expensive when the patterns change regularly. Here, the power of machine learning algorithms reveals itself. Since ML learns from data, you can update your machine learning model with new data without even knowing how the data has been changed.

For instance, in the Continual Learning approach, you can constantly train your model with new data, so the model continuously learns the latest patterns and will be updated.

11. Conclusion

Artificial Intelligence and Machine Learning techniques are extraordinary tools to improve various aspects of our businesses, lives, health, etc. But, they are not supposed to be beneficent and functional in all our problems. We can not expect ML to have profitable results in every project we implement. So, before deploying machine learning in a project, we must evaluate the pros and cons of using AI/ML systems in our specified problem.

Here we tried to provide a framework that can help companies evaluate the use of ML in their project and decide whether to use it or not.
If you need a consultation about AI & ML implementation, contact Galliot’s team of experts through the contact section or via email at hello@galliot.us.

Subscribe

Beginners Guide to Low-Code and No-Code AI

No Code / Low Code AI introduction, benefits, and platforms by Galliot

Web Development evolution over the past 25 years: From custom coding to drag-and-drop programming.

Adopting AI is going to be a must in almost every business. However, employing such systems has various challenges for companies. “No-Code AI” provides a solution for many teams and businesses to bring AI to many use cases in the future.

Published date: 12-08-2022

💡 If you’re about to develop an ML application that requires unique datasets, our guide to data labeling methodology and workflow can also help you.
Visit our blog landing for more articles like this.

1. Intro

Are Software Platforms going to steal our jobs in the future?
Will machines replace us in companies?
These are the questions that have been in people’s minds for decades. Since the Industrial Revolution and with the advent of new technologies, humans have always believed machines would eventually replace them at work. Yet, the historical trajectory shows that technology has never entirely removed workers from their jobs but has changed the way they do their tasks. Nearly every industry has experienced this in the past. For example, people had to dig transportation tunnels using shovels and pickaxes by hand. But the advent of tunnel boring machines eliminated those jobs and created new proficiencies such as maintenance specialists and operators instead. Likewise, engineers had to do massive arithmetic for structural designs; however, nowadays, there are numerous programs that do these calculations much faster. So, it doesn’t mean that engineers lose their jobs, but in fact, they have more tools in their toolbox that help them tackle the obstacles in their careers. It is the same with software engineering; new applications and platforms make things easier for developers and lead to new specialties. As a result, machines are creating new jobs and changing the type of work people do, not removing them.

Human evolution in history - Adopting Technology
(Image source )

Complicated development makes these new technologies hard to employ in the industry and impractical for many people. So, how can people learn and adapt to these new technologies? Building intuitive and easy-to-use development platforms is one of the actions we can take to democratize them for everyone.

In this Galliot’s blog post, we mainly talk about No-Code AI, presenting a summary of challenges through adopting AI in businesses and our experience on this topic.

In this Brainspire article, you can read more about the impacts of technology on our society and lives.
You may also enjoy reading “The History of No-Code” and its following articles by Formstack.

2. Traditional Development and AI Adoption in Business

Compared to the rapid growth of IT projects, Software Development is slow and requires expensive technical resources and a lot of experience. This problem is even more acute in Artificial Intelligence projects, where smaller businesses need to adopt an ML model to run their businesses. Forbes reported that 83% of companies consider AI a strategic priority for their businesses. However, they fail to adopt AI in their business due to high costs, the lack of AI talent, and the lack of time. In addition, most business team members do not know how to code, and developers (data scientists) might not fully understand the business requirements in some domains. As a result, individuals and companies don’t have optimal usage of AI solutions. You should know that there are several challenges companies face in AI adoption in addition to the ones we have mentioned. Nevertheless, No-code / Low-code AI can be a potential solution to solve many of these problems for businesses. Let’s take a quick look at some of the other challenges of adopting AI in businesses first.

Comparing traditional and No-Code AI development pipeline | Galliot
Figure 1. Comparing traditional and No-Code AI development pipeline

3. Challenges of Adopting AI in Business

1- Lack of adequate or appropriate data is one of the biggest challenges in implementing AI. Data quality is always a big challenge; You can’t expect to get accurate results if your data isn’t clean, accurate, and complete. Many companies either do not store any data or don’t have a data management system to keep their data for future use. 

If you are interested in Data Gathering and Labeling processes and tools, you might find this Galliot Blog Post helpful on this subject.

2- Lack of understanding of the need for AI can be another challenge in your company. Just like Newton’s first law about the tendency of objects to resist changes in a state of motion, companies have such inertia regarding changes. Specially adopting new technology like Artificial Intelligence will feel like a significant change. So, convincing the stakeholders to consider and invest in such solutions can be a big challenge here.

3- Finding a clear use case in your business for AI before implementing it is a serious challenge. Some companies try to implement AI in every aspect of their business regardless of the use case it is being implemented. This way, there will be no way to observe and assess AI performance and its values. Consequently, it will make decision-makers feel indifferent toward this technology.

4- Integration complexity of some AI solutions makes it difficult for many businesses to implement them in their companies’ pipelines.

5- Lack of trust in AI decisions and results, security concerns, data privacy, and ethical issues are some other challenges to adopting AI in companies.

4. Drag & Drop an ML Model?

Although “Low-Code Programming” may seem like a new field, its idea has been around for over 35 years. Rapid Application Development platforms such as Excel and WordPress implemented this technology years ago, allowing more people to manipulate data and develop web pages without coding. With low-code development, those without a high-level understanding of computer science can build applications and websites without writing a lot of code by hand. Low-code Development Platforms (LCDPs) provide a simple Graphical User Interface, enabling everyone in a company to define inputs, outputs, and necessary operations through a visual drag-and-drop functionality.

Note: Since low-code and no-code are generally the same and have few differences in details, we have mostly used the term “no-code AI” in the following lines. So, you can think of them as the same concept here.

Levity No Code AI Platform
Figure 2. The Levity “No-Code AI” platform dashboard

No-code AI is not a new concept as well, but it’s one that has gained significant traction over the past few years. No-code AI is a new way to build your product. You don’t have to be a developer to use it, and it doesn’t require coding skills. It’s a simple drag-and-drop interface that allows you to build the product you need, even if you’ve never built one before. A no-code AI solution is an application that uses low-code development platforms designed for AI problems to train and deploy AI & ML models. No-code AI platforms aim to help non-technical users in different steps, such as data labeling, data classification, building high-accuracy models, and making predictions.

So what does all this mean for you? Well, if you’re a business owner who does not have time to learn how to code or looking for an easier way to adopt AI in your business, then no-code AI should definitely be on your radar!

Although there are various domain-specific no-code AI platforms (mentioned in section 6), remember that no-code development has limitations and can not be practical in all industries/domains. We will further discuss these limitations in the following section.

5. Does No-Code AI Really Work?

A no-code AI platform reduces the barriers to building and deploying AI models for small businesses. By providing a simple visual tool, they also help companies use their domain experts to adopt AI capabilities in various aspects of their work. It’s often faster, cheaper, and easier to build than traditional software development since you don’t need to hire programmers or write any code. Despite the advantages no-code AI offers to business owners (especially for small-to-medium-sized companies), it is not the perfect solution for every situation. 

No-code AI systems are mainly reliable for general (well-known) problems with robust solutions. There are fewer options for customization in no-code than you might find with normal development. This can be limiting for certain types of businesses with particular needs. So if you want to create something unique or you are going to do original work, it may not be possible with no-ode development.
For example, if you want to build something like an augmented reality game or something with complicated graphics, then no-code AI may not be able to handle it.
Plus, when using LCDPs to develop an AI application, companies may face security breaches due to a lack of user experience in information security. Furthermore, these platforms offer limited integration options that may even make the developed application unusable.

ProsCons
Combining the Business Experience and AI PowerLower Flexibility and Limited Customization
Higher SpeedLower Security
Lower CostHarder to Integrate
Table 1. Advantages and Disadvantages of No-Code AI Development

6. AI Low-Code Development Platforms (LCDPs)

The AI/ML field is witnessing many startups and companies that develop great tools for building and deploying AI/ML models with little hand-coding and technical knowledge. Some platforms give you more control over your model, such as changing your model’s hyperparameters, while others handle the whole setup for you.

We have several platforms for general use cases and some specialized ones for domain-specific applications. Some can solve a specific business problem, such as advertising or marketing, and some are more general and agnostic to use cases, such as computer vision and natural language processing (NLP). You can see some of the popular platforms offering no-code/low-code AI development solutions in Figure 3. We have categorized these platforms based on the technical background required for using them and their domain specificity.

Low Code & No Code AI Platforms Diagram; Use-Case Range Vs. Required Background Knowledge | by Galliot
Figure 3. Low Code/No Code AI platforms Landscape; Use-Case Range Vs. Required Knowledge – Last Update Dec. 2022

6.1. Generalized No-Code AI Platforms

CreateML by Apple and Lobe by Microsoft are two of the most known platforms providing No-Code AI tools. CreateML is a tool for building and training powerful ML models on image, audio, video, and text, available for Mac devices. Lobe focuses on the image; it gives you simple tools for labeling your data and training and deploying models with no further configuration or setups.

Viso.ai: It is a no-code platform for developing computer vision applications. Viso.ai offers you everything you need to build a vision-based application, from data collection to deployment and maintenance.

Clarifai: It offers a low-code AI platform with out-of-the-box tools for labeling, training, and deploying various models. They offer various computer vision and NLP solutions in different industries such as E-commerce, Insurance, Manufacturing, Media & Entertainment, etc.

Levity: Simple but powerful AI for documents, images, and text that automates your daily repetitive tasks. Connect your workflows in minutes without a single line of code.

Roboflow: It is a computer vision-based no-code platform. You can easily train various computer vision models for diverse applications using Roboflow.

C3 AI: Provides enterprises with AI applications that meet the business-critical needs of global enterprises in manufacturing, financial services, government, utilities, oil and gas, chemicals, agribusiness, defense and intelligence, and more.

6.2. Domain-Specific No-Code AI Platforms

MonkeyLearn: It is a no-code Text Analytics tool especially favorable for SMEs to improve their marketing. MonkeyLearn makes it simple to clean, label, and visualize customer feedback.

DeepCognition: Data Capture and Data Entry Automation with AI to increase efficiency and reduce cost while increasing accuracy across various industries.

CrowdAI: A tool built on computer vision to improve Visual Inspection, mainly in industrial space. They offer various solutions for defect detection, automatic inspections, disaster response, vegetation management, etc.

Accern: Make Better Decisions, Reduce Risk, Spot Opportunities. Extracting fast, accurate & valuable insights from unstructured text data.

Nanonets: Automate Data Entry, Workflow Integration, OCR. Capture data from documents instantly. Reduce turnaround times and the manual effort required.

ObviouslyAI: Marketing, Project Management, Automation,  Data prediction. Connect to your favorite data source, make predictions, and share them with your team.

Noogata: eCommerce and Marketing. It is a solution that combines your eCommerce marketplaces, consumer channels, and online advertisement to increase your revenue. Build your eCommerce Analytics Warehouse.

7. Conclusion

Undoubtedly, “No-Code AI” empower teams and businesses to bring AI to many use cases in the future. In this article, we discussed what is “No-Code AI”, some of the interesting examples of that in the market, and the challenges and benefits of using them. We hope this can help you have a framework to assess how to implement no-code AI in your problems.

💡 If no-code AI is not a fit for your problem, don’t worry. At Galliot, we have a brilliant team of experts to design, build and maintain solutions using the latest AI technologies. Get in touch with us using the Contact button below or directly email us via hello@galliot.us

Please share your thoughts and suggestions with us using the comment section below. We would be happy to see your comments about this blog post.

Subscribe