Odpowiedz już dziś na lokalne wydarzenie TensorFlow Everywhere!
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Co to jest naprawa modelu?

Po przeprowadzeniu pokrojonej 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 skutkó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 użyć 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 klasy wrażliwej a wycinkiem o lepszej wydajności. Aby uzyskać szczegółowe omówienie 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 karze 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 prognoz modelu. W miarę jak model będzie się uczył, będzie próbował zminimalizować karę, zbliżając rozkłady do siebie, 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). Uczciwość 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