Konfigurowanie wczesnego zakończenia

Ukończone

Dostrajanie hiperparametryczne pomaga dostosować model i wybrać wartości hiperparametrów, które sprawią, że model będzie działał najlepiej.

Dla Ciebie, aby znaleźć najlepszy model, jednak może być niekończącym się podbojem. Zawsze musisz rozważyć, czy warto poświęcić czas i wydatki na testowanie nowych wartości hiperparametrów, aby znaleźć model, który może działać lepiej.

Każda wersja próbna w zadaniu zamiatania, nowy model jest trenowany przy użyciu nowej kombinacji wartości hiperparametrów. Jeśli trenowanie nowego modelu nie spowoduje znacznie lepszego modelu, możesz zatrzymać zadanie zamiatania i użyć modelu, który wykonał najlepiej do tej pory.

Podczas konfigurowania zadania zamiatania w usłudze Azure Machine Edukacja można również ustawić maksymalną liczbę prób. Bardziej wyrafinowanym podejściem może być zatrzymanie zadania zamiatania, gdy nowsze modele nie generują znacznie lepszych wyników. Aby zatrzymać zadanie zamiatania na podstawie wydajności modeli, można użyć zasad wczesnego zakończenia.

Kiedy należy używać zasad wczesnego kończenia

Niezależnie od tego, czy chcesz używać zasad wczesnego zakończenia, może zależeć od używanej metody wyszukiwania i próbkowania.

Na przykład można użyć metody próbkowania siatki w dyskretnej przestrzeni wyszukiwania, która powoduje maksymalnie sześć prób. W przypadku sześciu prób maksymalnie sześciu modeli zostanie wytrenowanych, a zasady wczesnego zakończenia mogą być niepotrzebne.

Zasady wczesnego zakończenia mogą być szczególnie korzystne podczas pracy z hiperparametrami ciągłymi w przestrzeni wyszukiwania. Hiperparametry ciągłe przedstawiają nieograniczoną liczbę możliwych wartości do wyboru. Najprawdopodobniej chcesz użyć zasad wczesnego zakończenia podczas pracy z ciągłymi hiperparametrami i losową lub metodą próbkowania Bayesa.

Konfigurowanie zasad wczesnego kończenia

Istnieją dwa główne parametry, jeśli zdecydujesz się użyć zasad wczesnego zakończenia:

  • evaluation_interval: określa, w jakim interwale mają być oceniane zasady. Za każdym razem, gdy metryka podstawowa jest rejestrowana dla wersji próbnej, jest liczone jako interwał.
  • delay_evaluation: określa, kiedy rozpocząć ocenę zasad. Ten parametr umożliwia ukończenie co najmniej minimalnej wersji próbnej bez wprowadzania na nie wczesnych zasad zakończenia.

Nowe modele mogą nadal działać nieco lepiej niż poprzednie modele. Aby określić zakres, w jakim model powinien działać lepiej niż w poprzednich próbach, istnieją trzy opcje wczesnego zakończenia:

  • Zasady bandytu: używa slack_factor wartości (względnej) lub slack_amount(bezwzględnej). Każdy nowy model musi działać w zakresie slack najlepszego modelu.
  • Zasady zatrzymywania mediany: używa mediany średnich metryki podstawowej. Każdy nowy model musi działać lepiej niż mediana.
  • Zasady wyboru obcięcia: używa wartości , która jest procentem truncation_percentagenajniższych testów wydajności. Każdy nowy model musi działać lepiej niż najniżej wykonujących próby.

Zasady bandytu

Możesz użyć zasad bandytów, aby zatrzymać wersję próbną, jeśli docelowa metryka wydajności niedostrzeguje najlepszą wersję próbną do tej pory przez określony margines.

Na przykład poniższy kod stosuje zasady bandytów z opóźnieniem pięciu prób, ocenia zasady w każdym interwale i zezwala na bezwzględną ilość luzu wynoszącą 0,2.

from azure.ai.ml.sweep import BanditPolicy

sweep_job.early_termination = BanditPolicy(
    slack_amount = 0.2, 
    delay_evaluation = 5, 
    evaluation_interval = 1
)

Wyobraź sobie, że podstawowa metryka jest dokładnością modelu. Gdy po pierwszych pięciu próbach najlepszy model ma dokładność 0,9, każdy nowy model musi działać lepiej niż (0,9-0,2) lub 0,7. Jeśli dokładność nowego modelu jest większa niż 0,7, zadanie zamiatania będzie kontynuowane. Jeśli nowy model ma wynik dokładności niższy niż 0,7, zasady zakończą zadanie zamiatania.

Diagram of two examples when using a bandit policy: one model performs sufficiently good, the other underperforms.

Zasady bandytu można również zastosować przy użyciu współczynnika slack, który porównuje metrykę wydajności jako współczynnik, a nie wartość bezwzględną.

Mediana zatrzymywania zasad

Mediana zatrzymania zasad porzuca próby, w których docelowa metryka wydajności jest gorsza niż mediana średniej bieżącej dla wszystkich prób.

Na przykład poniższy kod stosuje zasady zatrzymania mediany z opóźnieniem pięciu prób i ocenia zasady w każdym interwale.

from azure.ai.ml.sweep import MedianStoppingPolicy

sweep_job.early_termination = MedianStoppingPolicy(
    delay_evaluation = 5, 
    evaluation_interval = 1
)

Wyobraź sobie, że podstawowa metryka jest dokładnością modelu. Gdy dokładność jest rejestrowana dla szóstej próby, metryka musi być wyższa niż mediana wyników dokładności do tej pory. Załóżmy, że mediana wyników dokładności do tej pory wynosi 0,82. Jeśli dokładność nowego modelu jest większa niż 0,82, zadanie zamiatania będzie kontynuowane. Jeśli nowy model ma wynik dokładności niższy niż 0,82, zasady zatrzymają zadanie zamiatania i nie zostaną wytrenowane żadne nowe modele.

Diagram of two examples when using a median stopping policy: one model performs sufficiently good, the other underperforms.

Zasady wyboru obcięcia

Zasady wyboru obcinania anulują najniższe wyniki X% prób w każdym interwale oceny na podstawie wartości truncation_percentage określonej dla X.

Na przykład poniższy kod stosuje zasady wyboru obcinania z opóźnieniem czterech prób, ocenia zasady w każdym interwale i używa obcinania procentowego 20%.

from azure.ai.ml.sweep import TruncationSelectionPolicy

sweep_job.early_termination = TruncationSelectionPolicy(
    evaluation_interval=1, 
    truncation_percentage=20, 
    delay_evaluation=4 
)

Wyobraź sobie, że podstawowa metryka jest dokładnością modelu. Gdy dokładność jest rejestrowana w piątej próbie, metryka nie powinna być w najgorszym 20% badań do tej pory. W takim przypadku 20% przekłada się na jedną wersję próbną. Innymi słowy, jeśli piąta wersja próbna nie jest do tej pory najgorszym modelem, zadanie zamiatania będzie kontynuowane. Jeśli piąty proces ma najniższy wynik dokładności wszystkich prób do tej pory, zadanie zamiatania zostanie zatrzymane.

Diagram of two examples when using a truncation selection policy: one model performs sufficiently good, the other underperforms.