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

Wady algorytmiczne mogą znacząco oddziaływać na rozmaite sfery naszego życia, począwszy od sugestii treści internetowych, poprzez proces rekrutacji, aż po decyzje o charakterze finansowym.

Ludzkie uprzedzenia są zjawiskiem powszechnym. Każdy z nas różni się płcią, pochodzeniem etnicznym, doświadczeniami życiowymi, wykształceniem, kulturą, przekonaniami i wieloma innymi czynnikami.

W konsekwencji, nasze opinie, myśli, sympatie i antypatie są zróżnicowane. U niektórych mogą się rozwinąć pewne preferencje lub niechęć wobec określonych grup czy kategorii.

Podobnie działają maszyny. One również mogą inaczej postrzegać ludzi, przedmioty i sytuacje, co wynika z błędów zakodowanych w ich algorytmach. Te zakłócenia mogą prowadzić do niesprawiedliwych rezultatów w systemach sztucznej inteligencji i uczenia maszynowego, utrudniając życie wielu osobom.

W niniejszym artykule przybliżę zagadnienie błędów algorytmicznych, omówię ich rodzaje oraz metody ich wykrywania i eliminowania, mające na celu podniesienie uczciwości generowanych wyników.

Zacznijmy!

Czym są niedoskonałości algorytmiczne?

Stronniczość algorytmiczna to skłonność algorytmów uczenia maszynowego i sztucznej inteligencji do powielania ludzkich uprzedzeń, co skutkuje niesprawiedliwymi wynikami. Uprzedzenia te mogą mieć swoje źródło w czynnikach takich jak płeć, wiek, rasa, wyznanie, pochodzenie etniczne czy kultura.

W kontekście AI i uczenia maszynowego, błędy algorytmiczne to powtarzalne, systematyczne zakłócenia w działaniu systemu, które generują nieuczciwe rezultaty.

Nieprawidłowości w algorytmach mogą wynikać z różnorodnych przyczyn, takich jak decyzje dotyczące gromadzenia danych, ich selekcji, kodowania, a także sposobu wykorzystania do uczenia algorytmu, jego przeznaczenia czy konstrukcji.

Przykładowo, stronniczość algorytmiczną można zaobserwować w wynikach wyszukiwania, co może skutkować naruszeniem prywatności czy utrwaleniem negatywnych stereotypów społecznych.

Wiele jest przypadków występowania błędów algorytmicznych w różnych dziedzinach, np. w wynikach wyborów, rozprzestrzenianiu mowy nienawiści w sieci, ochronie zdrowia, systemie sprawiedliwości czy rekrutacji. Prowadzi to do pogłębienia istniejących uprzedzeń związanych z płcią, rasą, sytuacją ekonomiczną czy społeczną.

Rodzaje nieprawidłowości algorytmicznych

#1. Uprzedzenia w danych

Uprzedzenie w danych pojawia się, gdy zbiór danych wykorzystywanych do szkolenia modelu sztucznej inteligencji nie oddaje w sposób adekwatny rzeczywistych scenariuszy lub całej populacji. Skutkuje to brakiem równowagi i przekłamaniami w danych.

Źródło: TELUS International

Na przykład, jeśli algorytm do rozpoznawania twarzy jest uczony głównie na danych osób o białym kolorze skóry, może działać gorzej w przypadku osób o ciemniejszej karnacji.

#2. Uprzedzenie w pomiarze

Ten rodzaj zakłócenia może wynikać z błędów w procesie pomiaru lub gromadzenia danych.

Na przykład, jeśli algorytm diagnostyczny w służbie zdrowia jest uczony na podstawie wskaźników takich jak częstotliwość wizyt u lekarza, może to zaburzyć jego ocenę i spowodować, że będzie pomijał rzeczywiste objawy.

#3. Uprzedzenie w modelu

Uprzedzenia modelu wynikają z jego nieprawidłowej konstrukcji lub sposobu działania.

Na przykład, jeśli system sztucznej inteligencji ma algorytm zaprojektowany tak, by maksymalizować zyski bez względu na okoliczności, może to prowadzić do sytuacji, w której zyski finansowe będą miały pierwszeństwo przed etyką, bezpieczeństwem czy uczciwością.

