Neurális hálózatok elrendezési és funkciónális típusai

Neurális hálózatok elrendezési és funkciónális típusai

A neurális hálózatok a mesterséges intelligencia és a gépi tanulás alkalmazásának egyik legnépszerűbb eszközei manapság. Az elmúlt 10 évben több olyan speciális struktúra szerinti csoportosítást fedeztek fel, mely csoportok egy típusú probléma megoldásában a leghatékonyabbak.

Az előző cikkben bemutattam a mesterséges neurális hálózatok mögött rejlő intuíciót és biológiai rendszerből vont párhuzamokat. Már tudjuk milyen elemekből épül fel és milyen kapcsolatok találhatóak az elemek között, illetve melyek a legfőbb hasznosítási területek.

Ebben a részben szeretném bemutatni, az 5 legtöbbet használt hálózati elrendezést, illetve hogy milyen probléma megoldása során vethetők be a mindennapi életben.

Perceptron

Nem szabad elfelejteni, hogy a neurális hálózatok számítási alapköve a perceptron, a neuron matematikai modellje. A bementi értékek súlyozásra kerülnek, majd összeadjuk őket és legvégül egy aktivációs függvény segítségével határozzunk meg, hogyan alakul a kimenetünk.

A neuron matematikai modellje.
A neuron matematikai modellje.

Ezt a rendszert előrecsatolt neurális hálózatnak is nevezik (feed forward neural network), mivel az információ balról jobbra halad a neuronokon keresztül. Ismert bementekre, adott kimenetek alapján képesek vagyunk a bementi értékek súlyozásának változtatásával a rendszer hibáját minimalizálni (back-propagation). Függetlenül attól, hány réteg neuron található a rendszerünkben, a neurális hálózatok mindig a ki és bemenetek közötti kapcsolatot szimulálják.

Egyszerű és mély tanuló neurális hálózatok topológiai összehasonlítása.

Egyszerű és mély tanuló neurális hálózatok topológiai összehasonlítása. Forrás: Medium.

Az előrecsatolt neurális hálózatok gyakorlati használata kevés esetre szűkül, főleg csoportosítási és regressziós előrejelzés feladatok megoldására használhatjuk. Amikor az előrejelzéstől eltérő feladatokat szeretnénk megoldani, más felépítésű hálózatok alkalmazása válik szükségessé.

Konvolúciós neurális hálózatok

Ezek a hálózatok nagymértékben különböznek a többitől, mivel elsősorban képfeldolgozási funkciókkal rendelkeznek. Emellett képesek más jellegű bementet (videó, hang stb.) is értelmezni. A tipikus felhasználás során egy kép adatait (pixel szinten) küldjük keresztül a hálózaton és kép által tárolt információ alapján történő osztályozás a végső célunk.

A konvolúciós neurális hálózat (convolutional neural network – CNN) a bemenetként megadott adatot nem egészében értelmezni, hanem részleteit szkenneli le. Abban az esetben, ha egy 1 000 x 1 000 pixel felbontású képet adunk meg bementként, nem a leghatékonyabb egy 1 000 000 (1 000 x 1 000) neuronból álló réteget használni a pixel szintű értelmezés során. Helyette inkább egy 100 x 100 képpont méretű szűrőt használunk, amelyen keresztül részleteiben áramlik az adat a hálózaton.

A konvolúciós neurális hálózatok által használt szűrő egység működése.
A konvolúciós neurális hálózatok által használt szűrő egység működése. Forrás.

A CNN hálózatokat két fő részre lehet osztani: jellemzők felderítése és osztályozás. A jellemzők felderítése során a kép egységein átlagolásokat (konvolúció) és összevonást, tömörítést végzünk, mely lépések segítenek speciális jellemzők felderítésében.

Például, ha egy macskát ábrázoló képet adunk meg a rendszer bemenetének, a jellemzők felderítése során a képpontok tömörítése megadja a képet jellemző formákat (fül, száj, lábak).

A kiderített jellemzők alapján a megfelelően paraméterezett és tanított osztályozó rész képes a jellemzők összességét vizsgálni és ezáltal a képen szereplő teljes képet értelmezni és osztályozni.

A konvolúciós neurális hálózatok tanításához előre feliratozott adatfáljok szükségesek. A rendszert jellemző hiperparaméterek (azon paraméterek, amelyek a struktúrát adják meg) kiválasztása jelenti a legnehezebb feladatot: neurális hálózat felépítése, azaz hány réteget használunk, illetve melyik rétegbe hány neuron kerüljön, egyes rétegekben használt aktivációs függvény, illetve a használt szűrő mérete és felépítése.

A konvolúciós neurális hálózat működésének bemutatása.
A konvolúciós neurális hálózat működésének bemutatása.

Egyik legelső gyakorlati alkalmazásuk a MNIST adatbázisban található, kézzel írt számjegyeket tartalmazó rendszer értelmezése, valamint a képek alapján a számjegyek felismerése volt. Az alábbi linken bárki ki tudja próbálni, hogyan ismeri fel a kézzel írt számjegyeket egy konvolúciós neurális hálózat, valamint hogyan működik a képpont szintű felderítés és az osztályozás.

Visszacsatolt neurális hálózatok

Az előrecsatolt neurális hálózatok nem rendelkeznek memóriával, azaz nem képesek a múltban történt eseményekre emlékezni. Ettől természetesen kivételt képez a tanítási folyamat, melynek során a neuronok súlyértékének beállítása történik.

A visszacsatolt neurális hálózatok (recurrent neural network – RNN) esetében az információ egy hurkon keresztül halad át, így amikor a neuron egy kimenetet ad meg, képes a korábbi bemenetekre adott választ figyelembe venni.

Képzeljük el, hogy egy előrecsatolt hálózat bemeneteként a “neuron” szót adjuk meg és rendszer karakterről-karakterre dolgozza fel az információt. Amikor az “r” bemenetre adott kimenetet számolja ki, már nem képes a korábban feldolgozott betűket figyelembe venni. Így, ha egy összetett objektum jelentését kívánjuk meghatározni, mindenképpen szükségünk van a részegységek és a köztük lévő kapcsolat figyelembevételére.

Visszacsatolt neurális hálózat értelmezése. x(t) bementi, h(t) kimeneti érték.
Visszacsatolt neurális hálózat értelmezése. x(t) bementi, h(t) kimeneti érték. Forrás.

A visszacsatolt neurális hálózat neuronja két bemenettel rendelkeznek: adott “t” időpillanatban a rendszeren keresztül haladó és a “t-1″, “t-2″ stb. korábbi értékek.

Gradiens probléma

Neurális hálózatok esetén a gradiens (bemenet szerinti parciális derivált) mutatja meg, hogy a bemenet minimális megváltozása esetén, milyen mértékben változik meg a kimenet. A gradiensre, mint a bemenet és kimenet közötti kapcsolatot jellemző függvény meredekségre is lehet gondolni.

Ha egy rendszer (hálózat felépítés és adatok) “nagy” gradienssel rendelkezik, a modell gyorsan tud a megadott adatok alapján tanulni, mivel kis eltérésű bemenetek hatására is megismeri a kimenetek változását. Ha a gradiens értéke kicsi vagy nullára csökken, a tanulási folyamat megáll.

