Name: Towards AI Legal Name: Towards AI, Inc. Description: Towards AI is the world's leading artificial intelligence (AI) and technology publication. Read by thought-leaders and decision-makers around the world. Phone Number: +1-650-246-9381 Email: pub@towardsai.net
228 Park Avenue South New York, NY 10003 United States
Website: Publisher: https://towardsai.net/#publisher Diversity Policy: https://towardsai.net/about Ethics Policy: https://towardsai.net/about Masthead: https://towardsai.net/about
Name: Towards AI Legal Name: Towards AI, Inc. Description: Towards AI is the world's leading artificial intelligence (AI) and technology publication. Founders: Roberto Iriondo, , Job Title: Co-founder and Advisor Works for: Towards AI, Inc. Follow Roberto: X, LinkedIn, GitHub, Google Scholar, Towards AI Profile, Medium, ML@CMU, FreeCodeCamp, Crunchbase, Bloomberg, Roberto Iriondo, Generative AI Lab, Generative AI Lab Denis Piffaretti, Job Title: Co-founder Works for: Towards AI, Inc. Louie Peters, Job Title: Co-founder Works for: Towards AI, Inc. Louis-François Bouchard, Job Title: Co-founder Works for: Towards AI, Inc. Cover:
Towards AI Cover
Logo:
Towards AI Logo
Areas Served: Worldwide Alternate Name: Towards AI, Inc. Alternate Name: Towards AI Co. Alternate Name: towards ai Alternate Name: towardsai Alternate Name: towards.ai Alternate Name: tai Alternate Name: toward ai Alternate Name: toward.ai Alternate Name: Towards AI, Inc. Alternate Name: towardsai.net Alternate Name: pub.towardsai.net
5 stars – based on 497 reviews

Frequently Used, Contextual References

TODO: Remember to copy unique IDs whenever it needs used. i.e., URL: 304b2e42315e

Resources

Take our 85+ lesson From Beginner to Advanced LLM Developer Certification: From choosing a project to deploying a working product this is the most comprehensive and practical LLM course out there!

Publication

10 Most Common ML Terms Explained in a Simple Day-To-Day Language
Latest   Machine Learning

10 Most Common ML Terms Explained in a Simple Day-To-Day Language

Last Updated on July 24, 2023 by Editorial Team

Author(s): Cristian

Originally published on Towards AI.

Do you remember the first time you tried to follow a recipe? Maybe it was for a chocolate chip cookie or a spicy salsa. As you scanned through the instructions, you were hit with terms like ‘fold’, ‘whisk’, ‘saute’, and ‘temper’. If you were a novice in the kitchen, these terms might have seemed as cryptic as a secret language. But once you understood what they meant, they transformed from confusing jargon into useful directions that helped you whip up delicious treats.

This is similar to how machine learning (ML) can seem at first. There are many terms and concepts that might feel like stumbling blocks when you’re trying to understand this transformative technology. But don’t worry! That’s why we’re here. Our job is to explain complicated tech terms in a simple day-to-day language, so everyone can understand.

In today’s post, we’re going to decode ten of the most common machine learning terms. We’ll do it in plain, everyday language, using metaphors and examples from daily life to make these concepts as easy to understand as baking a batch of cookies!

Let’s get started, shall we?

1. Machine Learning — Teaching Computers to Learn

When we talk about Machine Learning, what we mean is the way we teach computers to learn from data, much like how we learn from experience. Imagine learning to ride a bicycle. The more you practice, the better you get at maintaining balance and steering. With each fall, you learn a little more about what not to do, and with each successful ride, you reinforce what to do.

This is precisely the process we emulate in cloud-based Machine Learning. We’re educating the computer to learn from data (the equivalent of practice), to make informed predictions (akin to riding the bicycle), and to progressively improve with each iteration.

In the context of Machine Learning, data can be anything from images, text, numbers, to anything else that the computer can process and learn from.

2. Supervised Learning — The Guided Learning

Have you ever tried to learn a new skill under the guidance of a coach or mentor? They guide you, correct you, and provide feedback, helping you learn and improve. This is pretty much what Supervised Learning is in the world of Machine Learning.

