Projektowanie architektury sztucznej inteligencji
Sztuczna inteligencja (AI) to możliwość komputera do naśladowania inteligentnego zachowania człowieka. Dzięki sztucznej inteligencji maszyny mogą analizować obrazy, rozumieć mowę, korzystać z naturalnych sposobów i przewidywać przy użyciu danych.
Pojęcia dotyczące sztucznej inteligencji
Algorytm
Algorytm to sekwencja obliczeń i reguł używanych do rozwiązywania problemu lub analizowania zestawu danych. Jest to jak schemat blokowy z instrukcjami krok po kroku dotyczącymi zadawania pytań, ale napisanymi w kodzie matematycznym i programistycznym. Algorytm może opisać, jak określić, czy zwierzę jest kotem, psem, rybą, ptakem lub jaszczurką. Inny znacznie bardziej skomplikowany algorytm może opisywać sposób identyfikowania napisanego lub mówionego języka, analizowania jego słów, tłumaczenia ich na inny język, a następnie sprawdzania poprawności tłumaczenia.
Uczenie maszynowe
Uczenie maszynowe to technika sztucznej inteligencji, która używa algorytmów matematycznych do tworzenia modeli predykcyjnych. Algorytm służy do analizowania pól danych i "uczenia się" z tych danych przy użyciu wzorców znalezionych w nim do generowania modeli. Te modele są następnie używane do podejmowania świadomych przewidywań lub decyzji dotyczących nowych danych.
Modele predykcyjne są weryfikowane pod kątem znanych danych, mierzone przez metryki wydajności wybrane dla określonych scenariuszy biznesowych, a następnie dostosowane zgodnie z potrzebami. Ten proces uczenia się i walidacji jest nazywany szkoleniem. Dzięki okresowemu ponownemu trenowaniu modele uczenia maszynowego są ulepszane w czasie.
Uczenie głębokie
Uczenie głębokie to typ uczenia maszynowego, który może określić, czy jego przewidywania są dokładne. Używa również algorytmów do analizowania danych, ale robi to na większą skalę niż ml.
Uczenie głębokie używa sztucznych sieci neuronowych, które składają się z wielu warstw algorytmów. Każda warstwa analizuje dane przychodzące, wykonuje własną wyspecjalizowaną analizę i generuje dane wyjściowe, które inne warstwy mogą zrozumieć. Te dane wyjściowe są następnie przekazywane do następnej warstwy, w której inny algorytm wykonuje własną analizę itd.
W przypadku wielu warstw w każdej sieci neuronowej, a czasami przy użyciu wielu sieci neuronowych, maszyna może uczyć się za pomocą własnego przetwarzania danych. Wymaga to znacznie większej ilości danych i znacznie większej mocy obliczeniowej niż uczenie maszynowe.
Boty
Bot to zautomatyzowany program przeznaczony do wykonywania określonego zadania. Pomyśl o tym jako robota bez ciała. Wczesne boty były stosunkowo proste, obsługiwały powtarzające się i obszerne zadania z stosunkowo prostą logiką algorytmiczną. Przykładem mogą być przeszukiwarki internetowe używane przez wyszukiwarki do automatycznego eksplorowania i katalogowania zawartości internetowej.
Boty stały się znacznie bardziej zaawansowane, korzystając ze sztucznej inteligencji i innych technologii, aby naśladować ludzką aktywność i podejmowanie decyzji, często podczas interakcji bezpośrednio z ludźmi za pomocą tekstu, a nawet mowy. Przykłady obejmują boty, które mogą przyjmować rezerwację kolacji, czatboty (lub konwersacyjne sztuczna inteligencja), które pomagają w interakcjach z obsługą klienta, oraz boty społecznościowe, które publikują istotne wiadomości lub dane naukowe w witrynach mediów społecznościowych.
Firma Microsoft oferuje usługę Azure Bot Service, zarządzaną usługę utworzoną specjalnie na potrzeby tworzenia botów klasy korporacyjnej.
Systemy autonomiczne
Systemy autonomiczne są częścią ewoluującej nowej klasy, która wykracza poza podstawową automatyzację. Zamiast wykonywać określone zadanie wielokrotnie z niewielkimi lub żadnymi odmianami (takimi jak boty), systemy autonomiczne zapewniają inteligencję maszynom, dzięki czemu mogą dostosować się do zmieniających się środowisk w celu osiągnięcia pożądanego celu.
Inteligentne budynki używają systemów autonomicznych do automatycznego sterowania operacjami, takimi jak oświetlenie, wentylacja, klimatyzacja i zabezpieczenia. Bardziej wyrafinowanym przykładem byłoby samoreżyserowany robot eksplorujący zawalony wał kopalni, aby dokładnie zamapować jego wnętrze, określić, które części są strukturalne, analizować powietrze pod kątem oddychania i wykrywać oznaki uwięzionych górników potrzebujących ratowania wszystkich bez monitorowania przez człowieka w czasie rzeczywistym na zdalnym końcu.
Ogólne informacje na temat sztucznej inteligencji firmy Microsoft
Dowiedz się więcej o sztucznej inteligencji firmy Microsoft i na bieżąco z powiązanymi wiadomościami:
Typy architektury wysokiego poziomu
Wstępnie utworzona sztuczna inteligencja
Wstępnie skompilowana sztuczna inteligencja jest dokładnie taka, jak gotowe do użycia modele, usługi i interfejsy API. Ułatwiają one dodawanie analizy do aplikacji, witryn internetowych i przepływów bez konieczności zbierania danych, a następnie tworzenia, trenowania i publikowania własnych modeli.
Jednym z przykładów wstępnie utworzonej sztucznej inteligencji może być wstępnie wytrenowany model, który można włączyć jako lub użyć do zapewnienia punktu odniesienia na potrzeby dalszego niestandardowego trenowania. Innym przykładem może być usługa interfejsu API oparta na chmurze, którą można wywołać, aby przetwarzać język naturalny w żądany sposób.
Usługi platformy Azure AI
Usługi Cognitive Services umożliwiają deweloperom korzystanie ze wstępnie utworzonych interfejsów API i zestawów narzędzi integracji do tworzenia aplikacji, które mogą wyświetlać, słyszeć, mówić, rozumieć, a nawet zaczynać rozumować. Wykaz usług w usługach Azure AI można podzielić na pięć głównych filarów: Vision, Speech, Language, Web Search i Decision/Recommendation.
Wstępnie utworzone modele sztucznej inteligencji w narzędziu AI Builder
Narzędzie AI Builder to nowa funkcja platformy Microsoft Power Platform , która udostępnia interfejs typu punkt-kliknięcie do dodawania sztucznej inteligencji do aplikacji, nawet jeśli nie masz umiejętności związanych z kodowaniem ani nauką o danych. (Niektóre funkcje w narzędziu AI Builder nie zostały jeszcze wydane w celu zapewnienia ogólnej dostępności i pozostają w stanie wersji zapoznawczej. Aby uzyskać więcej informacji, zobacz stronę Dostępność funkcji według regionów ).
Możesz tworzyć i trenować własne modele, ale narzędzie AI Builder udostępnia również wybrane wstępnie utworzone modele sztucznej inteligencji, które są gotowe do użycia od razu. Możesz na przykład dodać składnik w usłudze Microsoft Power Apps na podstawie wstępnie utworzonego modelu, który rozpoznaje informacje kontaktowe z wizytówek.
Niestandardowa sztuczna inteligencja
Mimo że wstępnie utworzona sztuczna inteligencja jest przydatna (i coraz bardziej elastyczna), najlepszym sposobem uzyskania potrzebnych elementów sztucznej inteligencji jest prawdopodobnie samodzielne utworzenie systemu. Jest to oczywiście bardzo głęboki i złożony temat, ale przyjrzyjmy się niektórym podstawowym pojęciom poza tym, co właśnie omówiliśmy.
Języki kodu
Podstawową koncepcją sztucznej inteligencji jest użycie algorytmów do analizowania danych i generowania modeli w celu opisania (lub oceny) w sposób przydatny. Algorytmy są pisane przez deweloperów i analityków danych (a czasami przez inne algorytmy) przy użyciu kodu programowania. Dwa z najpopularniejszych języków programowania na potrzeby programowania sztucznej inteligencji to obecnie Python i R.
Język Python to język programowania ogólnego przeznaczenia wysokiego poziomu. Ma prostą, łatwą w nauce składnię, która podkreśla czytelność. Nie ma kroku kompilowania. Język Python ma dużą bibliotekę standardową, ale obsługuje również możliwość dodawania modułów i pakietów. Zachęca to do modułowości i umożliwia rozszerzanie możliwości w razie potrzeby. Istnieje duży i rosnący ekosystem bibliotek sztucznej inteligencji i uczenia maszynowego dla języka Python, w tym wiele, które są łatwo dostępne na platformie Azure.
Wprowadzenie do uczenia maszynowego przy użyciu języka Python i usługi Azure Notebooks
scikit-learn
. Biblioteka uczenia maszynowego typu open source dla języka PythonPyTorch. Biblioteka języka Python typu open source z bogatym ekosystemem, który może służyć do uczenia głębokiego, przetwarzania obrazów, przetwarzania języka naturalnego i nie tylko
TensorFlow. Biblioteka matematyczna typu open source używana również dla aplikacji uczenia maszynowego i sieci neuronowych
R to język i środowisko do obliczeń statystycznych i grafiki. Można go używać do wszystkiego, od mapowania szerokich trendów społecznych i marketingowych online na opracowywanie modeli finansowych i klimatycznych.
Firma Microsoft w pełni przyjęła język programowania R i oferuje wiele różnych opcji dla deweloperów języka R do uruchamiania kodu na platformie Azure.
Szkolenia
Szkolenie jest podstawą uczenia maszynowego. Jest to iteracyjny proces "nauczania" algorytmu do tworzenia modeli, które są używane do analizowania danych, a następnie wykonywania dokładnych przewidywań na ich podstawie. W praktyce ten proces ma trzy ogólne fazy: trenowanie, walidację i testowanie.
W fazie trenowania otagowany jest zestaw jakości znanych danych, dzięki czemu poszczególne pola są możliwe do zidentyfikowania. Oznakowane dane są przekazywane do algorytmu skonfigurowanego do tworzenia określonego przewidywania. Po zakończeniu algorytm generuje model, który opisuje wzorce znalezione jako zestaw parametrów. Podczas walidacji nowe dane są oznaczane i używane do testowania modelu. Algorytm jest dostosowywany zgodnie z potrzebami i ewentualnie wprowadzany przez więcej trenowania. Na koniec faza testowania używa danych rzeczywistych bez żadnych tagów ani wstępnie wybranych celów. Przy założeniu, że wyniki modelu są dokładne, jest uznawane za gotowe do użycia i można je wdrożyć.
Dostrajanie hiperparametrów
Hiperparametry to zmienne danych, które zarządzają samym procesem trenowania. Są to zmienne konfiguracji, które kontrolują sposób działania algorytmu. Hiperparametry są zwykle ustawiane przed rozpoczęciem trenowania modelu i nie są modyfikowane w procesie trenowania w sposób, w jaki są to parametry. Dostrajanie hiperparametryczne obejmuje uruchamianie prób w ramach zadania szkoleniowego, ocenianie, jak dobrze wykonuje zadanie, a następnie dostosowywanie zgodnie z potrzebami. Ten proces generuje wiele modeli, z których każdy jest trenowany przy użyciu różnych rodzin hiperparametrów.
Wybieranie modelu
Proces trenowania i dostrajania hiperparametrów tworzy wiele modeli kandydatów. Mogą one mieć wiele różnych wariancji, w tym nakład pracy potrzebny do przygotowania danych, elastyczność modelu, ilość czasu przetwarzania i oczywiście stopień dokładności jego wyników. Wybór najlepszego wytrenowanego modelu dla Twoich potrzeb i ograniczeń jest nazywany wyborem modelu, ale jest to tak samo wstępnie zaplanowane przed rozpoczęciem szkolenia, ponieważ chodzi o wybór tego, który działa najlepiej.
Zautomatyzowane uczenie maszynowe (AutoML)
Zautomatyzowane uczenie maszynowe, znane również jako AutoML, to proces automatyzowania czasochłonnych, iteracyjnych zadań tworzenia modelu uczenia maszynowego. Może znacznie skrócić czas potrzebny na przygotowanie do produkcji modeli uczenia maszynowego. Zautomatyzowane uczenie maszynowe może pomóc w wyborze modelu, dostrajaniu hiperparametrów, trenowanie modelu i innych zadaniach bez konieczności obszernego programowania lub wiedzy na temat domeny.
Scoring (Ocenianie)
Ocenianie jest również nazywane przewidywaniem i jest procesem generowania wartości na podstawie wytrenowanego modelu uczenia maszynowego, biorąc pod uwagę niektóre nowe dane wejściowe. Utworzone wartości lub wyniki mogą reprezentować przewidywania przyszłych wartości, ale mogą również reprezentować prawdopodobną kategorię lub wynik. Proces oceniania może generować wiele różnych typów wartości:
Lista zalecanych elementów i wynik podobieństwa
Wartości liczbowe dla modeli szeregów czasowych i modeli regresji
Wartość prawdopodobieństwa wskazująca prawdopodobieństwo, że nowe dane wejściowe należą do jakiejś istniejącej kategorii
Nazwa kategorii lub klastra, do którego najbardziej podobny jest nowy element
Przewidywana klasa lub wynik dla modeli klasyfikacji
Ocenianie wsadowe polega na tym, że dane są zbierane w określonym czasie, a następnie przetwarzane w partii. Może to obejmować generowanie raportów biznesowych lub analizowanie lojalności klientów.
Ocenianie w czasie rzeczywistym jest dokładnie to, że ocenianie jest w toku i wykonywane tak szybko, jak to możliwe. Klasycznym przykładem jest wykrywanie oszustw kart kredytowych, ale ocenianie w czasie rzeczywistym może być również używane w rozpoznawaniu mowy, diagnozach medycznych, analizach rynku i wielu innych aplikacjach.
Ogólne informacje na temat niestandardowej sztucznej inteligencji na platformie Azure
Notesy zestawu SDK języka Python usługi Azure Machine Learning. Repozytorium GitHub przykładowych notesów demonstrujących zestaw SDK języka Python usługi Azure Machine Learning.
Trenowanie modeli języka R przy użyciu interfejsu wiersza polecenia usługi Azure ML (wersja 2)
Oferty platformy Azure AI
Poniżej przedstawiono podział technologii, platform i usług platformy Azure, których można użyć do tworzenia rozwiązań sztucznej inteligencji dla Twoich potrzeb.
Azure Machine Learning
Jest to usługa uczenia maszynowego klasy korporacyjnej do szybszego kompilowania i wdrażania modeli. Usługa Azure Machine Learning oferuje interfejsy internetowe i zestawy SDK, dzięki czemu można szybko trenować i wdrażać modele i potoki uczenia maszynowego na dużą skalę. Korzystaj z tych możliwości za pośrednictwem platform typu open source języka Python, takich jak PyTorch, TensorFlow i scikit-learn.
Co to jest Azure Machine Learning? Ogólna orientacja z linkami do wielu zasobów szkoleniowych, zestawów SDK, dokumentacji i innych
Architektury referencyjne uczenia maszynowego dla platformy Azure
Zautomatyzowane uczenie maszynowe platformy Azure
Platforma Azure zapewnia rozbudowaną obsługę zautomatyzowanego uczenia maszynowego. Deweloperzy mogą tworzyć modele przy użyciu interfejsu użytkownika bez kodu lub za pomocą środowiska notesów typu code-first.
Strona główna produktu zautomatyzowanego uczenia maszynowego na platformie Azure
Infografika zautomatyzowanego uczenia maszynowego platformy Azure (PDF)
Konfigurowanie eksperymentów zautomatyzowanego uczenia maszynowego w języku Python
Korzystanie z rozszerzenia interfejsu wiersza polecenia dla usługi Azure Machine Learning
Usługi platformy Azure AI
Jest to kompleksowa rodzina usług sztucznej inteligencji i interfejsów API poznawczych, które ułatwiają tworzenie inteligentnych aplikacji. Te wstępnie wytrenowane modele sztucznej inteligencji specyficzne dla domeny można dostosować przy użyciu danych.
Azure Cognitive Search
Jest to oparta na sztucznej inteligencji usługa wyszukiwania w chmurze do tworzenia aplikacji mobilnych i internetowych. Usługa może przeszukiwać prywatną zawartość heterogeniczną z opcjami wzbogacania sztucznej inteligencji, jeśli zawartość jest nieustrukturyzowana lub nieprzeszukana w postaci nieprzetworzonej.
Azure Bot Service
Jest to specjalnie utworzone środowisko deweloperskie botów z wbudowanymi szablonami, które umożliwiają szybkie rozpoczęcie pracy.
Platforma Apache Spark na platformie Azure
Apache Spark to platforma przetwarzania równoległego, która obsługuje przetwarzanie w pamięci w celu zwiększania wydajności aplikacji do analizy danych big data. Platforma Spark udostępnia typom pierwotnym możliwość używania klastrów obliczeniowych korzystających z funkcji przetwarzania w pamięci. Zadanie platformy Spark może ładować i buforować dane do pamięci i wykonywać zapytania wielokrotnie, co jest znacznie szybsze niż aplikacje oparte na dyskach, takie jak Hadoop.
Platforma Apache Spark w usłudze Azure HDInsight to implementacja platformy Apache Spark w chmurze firmy Microsoft. Klastry Spark w usłudze HDInsight są zgodne z usługami Azure Storage i Azure Data Lake Storage, dzięki czemu można przetwarzać dane przechowywane na platformie Azure za pomocą klastrów spark usługi HDInsight.
Biblioteka uczenia maszynowego firmy Microsoft dla platformy Apache Spark to SynapseML (wcześniej znana jako MMLSpark). Ta biblioteka typu open source dodaje wiele narzędzi do uczenia głębokiego i nauki o danych, możliwości sieci i wydajności klasy produkcyjnej do ekosystemu platformy Spark. Dowiedz się więcej o funkcjach i możliwościach usługi SynapseML.
Omówienie usługi Azure HDInsight. Podstawowe informacje na temat funkcji, architektury klastra i przypadków użycia z wskaźnikami do przewodników Szybki start i samouczków.
Samouczek: tworzenie aplikacji uczenia maszynowego platformy Apache Spark w usłudze Azure HDInsight
Najlepsze rozwiązania dotyczące platformy Apache Spark w usłudze HDInsight
Konfigurowanie ustawień klastra Apache Spark w usłudze HDInsight
Tworzenie potoku uczenia maszynowego platformy Apache Spark w usłudze HDInsight
Środowisko uruchomieniowe usługi Azure Databricks na potrzeby uczenia maszynowego
Azure Databricks to oparta na platformie Apache Spark platforma analityczna z jednym kliknięciem, usprawnione przepływy pracy i interaktywny obszar roboczy do współpracy między analitykami danych, inżynierami i analitykami biznesowymi.
Środowisko Databricks Runtime for Machine Learning (Databricks Runtime ML) umożliwia uruchomienie klastra usługi Databricks ze wszystkimi bibliotekami wymaganymi do trenowania rozproszonego. Zapewnia gotowe do użycia środowisko do uczenia maszynowego i nauki o danych. Ponadto zawiera wiele popularnych bibliotek, w tym TensorFlow, PyTorch, Keras i XGBoost. Obsługuje ono także trenowanie rozproszone przy użyciu struktury Horovod.
Historie klientów
Różne branże stosują sztuczną inteligencję w innowacyjny i inspirujący sposób. Poniżej przedstawiono wiele analiz przypadków klientów i historii sukcesu:
ASOS: Sprzedawca detaliczny online rozwiązuje problemy z usługą Azure Machine Learning Service
Volkswagen: Tłumaczenie maszynowe mówi Volkswagenowi – w 40 językach
Asklepios Klinik Altona: Precyzyjne operacje z wizualizacją Microsoft HoloLens 2 i 3D
Przeglądaj więcej historii klientów sztucznej inteligencji
Następne kroki
Aby dowiedzieć się więcej na temat produktów do tworzenia sztucznej inteligencji dostępnych od firmy Microsoft, zapoznaj się ze stroną platformy Sztucznej inteligencji firmy Microsoft.
Aby dowiedzieć się, jak opracowywać rozwiązania sztucznej inteligencji, zapoznaj się z tematem Microsoft AI School.
Sztuczna inteligencja firmy Microsoft w witrynie GitHub: przykłady, architektury referencyjne i najlepsze rozwiązania organizują repozytoria oparte na sztucznej inteligencji typu open source firmy Microsoft, udostępniając samouczki i materiały szkoleniowe.