Między wiedzą “jak” i wiedzą “dlaczego”.
Kontekst algorytmiczny.

Jako sygnał wywoławczy kolejnej blogowej rozmowy chciałbym przywołać następujący cytat z tekstu Donalda Knutha o algorytmach:

Być może największym odkryciem będącym rezultatem wprowadzenia komputerów okaże się to, że algorytmom, jako przedmiotom badania, przysługuje niezwykłe bogactwo interesujących własności oraz to, że algorytmiczny punkt widzenia jest użytecznym sposobem organizacji wiedzy w ogólności.

Algorytmiczny punkt widzenia…
Zastosujmy go nieco węziej niż to postuluje Knuth, przyjmując, że algorytm stanowi wzorcowy (schematyczny, jednoznaczny, intersubiektywnie dostępny…) zapis wiedzy „jak”, czyli wiedzy o tym, jak rozwiązywać problemy określonego typu. Na przykład: jak znajdować pierwiastki równań kwadratowych czy diagnozować choroby układu oddechowego.
Warto napomknąć tutaj, że na polu epistemologii wiedzę „jak” odróżnia się od wiedzy „że”. Ta pierwsza ma charakter proceduralny, operacyjny, pragmatyczny (w naszym ujęciu: algorytmiczny)… ta druga zaś,  dotyczy faktów i zależności między nimi (oto przykład: Wisła jest dłuższa od Odry); ma zatem charakter deklaratywny lub opisowy.

O użyteczności algorytmów w ogólnym kontekście gromadzenia i zdobywania wiedzy dyskutowaliśmy już kilka razy, np. przy okazji wpisu Siła algorytmów czy wpisu Algorytmiczne podejście do zdobywania, zapisywania i przekazywania wiedzy….

Tym razem proponuję przyjrzeć się zagadnieniu przejrzystości poznawczej algorytmów — koncentrując się roboczo na kontekście informatycznym, a dokładniej na metodach i systemach sztucznej inteligencji (SI). Nie znaczy to oczywiście, że w dalszej rozmowie nie możemy wychodzić poza ten roboczy kontekst!

Otóż we współczesnych systemach SI, a więc systemach służących do automatyzacji czynności poznawczych człowieka (takich jak wnioskowanie czy komunikacja językowa), coraz częściej stosuje się algorytmy (samo)uczące się. Mają one status schematów pomocniczych, a więc schematów „drugiego poziomu”, które prowadzą do udoskonalenia algorytmu właściwego, odpowiedzialnego za działanie systemu.
Przykładowo: jeśli system służy do stawiania diagnoz medycznych, to algorytm właściwy mówi „jak przechodzić od obserwowanych objawów do stwierdzenia takiej a takiej choroby”, natomiast algorytm uczenia się ma na celu wcześniejsze dopasowanie pewnych parametrów algorytmu właściwego (być może nawet: utworzenie go od podstaw), tak aby ten ostatni działał poprawnie.
Dopowiedzmy koniecznie, że sporo współczesnych systemów uczących się ma postać sztucznych sieci neuronowych. W ich przypadku algorytmy uczenia się są pewnymi (inspirowanymi biologicznie) schematami samoorganizacji tych sieci – samoorganizacji, która polega na „dostrajaniu” wag połączeń międzyneuronalnych, a niekiedy też pewnych parametrów sztucznych neuronów.

Mając na uwadze rozróżnienie między algorytmami działania (jak rozwiązać problem, jak podjąć decyzję itp.) oraz algorytmami uczenia się (jak utworzyć lub udoskonalić algorytm właściwy), można postawić zagadnienie przejrzystości poznawczej tych pierwszych.
Chociaż stanowią one wiedzę „jak” i są podstawą efektywnych działań systemu, to w konkretnych przypadkach można się zastanawiać, w jakim stopniu wiedza ta ma status wiedzy „dlaczego”?
Przykładowo: wiemy, jak system stawia diagnozy i widzimy ich poprawność, nie do końca jednak rozumiemy, dlaczego są to takie właśnie diagnozy. Innymi słowy: system ma taką strukturę i taki algorytm działania (np. jest on bardzo złożony lub zawiera pewne techniczne parametry niskiego poziomu), że nie dostarcza wprost dobrych wyjaśnień podejmowanych przez siebie decyzji. Być może nawet, wyjaśnienia takie są w ogóle nieosiągalne.
Mówiąc obrazowo, system taki przypomina nieprzejrzystą poznawczo czarną skrzynkę.

Wobec zarysowanych trudności chciałbym poddać pod dyskusję następujące pytania:

Czy problem nieprzejrzystości poznawczej jest dla informatyków istotny?
Jeśli tak, to jakich systemów/algorytmów dotyczy?
Jakie czynniki ten problem wywołują i potęgują?
Czy znacie Państwo jakieś sposoby przezwyciężania tego problemu?
A może: w przypadku systemów informatycznych wiedza typu „dlaczego” jest nie do końca potrzebna, bo wystarczy skuteczna w praktyce wiedza „jak”?

Zachęcam do swobodnej rozmowy na powyższe tematy – z możliwością wykroczenia poza nie!

Na rozgrzewkę zaś przytaczam historyczny komentarz stałego bywalca Cafe Aleph, niejakiego k-ma, który dotyczył podobnych kwestii (komentarz ten delikatnie przeredagowałem):

<< Wobec współczesnych dokonań informatyki możliwa jest sytuacja, w której wiedza naukowa będzie mogła być efektywnie poszerzana przez „uczące się” automaty — korzystające ze sformalizowanych procedur tak, że plon tej zalgorytmizowanej działalności będzie racjonalny, to znaczy komunikowalny i intersubiektywnie sprawdzalny przez inne automaty korzystające z algorytmów na coraz to nowszych „jakościowo poziomach” — ALE wiedza ta nie będzie mogła się przełożyć na „wiedzę indywidualną” ludzi korzystających z owych automatów. Badacze będą mogli zyskać czasem wiedzę „że” i „jak”, ale nie wiedzę „dlaczego”. >>

