Eksperymenty

Eksperymenty prowadzą do stworzenia opłacalnego projektu. Są to hipotezy, które można przetestować i powtórzyć. Podczas przeprowadzania eksperymentów celem jest ciągłe ulepszanie modelu przez analizowanie różnych architektur i funkcji modelu. Podczas eksperymentowania:

  • Określ wydajność bazową. Zacznij od ustanowienia wartości bazowej. Element bazowy pełni rolę miary do porównywania eksperymentów.

    W niektórych przypadkach obecne rozwiązanie bez użycia ML może dostarczyć pierwszą podstawową metrykę. Jeśli nie ma obecnie żadnego rozwiązania, utwórz model systemów uczących się o prostej architekturze i kilku funkcjach, a potem użyj jego danych jako wartości bazowej.

  • Wprowadź pojedyncze, małe zmiany. Wprowadzaj tylko jedną małą zmianę naraz, na przykład w hiperparametrach, architekturze lub funkcjach. Jeśli zmiana poprawi model, jego dane staną się nową wartością odniesienia do porównywania przyszłych eksperymentów.

    Oto przykłady eksperymentów, które wprowadzają jedną małą zmianę:

    • zawiera funkcję X.
    • użyj wartości 0,5 w przypadku pierwszego ukrytego poziomu.
    • wykonaj przekształcenie logarytmiczne funkcji Y.
    • zmień tempo uczenia się na 0,001.
  • Rejestrowanie postępów eksperymentów. Prawdopodobnie trzeba będzie przeprowadzić wiele eksperymentów. Eksperymenty o niskiej (lub neutralnej) jakości prognoz w porównaniu z wartością bazową są nadal przydatne do śledzenia. Sygnalizuje, które podejścia nie zadziałają. Ponieważ postęp jest zwykle nieliniowy, ważne jest, aby pokazać, że pracujesz nad rozwiązaniem problemu. W tym celu wyróżnij wszystkie znalezione sposoby, które nie działają, a także postępy w zwiększaniu jakości podstawowej.

Ponieważ pełne przeszkolenie na podstawie rzeczywistego zbioru danych może zająć kilka godzin (a nawet dni), rozważ przeprowadzenie kilku niezależnych eksperymentów jednocześnie, aby szybko zbadać przestrzeń. W miarę powtarzania iteracji będziesz się zbliżać do poziomu jakości, jakiego potrzebujesz do produkcji.

Szumy w wynikach eksperymentu

Pamiętaj, że w wynikach eksperymentu możesz napotkać szum, który nie jest spowodowany zmianami w modelu ani danych, co utrudnia ustalenie, czy wprowadzona przez Ciebie zmiana rzeczywiście poprawiła model. Oto przykłady czynników, które mogą powodować zakłócenia w wynikach eksperymentu:

  • Przetasowanie danych: kolejność, w jakiej dane są przedstawiane modelowi, może wpływać na jego skuteczność.

  • Inicjowanie zmiennych: sposób inicjowania zmiennych modelu może też wpływać na jego wydajność.

  • Parallélisme asynchronique: jeśli model jest trenowany z użyciem asynchronicznego parallélisme, kolejność aktualizowania poszczególnych części modelu może też wpływać na jego wydajność.

  • Małe zbiory ocen: jeśli zbiór ocen jest zbyt mały, może nie odzwierciedlać ogólnej wydajności modelu, powodując nierówne wahania jakości modelu.

Uruchomienie eksperymentu kilka razy pomaga potwierdzić wyniki eksperymentalne.

Zgodność z praktykami eksperymentowania

Twój zespół powinien dokładnie rozumieć, czym jest „eksperyment” i jakie ma określone zestawy praktyk i artefaktów. Potrzebujesz dokumentacji, która zawiera te informacje:

  • Artefakty. Czym są artefakty eksperymentu? W większości przypadków eksperyment to przetestowana hipoteza, którą można odtworzyć, zwykle przez rejestrowanie metadanych (takich jak cechy i parametry) wskazujących zmiany między eksperymentami i ich wpływ na jakość modelu.

  • praktyki kodowania, Czy każdy będzie używać własnego środowiska eksperymentalnego? Jak możliwe (lub łatwe) jest połączenie pracy wszystkich osób w bibliotekach współdzielonych?

  • Zgodność i śledzenie. Jakie są standardy dotyczące powtarzalności? Czy zespół powinien używać tego samego potoku danych i tych samych metod wersjonowania, czy wystarczy pokazać tylko wykresy? Jak będą zapisywane dane eksperymentalne: jako zapytania SQL czy jako migawkowe modele? Gdzie będą przechowywane dzienniki z każdego eksperymentu: w pliku, arkuszu kalkulacyjnym czy systemie CMS do zarządzania eksperymentami?

Nieprawidłowe prognozy