In Supervised Learning, we have a dataset with both input data and the correct output. It’s like having a textbook with both questions and answers. The algorithm learns from this data, understanding the relationship between the input and the output.

Let’s take an example of email spam filtering. The system is trained with thousands of emails, which are already marked as ‘spam’ or ‘not spam’. The system learns what features (like certain words, email addresses, or formatting) are likely to make an email spam. Once it has learned, it can start predicting whether a new email, not seen before, is spam or not.

So, Supervised Learning is like learning with a teacher who provides guidance and feedback, helping the algorithm to learn and make accurate predictions.

3. Unsupervised Learning — The Independent Explorer

Imagine a child playing with a pile of different toys — cars, dolls, blocks, balls. Without anyone telling them, they might start to group these toys based on similarities, like all cars in one place, all dolls in another. This instinctive organization is quite similar to what we call Unsupervised Learning in Machine Learning.

Unlike Supervised Learning, where we have labeled data (questions and answers), Unsupervised Learning works with unlabeled data. The system doesn’t know the correct output. Instead, it learns by finding patterns and structures in the input data.

Taking the example of emails again, in Unsupervised Learning, we only have the emails without any spam/not spam labels. The system could, however, group them based on similarities, like emails with similar words or from the same sender. This way, it might end up clustering spam emails together, not because it knew they were spam, but because it found patterns.

So, Unsupervised Learning is like a self-motivated explorer, making sense of new, unfamiliar territories without any guidance or supervision.

4. Reinforcement Learning — The Trial-and-Error Expert

Think back to when you were a child learning to ride a bike. Nobody gave you specific rules; instead, you tried, failed, adjusted, and tried again. You learned to balance, pedal, and steer through trial and error. This is pretty close to how Reinforcement Learning, another type of Machine Learning, works.

Unlike Supervised or Unsupervised Learning, Reinforcement Learning is all about interaction and learning from mistakes. The system, often referred to as an agent, makes decisions, takes actions in an environment, and gets rewards or penalties. Positive rewards reinforce good actions, while penalties discourage bad ones.

Let’s take a video game scenario: a virtual player (the agent) navigates a maze (the environment). The goal is to find the exit as fast as possible. Each wrong turn (bad action) results in time penalties (negative rewards), while correct turns (good actions) bring it closer to the exit (positive rewards). Over time, the player learns the best path, not because it was taught, but because it learned from its actions and their consequences.

That’s Reinforcement Learning in a nutshell — learning the best strategy through trial and error to achieve the maximum reward!

5. Neural Networks: The Brainy Network

Picture your brain. It’s a massive network of neurons connected by synapses. Each neuron receives input signals, processes them, and sends output signals to other neurons. This intricate network is the basis for all our thoughts, decisions, and actions. In Machine Learning, we have something similar called a Neural Network.

A Neural Network is a system of algorithms that’s somewhat designed to mimic the human brain. It learns from processed data, and can even learn the process of learning itself! It’s structured in layers: an input layer to receive data, an output layer to make decisions or predictions, and hidden layers in between to process the data.

Imagine you’re trying to recognize a cat in different pictures. The input layer takes the images, the hidden layers might recognize patterns like pointy ears, whiskers, or a tail, and the output layer decides whether it’s a cat or not. The beauty of Neural Networks is that they can learn to identify these patterns on their own!

So, a Neural Network is like a virtual brain that can learn, recognize patterns, and make decisions based on the data it’s fed.

6. Deep Learning

You might have come across the term ‘Deep Learning’ while exploring the fascinating world of AI. It sounds quite intense, doesn’t it? But, fear not! Let’s break it down.

Think of deep learning as a superstar actor who’s really, really good at their role because they’ve practiced their lines a million times. The ‘script’ here is the massive amount of data that the Deep Learning system learns from. It keeps practicing (or ‘learning’) from this data until it gets really good at its job, whether that’s recognizing pictures of cats, translating languages, or predicting weather patterns.

Deep Learning is a subset of machine learning and uses something we’ve already talked about — neural networks. But these are not just any neural networks. They’re big, complicated networks with many layers — hence the ‘deep’ in Deep Learning. Each of these layers plays a role in helping the system understand the data better. It’s like our superstar actor learning every little detail about their character to give an outstanding performance.

