Zautomatyzowane systemy uczące się (AutoML)

Jeśli rozpoczynasz nowy projekt uczenia maszynowego, możesz się zastanawiać, czy ręczne trenowanie jest jedyną opcją tworzenia modelu uczenia maszynowego. W przypadku ręcznego trenowania piszesz kod za pomocą frameworka ML, aby utworzyć model. W trakcie W tym procesie wybierasz algorytmy, które chcesz zbadać i dostroić za pomocą hiperparametrów do znalezienia odpowiedniego modelu.

Trenowanie modelu to oczywiście nie jedyna rzecz, o której musisz pomyśleć. W praktyce tworzenie modelu systemu uczącego się od etapu prototypu do wdrożenia wymaga powtarzalnych zadań i specjalnych umiejętności. Prosty eksploracyjny przepływ pracy z wykorzystaniem uczenia maszynowego wygląda tak:

Rysunek 1. Prosty przepływ pracy w systemach uczących się.
Rysunek 1. Prosty proces eksploracji systemów uczących się.

Powtarzające się zadania – przepływ pracy ML może obejmować powtarzalną pracę z eksperymentami. Na przykład przy tworzeniu modelu zwykle trzeba zbadać różne kombinacje algorytmów i hiperparametrów, aby zidentyfikować najodpowiedniejszy model. Dzięki trenowaniu ręcznemu będziesz pisać specjalny kod, który wytrenuj model, a następnie dostosuj kod pod kątem przeprowadzania eksperymentów z różnymi systemami uczącymi się za pomocą algorytmów i hiperparametrów do znalezienia najlepszego modelu. W przypadku małych projektów lub projektów eksploracyjnych ten ręczny proces może nie stanowić problemu, ale w przypadku większych projektów te powtarzalne czynności mogą być czasochłonne.

Umiejętności specjalistyczne – ręczne opracowanie modelu ML wymaga specjalistycznych umiejętności umiejętnościami. W praktyce nie każdy zespół, który planuje opracować model systemów uczących się, mogą mieć takie umiejętności. Jeśli zespół nie ma dedykowanego badacza danych, wykonanie tej pracy ręcznie może być niemożliwe.

Na szczęście niektóre etapy tworzenia modelu można zautomatyzować, aby zmniejszyć obciążenie związane z powtarzalnymi czynnościami i potrzebę posiadania specjalistycznych umiejętności. Zautomatyzuję te elementy jest tematem tego modułu dotyczącego zautomatyzowanych systemów uczących się (AutoML).

Co to jest AutoML?

AutoML to proces automatyzacji do określonych zadań w systemach uczących się. AutoML to zbiór narzędzi i technologii, dzięki którym szybsze modele systemów uczących się i bardziej dostępne dla szerszej grupy użytkowników. Automatyzacja może ułatwiać pracę z systemami uczącymi się na różnych etapach, ale zadania, które są często kojarzone z AutoML, to te, które są uwzględnione w cyklu tworzenia modelu przedstawionym na rysunku 1. Do powtarzających się zadań należą:

  • Inżynieria danych
    • Inżynieria cech.
    • Wybór funkcji.
  • Szkolenie
    • Określenie odpowiedniego algorytmu ML.
    • Wybór najlepszych hiperparametrów.
  • Analiza
    • Ocena wskaźników wygenerowanych podczas trenowania na podstawie testów i do weryfikacji danych.

Dzięki AutoML możesz skupić się na problemie związanym z systemami uczącymi się i danych, a nie na wyborze funkcji, dostrajaniu hiperparametrów i wybieraniu odpowiedniego algorytmu.