Szögi Viktória Rózsa. Szövegfeldolgozás gépi tanulási módszerekkel. Szakdolgozat. Témavezető: Lukács András
|
|
- Ádám Szabó
- 5 évvel ezelőtt
- Látták:
Átírás
1 EÖTVÖS LORÁD TUDOMÁYEGYETEM TERMÉSZETTUDOMÁYI KAR Szögi Viktória Rózsa Alkalmazott matematikus mesterképzés Számítástudomány szakirány Szövegfeldolgozás gépi tanulási módszerekkel Szakdolgozat Témavezető: Lukács András Számítógéptudományi Tanszék Budapest 2018
2 Köszönetnyilvánítás Szeretném megköszönni témavezetőmnek, Lukács Andrásnak, hogy támogatott a szakdolgozatom elkészítésében és végig türelemmel és megértéssel kísért a munkám során. Köszönöm a családom tagjainak, hogy végig mellettem álltak és elviselték a nehezebb időszakaimat. Mindig a lehető legtöbbet nyújtották nekem, amiért nagyon hálás vagyok. Köszönöm a barátaimnak, hogy kitartottak mellettem, elviselték panaszaimat és mindig bizakodással tekintettek felém. Végül, de nem utolsó sorban köszönöm oktatóimnak, hallgató társaimnak és munkatársaimnak az átadott tudást és tapasztalatokat.
3 Tartalomjegyzék 1. Bevezetés 1 2. Gépi tanulás és mély tanulás Gépi tanulás Mély tanulás Egyrétegű előrecsatolt neurális hálózat Többrétegű előrecsatolt neurális hálózat Visszacsatolt neurális hálózatok Konvolúciós neurális hálózatok yelvi modellezés Szöveg klasszifikáció Beszédfelismerés Gépi fordítás Képszöveg generálás Dokumentum összefoglalás Kérdés megválaszolás Vektortér modellek Continuous Bag-of-Word modell Skip-gram modell GloVe modell yelvi modellek optimalizálása Hierarchikus szoftmax egatív mintavétel Egynyelvű analóg kérdések 35
4 1. Bevezetés apjainkban a gépi tanulást és azon belül a mély tanulást használó eljárások olyan alkalmazásokban is előfordulnak, ahol eddig nem voltak jelen. Ahogy a technológia fejlődik, egyre nagyobb teret nyernek maguknak ezek a módszerek. Emellett azt is tapasztaljuk, hogy minél több adatból szereznek ismereteket a modellek, annál jobb eredményeket képesek elérni, ami rendkívül hasznos tulajdonságnak számít, mivel az információ mennyisége az idő múlásával egyre csak nő. A gépi tanulás megítélése jelenleg is nagy ellentéteket szül, de érdemes kiemelni, hogy eddig sok területen segíti és könnyíti az emberek életét. Rengeteg olyan alkalmazás van, ami a hátrányos helyzetű személyeket próbálja támogatni, ilyen például a kerekesszék szemmel való irányítása [31] vagy felirat készítés a jelnyelvhez [38]. Azonban számos olyan is létezik, amelyeket szinte mindenki használ a hétköznapi élete során: levélszemét szűrőket [42, 18], arcfelismerőt fénykép készítésnél [36] vagy akár az ajánlórendszereket [44]. Sok törekvés van például arra is, hogy valós idejű fordító programot tudjunk készíteni, hogy ezáltal áthidaljuk a nyelvi akadályokat a különböző kultúrák között. Véleményem szerint az egyik célja a gépi tanulásnak az is, hogy ne nekünk kelljen a gépek nyelvére lefordítani, hogy milyen feladatot várunk el tőle, hanem ő értse meg a mi szavainkat. A gépi tanulásnak egy fontos kutatási és felhasználási területe a természetes nyelvfeldolgozás. em véletlenül van kiemelt szerepe, hiszen a nyelv az elsődleges kifejezési formánk, legtöbbször a nyelv használatával adjuk mások tudtára, amit közölni szeretnénk. A nyelvi modellezést többféle szempontból is vizsgálhatjuk. Elemezhetjük szemantika vagy szintaktikai szemszögből is, de akár modellezhetjük feladatok alapján is, amiket meg szeretnénk oldani. A nyelvfeldolgozás egyik nehézsége, hogy végtelen sok különböző mondatot alkothatunk. A nyelvi gazdagság miatt a szabályalapú megközelítések erősen korlátozottak és ebből adódóan is érdemes a nyelvekből gépi tanulási módszerekkel igyekezni kinyerni a szükséges kapcsolatokat. A szakdolgozatban először egy rövid áttekintést nyújtunk a gépi tanulási módszerekről, különleges tekintettel a mély tanulási eljárásokra. Ez a felvezetés szükséges ahhoz, hogy jobban megértsük a később taglalt nyelvi modellezési feladatok működését. Végül egy szemléletes és érdekes feladattal igyekszünk az olvasónak figyelmét felkelteni a témakör nyújtotta lehetőségekre. 1
5 2. Gépi tanulás és mély tanulás Jelen fejezetben a gépi tanulást (machine learning) és azon belül a mélytanulást (deep learning) mutatjuk be, annak érdekében, hogy a később tárgyalt modellek működéséről átfogó képet kapjunk. A fogalmak ismertetése Goodfellow, Bengio és Courville Deep learning című könyve alapján kerülnek bemutatásra [11] Gépi tanulás A gépi tanulás tekinthető az alkalmazott statisztika egy olyan formájának, ami számítógépek használatával szeretne statisztikai becsléseket adni bonyolult problémákra. A tanulás során azt szeretnénk, ha a számítógép képes lenne a megadott adatokból helyes információkat visszaadni a kitűzött feladatra a megszerzett tapasztalatai alapján. Pontosabban Mitchell definíciója szerint [27]: Azt mondjuk, hogy egy számítógépes program tanul E tapasztalatból a T feladatok osztályára nézve P teljesítménnyel, ha a teljesítménye a T-beli feladatokon P-ben mérve javul az E tapasztalat megszerzésével. A gépi tanulás feladatai tipikusan azok, amelyek túl bonyolultak ahhoz, hogy ember által létrehozott szabályalapú programokkal megoldhatóak legyenek. Úgy is tekinthetjük, hogy olyan feladatokat is szeretnénk gépekkel elvégeztetni, amelyekről nem tudjuk, hogy hogyan oldhatóak meg. A feladatokat általában fázisokban írják le, ahol egy fázisban kiderül, hogy hogyan kellene egy példát feldolgozni gépi tanulási algoritmussal. Részletesebben kifejtve, egy példa sajátosságok (features) egy gyűjteménye, amelyeket mennyiségileg mérünk egy tárgyról vagy eseményről, és ezt szeretnénk gépi tanulási rendszerrel feldolgozni. Például, ha a feladat, hogy szeretnénk arcfelismerésre megtanítani egy gépet, akkor példának tekintünk egy képet, és a sajátossága lehet egy pixelének az értékei. A tanulás során a pixelek tulajdonságait használjuk fel ahhoz, hogy a kép megfelelő részeit be tudjuk azonosítani. Mivel szeretnénk kiértékelni, hogy a gépi tanulási algoritmusoknak milyen a teljesítménye, szükségünk van hozzá egy mennyiségi mértékre. Általában ez a P teljesítményi mérték függ a rendszer által elvégzett T feladattól is. Például a klasszifikációnál gyakran pontosságot (accuracy) használunk arra, hogy megmérjük mennyire jó a modellünk, azaz a helyes eredményt adó adatok arányát tekintjük. Azonban tekinthetjük a hibaarányt is (error rate), ami a rosszul megbecsült adatok hányadát nézi. Aszerint, hogy milyen tapasztalatok megengedettek a tanulás során két nagy csoportba is sorolhatjuk a gépi tanulási algoritmusokat: felügyelt és felügyelet nélküli tanulásra. A felügyelt tanulás esetén minden példát egy címkével vagy 2
6 céltárggyal szeretnénk társítani, azaz ezekben az esetekben ismert a helyes eredmény, amit elvárunk a folyamat kimeneteként. Az elvárt értéket szokás célként vagy célkimenetként is nevezni, és a tanulás során a kapott kimenet és a célkimenet közötti különbség minimalizálása a cél. A klasszifikáció is a felügyelt tanulás közé tartozik, előre meghatározott diszkrét kategóriákba szeretnénk osztani a példákat. A felügyelet nélküli algoritmus a hasznos tulajdonságait próbálja megtanulni az adott adathalmaz struktúrájának. A modell eredményének sikerességét gyakran egy kapcsolódó költségfüggvény segítségével mérik, aszerint, hogy ezt mennyire képes az eljárás csökkenteni vagy növelni. Ilyen például a klaszterezés, ami az adatokat különböző csoportokba osztja az osztályozandó pontok hasonlósága szerint. A felügyelet nélküli tanulásra úgy is tekinthetünk, hogy megfigyeli számos példáját egy x vektornak és megpróbálja megtanulni a p(x) valószínűségi eloszlását vagy valamilyen számunkra érdekes tulajdonságát ennek az eloszlásnak. Ezzel szemben a felügyelt tanulás a véletlen x vektor példái mellett egy hozzá tartozó y értéket is megfigyel és megpróbálja megjósolni y-t x-ből, általában a p(y x) meghatározásával. Tehát a felügyelt esetben y előre meg van mondva a gépi tanulási rendszernek egyfajta útmutatásképp, és arra vonatkozóan kell tanulnia. Fontos megjegyezni, hogy nem élesen elválasztható a két fogalom egymástól, rengeteg algoritmus megoldható mindkét módszerrel. Ha tekintjük a p(y x) felügyelt tanulási problémát, könnyen átalakíthatjuk felügyelet nélkülivé: p(y x) = p(x, y) p(x, y ). y Azonban egy felügyelet nélküli feladat is sokszor átfogalmazható felügyelt tanításúvá, például, ha x R n és használjuk a láncszabályt: 2.2. Mély tanulás p(x) = n p(x i x 1,..., x i 1 ). i=1 A mély tanulási módszerek a gépi tanulási eljárások közé tartoznak. Mióta a kétezres években megjelent ez az új területe a tanulásnak, ezen technológia fejlődésével többféle definíció is megfogalmazódott róla. Tekinthetünk úgy rá, mint a gépi tanulás egy olyan osztálya, amely nemlineáris információ feldolgozást használ több rétegen keresztül felügyelt vagy felügyelet nélküli módon sajátosságok kiértékelésére, transzformációkra, minta felismerésre és klasszifikációra. Azt is mondhatjuk, hogy olyan algoritmusok amik több, különböző absztrakciós szintnek megfelelően próbálnak tanulni. Két fontos tényezőt érdemes kiemelni, 3
7 ha a mély tanulási eljárásokról beszélünk, hogy a modellek több rétegű innen ered a mély elnevezés nemlineáris információ feldolgozó módszerből állnak, illetve a sajátosságok reprezentációjához egymás után egyre absztraktabb rétegeket használnak. Ezeknek a statisztikai modelleknek a magasabb szintjei alacsonyabb szintű elgondolásokból állnak elő, ám az alacsony szintű megoldások általában nem csak egyfajta magasabb szintű fogalom meghatározására képes, hanem többfélére is. A manapság leginkább használt mély tanulási modellek alapjai a neurális hálózatok (neural network), ezért először rövid áttekintést nyújtunk róluk, majd láthatunk néhány speciális hálózat típust is [8]. Egy neurális hálózat egy erőteljesen párhuzamosan elosztott processzor, amely egyszerű feldolgozó egységekből épül fel, amelyeknek természetes hajlamuk a tapasztalatokból szerzett tudás tárolása és hozzáférhetővé tétele. A neurális hálózatokat a biológiai idegrendszer működéséről mintázták és két szempontból hasonlítanak az agyra: a tudást a hálózat tanulás során a környezetből szerzi meg, a súlyok tárolják a megszerzett tudást. Más szavakkal élve a mesterséges neurális hálózatok az emberi agy modellezési fajtái, ahol a feldolgozó egységekre neuronokként tekintünk. Egy neuron modellezésénél a következő három elem fontos szerepet játszik: 1. A szinapszisok vagy összekötő láncok egy halmaza. Ezeknek mindegyikéhez tartozik egy-egy súly. Formálisabban, ha a j összekötő lánc bemenete az x j jel, és a lánc a k neuronhoz kapcsolódik, akkor a jel a w kj súllyal lesz megszorozva. Az agytól eltérően itt a súlyok lehetnek negatív értékek is. 2. Egy összeadó, ami összegzi a bemeneti jeleket a megfelelő súlyokkal, azaz vesz egy lineáris kombinációt. x 1 w k1 b k x 2. w k2. φ( ) y k x m w km 1. ábra. euron modell 4
8 3. Egy aktivációs függvény, amely a kimenet nemlinearitását tudja adni... A neurális modellek gyakran tartalmaznak egy torzítást/eltolásértéket (bias) is, jelöljük ezt most b k -val. Az eltolásérték az aktivációs függvény bemeneti értékét befolyásolja. Most formálisan is leírjuk a modellt és az 1. ábrával szemléltetjük: u k = m w kj x j j=1 y k = φ(u k + b k ) A fenti egyenletekben x 1,..., x m a bemeneti jelek, w k1,..., w km a hozzájuk tartozó súlyai a k neuronnak, u k a lineáris kombináció kimenete a bemenetre vonatkozóan, b k az eltolásérték, φ( ) az aktivációs függvény és y k a neuron kimeneti jele [16] Egyrétegű előrecsatolt neurális hálózat A neuron modell után, megjelentek a továbbfejlesztett algoritmusok, amelyek arra épülnek, hogy több rétegbe rendeznek neuronokat és ezeket összekapcsolják. A legegyszerűbb rétegezett neurális hálózat az egyrétegű előrecsatolt hálózat (single-layer feedforward network), amiben van egy bemeneti rétege (input layer) a forrás csúcsoknak és ezek közvetlenül kapcso- Bemeneti Kimeneti réteg réteg lódnak a kimeneti (output) réteg neuronjaihoz. Azonban a kimeneti réteg 2. ábra csúcsai nem csatlakoznak a bemeneti réteghez (lásd a 2. ábrát), emiatt hívjuk előrecsatolt hálózatnak. A bemeneti csúcsokon nem végzünk számításokat, ezért ezt a réteget nem vesszük figyelembe a hálózat névadását illetően, így egyrétegű hálónak nevezzük ezt a modellt Többrétegű előrecsatolt neurális hálózat A többrétegű (multilayer) előrecsatolt hálózat (3a. ábra) abban különbözik az egyrétegűtől, hogy a bemeneti és kimeneti rétegen kívül tartalmaz még egy vagy több rejtett (hidden) réteget. Ezekben a rejtett rétegekben is számítási csúcsok vannak, és rejtett neuronokként vagy rejtett egységekként hivatkozunk rájuk. 5
9 A rejtett elnevezés onnan ered, hogy a hálózat ezen részeit nem látjuk közvetlenül a tanulás során. A rejtett rétegek hozzáadásával a hálózat képes lehet magasabb rendű statisztikákat kinyerni a bemenetből. Tekinthetünk rá úgy, hogy a háló globálisabb képet nyer az adatokról a több kapcsolat miatt. A hálózatban a bemeneti réteg csúcsai az első rejtett réteg megfelelő neuronjaihoz kapcsolódnak, míg a rejtett réteg neuronjai mindig a következő rejtett réteghez kapcsolódnak. Legvégül az utolsó rejtett réteg a kimeneti réteghez kapcsolódik. A kimeneti rétegből származó kimeneti jeleket tekintjük a hálózat válaszának a bemenetre vonatkozóan. Bemeneti réteg Rejtett réteg Kimeneti réteg Bemeneti réteg Rejtett réteg Kimeneti réteg (a) Többrétegű előrecsatolt neurális hálózat (b) Visszacsatolt neurális hálózat Visszacsatolt neurális hálózatok A visszacsatolt (recurrent) hálózat abban tér el az előrecsatolt társától, hogy van benne visszacsatolt hurok, azaz van olyan kapcsolat a hálóban, ami egy későbbi rétegből egy korábbiba vezet. Ezeket a visszacsatolásokat egyfajta memóriaként használja a hálózat a tanítás során. Ha több tanítási fázis van, akkor például a t-edik fázisban felhasználhatjuk a t 1-edikben kiszámított információinkat Konvolúciós neurális hálózatok A konvolúciós neurális hálózatok (convolutional neural networks) olyan neurális hálózatok, amelyeket képeken való mintafelismeréshez fejlesztették ki. A motiváció a modell mögött, hogy a korábbi eljárásokkal nagyon sok neuronra volt szükség már az első rejtett rétegben, ha a bemeneti réteg egységeiként a kép pixeleit képzeljük el. Egyszerűen a rétegek számának növelésével nem lehet áthidalni 6
10 a nagy dimenzió problémáját. Ennek az egyik oka a korlátozott számítási képesség, hiszen minél összetettebb egy hálózat, a tanítás is annál költségesebb lesz. A másik ok a túltanulás (overfitting), amikor ahelyett, hogy az általános összefüggéseket tanulna meg a modell, a minta egyedi sajátosságait jegyzi meg [21, 29]. A konvolúciós hálókban az egy rétegben levő neuronok három dimenzióba vannak rendezve, és ha a képekre gondolunk, az első kettő a geometriára vonatkozik (szélesség, magasság), a harmadik a mélység, alapvetően ebből nyerjük majd ki a sajátosságokat. Emellett jellemző ezekre a hálózatokra, hogy egy adott rétegben levő neuronok, csak a megelőző rétegbeli neuronok egy részéhez kapcsolódnak. Ha például van egy 28 pixel széles és 28 pixel magas színes képünk, akkor a bemenet dimenziós lesz, ahol a mélység tengelyén a pixelek sajátosságait szeretnénk kinyerni és mivel színes képről van szó egy pixel megjelenése jól leírható a piros, zöld és kék színhármassal, emiatt lesz a három a mélység értéke. A kimenet 1 1 n-es lesz, ahol n jelölheti az osztályok számát, amikbe a képeket be szeretnénk kategorizálni. A konvolúciós hálók háromféle rétegből állnak: konvolúciós réteg: itt tanítható magokat vagy más néven szűrőket (kernel) használunk. Ezek a magok általában alacsony térbeli dimenzióval rendelkeznek, de megőrzik a bemenet mélységének dimenzióját. A tanítás során = ábra. Konvolúció 1 ebben a rétegben minden szűrőt lásd a 2. mátrixot a 4. ábrán végigcsúsztatunk a bemeneten 1. mátrix a 4. ábrán széltében és hosszában is és kiszámoljuk a skaláris szorzatokat a szűrő elemei és a bemenet pontjai között. Ennek eredményeképpen létrejön egy-egy 2 dimenziós aktivációs térkép 4. ábra 3. mátrixa. Három hiperparamétert is meg kell adnunk ennél a rétegnél. Az első a szűrők száma, ugyanis ez megegyezik a réteg kimenetének a mélységével. A következő a lépésköz, hogy hány egységgel 1 Az ábra a következő oldal alapján készült: index.html 7
11 csúsztatjuk odébb a szűrőt a konvolúció során ennek értéke általában 1 szokott lenni. A harmadik paraméter a nulla-feltöltés (zero-padding), ami azt határozza meg, hogy a bemeneti mintát hány réteg nulla értékű mezővel határoljuk körül (lásd az 5. ábrát). A bővítés lényege, hogy ezzel szabályozni tudjuk a kimenet dimenzióját (a szélességet és a magasságot), így akár a bemenettel megegyező dimenziós értéket kaphatunk ábra. ulla-feltöltés összevonó (pooling) réteg: a célja a dimenziócsökkentés, aminek hatására a számítási összetettség kisebb lesz és a túltanulást is korlátozza. Az eljárás, hogy egy ablakkal (ami általában egy 2 2-es mátrix) végigmegyünk az aktivációs térképen, és vesszük az elemek maximumát, vagy az átlagát. Általában 2-es lépésközzel haladunk. Minden aktivációs térképre külön hajtjuk végre ábra. Maximum összevonó teljesen összekötött (fully-connected) réteg: ezen a szinten az összes neuron közvetlenül kapcsolódik a két szomszédos réteg összes neuronjához, de rétegen belül nincsenek összeköttetésben. 8
12 3. yelvi modellezés A természetes nyelvfeldolgozás (natural language processing) mindennapjaink során is fontos szerepet tölt be. Vannak például olyan eljárások, amelyek a helyesírásunkat ellenőrzik, ezek segítségünkre lehetnek levélírás során is. Emellett az automatikus kiegészítő eljárások is meggyorsíthatják a rutin teendőinket. Például amikor internetes keresőrendszert használunk, gyakran nem kell kiírnunk a teljes kifejezést, a szolgáltatás már egy-két szó után felajánl lehetőségeket, hogy miről listázzon nekünk találatokat. Az üzeneteink írását is segíthetik ezek az eljárások, amik pár karakter beírása után kiegészítik a leírni kívánt szavainkat vagy kijavítják a tévesen bevitt szövegünket. Mivel még rengeteg felhasználási területe van a nyelvfeldolgozásnak, ezért a dolgozatban nem térünk ki az összesre, ámbár ismertetünk néhány eljárást ebben a fejezetben, amelyek mély tanuláson alapulnak Szöveg klasszifikáció A szöveg klasszifikáció lényege, hogy a vizsgált dokumentumhoz hozzárendeljen egy címkét, ezzel besorolva őt egy adott témába. A kategóriák, amikbe besorolható a szöveg, előre meg vannak adva. Az alább felsorolt feladatok is ebbe a csoportba tartoznak. Érzelem elemzés (sentiment analysis): a folyamat során azt szeretnénk eldöntetni, hogy a vizsgált szöveg negatív vagy pozitív hangvételű; esetleg egy kicsit finomabb skálán próbáljuk meg eldönteni, hogy milyen hangulatú a vizsgált bemenet. Gyakran használják ezt a módszert termékek értékelésének elemzésekor, vagy akár filmekről írt vélemények besorolására. Levélszemét szűrés: érdemes említést tenni a spam szűrő rendszerekről (spam detection) is, hiszen ez az eljárás fontos szerepet tölt be abban, hogy az egyszerű felhasználók ne essenek áldozatul hamis üzeneteknek. Emellett pedig kellemesebbé is teszi a levelező rendszerek használatát, hiszen sok nem kívánatos, érdektelen üzenetet szelektál ki, így hatékonyabbá teszi a fontos információkhoz való hozzáférést. yelv felismerés: Meghatározza, hogy milyen nyelvhez tartozik a dokumentum. Olyankor lehet fontos, ha meg szeretnénk érteni egy külföldi irodalmat, de nem tudjuk, hogy milyen eredetű. Műfaj felismerés: A dokumentumokat klasszifikálja műfajok szerint. 9
13 A szöveg klasszifikáció során gyakran alkalmaznak konvolúciós neurális hálókat [41, 22, 19, 20], ezért most példaként röviden bemutatjuk Yoon Kim mondat klasszifikációs modelljét [22]. Ez az eljárás olyan konvolúciós hálózatokat használ, melynek bemenetei szóvektorok. Ezeket a szóvektorokat egy másik nyelvi modellből veszi, amikről részletesebben beszélünk a 4. fejezetben. Jelölje x i R k a mondat i-edik szavához tartozó k dimenziós szóvektort, amit a másik nyelvi modellből nyerünk ki. Ekkor egy n hosszú mondat a következőképpen írható le formálisan: x 1:n = x 1 x 2... x n, ahol az összefűzés (concatenation) műveletét jelöli. Bevezetünk egy általánosabb jelölést is: x i:i+j = x i x i+1... x i+j, ami egymás utáni j szó összekapcsolását adja meg. A konvolúciós rétegben egy w R h k szűrőt használunk, amely h szóra alkalmazva eredményez egy új sajátosság vektort. Tehát, ha az x i:i+h 1 szavakra alkalmaztuk a szűrőt, akkor a c i = f (w x i+h 1 + b)-t kapjuk, ahol b az eltolásértéket jelöli és f egy nemlineáris függvény. A szűrőt végigcsúsztatva a mondat szavain kinyerjük a c = [c 1, c 2,..., c n h+1 ] aktivációs térképet. Az összevonó rétegben max-overtime [7] függvényt használunk, ami megadja a legnagyobb értékű, azaz a legfontosabb sajátosság vektort az aktivációs térképre vonatkozóan: c = max c. Ennek az összevonó technikának nem okoz gondot, hogy változó hosszúságú mondataink vannak. A modellben több különböző szűrőt is használnak, eltérő ablak méretekkel, hogy ezáltal többféle sajátosságot kapjanak. Az összevonó réteg kimeneteként kapott egységekre egy teljesen összekötött szoftmax réteget alkalmazunk. Végül ennek az eredménye egy eloszlást ad a címkék felett. A teljes folyamat megtekinthető a 7. ábrán. 7. ábra. Konvolúciós hálózat egy példamondatra 10
14 3.2. Beszédfelismerés A beszédfelismerő eljárások célja, hogy a gépek megértsék amit az emberek mondanak. Általában az elhangzott beszédet írásos szöveggé alakítják ezek a módszerek, majd valahogyan értelmezik és felhasználják a hangokból kinyert tartalmat. Ilyen feladatok például a beszéd vagy a filmek feliratozása, de lehet egy olyan rendszer, amely vezetés közben képes irányítást adni egy megadott kérdésre vonatkozóan. A rekurrens és a konvolúciós neurális hálók alkalmazása gyakori ebben a feladatkörben [45, 1, 14, 15]. Az alábbiakban ismertetjük a [45]. publikációban bemutatott modellt. A következő modellt arra tesztelték, hogy képes-e a megfelelő fonémákat társítani a hangokhoz. Ez az eljárás egy hibrid felépítésű módszer, mivel két technikát ötvöz, ugyanis konvolúciós neurális hálót és kapcsolatos időzített klasszifikációt (connectionist temporal classification) is használ. A korábbi módszerek konvolúciós hálózatok helyett általában visszacsatolt hálózatokkal dolgoznak, mivel jó eredmények érhetőek el velük a beszédfelismerés során. Azonban ezeknek a hátránya, hogy nagyon lassan tanulnak és a gradiens értékek felrobbanhatnak a tanulás során, mivel ezek egyre nagyobb értékeket vesznek fel [5]. Az említett problémáknak a kiküszöbölésére szolgál az újabb modell. Ahhoz, hogy az eljárás eredményesen működjön, szükség van hosszútávú függőségek használatára, emiatt több egymásba ágyazott konvolúciós réteget tartalmaz a modell. Emellett kisméretű szűrővel dolgozik, ami a lokális sajátosságok megtanulását segíti elő. A rétegek a következőképpen követik egymást: Bemeneti réteg. Konvolúciós réteg, amit egy maxout aktivációs függvény követ. Maximum-összevonó réteg. Újabb konvolúciós rétegek, amiket szintén maxout követ. Ez kilencszer ismétlődik meg egymás után. Három teljesen összekötött réteg, amiket megint csak maxout aktivációs függvény követ. Kapcsolatos időzített klasszifikáció. Kimenet. Konvolúció: Jelölje X R c b f a bemenetként adott akusztikus értéket, ahol c a csatornák száma, b a frekvencia sávszélessége és f az időtartam. A rétegben k darab szűrő van, ahol minden egyes W i R c m n. A H i R k b H i f Hi aktivációs függvényeket a következőképpen kapjuk meg: H i = W i X + b i, ahol 11
15 b i egy eltolásérték, pedig a konvolúciós műveletet jelöli. A modell nulla-feltöltést használ, hogy az eredményül kapott f Hi dimenziók megegyezzenek f -fel. A konvolúciós lépésköz értéke 1. Maxout: A maxout aktivációs függvény két aktivációs térkép jelöltnek veszi a maximumát: H i = max(h i, H i ) = (W i X + b i, W i X + b i ) [12]. Összevonó: Az összevonást csak a frekvencia tengely mentén végezzük el, az idő tengely mentén nem. Egy maximum összevonót használunk, ahol p az összevonó mérete és s a lépéstávolság. Formálisan az (r, t) pozícióban kapott kimenete az összevonó rétegnek: [Ĥ i ] r,t = max p j=1 [ H i ] r s+j,t. A modellben csak egy ilyen réteget használunk, mivel több összevonó használatával csökkenhet a hatékonysága annak, hogy a különböző sajátosságokat megtanulja a rendszer [34]. Kapcsolatos időzített klasszifikáció: Tekintsük azt a feladatot, hogy az X = {x 1,..., x T } bemeneti szekvenciából szeretnénk megkapni Z = {z 1,..., z L } cél szekvenciákat, azaz beszédfelismerésnél az X akusztikus jelből szeretnénk a Z szimbólumok szekvenciáját megkapni. Tehát a p(z X) valószínűséget szeretnénk minden bemenet-kimenet párra maximalizálni. Az egyik módszer ahhoz, hogy megkapjuk a változó hosszúságú kimeneti szekvenciák eloszlását a náluk sokkal hosszabb szekvenciájú bemenetekből, az egyik mód, hogy bevezetünk O = {o 1,..., o T } látens szekvenciákat. Majd egyes Z szekvenciák valószínűségét, a hozzá tartozó látens szekvenciák összegéből kapjuk meg. A klasszifikáció minden időlépésben meghatároz a hálózat kimenetéhez egy eloszlást a látens szekvenciák felett a szoftmax függvény segítségével. Ez a kimeneti jelek ábécéjének címkéihez p(o t X) valószínűséget köt az adott időben. Egy üres címkét is használunk, ami annak a valószínűségét reprezentálja, hogy egy szimbólumnak az adott lépésben nem volt megfelelő kimenete. Az így kapott eloszlást átalakítjuk egy olyan σ leképezést meghívva egymás után több alkalommal, amely először egyesíti az egymást követő nem üres címkéket egy címkévé, majd kitörli az üres címkéket. Formálisan leírva a következő a célunk: h(x) = arg max p(z X) = arg max o σ 1 (Z) p(o X). A modell a maximalizálás megoldására a legjobb útvonal dekódolást használja (best path decoding, [14]) Gépi fordítás A gépi fordítás a különböző nyelvekből adódó problémákat szeretné áthidalni azáltal, hogy szöveget vagy beszédet fordít egy adott nyelvről egy másik nyelvre. Különböző neurális háló modelleket is kifejlesztettek a fordító programok 12
16 fejlesztésére [23, 24, 3, 37], mi most egy olyat tekintünk példaként, ami visszacsatolt neurális háló használatára épül és egy úgynevezett kódoló-dekódoló (encoderdecoder) eljárást használ [4]. A kódoló eljárás általában egy fix hosszúságú vektorrá alakítja a forrás mondatot, majd a dekódoló kimenete egy fordítást ad a kódolt mondatról. A kódoló és a dekódoló folyamatok együtt maximalizálják a fordítás eredményességének valószínűségét. Először tekintsük a legegyszerűbb visszacsatolt neurális hálóhoz tartozó kódoló-dekódolót. A bemeneti mondatot jelölje x =(x 1, x 2,..., x Tx ), amit a kódoló c vektorba olvas be. A rejtett réteg állapota t időpontban h t = f (x t, h t 1 ), ahol f egy nemlineáris függvény. c vektort pedig a rejtett réteg állapotaiból generáljuk egy q nemlineáris függvénnyel: c = q({h 1,..., h Tx }). A dekódolót gyakran arra tanítjuk, hogy megjósolja az y t szót a c vektor és a korábbi megjósolt y 1,..., y t 1 szavakból: p(y) = T y p(y t {y 1,..., y t 1 }, c), t=1 ahol y = (y 1,..., y Ty ). Felhasználva a visszacsatolt háló sajátosságait a feltételes valószínűséget a következő alakban is felírhatjuk, ahol s t a rejtett réteg egy állapotát jelöli és g nemlineáris, többrétegű függvény: p(y t {y 1,..., y t 1 }, c) = g(y t 1, s t, c). Most tekintsük egy fejlesztett változatát a korábbi modellnek, ahol egyszerű visszacsatolt háló helyett kétirányú visszacsatolt hálót [35] használunk kódolóként. Először taglaljuk a dekódoló felépítését. Ebben a modellben a következőképpen felírt feltételes valószínűségeket szeretnénk meghatározni, ahol s i a háló rejtett rétegének állapotát jelöli az i-edik fázisban: p(y i {y 1,..., y i 1 }, x) = g(y i 1, s i, c i ). Tehát ebben a modellben különböző c i vektorokat használunk minden y i elvárt szóra, a rejtett réteg állapotát pedig a következőképpen írhatjuk le: s i = f (s i 1, y i 1, c i ). A c i vektorok függnek a (h 1,..., h Tx ) értékektől amelyekre a kódoló résznél térünk ki részletesebben, mivel ezek a bemenetként kapott mondathoz kapcso- 13
17 lódnak és a következőképpen kapjuk meg: c i = T x α ij h j, ahol α ij = exp(e ij) j=1 exp(e ik ) T x k=1 és e ij = a(s i 1, h j ). 8. ábra. A kódoló dekódoló eljárás, miközben (x 1, x 2,..., x T ) bemeneti mondat alapján kiszámolja a t-edikként elvárt szó értékét. Ezt a modellt, illesztő (alignment) modellnek nevezzük, ami azt pontozza, hogy a bemenet a j-edik pozíció körül az i-edik pozíciójú kimenettel mennyire fér össze. a lehet előrecsatolt neurális háló, amely együttesen tanul a rendszer többi részével. Most tekintsük a kódoló eljárást, hogy teljes képet kapjunk a rendszerről. Az egyszerűbb eljárásban, amikor nem kétirányú hálót használunk,akkor a bemeneti mondatunkat az x 1 szótól kezdve olvassuk be az x Tx -edikig. Vagyis a rendszer, csak a korábbi szavakból használ fel információkat, viszont mi a rákövetkezőket is szeretnénk figyelembe venni. Emiatt használunk kétirányú hálózatot, ami tartalmaz előre irányú és a visszafele irányú visszacsatolt neurális hálót is. Az f előre irányú hálózat x 1 -től x Tx dolgozza fel a bemenetet és ezekből kiszámolja az ( h 1,..., h Tx ) rejtett állapotokat. Ezzel szemben az f ellentétes irányú hálózat x Tx -től x 1 fele olvas be, és a ( h 1,..., h Tx ) rejtett állapotokat eredményezi. A korábban említett h j értékét a két különböző irányú rejtett j-edik állapotok összefűzéséből kapjuk meg: h j = [ h T j ; h T j ]T ami tartalmazza a megelőző és rákövetkező szavak információit is. A modellt a 8. ábra szemlélteti Képszöveg generálás A folyamat célja, hogy a gép le tudja írni, hogy mi látható egy képen, tehát egy rövid összegzést szeretnénk a képről kapni. Felhasználhatjuk akár videó leírások, ajánlások készítésére is. Ebben a feladatkörben gyakran használnak speciális visszacsatolt neurális hálókat [13, 39, 40]. 14
18 3.5. Dokumentum összefoglalás Az eljárás során szeretnénk egy rövid összefoglalást nyerni a megadott tartalomról [6, 33, 28]. Ez lehet egy absztrakt készítése is egy cikkhez, vagy akár egy címadás egy dokumentumnak. Kétféle módszer is lehetséges: a modell használhatja csak a szövegből nyert információkat, vagy korábbi tapasztalatokat is beépíthet a végrehajtás során Kérdés megválaszolás A kérdés megválaszolás (question answering) lényege, hogy egy megadott témakörből kell a gépnek kérdésekre válaszolnia úgy, hogy először feldolgozza a hozzá tartozó irodalmat [17, 43, 9]. Tehát meg kell találnia a kapcsolatot a kérdés és a szöveg között, egyfajta értelmezésről van szó. A kérdésekre általában egyszerű kifejezéseket várnak válaszként például egy nevet vagy egy helyszínt. 15
19 4. Vektortér modellek A vektortér modelleknek a célja, hogy megtanulják a valószínűségi kapcsolatokat, amelyek a szavak között fennállnak. Ezeknek a segítségével lesznek képesek a korábban említett dokumentum összefoglalásra is vagy akár egy mondat kiegészítésére. A továbbiakban három modellt tekintünk részletesen, amelyek nagy népszerűségre tettek szert az elmúlt pár évben, a megjelenésük óta. Ezek a modellek olyan módon reprezentálják alacsonyabb dimenzióban a bemenetként kapott szavakat, hogy közben a szemantikai sajátosságokat megtanulják. Azon szavak, melyek jelentése hasonló, közel kerülnek egymáshoz a kapott sűrű dimenzióban és további tulajdonsága ezen reprezentációnak, hogy a hasonlóan eltérő szavak távolságai közel azonosak, például: v(anya) v(apa) v(lány) v(fiú), ahol v(x) az x szó vektor reprezentációját jelöli. Vagyis a távolságok egyfajta szemantikai jelentést foglalnak magukban Continuous Bag-of-Word modell w n c w n c+1. w n 1 w n w n+1. w n+c 1 w n+c Bemeneti Rejtett Kimeneti réteg réteg réteg 9. ábra. CBOW modell A Continuous Bag-of-Word, továbbiakban CBOW modellel azt a folyamatot szeretnénk reprezentálni, amikor egy konkrét szóra következtetünk az ő környezetéből [25, 32, 10]. Másképpen megfogalmazva egy adott szövegkörnyezetet szeretnénk helyesen kiegészíteni a hiányzó szóval. Ennek a szemléltetését láthatjuk az ábrán is. Képletesen, ha w 1, w 2,..., w -nel jelöljük a teszthalmazunkban adott szavak sorozatát, akkor a következő célfüggvényt szeretnénk maximalizálni a tanítás során: 1 n=1 t c t =0 log p(w n w n+t ), (1) ahol c határozza meg, hogy egy szónak mekkora környezetéből szeretnénk jósolni. Például ha c = 2, akkor egy szót az előtte levő kettő és az utána levő kettő szavakból szeretnénk kikövetkeztetni. A modellben szoftmax függvény segítségével határozzuk meg a p(w n w n c, w n (c 1),... w n 1, w n+1, w n+2,... w n+c ) feltételes 16
20 valószínűségeket, ami azt adja meg, hogy mekkora a valószínűsége annak, hogy az w n -t határoló szavakból helyesen következtetünk rá. Egyszerűsítés: "bigram" modell Az egyszerűség kedvéért először tegyük fel, hogy az aktuális szót csak az őt megelőző szóból szeretnénk megjósolni. A modell 3 réteget tartalmaz, egy bemeneti, egy rejtett és egy kimeneti réteget (lásd a 9. ábrán). A modell bemenete egy w I szó, amit 1 kódolással adunk meg, ha a szótárunk mérete. Pontosabban egy olyan (oszlop)vektorként ábrázoljuk a szót, ahol a k-adik elem 1 és minden más 0, ha a w I k-adik a szótárban. Ha egy D dimenziójú rejtett réteget szeretnénk alkalmazni, akkor egy D méretű W súlymátrixot fogunk használni a bemeneten, formálisan: h = w T I W, v wi : = w T I W. Tehát a használt aktivációs függvény lineáris a rejtett rétegben és egy h kimenetet eredményez. Mivel w I minden eleme 0 a k-adik kivételével, a súlyozást végrehajtva W-nek k-adik sorát kapjuk meg. Emellett tekinthetjük úgy, hogy W minden sora a bemeneti w I szó egy vektor reprezentációját adja meg, ezt a fenti egyenletben v wi -vel definiáljuk. Ahhoz, hogy a rejtett rétegből meghatározzuk a kimenetet egy másik, D dimenziójú W súlymátrixot fogunk használni. Jelölje v T w j ennek a súlymátrixnak a j-edik oszlopát. Ekkor a j-edik szót a következőképpen pontozzuk: u j = v T w j h. Ezután egy szoftmax osztályozót használva megkapjuk a keresett posterior eloszlást, azaz annak a valószínűségét, hogy a j-edik szót kapjuk, feltéve, hogy a bemenet w I volt. p(w j w I ) = y j = exp(u j), exp(u i ) i=1 ahol y j -t a kimeneti réteg j-edik egysége adja meg. a bevezetett jelölésekkel: Átalakítva az eredményt p(w O w I ) = exp(v T w O v wi ) w=1 exp(v T w v wi ) (2) 17
21 Megjegyezzük, hogy v w -t gyakran szokás a w bemeneti, v w-t pedig a w kimeneti vektornak nevezni. Tanítás Ebben az esetben a tanítás célja, hogy maximalizáljuk azt a feltételes várható értéket, hogy w I bemenet mellett, az elvárt w O lesz a kimenet. Tegyük fel, hogy w O a szótár i-edik szava. Azaz formálisan: max p(w O w I ) = max y i = max log y i = max log exp(u i) E : = u i log k=1 k=1 exp(u k ) exp(u k ), = u i log k=1 exp(u k ), ahol E = log p(w O I ) a veszteség függvény, amit szeretnénk minimalizálni. Backpropagation algoritmust fogunk használni a súlyok javításához. Először a kimeneti és a rejtett réteg közötti súlyokat kell módosítanunk. Ehhez első lépésben ki kell számolnunk minden kimeneti egységre a becslési hibát: E u j = y j t j, e j : = y j t j, ahol t j = 1, ha a j-edik egység éppen az elvárt kimenet (j = i), különben 0. A W mátrix hibáját a következő deriváltból kapjuk meg: E w kj = E u j u j w kj = e j h k, ahol w kj a mátrix k-adik sorának j-edik elemét jelöli, h k pedig a h vektor k-adik eleme. A sztochasztikus gradiens tanulási szabályt alkalmazva kapjuk meg a frissített súlyokat W -re: átalakítva: v (új) w j w (új) kj = w (régi) kj η e j h k, = v (régi) w j η e j h j = 1, 2,...,, (3) ahol η > 0 a tanulási ráta. 18
22 Következő lépésként a bemeneti és a rejtett réteg közötti súlymátrixot kell javítanunk. Deriváljuk E-t a rejtett réteg kimenetei szerint: E h k = j=1 A k : = e j w kj. E u j u j h k = e j w kj, Itt A k egy olyan V dimenziós vektor lesz, ami a kimeneti vektorokat súlyozza a becslési hibáikkal, majd ezeket összegzi. Tekintsük E W szerinti deriváltját: E = E u j = A w lk h k w k w I,l lk ahol w I,l a bemeneti vektor l-edik elemét jelöli. a következő formula, ahol a tenzorszorzatot jelöli: E W = w I A = w I A T. Ezzel ekvivalensen felírható Mivel w I csak egy helyen vesz fel 1-et és mindenhol máshol 0, a fenti egyenlet A T mátrix egy sorának értékét adja, melynek dimenziója D. Ebből a következő egyenletet kapjuk W frissítéséhez: v (új) w I = v (régi) w I ηa T. W többi sorát nem kell változtatnunk ebben a lépésben, mivel a deriváltjuk 0. Kiterjesztés Az általános modellben nem egy szóból szeretnénk megbecsülni a következőt, hanem egy adott kontextusból szeretnénk meghatározni a hiányzó szót. Az előző egyszerűsített modellt úgy módosíthatjuk ilyen esetben, hogy nem egyszerűen egy bemenetre alkalmazzuk a súlyfüggvényt, hanem az összes bemeneti vektorra. A rejtett réteg bemenetét pedig ezeket átlagolva kapjuk meg: h = 1 2c WT t c t =0 w t = 1 2c vw T t, t c t =0 ahol c határozza meg, hogy egy szónak mekkora környezetéből szeretnénk jósolni. v w -t a w bemeneti vektora. 19
23 A veszteség függvény a következőképpen határozható meg: E = log p(w O w I, c,..., w I,c ) = u i + log = v T w O h + log k=1 exp(v T w k h) k=1 exp(u k ) A korábbi levezetésekhez hasonlóan megkaphatjuk, hogy most a súlyokat a következőképpen javíthatjuk: v (új) w j = v (régi) w j η e j h j = 1, 2,...,, ahol egyedül a h értéke különbözik az egyszerű modelltől. A bemeneti és rejtett réteg között használt súlymátrixra azt kapjuk: v (új) w I,t = v (régi) w I,t 1 2c ηat t c, t = 0. Számítási összetettség Felelevenítjük, hogy a korábbi levezetésünk alapján (kiemelve az 1. és a 2. egyenletet) a modell a következő formában írható fel: 1 n=1 t c t =0 log exp(v T w n v wn+t ). exp(v T w v wn+t ) w=1 Ennek a modellnek az összetettsége O( D) + O(D ), mivel a bemenet 1 kódolással volt reprezentálva, és a kimeneti vektor dimenziója is [25, 26]. A legköltségesebb számítás a v kimeneti vektorok tanítása, hiszen amikor javítani szeretnénk v w j -n, akkor ki kell számítanunk a hozzá tartozó e j becslési hibát (Lásd a 3). egyenletben), amihez a korábbi levezetésben látottak alapján fel kell használnunk az összes szótári szóhoz kapcsolódó w i súlyt is. Mivel általában hatalmas a szótárunk mérete, beláthatjuk, hogy nem túl hatékony ezt a tanítási eljárást alkalmazni minden fázisban minden egyes v j kimeneti vektorra, ezért a 4.4. fejezetben bemutatunk néhány javítási eljárást, amivel a modell komplexitása csökkenthető Skip-gram modell A Skip-gram modell ismertetését egy feladaton keresztül fogjuk bemutatni. A probléma, amit meg szeretnénk oldani az, hogy egy szóval jellemezzük egy 20
24 meghatározott környezetét [25, 26, 32, 10]. Pontosabban egy adott szóból az őt körülvevő szavakra szeretnénk következtetni. Ennek a szemléltetését láthatjuk az ábrán is. Képletesen megfogalmazva, ha w 1, w 2,..., w -nel jelöljük a teszthalmazban adott szavak sorozatát, akkor a következő célfüggvényt szeretnénk maximalizálni a tanítás során: 1 n=1 t c t =0 log p(w n+t w n ), (4) ahol c határozza meg, hogy egy szónak mekkora környezetét szeretnénk megjósolni. Például ha c = 2, akkor egy szóból az előtte levő két szóra és az utána levő két szóra szeretnénk következtetni. c választásával befolyásolhatjuk az eredmény pontosságát, hiszen ha nagyobbnak választjuk, a tanító halmaz méretét is növeljük, de ebben az esetben a tanítás is több időt fog igénybe venni. w n Bemeneti Rejtett réteg réteg.. Kimeneti réteg w n c w n c+1 w n 1 w n+1 w n+c 1 w n+c Az alap Skip-gram modellben szoftmax függvénnyel határozzuk meg a p(w n+t w n ) feltételes valószínűségeket, ami azt adja meg, hogy mekkora a valószínűsége annak, hogy az n-edik szóból az n + t-edik szóra következtetünk. Most részletesen ismertetjük azt, hogy mely lépéseken keresztül jutunk el a keresett feltételes valószínűségek meghatározásáig. Amint az ábrán is látjuk a modell 3 réteget tartalmaz, egy bemeneti, egy rejtett és egy kimeneti réteget. A modell bemenete egy w I szó, amit 1 kódolással adunk meg, ha a szótárunk mérete. Pontosabban egy olyan (oszlop)vektorként ábrázoljuk a szót, ahol a k-adik elem 1 és minden más 0, ha a w I k-adik a szótárban. Ha egy D dimenziójú rejtett réteget szeretnénk kapni a bemeneti rétegből, akkor egy D méretű W súlymátrixot fogunk használni a bemenetre, formálisan: h = w T I W, v wi : = w T I W. 21
25 Tehát egy lineáris aktivációs függvényt használunk a rejtett réteghez, hogy megkapjuk a h kimenetet. Mivel w I minden eleme 0 a k-adik kivételével, a súlyozást végrehajtva W-nek k-adik sorát kapjuk meg. Emellett tekinthetjük úgy, hogy W minden sora a bemeneti szó egy vektor reprezentációját adja meg, ezért a fenti egyenletben v wi -vel definiáljuk a w I ezt a reprezentációt. Ahhoz, hogy a rejtett rétegből meghatározzuk a kimenetet egy másik, D dimenziójú W súlymátrixot fogunk használni. Jelölje v T w j ennek a súlymátrixnak a j-edik oszlopát. Ekkor a j-edik szót a következőképpen pontozzuk: u j = v T w j h. Mivel c c darab szót szeretnénk megbecsülni a bemeneti szó előtt és után és mindegyik becsléséhez ugyanazt a súlymátrixot használjuk a rejtett és a kimeneti réteg között, a t-edik helyre a j-edik szóra kapott érték: u t,j = u j, t c, t = 0. Ezután egy szoftmax osztályozót használva megkapjuk a keresett posterior eloszlásokat, azaz annak a valószínűségét, hogy a kapott kimeneti érték megegyezik az elvárt értékkel, feltéve, hogy a bemenet w I volt. p(w t,j = w t,o w I ) = y t,j = exp(u t,j), t c, t = 0, exp(u i ) i=1 ahol w t,j azt jelöli, hogy a j-edik szótárbeli szó szerepel a t helyen a bemenet környezetében. w t,o a kimenetként t-edik helyen elvárt szót jelöli, w I pedig a bemenetet. y t,j -t az utolsó rétegben a t-edik kimeneti egység j-edik eleme határozza meg. Átalakítva az eredményt a bevezetett jelölésekkel: p(w O w I ) = exp(v T w O v wi ) w=1 exp(v T w v wi ) (5) Megjegyezzük, hogy v w -t gyakran szokás a w bemeneti, v w-t pedig a w kimeneti vektornak nevezni. Fontos kiemelni, hogy ilyen módon megvalósítva nagyon költséges a modell, mivel összetettsége a szótár méretének többszöröse. Általában a szótárak hatalmas méretűek, így ez nagy hátránya a modellnek, ezért bemutatunk néhány módszert, amivel hatékonyabbá tehető. 22
26 Tanítás Ebben az esetben a tanítás célja, hogy maximalizáljuk azt a feltételes várható értéket, hogy w I bemenet mellett, az elvárt w O lesz a kimenet. Tegyük fel, hogy a szótár i t -edik szava a t helyen elvárt kimenet a bemenet környezetében. exp(u max p(w O, c,..., w O,c w I ) = max y i = t,it ) max log t c exp(u t =0 k ) k=1 = t c t =0 E : = t c t =0 u it 2c log u it 2c log k=1 k=1 exp(u k ), exp(u k ). Backpropagation algoritmust fogunk használni a súlyok javításához. Először a kimeneti és a rejtett réteg közötti súlyokat kell módosítanunk. Ehhez első lépésben ki kell számolnunk minden kimeneti vektor minden egységre a becslési hibát: E u t,j = y t,j z t,j, e t,j : = y t,j z t,j, ahol z t,j = 1, ha a t vektor j-edik egysége éppen az elvárt kimenet (j = i t ), különben 0. Az egyszerűség kedvéért vezessük be a következő n dimenziós vektort: B = B 1,..., B, ahol B j = e t,j. t c t =0 A W mátrix hibáját a következő deriváltból kapjuk meg: E w kj E = u t j u t c tj w kj t =0 = B j h k, ahol w kj a mátrix k-adik sorának j-edik elemét jelöli, h k pedig a h vektor k-adik eleme. A sztochasztikus gradiens tanulási szabályt alkalmazva kapjuk meg a frissített súlyokat W -re: w (új) kj = w (régi) kj η B j h k, 23
27 átalakítva: v (új) w j = v (régi) w j η B j h j = 1, 2,...,, ahol η > 0 a tanulási ráta. Következő lépésként a bemeneti és a rejtett réteg közötti súlymátrixot kell javítanunk. Deriváljuk E-t a rejtett réteg kimenetei szerint: E h k = A k : = j=1 t c t =0 B j w kj. j=1 E u t,j u t,j h k = Tekintsük E-nek a W szerinti deriváltját: B j w kj, j=1 E = E u j = A w lk h k w k w I,l, lk ahol w I,l a bemeneti vektor l-edik elemét jelöli. a következő formula, ahol a tenzorszorzatot jelöli: E W = w I A = w I A T. Ezzel ekvivalensen felírható Mivel w I csak egy helyen vesz fel 1-et és mindenhol máshol 0, a fenti egyenlet A T mátrix egy sorának értékét adja, melynek dimenziója D. Ebből a következő egyenletet kapjuk W frissítéséhez: v (új) w I = v (régi) w I ηa T. W többi sorát nem kell változtatnunk ebben a lépésben, mivel a deriváltjuk 0. Számítási összetettség Ennek a modellnek a komplexitása O( D) + O(2c D ), mivel a bemenet itt is 1 kódolással volt reprezentálva, és a kimeneti vektor dimenziója is, a második rétegben pedig 2c szót becsültünk meg [25, 26]. A tanítási fázis hasonlóan zajlik a korábbi CBOW modelléhez, így ebben a formában egy nagyméretű szótár esetén nagyon költséges. A 4.4. bekezdésben láthatunk néhány megoldást arra, hogy hogyan tehető hatékonyabbá ez a modell. 24
28 4.3. GloVe modell A globális vektor modell célja, hogy ötvözze a nyelvfeldolgozáshoz használt eszközök két nagy csoportját, a globális mátrix faktorizációt és a lokális szövegkörnyezetet használó eljárásokat. A modellt a 2014-es publikációja alapján vizsgáljuk meg [30]. Ahelyett, hogy egyszerűen megadnánk az optimalizálni kívánt célfüggvényt, az alábbiakban levezetjük, hogy milyen gondlatmenet alapján lett megalkotva. A faktorizáció során használt mátrixot X-szel fogjuk jelölni, azaz az X ij elem jelentése, hogy a j szó hányszor fordul elő az i szó környezetében. X i = X ik -val fejezzük ki, hogy az i szó környezetében hány másik szó fordul k elő, míg P ij = P(j i) = Xij/X i megadja annak a valószínűségét, hogy a j szó megjelenik az i környezetében. A szavak jelentését bizonyos módon kifejezik a definiált együttes előfordulásra vonatkozó valószínűségek, ennek megértéséhez tekintünk egy egyszerű példát. Tegyük fel, hogy a i = jég és a j = gőz szavakra vagyunk kíváncsiak. Mivel mindkét fogalom jelentése hasonlóan szorosan kapcsolódik k = víz szóhoz, a P ik és P jk valószínűségek hasonlóan nagyok lesznek és ebben az esetben P ik P jk hányadosuk értéke közel 1 lesz. Ellenben ha vesszük a k = bútor szót, akkor P ik és P jk egyformán kicsik lesznek, mivel egyikük se kötődik hozzá jelentésben. A hányadosuk itt is nagyjából egyet ad. Akkor érdekes a helyzet, ha egy olyan fogalmat tekintünk, ami csak a jég vagy csak a gőz szóhoz kapcsolódik. Például ilyen ha k-nak a szilárd szót választjuk. Ilyenkor P ik értéke nagy lesz, de P jk kicsi, tehát a P ik P jk is nagy értéket ad. Fordított esetben, ha k = légnemű, P ik P jk nagyságrendekkel kisebb lesz egynél. Összefoglalva, a vizsgált hányados képes kifejezni a két vizsgált szó egymáshoz való viszonyát, ám csak az 1-től jelentősen eltérő értékek adnak releváns információt ezen szavak eltérésére vonatkozóan. Szeretnénk kihasználni ezt a tulajdonságot, ezért bevezetünk egy F függvényt az említett hányados kiszámításához, melyben w R szóvektorok és w R különböző szövegkörnyezetbeli szóvektorok, pedig a szótár méretét jelöli. F ( w i, w j, w k ) = P ik P jk. (6) Az egyenletben a jobb oldalon szereplő értéket megkaphatjuk a korpuszból, míg a baloldali kifejezést többféleképpen is definiálhatjuk. Szeretnénk ha F a szavak vektorterében reprezentálná az információkat, amiket a hányados tartalmaz. Mivel a vektorterek lineáris struktúrák, és az argumentumok is a kívánt vektortér elemei, tekinthetjük a két vizsgált szóvektorunk különbségét is a következő mó- 25
29 don: F ( w i w j, w k ) = P ik P jk. (7) Mivel a keresett függvény nagyon összetett is lehet, ha vesszük a 7. egyenletben szereplő argumentumok skaláris szorzatát, elkerülhetjük, hogy a elveszítsük a linearitást a kiértékelés során. ) F ((w i w j ) T w k = P ik. P jk Ahhoz, hogy F megfelelő legyen, ki kell elégítenie az együttes előfordulás mátrixban megjelenő szimmetriát. Azaz, egy szónak és egy a környezetében megjelenő szónak felcserélhetőnek kell lennie, hiszen, ha i szerepel j környezetében, akkor j is szerepel az i-jében. Tehát X és X T mellett szükségünk van arra, hogy w és w szerepe szimmetrikus legyen. Ennek eléréséhez megköveteljük F homomorfizmusát (R, +) és (R >0, ) csoportok között. Így átalakítva az előző képletet megkapjuk, hogy ahonnan adódik, hogy ) F ((w i w j ) T w k = F(wT i w k ) F(w T j w k ), (8) ) F (wi T w k = P ik = X ik. X i A 8. egyenlet megoldása, hogy F az exponenciális függvény, vagy ezzel egyenértékű, hogy w T i w k = log P ik = log X ik log X i. Mivel így még nem szimmetrikus a jobb oldal, szeretnénk a log X i tagot eltüntetni. Emiatt egy b i eltolást hozzárendelünk w i -hez kapcsolódóan, és a szimmetria miatt egy b k tagot is w k -hoz: w T i w k + b i + b k = log X ik. Annak érdekében, hogy elkerüljük, hogy az egyenletben a logaritmus argumentumában 0 legyen, eltolatjuk 1-gyel: log(x ik ) log(x ik + 1). A kapott modellnek a hátránya, hogy egyenlően súlyozza az együttes előfordulásait a szavaknak, attól függetlenül, hogy ezek milyen gyakorisággal történnek meg. Ennek eredménye, hogy a ritka adatok zajosak és kevesebb információt tartalmaznak, mint a gyakoriak. Emellett az X mátrix nagyon ritka lesz. Ahhoz, hogy ezeket elkerüljük tekintsük a következő legkisebb négyzetek módszerét használó regressziós modellt: J = f ( ) ( X ij wi T w k + b i + b ) 2 k log X ik, (9) i,j=1 ahol f egy olyan súlyfüggvény, amelyre a következő feltételek teljesülnek: f (0) = 0. Ha f folytonos függvény, akkor x elég gyorsan tart 0-hoz, 26
30 hogy lim x 0 f (x) log 2 x véges legyen. f (x)-nek nemcsökkenőnek kell lennie, ahhoz hogy elkerüljük a ritka együttes előfordulások túlsúlyozását. f (x)-nek kicsinek kell lennie a nagy x értékekre, hogy a gyakori együttes előfordulások ne legyenek túlsúlyozva. A gyakorlatban a következő módon megadott függvények jól működtek a vizsgált feladatokon: (x/x max ) α ha x < x max f (x) = 1 egyébként. A modell alkotói tapasztalati eredmények alapján az α értékét 3/4-nek, x max értékét 100-nak választották. Számítási összetettség A modell (9. egyenlet) komplexitásának vizsgálatakor érdemes először az f (x) súlyfüggvényt tekinteni, ugyanis, ha az i és j szóra az együttes előfordulási mátrix eleme nulla, akkor a súlyuk is nulla lesz. Emiatt a modell számítási összetettségét az X nemnulla elemeinek száma befolyásolja. Mivel X egy dimenziójú mátrix, a komplexitásunk nem lehet nagyobb, mint O( 2 ). Azonban ez a becslés nem kielégítő, mivel a szótár mérete hatalmas lehet, akár több milliárd szót is tartalmazhat. Szeretnénk tehát egy jobb közelítést találni X nemnulla elemeinek a számára. Ehhez használni fogjuk a gyakorisági rangot, ami egyszerűen annyit jelent, hogy a gyakoriságuk szerint rangsoroljuk a szavakat, azaz a leggyakoribb szó gyakorisági rangja 1 lesz, a második leggyakoribb szóé 2, és így tovább. Tegyük fel, hogy az i és j szavak együttes előfordulása modellezhető az r ij gyakorisági rangjuk segítségével a következő módon: X(ij) = k (r ij ) α. (10) A lokális szövegkörnyezetet használó modellek komplexitása általában a korpusz méretével arányos - jelölje ezt C -, ezért összehasonlítjuk, hogy a GloVe modell, hogyan viszonyul hozzá. Ha tekintjük az együttes előfordulási mátrix elemeinek az összegét, akkor láthatjuk, hogy ez arányos a korpusz méretével, hiszen minden szó előfordulását számításba vesszük a környezetében szereplő 27
Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.
Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017. Vizuális feldolgozórendszerek feladatai Mesterséges intelligencia és idegtudomány Mesterséges intelligencia és idegtudomány Párhuzamos problémák
RészletesebbenKeresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék
Keresés képi jellemzők alapján Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék Lusta gépi tanulási algoritmusok Osztályozás: k=1: piros k=5: kék k-legközelebbi szomszéd (k=1,3,5,7)
RészletesebbenSzámítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék
Számítógépes képelemzés 7. előadás Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék Momentumok Momentum-alapú jellemzők Tömegközéppont Irányultáság 1 2 tan 2 1 2,0 1,1 0, 2 Befoglaló
RészletesebbenGauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei
A Gauss-Jordan elimináció, mátrixinvertálás Gauss-Jordan módszer Ugyanazzal a technikával, mint ahogy a k-adik oszlopban az a kk alatti elemeket kinulláztuk, a fölötte lévő elemeket is zérussá lehet tenni.
RészletesebbenIntelligens Rendszerek Gyakorlata. Neurális hálózatok I.
: Intelligens Rendszerek Gyakorlata Neurális hálózatok I. dr. Kutor László http://mobil.nik.bmf.hu/tantargyak/ir2.html IRG 3/1 Trend osztályozás Pnndemo.exe IRG 3/2 Hangulat azonosítás Happy.exe IRG 3/3
RészletesebbenNeurális hálózatok bemutató
Neurális hálózatok bemutató Füvesi Viktor Miskolci Egyetem Alkalmazott Földtudományi Kutatóintézet Miért? Vannak feladatok amelyeket az agy gyorsabban hajt végre mint a konvencionális számítógépek. Pl.:
RészletesebbenKonvolúciós neurális hálózatok (CNN)
Konvolúciós neurális hálózatok (CNN) Konvolúció Jelfeldolgozásban: Diszkrét jelek esetén diszkrét konvolúció: Képfeldolgozásban 2D konvolúció (szűrők): Konvolúciós neurális hálózat Konvolúciós réteg Kép,
RészletesebbenKONVOLÚCIÓS NEURONHÁLÓK. A tananyag az EFOP pályázat támogatásával készült.
KONVOLÚCIÓS NEURONHÁLÓK A tananyag az EFOP-3.5.1-16-2017-00004 pályázat támogatásával készült. 1. motiváció A klasszikus neuronháló struktúra a fully connected háló Két réteg között minden neuron kapcsolódik
RészletesebbenBudapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs rendszerek Tanszék. Neurális hálók. Pataki Béla
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs rendszerek Tanszék Neurális hálók Előadó: Előadás anyaga: Hullám Gábor Pataki Béla Dobrowiecki Tadeusz BME I.E. 414, 463-26-79
RészletesebbenTanulás az idegrendszerben. Structure Dynamics Implementation Algorithm Computation - Function
Tanulás az idegrendszerben Structure Dynamics Implementation Algorithm Computation - Function Tanulás pszichológiai szinten Classical conditioning Hebb ötlete: "Ha az A sejt axonja elég közel van a B sejthez,
RészletesebbenGépi tanulás a gyakorlatban. Bevezetés
Gépi tanulás a gyakorlatban Bevezetés Motiváció Nagyon gyakran találkozunk gépi tanuló alkalmazásokkal Spam detekció Karakter felismerés Fotó címkézés Szociális háló elemzés Piaci szegmentáció analízis
RészletesebbenRegresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.
Regresszió Csorba János Nagyméretű adathalmazok kezelése 2010. március 31. A feladat X magyarázó attribútumok halmaza Y magyarázandó attribútumok) Kérdés: f : X -> Y a kapcsolat pár tanítópontban ismert
RészletesebbenGépi tanulás a gyakorlatban. Lineáris regresszió
Gépi tanulás a gyakorlatban Lineáris regresszió Lineáris Regresszió Legyen adott egy tanuló adatbázis: Rendelkezésünkre áll egy olyan előfeldolgozott adathalmaz, aminek sorai az egyes ingatlanokat írják
RészletesebbenI. LABOR -Mesterséges neuron
I. LABOR -Mesterséges neuron A GYAKORLAT CÉLJA: A mesterséges neuron struktúrájának az ismertetése, neuronhálókkal kapcsolatos elemek, alapfogalmak bemutatása, aktivációs függvénytípusok szemléltetése,
RészletesebbenKOVÁCS BÉLA, MATEMATIKA I.
KOVÁCS BÉLA MATEmATIkA I 6 VI KOmPLEX SZÁmOk 1 A komplex SZÁmOk HALmAZA A komplex számok olyan halmazt alkotnak amelyekben elvégezhető az összeadás és a szorzás azaz két komplex szám összege és szorzata
RészletesebbenNeurális hálózatok.... a gyakorlatban
Neurális hálózatok... a gyakorlatban Java NNS Az SNNS Javás változata SNNS: Stuttgart Neural Network Simulator A Tübingeni Egyetemen fejlesztik http://www.ra.cs.unituebingen.de/software/javanns/ 2012/13.
RészletesebbenVisszacsatolt (mély) neurális hálózatok
Visszacsatolt (mély) neurális hálózatok Visszacsatolt hálózatok kimenet rejtett rétegek bemenet Sima előrecsatolt neurális hálózat Visszacsatolt hálózatok kimenet rejtett rétegek bemenet Pl.: kép feliratozás,
RészletesebbenInfobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében
Infobionika ROBOTIKA X. Előadás Robot manipulátorok II. Direkt és inverz kinematika Készült a HEFOP-3.3.1-P.-2004-06-0018/1.0 projekt keretében Tartalom Direkt kinematikai probléma Denavit-Hartenberg konvenció
RészletesebbenFELÜGYELT ÉS MEGERŐSÍTÉSES TANULÓ RENDSZEREK FEJLESZTÉSE
FELÜGYELT ÉS MEGERŐSÍTÉSES TANULÓ RENDSZEREK FEJLESZTÉSE Dr. Aradi Szilárd, Fehér Árpád Mesterséges intelligencia kialakulása 1956 Dartmouth-i konferencián egy maroknyi tudós megalapította a MI területét
RészletesebbenGépi tanulás a gyakorlatban. Kiértékelés és Klaszterezés
Gépi tanulás a gyakorlatban Kiértékelés és Klaszterezés Hogyan alkalmazzuk sikeresen a gépi tanuló módszereket? Hogyan válasszuk az algoritmusokat? Hogyan hangoljuk a paramétereiket? Precízebben: Tegyük
RészletesebbenIntelligens Rendszerek Elmélete. Versengéses és önszervező tanulás neurális hálózatokban
Intelligens Rendszerek Elmélete : dr. Kutor László Versengéses és önszervező tanulás neurális hálózatokban http://mobil.nik.bmf.hu/tantargyak/ire.html Login név: ire jelszó: IRE07 IRE 9/1 Processzor Versengéses
Részletesebben22. GRÁFOK ÁBRÁZOLÁSA
22. GRÁFOK ÁBRÁZOLÁSA A megoldandó feladatok, problémák modellezése során sokszor gráfokat alkalmazunk. A gráf fogalmát a matematikából ismertnek vehetjük. A modellezés során a gráfok több változata is
RészletesebbenStratégiák tanulása az agyban
Statisztikai tanulás az idegrendszerben, 2019. Stratégiák tanulása az agyban Bányai Mihály banyai.mihaly@wigner.mta.hu http://golab.wigner.mta.hu/people/mihaly-banyai/ Kortárs MI thispersondoesnotexist.com
RészletesebbenKOVÁCS BÉLA, MATEMATIKA I.
KOVÁCS BÉLA, MATEmATIkA I. 1 I. HALmAZOk 1. JELÖLÉSEk A halmaz fogalmát tulajdonságait gyakran használjuk a matematikában. A halmazt nem definiáljuk, ezt alapfogalomnak tekintjük. Ez nem szokatlan, hiszen
RészletesebbenGauss-Seidel iteráció
Közelítő és szimbolikus számítások 5. gyakorlat Iterációs módszerek: Jacobi és Gauss-Seidel iteráció Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor London András Deák Gábor jegyzetei alapján 1 ITERÁCIÓS
RészletesebbenKonjugált gradiens módszer
Közelítő és szimbolikus számítások 12. gyakorlat Konjugált gradiens módszer Készítette: Gelle Kitti Csendes Tibor Vinkó Tamás Faragó István Horváth Róbert jegyzetei alapján 1 LINEÁRIS EGYENLETRENDSZEREK
RészletesebbenMesterséges Intelligencia MI
Mesterséges Intelligencia MI Valószínűségi hálók - következtetés Dobrowiecki Tadeusz Eredics Péter, és mások BME I.E. 437, 463-28-99 dobrowiecki@mit.bme.hu, http://www.mit.bme.hu/general/staff/tade Következtetés
RészletesebbenTanulás tanuló gépek tanuló algoritmusok mesterséges neurális hálózatok
Zrínyi Miklós Gimnázium Művészet és tudomány napja Tanulás tanuló gépek tanuló algoritmusok mesterséges neurális hálózatok 10/9/2009 Dr. Viharos Zsolt János Elsősorban volt Zrínyis diák Tudományos főmunkatárs
Részletesebben17. előadás: Vektorok a térben
17. előadás: Vektorok a térben Szabó Szilárd A vektor fogalma A mai előadásban n 1 tetszőleges egész szám lehet, de az egyszerűség kedvéért a képletek az n = 2 esetben szerepelnek. Vektorok: rendezett
RészletesebbenIntelligens orvosi műszerek VIMIA023
Intelligens orvosi műszerek VIMIA023 Neurális hálók (Dobrowiecki Tadeusz anyagának átdolgozásával) 2017 ősz http://www.mit.bme.hu/oktatas/targyak/vimia023 dr. Pataki Béla pataki@mit.bme.hu (463-)2679 A
Részletesebben15. LINEÁRIS EGYENLETRENDSZEREK
15 LINEÁRIS EGYENLETRENDSZEREK 151 Lineáris egyenletrendszer, Gauss elimináció 1 Definíció Lineáris egyenletrendszernek nevezzük az (1) a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a
RészletesebbenFelvételi tematika INFORMATIKA
Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.
RészletesebbenKvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla
Kvadratikus alakok és euklideszi terek (előadásvázlat, 0. október 5.) Maróti Miklós, Kátai-Urbán Kamilla Az előadáshoz ajánlott jegyzet: Szabó László: Bevezetés a lineáris algebrába, Polygon Kiadó, Szeged,
RészletesebbenMesterséges neurális hálózatok II. - A felügyelt tanítás paraméterei, gyorsító megoldásai - Versengéses tanulás
Mesterséges neurális hálózatok II. - A felügyelt tanítás paraméterei, gyorsító megoldásai - Versengéses tanulás http:/uni-obuda.hu/users/kutor/ IRE 7/50/1 A neurális hálózatok általános jellemzői 1. A
RészletesebbenMegerősítéses tanulás
Megerősítéses tanulás elméleti kognitív neurális Introduction Knowledge representation Probabilistic models Bayesian behaviour Approximate inference I (computer lab) Vision I Approximate inference II:
RészletesebbenLineáris algebra numerikus módszerei
Hermite interpoláció Tegyük fel, hogy az x 0, x 1,..., x k [a, b] különböző alappontok (k n), továbbá m 0, m 1,..., m k N multiplicitások úgy, hogy Legyenek adottak k m i = n + 1. i=0 f (j) (x i ) = y
RészletesebbenFüggvények növekedési korlátainak jellemzése
17 Függvények növekedési korlátainak jellemzése A jellemzés jól bevált eszközei az Ω, O, Θ, o és ω jelölések. Mivel az igények általában nemnegatívak, ezért az alábbi meghatározásokban mindenütt feltesszük,
RészletesebbenA KLT (Kanade Lucas Tomasi) Feature Tracker Működése (jellegzetes pontok választása és követése)
A KL (Kanade Lucas omasi) Feature racker Működése (jellegzetes pontok választása és követése) Készítette: Hajder Levente 008.11.18. 1. Feladat A rendelkezésre álló videó egy adott képkockájából minél több
RészletesebbenNagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.
Nagyságrendek Kiegészítő anyag az Algoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: Algoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 018. február 1. Az O, Ω, Θ jelölések Az algoritmusok
RészletesebbenGépi tanulás és Mintafelismerés
Gépi tanulás és Mintafelismerés jegyzet Csató Lehel Matematika-Informatika Tanszék BabesBolyai Tudományegyetem, Kolozsvár 2007 Aug. 20 2 1. fejezet Bevezet A mesterséges intelligencia azon módszereit,
RészletesebbenLineáris leképezések (előadásvázlat, szeptember 28.) Maróti Miklós, Kátai-Urbán Kamilla
Lineáris leképezések (előadásvázlat, 2012. szeptember 28.) Maróti Miklós, Kátai-Urbán Kamilla Ennek az előadásnak a megértéséhez a következő fogalmakat kell tudni: homogén lineáris egyenletrendszer és
RészletesebbenLineáris regressziós modellek 1
Lineáris regressziós modellek 1 Ispány Márton és Jeszenszky Péter 2016. szeptember 19. 1 Az ábrák C.M. Bishop: Pattern Recognition and Machine Learning c. könyvéből származnak. Tartalom Bevezető példák
Részletesebben13. Egy x és egy y hosszúságú sorozat konvolúciójának hossza a. x-y-1 b. x-y c. x+y d. x+y+1 e. egyik sem
1. A Huffman-kód prefix és forráskiterjesztéssel optimálissá tehető, ezért nem szükséges hozzá a forrás valószínűség-eloszlásának ismerete. 2. Lehet-e tökéletes kriptorendszert készíteni? Miért? a. Lehet,
Részletesebbenf(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva
6. FÜGGVÉNYEK HATÁRÉRTÉKE ÉS FOLYTONOSSÁGA 6.1 Függvény határértéke Egy D R halmaz torlódási pontjainak halmazát D -vel fogjuk jelölni. Definíció. Legyen f : D R R és legyen x 0 D (a D halmaz torlódási
RészletesebbenAzonos és egymással nem kölcsönható részecskékből álló kvantumos rendszer makrókanónikus sokaságban.
Kvantum statisztika A kvantummechanika előadások során már megtanultuk, hogy az anyagot felépítő részecskék nemklasszikus, hullámtulajdonságokkal is rendelkeznek aminek következtében viselkedésük sok szempontból
RészletesebbenKOVÁCS BÉLA, MATEMATIKA I.
KOVÁCS BÉLA, MATEmATIkA I. 4 IV. FÜGGVÉNYEk 1. LEkÉPEZÉSEk, függvények Definíció Legyen és két halmaz. Egy függvény -ből -ba egy olyan szabály, amely minden elemhez pontosan egy elemet rendel hozzá. Az
RészletesebbenÁltalános algoritmustervezési módszerek
Általános algoritmustervezési módszerek Ebben a részben arra mutatunk példát, hogy miként használhatóak olyan általános algoritmustervezési módszerek mint a dinamikus programozás és a korlátozás és szétválasztás
RészletesebbenNumerikus integrálás
Közelítő és szimbolikus számítások 11. gyakorlat Numerikus integrálás Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor Vinkó Tamás London András Deák Gábor jegyzetei alapján 1. Határozatlan integrál
Részletesebben1. gyakorlat. Mesterséges Intelligencia 2.
1. gyakorlat Mesterséges Intelligencia. Elérhetőségek web: www.inf.u-szeged.hu/~gulyasg mail: gulyasg@inf.u-szeged.hu Követelmények (nem teljes) gyakorlat látogatása kötelező ZH írása a gyakorlaton elhangzott
Részletesebben26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA
26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA Az előző két fejezetben tárgyalt feladat általánosításaként a gráfban található összes csúcspárra szeretnénk meghatározni a legkisebb költségű utat. A probléma
RészletesebbenHibadetektáló rendszer légtechnikai berendezések számára
Hibadetektáló rendszer légtechnikai berendezések számára Tudományos Diákköri Konferencia A feladatunk Légtechnikai berendezések Monitorozás Hibadetektálás Újrataníthatóság A megvalósítás Mozgásérzékelő
RészletesebbenLeképezések. Leképezések tulajdonságai. Számosságok.
Leképezések Leképezések tulajdonságai. Számosságok. 1. Leképezések tulajdonságai A továbbiakban legyen A és B két tetszőleges halmaz. Idézzünk fel néhány definíciót. 1. Definíció (Emlékeztető). Relációknak
RészletesebbenOptimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/
Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatikai Intézet Számítógépes Optimalizálás Tanszék 9. Előadás Az optimalizálás alapfeladata Keressük f függvény maximumát ahol f : R n R és
RészletesebbenFuzzy rendszerek és neurális hálózatok alkalmazása a diagnosztikában
Budapesti Műszaki és Gazdaságtudományi Egyetem Fuzzy rendszerek és neurális hálózatok alkalmazása a diagnosztikában Cselkó Richárd 2009. október. 15. Az előadás fő témái Soft Computing technikák alakalmazásának
RészletesebbenEllátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével
Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével Pekárdy Milán, Baumgartner János, Süle Zoltán Pannon Egyetem, Veszprém XXXII. Magyar Operációkutatási
RészletesebbenEgyenletek, egyenlőtlenségek VII.
Egyenletek, egyenlőtlenségek VII. Magasabbfokú egyenletek: A 3, vagy annál nagyobb fokú egyenleteket magasabb fokú egyenleteknek nevezzük. Megjegyzés: Egy n - ed fokú egyenletnek legfeljebb n darab valós
Részletesebben2. Elméleti összefoglaló
2. Elméleti összefoglaló 2.1 A D/A konverterek [1] A D/A konverter feladata, hogy a bemenetére érkező egész számmal arányos analóg feszültséget vagy áramot állítson elő a kimenetén. A működéséhez szükséges
RészletesebbenFEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI
FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 3 III. VÉLETLEN VEKTOROK 1. A KÉTDIMENZIÓs VÉLETLEN VEKTOR Definíció: Az leképezést (kétdimenziós) véletlen vektornak nevezzük, ha Definíció:
RészletesebbenFEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI
FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 8 VIII. REGREssZIÓ 1. A REGREssZIÓs EGYENEs Két valószínűségi változó kapcsolatának leírására az eddigiek alapján vagy egy numerikus
RészletesebbenSzélsőérték-számítás
Szélsőérték-számítás Jelölések A következő jelölések mind az f függvény x szerinti parciális deriváltját jelentik: Ugyanígy az f függvény y szerinti parciális deriváltja: f x = xf = f x f y = yf = f y
RészletesebbenA maximum likelihood becslésről
A maximum likelihood becslésről Definíció Parametrikus becsléssel foglalkozunk. Adott egy modell, mellyel elképzeléseink szerint jól leírható a meghatározni kívánt rendszer. (A modell típusának és rendszámának
RészletesebbenNormák, kondíciószám
Normák, kondíciószám A fizika numerikus módszerei I. mf1n1a06- mf1n2a06 Csabai István Lineáris egyenletrendszerek Nagyon sok probléma közvetlenül lineáris egyenletrendszer megoldásával kezelhetı Sok numerikus
RészletesebbenFEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI
FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 9 IX. ROBUsZTUs statisztika 1. ROBUsZTUssÁG Az eddig kidolgozott módszerek főleg olyanok voltak, amelyek valamilyen értelemben optimálisak,
RészletesebbenIntelligens Rendszerek Elmélete
Intelligens Rendszerek Elmélete Dr. Kutor László : Mesterséges neurális hálózatok felügyelt tanítása hiba visszateresztő Back error Propagation algoritmussal Versengéses tanulás http://mobil.nik.bmf.hu/tantargyak/ire.html
Részletesebben3. Fuzzy aritmetika. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI
3. Fuzzy aritmetika Gépi intelligencia I. Fodor János BMF NIK IMRI NIMGI1MIEM Tartalomjegyzék I 1 Intervallum-aritmetika 2 Fuzzy intervallumok és fuzzy számok Fuzzy intervallumok LR fuzzy intervallumok
RészletesebbenBabeş Bolyai Tudományegyetem, Kolozsvár Matematika és Informatika Kar Magyar Matematika és Informatika Intézet
/ Babeş Bolyai Tudományegyetem, Kolozsvár Matematika és Informatika Kar Magyar Matematika és Informatika Intézet / Tartalom 3/ kernelek segítségével Felügyelt és félig-felügyelt tanulás felügyelt: D =
Részletesebben1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)
Matematika A2c gyakorlat Vegyészmérnöki, Biomérnöki, Környezetmérnöki szakok, 2017/18 ősz 1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás) 1. Valós vektorterek-e a következő
RészletesebbenPrincipal Component Analysis
Principal Component Analysis Principal Component Analysis Principal Component Analysis Definíció Ortogonális transzformáció, amely az adatokat egy új koordinátarendszerbe transzformálja úgy, hogy a koordináták
RészletesebbenAz egyenlőtlenség mindkét oldalát szorozzuk meg 4 16-al:
Bevezető matematika kémikusoknak., 04. ősz. feladatlap. Ábrázoljuk számegyenesen a következő egyenlőtlenségek megoldáshalmazát! (a) x 5 < 3 5 x < 3 x 5 < (d) 5 x
RészletesebbenSzámítási feladatok a Számítógépi geometria órához
Számítási feladatok a Számítógépi geometria órához Kovács Zoltán Copyright c 2012 Last Revision Date: 2012. október 15. kovacsz@nyf.hu Technikai útmutató a jegyzet használatához A jegyzet képernyőbarát
RészletesebbenFEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI
FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 10 X. SZIMULÁCIÓ 1. VÉLETLEN számok A véletlen számok fontos szerepet játszanak a véletlen helyzetek generálásában (pénzérme, dobókocka,
RészletesebbenGauss elimináció, LU felbontás
Közelítő és szimbolikus számítások 3. gyakorlat Gauss elimináció, LU felbontás Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor London András Deák Gábor jegyzetei alapján 1 EGYENLETRENDSZEREK 1. Egyenletrendszerek
RészletesebbenBIOMATEMATIKA ELŐADÁS
BIOMATEMATIKA ELŐADÁS 9. Együttes eloszlás, kovarianca, nevezetes eloszlások Debreceni Egyetem, 2015 Dr. Bérczes Attila, Bertók Csanád A diasor tartalma 1 Bevezetés, definíciók Együttes eloszlás Függetlenség
RészletesebbenSztojka Miroszláv LINEÁRIS ALGEBRA Egyetemi jegyzet Ungvár 2013
UKRAJNA OKTATÁSI ÉS TUDOMÁNYÜGYI MINISZTÉRIUMA ÁLLAMI FELSŐOKTATÁSI INTÉZMÉNY UNGVÁRI NEMZETI EGYETEM MAGYAR TANNYELVŰ HUMÁN- ÉS TERMÉSZETTUDOMÁNYI KAR FIZIKA ÉS MATEMATIKA TANSZÉK Sztojka Miroszláv LINEÁRIS
RészletesebbenFEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI
FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 4 IV. MINTA, ALAPsTATIsZTIKÁK 1. MATEMATIKAI statisztika A matematikai statisztika alapfeladatát nagy általánosságban a következőképpen
RészletesebbenHadamard-mátrixok Előadó: Hajnal Péter február 23.
Szimmetrikus kombinatorikus struktúrák MSc hallgatók számára Hadamard-mátrixok Előadó: Hajnal Péter 2012. február 23. 1. Hadamard-mátrixok Ezen az előadáson látásra a blokkrendszerektől független kombinatorikus
RészletesebbenAlap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )
Budapesti Műszaki és Gazdaságtudományi Egyetem Gépészmérnöki Kar Hidrodinamikai Rendszerek Tanszék, Budapest, Műegyetem rkp. 3. D ép. 334. Tel: 463-6-80 Fa: 463-30-9 http://www.vizgep.bme.hu Alap-ötlet:
RészletesebbenA PiFast program használata. Nagy Lajos
A PiFast program használata Nagy Lajos Tartalomjegyzék 1. Bevezetés 3 2. Bináris kimenet létrehozása. 3 2.1. Beépített konstans esete.............................. 3 2.2. Felhasználói konstans esete............................
RészletesebbenFeladatok a Gazdasági matematika II. tárgy gyakorlataihoz
Debreceni Egyetem Közgazdaságtudományi Kar Feladatok a Gazdasági matematika II tárgy gyakorlataihoz a megoldásra ajánlott feladatokat jelöli e feladatokat a félév végére megoldottnak tekintjük a nehezebb
Részletesebben10.1. ANALÓG JELEK ILLESZTÉSE DIGITÁLIS ESZKÖZÖKHÖZ
101 ANALÓG JELEK ILLESZTÉSE DIGITÁLIS ESZKÖZÖKHÖZ Ma az analóg jelek feldolgozása (is) mindinkább digitális eszközökkel történik A feldolgozás előtt az analóg jeleket digitalizálni kell Rendszerint az
RészletesebbenLineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31
Lineáris leképezések Wettl Ferenc 2015. március 9. Wettl Ferenc Lineáris leképezések 2015. március 9. 1 / 31 Tartalom 1 Mátrixleképezés, lineáris leképezés 2 Alkalmazás: dierenciálhatóság 3 2- és 3-dimenziós
RészletesebbenVektorok, mátrixok, lineáris egyenletrendszerek
a Matematika mérnököknek I. című tárgyhoz Vektorok, mátrixok, lineáris egyenletrendszerek Vektorok A rendezett valós számpárokat kétdimenziós valós vektoroknak nevezzük. Jelölésükre latin kisbetűket használunk.
RészletesebbenDiverzifikáció Markowitz-modell MAD modell CAPM modell 2017/ Szegedi Tudományegyetem Informatikai Intézet
Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatikai Intézet Számítógépes Optimalizálás Tanszék 11. Előadás Portfólió probléma Portfólió probléma Portfólió probléma Adott részvények (kötvények,tevékenységek,
RészletesebbenA digitális analóg és az analóg digitális átalakító áramkör
A digitális analóg és az analóg digitális átalakító áramkör I. rész Bevezetésként tisztázzuk a címben szereplő két fogalmat. A számítástechnikai kislexikon a következőképpen fogalmaz: digitális jel: olyan
RészletesebbenMatematikai geodéziai számítások 5.
Matematikai geodéziai számítások 5 Hibaterjedési feladatok Dr Bácsatyai László Matematikai geodéziai számítások 5: Hibaterjedési feladatok Dr Bácsatyai László Lektor: Dr Benedek Judit Ez a modul a TÁMOP
RészletesebbenVéletlen jelenség: okok rendszere hozza létre - nem ismerhetjük mind, ezért sztochasztikus.
Valószín ségelméleti és matematikai statisztikai alapfogalmak összefoglalása (Kemény Sándor - Deák András: Mérések tervezése és eredményeik értékelése, kivonat) Véletlen jelenség: okok rendszere hozza
RészletesebbenZárthelyi dolgozat feladatainak megoldása 2003. õsz
Zárthelyi dolgozat feladatainak megoldása 2003. õsz 1. Feladat 1. Milyen egységeket rendelhetünk az egyedi információhoz? Mekkora az átváltás közöttük? Ha 10-es alapú logaritmussal számolunk, a mértékegység
Részletesebben4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI
4. Fuzzy relációk Gépi intelligencia I. Fodor János BMF NIK IMRI NIMGI1MIEM Tartalomjegyzék I 1 Klasszikus relációk Halmazok Descartes-szorzata Relációk 2 Fuzzy relációk Fuzzy relációk véges alaphalmazok
RészletesebbenA lineáris programozás alapjai
A lineáris programozás alapjai A konvex analízis alapjai: konvexitás, konvex kombináció, hipersíkok, félterek, extrém pontok, Poliéderek, a Minkowski-Weyl tétel (a poliéderek reprezentációs tétele) Lineáris
RészletesebbenKépfeldolgozás Szegmentálás Osztályozás Képfelismerés Térbeli rekonstrukció
Mesterséges látás Miről lesz szó? objektumok Bevezetés objektumok A mesterséges látás jelenlegi, technikai eszközökön alapuló világunkban gyakorlatilag azonos a számítógépes képfeldolgozással. Számítógépes
RészletesebbenOsztott algoritmusok
Osztott algoritmusok A benzinkutas példa szimulációja Müller Csaba 2010. december 4. 1. Bevezetés Első lépésben talán kezdjük a probléma ismertetésével. Adott két n hosszúságú bináris sorozat (s 1, s 2
RészletesebbenValószínűségi változók. Várható érték és szórás
Matematikai statisztika gyakorlat Valószínűségi változók. Várható érték és szórás Valószínűségi változók 2016. március 7-11. 1 / 13 Valószínűségi változók Legyen a (Ω, A, P) valószínűségi mező. Egy X :
RészletesebbenDiszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 11. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
RészletesebbenPontműveletek. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar február 20.
Pontműveletek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. február 20. Sergyán (OE NIK) Pontműveletek 2012. február 20. 1 / 40 Felhasznált irodalom
RészletesebbenGoogle Summer of Code Project
Neuronhálózatok a részecskefizikában Bagoly Attila ELTE TTK Fizikus MSc, 2. évfolyam Integrating Machine Learning in Jupyter Notebooks Google Summer of Code Project 2016.10.10 Bagoly Attila (ELTE) Machine
RészletesebbenTARTALOMJEGYZÉK. TARTALOMJEGYZÉK...vii ELŐSZÓ... xiii BEVEZETÉS A lágy számításról A könyv célkitűzése és felépítése...
TARTALOMJEGYZÉK TARTALOMJEGYZÉK...vii ELŐSZÓ... xiii BEVEZETÉS...1 1. A lágy számításról...2 2. A könyv célkitűzése és felépítése...6 AZ ÖSSZETEVŐ LÁGY RENDSZEREK...9 I. BEVEZETÉS...10 3. Az összetevő
RészletesebbenVégeselem modellezés alapjai 1. óra
Végeselem modellezés alapjai. óra Gyenge alak, Tesztfüggvény, Lagrange-féle alakfüggvény, Stiness mátrix Kivonat Az óra célja, hogy megismertesse a végeselem módszer (FEM) alkalmazását egy egyszer probléma,
RészletesebbenMATEMATIKA ÉRETTSÉGI május 8. EMELT SZINT
MATEMATIKA ÉRETTSÉGI 007. május 8. EMELT SZINT 1) Oldja meg a valós számok halmazán az alábbi egyenletet! x x 4 log 9 10 sin x x 6 I. (11 pont) sin 1 lg1 0 log 9 9 x x 4 Így az 10 10 egyenletet kell megoldani,
RészletesebbenFelügyelt önálló tanulás - Analízis III.
Felügyelt önálló tanulás - Analízis III Kormos Máté Differenciálható sokaságok Sokaságok Röviden, sokaságoknak nevezzük azokat az objektumokat, amelyek egy n dimenziós térben lokálisan k dimenziósak Definíció:
RészletesebbenNorma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei
Indukált mátrixnorma Definíció A. M : R n n R mátrixnormát a. V : R n R vektornorma által indukált mátrixnormának nevezzük, ha A M = max { Ax V : x V = 1}. Az indukált mátrixnorma geometriai jelentése:
Részletesebben