Remember the picture recognition example we used for Neural Networks? In Deep Learning, the network would not just recognize that there’s a cat in the picture, but might also recognize what breed the cat is, or whether it’s sitting or standing. That’s how advanced it can be!

In the end, deep learning is just a machine learning method that excels at learning from large amounts of data. It’s one of the reasons why AI has been making so many headlines in recent years!

7. Overfitting and Underfitting

When we’re learning a new skill, like playing the guitar, we might face two possible challenges. On one hand, we might try to play the song note for note, exactly like the original — this could make it hard for us to adapt if there’s a small change, like a slightly different guitar or a different key. On the other hand, we might learn just a few basic chords and play every song using those, making them all sound kind of the same.

In Machine Learning, these two scenarios are called overfitting and underfitting. Overfitting is like trying to play the song note for note — the model learns the training data so well, it doesn’t perform well with new, unseen data. Underfitting is like using the same few chords for every song — the model is too simple to capture all the nuances in the data.

The challenge is to find a balance — a model complex enough to learn from the data, but not so complex that it can’t adapt to new information. It’s like being able to play a song well, but also being able to adapt when something changes.

8. Feature Extraction: Making Important Things Stand Out

Remember when you were a kid and played ‘I spy’ game? You had to scan the environment and focus on specific details to find the hidden object. That’s kind of what Feature Extraction does in Machine Learning. It’s the process of selecting the most important data or ‘features’ from the whole dataset for further analysis and processing.

Think about you and your friend being detectives trying to solve a mystery case. There are many clues (data), but not all of them are useful or relevant. You would try to identify the most telling clues (features) that would help you solve the case. That’s Feature Extraction in a nutshell!

It’s crucial because Machine Learning algorithms can get confused if there’s too much irrelevant data. By focusing on the important features, you can help the algorithm perform better and make more accurate predictions.

9. Label: Name Tags for Supervised Learning

Have you ever been to a party where you had to wear a name tag? That small piece of paper was crucial, wasn’t it? It told everyone who you were without you having to introduce yourself every time. Well, that’s sort of what Labels do in Supervised Learning!

Supervised Learning, remember, is like a teacher-student scenario. The student (the machine learning model) is learning from the teacher (the dataset). But, the teacher doesn’t just throw a bunch of information at the student. No, the teacher carefully labels or tags each piece of information, telling the student what it is. Like putting name tags on the guests at a party.

In the context of Machine Learning, a ‘Label’ is the answer or result we want our model to learn to predict. It’s the ‘name tag’ for the data. So, if we were building a system to recognize images of cats and dogs, the labels would be ‘cat’ and ‘dog’. By showing the model a bunch of images and their corresponding labels, we teach it to recognize and differentiate between cats and dogs.

10. Algorithm

Let’s imagine a recipe. The recipe guides you through the process of making a dish step by step. It tells you what ingredients you need, in what quantity, and the exact steps to prepare the dish.

In the world of machine learning, an algorithm is like that recipe. It’s a series of steps that a machine learning model follows in order to learn from data and make predictions or decisions.

For instance, let’s think about our earlier example of labeling pictures of cats and dogs. The algorithm is the set of instructions that tells the model how to go about this task. It could say something like: “Look at this picture, analyze its features, compare those features to what you’ve learned about cats and dogs, and then decide if it’s a cat or a dog.”

Just like there are countless recipes for different dishes, there are many different machine learning algorithms for different tasks — some are good for classifying images, others are better for predicting future trends, and so on.

In the end, choosing the right algorithm for your task is a crucial part of machine learning. It’s a bit like picking the right recipe to cook a meal that’ll impress your friends!

Conclusion

We’ve embarked on quite the journey today, haven’t we? From train stations to cooking, fruit baskets to picture books, we’ve looked at the world of Machine Learning through various lenses. Our hope is that these everyday examples have made these complex-sounding terms feel a little less daunting and a lot more accessible.

On our blog, we frequently publish articles that demystify complex tech jargon using straightforward, everyday language. For those interested in reading more posts of this nature, consider keeping up with our newsletter. It’s free and we post weekly.

Join thousands of data leaders on the AI newsletter. Join over 80,000 subscribers and keep up to date with the latest developments in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming a sponsor.

Published via Towards AI