A RNN hálózatok alkalmazása során két féle probléma merülhet fel: a túlfutó (exploding gradient) és az eltűnő gradiens (vanishing gradient) esete. Előbbi során az algoritmus túlzottan nagy jelentőséget tulajdonít a neurális hálózatban található súlyoknak, így nem képes megfelelő átmetet képezni a bemenet változtatásával. Ezáltal lehetetlenné teszi a hálózatnak megadott feladat megoldását. Eltűnő gradiens esetében, a gradiens értékünk viszont túlzottan alacsony, így a tanítási folyamat rendkívül sok időt és erőforrást vesz igénybe.

LSTM hálózatok

Az eltűnő gradiens probléma megoldására találták ki a hosszú-rövidtávú memóriával rendelkező hálózatokat (Long Short-Term Memory – LSTM). Az LSTM rendszer része a memóriafunkció, ami hasonlóan a számítógépek memóriájához, képes olvasni és írni a saját memóriájában. Ez lehetővé teszi, hogy a visszacsatolt neurális hálózat hosszú időn keresztül emlékezzen a korábban megadott bemenetekre.

A rendszer memóriája tulajdonképpen egy kapus cellaként jelenik meg, a kapu dönti el, hogy tárolja vagy törölje a cellában található adatokat, az információhoz rendelt fontosság alapján. Egy LSMT egységben jellemzően 3 kapu található. A bemeneti kapu határozza meg, hogy éppen érkező információt belépteti e a folyamatba, a törlő kapu törli, ha nem tartja a hálózat releváns adatnak, illetve a kimeneti kapu a kimenetre hatással lévő matematikai műveletet hajt végre.

Visszacsatolt neurális hálózat alkalmazási lehetősége: képek automata feliratozása. Forrás.

A visszacsatolt neurális hálózatokat többféle probléma megoldására lehet használni: audiovizuális anyagok szöveg szerinti értelmezése, képek automatikus feliratozása, gépi fordítás (magyar szavak sorozatából angol szavak szorzata), dokumentum osztályozás.

Autoencoder (AE)

Az autoencoder-ek a neurális hálózatok egy speciális fajtái. A bemeneti adatot az enkódolást végző terület egy tömörített reprezentációban tárolja el. Ezután a dekódoló rész a reprezentáció alapján generálja a kimetet. Ha az autoencoder-ek egyetlen célja a bemenet lemásolása lenne a kimeneti oldalra, kérdezhetnénk, hogy mi hasznuk van valójában?

Autoencoder egyszerűsített működési mechanizmusa, a bemenet és a kimenetek ábrázolása mellett.
Autoencoder egyszerűsített működési mechanizmusa, a bemenet és a kimenetek ábrázolása mellett. Forrás.

A valóságban viszont az autoencoder bemenet kimenetté történő másolása során végzett tanítás alatt a reprezentáció számunkra hasznos tulajdonságokat vesz fel. Azáltal, hogy a tömörített reprezentáció kisebb méretre korlátozzuk a megadott bemenethez képest, arra kényszerítjük az enkódolást végző területet, hogy a bemeneti adat legfontosabb jellemzőit tanulja meg.

A megtanult, fontos jellemzők alapján képes ezután a dekódoló rész a bementhez hasonló kimenetet generálni. Napjainkban az autoencoder-eket legtöbb esetben az adatokban található zaj és a dimenziók csökkentésére használják. Megfelelő strukturális korlátok megadásával megtanulnak olyan jellemzőket is, melyeket más módszerrel (pl. PCA – principal component analysis, főkomponens analízis) nem tudunk kideríteni.

Az autoencoder-ek maguktól tanulnak az adatokból, azaz nincs szükség új vagy speciális feldolgozási struktúra megalkotásához, hogy egy típusú bementi adatból, hatékony leképzéseket hajtsanak végre.

Autoencoder gyakorlati hasznosítása: szürkeárnyalatos képek színessé tétele. Forrás

A gyakorlatban használni lehet őket kép hiányzó részleteinek megfejtéséhez, szürkeárnyalatos képek színessé változtatásához vagy életlen képek élessé tételében.

GAN hálózatok

A GAN hálózatok talán az egyik legérdekesebb neurális hálózatok közé sorolt rendszer. Gyakorlatban megcáfolta azt a kijelentést, mi szerint egy számítógép vagy mesterséges intelligencia nem lehet kreatív.

A GAN-ok (Generative Adversarial Network) általában két különböző részegységből állnak: egy előrecsatolt és egy konvolúciós neurális hálózat alkotja őket. Az előrecsatolt hálózat feladata a tartalom generálása (generatív hálózat), míg a konvolúciós felelős a tartalom felismeréséért (diszkriminatív hálózat). A felismerő terület felelős azért, hogy megállapítsa, egy tartalom mesterségesen lett létrehozva vagy valódi e.

GAN hálózatok működésének egyszerűsített ábrája.
GAN hálózatok működésének egyszerűsített ábrája. Forrás

A generátor feladata – egy véletlen zaj mellett – a valósághoz minél jobban hasonlító adat generálása, melyet a diszkriminátor vizsgál meg és dönti el, hogy valódi vagy sem. A generatív hálózat gyakorlatilag a hamisítók egy csoportja, akik hamis pénzt nyomtatnak, a diszkriminatív hálózat pedig a rendőrség, akik próbálják felismerni a hamis pénzeket.

Mivel a két hálózatot váltott optimalizációval tanítják be, így a folyamat végén a generatív rendszer által generált adatok nem különböznek a valóságtól.

A gyakorlati alkalmazás lehetőségi végtelenek. A GAN hálózatok képesek mindent lemásolni, vagy egy változási modellt egyedi esetekre alkalmazni. Tegyük fel, hogy van egy adatbázisunk, ahol ugyanazokról az emberekről vannak fényképeink, melyek az életük különbőz időpontjaiban készültek (10 évesen, 20 évesen stb.).

Ha ezt az adathalmazt felhasználva megtanítunk egy GAN hálózatot, és elegendően sok adattal rendelkezünk, képesek leszünk bámely személy, bármely életszakaszában készített fényképe alapján megmondani, hogyan nézett ki 10 évvel ezelőtt és hogyan fog kinézni 20 év múlva.

Az öregedés modellezése GAN hálózatok segítségével (age-cGAN).
Az öregedés modellezése GAN hálózatok segítségével (age-cGAN). Forrás, Publikáció

Például divatszakma is rengeteget profitálhat a GAN hálózatokból: nem lesz szükséges többé egy modellnek a ruhakollekció összes darabját felpróbálni és fényképet készíteni, hanem a modell, a póz és a ruhadarabok információi alapján, egy tanított GAN hálózat képes az össze kombináció automatikus generálására.

Megadott póz alapján történő kép generálás. Forrás

Összefoglalás

Azt gondolom, a neurális hálózat a valaha feltalált egyik legszebb programozási technika, szemléletmód. A hagyományos programozási megközelítéssel ellentétben, nem az ember határozza meg a feladat megoldásához szükséges apró, pontos lépéseket, hanem a rendszer, a biztosított megfigyelési adatokból tanul és keres megoldást a problémára.

Napjainkban a mély neurális hálózatok kiemelkedő teljesítményt nyújtanak a gépi látás, beszédfelismerés és nyelvfeldolgozás témakörökben, de mint a cikkből is látszik, számos olyan további terület van, ahol adatok alapján lehet az üzleti döntéshozatalt vagy a problémamegoldást támogatni.

Felhasznált források

https://medium.com/cracking-the-data-science-interview/a-gentle-introduction-to-neural-networks-for-machine-learning-d5f3f8987786
https://medium.freecodecamp.org/an-intuitive-guide-to-convolutional-neural-networks-260c2de0a050
https://towardsdatascience.com/applied-deep-learning-part-4-convolutional-neural-networks-584bc134c1e2
https://ertedmar.hu/cikkek/konvolucio
https://towardsdatascience.com/recurrent-neural-networks-and-lstm-4b601dd822a5
http://colah.github.io/posts/2015-08-Understanding-LSTMs/

Karrier és fizetések a mesterséges intelligencia világában

Karrier és fizetések a mesterséges intelligencia világában

Intro

A mesterséges intelligencia alkalmazásához kapcsolódó szakmák és álláslehetőségek száma a legnagyobb mértékben növekszik napjainkban. Rendkívül fontos szerepe van annak, hogy számottevően mérséklődött az adatgyűjtő szenzorok, és az adatokat gyűjtő tárhelyek ára. Így az összes iparágban, legyen szó termelésről vagy szolgáltatásról az adat alapon történő döntéshozatal, optimalizálás és fejlesztések jelenthetik a hatékonyság következő lépcsőjét.

Ebben a cikkben szeretnék kitérni, hogy a mesterséges intelligenciához és adattudományhoz kapcsolódóan milyen szakmák alakulnak ki. A jelen idő használata az előző mondatban szándékos, ugyanis a technológia és rendelkezésre álló eszközök folyamatos fejlődése új utakat nyithat további szakmák kialakulásához. Ez követően, nem reprezentatív minta alapján, bemutatok pár konkrét álláslehetőséget és a hozzájuk kapcsolódó elvárásokat.

Bármilyen helyzetről beszélünk, minden esetben nagyon fontos mi jelenik meg a mérleg másik nyelvén, azaz milyen kompenzációs csomagra számíthatnak, akik elindulnak a mesterséges intelligencia szakmákhoz vezető rögös úton. Érdemes végigolvasni a cikket, ugyanis a fizetések szempontjából meglepő dolgok derülnek majd ki a végén.

Mesterséges intelligencia, mint alapkompetencia


Mielőtt még rátérek a mondanivalóra, szeretném kiemelni egy nagyon fontos tényt. Egy korábbi cikkben részleteztem milyen elemei vannak a mesterséges intelligenciának (gépi tanulás, nyelvfeldolgozás, mesterséges látás stb.). Tudni kell, hogy ezek a részegységek a jelenleg létező szakmákban is fontos tényezők lesznek.

Ahogy 40 éve a jogosítvány, 20 éve a nyelvtudás jelentett komoly helyzetelőnyt a munkaerőpiacon, hasonló tendencia látszik kialakulni az informatika képességekkel is. Mivel a szolgáltató és termelő ágazatokban komoly informatikus hiány van, jelenleg és jövőben is még inkább elvárás lesz az előbb említett tudás elsajátítása.

Ez az jelenti, hogy például a termelés ágazatban dolgozó mérnököknek számára nagy versenyelőnyt jelent a munkaerőpiacion a szakmájuk mellett elsajátított adatgyűjtési, adatmodellezési ismeretek. A mesterséges intelligencia alkalmazásával tudnak extra üzleti előnyt biztosítani a munkaadó számára.

Mesterséges intelligencia technológiák fejlettségi állapota és üzleti érték képviselete. A gépi tanulás nagyon előkelő helyen szerepel.
Mesterséges intelligencia technológiák fejlettségi állapota és üzleti érték képviselete. A gépi tanulás nagyon előkelő helyen szerepel. Forrás.

Hasonló példa lehet a pénzügy, a logisztika, a humánerőforrás, a marketing vagy szinte bármely szakma, ahol adatok állnak rendelkezésre, és amely adatokból modellezni, előrejelzéseket lehet készíteni. Ettől függetlenül, természetesen fontos szerepet töltenek be a dedikált, mesterséges intelligencia gyakorlati alkalmazásával megbízott szakemberek is.

A jelenleg megnyíló állások száma szempontjából a legnagyobb növekedést produkálja a szakma az informatikai szektoron belül, de szinte az egész munkaerőpiacon az adatokkal foglalkozó specialisták tapasztalják majd a legerősebb nyomást, ugyanis a munkáltatók versenyezni fognak a kegyeikért.

De milyen szakmák alakultak ki?

Az előző részben leírtakból nem egyből következik az, hogy mostantól mindenki mesterséges intelligencia szakembere legyen.

Viszont a jövőre való tekintettel nem csak specializálódó személyeknek érdemes a tudás megszerzése, hanem bármely olyan szakmában dolgozó munkavállalónak előnyt jelenthet, akik a folyamataik hatékonyságát szeretnének növelni.

A mesterséges intelligencia részegységeitől függetlenül, 3 fő irány létezik a piacon, azon informatikai beállítottságú szakmák között, melyek az adat alapú döntés hozatal támogatását szolgálják. Azt emeljük ki, hogy az angol szavak magyarra fordított verzióját még szokni kell fülnek.

Data Scientist – Adattudós

Más néven Adat Menedzser vagy Statisztikus. Az adattudós képes az adat alapú projektek vezetésre, kezdeti fázistól a lezárásig. Segíteni tudnak nagy mennyiségű adat tárolásában, mesterséges intelligencia modellek készítésében és a feltárt problémák prezentálásában. Jellemző készségek: matematika, programozás, statisztika.

Data Engineer – Adatmérnök

Más néven Adatbázis adminisztrátorok, vagy Adattervezők. Ők azok a probléma megoldásához kapcsolódó szakmai tapasztalatokkal is rendelkeznek és képesek a mesterséges intelligencia eszközrendszerének használatával az összegyűjtött adatok feldolgozására az adattudós utasításai alapján. Szükséges készségek: programozás, matematika, nagy adat.

Data Analyst – Adatelemző

Hívhatjuk úgy is, hogy Üzleti Elemző. Ez a szakma már napjainkban is fontos szerepet tölt be, fő feladatuk az adatok és belőlük nyert információk megfelelő ábrázolása. Ezt úgy kell kivitelezni, hogy azt a vállalat dolgozói, döntéshozói megértsék az információt. Eszközeik az Excel, Tableau, SQL. Alkalmazott készségek: statisztika, kommunikáció, üzleti tudás.

És milyen konkrét szakmák?

Ha tovább lépünk a konkrét a konkrét munkakörre, 2019-ben a piacot két lehetőség határozza meg: Machine Learning Engineer (Gépi Tanulás Mérnök) és a Data Scientist (Adattudós). Utóbbi gyakorlatilag azon szakemberek, akik mesterséges intelligencia és gépi tanulás projektvezetői, szakértői az iparban.

Adattudós

Adattudós esetében az elsődleges elvárás a nagy adat (big data) platformok ismerete, mint például: Hive, Hadoop, MapReduce, Pig, Spark. Programozási nyelv tapasztalat szempontjából a Python, R, Scala és SQL a lehetséges opciók.

Gépi tanulás mérnök

Számukra kulcsfontosságú feladat, hogy képesek legyenek mesterséges intelligencia modellek gyakorlati alkalmazására és nyelvfeldolgozásra, amikor nagy mennyiségű adattal foglalkoznak. A pozíció betöltéséhez a vállalatok olyan személyeket részesítenek előnybe, akik gyakorlati tapasztalattal rendelkeznek a főbb szoftver fejlesztői eszközökkel (például Eclipse, IntelliJ).

Az álláshirdetésekben főként a felsőfokú végzettségű (matematika, számítástechnika, mérnöki tudományok) jelöltek pályázatait várják elsősorban. A programozási nyelvek szempontjából az elsődleges szinte minden esetben a Python, amelynek néhány előnyéről egy előző cikkben is beszámoltam.

Összességében erős matematikai tudással rendelkező technológiai szakemberekre várnak a cégek, akiknek ismerniük kell a gépi tanulás, mély tanulás és neurális hálózatok témaköreit. Emellett programozási és analitikai készségekkelis rendelkezniük kell. Szorosan kapcsolódik ide, hogy a felhő technológia ismerete egyre komolyabb elvárás a munkáltatók részéről.

Milyen nyitott pozíciók vannak Magyarországon?

A pozíciók feltérképezéséhez a LinkedIn Job felületét használtam, a Magyarország területére szűrve. Meg kell említeni, hogy a bemutatott állások a cikk írás pillanatában biztosan nyitottak voltak, az itt megjelenő adatok a későbbiekben tárgytalanok lehetnek.

A gépi tanulás mérnök és adattudós LinkedIn álláshirdetések számának változása 2017 és a 2018 között.
A gépi tanulás mérnök és adattudós LinkedIn álláshirdetések számának változása 2017 és a 2018 között. Forrás.

A cikk elején beszéltem róla, hogy szokni kell az angol szakmák magyar nyelvű fordítását. Ez a munkaerőpiacra is igaz, mivel míg a „gépi tanulás” kulcsszóra 3 db találat jelenik meg, addig a „machine learning” esetén ez a szám 155-re változik. Az angol nyelv ismerete is kulcsfontosságú dolog már a mesterséges intelligenciához kapcsolódó hirdetések böngészése során is.

Ha végig görgetünk a listán, észrevehető, hogy már nem csak a startup cégek keresnek mesterséges intelligencia szakembereket, hanem a nagyobb bankok, telekommunikációs cégek és IT vállalatok is megjelennek a lekérdezésben.

Így található meg a listán többek között a MOL, a VODAFONE, EGIS, CITI, MICROSOFT, NOKIA, Continental, Bosch és a humán erőforrással foglalkozó Randstad Hungary is.

Data Scientist állás példája

A magyar nyelv miatt az Egis, Data Scientist pozícióját nézzük meg részletesebben.

Egis gyógyszercég Data Scientist pozíciója.
Egis gyógyszercég Data Scientist pozíciója.


Feladatok

– Adatvezérelt üzleti folyamatok kialakításának támogatása,
– Adatbányászat és ehhez kapcsolódó riportolási folyamatok fejlesztése,
– Adatok vizualizációja, annak kommunikálása,
– Gépi tanulási módszerek (Machine learning) használata,
– Statisztikai programozási nyelv(ek) használata,
– Optimalizációs, prediktív modellek készítése,
– Az üzleti digitalizáció támogatása,
– Elemzési eszköztár fejlesztése Big Data környezetben,
– Data science adatfeldolgozási és elemzési eszköztár beillesztése kontrolling rendszerekbe.

Elvárt szakmai kompetenciák

– Többéves lehetőleg nagyvállalati környezetben, hasonló munkakörben szerzett tapasztalat,
– Adatvizualizációs eszközök ismerete,
– Adatbányászati, Big Data elemzési, BI tapasztalatok,
– SQL ismeret,
– Python, R programozási nyelvek ismerete,
– Közgazdász végzettség,
– Kommunikációs szintű angol nyelvtudás,
– Analitikus szemléletmód,
– Nagyfokú fejlődési igény, nyitottság a folyamatos tanulásra, új ismeretek elsajátítására,
– Proaktív személyiség.

Machine learning engineer példája

Az Ultinous egy mesterséges intelligenciára alapozott videoanalitika technológiát fejlesztő cég. Mély tanulás (Deep learning) alapú arcfelismerő algoritmusuk, elsősorban kereskedelmi, biztonsági és webes alkalmazásokat támogat. Saját kutató és fejlesztői bázissal rendelkezek.

Gépi tanulás mérnök állás példája.
Gépi tanulás mérnök állás példája.

Feladatok

-A legújabb machine learning/AI technológiák kutatása, tesztelése,
– Deep Learning alapú képelemző algoritmusok tervezése, fejlesztése és tesztelése,
– Az elkészített algoritmusok integrálása termékeinkbe,
– Junior munkatársak munkájának segítése,
– Szoros együttműködés a budapesti irodánkkal.

Elvárások

-Informatika MSc végzettség vagy 3+ év szakmai tapasztalat
– Tapasztalat C++ és/vagy python programozási nyelveken
– Tanuló algoritmusok terén szerzett tapasztalat
– Képfeldolgozási ismeretek
– Analitikus gondolkodás, jó problémamegoldó képesség
– Erős matematikai alapok
– Önálló munkavégzés
– Angol szövegértés

Tapasztalatok összefoglalása

Az adattudós esetében az elsődleges elvárás az üzleti folyamatok megértése és azok támogatása statisztikai eszközökkel. Ide tartoznak a nagy adat elemzések és a gépi tanulás algoritmusok implementálása is.

Ezen feladatok alapján alakulnak az elvárások: IT vagy közgazdász végzettség, nagyvállalati tapasztalata és adatbázis (SQL) ismeret szerepel a programozási nyelv elvárás mellett.

Gépi tanulás mérnök esetén, szinte mindig konkrét feladatkörről beszélünk, sokkal inkább fontos a programozás és a gyakorlati feladatok megoldása.

Elvárások tekintetében a matematikai háttér és a mérnöki gondolkodásmód a kiemelendő, az adott feladat elvégzéséhez szükséges kompetenciák mellett. A fent említett példában, egy gépi látás alkalmazás esetén a Python mellett szükségesek egyéb nyelvek ismerete is, valamint az algoritmusok és a képfeldolgozási megoldások elsajátítása.

Fizetések

Tudott tény, hogy az informatikai szektorban az átlaghoz mérten magas fizetéseket lehet elérni külföldön és Magyarországon is.

Mivel a mesterséges intelligenciával foglalkozó cégek által egyre nagyobb kereslet alakul ki, az elérhető fizetések is az egyik legmagasabb értéket veszik fel az IT területen belül.

A konkrét információk a HAYS fizetési körkép kiadványából használatam fel. Ez a dokumentum évente jelenik meg és az összes ágazat fontosabb pozíciójának fizetését tartalmazza. A konkrét összegek esetében mindig bruttó érték szerepel a továbbiakban.

A kiadvány említést tesz róla, hogy körülbelül 22 000 betöltetlen informatikai pozíció van a magyar piacon. Rengeteg kutatás és fejlesztési (K+F) központ nyílik és a legtöbb szektorban zajlik a digitális transzformáció. Ezáltal még több informatikai szakemberre van szükség. Ezen túl, a fizetések további emelkedése is várható a következő években.

A szektor egyik legnagyobb változását éli meg, rengetegen képzik át magukat erre a területre végzettség, nem és életkortól függetlenül. A most nyíló, új pozíciók nagy részében nem a programozási ismeret a legfontosabb a munkáltatók számára, hanem a menedzsment, kommunikáció és más iparágakban szerzett szakmai tapasztalat kerül a fókuszba.

A dokumentum kiemeli, hogy az idei év legvonzóbb területei a felhő alapú megoldások, gépi tanulás, mesterséges intelligencia, adat tudomány és IoT (Internet of Things, Dolgok internete).

Fejlesztés területe

Junior szinten az adattudományokkal foglalkozó szoftver mérnökök minimális fizetését bruttó 500 000 Ft-nak adják meg, míg a tipikus érték 650 000 Ft. Java vagy C/C++ fejlesztők esetén ezek az összegek 50 000 Ft-tal alacsonyabbak.

