Czym są błędy algorytmiczne i jak je wykryć?

Błąd algorytmiczny może mieć wpływ na różne aspekty naszego życia, od otrzymywania rekomendacji treści online po znajdowanie pracy i podejmowanie decyzji finansowych.

Uprzedzenia są w naturze ludzkiej. Różni ludzie mają różną płeć, rasę, wychowanie, wykształcenie, kulturę, przekonania, doświadczenia i tak dalej.

Zatem ich opinie, myśli, upodobania i preferencje różnią się od siebie. Mogą rozwinąć pewne uprzedzenia w kierunku lub przeciwko pewnym kategoriom.

Maszyny nie są inne. Mogą one również inaczej postrzegać ludzi, rzeczy i zdarzenia ze względu na błędy wprowadzone w ich algorytmach. Ze względu na te uprzedzenia systemy sztucznej inteligencji i uczenia maszynowego mogą dawać nieuczciwe wyniki, utrudniając ludziom działanie na wiele sposobów.

W tym artykule omówię, czym są błędy algorytmiczne, ich rodzaje oraz jak je wykrywać i redukować, aby zwiększyć uczciwość wyników.

Zaczynajmy!

Czym są błędy algorytmiczne?

Stronniczość algorytmiczna to tendencja algorytmów uczenia maszynowego i sztucznej inteligencji do odzwierciedlania uprzedzeń typowych dla ludzi i generowania nieuczciwych wyników. Uprzedzenia mogą wynikać z płci, wieku, rasy, religii, pochodzenia etnicznego, kultury i tak dalej.

W kontekście sztucznej inteligencji i uczenia maszynowego błędy algorytmiczne to systematyczne, powtarzalne błędy wprowadzane do systemu, które dają nieuczciwe wyniki.

Błędy w algorytmach mogą wynikać z wielu powodów, takich jak decyzje dotyczące sposobu gromadzenia, wyboru, kodowania lub wykorzystania danych do uczenia algorytmu, zamierzonego zastosowania, projektu algorytmu itp.

Przykład: możesz zaobserwować stronniczość algorytmiczną w wynikach wyszukiwania, prowadzącą do naruszeń prywatności, uprzedzeń społecznych itp.

Istnieje wiele przypadków błędów algorytmicznych w obszarach takich jak wyniki wyborów, szerzenie mowy nienawiści w Internecie, opieka zdrowotna, wymiar sprawiedliwości w sprawach karnych, rekrutacja itp. To pogłębia istniejące uprzedzenia dotyczące płci, rasy, gospodarki i społeczeństwa.

Rodzaje błędów algorytmicznych

#1. Stronniczość danych

Błąd systematyczny danych ma miejsce, gdy dane wymagane do szkolenia modelu sztucznej inteligencji nie odzwierciedlają prawidłowo rzeczywistych scenariuszy lub populacji. Może to skutkować niezrównoważonymi lub przekrzywionymi zbiorami danych.

Źródło: Międzynarodowy TELUS

Przykład: Załóżmy, że oprogramowanie do rozpoznawania twarzy jest szkolone głównie na białej populacji. Dlatego może działać słabo, gdy ma za zadanie rozpoznawać osoby o ciemniejszych odcieniach skóry, wpływając na nie.

#2. Błąd pomiaru

To odchylenie może wynikać z błędu w procesie pomiaru lub gromadzenia danych.

Przykład: Jeśli przeszkolisz algorytm diagnostyczny opieki zdrowotnej, aby wykrywał chorobę w oparciu o pewne wskaźniki, takie jak poprzednie wizyty u lekarza, może to zaburzyć ocenę i spowodować stronniczość, pomijając rzeczywiste objawy.

#3. Odchylenie modelu

Błędy modelu powstają podczas projektowania algorytmu lub modelu sztucznej inteligencji.

Przykład: załóżmy, że system sztucznej inteligencji ma algorytm zaprojektowany w celu maksymalizacji zysków bez względu na sposób; może się to skończyć priorytetowym traktowaniem zysków finansowych kosztem etyki biznesowej, bezpieczeństwa, uczciwości itp.

#4. Błąd w ocenie

Błąd w ocenie może wystąpić, gdy czynniki lub kryteria oceny wydajności systemu sztucznej inteligencji są stronnicze.

Źródło: Wyczyść recenzję

Przykład: Jeśli system sztucznej inteligencji do oceny wyników wykorzystuje standardowe testy faworyzujące określoną kategorię pracowników w firmie, może to promować nierówności.