#4. Uprzedzenie w ocenie

Uprzedzenie w ocenie może wystąpić, gdy wskaźniki lub kryteria oceny wydajności systemu AI są nieobiektywne.

Źródło: Clear Review

Na przykład, jeśli system AI ocenia wydajność pracowników na podstawie testów preferujących określoną grupę, może to prowadzić do nierówności.

#5. Uprzedzenie w raportowaniu

Uprzedzenie w raportowaniu może wystąpić, kiedy dane szkoleniowe nie odzwierciedlają dokładnie częstości występowania określonych zdarzeń w rzeczywistości.

Na przykład, jeśli narzędzie zabezpieczające AI słabo sprawdza się w odniesieniu do pewnej kategorii, może zacząć oznaczać całą kategorię jako podejrzaną.

Oznacza to, że zbiór danych, na którym system został przeszkolony, uznał wszystkie dotychczasowe zdarzenia z tej kategorii za podejrzane, ze względu na ich częstsze występowanie.

#6. Uprzedzenie selekcyjne

Uprzedzenie selekcyjne występuje, gdy dane do uczenia są wybierane bez odpowiedniej randomizacji lub nie reprezentują całej populacji.

Na przykład, jeśli narzędzie do rozpoznawania twarzy jest trenowane na ograniczonej ilości danych, może zaczynać dyskryminować te, z którymi ma mniejszą styczność. Przykładowo, może gorzej identyfikować kobiety o ciemniejszym kolorze skóry.

#7. Uprzedzenie ukryte

Uprzedzenie ukryte pojawia się, gdy algorytm AI formułuje założenia na podstawie osobistych doświadczeń, które niekoniecznie mają zastosowanie do szerszej grupy ludzi.

Na przykład, jeśli analityk projektujący algorytm AI uważa, że kobiety preferują kolor różowy bardziej niż niebieski czy czarny, system może rekomendować produkty w sposób, który nie będzie odzwierciedlał preferencji każdej kobiety. Wiele osób lubi kolor niebieski lub czarny.

#8. Uprzedzenie atrybucji grupowej

Ten rodzaj uprzedzenia pojawia się, gdy projektanci algorytmów przypisują cechy charakterystyczne dla konkretnych osób całej grupie, niezależnie od przynależności do tej grupy. Uprzedzenie atrybucji grupowej jest powszechne w procesach rekrutacji.

Na przykład, narzędzie do rekrutacji może faworyzować kandydatów z określonej szkoły, dyskryminując tym samym uczniów z innych placówek.

#9. Uprzedzenie historyczne

Wykorzystywanie danych historycznych jest kluczowe podczas tworzenia zbiorów danych do szkolenia algorytmu ML. Jednak brak ostrożności może doprowadzić do tego, że algorytmy powielą błędy występujące w danych historycznych.

Na przykład, jeśli model AI jest szkolony na danych z ostatnich 10 lat, przy selekcji kandydatów na stanowiska techniczne może preferować mężczyzn, jeśli w danych szkoleniowych była ich przewaga.

#10. Uprzedzenie etykietowania

W procesie uczenia algorytmów maszynowych konieczne jest przypisywanie etykiet dużej ilości danych. Różnice w procesie etykietowania mogą prowadzić do niespójności i wprowadzenia uprzedzeń do systemu AI.

Na przykład, jeśli algorytm AI do rozpoznawania kotów na zdjęciach jest szkolony poprzez zaznaczanie ich ramkami, to może nie zidentyfikować kota, jeśli jego twarz nie będzie widoczna. Oznacza to, że algorytm preferuje zdjęcia, na których koty są zwrócone twarzą do obiektywu. Nie rozpozna kota, jeśli zdjęcie będzie zrobione pod innym kątem, gdzie widoczne będzie jego ciało, ale nie twarz.

#11. Uprzedzenie wykluczenia

Źródło: ResearchGate