Egyel magasabb tapasztalati szinten már 900 000 Ft a tipikus fizetés adattudó és a gépi tanulás mérnök esetben, de a jelentés szerint akár 1 millió forintot is meghaladhatja a maximális érték.

Expert és vezető szinten a tipikus jövedelem 1.2 millió és 1.5 millió forint között alakul, szemben például mobil alkalmazás fejlesztéssel foglalkozók 1.1 és 1.5 millió forintos eredményével.

Elmondható, hogy a fejlesztés területen, egy-két kivételtől eltekintve az adattudomány és a mesterséges intelligenciához kapcsolódó szakterületek biztosítják a legmagasabb elérhető jövedelmet, amely érték, már pár év tapasztalat után hét számjegyű is lehet.

Infrastruktúra

Az infrastruktúrába tartozó állások esetén nagy részben az adattudósokról beszélünk. Az jövedelmek nem annyira kiemelkedők, mint a fejlesztési vonalon, de így sincs ok szégyenkezni a többi szakterület (hálózat, biztonság) mellett.

Üzleti intelligencia témakörben, egy tapasztalt mérnök esetében 750 00 és 900 000 Ft között alakul a bruttó jövedelem. Vezetői pozícióban ezen értékek rendre 800 000 és 1 000 000 Ft között változnak a HAYS felmérésben szereplő adatok alapján.

Menedzsment oldalon, már nem ennyire elhatárolható, mely pozíciók tartoznak a mesterséges intelligencia témaköréhez. Azonban kijelenthető, hogy 1-3 éves tapasztalattal ~ 800 000 Ft, 3-5 év esetén ~ 1 000 000 Ft és több mint 5 év tapasztalat esetén 1 300 000 Ft körül alakul az elérhető bruttó jövedelem.

Foglaljuk össze

Összegzésként két fontos dolgot emelnék ki. A mesterséges intelligenciához kapcsolódó szakmák most kezdik aranykorukat élni. A digitális transzformáció miatt egyre több adat áll a vállalatok rendelkezésére működésükkel kapcsolatban.

Egyrészről nagy szükség van már jelenleg is olyan szakemberekre, akik gyakorlati tapasztalat alapján képesek üzleti eredményt biztosítani az összegyűjtött adatok segítségével. Ez a nyomás a jövőben tovább növekszik, ellene csak a szakmai tapasztalattal rendelkezők átképzése jelenthet megoldást.

Másik oldalról kulcs tényező, hogy a legtöbb esetben érdemes a mesterséges intelligencia témakörével foglalkozni, mivel a munkaerőpiac egyik legfontosabb és a legjobban megbecsült szakembereivé válhatnak az ilyen jelleggű tudással rendelkező dolgozók.

Neurális hálózatok – a mesterséges intelligencia szent Grálja

Neurális hálózatok – a mesterséges intelligencia szent Grálja

A mesterséges neurális hálózatok napjaink egyik leggyakrabban használt gépi tanulás algoritmusa. Gyakorlatilag minden probléma megoldására lehet használni, beszéljünk gépi látás, nyelvfeldolgozás, vagy akár önvezető autók témaköréről. Különösen sok esetben használatos a mély tanulás, komplex vagy sok adatot tartalmazó összefüggések értelmezésére.

A neurális hálózatokat, alkalmazási módszereit 3 cikkben szeretném bemutatni: elsőként az intuíció és a felhasználás alapvető fogalmait, kérdésköreit tisztázzuk. A második cikkben a hálózatok típusairól, és elrendezési lehetőségeit fogom bemutatni. Legvégül egy esettanulmányban, valódi adatok alapján fogunk előrejelzéseket készíteni neurális hálózatok segítségével.

Intuíció a neurális hálózatok mögött

Ha a neurális jelzőt olvassuk, az első dolog ami az eszünkbe jut az nem más, mint az agyban található neuronok. Ezek az egységek és a belőlük felépülő hálózatok felelősek az agy döntéshozatali funkciójáért. Az egyik legnagyobb különbség az ember és a robot vagy számítógépes program között, hogy az emberi agy önmagától képes felismerni, analizálni és tanulni a környezetében tapasztalható ingerekből.

Az emberi agyban található neuron szerkezete, kiemelve a bemeneteket és a kimeneteket.
Az emberi agyban található neuron szerkezete, kiemelve a bemeneteket és a kimeneteket. Forrás: Wikipedia.

Egy számítógépes program ezzel szemben megadott utasításokat követ és a végrehajtás visszajelzéseiből nem fejleszti önmagát. Ahogy egy korábbi cikkben is bemutattam, mesterséges intelligencia és gépi tanulás módszerekkel a statikus programkódok is alkalmasak lehetnek a környezet változásával bekövetkező események kezelésére.

A gépi tanulás és azon belül a neurális hálózatok módszertan képes tanulási fázisban önmaga fejlesztésére, ezáltal pontosabb becslési hatékonyság megvalósítására. Amikor az információ keresztül halad a neurális hálózaton, a rendszer érzékeli az elvárt és tényleges kimeneti adatok között az eltérést, így változtatja a paramétereit. Minél több adat halad keresztül a hálózaton, annál pontosabb becslést biztosít a rendszer. Ezt nevezik a tanulás folyamatának.

Tulajdonképpen a mesterséges neurális hálózatokat nem lineáris statisztikai adatmodellezéshez használhatjuk, ahol komplex kapcsolat és összefüggés létezik a bemenet és a kimenet között.

Megértés esetpéldája

Tegyük fel, hogy egy ingatlan árát szeretnénk meghatározni 4 paraméter segítségével: méret, szobák száma, ingatlan állapota, fűtés típusa.

Neurális hálózatok esetén az összefüggés az ingatlan paraméterei és ára között lineáris összefüggés alapján.
Összefüggés az ingatlan paraméterei és ára között lineáris összefüggés alapján.

Legegyszerűbb esetben mondhatjuk azt, hogy minél nagyobb az ingatlan annál többet ér, minél több szoba van annál magasabb az ára és így tovább. Azonban ha a lineáris összefüggéseken túl, további kapcsolatokat is keresünk, nem elégséges a fenti struktúra alkalmazása.

Nézzük meg három különböző, 50 négyzetméter alapterületű lakás esetén az árak alakulását:

Paraméter / LakásLakás 1Lakás 2Lakás 3
Méret (négyzetméter)505050
Szobák száma (db)123
Ár (millió forint)81210

Látható, hogy egy azonos méretű lakás esetén a példában a szobák száma nem lineárisan befolyásolja az ingatlan értékét. Egyszerűen elképzelhető, hogy egy 1 szobás lakásban túl nagy a tér, nehéz azt hasznosítani, míg egy 3 szobás lakásban pedig túlzottan kis méretűek a helységek. Így egy bizonyos lakásvásárló szempontjából a 2 szobás eset az ideális, amiért a legtöbb pénzt fizeti.

Neurális hálózatok esetén az összefüggés az ingatlan paraméterei és ára között nem lineáris kapcsolatok alapján.
Összefüggés az ingatlan paraméterei és ára között nem lineáris kapcsolatok alapján.

Amikor a megadott paraméterek, bemenetek közötti összefüggést is vizsgáljuk, már nem lineáris esetről beszélünk. Így lehet modellezni, hogyan befolyásolja két különböző paraméter egymásra gyakorolt hatása (esetünkben aránya), a kimeneti változót. A neurális hálózatok is hasonló felépítéssel rendelkeznek, mint ahogy a fenti ábrázolás mutatja.