Feedback ↓

Sign Up for the Course
`; } else { console.error('Element with id="subscribe" not found within the page with class "home".'); } } }); // Remove duplicate text from articles /* Backup: 09/11/24 function removeDuplicateText() { const elements = document.querySelectorAll('h1, h2, h3, h4, h5, strong'); // Select the desired elements const seenTexts = new Set(); // A set to keep track of seen texts const tagCounters = {}; // Object to track instances of each tag elements.forEach(el => { const tagName = el.tagName.toLowerCase(); // Get the tag name (e.g., 'h1', 'h2', etc.) // Initialize a counter for each tag if not already done if (!tagCounters[tagName]) { tagCounters[tagName] = 0; } // Only process the first 10 elements of each tag type if (tagCounters[tagName] >= 2) { return; // Skip if the number of elements exceeds 10 } const text = el.textContent.trim(); // Get the text content const words = text.split(/\s+/); // Split the text into words if (words.length >= 4) { // Ensure at least 4 words const significantPart = words.slice(0, 5).join(' '); // Get first 5 words for matching // Check if the text (not the tag) has been seen before if (seenTexts.has(significantPart)) { // console.log('Duplicate found, removing:', el); // Log duplicate el.remove(); // Remove duplicate element } else { seenTexts.add(significantPart); // Add the text to the set } } tagCounters[tagName]++; // Increment the counter for this tag }); } removeDuplicateText(); */ // Remove duplicate text from articles function removeDuplicateText() { const elements = document.querySelectorAll('h1, h2, h3, h4, h5, strong'); // Select the desired elements const seenTexts = new Set(); // A set to keep track of seen texts const tagCounters = {}; // Object to track instances of each tag // List of classes to be excluded const excludedClasses = ['medium-author', 'post-widget-title']; elements.forEach(el => { // Skip elements with any of the excluded classes if (excludedClasses.some(cls => el.classList.contains(cls))) { return; // Skip this element if it has any of the excluded classes } const tagName = el.tagName.toLowerCase(); // Get the tag name (e.g., 'h1', 'h2', etc.) // Initialize a counter for each tag if not already done if (!tagCounters[tagName]) { tagCounters[tagName] = 0; } // Only process the first 10 elements of each tag type if (tagCounters[tagName] >= 10) { return; // Skip if the number of elements exceeds 10 } const text = el.textContent.trim(); // Get the text content const words = text.split(/\s+/); // Split the text into words if (words.length >= 4) { // Ensure at least 4 words const significantPart = words.slice(0, 5).join(' '); // Get first 5 words for matching // Check if the text (not the tag) has been seen before if (seenTexts.has(significantPart)) { // console.log('Duplicate found, removing:', el); // Log duplicate el.remove(); // Remove duplicate element } else { seenTexts.add(significantPart); // Add the text to the set } } tagCounters[tagName]++; // Increment the counter for this tag }); } removeDuplicateText(); //Remove unnecessary text in blog excerpts document.querySelectorAll('.blog p').forEach(function(paragraph) { // Replace the unwanted text pattern for each paragraph paragraph.innerHTML = paragraph.innerHTML .replace(/Author\(s\): [\w\s]+ Originally published on Towards AI\.?/g, '') // Removes 'Author(s): XYZ Originally published on Towards AI' .replace(/This member-only story is on us\. Upgrade to access all of Medium\./g, ''); // Removes 'This member-only story...' }); //Load ionic icons and cache them if ('localStorage' in window && window['localStorage'] !== null) { const cssLink = 'https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css'; const storedCss = localStorage.getItem('ionicons'); if (storedCss) { loadCSS(storedCss); } else { fetch(cssLink).then(response => response.text()).then(css => { localStorage.setItem('ionicons', css); loadCSS(css); }); } } function loadCSS(css) { const style = document.createElement('style'); style.innerHTML = css; document.head.appendChild(style); } //Remove elements from imported content automatically function removeStrongFromHeadings() { const elements = document.querySelectorAll('h1, h2, h3, h4, h5, h6, span'); elements.forEach(el => { const strongTags = el.querySelectorAll('strong'); strongTags.forEach(strongTag => { while (strongTag.firstChild) { strongTag.parentNode.insertBefore(strongTag.firstChild, strongTag); } strongTag.remove(); }); }); } removeStrongFromHeadings(); "use strict"; window.onload = () => { /* //This is an object for each category of subjects and in that there are kewords and link to the keywods let keywordsAndLinks = { //you can add more categories and define their keywords and add a link ds: { keywords: [ //you can add more keywords here they are detected and replaced with achor tag automatically 'data science', 'Data science', 'Data Science', 'data Science', 'DATA SCIENCE', ], //we will replace the linktext with the keyword later on in the code //you can easily change links for each category here //(include class="ml-link" and linktext) link: 'linktext', }, ml: { keywords: [ //Add more keywords 'machine learning', 'Machine learning', 'Machine Learning', 'machine Learning', 'MACHINE LEARNING', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, ai: { keywords: [ 'artificial intelligence', 'Artificial intelligence', 'Artificial Intelligence', 'artificial Intelligence', 'ARTIFICIAL INTELLIGENCE', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, nl: { keywords: [ 'NLP', 'nlp', 'natural language processing', 'Natural Language Processing', 'NATURAL LANGUAGE PROCESSING', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, des: { keywords: [ 'data engineering services', 'Data Engineering Services', 'DATA ENGINEERING SERVICES', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, td: { keywords: [ 'training data', 'Training Data', 'training Data', 'TRAINING DATA', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, ias: { keywords: [ 'image annotation services', 'Image annotation services', 'image Annotation services', 'image annotation Services', 'Image Annotation Services', 'IMAGE ANNOTATION SERVICES', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, l: { keywords: [ 'labeling', 'labelling', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, pbp: { keywords: [ 'previous blog posts', 'previous blog post', 'latest', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, mlc: { keywords: [ 'machine learning course', 'machine learning class', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, }; //Articles to skip let articleIdsToSkip = ['post-2651', 'post-3414', 'post-3540']; //keyword with its related achortag is recieved here along with article id function searchAndReplace(keyword, anchorTag, articleId) { //selects the h3 h4 and p tags that are inside of the article let content = document.querySelector(`#${articleId} .entry-content`); //replaces the "linktext" in achor tag with the keyword that will be searched and replaced let newLink = anchorTag.replace('linktext', keyword); //regular expression to search keyword var re = new RegExp('(' + keyword + ')', 'g'); //this replaces the keywords in h3 h4 and p tags content with achor tag content.innerHTML = content.innerHTML.replace(re, newLink); } function articleFilter(keyword, anchorTag) { //gets all the articles var articles = document.querySelectorAll('article'); //if its zero or less then there are no articles if (articles.length > 0) { for (let x = 0; x < articles.length; x++) { //articles to skip is an array in which there are ids of articles which should not get effected //if the current article's id is also in that array then do not call search and replace with its data if (!articleIdsToSkip.includes(articles[x].id)) { //search and replace is called on articles which should get effected searchAndReplace(keyword, anchorTag, articles[x].id, key); } else { console.log( `Cannot replace the keywords in article with id ${articles[x].id}` ); } } } else { console.log('No articles found.'); } } let key; //not part of script, added for (key in keywordsAndLinks) { //key is the object in keywords and links object i.e ds, ml, ai for (let i = 0; i < keywordsAndLinks[key].keywords.length; i++) { //keywordsAndLinks[key].keywords is the array of keywords for key (ds, ml, ai) //keywordsAndLinks[key].keywords[i] is the keyword and keywordsAndLinks[key].link is the link //keyword and link is sent to searchreplace where it is then replaced using regular expression and replace function articleFilter( keywordsAndLinks[key].keywords[i], keywordsAndLinks[key].link ); } } function cleanLinks() { // (making smal functions is for DRY) this function gets the links and only keeps the first 2 and from the rest removes the anchor tag and replaces it with its text function removeLinks(links) { if (links.length > 1) { for (let i = 2; i < links.length; i++) { links[i].outerHTML = links[i].textContent; } } } //arrays which will contain all the achor tags found with the class (ds-link, ml-link, ailink) in each article inserted using search and replace let dslinks; let mllinks; let ailinks; let nllinks; let deslinks; let tdlinks; let iaslinks; let llinks; let pbplinks; let mlclinks; const content = document.querySelectorAll('article'); //all articles content.forEach((c) => { //to skip the articles with specific ids if (!articleIdsToSkip.includes(c.id)) { //getting all the anchor tags in each article one by one dslinks = document.querySelectorAll(`#${c.id} .entry-content a.ds-link`); mllinks = document.querySelectorAll(`#${c.id} .entry-content a.ml-link`); ailinks = document.querySelectorAll(`#${c.id} .entry-content a.ai-link`); nllinks = document.querySelectorAll(`#${c.id} .entry-content a.ntrl-link`); deslinks = document.querySelectorAll(`#${c.id} .entry-content a.des-link`); tdlinks = document.querySelectorAll(`#${c.id} .entry-content a.td-link`); iaslinks = document.querySelectorAll(`#${c.id} .entry-content a.ias-link`); mlclinks = document.querySelectorAll(`#${c.id} .entry-content a.mlc-link`); llinks = document.querySelectorAll(`#${c.id} .entry-content a.l-link`); pbplinks = document.querySelectorAll(`#${c.id} .entry-content a.pbp-link`); //sending the anchor tags list of each article one by one to remove extra anchor tags removeLinks(dslinks); removeLinks(mllinks); removeLinks(ailinks); removeLinks(nllinks); removeLinks(deslinks); removeLinks(tdlinks); removeLinks(iaslinks); removeLinks(mlclinks); removeLinks(llinks); removeLinks(pbplinks); } }); } //To remove extra achor tags of each category (ds, ml, ai) and only have 2 of each category per article cleanLinks(); */ //Recommended Articles var ctaLinks = [ /* ' ' + '

