Fundamental AI Concepts PDF
Document Details
Uploaded by TroubleFreeChocolate
RR International School
Tags
Summary
This document provides an introduction to fundamental AI concepts, focusing on machine learning, computer vision and natural language processing. It details how AI works using examples such as Microsoft Azure, and applications in fields like sustainable farming.
Full Transcript
Introduction to AI (Microsoft) AI enables us to build amazing software that can improve health care, enable people to overcome physical disadvantages, empower smart infrastructure, create incredible entertainment experiences, and even save the planet! Watch the following video to see some ways tha...
Introduction to AI (Microsoft) AI enables us to build amazing software that can improve health care, enable people to overcome physical disadvantages, empower smart infrastructure, create incredible entertainment experiences, and even save the planet! Watch the following video to see some ways that AI can be used. What is AI? Simply put, AI is software that imitates human behaviors and capabilities. Key workloads include: Machine learning - This is often the foundation for an AI system, and is the way we "teach" a computer model to make predictions and draw conclusions from data. Computer vision - Capabilities within AI to interpret the world visually through cameras, video, and images. Natural language processing - Capabilities within AI for a computer to interpret written or spoken language, and respond in kind. Document intelligence - Capabilities within AI that deal with managing, processing, and using high volumes of data found in forms and documents. Knowledge mining - Capabilities within AI to extract information from large volumes of often unstructured data to create a searchable knowledge store. Generative AI - Capabilities within AI that create original content in a variety of formats including natural language, image, code, and more. Under stand machine learning Machine Learning is the foundation for most AI solutions. Since the 1950's, researchers, often known as data scientists, have worked on different approaches to AI. Most modern applications of AI have their origins in machine learning, a branch of AI that combines computer science and mathematics. Let's start by looking at a real-world example of how machine learning can be used to solve a difficult problem. Sustainable farming techniques are essential to maximize food production while protecting a fragile environment. The Yield, an agricultural technology company based in Australia, uses sensors, data, and machine learning to help farmers make informed decisions related to weather, soil, and plant conditions. How machine learning works So how do machines learn? The answer is, from data. In today's world, we create huge volumes of data as we go about our everyday lives. From the text messages, emails, and social media posts we send to the photographs and videos we take on our phones, we generate massive amounts of information. More data still is created by millions of sensors in our homes, cars, cities, public transport infrastructure, and factories. Data scientists can use all of that data to train machine learning models that can make predictions and inferences based on the relationships they find in the data. Machine learning models try to capture the relationship between data. For example, suppose an environmental conservation organization wants volunteers to identify and catalog different species of wildflower using a phone app. The following animation shows how machine learning can be used to enable this scenario. 1. A team of botanists and scientists collect data on wildflower samples. 2. The team labels the samples with the correct species. 3. The labeled data is processed using an algorithm that finds relationships between the features of the samples and the labeled species. 4. The results of the algorithm are encapsulated in a model. 5. When new samples are found by volunteers, the model can identify the correct species label. Approaches to AI have advanced to complete tasks of much greater complexity. These complex models form the basis of AI capabilities. Machine learning in Microsoft Azure Microsoft Azure provides the Azure Machine Learning service - a cloud-based platform for creating, managing, and publishing machine learning models. Azure Machine Learning Studio offers multiple authoring experiences such as: Automated machine learning: this feature enables non-experts to quickly create an effective machine learning model from data. Azure Machine Learning designer: a graphical interface enabling no-code development of machine learning solutions. Data metric visualization: analyze and optimize your experiments with visualization. Notebooks: write and run your own code in managed Jupyter Notebook servers that are directly integrated in the studio. Understand computer vision Computer Vision is an area of AI that deals with visual processing. Let's explore some of the possibilities that computer vision brings. The Seeing AI app is a great example of the power of computer vision. Designed for the blind and low vision community, the Seeing AI app harnesses the power of AI to open up the visual world and describe nearby people, text and objects. View the following video to learn more about Seeing AI. Computer Vision models and capabilities Most computer vision solutions are based on machine learning models that can be applied to visual input from cameras, videos, or images. The following table describes common computer vision tasks. Task Description Image classification Image classification involves training a machine learning model to classify images based on their contents. For example, in a traffic monitoring solution you might use an image classification model to classify images based on the type of vehicle they contain, such as taxis, buses, cyclists, and so on. Object detection Object detection machine learning models are trained to classify individual objects within an image, and identify their location with a bounding box. For example, a traffic monitoring solution might use object detection to identify the location of different classes of vehicle. Task Description Semantic segmentation Semantic segmentation is an advanced machine learning technique in which individual pixels in the image are classified according to the object to which they belong. For example, a traffic monitoring solution might overlay traffic images with "mask" layers to highlight different vehicles using specific colors. Image analysis You can create solutions that combine machine learning models with advanced image analysis techniques to extract information from images, including "tags" that could help catalog the image or even descriptive captions that summarize the scene shown in the image. Task Description Face detection, analysis, and recognition Face detection is a specialized form of object detection that locates human faces in an image. This can be combined with classification and facial geometry analysis techniques to recognize individuals based on their facial features. Optical character recognition (OCR) Optical character recognition is a technique used to detect and read text in images. You can use OCR to read text in photographs (for example, road signs or store fronts) or to extract information from scanned documents such as letters, invoices, or forms. Computer vision services in Microsoft Azure You can use Microsoft's Azure AI Vision to develop computer vision solutions. The service features are available for use and testing in the Azure Vision Studio and other programming languages. Some features of Azure AI Vision include: Image Analysis: capabilities for analyzing images and video, and extracting descriptions, tags, objects, and text. Face: capabilities that enable you to build face detection and facial recognition solutions. Optical Character Recognition (OCR): capabilities for extracting printed or handwritten text from images, enabling access to a digital version of the scanned text. Understand natural language processing Natural language processing (NLP) is the area of AI that deals with creating software that understands written and spoken language. NLP enables you to create software that can: Analyze and interpret text in documents, email messages, and other sources. Interpret spoken language, and synthesize speech responses. Automatically translate spoken or written phrases between languages. Interpret commands and determine appropriate actions. For example, Starship Commander is a virtual reality (VR) game from Human Interact that takes place in a science fiction world. The game uses natural language processing to enable players to control the narrative and interact with in-game characters and starship systems. Natural language processing in Microsoft Azure You can use Microsoft's Azure AI Language to build natural language processing solutions. Some features of Azure AI Language include understanding and analyzing text, training conversational language models that can understand spoken or text-based commands, and building intelligent applications. Microsoft's Azure AI Speech is another service that can be used to build natural language processing solutions. Azure AI Speech features include speech recognition and synthesis, real- time translations, conversation transcriptions, and more. Microsoft's Azure AI Translator uses a Neural Machine Translation (NMT) model for translation, which analyzes the semantic context of the text and renders a more accurate and complete translation as a result. You can explore Azure AI Language features in the Azure Language Studio and Azure AI Speech features in the Azure Speech Studio. The service features are available for use and testing in the studios and other programming languages. Understand document intelligence and knowledge mining Document Intelligence is the area of AI that deals with managing, processing, and using high volumes of a variety of data found in forms and documents. Document intelligence enables you to create software that can automate processing for contracts, health documents, financial forms and more Document intelligence in Microsoft Azure You can use Microsoft's Azure AI Document Intelligence to build solutions that manage and accelerate data collection from scanned documents. Features of Azure AI Document Intelligence help automate document processing in applications and workflows, enhance data- driven strategies, and enrich document search capabilities. You can use prebuilt models to add intelligent document processing for invoices, receipts, health insurance cards, tax forms, and more. You can also use Azure AI Document Intelligence to create custom models with your own labeled datasets. The service features are available for use and testing in the Document Intelligence Studio and other programming languages. Knowledge Mining Knowledge mining is the term used to describe solutions that involve extracting information from large volumes of often unstructured data to create a searchable knowledge store. Knowledge mining in Microsoft Azure One Microsoft knowledge mining solution is Azure AI Search, a private, enterprise, search solution that has tools for building indexes. The indexes can then be used for internal only use, or to enable searchable content on public facing internet assets. Azure AI Search can utilize the built-in AI capabilities of Azure AI services such as image processing, document intelligence, and natural language processing to extract data. The product's AI capabilities makes it possible to index previously unsearchable documents and to extract and surface insights from large amounts of data quickly. Understand generative AI Generative AI describes a category of capabilities within AI that create original content. People typically interact with generative AI that has been built into chat applications. Generative AI applications take in natural language input, and return appropriate responses in a variety of formats including natural language, image, code, and audio. Generative AI in Microsoft Azure In Microsoft Azure, you can use the Azure OpenAI service to build generative AI solutions. Azure OpenAI Service is Microsoft's cloud solution for deploying, customizing, and hosting generative AI models. It brings together the best of OpenAI's cutting edge models and APIs with the security and scalability of the Azure cloud platform. Azure OpenAI supports many foundation model choices that can serve different needs. The service features are available for use and testing in the Azure AI Studio and other programming languages. You can use the Azure AI Studio user interface to manage, develop, and customize generative AI models. Challenges and risks with AI Artificial Intelligence is a powerful tool that can be used to greatly benefit the world. However, like any tool, it must be used responsibly. The following table shows some of the potential challenges and risks facing an AI application developer. Understand Responsible AI At Microsoft, AI software development is guided by a set of six principles, designed to ensure that AI applications provide amazing solutions to difficult problems without any unintended negative consequences. Fairness AI systems should treat all people fairly. For example, suppose you create a machine learning model to support a loan approval application for a bank. The model should predict whether the loan should be approved or denied without bias. This bias could be based on gender, ethnicity, or other factors that result in an unfair advantage or disadvantage to specific groups of applicants. Azure Machine Learning includes the capability to interpret models and quantify the extent to which each feature of the data influences the model's prediction. This capability helps data scientists and developers identify and mitigate bias in the model. Another example is Microsoft's implementation of Responsible AI with the Face service, which retires facial recognition capabilities that can be used to try to infer emotional states and identity attributes. These capabilities, if misused, can subject people to stereotyping, discrimination or unfair denial of services. Reliability and safety AI systems should perform reliably and safely. For example, consider an AI-based software system for an autonomous vehicle; or a machine learning model that diagnoses patient symptoms and recommends prescriptions. Unreliability in these kinds of systems can result in substantial risk to human life. AI-based software application development must be subjected to rigorous testing and deployment management processes to ensure that they work as expected before release. Privacy and security AI systems should be secure and respect privacy. The machine learning models on which AI systems are based rely on large volumes of data, which may contain personal details that must be kept private. Even after the models are trained and the system is in production, privacy and security need to be considered. As the system uses new data to make predictions or take action, both the data and decisions made from the data may be subject to privacy or security concerns. Inclusiveness AI systems should empower everyone and engage people. AI should bring benefits to all parts of society, regardless of physical ability, gender, sexual orientation, ethnicity, or other factors. Transparency AI systems should be understandable. Users should be made fully aware of the purpose of the system, how it works, and what limitations may be expected. Accountability People should be accountable for AI systems. Designers and developers of AI-based solutions should work within a framework of governance and organizational principles that ensure the solution meets ethical and legal standards that are clearly defined. The principles of responsible AI can help you understand some of the challenges facing developers as they try to create ethical AI solutions. Summary Artificial Intelligence enables the creation of powerful solutions to many kinds of problems. AI systems can exhibit human characteristics to analyze the world around them, make predictions or inferences, and act on them in ways that we could only imagine a short time ago. With this power, comes responsibility. As developers of AI solutions, we must apply principles that ensure that everyone benefits from AI without disadvantaging any individual or section of society. Introduction for Ai from the second link: Artificial Intelligence is an exciting scientific discipline that studies how we can make computers exhibit intelligent behavior, e.g. do those things that human beings are good at doing. Originally, computers were invented by Charles Babbage to operate on numbers following a well-defined procedure - an algorithm. Modern computers, even though significantly more advanced than the original model proposed in the 19th century, still follow the same idea of controlled computations. Thus it is possible to program a computer to do something if we know the exact sequence of steps that we need to do in order to achieve the goal. There are some tasks, however, that we do not explicitly know how to solve. Consider determining the age of a person from his/her photograph. We somehow learn to do it, because we have seen many examples of people of different age, but we cannot explicitly explain how we do it, nor can we program the computer to do it. This is exactly the kind of task that are of interest to Artificial Intelligence (AI for short). The Definition of Intelligence and the Turing Test One of the problems when dealing with the term Intelligence is that there is no clear definition of this term. One can argue that intelligence is connected to abstract thinking, or to self- awareness, but we cannot properly define it. To see the ambiguity of a term intelligence, try answering a question: "Is a cat intelligent?". Different people tend to give different answers to this question, as there is no universally accepted test to prove the assertion is true or not. And if you think there is - try running your cat through an IQ test... When speaking about AGI we need to have some way to tell if we have created a truly intelligent system. Alan Turing proposed a way called a Turing Test, which also acts like a definition of intelligence. The test compares a given system to something inherently intelligent - a real human being, and because any automatic comparison can be bypassed by a computer program, we use a human interrogator. So, if a human being is unable to distinguish between a real person and a computer system in text-based dialogue - the system is considered intelligent. Different Approaches to AI If we want a computer to behave like a human, we need somehow to model inside a computer our way of thinking. Consequently, we need to try to understand what makes a human being intelligent. There are also some other possible approaches to intelligence: An Emergent, Synergetic or multi-agent approach are based on the fact that complex intelligent behaviour can be obtained by an interaction of a large number of simple agents. According to evolutionary cybernetics, intelligence can emerge from more simple, reactive behaviour in the process of metasystem transition. An Evolutionary approach, or genetic algorithm is an optimization process based on the principles of evolution. We will consider those approaches later in the course, but right now we will focus on two main directions: top-down and bottom-up. The Top-Down Approach In a top-down approach, we try to model our reasoning. Because we can follow our thoughts when we reason, we can try to formalize this process and program it inside the computer. This is called symbolic reasoning. People tend to have some rules in their head that guide their decision making processes. For example, when a doctor is diagnosing a patient, he or she may realize that a person has a fever, and thus there might be some inflammation going on inside the body. By applying a large set of rules to a specific problem a doctor may be able to come up with the final diagnosis. This approach relies heavily on knowledge representation and reasoning. Extracting knowledge from a human expert might be the most difficult part, because a doctor in many cases would not know exactly why he or she is coming up with a particular diagnosis. Sometimes the solution just comes up in his or her head without explicit thinking. Some tasks, such as determining the age of a person from a photograph, cannot be at all reduced to manipulating knowledge. Bottom-Up Approach Alternately, we can try to model the simplest elements inside our brain – a neuron. We can construct a so-called artificial neural network inside a computer, and then try to teach it to solve problems by giving it examples. This process is similar to how a newborn child learns about his or her surroundings by making observations. A Brief History of AI Artificial Intelligence was started as a field in the middle of the twentieth century. Initially, symbolic reasoning was a prevalent approach, and it led to a number of important successes, such as expert systems – computer programs that were able to act as an expert in some limited problem domains. However, it soon became clear that such approach does not scale well. Extracting the knowledge from an expert, representing it in a computer, and keeping that knowledgebase accurate turns out to be a very complex task, and too expensive to be practical in many cases. This led to so-called AI Winter in the 1970s.