2010. december 3.

Tudományfilozófia, gépi tanulás és nyelvészet - egy nem is annyira különös találkozás

Előző posztomban a tudományfilozófia és a szemantikus web közös kérdéseit jártam körbe, és amellett próbáltam érvelni hogy a deduktív érvelés határait érdemes figyelembe venni. Most az induktív megközelítés problémáit próbálom meg körüljárni, és ismét a tudományfilozófiát hívom segítségül. Az ún. gépi tanulás statisztikai módszerekkel próbál meg egy adattömegben "rendet vágni" és használható tudást kinyerni. Ebben közel áll a tudományos tevékenységhez (ahol adatot gyűjtünk, leíró statisztikát készítünk és megpróbálunk összefüggéseket találni, elméleteket gyártani). Azt korábbi írásomban röviden bemutattam miképp számolta fel önmagát a klasszikus logikai megközelítésen alapuló tudományfilozófia és fordult át tudományszociológiába. Azonban a történet itt nem állt meg. A múlt század negyvenes éveiben megjelent egy irányzat ami a tudományos tevékenység igazolási kontextusa helyett a kutatási módszerek vizsgálatára helyezte a hangsúlyt, azaz az indukció problémájára.




Az indukció problémája
Vegyük a klasszikus arisztotelészi példát:
1. Minden ember halandó.
2. Szókaratész ember.
K: Szókratész halandó.
Ezt érvényes következtetési sémának fogadjuk el, hiszen a
1. ∀xEx -> Hx
2. ∃yEy
K. Hy
sémát követi. Vegyük alapul az alábbi következtetést:
1. Eddig minden reggel felkelt a nap.
2. Holnap is lesz reggel.
K. Holnap is fel fog kelni a nap.
Ha első látásra hasonlónak tűnik a két példa gondolkodjunk el rajta mi jobban mi is a különbség. A logikában járatos olvasónak feltűnt hogy univerzális és egzisztenciális kvantorokat használtam. Nem véletlenül, a logika törvényei ugyanis mindig általánosak! Az egyedi nem érdekli a logikusokat (tudományos szempontból), nem érdekli őket hogy igaz-e hogy minden ember halandó, az se hogy Szókratész ember-e vagy sem. A lényeg hogy ha igaz hogy minden ember halandó és az hogy Szókratész ember, akkor igaznak kell lennie annak hogy Szókratész halandó. A második példában azonban van egy érdekes momentum, az idő. Az hogy eddig minden reggel felkelt a nap, csak annyiban univerzális, amennyiben a múltra vonatkozik. Ha eszköztárunkat kibővítjük és képessé tesszük az idő kezelésére, akkor sem kapunk a sémánkkal összemérhető érvényességű következtetési eszközt.

A filozófusok (legalábbis az analitikus fajta) szeretik a gondolatkísérleteket. Képzeljünk el egy bányát ahol gyémántot termelnek ki, ennek a gyémántnak adnak egy szép nevet; zöké. Hogy miért ezt a nevet kapta a gyémánt? Mert a bányában t időpontig minden gyémánt ami előkerült az zöld volt, azonban a t időpont után már csak kék gyémántokra leltek. Nos a fenti következtetést alkalmazva a t időpont előtt arra jutunk hogy minden gyémánt amit találunk zöld lesz. Mi történik t időpontban? Megdől ez az elméletünk. Mivel ezek után már csak kék gyémántok kerülnek elő ugyanaz a következtetés arra vezethet minket hogy kék gyémántok kerülnek elő a bányából. De a tudjuk hogy t időpont előtt meg csak zöld drágaköveket találtak a bányászok. Az okos marketingesek ezért találták ki a zöké terminust, hiszen remekül leírja a gyémántot. De ha olyan jó a következtetési szabályunk, miért nem jött szóba a zöké rögtön az elején. Mennyire lehet szabálynak tekintetni valamit amit felülírhat egy ilyen esemény? Mi most nyitva hagyjuk ezt a kérdést, az érdeklődő olvasó forduljon Nelson Goodman írásaihoz.