Továbblépve, ha nagyon sok paraméter esetén, nem elégséges a páronkénti összefüggés vizsgálata, a neurális hálózatokba még több réteget is beépíthetünk.

Neurális hálózatok esetén az összefüggés az ingatlan paraméterei és ára között mély tanuláshoz hasonló kapcsolatok alapján.

Összefüggés az ingatlan paraméterei és ára között mély tanuláshoz hasonló összefüggések alapján.

Ebben az esetben akár a méret-szobák száma valamint az ingatlan állapot-fűtés típusa paraméterek közötti apró változások hatását is figyelemmel lehet követni. Ezt a struktúrát mély tanulásnak nevezik.

A mély tanulás olyan speciális megközelítés, amelyet a valós ideghálózatok leképezésére találtak ki. A neurális hálózat mélynek nevezhető, ha a bemeneti adatokat több nem lineáris transzformáció segítségével alakítják kimenetté.

Egyszerű és mély tanuló neurális hálózatok topológiai összehasonlítása.

Egyszerű és mély tanuló neurális hálózatok topológiai összehasonlítása. Forrás: Medim.

A példa alapján válik a legegyszerűbb módon láthatóvá, hogy neruális hálózatok esetén nem csak egyértelmű, jól értelmezhető összefüggéseket keresünk. Az emberi viselkedés, vagy döntéshozatal megfelelő modellezése esetén a legfontosabb tényezők, az előre nem látható összefüggések felderítése és alkalmazása.

Neurális hálózatok elemei

A neurális hálózatokat két fő elem alkotja: csomópontok és kapcsolatok. Az egyes csomópontok halmaza építi fel a hálózat rétegeit.

A csomópont egy olyan hely, ahol matematikai művelet történik meg, hasonlóan az emberi agyban található neuronok esetében. A csomópont az előző kapcsolat alapján történő adat bevitelét egyesíti egy olyan együtthatóval, vagy súllyal, amely a csomópont szempontjából erősíti vagy csillapítja az adott bemenetet.

Neurális hálózatok csomópontjának struktúrája.
Neurális hálózatok csomópontjának struktúrája. Forrás.

Így lehetséges az egyes paraméterek fontosságát meghatározni a tanuló algoritmus szempontjából, azaz hogy mely bemenetek a leghasznosabbak adott csomópont esetén a hibamentes kimenet becsléséhez.

Az egy csomópontba érkező bemeneteket összegezzük, majd az összeget egy aktivációs függvény segítségével dolgozzuk fel. Az aktivációs függvény segít meghatározni, hogy egy adott jel továbbhaladjon e a hálózaton vagy sem, ezáltal hogyan befolyásolja a végső kimenetet.

Ha a jelek továbbhaladnak az adott csomóponton vagy neuronon, az adott neuront aktívnak nevezzük.

Az elején említettek alapján, hálózatban egy szinten lévő neuronok alakítják ki a rétegeket a rétegek összessége pedig a neurális hálózatot. Az eredeti bemenetek megfelelően súlyozva érkeznek az első réteghez, ott bizonyos neuronokat aktiválva tovább lépnek a következő rétegekbe.

Ez folytatódik egészen addig, amíg el nem érkezünk a kimenethez (lehet egy vagy több is). A tanulási folyamat során a tanító adatok segítségével, megadott bemenetek segítségével beállítjuk a hálózatban levő súlyokat és aktivációkat úgy, hogy az elvárt és a tényleges kimenet között minél kisebb legyen a különbség. Ezután a neurális hálózat készen áll, hogy valódi, vagy új adatok alapján a bemenetek segítségével meghatározzuk a nem ismert kimeneteket.

Gyakorlati alkalmazásuk

Három fő csoportba lehet sorolni az alkalmazási lehetőségeket, függően attól, hogy milyen alapadatok alapján, milyen a vizsgálat változó.

1. Osztályozás

Minden osztályozási feladat a címkézett adatállomány (pl. kép egy kutyáról, fájl név: kutya.jpg) segítségével történik meg. Az emberi értelem alapján kell strukturálni a neurális hálózatokat, úgy hogy megismerjék a címkék és az adatállomány közötti kapcsolatot. Ezt a folyamatot más néven felügyelt tanításnak is hívják.

Példák lehetnek:

– arcok észlelése, képeken lévő emberek azonosítása, arckifejezések felismerése (öröm, düh),
– képeken lévő objektumok azonosítása,
– gesztusok felismerése videó felvételeken,
– hangok észlelése, emberi beszéd szöveggé átalakítása,
– szöveg vagy e-mail üzenet osztályozás (spam, csalók), üzenet feladó hangulatának felismerése (ügyfél boldog vagy csalódott).

Bármely ember által generált címkézési rendszer, bármely kimenetel ami érdekes lehet vagy korrelál a bemeneti adatokkal felhasználhatóak a neurális hálózat tanítási folyamatához.

2. Klaszterezés

Klaszterezés vagy csoportosítási feladatok során az egyes paraméterek hasonlóságának észlelése a feladat. A mély tanulási módszer nem igényel címkézés használatát a hasonlóságok felfedezéséhez. A címkék nélküli tanítási folyamatot felügyelet nélkülinek nevezik.

Példák lehetnek:

– keresési feladatok (dokumentumok, képek vagy hangok összehasonlítása),
– anomáliák felismerése: rendellenességek vagy szokatlan viselkedés észlelése (sok esetben a szokatlan viselkedés nagymértékben korrelál a detektálandó és megelőzendő tevékenységekkel – csalás, túlterheléses támadás stb.)

3. Prediktív analitika

Osztályozás segítségével a mély tanulási algoritmus képes korrelációt megállapítani a képet alkotó pixelek és a képen szereplő személy között. Ezt statikus előrejelzésnek nevezzük.

Hasonlóképpen megfelelő minőségű és mennyiségű múltbéli adatok alapján lehet kapcsolatot teremteni a jelen és s jövőbeli események között. A jövőbeli esemény bizonyos értelemben olyan, mint egy címke. A mély tanulás nem törődik az idő, mint tényező fontosságával, csak a legvalószínűbb következő értéket adja meg.

Példák lehetnek:

– hardver meghibásodások (adatközpontok, termelés, szállítmányozás),
egészségügyi problémák előrejelzése (stroke, szívinfarktus előrejelzése statisztikai és hordható eszközök adatai alapján),
– ügyfelek lojalitása (ügyfél kilépési valószínűsége a webes tevékenység és a meta adatok alapján),

Ahogy látható, a múltbéli viselkedés alapján a biztonsággal megjósolható események megjósolhatóak lesznek, így ezáltal megelőzni is könnyebb lesz.

A neurális hálózatok, valamint a prediktív analitika segítségével egy kevésbé meglepő világ felé haladunk. Sosem tudunk olyan rendszereket építeni amelyek teljes egészében megjósolják az ember és természet viselkedését, de a kiszámítható történések biztonságosan kezelhetők lesznek.

A következő részben az aktivációs függvénnyel fogunk foglalkozni, valamint bemutatom milyen neurális hálózat felépítések léteznek a funkcionalitás szempontjából.

Intuíció és komponensek a mesterséges intelligencia mögött

Intuíció és komponensek a mesterséges intelligencia mögött

