A mesterséges intelligencia: tévhitek, valóság és gyakorlati alkalmazás
Sokat hallhatunk és olvashatunk a mesterséges intelligenciáról (MI), illetve annak egyre gyakoribb alkalmazásáról.
A cikkben igyekszünk a köztudatban még mindig meglévő félreértéseket és félelmeket eloszlatni azáltal, hogy bemutatjuk a technológia kínálta tényleges alkalmazási lehetőségeket és azok korlátait.
Mesterséges, de nem intelligens
Az elmúlt évtizedekben kifejlesztett és a jelenleg sikeresen használt mesterséges intelligencia rendszerek nem intelligensek, legalábbis a működésük szintje, fejlettsége nem mérhető az emberi intelligenciához. Hogy mégis miért hívjuk őket „intelligenciának”? Ennek oka az, hogy maga az ötlet – hogy intelligens gépeket fejlesszünk –, illetve a „mesterséges intelligencia” kifejezés még azelőtt jött létre, hogy ilyen rendszereket ténylegesen elkezdtek volna építeni: a fogalmat először 1956-ban John McCarthy számítógéptudós által Dartmouthban szervezett konferencián használták.
Ha nem intelligensek, mégis miért használjuk? Nagyon sok olyan feladat, probléma van, amelyek esetében a hagyományos, programutasítások formájában megadott explicit szabályokból (rule-based) számítógépprogramokat nem, vagy csak nehézkesen tudnánk írni, viszont úgynevezett gépi tanuló (machine learning) algoritmusokat használva a probléma megoldhatóvá válik, vagy a feladat a „rule-based programming” elv helyett lényegesen hatékonyabban és rugalmasabban oldható meg. Az MI által kínált változatos lehetőségek közül lássunk néhány felhasználási esetet különböző iparágakból:
-
Gépjárművek diagnosztikai termináljából gyűjtött adatok alapján tendenciózus meghibásodások jelezhetők előre, és ez alapján a visszahívások hamarabb tervezhetők.
-
Iparvállalatoknál a gyártósorokról lejövő alkatrészeket intelligens kamerák figyelik és jelzik a sérült, hibás tételeket.
-
Kiskereskedelmi cégeknél intelligens rendszerek személyre szabott ajánlatokat tudnak az ügyfelek részére kidolgozni.
A fenti példákat a McKinsey tanácsadó cég által összegyűjtött 120 MI felhasználási eset közül válogattuk[1].
Rövid történelem
Az említett dartmouth-i konferencia résztvevőinek célja olyan technológiák kutatása volt, amelyek az emberi viselkedést imitálják. Fel is vázoltak egy kutatási projektet, amelyet a következő évtizedekben több más kutatási hullám követett. Ezek során hol lendületet vett, hol elakadt a mesterséges intelligencia kutatása, a rendszerek fejlesztése, mivel egyik MI-technológia sem váltotta be a hozzá fűzött reményeket. Ezek a beprogramozott szabályokon alapuló szakértői rendszerek (expert systems), tudásbázisok (knowledge bases), amelyekben az adott szakterületen meglévő emberi szaktudást (domain knowledge) képezték le, nem tudtak megfelelő mértékben új feladatokhoz, problémák megoldásához adaptálódni, valamint az explicit tudás beépítése rendkívül idő- és munkaigényes volt.
A szakértői rendszerek és a tudásbázisok mellett a jelenleg sikerrel használt gépitanuló rendszerek ötlete is már évtizedek óta ismert volt, de a tanításhoz szükséges (kellő mennyiségű) adat hiányában ezek sem terjedtek el.
A technológiából vagy éppen a limitált adatmennyiségből adódó korlátokat pedig még kiábrándítóbbá tették az egyes MI fejlesztési hullámok elején hangoztatott túlzott irreális elvárások a fejlesztés alatt álló technológiákkal szemben.
Az adat az új olaj, de az adatokat ugyanúgy „finomítani” kell mint az olajat
A mesterséges intelligencia alkalmazásának újabb, jelenleg is tartó korszaka a 2010-es években kezdődött. Ez a mostani egy nagyon izgalmas időszak, mivel először a tudományág történetében a megépített rendszerek ténylegesen teljesítik a velük szemben támasztott elvárásokat (persze nem mindig – erről még lesz szó), sőt sok olyan alkalmazás is lehetővé vált, amelyekre korábban nem gondoltunk. Ráadásul az MI képességei az alkalmazási területek és felhasználási esetek (use case-ek) szempontjából még mindig nem merültek ki.
A néhány éve zajló MI-forradalom indulását lehetővé tevő tényezők egyike az interneten elérhető, korábban elképzelhetetlen mennyiségű adat, valamint az adatok jóval költséghatékonyabban és rugalmasabban megszervezhető tárolása a felhőben, illetve az időközben megnövekedett számítási kapacitás voltak. Nem véletlen, hogy az MI alkalmazásában úttörők, és továbbfejlesztésében is élen járnak a globálisan óriási mennyiségű adatokkal rendelkező internetes cégek, mint a Google, a Facebook és az Amazon, illetve ezeknek a kínai „megfelelői” a Baidu, a Tencent és az Alibaba.
A nagy mennyiségű, rendelkezésre álló adat szükségességét azért kell hangsúlyozni, mert MI-t a gyakorlatban megvalósító gépitanuló-rendszerek sikeres, megfelelő pontosságot elérő alkalmazásához sok, sőt nagyon sok adat kell.
Tehát nemcsak az „intelligencia” kifejezés félrevezető, hanem a „tanulás” is a jelenleg működő MI-t tekintve abban az értelemben, hogy ezek a gépek nem úgy tanulnak mint az emberek – nem néhány mintapélda alapján – hanem több ezer, tízerer vagy akár milliós nagyságrendű példa kell ahhoz, hogy mondjuk egy képfelismerő (object detection) alkalmazás nagy, az emberéhez hasonló pontossággal működjön.
Ráadásul az adatokat rendszerezni, tisztítani kell, hasznos információkat, jellemzőket (feature) kell benne találnunk a gép számára, sőt az esetek többségében fel is kell cimkézni ahhoz, hogy az MI-t tanítani tudjuk vele. Ez utóbbira példa, hogy képfelismerő alkalmazás építéséhez a fotókon minden tárgyat körbe kell határolnunk és feliratoznunk kell, hogy mit ábrázol. Elsősorban Kínában és afrikai országokban vállalkozások jöttek és jönnek létre, hogy bérmunkában fotókat címkézzenek, amelyekkel például önvezető autók szoftverét tanítják vagy amelyek segítségével gyártósorról lejövő alkatrészek közül a selejtes darabokat detektáló intelligens kamerarendszereket tanítanak.
Tehát az adat az új olaj, de ahogy a nyersolajat sem tölthetjük az autónkba, az adatokat is fel kell dolgozni, hogy az MI számára felhasználhatóvá váljanak.
A tanuló algoritmusok alkalmazása
A gépitanuló algoritmusokat alkalmazhatjuk a bemenetek osztályozására (classification) két vagy több kategóriában, valamilyen függvény következő értékének meghatározására (regression, prediction), valamilyen anomália keresésére (anomaly detection) vagy egy adathalmazban hasonlóságok keresésére, hasonló adatokat tartalmazó szegmensek meghatározására (clustering).
Segítségükkel automatizálhatunk, optimalizálhatunk, illetve döntéseket hozhatunk vagy a döntéshozatalt támogathatjuk.
Minden olyan esetben célszerű lehet alkalmazni, amikor a feladat „leprogramozása”, azaz hagyományos, rule-based programot írni túl fáradságos feladat, vagy ugyan mi emberek kompetensek vagyunk a feladat megoldásában, de a program írása lehetetlenül bonyolult lenne (például a tárgyakat könnyen felismerjük, megkülönböztetjük egymástól, de ezt a képességünket nem tudjuk számítógép számára „lekódolni”), vagy eleve nem is vagyunk kompetensek benne, azaz nem ismerjük az összefüggéseket. Ez utóbbira példa egy komplex, több ezer hálózatelemből álló távközlési hálózatban annak előrejelzése, hogy milyen esetekben állhat elő forgalomtorlódás, vagy hogy a hálózatelemek milyen működési kombinációja utalhat rendellenességre, későbbi meghibásodásra.
Fontos, hogy az MI-től nem várjuk el a 100%-os pontosságot. Sok esetben elég, ha az embernél vagy egy hagyományos módon felépített rendszernél az MI jóval pontosabban tud egy adott feladatot végrehajtani észszerű beruházás mellett. Például ha MI nélkül, hagyományos adatelemzési technikákkal, „manuálisan” az ügyfél-adatbázisból az olyan ügyfeleknek csak 30%-át tudjuk kiszűrni, akik megfelelően személyre szabott ajánlatok esetén hajlandóak lennének több szolgáltatást vagy terméket vásárolni tőlünk, de egy MI segítségével ez a szám 60% lesz, akkor ugyan még mindig nem találtuk meg azoknak az ügyfeleknek a 100%-t, akiknek érdemes lenne extra ajánlatokat adnunk, de a rendszer bevezetése annak költségeitől függően mégis megérheti, hiszen az MI segítségével jóval több ügyfelet érünk el, és ezáltal többlet bevételhez jutunk.
Ugyanakkor, ha a rendszer „találati” pontossága alacsonyabb a minimálisan szükségesnél, akkor a rendszer nem vezethető be.
A pontosságra különösen érzékenyek vagyunk kritikus rendszereknél, veszélyes üzemnél, mint például az önvezető autóknál, ahol nem fogadhatjuk el azt, hogy az autó a közlekedési helyzetek akárcsak kis hányadában hibázzon és balesetet okozzon. Még akkor sem, ha mi emberek ténylegesen még többször hibázunk.
A fenti példa mellett vannak más esetek, amikor szintén nem használhatunk MI-t. Ilyen okok között szerepel, amikor magyarázatot kell adnunk a döntésekre, illetve amikor a múltbeli adatok, amelyekkel a rendszert tanítjuk nem használhatók jövőbeni döntésekhez (pl. mert megváltoztak a piaci viszonyok, ügyfelek viselkedése, megváltozott az ügyfélkörünk, akikkel kapcsolatos döntéseket akarunk hozni), vagy ha nyitott kérdésekkel alulhatározott a feladat.
Egy illusztris és szerencsére nem túl sok kárt okozó példa a gépi tanulás limitációira volt az az MI, aminek a 2018-as labdarúgó-világbajnokságon a csapatok helyezési sorrendjét kellett volna megállapítania. A gép szerint a három fő esélyes Spanyolország (17,8%), Németország (17,1%) és Brazília (12,3%) volt, ami fatális tévedésnek bizonyult[2]. Szerencsére ebben az esetben a modellt készítő kutatóintézetet ért erkölcsi veszteségen túl leginkább a fogadóirodák egyes ügyfelei bánhatták csak a pénzüket.
Gépi tanulás és mélytanulás
A mesterséges intelligencia egy általános kategória, minden olyan módszert értünk alatta, amivel egy számítógépes eszköz az emberi viselkedést vagy annak valamely aspektusát imitálja. Mint ahogy a történeti áttekintésben említettük (nem feltétlenül sikeresen alkalmazott) technológiák sora tartozik ezekbe a kategóriákba, és ezek közül a gépi tanulás az, amire ma az MI alkalmazása épül.
A mélytanulás (deep learning, deep machine learning) pedig a gépi tanulás egyik fajtája.
Ténylegesen sokféle gépitanuló algoritmus van például decision tree, decision forest vagy a k-means clustering, csakhogy néhányat említsünk, amelyek különböző típusú feladatokra használhatók. A mélytanulásról azért érdemes külön beszélni, és a köztudatba is azért vonult be – azáltal, hogy nemcsak a szaksajtó, de sok az MI témával foglalkozó egyéb hír megemlíti –, mert a leglátványosabb eredmények a különböző képfelismerő alkalmazásokban, fordítógépekben, beszédfelismerő alkalmazásokban, önvezető autókban és egyéb iparági alkalmazásokban a mélytanuló rendszerek segítségével érhetők el. Megjegyezzük, hogy a mélytanulást az úgynevezett neurális hálók valósítják meg, amelyeknek szintén több fajtája ismert.
A mélytanulásra épülő modellekre különösen igaz, hogy a több adat meghálálja magát: a tanításhoz használt adatmennyiség növelésével a pontosság exponenciálisan nő.
Elérhető technológiák
Mára az MI egy komoly, szerteágazó (de még mindig óriási növekedés előtt álló) iparággá vált. Ha egy vállalkozás vagy más szervezet (például egészségügyi intézmény vagy kormányhivatal) MI-t akar alkalmazni a működés javítására vagy egy adott probléma megoldására, platformok, fejlesztőkörnyezetek, MI-alapú funkciók (pl. szövegértés, tárgyfelismerés), MI által támogatott vertikális iparági alkalmazások (logisztika, gyártás, egészségügy, stb.) és célhardverek állnak rendelkezésre.
Az előzőekben említett gépitanuló és mélytanuló algoritmusok elérhetők többféle platformon, felhőalapú szolgáltatásként is, és több nyílt forráskódú szoftver is rendelkezésre áll. Erre az utóbbira példa az iparág által legelterjedtebben használt Tensorflow gépi tanuló algoritmusgyűjtemény, amelyet a Google bocsátott nyílt forráskódú platformként a fejlesztők rendelkezésére.
A hardverek tekintetében meg kell különböztetnünk a nagy teljesítményű, számítási kapacitást igénylő modelltanítást és a modellek futtatását, amely utóbbihoz kisebb kapacitású hardver is elegendő.
A modell „feltanításánál” a modell komplexitásától és az adatok mennyiségétől függően gyakran grafikai processzorokból (GPU) felépített szervereket vagy más kimondottan a gépi tanulásra kifejlesztett célprocesszorokat tartalmazó hardvert használnak. Ilyen célprocesszorok a Google TPU és a Microsoft FPGA. Ezek a hardvererőforrások a két cég felhőjében szolgáltatásként érhetők el. GPU-kat természetesen vásárolhatunk is, de szintén elérhető a felhőben a modelltréning idejére.
A futtatásnál, azaz amikor az MI a megtanított feladatokat hajtja végre, a döntéseket hozza (inference), kisebb kapacitású hardver elegendő, bizonyos esetekben akár termináleszközben (edge device) futhat. Önvezető autóknál például a döntéseket helyben kell az autonóm rendszernek meghozni, hiszen nem okozhat késedelmet az, hogy az adatokat felküldjük a felhőbe és várjuk, hogy a kommunikációs csatorna (mobilinternet-kapcsolat) teljesítményétől függően valamennyi késleltetéssel megkapjuk a döntést. Más példák a terminálalkalmazásra mobiltelefonban futó MI-alapú app, vagy intelligens kamera beépített MI mozgásdetektorral, amely egy útkereszteződésben az elhaladó autókat érzékelve azok számát regisztrálja és bizonyos időközönként a központi adatgyűjtő rendszerbe csak ezt a számot küldi el.
MI bevezetése a gyakorlatban: „Az alkalmazott gépi tanulás alapvetően a hasznos jellemzők kinyerése az adatokból”
A fenti idézet Andrew Ng-től[3], az MI egyik világszinten vezető szakértőjétől származik, aki már több ismert MI-t fejlesztő cégnél is megfordult, jelenleg pedig több saját projektje és cége van.
Az egyik ilyen a Landing.ai, vállalati MI bevezetésre szakosodott vállalkozás.
Az idézetben szereplő eredeti kifejezés: hasznos jellemzők kinyerése a „feature engineering”, amivel arra hívjuk fel a figyelmet, hogy amikor egy konkrét technológiai, üzleti problémára akarunk MI megoldást találni egy működő üzleti vállalkozásnál vagy egyéb szervezetnél (ez lehet egészségügyi intézmény vagy akár egy kormányhivatal is), a legnagyobb fejfájást nem a gépitanuló algoritmusok okozzák (hiszen mint fent láttuk a technológia elérhető), gyakran még csak nem is az, hogy nincs adatunk, hanem az, hogy a rendelkezésre álló adatokból hogyan tudunk olyan hasznos információt kinyerni, amiből a gép ténylegesen tanulni fog. Egy távközlési hálózat elemeiből gyűjtött alarmok és logok közül melyik lesz ténylegesen összefüggésben egy forgalomtorlódással? Ha a legígéretesebb ügyfeleinket akarjuk megtalálni, akkor milyen profilinformációt vagy felhasználói viselkedési információt, esetleg más inputokat kell figyelembe venni?
Az MI modellt egy gépitanulás-szakértő építi, az adatok gyűjtését különböző forrásokból, adatbázisokból, azok tisztítását, rendszerezését egy adatmérnök végzi, de az üzleti kérdések operacionalizálásában, illetve a megfelelő adatok kiválasztásában az adott iparág szakértője fog segíteni, sőt gyakran a vállalkozás alkalmazottainak, a rendszer későbbi használóinak is részt kell venni az MI projekt bizonyos fázisaiban.
A már elkészült MI rendszert integrálni kell a cég üzleti folyamataiba és informatikai alkalmazásaiba, amelyhez alkalmazásfejlesztőt hívunk segítségül.
Egy gyakorlatban alkalmazandó MI építése tehát többféle szakértelmet igényel, és a későbbi felhasználók közreműködését is feltételezi.
Biztonság és etika
Amikor egy-két éve kiderült, hogy az MI itt van a hétköznapokban és az üzleti életben, a közbeszédben szárnyra kaptak a sci-fikben korábban vizionált disztópikus forgatókönyvek az öntudatra ébredő és hatalomra törő gyilkos robotokkal. Ezek a félelmek alaptalanok, hiszen mint az előzőekben elmagyaráztuk, a jelenlegi MI rendszerek messze vannak az emberi intelligenciától, és bár a magasabb fokú gépi intelligenciára vonatkozó kutatások gőzerővel folynak, kézzelfogható eredményről egyelőre nem tudunk beszámolni.
Ami viszont valós félelem lehet, és foglalkozni kell vele az az MI nem megfelelő, etikátlan használata, az MI rendszerek sérülékenysége (AI hacking), a túlzott elvárások az MI képességeivel szemben, illetve a torzított tréningadatok használatából eredő MI által hozott hibás döntések. Ez egy komoly és szerteágazó probléma, amelyet kormányok, akadémiai intézmények, de az MI fejlesztésében vezető cégek is vizsgálnak jelenleg, és ajánlásokat, terveket dolgoznak ki az etikai, biztonsági kérdések kezelésére.
Hogyan tovább?
Az MI technológiák jelenlegi fejlettsége és a jelenleg különböző szervezeteknél, vállalkozásoknál elérhető adatok is újabb és újabb felhasználási eseteket, üzleti sikereket tesznek majd lehetővé.
A versenyszféra mellett például az egészségügyben is hatalmasak a lehetőségek az MI számára, a teljesség igénye nélkül betegségek korai és pontos diagnosztizálásában, hatásosabb gyógymód meghatározásában vagy újabb gyógyszerek kifejlesztésében.
Mivel az ipar és az üzleti élet különböző területein a már most is megkerülhetetlen MI jelentősége várhatóan tovább fog nőni, az új technológiák kutatásában élenjáró MIT egyik vezető szakembere Andrew McAfee így fogalmazott: „A mesterséges intelligencia nem váltja le a vezetőket, de azokat a vezetőket, akik nem használják a mesterséges intelligenciát, leváltják azok, akik használják azt.”
Szerző: Werschitz Ottó – Neuron Solutions Kft.
www.neuronsolutions.hu
Hivatkozások:
[1] https://medium.com/mcgill-artificial-intelligence-review/120-machine-learning-business-ideas-from-the-new-mckinsey-report-b81b239f336
[2] https://blog.liveedu.tv/why-artificial-intelligence-failed-in-predicting-the-2018-fifa-world-cup-winner/
[3] https://medium.com/@c.giancaterino/relevance-of-feature-engineering-to-build-a-predictive-model-4c9e3e115c90