Zárjuk ezt a részt azzal hogy eláruljuk hogy miben látják sokan a két érvelés közötti különbsége: az első univerzális állítás, a második pedig okságot tételez fel. Azzal ha elfogadjuk hogy "Ha esik, akkor fúj" nem azt mondjuk hogy "az eső okozza a szelet", hanem elfogadjuk hogy univerzálisan, azaz mindig igaz hogy ha esik, akkor fúj a szél. Azonban az a megállapítás hogy "eddig minden esetben ha esett, akkor fújt is", egy tapasztalati megállapítást teszünk és ahhoz hogy igazoljuk hogy ha holnap esni fog akkor szél is fog fújni, akkor bizony nem a logika eszközeihez kell nyúlnunk. Ezt nevezik a filozófusok Hume, vagy az indukció problémájának.

Tudományfilozófia mint metatudomány
Az előző posztban már említett Popper a falszifikációt, azaz a cáfolhatóságot tekintette a tudományos tudás megkülönböztetőjegyének. Ez nem jelent mást minthogy egy valamire való tudományos elméletet bárki megcáfolhat, hiszen az hogy milyen adatokból, milyen módszerekkel jutott valaki egy következtetésre nyílt titok, minden publikációból megismerhető (ha nem is explicit módon, de a szakma művelői számára gyakran nem kell mindent leírni). Említettük hogy ez az irányzat azonban megfeneklet, mivel nem tudta megadni pontosan mi különíti el a tudományos tudást az emberi ismeretek más formáitól. Míg egyesek azt kezdték el kutatni hogy ha nem belső erők határozzák meg a tudományt, akkor milyen külső tényezők játszanak ebben szerepet, addig egy másik irányzat arra fektette a hangsúlyt hogy milyen módszert alkalmaznak a kutatók, az mennyiben megbízható és hol vannak ennek határai.

Ez pedig nem más mint az indukció problémája, hiszen a tudomány egyedi megfigyelésekből következtet általános tendenciákra. Gyakorlati szempontból nézve a tudomány nyilvánvalóan eredményeket hoz. Akkor hát miért vizsgáljuk? Egyrészt tudjuk hogy mindent lehet jobban csinálni. Gondoljunk a meteorológiára, milyen jó lenne ha pontosabb és hosszabb távra szóló előrejelzéseket tudna nekünk adni egy időjós. Másrészt napjainkban a tudomány áthatja mindennapjainkat. Nem csak arra gondolok itt hogy technikai eszközökkel vesszük magunkat körül, hanem arra hogy az orvoslástól a tanmenetek meghatározásáig, táplálkozásunktól a helyi üzem engedélyeztetéséig mindent tudományos alapon közelítünk meg. Nagyon sok múlik azon hogy miképp tekintünk az okság fogalmára, mennyiben tudunk ránézni a tudományos kutatásokra, mennyire bízhatunk meg az alkalmazott módszerekben stb. A tudományfilozófia épp ezzel foglalkozik.

Jelen vizsgálódásunk szempontjából két dolgot érdemes megjegyeznünk. Először is az egyes tudományágak előfeltevéseit és módszereit tudjuk vizsgálni, hiszen nincs olyan hogy tudós, csak vegyészek, biológusok, stb vannak. Így egyrészt a philosophy of X irányzat hódít (annyira hogy pl a fizika filozófiája [philosophy of physics] szinte megkülönböztethetetlen az elméleti fizikától - művelői pedig fizikusok, persze megfelelő filozófiai műveltséggel felvértezve). Ennek a töredezettségnek az oka abban keresendő hogy nem sikerült egy olyan elméletet kidolgozni ami a TUDOMÁNYT mint egészet segít megérteni. Így az egyes tudományok filozófiái próbálják feltérképezni milyen belső és külső tényezők határozzák meg a tudományos tudás létrejöttét. Másodszor pedig a figyelem a rekonstrukcióról áthelyeződött a metodikára. Habár az egyes tudományok különbözőképpen értelmezik világunkat, mást tekintenek pl populációnak (emberek, állatok, növények, természeti jelenségek), de következtetéseiket hasonló eszközökkel próbálják meg feltárni. Olyan rejtett összefüggéseket keresnek, melyek magyarázó erővel bírhatnak egy jelenség leírásában és ehhez valószínűségi/statisztikai eszközöket használnak. A metodika leírásán túl a tudományfilozófusokat az is érdekli hogy mennyiben tekinthető egy ilyen viszony okságinak. Ilyen kérdés pl hogy mit értünk a mögött hogy A esemény B okozója mivel statisztikailag szignifikáns korreláció áll fenn A és B között? Hogyan döntjük el hogy mit keresünk és milyen adatok között áll fent tényleges oksági reláció. Gondoljuk végig hogy tényleg oksági viszony áll-e fent ha a falvak születési rátája és az ott található gólyafészkek száma korrelál? Maradjunk a gólya mesénél tudományos alapon, vagy azért továbbra is maradjunk meg a felvilágosítás eddig bevett módjánál?

Gépi tanulás
A Wikipedia meghatározása szerint "Machine learning is a scientific discipline that is concerned with the design and development of algorithms that allow computers to evolve behaviors based on empirical data, such as from sensor data or databases. A learner can take advantage of examples (data) to capture characteristics of interest of their unknown underlying probability distribution. " Nem akarom eröltetni a párhuzamot, de sokan vannak akik szerint ez bizony közel áll a tudományos tevékenységhez, vegyünk egy szép idézetet:

"the two disciplines are, in large measure, one, at least in principle. They are distinct in their histories, research traditions, investigative methodologies; however, the knowledge which they both ultimately aim at is in large part indistinguishable." (Kevin B. Korb: ‘Machine learning as philosophy of science’, in K. Korb & H. Bensusan (eds.): ‘Proceedings of the ECML-PKDD-01 workshop on Machine Learning as Experimental Philosophy of Science’, Freiburg )
A gépi tanulás nem mást próbál meg mint egy adathalmazban összefüggéseket találni, olyanokat amiket mi emberek nem látnánk meg és nem is lennénk elvégezni a szükséges számításokat. Azonban nem minden adat egyforma; egy kis kutakodás a neten elég arra hogy megtudjuk bizony több gépi tanulási alogritmus van; mégpedig attól függően hogy mire szeretnénk használni. Miről árulkodik ez nekünk? Ahogy a GPS ideája (amin itt general problem solver-t értünk) nem bizonyult működőképesnek a gyakorlatban, úgy a gépi tanulás sem lehet vak a feladatra vonatkozóan. Nincs tabula rasa amit egy jó algoritmus megtölt, valamit el kell árulnunk az algoritmusnak arról hogy "mit adunk neki". A tudományfilozófia és a gépi tanulás egyre intenzívebb kapcsolata ezzel a kérdéssel foglalkozik legintenzívebben manapság. De mi itt most elkanyarodunk a nyelv felé, az olvasó a poszt végén találhat pár érdekes olvasni valót ha el szeretne mélyedni a témában.

Nyelv és gépi tanulás
Képzeljük el egy dühös és gonosz nyelvészt és egy túlbuzgó informatikust. A túlbuzgó informatikus előállít egy csodás gépi tanuláson alapuló rendszert ami, legalábbis alkotója állítása szerint, képes megfelelő számú inputból kikövetkeztetni a az adott nyelvhez tartozó grammatikát. Ekkor elmegy a dühös nyelvészhez és elmondja neki hogy mit alkotott, és kéri mutasson neki különböző nyelveket és csodálkozzon hogy milyen szépen kitalálja a rendszer az azokhoz tartozó nyelvtanokat. El is henceg vele hogy "Lám komám, nincs már rád semmi szükség, az én algoritmusom bizony tiszta matematika és számítástudomány, a nyelvészetre nem is gondoltam amikor megalkottam a rendszert." Nyelvészünk szokásához híven dühös lesz. "Nem!? Akkor a grammatika mi ha nem nyelvészet? Miket is néz ez a rendszer? Szavakat, szerkezeteket stb, nem?" Informatikusunk egy percet habozik, de előáll a válasszal : "Nézd, ezeket a dolgokat mindenki ismeri. Ez nem is nyelvészet, csak józan ésszel be lehet látni hogy vannak szavak és nyelvtani szabályok. Tényleg lassan tanulj ki egy másik szakmát barátom, itt neked már nem teremhet babér!" Nyelvészünk gonosz is ezért ajánl egy fogadást túlbuzgónak: "Ha sikerül bebizonyítanom hogy nem képes minden nyelvhez grammatikát rendelned, akkor viszont te nekem fogsz ezután dolgozni. Ha nem sikerül, akkor elmegyek utcaseprőnek." Informatikusunk mosolyogva kinyújtja kezét, nyelvészünk pedig habozás nélkül belecsap.

Ha valaki azt gondolja elhamarkodott volt ez, nézzük mit talált ki dühös és gonosz nyelvészünk. Fogta a nyelveket amikkel eddig simán elboldogult a gép és szerkesztett egy grammatikát ami generálja az összes eddig vizsgált nyelv mondatait.  Ekkor a gépnek elkezdte szépen bemutatni az adatokat az első nyelvből, mire a rendszer megadta az első nyelv grammatikáját. Informatikusunk fel is ajánlott egy új seprűt barátjának gondolván arra hogy milyen jól fog neki az jönni az új munkahelyen. Nyelvészünk megköszönte ezt és elfogadta a seprűt, majd elővette saját grammatikáját és nevetett. informatikusunk dühbe jött "Csaltál! Az én algoritmusom joggal gondolta hogy az első nyelv grammatikájával találkozott, hiszen csak abból kapott adatokat. Igaz hogy egy nyelvhez több grammatika is tartozhat, de be kell látnod Occam borotvája is azt mondja hogy mindig a leggazdaságosabban kell megmagyaráznunk egy dolgot. Te, aki annyira odavagy a filozófiáért, ezt biztos tudod és el is fogadod". Nyelvészünk leült, elmélázott és halkan, de gonoszan annyit mondott : "Ugye egy nyelv lehetséges jólformált mondatainak halmza megszámlálhatóan véges számosságú. Te, aki annyira szereted a matematikát, bizonyára tudod hogy az első nyelv és az én nyelvem számossága megegyezik. Kérdem én akkor, ha a végtelenségig is adom algoritmusodnak a jólformált mondatokat, előfordulhat-e hogy akkor is csak egy töredékével találkozik az adatoknak és arra jut hogy az egyes nyelvvel van dolga." Informatikusunk nevet: "Nem mehetünk a végtelenségig! Ember, végesek vagyunk, véges az életünk, de a gépek is melyekkel számításainkat végzünk. Te nem vagy normális! Előbb utóbb úgyis jön egy olyan elem ami megmutatja hogy nem az első nyelvvel van dolgunk! Lásd be hogy vesztettél!" Nyelvészünk tekintete még sötétebb és gonoszabb lesz. "Rendben" - mondja - "belátom igazad van, a gyakorlatban ez biztos megtörténik belátható időn belül, de akkor is a rendelkezésre álló adatok alapján a leggazdaságosabb megoldás választja. Mondjuk hogy olyan grammatikával van dolga ami az első nyelvet és egy másodikat generál." Informatikusunk lelkesen tapsol: "Na látod. Így közelít a dologhoz. Ha már van adata a másodikról, akkor nagyon valószínű hogy egy ilyen nyelvvel van dolga. Semmi okunk egy másikat feltételezni amíg erre nincs bizonyítékunk." "Nyertem. Te eddig azt hogy a rendszered tudja melyik nyelvvel van dolga, aztán hogy valószínűsíti." Informatikusunk felpattan, becsapja maga mögött az ajtót és magában motyogva elmegy. Nyelvészünk hangosan és gonoszan kacag...

Gold elmélete
A fenti jelenet már sokszor lejátszódott. Neve is van ennek a teóriának, Gold elmélete. Ez röviden annyit mond hogy önmagában nem tudjuk kikövetkeztetni milyen grammatikával van dolgunk, rendelkeznünk kell bizonyos megszorításokkal arra nézve milyenek lehetnek ezek a grammatikák. Ha nem élünk ilyen megszorításokkal, rendszerünk becsaphatóvá válik.

Ez nem jelenti azt hogy nem lehet egy nyelv grammatikáját indukcióval kikövetkeztetni! Csak annyit mondunk hogy ez csak akkor lehetséges ha megszorításokkal élünk arra nézve hogy mit találhatunk és tisztában kell lennünk müdszerünk határaival.

További olvasni való
Gold elméletét Kent Johnson Gold's Theorem and Cognitive Science írása mutatja be a legérthetőbb módon.

Yuan Qi az MIT Media Lab zseniális kutatója egy remek, de nagyon technikai írásban próbált meg összegezni hogy a gépi tanulás milyen válaszokat adhat a tudományfilozófia kérdéseire. Questions and answers about philosophy of science, causation, and human/machine learning

Jon Williamson egy kiválló tudományfilozófus akit nagyon érdekel a gépi tanulás, érdemes olvasgatni írásait. Ha mást nem, akkor A Dynamic Interaction Between Machine Learning and the Philosophy of Science c. cikkét.

Kevin B. Korb neves mesterésges intelligencia kutató, szintén érdeklődik a téma iránt. Érdemes elolvasni Machine Learning as Philosophy of Science c. írását.

Nincsenek megjegyzések: