Wyobraź sobie, że opracowujesz aplikację z rekomendacjami jedzenia, w której użytkownicy wpisują ulubione potrawy, a aplikacja sugeruje podobne posiłki. które mogą im się spodobać. Chcesz opracować model systemów uczących się. które mogą przewidywać podobieństwo jedzenia i tworzyć aplikacje wysokiej jakości, rekomendacji („Skoro lubisz naleśniki, polecamy naleśniki”).
Aby wytrenować model, wybierasz zbiór danych składający się z 5 tys. popularnych posiłki, w tym barszcz, hot dog, sałatka, pizza, i szoarma.
Tworzysz funkcję meal
, która zawiera
kodowanie jednorazowo
poszczególnych produktów w zbiorze danych.
Problemy z rozproszonym reprezentacją danych
Po zapoznaniu się z tymi kodami zauważasz 2 główne problemy reprezentacja danych.
- Liczba wag. Duże wektory wejściowe oznaczają ogromną liczbę
wagi
dla sieci neuronowej.
Z wpisami M w kodowaniu „jeden-gorący”, a „N”
w pierwszej warstwie sieci po danych wejściowych, model musi wytrenować
Wagi MxN dla tej warstwy. Duża liczba wag powoduje kolejne problemy:
- Liczba punktów danych. Im większa waga w modelu, tym więcej danych na ich efektywne trenowanie.
- Ilość obliczeń. Im więcej wag, tym więcej obliczeń do trenowania i używania modelu. Łatwo przekroczyć możliwości sprzęt.
- Ilość pamięci. Im większa waga modelu, tym więcej pamięci jest potrzebna w akceleratorach, które trenują i obsługują. Skalujam jest bardzo trudne.
- Trudności ze wsparciem systemów uczących się na urządzeniu (ODML). Jeśli chcesz uruchomić model ML na urządzeniach lokalnych (a nie ), musisz go zmniejszyć. aby zmniejszyć liczbę wag.
- Brak istotnych zależności między wektorami. Wartości wektorów w jednorazowe kodowanie jedzenia nie dostarcza żadnych istotnych informacji na temat podobieństwo produktów spożywczych. Matematycznie indeks 1 („hot dog”) to bliżej indeksu 2 („sałatka”) niż do indeksu 4999 („szoarma”), mimo że jest bardziej podobny do szoarmy (zawierają mięso i chleb), niż do sałatki.
W tym module dowiesz się, jak tworzyć umieszczanie na stronie, reprezentacja rozproszonych danych, która rozwiązuje oba te problemy.