Uprzedzenie wykluczenia ma miejsce, gdy konkretna osoba, grupa osób lub kategoria jest wykluczana w sposób zamierzony lub nie podczas gromadzenia danych, bo są uznane za nieistotne. Dzieje się tak najczęściej na etapie przygotowania danych w cyklu życia ML.

Na przykład, jeśli system AI ma za zadanie przewidzieć popularność produktu w zimie na podstawie wskaźnika zakupu, to gdy analityk danych usunie zapisy z października, uznając je za błędne, to algorytm będzie działał z uprzedzeniem w odniesieniu do miejsc, gdzie zima trwa dłużej niż od listopada do stycznia.

W jaki sposób uprzedzenia trafiają do algorytmów?

Dane szkoleniowe

Głównym źródłem uprzedzeń algorytmicznych są stronnicze dane wykorzystywane do uczenia algorytmów AI i ML. Jeśli same dane są obciążone nierównościami, algorytm nauczy się tych wad i będzie je utrwalał.

Projekt

Projektując algorytm, programista może świadomie lub nieświadomie wprowadzić do systemu AI odzwierciedlenie własnych poglądów. W konsekwencji, system AI będzie działał ze stronniczością w stosunku do pewnych kategorii.

Podejmowanie decyzji

Często analitycy danych i liderzy podejmują decyzje na podstawie własnych doświadczeń, przekonań, środowiska itp. Te decyzje mogą znaleźć odzwierciedlenie w algorytmach, powodując ich błędy.

Brak różnorodności

Brak różnorodności w zespole programistów może skutkować tym, że tworzone przez nich algorytmy nie będą reprezentować całej populacji. Programiści, nie mając doświadczenia w innych kulturach, przekonaniach czy sposobach działania, tworzą algorytmy, które mogą być stronnicze.

Wstępne przetwarzanie danych

Metoda stosowana do czyszczenia i przetwarzania danych może wprowadzić uprzedzenia. Jeśli nie zostanie ona zaprojektowana z uwzględnieniem przeciwdziałania stronniczości, może mieć to poważne konsekwencje dla działania modelu AI.

Architektura

Architektura modelu i rodzaj wybranego algorytmu ML również mogą wprowadzić uprzedzenia. Niektóre algorytmy, ze względu na swoją konstrukcję, są bardziej podatne na powstawanie uprzedzeń niż inne.

Wybór funkcji

Funkcje, które zostaną wybrane do trenowania algorytmu AI, mają wpływ na jego stronniczość. Jeśli wybór funkcji nie uwzględni ich wpływu na rzetelność wyników, może to prowadzić do uprzedzeń i preferowania pewnych kategorii.

Historia i kultura

Algorytm, który jest szkolony na danych z przeszłości lub specyficznych kultur, może odziedziczyć uprzedzenia, stereotypy czy normy, które były w nich zakorzenione. Mogą one mieć wpływ na wyniki działania systemu, nawet jeśli są niesprawiedliwe w teraźniejszości.

Dryf danych

Dane, które wykorzystujemy do uczenia algorytmów AI dzisiaj, mogą stać się przestarzałe w przyszłości, na skutek zmian technologicznych czy społecznych. Te nieaktualne zbiory danych mogą jednak nadal powodować uprzedzenia i negatywnie wpływać na wydajność systemu.

Pętle informacji zwrotnej

Niektóre systemy AI nie tylko komunikują się z użytkownikami, ale także dostosowują do ich zachowań. W ten sposób algorytm może utrwalać i wzmacniać istniejące uprzedzenia. Gdy osobiste uprzedzenia użytkowników przenikną do systemu, może to doprowadzić do powstania stronniczej pętli sprzężenia zwrotnego.

Jak wykryć uprzedzenia algorytmiczne?

Zdefiniuj, co oznacza „sprawiedliwość”

Aby rozpoznać niesprawiedliwe rezultaty lub błędy w algorytmach, trzeba najpierw zdefiniować, co oznacza „sprawiedliwość” w kontekście danego systemu AI. W tym celu można wziąć pod uwagę takie czynniki jak płeć, wiek, rasa, orientacja seksualna, region czy kultura.