#5. Stronniczość raportowania

Błąd w raportowaniu może wystąpić, gdy zbiór danych szkoleniowych nie odzwierciedla dokładnie rzeczywistości w częstotliwości zdarzeń.

Przykład: jeśli narzędzie zabezpieczające AI nie sprawdza się dobrze w określonej kategorii, może oznaczyć całą kategorię jako podejrzaną.

Oznacza to, że zbiór danych, na którym system został przeszkolony, oznaczył każde historyczne zdarzenie związane z tą kategorią jako niepewne ze względu na większą częstotliwość incydentów.

#6. Błąd selekcji

Błąd selekcji powstaje, gdy dane uczące są wybierane bez odpowiedniej randomizacji lub nie reprezentują dobrze całej populacji.

Przykład: Jeśli narzędzie do rozpoznawania twarzy zostanie przeszkolone na ograniczonej liczbie danych, może zacząć wykazywać pewną dyskryminację w stosunku do danych, z którymi spotyka się rzadziej, np. identyfikowanie kolorowych kobiet w polityce w porównaniu z mężczyznami i osobami o jaśniejszej karnacji w polityce.

#7. Ukryta stronniczość

Ukryta stronniczość powstaje, gdy algorytm sztucznej inteligencji przyjmuje założenia na podstawie pewnych osobistych doświadczeń, które mogą nie mieć bezpośredniego zastosowania w przypadku szerszych kategorii lub osób.

Przykład: Jeśli analityk danych projektujący algorytm AI osobiście uważa, że ​​kobiety lubią przede wszystkim kolor różowy, a nie niebieski czy czarny, system może odpowiednio rekomendować produkty, co nie dotyczy każdej kobiety. Wiele osób uwielbia kolor niebieski lub czarny.

#8. Stronniczość atrybucji grupowej

To błąd może się zdarzyć, gdy projektanci algorytmów zastosują rzeczy przeznaczone dla określonych osób do całej grupy, niezależnie od tego, czy osoby te należą do grupy, czy nie. Stronniczość dotycząca atrybucji grupowej jest powszechna w narzędziach rekrutacji i przyjęć.

Przykład: Narzędzie rekrutacji może faworyzować kandydatów z określonej szkoły, dyskryminując innych uczniów, którzy nie należą do tej szkoły.

#9. Stronniczość historyczna

Zbieranie historycznych zestawów danych jest ważne podczas gromadzenia zestawów danych do szkolenia algorytmu ML. Jeśli jednak nie zwrócisz na to uwagi, w algorytmach może pojawić się błąd wynikający z błędów występujących w danych historycznych.

Przykład: jeśli szkolisz model sztucznej inteligencji na podstawie danych historycznych z 10 lat, aby utworzyć krótką listę kandydatów na stanowiska techniczne, może faworyzować kandydatów płci męskiej, jeśli w danych szkoleniowych będzie więcej mężczyzn niż kobiet.

#10. Stronniczość etykiety

Podczas uczenia algorytmów uczenia maszynowego może być konieczne oznaczenie dużej ilości danych etykietami, aby były przydatne. Jednak proces etykietowania danych może się znacznie różnić, powodując niespójności i wprowadzając stronniczość do systemu sztucznej inteligencji.

Przykład: Załóżmy, że szkolisz algorytm sztucznej inteligencji, oznaczając koty na obrazach za pomocą pudełek. Jeśli nie zwrócisz uwagi, algorytm może nie zidentyfikować kota na zdjęciu, jeśli jego twarz nie jest widoczna, ale będzie w stanie zidentyfikować te, które mają na sobie twarz kota.

Oznacza to, że algorytm jest stronniczy w identyfikowaniu zdjęć przedstawiających koty skierowane przodem do kierunku jazdy. Nie będzie w stanie zidentyfikować kota, jeśli zdjęcie zostanie zrobione pod innym kątem, gdy widoczne będzie ciało, ale nie twarz.

#11. Stronniczość wykluczenia

Źródło: Brama Badań

Stronniczość wykluczająca powstaje, gdy konkretna osoba, grupa osób lub kategoria zostaje wykluczona w sposób niezamierzony lub celowy podczas gromadzenia danych, jeśli uważa się je za nieistotne. Dzieje się tak najczęściej na etapie przygotowania danych w cyklu życia ML, w momencie czyszczenia danych i przygotowywania ich do użycia.

Przykład: Załóżmy, że system przewidywania oparty na sztucznej inteligencji musi określić popularność konkretnego produktu w sezonie zimowym na podstawie jego wskaźnika zakupu. Tak więc, jeśli analityk danych zauważy pewne zakupy w październiku i usunie te zapisy, uznając je za błędne i przyjmując standardowy czas trwania od listopada do stycznia. Ale są miejsca, gdzie zima przekracza te miesiące. Zatem algorytm będzie ukierunkowany na kraje, w których zima trwa od listopada do stycznia.

W jaki sposób błędy wprowadzane są do algorytmów?

Dane szkoleniowe

Głównym źródłem błędu algorytmicznego są obciążone dane wykorzystywane do uczenia algorytmów AI i ML. Jeśli same dane szkoleniowe zawierają elementy nierówności i uprzedzeń, algorytm nauczy się tych elementów i utrwali błędy.

Projekt

Projektując algorytm, programista może świadomie lub nieświadomie wprowadzić do systemu AI odzwierciedlenie osobistych przemyśleń lub preferencji. Zatem system sztucznej inteligencji będzie stronniczy w stosunku do pewnych kategorii.

Podejmowanie decyzji

Często analitycy danych i liderzy podejmują decyzje w oparciu o swoje osobiste doświadczenia, otoczenie, przekonania itd. Decyzje te znajdują również odzwierciedlenie w algorytmach, co powoduje błędy.

Brak różnorodności

Ze względu na brak różnorodności w zespole programistów, członkowie zespołu tworzą algorytmy, które nie reprezentują całej populacji. Nie mają doświadczenia ani kontaktu z innymi kulturami, pochodzeniem, przekonaniami, sposobami działania itp., dlatego ich algorytmy mogą być w pewien sposób stronnicze.

Wstępne przetwarzanie danych

Metoda stosowana do czyszczenia i przetwarzania danych może wprowadzić błąd algorytmiczny. Ponadto, jeśli nie zaprojektujesz tych metod ostrożnie, aby przeciwdziałać stronniczości, w modelu sztucznej inteligencji może to być poważne.

Architektura

Architektura modelu i typ wybranego algorytmu ML mogą również wprowadzić błąd. Niektóre algorytmy przyciągają uprzedzenia bardziej niż inne, wraz ze sposobem, w jaki są zaprojektowane.

Wybór funkcji

Funkcje wybrane do trenowania algorytmu AI są jedną z przyczyn stronniczości. Jeśli nie wybierzesz funkcji, biorąc pod uwagę ich wpływ na rzetelność wyniku, może pojawić się pewne uprzedzenie, faworyzujące niektóre kategorie.

Historia i kultura

Jeśli algorytm jest karmiony i szkolony na danych zaczerpniętych z historii lub określonych kultur, może odziedziczyć uprzedzenia, takie jak uprzedzenia, przekonania, normy itp. Te uprzedzenia mogą mieć wpływ na wyniki sztucznej inteligencji, nawet jeśli są niesprawiedliwe i nieistotne w teraźniejszości.

Dryf danych

Dane, których dzisiaj używasz do uczenia algorytmów sztucznej inteligencji, mogą w przyszłości stać się nieistotne, bezużyteczne lub przestarzałe. Może to wynikać ze zmieniającej się technologii lub społeczeństwa. Jednak te zbiory danych mogą nadal powodować stronniczość i utrudniać wydajność.

Pętle informacji zwrotnej

Niektóre systemy AI mogą nie tylko komunikować się z użytkownikami, ale także dostosowywać się do ich zachowań. W ten sposób algorytm może zwiększyć istniejące odchylenie. Zatem gdy osobiste uprzedzenia użytkowników dostaną się do systemu sztucznej inteligencji, może to wygenerować stronniczą pętlę sprzężenia zwrotnego.

Jak wykryć błąd algorytmiczny?

Zdefiniuj, co jest „sprawiedliwe”

Aby wykryć nieuczciwe wyniki lub błędy w algorytmach, należy zdefiniować, co dokładnie oznacza „uczciwy” dla systemu sztucznej inteligencji. W tym celu można wziąć pod uwagę takie czynniki, jak płeć, wiek, rasa, seksualność, region, kultura itp.

Określ wskaźniki służące do obliczenia sprawiedliwości, takie jak równość szans, przewidywany parytet, wpływ itp. Po zdefiniowaniu „uczciwości” łatwiej będzie Ci wykryć, co jest niesprawiedliwe i rozwiązać sytuację.