Subscribe to our AI newsletter!

' + */ '

Take our 85+ lesson From Beginner to Advanced LLM Developer Certification: From choosing a project to deploying a working product this is the most comprehensive and practical LLM course out there!

'+ '

Towards AI has published Building LLMs for Production—our 470+ page guide to mastering LLMs with practical projects and expert insights!

' + '
' + '' + '' + '

Note: Content contains the views of the contributing authors and not Towards AI.
Disclosure: This website may contain sponsored content and affiliate links.

' + 'Discover Your Dream AI Career at Towards AI Jobs' + '

Towards AI has built a jobs board tailored specifically to Machine Learning and Data Science Jobs and Skills. Our software searches for live AI jobs each hour, labels and categorises them and makes them easily searchable. Explore over 10,000 live jobs today with Towards AI Jobs!

' + '
' + '

🔥 Recommended Articles 🔥

' + 'Why Become an LLM Developer? Launching Towards AI’s New One-Stop Conversion Course'+ 'Testing Launchpad.sh: A Container-based GPU Cloud for Inference and Fine-tuning'+ 'The Top 13 AI-Powered CRM Platforms
' + 'Top 11 AI Call Center Software for 2024
' + 'Learn Prompting 101—Prompt Engineering Course
' + 'Explore Leading Cloud Providers for GPU-Powered LLM Training
' + 'Best AI Communities for Artificial Intelligence Enthusiasts
' + 'Best Workstations for Deep Learning
' + 'Best Laptops for Deep Learning
' + 'Best Machine Learning Books
' + 'Machine Learning Algorithms
' + 'Neural Networks Tutorial
' + 'Best Public Datasets for Machine Learning
' + 'Neural Network Types
' + 'NLP Tutorial
' + 'Best Data Science Books
' + 'Monte Carlo Simulation Tutorial
' + 'Recommender System Tutorial
' + 'Linear Algebra for Deep Learning Tutorial
' + 'Google Colab Introduction
' + 'Decision Trees in Machine Learning
' + 'Principal Component Analysis (PCA) Tutorial
' + 'Linear Regression from Zero to Hero
'+ '

', /* + '

Join thousands of data leaders on the AI newsletter. It’s free, we don’t spam, and we never share your email address. Keep up to date with the latest work in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming a sponsor.

',*/ ]; var replaceText = { '': '', '': '', '
': '
' + ctaLinks + '
', }; Object.keys(replaceText).forEach((txtorig) => { //txtorig is the key in replacetext object const txtnew = replaceText[txtorig]; //txtnew is the value of the key in replacetext object let entryFooter = document.querySelector('article .entry-footer'); if (document.querySelectorAll('.single-post').length > 0) { //console.log('Article found.'); const text = entryFooter.innerHTML; entryFooter.innerHTML = text.replace(txtorig, txtnew); } else { // console.log('Article not found.'); //removing comment 09/04/24 } }); var css = document.createElement('style'); css.type = 'text/css'; css.innerHTML = '.post-tags { display:none !important } .article-cta a { font-size: 18px; }'; document.body.appendChild(css); //Extra //This function adds some accessibility needs to the site. function addAlly() { // In this function JQuery is replaced with vanilla javascript functions const imgCont = document.querySelector('.uw-imgcont'); imgCont.setAttribute('aria-label', 'AI news, latest developments'); imgCont.title = 'AI news, latest developments'; imgCont.rel = 'noopener'; document.querySelector('.page-mobile-menu-logo a').title = 'Towards AI Home'; document.querySelector('a.social-link').rel = 'noopener'; document.querySelector('a.uw-text').rel = 'noopener'; document.querySelector('a.uw-w-branding').rel = 'noopener'; document.querySelector('.blog h2.heading').innerHTML = 'Publication'; const popupSearch = document.querySelector$('a.btn-open-popup-search'); popupSearch.setAttribute('role', 'button'); popupSearch.title = 'Search'; const searchClose = document.querySelector('a.popup-search-close'); searchClose.setAttribute('role', 'button'); searchClose.title = 'Close search page'; // document // .querySelector('a.btn-open-popup-search') // .setAttribute( // 'href', // 'https://medium.com/towards-artificial-intelligence/search' // ); } // Add external attributes to 302 sticky and editorial links function extLink() { // Sticky 302 links, this fuction opens the link we send to Medium on a new tab and adds a "noopener" rel to them var stickyLinks = document.querySelectorAll('.grid-item.sticky a'); for (var i = 0; i < stickyLinks.length; i++) { /* stickyLinks[i].setAttribute('target', '_blank'); stickyLinks[i].setAttribute('rel', 'noopener'); */ } // Editorial 302 links, same here var editLinks = document.querySelectorAll( '.grid-item.category-editorial a' ); for (var i = 0; i < editLinks.length; i++) { editLinks[i].setAttribute('target', '_blank'); editLinks[i].setAttribute('rel', 'noopener'); } } // Add current year to copyright notices document.getElementById( 'js-current-year' ).textContent = new Date().getFullYear(); // Call functions after page load extLink(); //addAlly(); setTimeout(function() { //addAlly(); //ideally we should only need to run it once ↑ }, 5000); }; function closeCookieDialog (){ document.getElementById("cookie-consent").style.display = "none"; return false; } setTimeout ( function () { closeCookieDialog(); }, 15000); console.log(`%c 🚀🚀🚀 ███ █████ ███████ █████████ ███████████ █████████████ ███████████████ ███████ ███████ ███████ ┌───────────────────────────────────────────────────────────────────┐ │ │ │ Towards AI is looking for contributors! │ │ Join us in creating awesome AI content. │ │ Let's build the future of AI together → │ │ https://towardsai.net/contribute │ │ │ └───────────────────────────────────────────────────────────────────┘ `, `background: ; color: #00adff; font-size: large`); //Remove latest category across site document.querySelectorAll('a[rel="category tag"]').forEach(function(el) { if (el.textContent.trim() === 'Latest') { // Remove the two consecutive spaces (  ) if (el.nextSibling && el.nextSibling.nodeValue.includes('\u00A0\u00A0')) { el.nextSibling.nodeValue = ''; // Remove the spaces } el.style.display = 'none'; // Hide the element } }); // Add cross-domain measurement, anonymize IPs 'use strict'; //var ga = gtag; ga('config', 'G-9D3HKKFV1Q', 'auto', { /*'allowLinker': true,*/ 'anonymize_ip': true/*, 'linker': { 'domains': [ 'medium.com/towards-artificial-intelligence', 'datasets.towardsai.net', 'rss.towardsai.net', 'feed.towardsai.net', 'contribute.towardsai.net', 'members.towardsai.net', 'pub.towardsai.net', 'news.towardsai.net' ] } */ }); ga('send', 'pageview'); -->