Arkitekturdesign för artificiell intelligens (AI)

Artificiell intelligens (AI) är en dators förmåga att imitera intelligent mänskligt beteende. Med AI kan datorer analysera bilder, förstå tal, interagera på naturliga sätt och göra förutsägelser med hjälp av data.

Bild som visar förhållandet mellan artificiell intelligens som ett överordnat begrepp. Inom AI finns maskininlärning. Inom maskininlärning finns djupinlärning.

AI-begrepp

Algoritm

En algoritm är en sekvens med beräkningar och regler som används för att lösa ett problem eller analysera en uppsättning data. Det är som ett flödesdiagram med stegvisa instruktioner för frågor att ställa, men skrivet i matematik- och programmeringskod. En algoritm kan beskriva hur du avgör om ett husdjur är en katt, hund, fisk, fågel eller ödla. En annan mycket mer komplicerad algoritm kan beskriva hur du identifierar ett skrivet eller talat språk, analyserar dess ord, översätter dem till ett annat språk och sedan kontrollerar översättningen för noggrannhet.

Maskininlärning

Maskininlärning är en AI-teknik som använder matematiska algoritmer för att skapa förutsägelsemodeller. En algoritm används för att parsa datafält och för att "lära sig" av dessa data med hjälp av mönster som finns i dem för att generera modeller. Dessa modeller används sedan för att göra välgrundade förutsägelser eller beslut om nya data.

Förutsägelsemodellerna verifieras mot kända data, mäts med prestandamått som valts för specifika affärsscenarier och justeras sedan efter behov. Den här inlärnings- och valideringsprocessen kallas för utbildning. Genom regelbunden omträning förbättras ML-modeller med tiden.

Djupinlärning

Djupinlärning är en typ av ML som själv kan avgöra om dess förutsägelser är korrekta. Den använder också algoritmer för att analysera data, men den gör det i större skala än ML.

Djupinlärning använder artificiella neurala nätverk, som består av flera lager av algoritmer. Varje lager tittar på inkommande data, utför en egen specialiserad analys och skapar utdata som andra lager kan förstå. Dessa utdata skickas sedan till nästa lager, där en annan algoritm gör sin egen analys och så vidare.

Med många lager i varje neuralt nätverk – och ibland med flera neurala nätverk – kan en dator lära sig genom sin egen databearbetning. Detta kräver mycket mer data och mycket mer databehandlingskraft än ML.

Robotar

En robot är ett automatiserat program som är utformat för att utföra en viss uppgift. Tänk på det som en robot utan kropp. Tidiga robotar var jämförelsevis enkla och hanterade repetitiva och omfattande uppgifter med relativt enkel algoritmisk logik. Ett exempel skulle vara webbkrypningsrobotar som används av sökmotorer för att automatiskt utforska och katalogisera webbinnehåll.

Robotar har blivit mycket mer sofistikerade och använder AI och andra tekniker för att efterlikna mänsklig aktivitet och beslutsfattande, ofta samtidigt som de interagerar direkt med människor via text eller till och med tal. Exempel är robotar som kan ta en middagsreservation, chattrobotar (eller konversations-AI) som hjälper till med kundtjänstinteraktioner och sociala robotar som publicerar senaste nytt eller vetenskapliga data på sociala medier.

Microsoft erbjuder Azure Bot Service, en hanterad tjänst som är specialbyggd för utveckling av robotar i företagsklass.

Autonoma system

Autonoma system är en del av en ny klass som utvecklas och går utöver grundläggande automatisering. I stället för att utföra en specifik uppgift upprepade gånger med liten eller ingen variation (som robotar gör), ger autonoma system intelligens till datorer så att de kan anpassa sig till föränderliga miljöer för att uppnå ett önskat mål.

Smarta byggnader använder autonoma system för att automatiskt styra åtgärder som belysning, ventilation, luftkonditionering och säkerhet. Ett mer sofistikerat exempel skulle vara en självstyrd robot som utforskar en kollapsad gruvschakt för att noggrant kartlägga dess inre, avgöra vilka delar som är strukturellt sunda, analysera luften för andningsförmåga och upptäcka tecken på fångade gruvarbetare som behöver rädda alla utan mänsklig övervakning i realtid på fjärrslutet.

Allmän information om Microsoft AI

Läs mer om Microsoft AI och håll dig uppdaterad med relaterade nyheter:

Arkitekturtyper på hög nivå

Fördefinierad AI

Fördefinierade AI är precis vad det låter som färdiga AI-modeller, tjänster och API:er som är redo att användas. Dessa hjälper dig att lägga till intelligens i appar, webbplatser och flöden utan att behöva samla in data och sedan skapa, träna och publicera dina egna modeller.

Ett exempel på fördefinierad AI kan vara en förtränad modell som kan införlivas som den är eller användas för att tillhandahålla en baslinje för ytterligare anpassad träning. Ett annat exempel skulle vara en molnbaserad API-tjänst som kan anropas efter behov för att bearbeta naturligt språk på önskat sätt.

