stub Co to jest uczenie się stowarzyszone? - Unite.AI
Kontakt z nami
Kurs mistrzowski AI:

AI 101

Co to jest sfederowane uczenie się?

mm
Zaktualizowano on

Co to jest sfederowane uczenie się?

Tradycyjna metoda uczenia modeli sztucznej inteligencji polega na konfigurowaniu serwerów, na których modele są szkolone na danych, często za pomocą platformy obliczeniowej opartej na chmurze. Jednak w ciągu ostatnich kilku lat pojawiła się alternatywna forma tworzenia modeli, zwana uczeniem się stowarzyszonym. Sfederowane uczenie się przenosi modele uczenia maszynowego do źródła danych, zamiast przenosić dane do modelu. Uczenie stowarzyszone łączy wiele urządzeń obliczeniowych w zdecentralizowany system, który umożliwia poszczególnym urządzeniom zbierającym dane pomoc w szkoleniu modelu.

W stowarzyszonym systemie uczenia się różne urządzenia wchodzące w skład sieci uczenia się mają kopię modelu na urządzeniu. Różne urządzenia/klienci wytrenować własną kopię modelu wykorzystując lokalne dane klienta, a następnie parametry/wagi z poszczególnych modeli przesyłane są do urządzenia nadrzędnego, czyli serwera, który agreguje parametry i aktualizuje model globalny. Ten proces uczenia można następnie powtarzać aż do osiągnięcia pożądanego poziomu dokładności. Krótko mówiąc, idea stowarzyszonego uczenia się polega na tym, że żadne dane szkoleniowe nie są nigdy przesyłane między urządzeniami ani między stronami, a jedynie aktualizacje związane z modelem.

Uczenie się stowarzyszone można podzielić na trzy różne etapy lub fazy. Uczenie się stowarzyszone zazwyczaj rozpoczyna się od modelu ogólnego, który działa jako punkt odniesienia i jest szkolony na serwerze centralnym. W pierwszym kroku ten ogólny model jest wysyłany do klientów aplikacji. Te lokalne kopie są następnie szkolone na danych generowanych przez systemy klienckie, ucząc się i poprawiając ich wydajność.

W drugim kroku wszyscy klienci wysyłają wyuczone parametry modelu do serwera centralnego. Dzieje się to okresowo, według ustalonego harmonogramu.

W trzecim kroku serwer agreguje poznane parametry po ich otrzymaniu. Po zagregowaniu parametrów model centralny jest aktualizowany i ponownie udostępniany klientom. Następnie cały proces się powtarza.

Połączenia korzyść z posiadania kopii modelu na różnych urządzeniach polega na zmniejszeniu lub wyeliminowaniu opóźnień w sieci. Eliminowane są także koszty związane z udostępnianiem danych serwerowi. Inne zalety federacyjnych metod uczenia się obejmują fakt, że stowarzyszone modele uczenia się zapewniają ochronę prywatności, a odpowiedzi modeli są personalizowane pod kątem użytkownika urządzenia.

Przykłady stowarzyszonych modeli uczenia się obejmują silniki rekomendacji, modele wykrywania oszustw i modele medyczne. Silniki rekomendacji mediów, takie jak Netflix czy Amazon, można by szkolić na danych zebranych od tysięcy użytkowników. Urządzenia klienckie trenowałyby własne, oddzielne modele, a model centralny nauczyłby się tworzyć lepsze prognozy, mimo że poszczególne punkty danych byłyby unikalne dla różnych użytkowników. Podobnie modele wykrywania oszustw stosowane przez banki można szkolić na podstawie wzorców działania z wielu różnych urządzeń, a kilka różnych banków mogłoby współpracować w celu wytrenowania wspólnego modelu. Jeśli chodzi o stowarzyszony model uczenia się w branży medycznej, wiele szpitali mogłoby połączyć siły w celu wyszkolenia wspólnego modelu, który mógłby rozpoznawać potencjalne nowotwory na podstawie skanów medycznych.

Rodzaje uczenia się stowarzyszonego

Sfederowane schematy uczenia się zazwyczaj należą do jednej z dwóch różnych klas: systemy wielopartyjne i systemy jednopartyjne. Jednostronne stowarzyszone systemy uczenia się nazywane są „jednostronnymi”, ponieważ tylko jedna jednostka jest odpowiedzialna za nadzorowanie przechwytywania i przepływu danych pomiędzy wszystkimi urządzeniami klienckimi w sieci edukacyjnej. Modele istniejące na urządzeniach klienckich są trenowane na danych o tej samej strukturze, chociaż punkty danych są zazwyczaj unikalne dla różnych użytkowników i urządzeń.

