Systemy rekomendacji to jedna z najczęściej stosowanych technologii uczenia maszynowego (ML) w rzeczywistych aplikacjach, od sieci społecznościowych po platformy e-commerce. Użytkownicy wielu systemów online polegają na systemach rekomendacji, aby nawiązywać nowe przyjaźnie, odkrywać nową muzykę zgodnie z sugerowanymi listami muzycznymi, a nawet podejmować decyzje zakupowe w e-commerce na podstawie polecanych produktów. W sieciach społecznościowych jednym z typowych przypadków użycia jest polecanie użytkownikowi nowych znajomych na podstawie innych połączeń użytkowników. Użytkownicy, którzy mają wspólnych znajomych, prawdopodobnie się znają. W związku z tym powinni mieć wyższy wynik, aby system rekomendacji mógł je zaproponować, jeśli nie zostali jeszcze połączeni.
Sieci społecznościowe można naturalnie przedstawić na wykresie, w którym węzły reprezentują ludzi, a powiązania między ludźmi, takie jak przyjaźń lub współpracownicy, są reprezentowane przez krawędzie. Poniżej przedstawiono jedną z takich sieci społecznościowych. Wyobraźmy sobie, że mamy sieć społecznościową z członkami (węzły) Bill, Terry, Henry, Gary i Alistair. Ich relacje są reprezentowane przez łącze (krawędź), a zainteresowania każdej osoby, takie jak sport, sztuka, gry i komiksy, są reprezentowane przez właściwości węzła.
Celem jest tutaj przewidzenie, czy istnieje potencjalne brakujące ogniwo między członkami. Na przykład, czy powinniśmy polecić połączenie między Henrym a Terrym? Patrząc na wykres, widzimy, że mają dwóch wspólnych znajomych, Gary'ego i Alistaira. Istnieje zatem duża szansa, że Henry i Terry albo już się znali, albo wkrótce się poznają. A co z Henrym i Billem? Nie mają żadnych wspólnych znajomych, ale mają jakieś słabe połączenie poprzez koneksje swoich przyjaciół. Ponadto obaj mają podobne zainteresowania sztuką, komiksami i grami. Czy powinniśmy promować to połączenie? Wszystkie te pytania i intuicje stanowią podstawową logikę systemów rekomendacji sieci społecznościowych.
Jednym z możliwych sposobów na to jest rekomendowanie relacji na podstawie eksploracji grafów. W językach zapytań graficznych, takich jak Apache TinkerPop Gremlin, implementacja zestawów reguł, takich jak liczenie wspólnych przyjaciół, jest stosunkowo łatwa i może być wykorzystana do określenia związku między Henrym a Terrym. Jednak te zestawy reguł będą bardzo skomplikowane, gdy będziemy chcieli uwzględnić inne atrybuty, takie jak właściwości węzła, siła połączenia itp. Wyobraźmy sobie zestaw reguł określający powiązanie między Henrym a Billem. Ten zestaw reguł musi uwzględniać ich wspólne interesy i słabe powiązania poprzez określone ścieżki na wykresie. Aby zwiększyć solidność, być może będziemy musieli dodać współczynnik odległości, aby faworyzować silne połączenia i karać słabe. Podobnie chcielibyśmy mieć czynnik sprzyjający wspólnym interesom. Wkrótce zestawy reguł, które mogą ujawnić złożone ukryte wzorce, staną się niemożliwe do wyliczenia.
Technologia ML pozwala nam odkrywać ukryte wzorce poprzez uczenie się algorytmów. Jednym z przykładów jest XGBoost, który jest szeroko stosowany do zadań klasyfikacji lub regresji. Jednak algorytmy takie jak XGBoost wykorzystują konwencjonalne podejście ML oparte na formacie danych tabelarycznych. Te podejścia nie są zoptymalizowane pod kątem struktur danych grafów i wymagają złożonej inżynierii funkcji, aby poradzić sobie z tymi wzorcami danych.
W poprzednim przykładzie sieci społecznościowej informacje o interakcjach z wykresu mają kluczowe znaczenie dla poprawy dokładności rekomendacji. Graph Neural Network (GNN) to platforma głębokiego uczenia się (DL), którą można zastosować do danych wykresów w celu wykonywania zadań przewidywania na poziomie krawędzi, węzła lub wykresu. Sieci GNN mogą wykorzystywać charakterystykę poszczególnych węzłów, a także informacje o strukturze grafu podczas uczenia się reprezentacji grafu i leżących u jego podstaw wzorców. Dlatego w ostatnich latach metody oparte na GNN wyznaczyły nowe standardy w wielu testach porównawczych systemu rekomendacyjnego. Zobacz bardziej szczegółowe informacje w ostatnich artykułach badawczych: Kompleksowa ankieta dotycząca grafowych sieci neuronowych i Systemy rekomendacji oparte na uczeniu się wykresów: przegląd.
Poniżej przedstawiono słynny przykład takiego przypadku użycia. Naukowcy i inżynierowie z Pinteresta przeszli szkolenie Grafowe konwolucyjne sieci neuronowe dla systemów rekomendujących w skali internetowej, o nazwie PinSage, z trzema miliardami węzłów reprezentujących piny i płytki oraz 18 miliardami krawędzi. PinSage generuje wysokiej jakości elementy do osadzania reprezentujące pinezki (wizualne zakładki do treści online). Można ich używać do szerokiego zakresu zadań związanych z rekomendacjami, takich jak wyszukiwanie najbliższego sąsiada w wyuczonej przestrzeni osadzania w celu odkrywania treści i rekomendacji.
W tym poście przeprowadzimy Cię przez proces korzystania z GNN w przypadkach użycia rekomendacji, przedstawiając to jako problem z przewidywaniem linków. Zilustrujemy również, w jaki sposób Neptune ML może ułatwić wdrożenie. Zapewnimy również przykładowy kod na GitHubie trenować swój pierwszy GNN z Neptune ML i wyciągać wnioski dotyczące rekomendacji na wykresie demonstracyjnym za pomocą zadań przewidywania linków.
Przewidywanie powiązań z Graph Neural Networks
Biorąc pod uwagę poprzedni przykład z sieci społecznościowej, chcielibyśmy polecić Henrykowi nowych znajomych. Zarówno Terry, jak i Bill byliby dobrymi kandydatami. Terry ma więcej wspólnych przyjaciół (Gary, Alistair) z Henrym, ale nie ma wspólnych zainteresowań. Podczas gdy Bill ma wspólne zainteresowania (sztuka, komiksy, gry) z Henrym, ale nie ma wspólnych przyjaciół. Który byłby lepszą rekomendacją? W przypadku sformułowania problemu przewidywania powiązań zadaniem jest przypisanie wyniku do dowolnego możliwego powiązania między dwoma węzłami. Im wyższy wynik łącza, tym większe prawdopodobieństwo, że ta rekomendacja będzie zbieżna. Ucząc się struktur powiązań już obecnych na grafie, model przewidywania powiązań może uogólnić nowe przewidywania powiązań, które „uzupełniają” graf.
Parametry funkcji f
który przewiduje wynik łącza, jest wyuczony podczas fazy szkolenia. Od funkcji f
dokonuje prognozy dla dowolnych dwóch węzłów na wykresie, wektory cech powiązane z węzłami są niezbędne w procesie uczenia się. Aby przewidzieć wynik połączenia między Henrym a Billem, dysponujemy zestawem surowych danych (grafiki, komiksy, gry), które mogą reprezentować Henry'ego i Billa. Przekształcamy to wraz z połączeniami na grafie, używając sieci GNN, aby utworzyć nowe reprezentacje znane jako osadzanie węzłów. Możemy również uzupełnić lub zastąpić początkowe surowe cechy wektorami z wbudowanej tabeli przeglądowej, której można się nauczyć podczas procesu uczenia. Idealnie byłoby, gdyby wbudowane funkcje dla Henry'ego i Billa odzwierciedlały ich zainteresowania oraz informacje topologiczne z grafu.
Jak działają sieci GNN
GNN przekształca początkowe funkcje węzła w osadzenie węzłów za pomocą techniki zwanej przekazywanie wiadomości. Proces przekazywania wiadomości jest przedstawiony na poniższym rysunku. Na początku atrybuty lub cechy węzła są konwertowane na atrybuty liczbowe. W naszym przypadku wykonujemy jednokrotne kodowanie cech kategorycznych (zainteresowania Henry'ego: sztuka, komiks, gry). Następnie pierwsza warstwa GNN agreguje wszystkie surowe obiekty sąsiadów (Gary i Alistair) (na czarno), tworząc nowy zestaw obiektów (na żółto). Powszechnym podejściem jest liniowa transformacja wszystkich sąsiednich cech, a następnie agregacja ich przez znormalizowaną sumę i przekazanie wyników do nieliniowej funkcji aktywacji, takiej jak ReLU, w celu wygenerowania nowego zestawu wektorów. Poniższy rysunek ilustruje, jak działa przekazywanie komunikatów dla węzła Henz. H, algorytm przekazywania wiadomości GNN, obliczy reprezentacje dla wszystkich węzłów grafu. Są one później wykorzystywane jako elementy wejściowe dla drugiej warstwy.
Druga warstwa GNN powtarza ten sam proces. Bierze wcześniej obliczony obiekt (na żółto) z pierwszej warstwy jako dane wejściowe, agreguje wszystkie nowe wbudowane obiekty sąsiadów Gary'ego i Alistaira i generuje wektory obiektów drugiej warstwy dla Henry'ego (na pomarańczowo). Jak widać, powtarzając mechanizm przekazywania komunikatów, rozszerzyliśmy agregację funkcji na sąsiadów z 2 przeskokami. W naszej ilustracji ograniczamy się do sąsiadów z 2 przeskokami, ale rozszerzenie do sąsiadów z 3 przeskokami można wykonać w ten sam sposób, dodając kolejną warstwę GNN.
Ostateczne osadzenia od Henry'ego i Billa (na pomarańczowo) są używane do obliczenia wyniku. Podczas procesu uczenia wynik łącza jest definiowany jako 1, gdy krawędź istnieje między dwoma węzłami (próbka pozytywna) i jako 0, gdy krawędzie między dwoma węzłami nie istnieją (próbka ujemna). Następnie błąd lub strata między rzeczywistym wynikiem a prognozą f(e1,e2)
jest wstecznie propagowany do poprzednich warstw w celu dostosowania wag. Po zakończeniu szkolenia możemy polegać na osadzonych wektorach cech dla każdego węzła, aby obliczyć ich wyniki połączeń za pomocą naszej funkcji f
.
W tym przykładzie uprościliśmy zadanie uczenia się na a wykres jednorodny, gdzie wszystkie węzły i krawędzie są tego samego typu. Na przykład wszystkie węzły na grafie są typu „Ludzie”, a wszystkie krawędzie są typu „znajomi z”. Jednak algorytm uczący się obsługuje również grafy heterogeniczne z różnymi typami węzłów i krawędzi. Możemy rozszerzyć poprzedni przypadek użycia, aby polecać produkty różnym użytkownikom, którzy mają podobne interakcje i zainteresowania. Zobacz więcej szczegółów w tym artykule badawczym: Modelowanie danych relacyjnych za pomocą grafowych sieci splotowych.
Na AWS re:Invent 2020 wprowadziliśmy Amazonka Neptuna ML, co pozwala naszym klientom trenować modele uczenia maszynowego na danych wykresu, bez konieczności posiadania głębokiej wiedzy specjalistycznej w zakresie uczenia maszynowego. W tym przykładzie, z pomocą Neptune ML, pokażemy, jak zbudować własny system rekomendacji na danych grafowych.
Trenuj swoją sieć splotów grafów za pomocą Amazon Neptune ML
Neptune ML wykorzystuje technologię grafowych sieci neuronowych do automatycznego tworzenia, uczenia i wdrażania modeli ML na danych wykresu. Neptune ML obsługuje typowe zadania przewidywania wykresów, takie jak klasyfikacja i regresja węzłów, klasyfikacja i regresja krawędzi oraz przewidywanie połączeń.
Jest zasilany przez:
- Amazon Neptun: szybka, niezawodna iw pełni zarządzana baza danych wykresów, zoptymalizowana pod kątem przechowywania miliardów relacji i wysyłania zapytań do wykresu z milisekundowym opóźnieniem. Amazon Neptune obsługuje trzy otwarte standardy tworzenia aplikacji graficznych: Apache TinkerPop Gremlin, RDF SPARQL i openCypher. Dowiedz się więcej na Przegląd funkcji Amazon Neptune.
- Amazon Sage Maker: w pełni zarządzana usługa, która zapewnia każdemu programiście i analitykowi danych możliwość szybkiego przygotowania kompilacji, szkolenia i wdrażania modeli ML.
- Biblioteka głębokich grafów (DGL): o open-source, wysokowydajny i skalowalny pakiet Pythona do DL na wykresach. Zapewnia szybkie i efektywne pod względem pamięci prymitywy przekazywania komunikatów do szkolenia Graph Neural Networks. Neptune ML używa DGL do automatycznego wybierania i trenowania najlepszego modelu ML dla Twojego obciążenia. Umożliwia to tworzenie prognoz opartych na ML na danych wykresu w godzinach zamiast tygodni.
Najprostszym sposobem na rozpoczęcie pracy z Neptune ML jest użycie pliku Szablon szybkiego startu AWS CloudFormation. Szablon instaluje wszystkie niezbędne komponenty, w tym klaster Neptune DB i konfiguruje konfiguracje sieciowe, role IAM i powiązaną instancję notebooka SageMaker z wstępnie wypełnionymi przykładami notatników dla Neptune ML.
Poniższy rysunek ilustruje różne kroki Neptune ML do trenowania systemu rekomendacji opartego na GNN. Przyjrzyjmy się bliżej każdemu krokowi i zbadajmy, na czym polega:
-
Konfiguracja eksportu danych
Pierwszym krokiem w naszym procesie Neptune ML jest wyeksportowanie danych wykresu z gromady Neptuna. Musimy określić parametry i konfigurację modelu dla zadania eksportu danych. Do wszystkich konfiguracji i poleceń używamy stołu warsztatowego Neptune. Środowisko pracy pozwala nam pracować z klastrem Neptune DB przy użyciu notatników Jupyter hostowanych przez Amazon SageMaker. Ponadto zapewnia szereg magicznych poleceń w notatnikach, które oszczędzają wiele czasu i wysiłku. Oto nasz przykład parametrów eksportu:
In export_params
, musimy skonfigurować podstawowe ustawienia, takie jak gromada Neptuna i wyjście Usługa Amazon Simple Storage (S3) ścieżka do przechowywania wyeksportowanych danych. Konfiguracja określona w additionalParams
jest typem zadania ML do wykonania. W tym przykładzie przewidywanie powiązań jest opcjonalnie używane do przewidywania określonego typu krawędzi (Użytkownik — PRZYJACIEL — Użytkownik). Jeśli nie zostanie określony typ celu, Neptune ML przyjmie, że zadaniem jest przewidywanie łącza. Parametry określają również szczegóły dotyczące danych przechowywanych na naszym grafie oraz sposób, w jaki model ML zinterpretuje te dane (mamy „Użytkownik” jako węzeł i „zainteresowania” jako właściwość węzła).
Aby uruchomić każdy krok w procesie budowania ML, po prostu użyj poleceń środowiska roboczego Neptune. The Stół roboczy Neptuna zawiera magię linii i magię komórki, które mogą zaoszczędzić dużo czasu na zarządzaniu tymi krokami. Aby uruchomić eksport danych, użyj komendy Neptune Workbench: %neptune_ml export start
Po zakończeniu zadania eksportu wyeksportujemy wykres Neptuna do formatu CSV i zapiszemy go w zasobniku S3. Będą dwa rodzaje plików: nodes.csv
i edges.csv
. Plik o nazwie training-data-configuration.json
zostanie również wygenerowany, który ma konfigurację potrzebną do Neptune ML do przeprowadzenia szkolenia modelu.
See Eksportuj dane z Neptune dla Neptune ML po więcej informacji.
-
Wstępne przetwarzanie danych
Neptune ML przeprowadza ekstrakcję i kodowanie cech w ramach etapów przetwarzania danych. Typowe typy wstępnego przetwarzania właściwości obejmują: kodowanie cech kategorycznych za pomocą kodowania na gorąco, grupowanie funkcji liczbowych lub używanie programu word2vec do kodowania właściwości ciągu lub innych wartości właściwości tekstu dowolnego.
W naszym przykładzie użyjemy po prostu właściwości „zainteresowania”. Neptune ML koduje wartości jako wielokategoryczne. Jeśli jednak wartość kategoryczna jest złożona (więcej niż trzy słowa na węzeł), Neptune ML wnioskuje, że typem właściwości jest tekst i używa kodowania text_word2vec.
Aby uruchomić wstępne przetwarzanie danych, użyj następującego magicznego polecenia notebooka Neptuna: %neptune_ml dataprocessing start
Na koniec tego kroku z wyeksportowanego zestawu danych generowany jest wykres DGL do wykorzystania w kroku szkolenia modelu. Neptune ML automatycznie dostraja model za pomocą zadań Hyperparameter Optimization Tuning zdefiniowanych w training-data-configuration.json
. Możemy pobrać i zmodyfikować ten plik, aby dostroić hiperparametry modelu, takie jak rozmiar partii, num-hidden, num-epochs, dropout itp. Oto przykładowy plik configuration.json.
See Przetwarzanie danych wykresu wyeksportowanych z Neptuna do treningu po więcej informacji.
-
Szkolenie modelowe
Kolejnym krokiem jest automatyczne uczenie modelu GNN. Szkolenie modelowe odbywa się w dwóch etapach. Pierwszy etap wykorzystuje zadanie przetwarzania SageMaker do wygenerowania strategii szkolenia modelu. Jest to zestaw konfiguracyjny, który określa, jaki typ modelu i zakresy hiperparametrów modelu będą używane do uczenia modelu.
Następnie uruchomione zostanie zadanie strojenia hiperparametrów SageMaker. The Zadanie optymalizacji dostrajania hiperparametrów SageMaker przeprowadza z góry określoną liczbę próbnych zadań uczenia modelu na przetwarzanych danych, wypróbowuje różne kombinacje hiperparametrów zgodnie z model-hpo-configuration.json
plik i przechowuje artefakty modelu wygenerowane przez szkolenie w wyjściowej lokalizacji Amazon S3.
Aby rozpocząć krok szkoleniowy, możesz użyć %neptune_ml training start
dowództwo.
Po zakończeniu wszystkich zadań szkoleniowych zadanie strojenia hiperparametrów zapisze artefakty z modelu o najwyższej wydajności, które zostaną użyte do wnioskowania.
Pod koniec szkolenia Neptune ML poinstruuje SageMaker, aby zapisał wyuczony model, surowe osadzenie obliczone dla węzłów i krawędzi oraz informacje o mapowaniu między osadzeniami a indeksami węzłów.
See Trenowanie modelu za pomocą Neptune ML po więcej informacji.
-
Utwórz punkt końcowy wnioskowania w Amazon SageMaker
Teraz, gdy nauczyliśmy się reprezentacji grafu, możemy wdrożyć wyuczony model za punktem końcowym, aby wykonać żądania wnioskowania. Dane wejściowe modelu będą użytkownikami, dla których musimy wygenerować rekomendacje znajomych wraz z typem krawędzi, a danymi wyjściowymi będzie lista prawdopodobnie rekomendowanych znajomych dla tego użytkownika.
Aby wdrożyć model w instancji punktu końcowego SageMaker, użyj %neptune_ml endpoint create
dowództwo.
-
Zapytanie o model ML za pomocą Gremlin
Gdy punkt końcowy jest gotowy, możemy go użyć do zapytań wnioskowania o wykresie. Neptune ML obsługuje zapytania wnioskowania o graf w Gremlin lub SPARQL. W naszym przykładzie możemy teraz sprawdzić rekomendację znajomych z Neptune ML dla użytkownika „Henry”. Wymaga prawie takiej samej składni, aby przejść przez krawędź, i zawiera listę innych użytkowników, którzy są połączeni z Henrym przez połączenie PRZYJACIEL.
Neptune#ml.prediction
zwraca połączenie określone przez prognozy Neptune ML przy użyciu modelu, który właśnie wytrenowaliśmy na wykresie społecznościowym. Rachunek jest zwracany zgodnie z naszymi oczekiwaniami.
Oto inne przykładowe zapytanie predykcyjne, które służy do przewidywania ośmiu użytkowników, którzy najprawdopodobniej połączą się z Henrym:
Wyniki są uszeregowane od silniejszego połączenia do słabszego, gdzie link Henry — FRIEND — Colin and Henry — FRIEND — Terry
jest również proponowany. Ta propozycja opiera się na ML opartym na wykresach, w którym można badać złożone wzorce interakcji na wykresie.
See Zapytania wnioskowania Gremlin w Neptune ML po więcej informacji.
Przekształcanie lub ponowne uczenie modelu, gdy zmieniają się dane wykresu
Inne pytanie, które możesz zadać, brzmi: co się stanie, jeśli zmieni się moja sieć społecznościowa lub jeśli chcę wydać rekomendacje dla nowo dodanych użytkowników? W tych scenariuszach, w których stale zmieniają się wykresy, może być konieczne zaktualizowanie prognoz ML o najnowsze dane wykresu. Wygenerowane artefakty modelu po szkoleniu są bezpośrednio powiązane z wykresem szkoleniowym. Oznacza to, że punkt końcowy wnioskowania musi zostać zaktualizowany po zmianie jednostek na oryginalnym wykresie szkoleniowym.
Jednak nie trzeba ponownie uczyć całego modelu, aby przewidywać na zaktualizowanym wykresie. W przypadku przepływu pracy wnioskowania o modelu przyrostowym wystarczy wyeksportować dane Neptune DB, wykonać wstępne przetwarzanie danych przyrostowych, uruchomić zadanie transformacji wsadowej modelu, a następnie zaktualizować punkt końcowy wnioskowania. Krok przekształcania modelu pobiera przeszkolony model z głównego przepływu pracy i wyniki etapu wstępnego przetwarzania danych przyrostowych jako dane wejściowe. Następnie wyprowadza nowy artefakt modelu do wykorzystania do wnioskowania. Ten nowy artefakt modelu jest tworzony na podstawie aktualnych danych wykresu.
Szczególny nacisk położono tutaj na polecenie kroku przekształcenia modelu. Może obliczać artefakty modelu na danych wykresu, które nie były używane do uczenia modelu. Osadzenia węzłów są obliczane ponownie, a wszelkie istniejące osadzenia węzłów są zastępowane. Neptune ML stosuje wyuczony koder GNN z poprzedniego wytrenowanego modelu do nowych węzłów danych grafu z ich nowymi funkcjami. Dlatego nowe dane wykresu muszą być przetwarzane przy użyciu tego samego kodowania funkcji i muszą być zgodne z tym samym schematem wykresu, co oryginalne dane wykresu. Zobacz więcej szczegółów implementacji Neptune ML na Generowanie nowych artefaktów modelu.
Co więcej, możesz ponownie nauczyć cały model, jeśli wykres zmieni się dramatycznie lub jeśli poprzednio wyszkolony model nie może już dokładnie odzwierciedlać leżących u jego podstaw interakcji. W takim przypadku ponowne użycie wyuczonych parametrów modelu na nowym wykresie nie może zagwarantować podobnej wydajności modelu. Musisz ponownie nauczyć swój model na nowym wykresie. Aby przyspieszyć wyszukiwanie hiperparametrów, Neptune ML może wykorzystać informacje z poprzedniego zadania uczenia modelu z ciepłym startem: wyniki poprzednich zadań uczenia są wykorzystywane do wybierania dobrych kombinacji hiperparametrów do wyszukiwania w nowym zadaniu strojenia.
See przepływy pracy do obsługi zmieniających się danych wykresu by uzyskać więcej szczegółów.
Wnioski
W tym poście widzieliście, jak Neptune ML i GNN mogą pomóc w sformułowaniu zaleceń dotyczących danych wykresu za pomocą zadania przewidywania powiązań, łącząc informacje ze złożonych wzorców interakcji na wykresie.
Przewidywanie linków jest jednym ze sposobów implementacji systemu rekomendacji na wykresie. Rekomendację możesz zbudować na wiele innych sposobów. Możesz użyć osadzania wyuczonego podczas treningu przewidywania linków, aby pogrupować węzły w różne segmenty w sposób nienadzorowany i polecić elementy temu, który należy do tego samego segmentu. Co więcej, możesz uzyskać osadzenie i wprowadzić je do systemu rekomendacji opartego na podobieństwach jako element wejściowy. Teraz ta dodatkowa funkcja wprowadzania koduje również informacje semantyczne pochodzące z wykresu i może zapewnić znaczną poprawę ogólnej precyzji systemu. Dowiedz się więcej o Amazon Neptune ML, odwiedzając stronę lub śmiało zadawaj pytania w komentarzach!
O autorach
Yanwei CuiDr , jest specjalistą ds. rozwiązań w zakresie uczenia maszynowego w AWS. Rozpoczął badania nad uczeniem maszynowym w IRISA (Instytut Badawczy Informatyki i Systemów Losowych) i ma kilkuletnie doświadczenie w budowaniu aplikacji przemysłowych wykorzystujących sztuczną inteligencję w zakresie wizji komputerowej, przetwarzania języka naturalnego i przewidywania zachowań użytkowników online. W AWS dzieli się wiedzą na temat domeny i pomaga klientom w odblokowaniu potencjału biznesowego oraz osiąganiu praktycznych wyników dzięki uczeniu maszynowemu na dużą skalę. Poza pracą lubi czytać i podróżować.
Will Badr jest głównym specjalistą AI/ML SA, który pracuje jako część globalnego zespołu Amazon Machine Learning. Will jest pasjonatem wykorzystywania technologii w innowacyjny sposób, aby pozytywnie wpływać na społeczność. W wolnym czasie lubi nurkować, grać w piłkę nożną i zwiedzać wyspy Pacyfiku.
- '
- "
- 100
- 2020
- 7
- O nas
- Stosownie
- Konto
- dodatek
- Dodatkowy
- algorytm
- Algorytmy
- Wszystkie kategorie
- już
- Amazonka
- Uczenie maszynowe Amazon
- Amazon Sage Maker
- Apache
- aplikacje
- sztuczny
- sztuczna inteligencja
- Sztuka
- zautomatyzowane
- AWS
- AWS re: Invent
- Początek
- BEST
- Rachunek
- Miliard
- Czarny
- budować
- Budowanie
- biznes
- Etui
- wyzwania
- klasyfikacja
- kod
- wspólny
- społeczność
- kompleks
- obliczać
- Computer Science
- Wizja komputerowa
- computing
- systemu
- połączenie
- połączenia
- Konsola
- zawartość
- zbieżny
- mógłby
- Klientów
- dane
- naukowiec danych
- przechowywanie danych
- Baza danych
- sprawa
- głęboka nauka
- Deweloper
- różne
- odkrycie
- dystans
- ecommerce
- krawędź
- Punkt końcowy
- Inżynieria
- Inżynierowie
- itp
- przykład
- doświadczenie
- eksploracja
- eksport
- ekstrakcja
- FAST
- Cecha
- Korzyści
- Postać
- i terminów, a
- Skupiać
- Nasz formularz
- format
- Framework
- Darmowy
- Przyjaźń
- funkcjonować
- Games
- Generować
- Globalne
- dobry
- graf sieci neuronowych
- wspaniały
- Prowadzenie
- pomoc
- pomaga
- tutaj
- W jaki sposób
- How To
- HTTPS
- IAM
- Rezultat
- wykonawczych
- poprawy
- Włącznie z
- Zwiększać
- indywidualny
- przemysłowy
- Informacja
- Innowacyjny
- Inteligencja
- wzajemne oddziaływanie
- zainteresowania
- IT
- Praca
- Oferty pracy
- język
- Języki
- UCZYĆ SIĘ
- dowiedziałem
- nauka
- Dźwignia
- Biblioteka
- Linia
- LINK
- Lista
- wykazy
- lokalizacja
- poszukuje
- wyszukiwania
- uczenie maszynowe
- Użytkownicy
- milisekunda
- ML
- model
- Muzyka
- Język naturalny
- Przetwarzanie języka naturalnego
- potrzebne
- sąsiedzi
- sieć
- sieci
- Nerwowy
- sieci neuronowe
- sieci neuronowe
- Nowe funkcje
- węzły
- laptopy
- Online
- koncepcja
- Inne
- Pacyfik
- Papier
- Ludzie
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- faza
- Platformy
- Grać
- Detaliczność
- przepowiednia
- Przewidywania
- teraźniejszość
- Główny
- Problem
- wygląda tak
- Produkty
- Profil
- promować
- własność
- zaproponować
- zapewniać
- zapewnia
- zakup
- Python
- pytanie
- zasięg
- Surowy
- surowe dane
- RE
- Czytający
- regresja
- Relacje
- obsługi produkcji rolnej, która zastąpiła
- Badania naukowe
- Efekt
- przekwalifikowanie
- powraca
- run
- sagemaker
- Skala
- nauka
- Szukaj
- zestaw
- Share
- Akcje
- podobny
- Prosty
- mały
- Piłka nożna
- Obserwuj Nas
- wykres społeczny
- serwis społecznościowy
- sieci społeczne
- Rozwiązania
- Typ przestrzeni
- SPORTOWE
- STAGE
- standardy
- początek
- rozpoczęty
- przechowywanie
- sklep
- Strategia
- uzupełnienie
- podpory
- Badanie
- system
- systemy
- cel
- Technologies
- Technologia
- Wykres
- Przez
- czas
- Top
- Trening
- Przekształcać
- Transformacja
- Aktualizacja
- us
- Użytkownicy
- wartość
- wizja
- Co
- KIM
- szeroko
- Wikipedia
- bez
- słowa
- Praca
- workflow
- działa
- by
- lat
- zoom