Ważne jest określenie wskaźników, które pozwolą ocenić sprawiedliwość systemu, np. równość szans, parytet przewidywań czy wpływ. Po zdefiniowaniu „sprawiedliwości” łatwiej będzie zidentyfikować wszelkie odstępstwa od tej normy i podjąć działania naprawcze.

Audyt danych szkoleniowych

Konieczne jest dokładne przeanalizowanie danych treningowych w celu znalezienia braków równowagi w reprezentacji różnych grup. Należy sprawdzić, czy rozkład cech w danych odzwierciedla rzeczywistą demografię.

Można stosować wizualizację danych, np. histogramy, mapy cieplne czy wykresy punktowe, które pomogą uwidocznić rozbieżności i schematy, niewidoczne przy zwykłej analizie statystycznej.

Oprócz audytów wewnętrznych, można zaangażować zewnętrznych ekspertów, którzy dokonają oceny stronniczości systemu.

Zmierz wydajność modelu

W celu wykrycia uprzedzeń, należy zmierzyć wydajność modelu AI dla różnych grup demograficznych. Warto jest podzielić dane treningowe na różne grupy, np. ze względu na rasę czy płeć. Można też wykorzystać wskaźniki sprawiedliwości, by obliczyć różnice w wynikach.

Użyj odpowiednich algorytmów

Należy wybierać algorytmy, które promują uczciwe wyniki i mogą eliminować uprzedzenia podczas uczenia modelu AI. Algorytmy świadome sprawiedliwości mają na celu zapobieganie stronniczości, gwarantując równe wyniki dla różnych kategorii.

Oprogramowanie do wykrywania stronniczości

Istnieją specjalistyczne narzędzia i biblioteki, które mogą pomóc w wykrywaniu stronniczości. Oferują one wskaźniki sprawiedliwości, wizualizacje, testy statystyczne i inne narzędzia potrzebne do analizy. Do popularnych należą AI Fairness 360 i IBM Fairness 360.

Poszukaj opinii użytkowników

Ważne jest, by prosić użytkowników i klientów o opinie na temat działania systemu AI. Należy zachęcić ich do szczerości, gdy odczuwają niesprawiedliwe traktowanie lub uprzedzenia. Takie dane pomogą zidentyfikować problemy, które mogą nie zostać wyłapane za pomocą automatycznych narzędzi.

Jak łagodzić uprzedzenia algorytmiczne?

Dywersyfikuj swoją firmę

Zróżnicowanie zespołu pracowników i programistów ułatwia szybsze wykrywanie i eliminowanie uprzedzeń. Dzieje się tak, gdyż osoby, które są dotknięte uprzedzeniami, są w stanie je łatwiej zauważyć.

Dlatego ważne jest dywersyfikowanie firmy nie tylko pod względem demografii, ale także umiejętności i doświadczenia. Należy uwzględnić osoby różnej płci, tożsamości, rasy, pochodzenia, statusu ekonomicznego i wykształcenia.

Pozwala to na zebranie różnych perspektyw, doświadczeń i wartości kulturowych, co pomaga zwiększyć uczciwość algorytmów sztucznej inteligencji, poprzez redukcję uprzedzeń.

Promuj przejrzystość

Ważne jest, aby być transparentnym wobec zespołu w kwestii celów, algorytmów, źródeł danych i decyzji dotyczących systemu AI. Użytkownicy powinni mieć możliwość zrozumienia, jak działa system AI i dlaczego generuje określone wyniki. Taka przejrzystość buduje zaufanie.

Algorytmy świadome sprawiedliwości

Podczas opracowywania modelu należy korzystać z algorytmów uwzględniających zasadę sprawiedliwości, aby zapewnić sprawiedliwe wyniki dla różnych grup. Jest to szczególnie istotne w branżach objętych regulacjami, takich jak finanse czy ochrona zdrowia.

Oceń wydajność modelu

Ważne jest testowanie modeli, by sprawdzić wydajność systemu AI w różnych grupach i podgrupach. Pozwala to na identyfikację problemów, które nie są widoczne w zagregowanych wskaźnikach. Można symulować różne scenariusze, aby sprawdzić, jak system działa w warunkach rzeczywistych.