Azure AI-tjänster

Cognitive Services ger utvecklare möjlighet att använda fördefinierade API:er och integrationsverktyg för att skapa program som kan se, höra, tala, förstå och till och med börja resonera. Katalogen med tjänster inom Azure AI-tjänster kan kategoriseras i fem huvudpelare: Vision, Speech, Language, Web Search och Decision/Recommendation.

Fördefinierade AI-modeller i AI Builder

AI Builder är en ny funktion i Microsoft Power Platform som tillhandahåller ett punkt-och-klicka-gränssnitt för att lägga till AI i dina appar, även om du inte har några kunskaper om kodning eller datavetenskap. (Vissa funktioner i AI Builder har ännu inte släppts för allmän tillgänglighet och förblir i förhandsversionsstatus. Mer information finns på sidan Funktionstillgänglighet per region .)

Du kan skapa och träna dina egna modeller, men AI Builder tillhandahåller även utvalda fördefinierade AI-modeller som är redo att användas direkt. Du kan till exempel lägga till en komponent i Microsoft Power Apps baserat på en fördefinierad modell som identifierar kontaktinformation från visitkort.

Anpassad AI

Även om inbyggd AI är användbar (och alltmer flexibel) är det bästa sättet att få det du behöver från AI förmodligen att skapa ett system själv. Detta är uppenbarligen ett mycket djupt och komplext ämne, men låt oss titta på några grundläggande begrepp utöver vad vi just har gått igenom.

Kodspråk

Huvudkonceptet med AI är användningen av algoritmer för att analysera data och generera modeller för att beskriva (eller poängsätta) dem på sätt som är användbara. Algoritmer skrivs av utvecklare och dataforskare (och ibland av andra algoritmer) med hjälp av programmeringskod. Två av de mest populära programmeringsspråken för AI-utveckling är för närvarande Python och R.

Python är ett allmänt programmeringsspråk på hög nivå. Den har en enkel, lättlärd syntax som betonar läsbarhet. Det finns inget kompileringssteg. Python har ett stort standardbibliotek, men det stöder också möjligheten att lägga till moduler och paket. Detta uppmuntrar modularitet och gör att du kan utöka funktionerna när det behövs. Det finns ett stort och växande ekosystem med AI- och ML-bibliotek för Python, inklusive många som är lättillgängliga i Azure.

R är ett språk och en miljö för statistisk databehandling och grafik. Det kan användas för allt från att mappa breda sociala trender och marknadsföringstrender online till att utveckla finansiella modeller och klimatmodeller.

Microsoft har helt anammat R-programmeringsspråket och erbjuder många olika alternativ för R-utvecklare att köra sin kod i Azure.

Utbildning

Utbildning är kärnan i maskininlärning. Det är den iterativa processen att "lära" en algoritm att skapa modeller, som används för att analysera data och sedan göra korrekta förutsägelser från den. I praktiken har den här processen tre allmänna faser: träning, validering och testning.

Under träningsfasen taggas en kvalitetsuppsättning med kända data så att enskilda fält kan identifieras. Taggade data matas till en algoritm som konfigurerats för att göra en viss förutsägelse. När den är klar matar algoritmen ut en modell som beskriver de mönster som den hittade som en uppsättning parametrar. Under valideringen taggas nya data och används för att testa modellen. Algoritmen justeras efter behov och kan genomgå mer träning. Slutligen använder testfasen verkliga data utan taggar eller förvalda mål. Förutsatt att modellens resultat är korrekta anses den vara redo att användas och kan distribueras.

Finjustering av hyperparametrar

Hyperparametrar är datavariabler som styr själva träningsprocessen. Det är konfigurationsvariabler som styr hur algoritmen fungerar. Hyperparametrar ställs därför vanligtvis in innan modellträningen börjar och ändras inte i träningsprocessen på det sätt som parametrarna är. Hyperparameterjustering innebär att du kör utvärderingsversioner i träningsuppgiften, utvärderar hur bra de får jobbet gjort och sedan justerar efter behov. Den här processen genererar flera modeller som var och en tränas med olika hyperparametrar.

Modellval

Träningsprocessen och justeringen av hyperparametrar ger många kandidatmodeller. Dessa kan ha många olika varianser, inklusive den ansträngning som krävs för att förbereda data, modellens flexibilitet, mängden bearbetningstid och naturligtvis graden av noggrannhet i dess resultat. Att välja den bäst tränade modellen för dina behov och begränsningar kallas modellval, men det handlar lika mycket om förplanering före träning som om att välja den som fungerar bäst.

Automatiserad maskininlärning (AutoML)

Automatiserad maskininlärning, även kallat AutoML, är processen att automatisera de tidskrävande, iterativa uppgifterna för utveckling av maskininlärningsmodeller. Det kan avsevärt minska den tid det tar att hämta produktionsklara ML-modeller. Automatiserad ML kan hjälpa till med modellval, justering av hyperparametrar, modellträning och andra uppgifter, utan att kräva omfattande programmering eller domänkunskaper.

Resultat

Bedömning kallas också förutsägelse och är processen att generera värden baserat på en tränad maskininlärningsmodell, med tanke på några nya indata. De värden, eller poäng, som skapas kan representera förutsägelser för framtida värden, men de kan också representera en sannolik kategori eller ett resultat. Bedömningsprocessen kan generera många olika typer av värden:

  • En lista över rekommenderade objekt och en likhetspoäng

  • Numeriska värden för tidsseriemodeller och regressionsmodeller

  • Ett sannolikhetsvärde som anger sannolikheten för att en ny indata tillhör någon befintlig kategori

  • Namnet på en kategori eller ett kluster som ett nytt objekt är mest likt

  • En förutsagd klass eller ett utfall för klassificeringsmodeller

Batchbedömning är när data samlas in under en viss fast tidsperiod och sedan bearbetas i en batch. Det kan vara att generera affärsrapporter eller analysera kundlojalitet.

Realtidsbedömning är exakt den poängsättningen som pågår och utförs så snabbt som möjligt. Det klassiska exemplet är identifiering av kreditkortsbedrägerier, men realtidsbedömning kan också användas i taligenkänning, medicinska diagnoser, marknadsanalyser och många andra tillämpningar.

Allmän information om anpassad AI i Azure

Azure AI-plattformserbjudanden

Följande är en uppdelning av Azure-tekniker, plattformar och tjänster som du kan använda för att utveckla AI-lösningar för dina behov.

Azure Machine Learning

Det här är en maskininlärningstjänst i företagsklass för att skapa och distribuera modeller snabbare. Azure Machine Learning erbjuder webbgränssnitt och SDK:er så att du snabbt kan träna och distribuera dina maskininlärningsmodeller och pipelines i stor skala. Använd dessa funktioner med Python-ramverk med öppen källkod, till exempel PyTorch, TensorFlow och scikit-learn.

Referensarkitekturer för maskininlärning för Azure

Automatiserad maskininlärning i Azure

Azure har omfattande stöd för automatiserad ML. Utvecklare kan skapa modeller med hjälp av ett användargränssnitt utan kod eller genom en kod-första notebook-upplevelse.

Azure AI-tjänster

Det här är en omfattande familj av AI-tjänster och kognitiva API:er som hjälper dig att skapa intelligenta appar. Dessa domänspecifika, förträrade AI-modeller kan anpassas med dina data.

Det här är en AI-baserad molnsökningstjänst för utveckling av mobil- och webbappar. Tjänsten kan söka efter privat heterogent innehåll, med alternativ för AI-berikning om ditt innehåll är ostrukturerat eller osökbart i råform.

Azure Bot Service

Det här är en specialbyggd robotutvecklingsmiljö med färdiga mallar för att komma igång snabbt.

Apache Spark på Azure

Apache Spark är ett ramverk för parallellbearbetning som stöder minnesintern bearbetning för att öka prestanda i program för stordataanalys. Spark tillhandahåller primitiver för klusterbearbetning i minnet. Ett Spark-jobb kan läsa in och cachelagera data i minnet och köra frågor mot dem upprepade gånger, vilket är mycket snabbare än diskbaserade program, till exempel Hadoop.

Apache Spark i Azure HDInsight är Microsofts implementering av Apache Spark i molnet. Spark-kluster i HDInsight är kompatibla med Azure Storage och Azure Data Lake Storage, så du kan använda HDInsight Spark-kluster för att bearbeta dina data som lagras i Azure.

Microsofts maskininlärningsbibliotek för Apache Spark är SynapseML (tidigare kallat MMLSpark). Det här biblioteket med öppen källkod lägger till många verktyg för djupinlärning och datavetenskap, nätverksfunktioner och prestanda i produktionsklass i Spark-ekosystemet. Läs mer om SynapseML-funktioner.

Azure Databricks Runtime för Machine Learning

Azure Databricks är en Apache Spark-baserad analysplattform med enkel installation, effektiva arbetsflöden och en interaktiv arbetsyta för samarbete mellan dataforskare, tekniker och affärsanalytiker.

Med Databricks Runtime for Machine Learning (Databricks Runtime ML) kan du starta ett Databricks-kluster med alla bibliotek som krävs för distribuerad träning. Det ger en färdig miljö för maskininlärning och datavetenskap. Dessutom innehåller den flera populära bibliotek, inklusive TensorFlow, PyTorch, Keras och XGBoost. Distribuerad träning med Horovod stöds.

Kundcase

Olika branscher tillämpar AI på innovativa och inspirerande sätt. Här följer ett antal kundfallsstudier och framgångsberättelser:

Bläddra bland fler AI-kundberättelser

Nästa steg