Żaden model w rzeczywistych warunkach nie jest idealny. Jak Twój system będzie reagować na błędne prognozy? Zacznij już teraz myśleć o tym, jak sobie z nimi radzić.

Strategia oparta na najlepszych praktykach zachęca użytkowników do poprawnego etykietowania błędnych prognoz. Na przykład aplikacje poczty wychwytują błędnie sklasyfikowane e-maile, rejestrując ruch użytkowników pomiędzy folderem poczty a folderem spamu i na odwrót. Dzięki zbieraniu etykiet danych podstawowych od użytkowników możesz tworzyć automatyczne pętle sprzężenia zwrotnego na potrzeby gromadzenia danych i przekształcania modelu.

Pamiętaj, że chociaż ankiety wbudowane w interfejs użytkownika zbierają opinie użytkowników, dane te są zazwyczaj jakościowe i nie można ich uwzględnić w danych do ponownego trenowania.

Wdrożenie kompleksowego rozwiązania

Gdy zespół eksperymentuje z modelem, warto zacząć tworzyć części końcowego procesu (jeśli masz do tego odpowiednie zasoby).

Ustalenie różnych elementów łańcucha przetwarzania danych, takich jak pozyskiwanie danych i przetrenowywanie modelu, ułatwia przeniesienie ostatecznego modelu do wersji produkcyjnej. Na przykład stworzenie kompleksowego potoku przetwarzania danych i wydawania prognoz może pomóc zespołowi rozpocząć integrację modelu z usługą oraz przeprowadzenie wczesnych testów z udziałem użytkowników.

Rozwiązywanie problemów z zawieszonymi projektami

Możesz się znaleźć w sytuacji, w której postępy w projekcie się zatrzymają. Być może Twój zespół pracuje nad obiecującym eksperymentem, ale od tygodni nie udaje mu się ulepszyć modelu. Co musisz zrobić? Oto kilka możliwych rozwiązań:

  • Strategiczne. Być może trzeba będzie zmienić sposób opisu problemu. Po zakończeniu fazy eksperymentowania prawdopodobnie lepiej rozumiesz problem, dane i możliwe rozwiązania. Dzięki większej znajomości danej dziedziny łatwiej będzie Ci określić problem.

    Możesz na przykład początkowo chcieć użyć regresji liniowej do przewidywania wartości liczbowej. Dane nie były wystarczająco dobre do wytrenowania odpowiedniego modelu regresji liniowej. Dalsza analiza może ujawnić, że problem można rozwiązać, przewidując, czy przykład jest powyżej czy poniżej określonej wartości. Dzięki temu możesz zmienić problem na problem klasyfikacji binarnej.

    Jeśli postępy są wolniejsze niż oczekiwano, nie poddawaj się. Stopniowe ulepszanie może być jedynym sposobem na rozwiązanie problemu. Jak już wspomnieliśmy, nie oczekuj, że postęp będzie taki sam z tygodnia na tydzień. Uzyskanie wersji modelu gotowej do wdrożenia często wymaga znacznej ilości czasu. Ulepszenia modelu mogą być nieregularne i nieprzewidywalne. Po okresach powolnego postępu mogą nastąpić gwałtowne zmiany na lepsze lub na gorsze.

  • Techniczne poświęcać czas na diagnozowanie i analizowanie nieprawidłowych prognoz; W niektórych przypadkach możesz znaleźć problem, izolując kilka błędnych prognoz i analizując zachowanie modelu w tych przypadkach. Możesz na przykład odkryć problemy z architekturą lub danymi. W innych przypadkach pomocne może być zebranie większej ilości danych. Możesz otrzymać wyraźniejszy sygnał, który sugeruje, że jesteś na właściwej drodze, lub może on generować więcej szumów, co wskazuje na inne problemy w przybliżaniu się do celu.

    Jeśli pracujesz nad problemem, który wymaga zbiorów danych z oznaczonymi etykietami przez człowieka, uzyskanie zbioru danych z oznaczonymi etykietami na potrzeby oceny modelu może być trudne. Znajdź zasoby, aby pobrać zbiory danych potrzebne do oceny.

Może nie ma rozwiązania. Zaplanuj czas na wykonanie zadania i przerwij pracę, jeśli nie udało Ci się zrobić postępów w wyznaczonym czasie. Jeśli jednak uważasz, że masz poważny problem, prawdopodobnie wymaga on rozwiązania.

Sprawdź swoją wiedzę

Członek zespołu znalazł kombinację hiperparametrów, która poprawia wskaźnik modelu podstawowego. Co powinni zrobić inni członkowie zespołu?
Zmień wszystkie hiperparametry w bieżącym eksperymencie, aby pasowały do parametrów współpracownika.
Zacznij tworzyć kompleksowy potok, który posłuży do implementacji modelu.
Możesz wprowadzić jeden parametr nadrzędny, ale kontynuować eksperymenty.