Interjú Hajnal Benjáminnal AI Technológia képzésünkről
Hajnal Benjámin orvosi diplomája megszerzése után a Budai Egészségközpontban kezdett dolgozni. PhD tanulmányait 2021-ben kezdte meg az Országos Gerincgyógyászati Központ In Silico Biomechanikai Laborjában. Két mérnök kollégájával dolgozik együtt orvosi képalkotással és biomechanikai végeselem szimulációkkal, amihez AI-alapú megoldásokat is felhasználnak. Korábban már használta a Python programozási nyelvet, és szeretett volna elmélyülni a gépi tanulás, azon belül elsősorban a gépi látás területén. AI Technológia képzésünk elvégzése után beszélgettünk Hajnal Benjáminnal a tapasztalatairól.
Milyen szinten foglalkoztál MI-vel a képzés elvégzése előtt? Minek a hatására döntötted el, hogy szeretnél mélyebben is megismerkedni a mesterséges intelligencia területével?
A mesterséges intelligencia iránt már régóta érdeklődöm. Először 2017 környékén, Andrew Ng méltán híres gépi tanulás kurzusába kezdtem bele a Coursera platformon, de akkor ez túl nehéznek bizonyult számomra, részben a matematikai háttértudás (lineáris algebra, analízis) hiánya miatt, részben mert Octave-ban kellett a feladatokat megcsinálni, amiben nem voltam járatos. Közben az orvosi tanulmányaimmal is foglalkoznom kellett, leginkább a vizsgák letétele utáni időszakokban volt időm elmélyíteni a programozási és ehhez kapcsolódóan az adatelemzéssel és gépi tanulással kapcsolatos tudásomat. Formális keretek között csak középiskolában tanultam némi C#-ot, de ezután önállóan ismerkedtem meg a Python nyelvvel. A PhD tanulmányaimat 2021-ben kezdtem meg az Országos Gerincgyógyászati Központban, ahol a kutatásomhoz szerettem volna felhasználni a gépi tanulást. A képzésről témavezetőmtől, Dr. Lazáry Árontól hallottam először, aki felvetette, hogy ennek a képzésnek a keretein belül fejlesszem tudásomat, és az oklevél megszerzésével bizonyítsam, hogy a gyakorlatban alkalmazható tudással rendelkezem a területen. Mindkét témavezetőm, Dr. Éltes Péter és Dr. Lazáry Áron is azzal kívánták támogatni ezirányú törekvéseimet, hogy beírattak a KÜRT Akadémia AI kurzusára.
Azt vártam a képzéstől, hogy elmélyíthetem a tudásomat a gépi tanulás, és azon belül is leginkább a gépi látás területén. Erre a kitűnő oktatók, a heti egy nap dedikált időráfordítás, valamint a képzést lezáró vizsgamunka elkészítésének nyomása jelentette a garanciát.
A tanultak közül mely módszerek, vagy a képzés mely témái voltak leginkább tanulságosak/hasznosak számodra?
Kezdettől fogva a gépi látás területe volt, ami leginkább vonzott a AI világán belül. Azon kívül, hogy rendkívül látványos, ez a terület a gerincgyógyászattal összefüggő képalkotáson keresztül jól integrálható a kutatásomba is, és nagyon jól kihasználhatók benne a neurális hálók által nyújtott lehetőségek.
Ezek közül melyek azok, amiket a munkád során már alkalmazol is a képzés hatására?
A képzés meghozta a bátorságom, hogy gépi tanulási algoritmusokat használjak fel, vagy akár implementáljak a kutatásomban. Eddig a gerinc CT-alapú, térbeli szegmentálására, gerincröntgen síkbeli szegmentálására, illetve gerincröntgenen a csigolyatestek sarokpontjainak meghatározására használtam fel mesterséges intelligenciát, amit a CT-ből nyert 3D csigolyageometriák álló röntgenfelvételhez való automatikus hozzáillesztésére szeretnék felhasználni. A hozzáillesztésnek a virtuális műtéti tervezés, illetve a végeselemes vizsgálatok pontosításában van szerepe.
Mit gondolsz, milyen mélységű programozási tudásra van szükség ahhoz, hogy valaki tényleg profitáljon a képzésből?
Szerencsére a képzés honlapján van erre vonatkozó leírás, illetve még egy Jupyter Notebook-ot is biztosítottak a szervezők, hogy a leendő résztvevő felmérhesse tudását. A személyes véleményem az, hogy aki programozott már Python nyelven, és tisztában van az alapvető programozási struktúrák implementációjával, illetve van egy általános megértése az objektum orientált programozásról, annak nem lesz problémája a tananyag követésével. Ha Pythonban nem, de más programnyelvben járatos személyről van szó, sok kellemes és pár kellemetlen meglepetés után szerintem gyorsan bele lehet rázódni a Python nyelv használatába.
Mesélnél a projektfeladatodról, ami a vizsgamunkád is volt?
Projektfeladat gyanánt az ágyéki gerincröntgenen lévő csigolyák szegmentálását választottam. Ez úgy képzelhető el, hogy a gerincröntgenen a csigolyák képe egymásra vetül, pontos körvonaluk az avatott szem számára is nehezen felismerhető. Azt a célt tűztem ki, hogy ezeket a csigolyákat az algoritmus a képen felismerje, és pontosan behatárolja. Mivel nem állt rendelkezésemre sok kiinduló adat (nagyjából 60 beteg röntgen - és CT felvételei), illetve a feladat nehézsége miatt kézi jelölés által nehézkes lett volna a tanulóadat létrehozása, kénytelen voltam kreatív megoldást találni. Végül azt találtam ki a probléma áthidalására, hogy CT-felvételekből kiindulva először lefuttattam egy automatikus térbeli szegmentáló algoritmust (Payer és mtsai, 2020), majd virtuális röntgenfelvételeket hoztam létre a DeepDRR (Unberath, 2018) program használatával, melynek eredményeképpen olyan képpárokat kaptam, ahol az egyik kép egy röntgenfelvételnek felelt meg, a másik pedig a röntgenfelvételnek megfelelő maszkokat tartalmazta (a maszkok az egyes csigolyák kijelölései). Hogy minél több tanulóadatot tudjak generálni, a virtuális röntgeneket több szögből is elkészítettem, így mintegy tízszeresen megsokszorozva az adatmennyiséget. Ezen kívül a gépi látásban rutinszerűen alkalmazott egyszerű képfeldolgozáson alapuló augmentációs módszereket is alkalmaztam. A szegmentálásra a Mask-RCNN nevű algoritmust használtam fel, ami kielégítő eredményt nyújtott a virtuálisan generált röntgeneken. Ezután valódi röntgeneken is kipróbáltam a betanított algoritmust, és habár kézi jelölés hiányában ezeken nem tudtam a pontosságot megállapítani, de láthatóan reális predikciókat tudott generálni. Ez alapján sikeresnek tekintettem a projektet, azzal együtt, hogy sok olyan hiperparaméter van, aminek finomhangolásával, illetve több beteg képalkotó anyagának felhasználásával - az automatikus jelölés révén - valószínűleg könnyen és nagy mértékben volna fejleszthető a modell teljesítménye.
Mi volt az, amit egy ilyen projektmunkából hasznosítani tudsz a korábbiakhoz képest?
Korábban csak félig megírt Jupyter Notebook-okat egészítettem ki, amiken gyakorolni tudtam. Ez valóban jó gyakorlás, segítségével meg lehet érteni bizonyos alapkoncepciókat. A projektmunka abban különbözik ettől, hogy sokkal nagyobb teret ad a kreativitásnak, ami egyrészről rendkívül motiváló, másrészt viszont számos olyan váratlan nehézséggel állít szembe, amelyeknek leküzdése elengedhetetlen része a gyakorlatban alkalmazható tudás megszerzésének. Az én esetemben ehhez az is hozzáadódott, hogy részben kaland-, részben tudásvágyból nem a képzés során használt Tensorflow -, hanem a szintén széles körben elterjedt PyTorch keretrendszert használtam a projekt kivitelezéséhez.
A projektmunka során szerzett tudást szinte azonnal tudtam hasznosítani egy jelenleg is futó kutatási projekt kapcsán.
Beváltotta-e a képzés a hozzá fűzött reményeidet? Támogatja-e a céljaidat, amit a képzésen tanultál?
A képzés teljes mértékben beváltotta hozzá fűzött reményeimet. A tananyag jó volt, sikerélményt jelentett az órák végén közösen megoldandó feladatok teljesítése.
Utólag azt gondolom, hogy legnagyobb szükségem arra volt, hogy megkapjam azt a dedikált időt és motivációt, amit a képzés biztosított. Ezek tették lehetővé, hogy kellő mennyiségű energiát fektessek a projektembe, és leküzdjem a felmerülő akadályokat.
Kiknek ajánlanád a képzést?
A képzést azoknak ajánlanám, akiknek van már némi programozási tapasztalatuk, és szeretnék nem csak átlátni, de gyakorlatban is felhasználni a gépi tanulás eszköztárát. A képzés stabil alapot nyújt ahhoz, hogy a későbbiekben tovább tudják képezni magukat az őket érdeklő területen.
Ha érdekel AI Technológia képzésünk, ismerd meg részletes tematikánkat!
Érdekel az AI Technológia képzés
Hozzászólások