Amikor a mesterséges intelligencia témakörével kezdünk el foglalkozni, előkerülnek különböző fogalmak: gépi tanulás, mély tanulás, gépi látás, szövegfeldolgozás, neurális hálózatok stb. Annak érdekében, hogy megfelelő alapunk legyen a mesterséges intelligencia különböző áginak pontos értésére, nagyon fontos, értelmezési szempontból megfelelő pozícióba helyezen az ide kapcsolódó fogalmakat.

Ugyanis nem mindegy egy probléma megoldásának folyamatában, hogy a neurális hálózatokra szövegfeldolgozás, előrejelzés, vagy képek azonosítása során gondolunk.

Mesterséges intelligencia

Ahhoz hogy megértsük a mesterséges intelligencia, mint fogalom, ténylegesen mennyire általános és sok mindent magába foglaló divatos kifejezés, érdemes egy rövid részt a történelmi áttekintésnek szentelni.

Nos, ahogy a név azt sugallja, a mesterséges intelligencia (MI), melyet angolul AI-nek (Artificail Intelligence) neveznek, egy módszer, melynek segítségével egy adott számítási platform intelligenssé tehető.

Nehéz elképzelni, hogy egy számítógép vagy egy robot képes legyen különböző feladatok végrehajtására, úgy ahogy azt ember is teszi? Az MI a számítástechnika egyik olyan ága, amelyben a programozási módszerekkel tesszük intelligenssé a gépeket.

A mesterséges intelligencia úttörője, megalkotója, John McCarthy szerint a mesterséges intelligencia az intelligens gépek és intelligens számítógépes programok megalkotásának mérnöki módszere és tudománya.

Intuíció és motiváció az MI mögött

Két szóval: emberi agy. A mesterséges intelligencia alapja és logikája az emberi agy alapján származtatható. Az agy az emberiség valaha volt legkomplexebb és legerősebb eszköze a környezetből érkező jelek feldolgozására és az azokra történő strukturált válaszadásra.

A titkos összetevő, ami az emberi fajt a legintelligensebbé tesz az a neocortex (agykéreg legfejlettebb része, más néven isocortex, vagy új agykéreg). A neocortex segítségével vagyunk képesek gondolkodni, cselekedni vagy emlékezni.

A Te agyadon belül is például a neocortiális memória felelős a képek és az időbeli és térbeli minták tárolásáért. Amikor ezek a képekhez vagy mintákhoz hasonló jelek érkeznek az agyba, előhívásra kerülnek.

Az agy, a tárolt és a megfigyelt események hasonlítja össze, valamint előre jelzi, mire kell figyelni, hallgatni, hogyan kell cselekedni az adott szituációban. Amikor a becslés helyes, az ember komfortosan érzi magát, de meglepetés érzését váltja ki, amikor a jóslat helytelen.

Az emberi agy a környezetből érkező jelek feldolgozása és válaszadás szempontjából nagy számítási teljesítményből fakadó előnnyel rendelkezik az integrált áramkörökhöz képest. Ezen differencia csökkenésének eredményeként került a felfedezésének 50. évfordulója után a középpontba újra.

A következő táblázat jól szemlélteti, hogy az informatika és processzorgyártás töretlen fejlődésének ellenére még mindig milyen különbségek is vannak az emberi agy és egy modern processzor között.

Emberi agy (felnőtt)Processzor (Intel Core 2)
Terület2 500 cm290 mm2
Szerkezetamorfkristályos
Részelemek20 milliárd neuron
240 000 milliárd szinapszis
0.291 milliárd tranzisztor
Méretekneuron: 15 um
szinapszis: 1 um
tranzisztor: 65 nm
Számítási kapacitás30 000 milliárd / mp25 milliárd / mp
Felhasznált energia12 W60 W
Művelet / Joule2 500 milliárd0.4 milliárd

Azonban napjainkban szinte korlátlan mértékben és olcsón áll rendelkezésre számítási kapacitás. Ennek eredményeként a megfelelő algoritmusok használata esetén az emberi reakciókkal hasonló feldolgozási és reagálási idővel rendelkeznek az MI-vel felszerelt rendszerek.

Talán elég ennyi tudomány.

Gyakorlati esetek

Ha egy kicsit visszakanyarodunk a mesterséges intelligencia működésének megértéséhez, talán mindenki emlékszik rá, amikor 4-5 évesen megtanulta az ábécé betűit, később ezekből szavakat, majd mondatokat formált. Ahogy az ember öregszik, kezdetben játétkos formában tanul a környezetből.

Amikor élete során többször elesik egy kisgyerek, az agya fokozatosan megtanulja milyen tényezőkre kell fókuszálni annak érdekében, hogy ez többször ne történjen meg. Gyakorlatilag a fenti példával megegyező módon zajlik az MI rendszerek jelfeldolgozási és tanulási folyamata is.

Ezen intuíció alapján az emberek a 20. században azt gondolták a számítógépeket is képessé lehet tenni adatok alapján összefüggések kialakítására, illetve hogy megfelelő számítási kapacitás esetén, a már megtanult információk alapján döntéshozatalra.

Talán a legjobb egy mondatos összefoglalót a Wikipédia alapján mondhatjuk a mesterséges intelligenciáról: gépek által demonstrált intelligencia, azaz bármely olyan eszköz, mely észleli a környezetét és úgy cselekszik, hogy maximalizálja a siker elérésének lehetőségét

Szükség van intelligens gépekre?

Az egyik legfontosabb ok, amiért szükségünk van MI-re, az a ember által elhagyható feladatok automatizálása. Ne felejtsük el, hogy a számítógépek sokkal kiszámíthatóbban működnek és másodperc tört része alatt képesek bármely számot összeszorozni, mely feladat az ember számára komoly fejtörést okozhat.

Hasonlóképpen, egy számítógépet megtanítunk adatok, nyilvántartások alapján, az ott tárolt információk felhasználásával megjósolni a jövőbeli kimeneteleket, a gép az emberi agyhoz hasonlóan képes felismerni az adatok mintáit és struktúráját.

Következzen egy egyszerű példa. Tegyük fel, hogy van egy, az emberi agyról készült nem megfelelő minőségű, életlen MRI felvétel. Az orvosok számára ez a felvétel használhatatlan, mivel nem képesek megfelelő, pontos diagnózis felállítani bizonytalan adatok alapján.

Ebben az esetben életmentő lehet egy mesterséges intelligencia, mely a gyakorlatban egy számítógépes program. A program képes a korábban megtanult felvételek alapján, a kialakított algoritmusa segítségével az eredeti kép élességét és felbontását megnövelni, ami már használható információval szolgál az orvosok számára.

Léteznek már olyan orvosi alkalmazásai is a MI-nek, mely segítségével ultrahangos vagy MRI képek alapján tumorokat, elváltozásokat képes felismerni. A legnagyobb csavar a történetben az, hogy már most meghaladja az MI programok becslési hatékonysága, a tanult és tapasztalt orvosok eredményeit

Mesterséges intelligencia főkategóriák

Ahhoz, hogy pontosan értsük mit is jelent a mesterséges intelligencia, tudni kell milyen alkalmazási lehetőségek jelentik a részeit. Az MI definiálása során 7 fő kategóriát állapítunk meg a soron következő ábra szerint.

A mesterséges intelligencia 7 főkategóriája és a fontosabb alkategóriák.
A mesterséges intelligencia 7 főkategóriája és a fontosabb alkategóriák.

Gépi tanulás

1. Gépi tanulás (Machine learning): a mesterséges intelligencia egyik szerteágazó és bonyolult része, ahol adatok és matematikai modellek segítségével történik a kitűzött feladatok megoldása. Legfőbb programozási nyelve a Python, amelyek fontosságáról korábban már megemlékeztünk. A gépi tanulás részeiként említhetjük:

1.1. Felügyelt tanulás (Supervised learning) – amikor az adatok rendelkeznek azonosító címkével, így a modell tanítása után a kimenet is címkével azonosítja a felismert osztályt (osztályozás, regresszió).

1.1. Felügyelet nélküli tanulás (Unsupervised learning) – az adatok nem rendelkeznek címkével, a modell így csak az azonos kategóriába tartozó elemeket tudja összekötni (dimenzió csökkentés, csoportosítás).

A felügyelt és a felügyelet nélküli tanulás egyszerűsített ábrája.
A felügyelt és a felügyelet nélküli tanulás egyszerűsített ábrája. Forrás: Western Digital.

1.3. Megerősítő tanulás (Reinforcement learning) – a rendszer egy nulladik állapottal rendelkezik, melyet egy ügynök (esetünk egy egér) kezd el feltérképezni. A cél, hogy az ügynök megszerezze a jutalmat (sajt). Ennek érdekében, több iteráció során mozog a környezetben. A modell azokat a lépéseket értékeli pozitívnak, melynek eredményeként sikerül a jutalmat elérni.

A megerősítő tanulás bemutató ábrája.
A megerősítő tanulás bemutató ábrája. Forrás: Medium.

Nyelvfeldolgozás, beszéd

2. Nyelvfeldolgozás (Natural language processing) – a programok képessége melynek során az emberi nyelv megértése és értelmezése a cél. A nyelvfeldolgozás célja hogy olyan intelligenssé tegye a (számító)gépeket, hogy az emberekkel folyamatos kommunikációt tudjanak fenntartani.

3. Beszéd (Speech) – az eszközrendszer segítségével képesek a programok az írott anyagot beszéddé vagy a beszédet írott anyaggá alakítani (pl. Youtube hangból generált felirat funkciója).

4. Szakértői rendszerek (Expert Systems) – azon számítógépes alkalmazások melyeket egy adott területen komplex problémák megoldására találtak ki. Például mérnökök felvétele esetén szükség van a HR (emberi erőforrások) és a tapasztalt mérnökök közös véleményére, mely alapján eldöntik egy jelöltről, hogy megfelelő az adott pozícióra vagy sem.

Példa egy mesterséges intelligencia által kialakított szakértői rendszer működésére.
Példa egy mesterséges intelligencia által kialakított szakértői rendszer működésére.

5. Tervezés, ütemezés, optimalizálás (Planning, scheduling & optimization) – a gyakorlatban már sok területen alkalmazott (logisztika, raktározás, kőolajfinomítás stb.) technikák, amelyekkel beavatkozó változtatásával lehetséges a rendszer optimumának kiválasztása.

Mesterséges látás, robotika

6. Mesterséges látás (Machine vision) – napjainkban az egyik legdinamikusabban fejlődő ága a mesterséges intelligenciának. Legyen szó orvosi alkalmazásról (CT, MRI felvételek elemzése) vagy az önvezető autók témaköréről. Gyakorlatban a rendszer képes képi vagy videó anyag valós időben történő feldolgozásra, felismerésre és beavatkozásra.

Objektumok detektálása és azonosítása mesterséges látás segítségével.
Objektumok detektálása és azonosítása mesterséges látás segítségével.

7. Robotika (Robotics) – a robotok a mesterséges intelligencia egyik legfontosabb eszközei, ha arról beszélünk, hogyan lehet a programok által meghatározott intézkedéseket a valóságban végrehajtani (pl rakat mozgatás mesterséges látással történő pozícionálással és robot által történő fizikai beavatkozással). A robotok a hatékony eszközei a könnyen automatizálható vagy nagyon veszélyes tevékenységek elvégzésére, úgy hogy közben ne legyen szükség emberi beavatkozásra.

Összefoglalás

Ebből a gyors összegzésből is érezni, milyen változatos és sokrétű témák sorakoznak a nagybetűs mesterséges intelligencia fogalom mögött. Ezzel szerettem volna érzékeltetni, milyen alkalmazások és lehetőséges rejlenek még a továbbiakban, ha valaki képzéssel az MI-ben jártas személy lesz, jelenlegi foglalkozásától függetlenül.

Mesterséges intelligencia trendek 2019-re

Mesterséges intelligencia trendek 2019-re

Ebben a posztban egy könnyű, egyszerű tartalommal készültem. Egy 5 elemes infógrafikán szeretném bemutatni, jelen tudásunk szerint milyen fő változási trendek várhatóak a mesterséges intelligencia (MI) tárgyában a 2019-es évben.

Ebben a posztban egy könnyű, egyszerű tartalommal készültem. Egy 5 elemes infógrafikán szeretném bemutatni, jelen tudásunk szerint milyen fő változási trendek várhatóak a mesterséges intelligencia (MI) tárgyában a 2019-es évben.

A mesterséges intelligencia minden iparág alapvető struktúráját megváltoztatja, legyen szó döntéshozatalról, informatikáról, robotikáról, mezőgazdaságról vagy a kiskereskedelemről. Bill Gates egy korábbi interjújában kijelentette:

“Az MI lehet a barátunk, mivel ez a legújabb technológia, amely lehetővé teszi számunkra hogy több és jobb minőségű terméket vagy szolgáltatást nyújtsunk kevesebb munkaerő felhasználásával”.

Annak ellenére, hogy az MI piaci részesedése majdnem kétszeresére nőtt éves szinten, valószínűleg a jövőben is a várakozások felett fog teljesíteni. 2018-ban Garther által megvizsgált vállalkozások 70%-a tervezte a mesterséges intelligencia valamilyen formáját adoptálni a rákövetkező 12 hónapban.

Ezen felmérés eredményei a korábbi években rendre 40% (2016), 51% (2017) értéket vettek fel. A szervezetek 20%-a tervezi, hogy MI megoldásokat fog alkalmazni a döntéshozatal és a valós idejű utasítások végrehajtására.

Ha érdekel milyen programozási nyelvet érdemes tanulni a mesterséges intelligencia és gépi tanulás gyakorlati alkalmazásához, olvasd el ezt a bejegyzést: 6 ok, amiért a Python a jövő programozási nyelve.

2019-ben várható 5 legfontosabb trend a mesterséges intelligencia témakörében. FORRÁS: SSIDECISIONS.COM
2019-ben várható 5 legfontosabb trend a mesterséges intelligencia témakörében.
Forrás: www.ssidecisions.com

Végezetül két komoly szakember véleménye álljon itt az MI jövőjével kapcsolatosan.

Don Foster, Senior Director, Commvault

“A mesterséges intelligencia és a gépi tanulás módszertana követelmény lesz az új megoldások bevezetésében az egyszerűsített működés végrehajtására.

Az informatikai szakismereti hiányosságok megkövetelik a vállalatoktól, hogy új és innovatív ötleteket alkalmazzanak. Így képesek lesznek a komplex műveletek automatizálására…”

Joe Levy, CTO, Sophos

A mesterséges intelligencia a mindennapi élet része lett az önvezető autók, otthoni asszisztensek (Alexa) és az arcfelismerési megoldásokkal.

Kevésbé feltűnő egyelőre, hogy komoly potenciál rejlik más típusú felhasználás során is. Legyen szó termelésről, logisztikáról, az egészségügyi ellátásról vagy az információs biztonságról. (…) Az MI számottevően nehezebbé teszi a számítógépes bűnűzők számára az érvényesülést…”