Postępuj zgodnie z wytycznymi etycznymi

Konieczne jest opracowanie wytycznych etycznych dla systemów AI, z uwzględnieniem uczciwości, prywatności, bezpieczeństwa i praw człowieka. Należy egzekwować te wytyczne w całej organizacji, aby podnieść poziom sprawiedliwości i odzwierciedlić go w wynikach działania systemu AI.

Ustal kontrolę i zakres obowiązków

Ważne jest, by ustalić zakres obowiązków dla każdego członka zespołu pracującego nad projektowaniem, rozwojem, utrzymaniem i wdrożeniem systemu AI. Należy wprowadzić odpowiednie mechanizmy kontroli w formie protokołów i wytycznych, by eliminować uprzedzenia, błędy i inne problemy.

Oprócz powyższego należy regularnie przeprowadzać audyty, aby zredukować uprzedzenia i dążyć do ciągłego doskonalenia. Trzeba także być na bieżąco z postępem technologicznym, demograficznymi zmianami i innymi ważnymi czynnikami.

Rzeczywiste przykłady uprzedzeń algorytmicznych

#1. Algorytm Amazona

Amazon jest liderem w handlu elektronicznym. Jednak jego narzędzie rekrutacyjne, które wykorzystywało sztuczną inteligencję do oceny kandydatów pod kątem ich kwalifikacji, wykazało uprzedzenia związane z płcią. System był trenowany na podstawie CV osób, które wcześniej ubiegały się o stanowiska techniczne.

Niestety, dane te zawierały więcej życiorysów mężczyzn. Sztuczna inteligencja nauczyła się więc faworyzować mężczyzn kosztem kobiet, które były niedostatecznie reprezentowane. Amazon musiał zrezygnować z tego narzędzia w 2017 roku, pomimo prób ograniczenia jego wad.

#2. Rasistowskie algorytmy w służbie zdrowia USA

Algorytm używany przez amerykańskie szpitale do prognozowania pacjentów potrzebujących dodatkowej opieki był obciążony uprzedzeniem rasowym. System oceniał potrzeby pacjentów na podstawie wydatków na opiekę zdrowotną, utożsamiając koszty z potrzebami medycznymi.

Algorytm nie uwzględniał tego, w jaki sposób pacjenci o różnym kolorze skóry płacą za opiekę zdrowotną. Pacjenci o ciemnym kolorze skóry płacili głównie za nagłe przypadki, przez co byli klasyfikowani jako zdrowsi i nie otrzymywali dodatkowej opieki.

#3. Algorytm dyskryminacyjny Google

System reklam online Google okazał się dyskryminacyjny. Reklamy na dobrze płatnych stanowiskach, takich jak dyrektorzy generalni, były pokazywane częściej mężczyznom niż kobietom. Mimo że 27% dyrektorów generalnych w USA to kobiety, w Google ich reprezentacja wynosiła jedynie 11%.

Algorytm mógł wyświetlać wyniki w ten sposób, gdyż uczył się na podstawie zachowań użytkowników, np. osoby oglądające i klikające reklamy w przypadku lepiej płatnych stanowisk to częściej mężczyźni. Dlatego algorytm AI wyświetlał reklamy częściej mężczyznom.

Podsumowanie

Uprzedzenia algorytmiczne w systemach uczenia maszynowego i sztucznej inteligencji mogą prowadzić do niesprawiedliwych wyników. Mają one wpływ na różne dziedziny życia, od ochrony zdrowia i cyberbezpieczeństwa, poprzez handel elektroniczny, aż po wybory i zatrudnienie. Może to prowadzić do dyskryminacji ze względu na płeć, rasę, status społeczny, orientację seksualną i wiele innych czynników.

Z tego względu ważne jest, by ograniczać błędy w algorytmach AI i ML, aby promować uczciwość rezultatów. Powyższe informacje pomogą Ci wykryć uprzedzenia i je zredukować, dzięki czemu będziesz w stanie tworzyć sprawiedliwe systemy AI dla użytkowników.

Zachęcamy również do zapoznania się z tematyką zarządzania sztuczną inteligencją.