Audyt danych szkoleniowych

Dokładnie przeanalizuj dane treningowe, aby znaleźć brak równowagi i niespójności w reprezentowaniu różnych kategorii. Należy zbadać rozkład cech i sprawdzić, czy reprezentuje on dane demograficzne w świecie rzeczywistym, czy nie.

Do wizualizacji danych można tworzyć histogramy, mapy cieplne, wykresy punktowe itp., aby podkreślić rozbieżności i wzorce, których nie można ujawnić za pomocą samej analizy statystycznej.

Oprócz audytów wewnętrznych możesz zaangażować zewnętrznych ekspertów i audytorów w celu oceny stronniczości systemu.

Zmierz wydajność modelu

Aby wykryć błędy systematyczne, spróbuj zmierzyć wydajność swojego modelu sztucznej inteligencji dla różnych grup demograficznych i kategorii. Pomocne byłoby podzielenie szkolenia na różne grupy w oparciu o rasę, płeć itp. Możesz także użyć wskaźników uczciwości, aby obliczyć różnice w wynikach.

Użyj odpowiednich algorytmów

Wybierz algorytmy, które promują uczciwe wyniki i mogą wyeliminować stronniczość w szkoleniu modelu sztucznej inteligencji. Algorytmy świadome uczciwości mają na celu zapobieganie stronniczości, zapewniając jednocześnie równe przewidywania w różnych kategoriach.

Oprogramowanie do wykrywania stronniczości

Do wykrywania stronniczości można używać specjalistycznych narzędzi i bibliotek uwzględniających zasadę uczciwości. Narzędzia te oferują wskaźniki uczciwości, wizualizacje, testy statystyczne i inne narzędzia służące do wykrywania stronniczości. Niektóre popularne to AI Fairness 360 i IBM Fairness 360.

Poszukaj opinii użytkowników

Zapytaj użytkowników i klientów o opinie na temat systemu AI. Zachęć ich do szczerej recenzji, jeśli odczuli jakiekolwiek niesprawiedliwe traktowanie lub uprzedzenia w systemie sztucznej inteligencji. Dane te pomogą Ci znaleźć problemy, które mogą nie zostać oznaczone w zautomatyzowanych narzędziach i innych procedurach wykrywania.

Jak złagodzić błąd w algorytmach

Dywersyfikuj swoją firmę

Tworzenie różnorodności w Twojej firmie i zespole programistów umożliwia szybsze wykrywanie i usuwanie uprzedzeń. Powodem jest to, że uprzedzenia mogą zostać szybko zauważone przez użytkowników, których one dotyczą.

Dlatego dywersyfikuj swoją firmę nie tylko pod względem demografii, ale także umiejętności i wiedzy specjalistycznej. Uwzględnij osoby różnej płci, tożsamości, rasy, koloru skóry, pochodzenia ekonomicznego itp., a także osoby o różnych doświadczeniach edukacyjnych i pochodzeniu.

W ten sposób będziesz mógł zebrać różnorodne perspektywy, doświadczenia, wartości kulturowe, upodobania i antypatie itp. Pomoże Ci to zwiększyć uczciwość algorytmów sztucznej inteligencji, redukując uprzedzenia.

Promuj przejrzystość

Bądź przejrzysty wobec swojego zespołu w zakresie celów, algorytmów, źródeł danych i decyzji dotyczących systemu sztucznej inteligencji. Umożliwi to użytkownikom zrozumienie, jak działa system sztucznej inteligencji i dlaczego generuje określone wyniki. Ta przejrzystość wzmocni zaufanie.

Algorytmy świadome uczciwości

Podczas opracowywania modelu należy stosować algorytmy uwzględniające sprawiedliwość, aby zapewnić generowanie sprawiedliwych wyników dla różnych kategorii. Staje się to oczywiste, jeśli tworzysz systemy AI dla branż podlegających ścisłym regulacjom, takich jak finanse, opieka zdrowotna itp.

Oceń wydajność modelu

Przetestuj swoje modele, aby sprawdzić wydajność sztucznej inteligencji w różnych grupach i podgrupach. Pomoże Ci to zrozumieć problemy, które nie są widoczne w zbiorczych wskaźnikach. Można także symulować różne scenariusze, aby sprawdzić ich działanie w tych scenariuszach, w tym także złożonych.