W przeciwieństwie do systemów jednopartyjnych, systemy wielopartyjne są zarządzane przez dwa lub więcej podmiotów. Podmioty te współpracują w celu uczenia wspólnego modelu, wykorzystując różne urządzenia i zbiory danych, do których mają dostęp. Parametry i struktury danych są zazwyczaj podobne na urządzeniach należących do wielu podmiotów, ale nie muszą być dokładnie takie same. Zamiast tego przeprowadzane jest wstępne przetwarzanie w celu ujednolicenia danych wejściowych modelu. Do agregowania wag ustalonych przez urządzenia charakterystyczne dla różnych jednostek można zastosować jednostkę neutralną.

Ramy uczenia się stowarzyszonego

Do popularnych struktur stosowanych w uczeniu stowarzyszonym zalicza się Federacja Tensorflow, Sfederowany aktywator technologii sztucznej inteligencji (FATE), PySyft. PySyft to stowarzyszona biblioteka edukacyjna typu open source oparta na bibliotece głębokiego uczenia się PyTorch. PySyft ma na celu zapewnienie prywatnego, bezpiecznego głębokiego uczenia się na serwerach i agentach przy użyciu szyfrowanych obliczeń. Tymczasem Tensorflow Federated to kolejna platforma typu open source zbudowana na platformie Google Tensorflow. Oprócz umożliwienia użytkownikom tworzenia własnych algorytmów, Tensorflow Federated umożliwia użytkownikom symulowanie wielu dołączonych algorytmów stowarzyszonego uczenia się na ich własnych modelach i danych. Wreszcie, FATE to także platforma typu open source zaprojektowana przez Webank AI, której zadaniem jest zapewnienie ekosystemowi Federated AI bezpiecznej platformy obliczeniowej.

Sfederowane wyzwania edukacyjne

Jako że uczenie się stowarzyszone jest wciąż stosunkowo młode, szereg wyzwań należy jeszcze negocjować, aby mógł on w pełni wykorzystać swój potencjał. Możliwości szkoleniowe urządzeń brzegowych, etykietowanie i standaryzacja danych oraz konwergencja modeli to potencjalne przeszkody w podejściu do stowarzyszonego uczenia się.

Projektując podejścia do uczenia się stowarzyszonego, w przypadku szkoleń lokalnych należy wziąć pod uwagę możliwości obliczeniowe urządzeń brzegowych. Chociaż większość smartfonów, tabletów i innych urządzeń zgodnych z IoT może trenować modele uczenia maszynowego, zazwyczaj zmniejsza to wydajność urządzenia. Konieczne będzie dokonanie kompromisu pomiędzy dokładnością modelu a wydajnością urządzenia.

Etykietowanie i standaryzacja danych to kolejne wyzwanie, któremu muszą stawić czoła federacyjne systemy uczenia się. Modele uczenia się nadzorowanego wymagają jasnych i spójnych etykiet danych szkoleniowych, co może być trudne w przypadku wielu urządzeń klienckich wchodzących w skład systemu. Z tego powodu ważne jest opracowanie potoków danych modelu, które automatycznie stosują etykiety w ustandaryzowany sposób na podstawie zdarzeń i działań użytkownika.

Czas konwergencji modelu to kolejne wyzwanie w przypadku uczenia się stowarzyszonego, ponieważ zbieżność modeli uczenia się stowarzyszonego trwa zwykle dłużej niż modeli szkolonych lokalnie. Liczba urządzeń biorących udział w szkoleniu dodaje element nieprzewidywalności do uczenia modelu, ponieważ problemy z połączeniem, nieregularne aktualizacje, a nawet różne czasy użytkowania aplikacji mogą przyczynić się do wydłużenia czasu konwergencji i zmniejszenia niezawodności. Z tego powodu rozwiązania w zakresie uczenia się stowarzyszonego są zazwyczaj najbardziej przydatne, gdy zapewniają znaczącą przewagę nad centralnym uczeniem modelu, na przykład w przypadkach, gdy zbiory danych są bardzo duże i rozproszone.

Zdjęcie: Jeromemetronome przez Wikimedia Commons, CC By SA 4.0 (https://en.wikipedia.org/wiki/File:Federated_learning_process_central_case.png)

Bloger i programista specjalizujący się w Nauczanie maszynowe i głęboki Learning tematy. Daniel ma nadzieję pomóc innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.