Jako materiały pomocnicze do dyskusji (zob. też linki wyżej) proponuję:

tekst Donalda Knutha o roli algorytmów w informatyce
tekst Pawła Stacewicza o metodzie algorytmicznej
slajdy Pawła Stacewicza do wykładu nt, informacji i wiedzy

Serdecznie zapraszam do dyskusji – Paweł Stacewicz

Ten wpis został opublikowany w kategorii Dydaktyka logiki i filozofii, Filozofia informatyki, Filozofia nauki, Światopogląd informatyczny, Światopogląd racjonalistyczny. Dodaj zakładkę do bezpośredniego odnośnika.

14 Responses to Między wiedzą “jak” i wiedzą “dlaczego”.
Kontekst algorytmiczny.

  1. km pisze:

    Piszę ten komentarz w oczekiwaniu na prima-aprilisowy “update” przedstawionej szerokiej publiczności równo rok temu kandydatki do “teorii wszystkiego” autorstwa pewnego matematyka i internetowego (alt)celebryty Erica Weinsteina.
    Teoria Weinstein’a – podobnie jak próba stworzenia “teorii ultymatywnej” noblisty Franka Wilchek’a – usiłuje odsłonić arkana Rzeczywistości i odpowiedzieć na pytanie “dlaczego?”. Weinstein pokusił się o ładną metaforę porównując swój wysiłek z ideą przedstawioną na rysunku Eschera dwóch wzajemnie szkicujące się dłonie – tłumacząc, że ideą mu przyświecającą była próba odpowiedzi na pytanie jak Rzeczywistość mogła się sama ukonstytuować, co pozwoliłoby ostatecznie odpowiedzieć dlaczego rzeczy się mają tak jak się mają.

    Piszę o tym dlatego, że podobne teorie są chyba jedyną możliwością na uzyskanie (w miarę) poznawczo satysfakcjonującej wiedzy „dlaczego?”. Każde inne naukowe próby wytłumaczenia jakiegokolwiek obserwowanego fenomenu (choćby prędkości spadających z krzywej wierzy ciał różnej masy) sprowadzić można w końcu do stwierdzenia ‘jak’ robimy to i to w eksperymencie to regularnie obserwujemy takie to a takie wyniki.
    Problemy informatycznych „czarnych skrzynek” nie wydają mi się czymś nowym (przypominam zresztą krytyczne uwagi dotyczące ludzkich przeświadczeń Hume’a) i stawiam na to, że ludzkość łatwo się z nimi pogodzi.

    W ogóle cała nasza “ścisła” wiedza (poza ‘wiedzą że’) to tylko ‘wiedza jak’, a domniemania „dlaczego?” to tylko „fikcje sprzyjające rozumieniu” – i porozumieniu. Zdolność do wyrecytowania teorii „tłumaczącej dlaczego” utwierdza egzaminatora w tym, że egzaminowany nie „strzelił” z odpowiedzią, jednak ostatecznym testem zrozumienia teorii jest zdolność do trafnego “podstawiania do wzoru” w określonych okolicznościach.

    Teraz możemy powiedzieć, że ufamy ekspertom, którzy „na pewno rozumieją” specjalistyczne zagadnienia – a to, że rozumieją sprawdzamy testując to, czy do tej pory byli zdolni do trafnych predykcji zjawisk z danej dziedziny. W Sądzie dowodzimy racjonalności swych działań wskazując trzymanie się sposobów, które najrzadziej zawodzą w „stosunkach danego rodzaju”.
    W przyszłości spokój sumienia zyskamy widząc dotychczasową skuteczność informatycznych systemów w realizacji powierzanych im zadań.

  2. Michał Ł. pisze:

    Pan km świetnie ubrał w słowa tezy, które są mi bardzo bliskie. Postaram się jednak mimo tego dorzucić co nieco od siebie. Pragnąłbym na razie poruszyć te rozliczne zadane we wpisie pytania tylko częściowo. Komentarz ten będzie przez to mniej wyczerpujący temat i mniej istotny, za to, mam nadzieję, prowokujący do żywej dysputy. Mam nadzieję jedynie, że nie sprowadzę jej na manowce!

    Faktycznie bardzo istotne na początek wydaje mi się rozróżnienie wiedzy “jak”, “że” i “dlaczego”. Te dwie pierwsze wydają się niekiedy silnie ze sobą powiązane i dość powszechne w praktycznym stosowaniu. Wiem, że Wisła jest dłuższa od Odry, bo ktoś wiedział jak to pomierzyć. Sam oczywiście mogę mieć często wyłącznie wiedzę “że” i zadowolić się, że ktoś mądrzejszy w tym aspekcie miał wiedzę “jak” dojść (przez rozumowanie, empiryczne badania, algorytmy etc.) do danego faktu. Choć instynktownie chcielibyśmy, żeby ekspert w danym temacie tę wiedzę “jak” jednak miał, albo chociaż była gdzieś spisana, abyśmy byli pewni swojej wiedzy “że”. Faktycznie w przyszłości możemy dojść do etapu, że i wiedza “jak” będzie już także poza naszym zasięgiem, gdy programy zaczną same tworzyć nowe pomysłowe rozwiązania, będące przez swą szczegółowość poza zasięgiem naszego umysłu.

    Pojęcie wiedzy “dlaczego” wydaje mi się dużo trudniejszym epistemologicznym problemem i może być tak, jak twierdzi przedmówca (choć nie mam wystarczającej wiedzy, by być silnie przekonany), że prawdziwa wiedza “dlaczego” jest tylko nieosiągalną ideą czy praktyczną iluzją.
    Każdy, kto rozmawiał z bardziej ciekawskim dzieckiem, wie, że potrafią one czasem powtarzać “Czemu?” ad nauseam, ostatecznie prowokując nas do odpowiedzi “Tak już we wszechświecie jest!”. I tak z prostego, zdawałoby się, pytania “Dlaczego istnieją chmury?” można dojść po skończonej liczbie iteracji tego samego pytania do stwierdzenia, że wszystko we Wszechświecie zachowuje się w sposób, który opisaliśmy nie do końca trafnym pojęciem “praw” i to nasza obserwacja zachowań cząstek stanowi podłoże do bardziej…”wysokopoziomowej” wiedzy dlaczego. Czyli może by zdefiniować wiedzę “dlaczego” musimy ustalić jakiś warunek stopu? A może sam fakt, że pytanie jest zgodne ze składnią i semantyką danego języka, nie implikuje, że jest zasadne? Może w ogóle źle rozumiem ten typ wiedzy?
    Polecam krótki, acz ciekawy fragment wywiadu z p. Richardem Feynmanem odnośnie do tego zagadnienia pod linkiem https://www.youtube.com/watch?v=36GT2zI8lVA

    Wracając, problem przejrzystości algorytmów i tworzenia systemów typu “black box” będzie tylko coraz bardziej widoczny i wszechobecny. Dotyczyć zacznie coraz bardziej nie tylko stricte informatyków, co przeciętnego człowieka. Ciężko mi zatem, patrząc na rozwój sztucznej inteligencji, polemizować z tezą, że jest on istotny i wart dyskusji.

    Powyższy wstęp nt. praktycznej trudności w osiągnięciu wiedzy “dlaczego” miał na celu niejako ustanowienie podłoża pod mój główny argument – być może nie powinniśmy się może przejmować faktem, że nie jesteśmy w stanie powiedzieć, dlaczego algorytm wybrał A, a nie B, dopóki efekty są praktyczne, gdyż i tak zrezygnowani robimy to codziennie? Ilu ludzi potrafi jasno powiedzieć, jak działają różne elektroniczne urządzenia w naszym domu? Mimo wszystko bez strachu sięgamy po suszarkę, bowiem niestety doba ma tylko 24 godziny, a dla nas liczy się dla nas efekt, a nie dogłębne rozumienie mechanizmu jej działania.

    Warto również zwrócić uwagę na to, że mózg każdego człowieka jest czarną skrzynką. Nie tylko nie mamy świadomości, co leży u podstaw wyboru innej osoby, a często wręcz sami nie wiemy, dlaczego podejmujemy taką, a nie inną decyzję. Dajemy możliwość decydowania o czyimś wyroku sędziom, a nie wiemy tak naprawdę, jakie czynniki wpłyną na ich decyzję. Badania z dziedziny psychologii sugerują, że nawet takie rzeczy jak zrobienie sobie przerwy w pracy czy zjedzenie nazbyt obfitego posiłku mogą wpływać na długość wyroku, czy prawdopodobieństwo umorzenia sprawy. Podobną argumentację można wysnuć, odnosząc się do praktycznie każdej dziedziny życia. Czy zatem nie żyjemy już teraz w świecie “czarnych skrzynek”?

    Odpowiedź na pytania “jakie czynniki potęgują problem” i “jakich systemów najbardziej dotyczy” wydaje mi się zatem następująca – tych systemów i sytuacji, które wywołują przerażenie i inne skrajne emocje w społeczeństwie. W przypadku nie do końca dobrze zrobionego chatbota “machniemy ręką”, naśmiewając się tylko z jego bezsensownych odpowiedzi. Jednakże czujemy, poniekąd zrozumiały, strach przed tym, że SI miałaby podejmować decyzje tyczące się wyroku sądowego czy toku leczenia pacjenta, jeśli nie wiemy, w jaki sposób ona tak naprawdę podejmuje takie decyzje. Warto jednak zadać wcale nieoczywiste pytanie – czy strach przed algorytmem, którego działań nie jesteśmy w stanie zrozumieć, wynika wyłącznie z naszego antropocentrycznego postrzegania świata?

    Wydaje mi się jednak, że ludzkość może stanąć przed dylematem – pogodzić się z niezrozumieniem, osiągając lepsze efekty (np. lepszą rozpoznawalność niektórych chorób, lepsze systemy podatkowe, co już teraz SI jest w stanie osiągnąć), czy pogodzić się z gorszymi rezultatami działań ludzi, ale zachować (pozorną lub nie) wiedzę “jak”? A przynajmniej wiedzieć, że ktoś godny zaufania taką wiedzę posiada. A może ktoś twierdziłby raczej, że trzeba skupić się na rozwoju tylko tych systemów, które są przejrzyste?

    Ciężko jednak powiedzieć jednoznacznie, że modele na zasadzie “czarnej skrzynki” nie są problemem. Rodzą one wiele sytuacji kontrowersyjnych, dla przykładu – kto jest winny wypadkowi auta autonomicznego? Te sytuacje, kiedyś będące domeną książek science–fiction, już dziś podawane są jako casusy na studiach prawniczych.

    Jestem bardzo ciekaw opinii reszty czytelników bloga i słuchaczy wykładu.

  3. Paweł Stacewicz pisze:

    Zastanawiając się nad powyższymi komentarzami, dochodzę do wniosku, że pojęcie wiedzy „dlaczego” jest niedobrze skonstruowane i użyłem go chyba zbyt pochopnie. Odpowiedzi na pytania „dlaczego” (np. „dlaczego program wspomagający lekarza sugeruje taką a taką diagnozę?”) są oczywiście ważne, a przy racjonalnym (tym bardziej zaś: naukowym) podejściu do opisu jakiejś dziedziny, wręcz niezbędne.

    Natomiast samo pojęcie [wiedza „dlaczego”] wydaje się redundantne czyli nadmiarowe — w sensie nadmiarowego użycia słówka „dlaczego”.
    Chodzi o to, że w samym pojęciu wiedzy zawiera się odwołanie do jakiegoś, dostatecznie silnego, uzasadnienia – a więc do mniej lub bardziej rozbudowanej odpowiedzi na pytanie „Dlaczego…” (np. „Dlaczego twierdzisz z całą pewnością, że liczb pierwszych jest nieskończenie wiele” albo, „…że Ziemia wiruje wokół własnej osi”).

    A zatem, z samego pojęcia wiedzy (jako dostatecznie dobrze uzasadnionego przekonania) wynika, że znamy (jakąś) odpowiedź na pytanie „Dlaczego”. Innymi słowy, każda wiedza „że” czy „jak” ma poniekąd status wiedzy „dlaczego”. Albo trafniej: zakłada znajomość jakichś uzasadnień, która to znajomość pozwala formułować odpowiednie wyjaśnienia.

    Wątek ogólno-epistemologiczny czy ogólno-metodologiczny możemy oczywiście kontynuować. Szczególnie ważne (i niepokojące zarazem) jest tu zagadnienie kresu uzasadnień: czy w przypadku każdego typu wiedzy jesteśmy skazani na niekończony ciąg pytań „dlaczego”, który to ciąg (ciągnący się w nieskończoność) uniemożliwia zdobycie jakiejkolwiek wiedzy…?

    Oprócz takich pytań ogólnych proponuję jednak skupić się na wątku informatycznym, który dotyczy funkcji wyjaśniających różnych systemów algorytmicznych, w tym uczących się.
    W szczególności: czy tak powszechne dziś metody „machine learning” nie sprawiają, że uzyskanie od systemu wiarygodnego i czytelnego dla człowieka wyjaśnienia podejmowanych decyzji staje się skrajnie trudne lub wręcz niemożliwe?

    Natknąłem się w sieci na ciekawy tekst, które może stanowić dla nas pewien punkt odniesienia: https://towardsdatascience.com/the-black-box-metaphor-in-machine-learning-4e57a3a1d2b0 (The “black box” metaphor in machine learning). Autor zdaje się powątpiewać w zasadność stosowania metafory czarnej skrzynki do systemów uczących się…

  4. Bartłomiej B. pisze:

    Gdybyśmy dali losowej osobie topografię układu scalonego wykorzystywanego przez jego smartphone, nie byłby w stanie odpowiedzieć na pytanie w jaki sposób jego telefon działa. Można więc śmiało stwierdzić, że żyjemy na wyspie ignorancji. Przecięty „Kowalski”, otacza się czarnymi skrzynkami tak długo jak są dla niego użyteczne, nie ma dla niego znaczenia w jaki sposób działają. Podejście „Kowalskiego” zmienia się jednak, gdy dla jego wygody „coś” podejmuje za niego decyzję. Człowiek zbyt bardzo lubi poczucie wolności, by oddać je bez pytania „dlaczego?”. Problem nieprzejrzystości poznawczej systemów SI, staje się zatem istotny dla całej ludzkości.

    Poza tym, zrozumienie „szklanej skrzyni” jaką jest SI, jak każde odkrycie, doprowadziłoby do rozwoju wielu nawzajem napędzających się nauk. Nawet, jeśliby uznać informatykę za dziedzinę odpowiadająca na praktyczne „jak” – algorytmy, błędne byłoby stwierdzenie, że odpowiedź na czysto teoretyczne „dlaczego” nie doprowadzi do rozwoju tej nauki, ponieważ wiedza „jak” i wiedza „dlaczego” zawsze nawzajem się napędzają.

    Obserwując rozwój nauki można stwierdzić, że nasze zdolności poznania naukowego stale się rozszerzały, co jeżeli jednak napotkaliśmy na barierę naszego poznania. Czy nie sprawia to, że jakakolwiek próba zrozumienia jest bezsensowna?

    To zmusza nas również do zastanowienia, czy powinniśmy korzystać z wiedzy pragmatycznej, jeżeli jednocześnie tworzy ona wyrwę z „wiedzą faktów”. Jeżeli odpowiemy na to pytanie przecząco i chcemy jednocześnie maksymalizować „wygodę” „Kowalskiego” otrzymamy kolejny argument przemawiający, za istotnością wiedzy typu „dlaczego”. Gdy odpowiemy, inaczej to korzystając z wiedzy pragmatycznej bez dokładnego zrozumienia wewnętrznych zależności godzimy się na potencjalne zagrożenia, o których nie mamy żadnego pojęcia.

  5. Paweł J pisze:

    Również zgadzam się z tezami i ich rozwinięciami Pana k-m i Pana Michała Ł. Chciałbym jednak skupić się na pytaniach zawartych na początku rozmowy i przedstawić mój tok rozumowania w tej kwestii.

    Wydaje mi się, że problem nieprzejrzystości poznawczej jest dla informatyków jak najbardziej istotny. Bardzo często zadaniem informatyków jest optymalizacja, odtworzenie już istniejących algorytmów, bądź przystosowanie ich do bardziej indywidualnego działania. Widzimy zatem, że informatyk powinien mieć „wiedzę jak”, natomiast „wiedza dlaczego” nie jest obowiązkowa, lecz jest bardzo przydatna, gdyż mogłaby na przykład pozwolić na usprawnienie danego algorytmu. Chciałbym jednak jeszcze przeanalizować kiedy dochodzi do tej nieprzejrzystości poznawczej. Do wyjaśnienia pojęcia czarnej skrzynki chciałbym skorzystać z artykułu przytoczonego przez Pana Doktora Pawła Stacewicza https://towardsdatascience.com/the-black-box-metaphor-in-machine-learning-4e57a3a1d2b0

    „The black box metaphor dates back to the early days of cybernetics and behaviourism, and typically refers to a system for which we can only observe the inputs and outputs, but not the internal workings.”

    Widzimy zatem, że w odniesieniu do kontekstu algorytmicznego miałoby to miejsce w sytuacji, gdy algorytm nie jest wykonany przez nas i nie mamy do niego dostępu, a jedyne co znamy to dane wejściowe i wyjściowe. Zakładając jednak, że mamy dostęp do całego algorytmu, wydaje mi się, że niezależnie od jego złożoności bylibyśmy w stanie odtworzyć jego postępowanie nawet jeżeli mamy do czynienia z SI – tutaj poziom skomplikowania jest bardzo wysoki, ale wydaje mi się, że jest możliwe odtworzenie działania i otrzymanie odpowiedzi na pytanie jak i dlaczego. W przypadku, gdy nie mamy dostępu do danego algorytmu, w momencie kiedy daje nam zadowalający wynik nie sądzę żeby problemem było nie posiadanie pełnej wiedzy o jego działaniu, a w przypadku błędnego działania powinna być możliwość zgłoszenia błędu do osoba upoważnionej, która będzie miała wgląd i możliwość jego naprawy.

    Wracając zatem do tematu nieprzejrzystości poznawczej wydaje mi się, że w naszym przypadku dotyczy kwestii dostępu do danych algorytmów i rozwiązań, kompetencji osoby, która byłaby w stanie zrozumieć skomplikowane algorytmy, jak i czasu jaki trzeba by poświęcić na odtworzenie działania danego algorytmy nauczania maszynowego, aby zdobyć wiedzę dlaczego.

  6. bm pisze:

    Osobiście uważam, iż wiedza “jak” jest równie istotna jak wiedza “dlaczego”, ponieważ są ze sobą ściśle powiązane, ale dzisiaj te dwa pytania tracą na ważności wobec rosnącej popularności algorytmów ewolucyjnych. Odnosząc się do wypowiedzi przedmówców, w szczególności pana Bartłomieja B, uważam iż prawdą jest, że ludzie otaczają się coraz większą ilością czarnych skrzynek, i żyją w błogiej nieświadomości tego, jak one działają. Ale coraz częściej dzieje się to też bez świadomości użytkowników.

    Wracając na chwilę do początku mojej wypowiedzi, wiedza “jak” nie może istnieć w pustce, tzn. nie może istnieć bez wiedzy “dlaczego”, i vice versa. Odniosę się tutaj do tekstu Donalda Knutha, który twierdzi, iż informatyka jest zależna od matematyki w takim samym stopniu, w jakim matematyka jest zależna od informatyki – podobnie jak wiedza praktyczna jest zależna od teoretycznej, a teoretyczna jest zależna od praktycznej. Jest to wszystko ze sobą ściśle powiązane. Rozwiązując zadanie matematyczne kierujemy się algorytmami mówiącymi “jak” – kierują nas one krok po kroku do rozwiązania. Są one jednak ściśle powiązane z pytaniem “dlaczego”. Rozwiązania takich zadań wynikają ściśle z wiedzy teoretycznej – tutaj własności matematycznych elementów użytych w zadaniu. Z kolei ta wiedza teoretyczna powstała w wyniku istnienia praktycznego rozwiązania problemu – ktoś kiedyś natknął się na problem i postanowił znaleźć jego rozwiązanie w oparciu o swoją wiedzę, nieraz odkrywając nową wiedzę.

    Dzisiaj, przy coraz szerszym zastosowaniu algorytmów ewolucyjnych, czyli sztucznej inteligencji, a w szczególności uczenia maszynowego, znacznie ważniejszą rolę odgrywa wiedza “jake są dane” oraz “jakie są wyniki”. Dużo problemów daje się rozwiązać tworząc algorytmy, w przypadku których ich twórca nie jest w stanie powiedzieć ani “jak”, ani “dlaczego”. Jedyne informacje którymi dysponuje są dane które zostały użyte do wytrenowania algorytmu – uprzednio wspomniane “jakie są dane” oraz “jakie są (spodziewane) wyniki”.

    Tworzone w ten sposób algorytmy są dzisiaj wszędzie. Otwierając media społecznościowe, dokonujemy interakcji z przynajmniej jednym algorytmem, którego danymi wejściowymy są “posty”, a wyjściowymi “czy użytkownik kliknął czy nie”. Wyszukując w informacji internecie, dokonujemy interakcji z algorytmem który mając do dyspozycji dane użytkownika, oraz to czego użytkownik szuka, ocenia które z wybranych wyników są tymi, których użytkownik oczekuje. Jednak autorzy tych algorytmów nie są w stanie powiedzieć ani “jak”, czyli jakie kryteria są użyte do wybrania takiego postu lub linku, a nie innego, ani “dlaczego”, czyli czemu konkretnie informacje którymi taki algorytm dysponuje prowadzą do podjętej konkluzji. Interakcji z takimi algorytmami dokonujemy nie tylko w podanych wyżej sytuacjach – na większości stron internetowych można znaleźć skrypty analityczne oraz przyciski typu “Udostępnij” czy “Lubię to”, które zbierają informacje o tym, że użytkownik odwiedził taką stronę, czy kliknął taki przycisk, etc. Te informacje są potem wykorzystywane do napędzania wspomnianych algorytmów decydujących które posty czy linki zaprezentować użytkownikowi, kiedy ten o to poprosi. Co więcej, niekiedy wcześniej wspomniane decyzje podejmowane są nie przez jeden, a przez cały szereg algorytmów, których wyniki są następnie interpretowane przez inne algorytmy, co czasem tworzy ogromne drzewo algorytmów zbudowanych o pytania “jakie są dane” oraz “jakie są wyniki”, a w przypadku których nikt nie jest w stanie powiedzieć ani “jak”, ani “dlaczego”.

  7. Paweł Stacewicz pisze:

    Szanowni Państwo, bardzo DZIĘKUJĘ za wczorajszą dyskusję “na żywo”.

    W formie podsumowania jednego z poruszanych wczoraj wątków — tj. nieprzejrzystości poznawczej algorytmów/programów/systemów w kontekście wyjaśniania generowanych przez nie wyników/decyzji — chciałbym odnieść się do trzeciego z pytań sformułowanych we wpisie, tj. “Jakie czynniki wywołują i potęgują problem nieprzejrzystości?”.

    Oto lista czynników (z jednym małym dodatkiem –> punkt 4), o których wczoraj rozmawialiśmy:

    1. [Złożoność strukturalna]. Zbyt duża złożoność układu przetwarzającego dane (np. ogromna liczba reguł w systemie eksperckim lub połączeń między neuronami w sieci neuropodobnej) może powodować trudności z wyodrębnieniem tych elementów, które wpłynęły istotnie na wygenerowanie konkretnego wyniku. Ponadto, jeśli układ wchodzi w dynamiczne interakcje ze swoim środowiskiem, w wyniku czego jego struktura wewnętrzna zmienia się, to identyfikacja elementów istotnych, dokonywana post factum, może być w ogóle nieosiągalna.

    2. [Uczenie się]. Jeśli system informatyczny doskonali swoje działanie (a niekiedy: jest tworzony od podstaw) na podstawie pewnego algorytmu uczenia się, to algorytm ten może powodować dodawanie do programu sterującego systemem pewnych technicznych, trudno-interpretowalnych parametrów, które mają na celu tylko i wyłącznie efektywne działanie systemu (np. dopasowanie jego sposobu działania do pewnych przykładowych par [dane, oczekiwany wynik]. Efekt nieprzejrzystości jest tym większy, im szerzej na etapie uczenia się są wykorzystywane wybory losowe. Ich losowy charakter sprawia, że finalna struktura systemu kształtuje się w sposób nieprzewidywalny, a to powoduje, że nawet twórca systemu może nie rozumieć wpływu poszczególnych elementów na generowane przez system wyniki.

    3. [Naśladowanie natury]. Za nieprzejrzystość systemu może odpowiadać fakt, że tworzy się go na wzór pewnych nie dość dobrze poznanych układów naturalnych, jak komórki biologiczne, mózgi, ewoluujące gatunki (itp…) – przyjmując po prostu, że układy takie działają w przyrodzie wystarczająco efektywnie. Ponieważ działanie takich układów (w tym: ludzkiego mózgu), a także wpływ ich wewnętrznych zmian na obserwowane zachowania, wciąż jest przedmiotem badań naukowych i daleko nam do pełnego zrozumienia wielu zależności, to systemy konstruowane na podobieństwo układów naturalnych dziedziczą niejako ich pierwotną nieprzejrzystość. Obserwacja ta dotyczy, na przykład, pewnych typów sztucznych sieci neuronowych.

    4. [Operowanie na danych niepewnych]. Jeśli system operuje na danych, które są obarczone pewnymi stopniami niepewności, to procedura dochodzenia do finalnej decyzji, nawet w ramach symbolicznych metod reprezentacji wiedzy, jest bardzo nieintuicyjna. Stopnie (nie)pewności wpływają na decyzje cząstkowe w sposób nieoczywisty – np. zgodnie z arbitralnymi regułami logiki rozmytej. Wyjaśnienie ostatecznej decyzji, wybieranej spośród wielu hipotetycznych rozwiązań o różnych stopniach pewności, zależy od tego, jaki mechanizm propagacji niepewności (statystyczny, oparty na logice wielowartościowej, oparty na logice rozmytej…) zastosowano. Wobec możliwości wyboru wielu rożnych mechanizmów wyjaśnienie ostatecznej decyzji nie jest jednoznaczne.

    5. [Brak procedur translacji]. W przypadku wielu systemów (w tym: sztucznych sieci neuronowych) nie mamy do dyspozycji wiarygodnych reguł translacji reguł niskiego poziomu (tworzonych często w drodze uczenia się) na przejrzyste znaczeniowo reguły symboliczne. Sytuacja taka występuje wówczas, jeśli uczenie się przebiega tylko i wyłącznie na poziomie operacyjnym, nie angażuje żadnych struktur symbolicznych wyższego poziomu, a polega na „dopasowywaniu” struktury operacyjnej (np. wag połączeń międzyneuronalnych wewnątrz sieci neuronowej ) do decyzji wymuszanych przez nauczyciela lub środowisko.

    Jeśli ktoś chciałby tę listę skorygować, uzupełnić, skrytykować… lub w jakikolwiek sposób skomentować, to BARDZO PROSZĘ :) …

  8. km pisze:

    AD 5.
    Tak jak w przywołanym tekście (“The “black box” metaphor in machine learning”) brak mi adekwatnego odniesienia do “reprezentacji znaczeniowych”, których tworzenia się w wirtualnych strukturach cyfrowych sieci neuronowych domyślamy się. W przetwarzającej sztucznej sieci tworzą się “odwzorowania” /”abstrakcje”/ “idealizacje” które jakoś regularnie korespondują z kolei z określonymi danymi – domniemujemy to widząc regularnie trafne reakcje sieci. Z trafności tych reakcji wnosimy, że w sieci tworzą się reprezentacje znaczeniowe (określające reguły zachowania wobec danych) i że jakoś korespondują ze znaczeniem tych danych dla nas (gdy i my potrafimy podobnie trafnie na te dane reagować). I tu pojawia się nieprzejrzystość: sieci neuronowe nie potrafią wyrecytować nam regułki, opowiedzieć o teorii tłumaczącej dlaczego podstawiają do wzoru – stąd brak zaufania, że rozumieją tak jak my (nawet jeśli nie potrafimy przyłapać ich na nieprawidłowym zastosowaniu się do reguł).
    Struktury ludzkich sieci (i naszych ewolucyjnych przodków) “tresowane były” wieloma danymi, które mogą mieć wpływ na nasze rozumienie danych, które prezentujemy sztucznym sieciom, więc nasze rozumienie może być inne – filozofowie postulowali od dawna istnienie “podstawowych kategorii poznania” filtrujących wszelkie dane przedstawiane ludzkiemu pojęciu. Brak tego umysłowego tła może być problemem przy nadzwyczajnej zmianie stosunków danych – jak w przypadku sytuacji gdy automaty kierujące samochodem “głupiały” widząc rower na dachu innego auta (rozpoznawały rower i nie wiedząc, że może on nie być pojazdem a jedynie bagażem hamowały przekonane o niechybnej kolizji). Dając prawo jazdy człowiekowi możemy ufać, że (nawet jeśli nigdy nie widział dachowego bagażnika na rowery) zrozumie właściwie taką sytuację.
    (Trudno tu jednak rozstrzygnąć po stronie której sieci neuronowej – sztucznej czy mózgu ludzkiego – leżą nieprzejrzyste/ niezwiązane z kierowaniem pojazdem/ wpływy na tą umiejętność)

  9. Paweł Stacewicz pisze:

    Już spieszę z dodatkowymi wyjaśnieniami dotyczącymi reprezentacji wiedzy w ramach sztucznych sieci neuronowych, tzw. reprezentacji koneksyjnych.

    Oto fragment pewnego mojego tekstu, który dotyczy nieprzejrzystości poznawczej koneksyjnych reprezentacji pojęć (pojęć – czyli podstawowego elementu każdej wiedzy):

    “Właściwą reprezentacją pojęcia w ramach konkretnej sieci, tj. sieci o ustalonych funkcjach neuronów i ustalonej topologii połączeń, jest całościowy rozkład wag połączeń międzyneuronalnych. Konkretną wagę można interpretować jako przepustowość lub siłę łącza: sygnał przechodzący przez dane łącze, a następnie dochodzący do neuronu, jest zwykle mnożony przez przypisaną doń wagę, co oznacza, że jest on wzmacniany lub osłabiany. Całościowy rozkład wag decyduje o tym, w jaki sposób (m.in. z jaką siłą) sygnał wejściowy sieci jest propagowany przez kolejne jej neurony, ostatecznie zaś o tym, z jaką siłą generują swoje sygnały neurony wyjściowe sieci. Matematycznie rzecz biorąc, ów całościowy rozkład jest zbiorem N liczb z pewnego przedziału, gdzie N jest liczbą (zazwyczaj bardzo wielką!) połączeń między neuronami. Mamy zatem do czynienia z reprezentacją czysto ilościową, niesymboliczną, rozproszoną w ogromnym zbiorze połączeń między węzłami sieci.

    Ze względu na wskazane cechy reprezentacje koneksyjne są poznawczo nieprzejrzyste. Wyjaśnieniem podjętej decyzji kategoryzacyjnej jest zawsze rozproszony układ wag (liczb), które same w sobie nic nie znaczą. Mówiąc zaś dokładniej, mają „znaczenie” czysto lokalne: decydują o tym, z jaką siłą pewne rozproszone w sieci sygnały dochodzą do poszczególnych neuronów. Całościowa konfiguracja tychże wag również nie niesie ze sobą żadnego bezpośredniego znaczenia. Kształtuje się ona w drodze długotrwałego treningu sieci, który polega na takim dostrajaniu rozproszonych wag międzyneuronalnych, aby sieć reagowała poprawnie (np. zgodnie z oczekiwaniami eksperta) na prezentowane jej bodźce, czyli pewne kombinacje wartości wyróżnionych cech. Sama finalna konfiguracja wag nie określa jednak żadnego bezpośrednio zrozumiałego warunku, który wiązałby wspomniane cechy i pozwalał człowiekowi uchwycić istotę reprezentowanego przez sieć pojęcia.”

    Temat sieci możemy oczywiście kontynuować…

    • km pisze:

      Właśnie zorientowałem się, że to zdanie jest mylące:
      „Całościowa konfiguracja tychże wag również nie niesie ze sobą żadnego bezpośredniego znaczenia.”
      To,
      że człowiek nie potrafi uchwycić „istoty reprezentowanego przez sieć pojęcia”,
      że człowiek nie potrafi zrozumieć bezpośrednio jak “finalna konfiguracja wag” określa reguły działania,
      nie oznacza, że nie zawiera się w tej konfiguracji wag znaczący warunek.
      – Wręcz przeciwnie:
      skoro dana SSN trafnie rozwiązuje jakiś problem, to (znaczy, że) jej konfiguracja określając regularnie prawidłowe zasady działania „znaczy co trzeba robić” (w danych okolicznościach).

      Wracając do przywołanego we wstępie do dyskusji starego komentarza:
      Skoro reguły działania (reguły kodu maszynowego/ zasady działania poszczególnych elementów SSN) są zrozumiałe („lokalnie”) to znaczy, że problemem jest „moc obliczeniowa” i „pamięć operacyjna” Umysłu który nie jest w stanie pojąc ich „globalnego” znaczenia.
      Fałszywym jest przecież przekonanie, że każdy złożony problem będzie miał proste rozwiązanie – jest chyba inaczej. Rozwiązanie może być być bardzo skomplikowane, uwarunkowane tysiącami „wag” rozproszonych w splątaniu zależności, które trzeba równolegle ująć i nie dające się „znacząco” uprościć.

      Może pozostanie nam „szturchać” mądrzejsze od nas maszyny by starać się zrozumieć choć fragmenty?

  10. km pisze:

    Myślę że Doktor bardzo elegancko przedstawił formalne/techniczne ujęcie możliwego wyjaśniania (skutecznego) działania SSN, ale mi chodzi raczej o intuicyjną ekspozycję problemu związanego z tym, że automaty nie potrafią przedstawić “przekonującej narracji” (w domniemaniu) stojącej za statystyczną trafnością ich działań.

    Nawet jeśli teoretyczne tłumaczenia (ludzkiego) eksperta trafności jego działań są jedynie “fikcjami sprzyjającymi rozumieniu”, to przedstawiają one ‘dane’ w szerszym kontekście (uwikłań) ludzkiego pojmowania – wskazując, możliwe reakcje tegoż specjalisty na zupełnie inne okoliczności. Tłumaczący swe działania ekspert przedstawia się jako “rozumiejący” nie tylko daną regułę ale i zdolność do jej meta-ujęcia i umieszczenia w “ludzkiej perspektywie” (czy to naukowca znającego inne teorie, więc potrafiącego w “razie czego” z nich skorzystać, czy też posiadacza “zdrowego rozsądku” rozpoznającego to, że rower na bagażniku dachowym nie zajedzie mu drogi).

    Nic chyba nie wskazuje, że kiedyś i SSN nie będą potrafiły tak bronić swych decyzji – “przekonująco o nich opowiadając”.

    Nie uważam też, że ludzie będą się domagać tego by algorytmy przedstawiały im swe decyzję w ujmujących “narracjach”.

    Nie twierdzę także, że powinniśmy przed dopuszczeniem automatów do działań w środowisku o tak wielu “stopniach swobody” – jak w przypadku sterowania pojazdami w ruchu drogowym – poddawać je testowi Turinga… Ale ale może powinniśmy?

  11. Problem „czarnej skrzynki” kojarzy mi się z mechaniką kwantową, gdzie formalizm jest w pełni ustalony i potwierdzony doświadczalnie, ale istnieją dziesiątki rywalizujących interpretacji na temat tego co ów formalizm odzwierciedla w Rzeczywistości. Dla wielu fizyków nie stanowi to problemu. Interesuje ich wyłącznie to czy teoria zgadza się z praktyką. Dla mnie jednak to nie wystarczające. Jedną z głównych motywacji do zajmowania się nauką jest aby zrozumieć świat, nie tylko wiedzieć jak się zachowuje. Zatem sądzę, że jest to istotny temat.
    Z drugiej jednak strony zależy też o jakim systemie uczenia maszynowego mówimy i z jakiej perspektywy na niego patrzymy. Na co dzień pracuję jako programista i wiem, że jeżeli system działa poprawnie i nie należy go zmieniać, to nikt nie interesuje się jego kodem źródłowym. Poza tym często jest on tak zagmatwany, że trzeba by spędzić dużo czasu i wysiłku aby go zrozumieć – nikt się do tego nie pali. Stąd wiem, że z punktu widzenia świata inżynierii i biznesu brak przejrzystości poznawczej nie stanowi głównego problemu – najważniejsze żeby system działał poprawnie.
    Problem zaczyna się kiedy system nie działa poprawnie lub jest niewydajny i należy go poprawić. Wówczas bez wątpienia przejrzystość poznawcza znacznie ułatwia pracę analitykom i inżynierom we wdrożeniu poprawek. W klasycznych systemach informatycznych odpowiednikiem przejrzystości poznawczej jest czystość kodu – jego czytelność, modularność, posługiwanie się właściwymi wzorcami projektowymi i zasadami. Czysty kod jest łatwy w zrozumieniu i modyfikacji. Kiepski kod z kolei jest bardzo trudny w modyfikacji, a zatem i ryzyko z tym związane jest większe. Podobnie sądzę, sprawa ma się z uczeniem maszynowym – jeżeli bardzo trudno jest zrozumieć dany model, to również bardzo trudno jest go zmodyfikować np. w celu wyeliminowania błędów. Zatem przejrzystość poznawcza ma znaczną praktyczną wartość.

  12. Łukasz M. pisze:

    Chciałbym odnieść się do problemu nieprzejrzystości z punktu widzenia całej inżynierii. Według mnie świadomość tego w jaki sposób realizowany jest jakiś proces, obliczenia, bądź zjawisko odróżnia specjalistów od innych osób. Przykładem mogą być obliczenia inżynierskie związane z symulacją procesów fizycznych. Zazwyczaj tego typu obliczenia realizowane są w specjalnie do tego przygotowanych oprogramowaniach inżynierskich. Tego typu narzędzia można obsługiwać bez większej świadomości tego co dzieje się wewnątrz. Taka “czarna skrzynka” w większości zwróci nam wyniki zgodne z naszymi przewidywaniami, które uznamy za dobre. Jednakże specjalista, który wie jak realizowany jest dany proces obliczeniowy, będzie mógł wychwycić wszelkiego rodzaju błędy i ograniczenia związane z otrzymanym wynikiem.

    Moim zdaniem jeśli bierzemy pod uwagę jakiś proces, którego błędny wynik nie będzie miał większego znaczenia (np jakość dopasowania muzyki do gustu słuchacza w serwisie streamingowym), to jak najbardziej możemy korzystać z danego narzędzia jak z “czarnej skrzynki”. Jeżeli natomiast realizujemy obliczenia związane z bardzo złożonym problemem, gdzie wyniki obliczeń mogą mieć przełożenie na ogólnie pojęte “bezpieczeństwo”, to znajomość tego jak realizowany jest dany proces, bądź obliczenia, może mieć bardzo duże znaczenie.

  13. Adam M pisze:

    Moim zdaniem wartość algorytmów „jak” dalece przewyższa znaczenie algorytmów „dlaczego”.
    Sztuczna inteligencja osiąga zdecydowanie większą prędkość nauki od ludzi. Algorytmy otrzymujące rozwiązanie będą brały pod uwagę znaczenie więcej danych wejściowych niż gdyby były przeprowadzane przez ludzi. Jeśli wynikiem tych obliczeń będzie zysk dla nas sądzę, że nie zawahamy się i będziemy korzystać z tych rozwiązań nawet jeśli nie będziemy rozumieli „dlaczego”.
    Ludzie mają nieodpartą potrzebę zrozumienia otaczającego nas świata. Nie wszystkich zadowoli tylko wynik lub rozwiązanie. Oczywiście, że znajdą się specjaliści którzy poświęcą swój czas, aby odgadnąć „dlaczego”. Ale dla pospólstwa, które w codziennym życiu korzysta z „czarnych skrzynek” znaczenie ma tylko i wyłącznie rezultat. Nawet specjalista w dzisiejszych czasach jest specjalistą tylko w jednej lub dwóch dziedzinach.
    Duże znaczenie na decyzje o użyciu algorytmów „jak” bez znajomości „dlaczego” będzie miała dziedzina w której będą używane. Jeśli to będzie biznes, pewnie zostaną użyte bez zawahania. Jeśli będą miały wpływ na zdrowie czy bezpieczeństwo na pewno najpierw podjęte będą próby zrozumienia. Ale jeśli użyjemy algorytmów SI i otrzymamy negatywne skutki to użyjemy SI do znalezienia rozwiązań tych skutków.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *