Co to jest naprawa modelu?

Po przeprowadzeniu wycinkowej oceny wydajności modelu uczenia maszynowego możesz zauważyć, że model ma gorsze wyniki w niektórych wycinkach danych. Ten rodzaj nierównych wyników może czasami prowadzić do niesprawiedliwych i potencjalnie szkodliwych wyników dla wrażliwych podzbiorów populacji. Ogólnie rzecz biorąc, istnieją trzy podstawowe rodzaje interwencji technicznych w celu rozwiązania problemów związanych z uprzedzeniami:

  • Zmiana danych wejściowych: Zbieranie większej ilości danych, generowanie danych syntetycznych, dostosowywanie wag i częstotliwości próbkowania różnych wycinków itp. 1
  • Interwencja w modelu: zmiana samego modelu poprzez wprowadzenie lub zmianę celów modelu, dodanie ograniczeń itp. 2
  • Przetwarzanie końcowe wyników: modyfikowanie wyników modelu lub interpretacja wyników w celu poprawy wydajności we wszystkich metrykach. 3

from tensorflow_model_remediation import min_diff
import tensorflow as tf

# Start by defining a Keras model.
original_model = ...

# Set the MinDiff weight and choose a loss.
min_diff_loss = min_diff.losses.MMDLoss()
min_diff_weight = 1.0  # Hyperparamater to be tuned.

# Create a MinDiff model.
min_diff_model = min_diff.keras.MinDiffModel(
original_model, min_diff_loss, min_diff_weight)

# Compile the MinDiff model normally.
min_diff_model.compile(...)

# Create a MinDiff Dataset and train the min_diff_model.
min_diff_model.fit(min_diff_dataset, ...)

Co to jest MinDiff?

MinDiff to modelowa technika naprawcza, która ma na celu wyrównanie dwóch rozkładów. W praktyce można go wykorzystać do zrównoważenia współczynników błędów w różnych wycinkach danych poprzez karanie różnic w dystrybucji.

Zwykle stosuje się MinDiff, próbując zminimalizować różnicę współczynnika fałszywie dodatnich (FPR) lub fałszywie ujemnych (FNR) między wycinkiem danych należącym do wrażliwej klasy a segmentem o lepszej wydajności. Aby uzyskać dogłębną dyskusję na temat wskaźników sprawiedliwości, przejrzyj literaturę na ten temat. 4 5 6

Jak działa MinDiff?

Biorąc pod uwagę dwa zestawy przykładów z naszego zestawu danych, MinDiff penalizuje model podczas treningu za różnice w rozkładzie wyników między dwoma zestawami. Im mniej rozróżnialne są dwa zestawy oparte na wynikach prognoz, tym mniejsza kara zostanie zastosowana.

Kara jest nakładana poprzez dodanie komponentu do straty, z jaką trenuje model. Można go traktować jako miarę różnicy w rozkładzie przewidywań modelu. W miarę jak model będzie się uczył, będzie próbował zminimalizować karę, zbliżając do siebie rozkłady, jak na powyższym wykresie.

Zastosowanie MinRiff może wiązać się z kompromisami w odniesieniu do wydajności pierwotnego zadania. W praktyce często stwierdzaliśmy, że MinDiff jest skuteczny, nie pogarszając wydajności poza potrzeby produktu, ale będzie to zależne od aplikacji, a decyzja powinna być podjęta celowo przez właściciela produktu. Przykłady pokazujące, jak zaimplementować MinDiff, można znaleźć w naszym samouczku dotyczącym notatników .

1 Zhang, G., Bai, B., Zhang, J., Bai, K., Zhu, C., Zhao, T. (2020). Dane demograficzne nie powinny być przyczyną toksyczności: łagodzenie dyskryminacji w klasyfikacjach tekstów dzięki ważeniu wystąpienia.
2 Prost, F., Qian H., Chen, Q., Chi, E., Chen, J., Beutel, A. (2019). W kierunku lepszego kompromisu między wydajnością a uczciwością dzięki dopasowywaniu dystrybucji opartym na jądrze.
3 Alabdulmohsin, I. (2020). Uczciwa klasyfikacja poprzez nieograniczoną optymalizację.
4 Dwork, C., Hardt, M., Pitassi, T., Reingold, O., Zemel, R. (2011). Sprawiedliwość poprzez świadomość.
5 Hardt, M., Price, E., Srebro, N. (2016). Równość szans w nadzorowanym uczeniu się.
6 Chouldechova, A. (2016). Rzetelne przewidywanie o różnym wpływie: badanie błędu systematycznego w instrumentach przewidywania recydywy.

Zasoby