Postępuj zgodnie z wytycznymi etycznymi

Sformułuj pewne wytyczne etyczne dotyczące opracowywania systemów sztucznej inteligencji, z poszanowaniem uczciwości, prywatności, bezpieczeństwa i praw człowieka. Musisz egzekwować te wytyczne w całej organizacji, aby sprawiedliwość wzrosła w całej organizacji i znalazła odzwierciedlenie w wynikach systemu sztucznej inteligencji.

Ustaw kontrolę i obowiązki

Ustal jasne obowiązki dla wszystkich członków zespołu pracujących nad projektowaniem, rozwojem, konserwacją i wdrażaniem systemu AI. Musisz także ustanowić odpowiednie kontrole za pomocą ścisłych protokołów i ram, aby wyeliminować uprzedzenia, błędy i inne obawy.

Oprócz powyższego należy przeprowadzać regularne audyty, aby zmniejszyć uprzedzenia i dążyć do ciągłego doskonalenia. Bądź także na bieżąco z najnowszymi zmianami technologicznymi, demograficznymi i innymi czynnikami.

Rzeczywiste przykłady błędów algorytmicznych

#1. Algorytm Amazona

Amazon jest liderem w branży e-commerce. Jednak jego narzędzie rekrutacyjne które wykorzystywały sztuczną inteligencję do oceny kandydatów do pracy pod kątem ich kwalifikacji, wykazały uprzedzenia ze względu na płeć. Ten system sztucznej inteligencji został przeszkolony na podstawie życiorysów poprzednich kandydatów na stanowiska techniczne.

Niestety dane dotyczyły większej liczby kandydatów płci męskiej, o czym dowiedziała się sztuczna inteligencja. W związku z tym w niezamierzony sposób faworyzowano kandydatów płci męskiej na stanowiskach technicznych w stosunku do kobiet, które były niedostatecznie reprezentowane. Amazon musiał zaprzestać udostępniania tego narzędzia w 2017 r. pomimo wysiłków mających na celu zmniejszenie błędu systematycznego.

#2. Rasistowskie algorytmy opieki zdrowotnej w USA

Algorytm używany przez amerykańskie szpitale do prognozowania pacjentów potrzebujących dodatkowej opieki był mocno obciążony stronniczy w stosunku do białych pacjentów. System oceniał potrzeby medyczne pacjentów na podstawie historii wydatków na opiekę zdrowotną, korelując koszty z potrzebami medycznymi.

Algorytm systemu nie wziął pod uwagę sposobu, w jaki biali i czarni pacjenci płacą za swoje potrzeby zdrowotne. Pomimo niekontrolowanej choroby, czarni pacjenci płacili głównie za nagłe przypadki. Tym samym zostali oni zakwalifikowani do kategorii zdrowszych pacjentów i nie kwalifikowali się do dodatkowej opieki w porównaniu z pacjentami rasy białej.

#3. Algorytm dyskryminacyjny Google

Znaleziono system reklam online Google dyskryminacyjny. Pokazało, że na dobrze płatnych stanowiskach, takich jak dyrektorzy generalni, jest znacznie więcej mężczyzn niż kobiet. Nawet jeśli 27% dyrektorów generalnych w USA to kobiety, ich reprezentacja w Google jest znacznie mniejsza i wynosi około 11%.

Algorytm mógł pokazać wyniki, ucząc się zachowań użytkowników, np. osoby oglądające i klikające reklamy w przypadku dobrze płatnych ról to mężczyźni; algorytm AI będzie wyświetlał te reklamy częściej mężczyznom niż kobietom.

Wniosek

Błąd algorytmiczny w systemach uczenia maszynowego i sztucznej inteligencji może prowadzić do nieuczciwych wyników. Wyniki te mogą mieć wpływ na osoby pracujące w różnych dziedzinach, od opieki zdrowotnej, cyberbezpieczeństwa i handlu elektronicznego po wybory, zatrudnienie i nie tylko. Może to prowadzić do dyskryminacji ze względu na płeć, rasę, dane demograficzne, orientację seksualną i inne aspekty.

Dlatego ważne jest ograniczenie błędów w algorytmach AI i ML, aby promować uczciwość wyników. Powyższe informacje pomogą Ci wykryć uprzedzenia i je zredukować, dzięki czemu będziesz mógł stworzyć sprawiedliwe systemy AI dla użytkowników.

Możesz także przeczytać o zarządzaniu sztuczną inteligencją.