29
Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska Szubmoduláris maximalizálás a gépi tanulásban BSc Alkalmazott Matematikus Szakdolgozat Témavezető: Bérczi-Kovács Erika Operációkutatási Tanszék Budapest, 2019

Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

Eötvös Loránd Tudományegyetem

Természettudományi Kar

Illés Kincső Boriska

Szubmoduláris maximalizálása gépi tanulásban

BSc Alkalmazott Matematikus Szakdolgozat

Témavezető:

Bérczi-Kovács Erika

Operációkutatási Tanszék

Budapest, 2019

Page 2: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

Köszönetnyilvánítás

Szeretnék köszönetet mondani témavezetőmnek, Bérczi-Kovács Erikának a téma kiválasz-tásában és a cikkek összeszedésében nyújtott segítségéért.Továbbá Sagmeister Ádámnak, amiért idejét rám szánva sokszor azon dolgozott, hogynekem segítsen egy-egy adott szövegrészletben, struktúrában.Hálával tartozom családomnak,barátaimnak a sok bíztatásért, a támaszért, amit nyúj-tottak és nyújtanak, Kedvesemnek külön, hisz miatta csillant fel az én szemem is a gépitanulással kapcsolatos kérdésekben.

2

Page 3: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

Tartalomjegyzék

1. Bevezetés 5

2. A neurális háló 6

2.1. A neurális háló felépítése . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2. A neurális háló működése . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.1. Gradiens módszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.2. Visszaterjesztés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.3. Visszaterjesztés kalkulusa . . . . . . . . . . . . . . . . . . . . . . . 9

2.3. Kézzel írott számjegy felismerése . . . . . . . . . . . . . . . . . . . . . . . 10

3. Approximációs algoritmusok szubmoduláris halmazfüggvények maxima-

lizálására 11

3.1. Szubmoduláris halmazfüggvények . . . . . . . . . . . . . . . . . . . . . . . 113.2. Maximalizálás mohó megközelítése . . . . . . . . . . . . . . . . . . . . . . 123.3. Korlát nélküli szubmoduláris maximalizálás

(KNSM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.3.1. Determinisztikus lineáris idejű (1\3)-approximáló algoritmus . . . . 153.3.2. Véletlenített lineáris idejű (1\2)-approximáló algoritmus . . . . . . 16

4. Szubmoduláris halmazfüggvények tanulása adatokból 20

4.0.1. Problémafelvetés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.1. Mohó maximalizálás tanulása . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.1.1. Differenciálható korlát nélküli maximalizálás . . . . . . . . . . . . . 224.1.2. Differenciálható méretkorlátozott maximalizálás . . . . . . . . . . . 234.1.3. Kísérletek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.2. Differenciálható mohó háló (DMH) . . . . . . . . . . . . . . . . . . . . . . 25

3

Page 4: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

4.2.1. A DMH működése . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.2.2. Kísérletek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Irodalomjegyzék 29

4

Page 5: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

1. fejezet

Bevezetés

Szakdolgozatomban a fő téma szubmoduláris halmazfüggvények maximalizálása mohóalgoritmuson keresztül a gépi tanulásban. Részhalmaz kiválasztó algoritmusokról írok,melyek korlát nélkül és korlátozott módon is megvalósulhatnak.A 2. fejezetben magát a neurális hálót, annak felépítését és működését mutatom be, melyháló alapja a gépi tanulásnak.A 3. fejezet elején ismertetem a szubmoduláris függvény definícióját és jellemzőit. Kimon-dom a problémát, melyre megoldásokat keresünk a maximalizálás mohó megközelítésével.A korlát nélküli szubmoduláris maximalizálás (KNSM) esetében egy determinisztikus al-goritmust és egy véletlenített algoritmust alkalmazunk erre a feladatra.A legfontosabb rész a 4. fejezetben található, ahol a korábbi fejezetekben leírtakat össze-rakva kiderül, miként használható mindez az adatokból történő tanuláshoz, kísérleteketis bemutatva. Részletezem a Differenciálható Mohó Hálózat (DMH) felhasználását a FE-VER feladatra, amely adathalmazt állítások igazolásához, annak bizonyító mondatainakvisszakereséséhez használjuk.

5

Page 6: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

2. fejezet

A neurális háló

2.1. A neurális háló felépítése

2.1.1. Definíció. A neuronok a háló alapegységei, melyek tulajdonképpen Rn → R függ-vények. Mindegyike rendelkezik egy aktivációs értékkel.Az ai ∈ R+ aktivációs érték egy 0és 1 közötti szám, mely az adott neuron aktivitását fejezi ki a bemeneti adatoktól függően.A neuron inputja a korábbi rétegek neuronjainak outputjaiból áll össze.

2.1.2. Definíció. A neurális háló struktúrálisan egy G(V,E,wi) irányított, élsúlyozottgráf (wi ∈ R, V = {neuronok}), melyben rétegekbe rendezett mesterséges neuronok kom-munikálnak egymással nemlineáris aktivációs függvényeken keresztül. Három strukturáli-san elkülöníthető részből áll: bemeneti réteg, rejtett rétegek, kimeneti réteg. Minden rétegvalamennyi neuronja össze van kötve a korábbi réteg összes neuronjával. Egy réteg neu-ronjainak aktivációs értékei meghatározzák a következő réteg aktivációs értékeit. A teljesneurális háló egy függvény, melynek inputja a bemeneti réteg neuronjainak inputja, ésoutputja a kimeneti réteg neuronjainak outputja.

6

Page 7: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

A bemeneti réteg az input neuronokból áll, melyek nem végeznek információfeldolgo-zást, csupán a hálózat bemeneteinek a következő réteg bemeneteihez való eljuttatása afeladatuk.

A rejtett rétegek száma különböző esetekben eltérhet. Az első rejtett réteg mindenegyes neuronja össze van kötve a bemeneti réteg összes neuronjával. Ezen neuronok akti-vációs értékét egy súlyozott összeg adja, az előző réteg neuronjainak aktivációs értékeibőlés az összekötő élek súlyaiból együttesen, ezután egy F : R→ R aktivációs függvényen ke-resztül fut az eredmény: F (w1a1 + ...+wnan). Ilyen aktivációs függvény például a Sigmoidfüggvény (F (x) = 1

1+e−X), melynek output értékei -1 és 1 közt mozognak, így korlátoz-

va, stabilan tartva a számításokat a neurális hálóban. A leggyakrabban használt a ReLUfüggvény (F (x) = max(0, X)). A b eltolásérték a súlyozott összeghez hozzáadott érték,mellyel szabályozza az adott neuron aktivitását, inaktivitását: σ(w1a1 + ... + wnan + b).Ebből a számításból adódnak a következő réteg neuronjai. Az ezt követő réteg neuronjaihasonlóan jönnek létre, inputjuk az előző réteg neuronjainak outputja.

A bemeneti réteg neuronjainak aktivációs értékeit vektorba, az egyes rétegek neuron-jai közti élek súlyait mátrixba, az eltolásértékeket vektorba rendezve kapjuk a megfelelőaktivációs értékeket.

A kimeneti réteg azon neuronja lesz a neurális háló válasza az adott problémára,melynek aktivációs értéke a legnagyobb.

2.2. A neurális háló működése

A neurális háló egy adott problémára általában nem a teljesen igaz választ adja. Ennekkiküszöbölésére az ötlet a tanulás és tesztelés folyamata, ezáltal a megfelelő súlyokat,eltolásértékeket megtalálni, a hibákat a lehető legkisebbre szorítani.

2.2.1. Gradiens módszer

A hibák lecsökkentéséhez egy bizonyos C költségfüggvényt kell minimalizálni. Egy adottinputra gyakran használt költségfüggvény a helyes megoldás értékeinek és a kapott meg-oldás értékeinek különbség négyzetösszege. Ez a költség kicsi, ha a hálózat megfelelőenműködik. A költségfüggvény inputja a súlyok és az eltolásértékek, outputja egy szám,maga a költség, ami kifejezi a bemeneti adatok „ jóság”-át. Ahhoz, hogy a költségfügg-vényt hatékonyan tudjuk minimalizálni, érdemes először megvizsgálni, hogy mely irányba

7

Page 8: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

kellene elmozdulni, hogy a legjobban csökkenjen a költség. A negatív gradiens irányábalépkedve általában gyorsan találhatjuk meg a minimumot.

A negatív gradiens vektor minden egyes komponense két dolgot hordoz magában: azt,hogy melyik irányba kellene változtatni az input vektoron, és milyen mértékben, tehátminden egyes súly és eltolásérték fontosságát írja le.

2.2.2. Visszaterjesztés

Ez a legfontosabb algoritmus a neurális hálók tanulásában, a gradiens kiszámolásához.Amíg a neurális háló még nem tanult eleget, véletlenszerű output értékekből indul ki.A kimeneti réteg neuronjainak aktivációs értékei megadják, hogy melyeket kellene csök-kenteni és melyeket növelni, hogy az inputnak megfelelő eredményt kapjuk. Az értékekmegváltoztatása az eredmény befolyásolása szempontjából nem egyenrangú. Tekintsük amegfelelő megoldás aktivációs értékét, ami mint korábbról tudjuk egy súlyozott összega korábbi rétegek aktivációs értékeiből. Ezt az értéket kellene megkapni, a felhasználtadatok megfelelő módosításával.

Az aktivációs értékek növelését háromféleképpen is megtehetjük: növelhetjük az elto-lásértéket, a súlyokat vagy megváltoztathatjuk a korábbi rétegek aktivációs értékeit.

1. Súlyok változtatásával: a korábbi réteg „legfehérebb”, legaktívabb neuronjainak vana legnagyobb hatása a súlyozott összegre. A legnagyobb súlynövelések és a legerősebbkapcsolatok a legaktívabb neuronok és azon neuron közt vannak, amit aktívabbá kívánunktenni.

2. A korábbi réteg aktivációs értékeinek megváltoztatásával: a pozitív súlyú kapcsola-tokat fehérebbé (aktívabbá), a negatív súlyú kapcsolatokat szürkébbé (inaktívabbá) kelltenni, hogy aktívabbá tegye a kívánt neuront.

A többi output neuront kevésbé aktívvá kellene tenni.

8

Page 9: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

2.2.3. Visszaterjesztés kalkulusa

Tekintsünk egy egyszerűbb esetet a kalkulus megértéséhez. Álljon minden réteg egy darabneuronból. Ezek közül most nézzük az utolsó két réteg neuronját. Az utolsó réteg neuronjátjelölje a(L), az ezt megelőző réteg neuronját a(L−1) és így tovább. A kívánt output aktivációsértéke 1 vagy 0, ezt a neuront jelölje y. A mostani példára nézve a költség C0 = (a(L) −y)2, de ez csak egy tréningező példára értve. Emlékezzünk, hogy hogyan kapjuk meg aneuronok aktivációs értékeit: a(L) = σ(w(L)a(L−1) + b(L)) (Sigmoid vagy ReLU aktivációsfüggvénnyel). Jelölje a σ argumentumában lévő összeget ezesetben z(L). Tehát, 3 dologkell z kiszámolásához (w, a, b), amelyből aztán megkapjuk a következő a értéket, mely azy-al együttvéve kiadja a költséget végül. Ezt iterálva az a(L−1) hasonlóan számolódik.

...

...

...

...

z(L−1)

w(L)

a(L−1)

b(L)

z(L) a(L) C0

y

A cél ezt megkapni:∂C0

∂w(L)=∂z(L)

∂w(L)

∂a(L)

∂z(L)

∂C0

∂a(L).

A szorzat 3 tényezője együttesen adja meg, hogy C mennyire érzékeny a w(L)-ben tör-ténő kis változásokra. Ha tetszőleges számú tréningező példára nézzük, akkor ∂C

∂w(L) =1n

∑n−1k=0

∂Ck∂w(L) . Fontos, hogy ez a kiszámolt érték csak egy érték a gradiens vektorból.

Ahhoz, hogy megkapjuk mennyire érzékeny az eltolásértékek változtatására, ehhez csaka láncszabályban a w(L) helyett b(L)-t kell írni. Az aktivációs értékek esetében is csakegy tényezőt kell kicserélni, hogy az erre vonatkozó érzékenységét vizsgálhassuk. Ezt aláncszabály ötletet hátrafelé iteráljuk a korábbi rétegek felé. Innen jön a visszaterjesztéselnevezés.Ha nagyobb neurális hálót tekintünk, ahol egy rétegben több neuron van, akkor egy alsóindexszel hasonló jelöléseket alkalmazhatunk a számításokban, mint a fentiek.

9

Page 10: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

2.3. Kézzel írott számjegy felismerése

Hogyan ismeri fel a neurális háló a különféle kézzel írott számjegyeket?Bemenetként, ha kap egy 28x28 pixeles képet egy kézzel írott számról, ez a 784 neuronalkotja az ehhez tartozó bemeneti réteget. Mindegyik rendelkezik a megfelelő aktivációsértékkel, melyek bevilágítják a bemeneti réteg összes neuronját ennek megfelelően. Ez a0 és 1 közti szám fejezi ki a neuron állapotát, szürkeárnyalatot ad meg (1 a fehér, 0 afekete).

28x28 pixeles kép egy 7-es számjegyről

A kimeneti réteget 10 neuron alkotja, amelyek a 0 - 9 számjegyeket jelölik. A kimenetiréteg neuronjainak aktivációs értékei mutatják, hogy a neurális háló válasza mennyibentér el az eredetileg beadott képen lévő számjegytől. A rejtett rétegek száma sok esetbenmás, itt most vegyünk két rejtett réteget. Az első rejtett réteg minden egyes neuronjakapcsolatban áll a bemeneti réteg 784 neuronjával. Mindegyik kapcsolathoz tartozik egysúly, és minden neuronhoz a rejtett rétegből tartozik egy eltolásérték.

Miért van szükség ilyen rétegekbe rendezett rendszerre?A neurális háló egy számjegyet részekre darabolva ismer fel, azaz hurkokra, vonalakratagolja a számjegyek alakját. A hurkokat és vonalakat még kisebb részekre, alkomponen-sekre osztja. Az első rejtett réteget egy konkrét inputtól függően ezen alkomponenseknekmegfelelően világítja be, a második rejtett réteget pedig a már ezekből alkotott nagyobbkomponenseknek megfelelően.

10

Page 11: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

3. fejezet

Approximációs algoritmusok

szubmoduláris halmazfüggvények

maximalizálására

3.1. Szubmoduláris halmazfüggvények

3.1.1. Definíció. Adott egy N véges halmaz és egy z : R→ 2N halmazfüggvény. Ekkor zszubmoduláris, ha

z(A) + z(B) ≥ z(A ∩B) + z(A ∪B) ∀A,B ⊆ N.

A szubmodularitás kifejezhető a csökkenő hozam jelölésével is. Jelölje egy e ∈ V elemhozzáadásának hasznát 4+

f (e|S) = f(S ∪ {e})− f(S), és az e ∈ S ⊆ V elem kivételénekhasznát 4−f (e|S) = f(S\{e})− f(S). Ezzel definiálva a szubmodularitást kapjuk, hogy

4+f (e|A) ≥ 4+

f (e|B) ∀A ⊆ B ⊂ N, e /∈ B.

11

Page 12: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

3.2. Maximalizálás mohó megközelítése

Legyen K egy pozitív egész, z pedig egy szubmoduláris függvény egy N halmazon. Aprobléma, melyre megoldásokat keresünk:

maxS⊆N{z(S) : |S| ≤ K, z(S) szubmoduláris}. (3.1)

Az egyik legkézenfekvőbb megközelítés a mohó algoritmus, melyben kiindulunk az üreshalmazból és minden egyes lépésben hozzávesszük azt az elemet, mely a legnagyobbatnövel a z értékén.A mohó algoritmus halmazfüggvényekre:

Kezdőállapot: Legyen S0=∅, N0=N és t=1.A t. iteráció: válasszuk i(t) ∈ N t−1, melyre 4+

z (i(t)|St−1)= maxi∈Nt−1(St−1).Legyen ρt−1 = 4+

z (i(t)|St−1).1.lépés: Ha ρt−1 ≤ 0, megáll az SK∗ halmazzal, K∗ = t-1 < K.

Ha ρt−1 > 0, legyen St = St−1 ∪ {i(t)} és N t = N t−1 - {i(t)}.2.lépés: Ha t = K, megáll az SK∗ halmazzal, K∗ = K. Egyébként t → t+1.

3.2.1. Megjegyzés. Jelölés: Z := az optimális megoldás értéke 3.1-re, és ZG := egyébmegoldás értéke 3.1-re a mohó módszerrel.

3.2.2. Megjegyzés. ZG = z(∅) + ρ0 + · · · + ρK∗−1, K∗ ≤ K.

Tegyük fel, hogy K∗ ≥ 1, ezzel kizárva a triviális Z = ZG = z(∅) esetet.

3.2.3. Megjegyzés. Jelölés: Legyen C(θ) azon szubmoduláris halmazfüggvényeknek azosztálya, melyekre teljesül 4+

z (j|S) ≥ -θ, ∀ S⊂ N , j ∈ N -S.

3.2.4. Állítás. Tegyük fel, hogy z ∈ C(θ), θ ≥ 0, és a mohó algoritmus megáll K∗ lépésután, ekkor a megfelelő {ρj}K

∗−1j=0 kielégi a következőt:

Z ≤ z(∅) +t−1∑i=0

ρi +Kρt + tθ, t = 0, ..., K∗ − 1

és

Z ≤ z(∅) +K∗−1∑i=0

ρi +K∗θ, ha K∗ < K.

(3.2)

12

Page 13: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

Bizonyítás. Felhasználjuk hozzá ezt az egyenlőtlenséget:z(T ) ≤ z(S) +

∑j∈T−S 4+

z (j|S) + |S − T | θ.Legyen T a 3.1 probléma optimális megoldása, S a mohó algoritmus t iterációja után

generált St halmaz, és tudjuk:Z=z(T ), 4+

z (j|St) ≤ρt, ρt ≥0, |St − T |≤t, θ ≥0, |T − St|≤ K

és z(St)=z(∅)+∑t−1

i=0 ρi,így kapjuk

Z ≤ z(∅) +∑t−1

i=0 ρi +Kρt + tθ, t = 0, ..., K∗ − 1,

továbbá,ha K∗<K, S=SK∗-t véve adódik Z ≤ z(∅)+

∑K∗−1i=0 ρi+ K∗θ, ρK∗ ≤0. �

θ=0-t véve, a 3.2.4 Állítás második egyenlőtlenségéből adódik:

3.2.5. Állítás. Ha a mohó algoritmust monoton növő z függvénnyel alkalmazzuk a 3.1

problémára és az algoritmus megáll K∗<K lépés után, a mohó megoldás optimális.

A 3.2 első egyenlőtlenségéből t=0-ra kapjuk, hogy

3.2.6. Állítás. A mohó algoritmust a 3.1 problémára alkalmazva

Z − ZG

Z − z(∅)≤ K − 1

K.

Bizonyítás. A 3.2 egyenlőtlenségből t=0-ra kapjuk, hogy Z-z(∅)≤K ρ0 ≤K(ZG-z(∅)),ami azzal ekvivalens, hogy Z−ZG

Z−z(∅)≤ K−1

K. �

13

Page 14: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

3.3. Korlát nélküli szubmoduláris maximalizálás

(KNSM)

Tekintjük a korlát nélküli szubmoduláris maximalizálás (KNSM) problémát [2], melybenadott egy f nemnegatív szubmoduláris függvény (f : 2N → R+). Találni szeretnénk egyS ⊆ N részhalmazt, mely maximalizálja f(S)-t.

3.3.1. Megjegyzés. Adott egy S halmaz és egy u elem, jelöljük az S ∪ {u} kifejezéstS+u -val, az S \{u} -t S-u -val.

3.3.2. Tétel. (Buchbinder et al. [2]) Létezik egy determinisztikus lineáris idejű (1\3)-approximáló algoritmus a korlát nélküli szubmoduláris maximalizálás problémára.

3.3.3. Tétel. (Buchbinder et al. [2]) Létezik egy véletlenített lineáris idejű(1\2)-approximáló algoritmus a korlát nélküli szubmoduláris maximalizálás problémára.

A bemutatandó algoritmusok a mohó megközelítésen alapszanak.Tekintsünk egy nemnegatív szubmoduláris f függvényt. Vizsgáljuk meg f komplemente-rét, jelölje f , a következőképpen definiálva: f(S) := f(N\S), ∀ S ⊆ N .Mivel f szubmoduláris, így f is szubmoduláris. Továbbá, adott egy optimális megoldásOPT ⊆ N a KNSM-ra f inputtal, N \ OPT egy optimális megoldás f -hez, és mindkétmegoldásnak pontosan ugyanaz az értéke.Tekintsük a korábban leírt mohó algoritmust. f esetében az üres halmazból indulunk kiés iteratívan elemeket adunk hozzá mohó megválasztással. f esetében fordítva működik amohó algoritmus, az N halmazból indul ki és minden egyes lépésben kivesz belőle elemet.De mindkét algoritmus „megbukik”.Ezért f -t és f -t együttesen tekintjük. Két megoldással indulunk el: ∅ és N . Az algorit-mus tekint egy elemet és meghatározza, hogy az adott elemet hozzá kellene-e adni az elsőmegoldáshoz, vagy eltávolítani a második megoldásból. Végül a két megoldás megegyezikmajd, ez lesz az algoritmus outputja.

14

Page 15: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

3.3.1. Determinisztikus lineáris idejű (1\3)-approximáló algorit-

mus

Jelölje az N halmaz elemeit u1, ... ,un. Az algoritmusban n iteráció van és két halmazt tartfent végig, legyenek ezek az i. iterációban: Xi és Yi. Kezdetben legyen X0= ∅ és Y0=N .Az i. iterációban vagy hozzáadja ui -t Xi−1 -hez, vagy kiveszi ui -t az Yi−1 -ből. Ennekeldöntése mohó módón zajlik a két opció marginális hasznátől függően. Az n. iterációután azt kapjuk, hogy Xn=Yn, mely az algoritmus outputja.

Algorithm 1 Determinisztikus KNSM (f ,N)1: X0 ← ∅, Y0 ← N .2: for i=1 to n do

3: ai ← f(Xi−1 + ui) - f(Xi−1).4: bi ← f(Yi−1 - ui) - f(Yi−1).5: if ai ≥ bi then

6: Xi ← Xi−1 + ui.7: Yi ← Yi−1.8: else

9: Xi ← Xi−1.10: Yi ← Yi−1 - ui.11: end if

12: end for

13: return Xn ( vagy ekvivalensen Yn)

3.3.4. Lemma. ∀ 1 ≤ i ≤ n : ai + bi ≥ 0.

Bizonyítás. Tudjuk, hogy (Xi−1 + ui)∪ (Yi−1− ui) = Yi−1 és (Xi−1 + ui)∩ (Yi−1− ui) =

Xi−1. Ezekhez hozzávéve a szubmodularitást kapjuk, hogy

ai + bi = [f(Xi−1 + ui)− f(Xi−1)] + [f(Yi−1 − ui)− f(Yi−1)] =

= [f(Xi−1 + ui) + f(Yi−1 − ui)]− [f(Xi−1) + f(Yi−1)] ≥ 0.

A továbbiakban a 3.3.2 Tétel kerül bizonyításra.A bizonyítás fő ötlete, hogy korlátozzuk a teljes értékveszteséget ezen sorozat mentén:f(OPT0), ..., f(OPTn), ahol OPTi := (OPT ∪Xi) ∩ Yi, azaz OPTi megegyezik Xi-vel az

15

Page 16: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

első i elemen, és OPT -al az utolsó n − i elemen. Így OPT0 = OPT , és az algoritmusoutputja OPTn = Xn = Yn.Szükség lesz a következő lemmára, mely felülről korlátozza a veszteséget a sorozat kétegymást követő eleme között.

3.3.5. Lemma. ∀ 1 ≤ i ≤ n : f(OPTi−1) − f(OPTi) ≤ [f(Xi) − f(Xi−1)] + [f(Yi) −f(Yi−1)].

Bizonyítás. Tegyük fel ai ≥ bi, azaz Xi ← Xi−1 + {ui}, Yi ← Yi−1. Ekkor OPTi =

OPTi−1 + ui és Yi = Yi−1. Így kapjuk a megfelelő egyenlőtlenséget:f(OPTi−1)− f(OPTi−1 + ui) ≤ f(Xi)− f(Xi−1) = ai. Két eset lehetséges.Ha ui ∈ OPT , az utolsó egyenlőtlenség bal oldala 0, így az kell csak, hogy nemnegatív azai. És ez igaz, mert ai + bi ≥ 0 a korábbi lemmából adódóan, és feltettük, hogy ai ≥ bi.Ha ui /∈ OPT , akkor ui /∈ OPTi−1-nek sem, így f(OPTi−1)− f(OPTi−1 + ui) ≤ f(Yi−1 −ui)− f(Yi−1) = bi ≤ ai. �

Bizonyítás. A 3.3.2 Tétel pedig következik ebből a lemmából, hiszen ∀ 1 ≤ i ≤ n -reösszegezve a lemmában lévő egyenlőtlenséget azt kapjuk, hogy

n∑i=1

[f(OPTi−1)− f(OPTi)] ≤n∑i=1

[f(Xi)− f(Xi−1)] +n∑i=1

[f(Yi)− f(Yi−1)].

Ez egy teleszkópikus összeg. Így adódik: f(OPT0)−f(OPTn) ≤ [f(Xn)−f(X0)]+[f(Yn)−f(Y0)] ≤ f(Xn) + f(Yn). Az OPT0 és OPTn definíciójával kapjuk, hogy f(Xn) = f(Yn) ≥f(OPT )/3.

3.3.2. Véletlenített lineáris idejű (1\2)-approximáló algoritmus

Az 1-es algoritmus összehasonlítja az ai, bi marginális hasznokat. Az összehasonlítás kö-vetkeztében az algoritmus hoz egy mohó determinisztikus döntést, hogy az adott ui elemetbeveszi vagy kizárja az outputból. A véletlen algoritmus esetében az egyes elemek bevá-lasztása véletlenszerű.∀ 1 ≤ i ≤ n, Xi és Yi véletlen változók, melyek az i. iteráció végén kapott két megoldáselemeinek halmaza.

16

Page 17: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

Algorithm 2 Véletlenített KNSM (f ,N)1: X0 ← ∅, Y0 ← N .2: for i=1 to n do

3: ai ← f(Xi−1 + ui) - f(Xi−1).4: bi ← f(Yi−1 - ui) - f(Yi−1).5: ai

′ ← max{ai, 0},6: bi

′ ← max{bi, 0}.7: withprobability ai

′/(ai′ + bi

′)∗ do: Xi ← Xi−1 + ui, Yi ← Yi−1.8: else ( a komplementer valószínűséggel bi′/(ai′+bi′)) do: Xi ← Xi−1, Yi ← Yi−1−ui.9: end for

10: return Xn ( vagy ekvivalensen Yn)

*Ha ai′ = bi′ = 0, azt kapjuk, hogy ai′/(ai′ + bi

′)=1.

Ezesetben tekintsük a következő sorozatot: E[f(OPT0)], ...,E[f(OPTn)]. A kezdőértékf(OPT ), és az algoritmus outputjának várható értékével végződik a sorozat. A következőlemma felülről korlátozza a veszteséget a sorozat bármely két egymást követő tagjáranézve.

3.3.6. Lemma. ∀ 1 ≤ i ≤ n-re

E[f(OPTi−1)− f(OPTi)] ≤1

2E[f(Xi)− f(Xi−1) + f(Yi)− f(Yi−1)].

Bizonyítás.

Ez kielégíti minden Xi−1 = Si−1 eseményre a lemmában szereplő egyenlőtlenséget,ahol Si−1 ⊆ {u1, ..., ui−1}. Fixáljunk le egy eseményt az Si−1 halmaznak megfelelően. Atovábbiakban mindent ezen az eseményen feltételezünk. A feltételezés miatt a következővéletlen változók konstansok lesznek:1. Yi−1 = Si−1 ∪ {ui, ..., un}.2. OPTi−1 := (OPT ∪Xi−1) ∩ Yi−1 = Si−1 ∪ (OPT ∩ {ui, ..., un}.3. ai és bi.A korábbi lemma miatt ai + bi ≥ 0, így nem lehet ai és bi is 0-nál kisebb.Három eset lehetséges.

1. Eset: (ai ≥ 0, bi ≤ 0)

Ekkor a′i

a′i+b′i

= 1, és ekkor Yi = Yi−1 = Si−1 ∪ {ui, ..., un} és Xi ← Si−1 + ui. Ennélfogvaf(Yi)− f(Yi−1) = 0. A definíció alapján OPTi = OPTi−1 + ui adódik.

17

Page 18: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

Már csak azt kell belátni, hogy

f(OPTi−1)− f(OPTi−1 + ui) ≤1

2[f(Xi)− f(Xi−1)] =

ai2.

Ha ui ∈ OPT , akkor az egyenlőtlenség bal oldala 0, amely triviálisan nem nagyobb, minta nemnegatív ai/2. Ha ui /∈ OPT , akkor

f(OPTi−1)− f(OPTi−1 + ui) ≤ f(Yi−1 − ui)− f(Yi−1) = bi ≤ 0 ≤ ai/2.

Az első egyenlőtlenség a szubmodularitásból következik, mivel OPTi−1 = (OPT ∪Xi−1)∩Yi−1 ⊆ Yi−1 − ui.

2. Eset: (ai < 0, bi ≥ 0)

Ez az eset az előzőhöz hasonlóan adódik.3. Eset: (ai ≥ 0, bi > 0)

Ebben az esetben a′i = ai, b′i = bi. Ebból adódik ai

ai+bivalószínűséggel: Xi ← Xi−1 + ui és

Yi ← Yi−1, míg bibi+ai

valószínűséggel: Xi ← Xi−1 és Yi ← Yi−1 − ui. Így,

E[f(Xi)− f(Xi−1) + f(Yi)− f(Yi−1)] =

=ai

ai + bi[f(Xi−1 + ui)− f(Xi−1) + f(Yi−1)− f(Yi−1)]+

+bi

bi + ai[f(Xi−1)− f(Xi−1) + f(Yi−1 − ui)− f(Yi−1)] =

=ai

ai + bi[f(Xi−1 + ui)− f(Xi−1)] +

bibi + ai

[f(Yi−1 − ui)− f(Yi−1)] =ai

2 + bi2

ai + bi.

Az OPTi definíciójából adódóan, kapunk egy felső becslést a következőre:E[f(OPTi−1) − f(OPTi)] = ai

ai+bi[f(OPTi−1) − f(OPTi−1 + ui)] + bi

bi+ai[f(OPTi−1) −

f(OPTi−1 − ui)] ≤ aibiai+bi

.Az utolsó egyenlőtlenség két esetből következik. Jegyezzük meg, hogy ui ∈ Yi−1 és

ui /∈ Xi−1.Ha ui /∈ OPTi−1, akkor az utolsó egyenlőtlenség bal oldalának második kifejezése 0. Va-lamint, OPTi−1 = (OPT ∪ Xi−1) ∩ Yi−1 ⊆ Yi−1 − ui. Tehát, a szubmodularitás miattf(OPTi−1)− f(OPTi−1 + ui) ≤ f(Yi−1 − ui)− f(Yi−1) = bi.Ha ui ∈ OPTi−1, akkor az egyenlőtlenség bal oldalának első kifejezése lesz 0 és Xi−1 ⊆((OPT ∪ Xi−1) ∩ Yi−1) − ui = OPTi−1 − ui. Ekkor f(OPTi−1) − f(OPTi−1 − ui) ≤f(Xi−1 + ui)− f(Xi−1) = ai.

18

Page 19: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

Mindent összegezve azt kapjuk, hogy

aibiai + bi

≤ 1

2

(a2i + b2

i

ai + bi

).

Bizonyítás. Ebből a lemmából viszont következik a 3.3.3 Tétel, így ∀ 1 ≤ i ≤ n-reösszegezve a lemmában lévő egyenlőtlenséget kapjuk, hogy

n∑i=1

E[f(OPTi−1)− f(OPTi)] ≤1

2

n∑i=1

E[f(Xi)− f(Xi−1) + f(Yi)− f(Yi−1)].

Ez is egy teleszkópikus összeg, így adódik

E[f(OPT0)− f(OPTn)] ≤ 1

2E[f(Xn)− f(X0) + f(Yn)− f(Y0)] ≤ E[f(Xn) + f(Yn)]

2.

Az OPT0 és az OPTn definícióját felhasználva megkapjuk, hogy

E[f(Xn)] = E[f(Yn)] ≥ f(OPT )

2.

19

Page 20: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

4. fejezet

Szubmoduláris halmazfüggvények

tanulása adatokból

Jellemzően, a szubmoduláris függvény tanulása és a függvény optimalizálása külön ke-zelendő. Azaz a tanult függvény később maximalizálódik. Bemutatok egy módszert [3],mely együttesen hajtja végre a tanulás és maximalizálás folyamatát. Az algoritmusok astandard mohó algoritmusból [1] és a dupla mohó algoritmusból [2] származnak.

End to end tréningezés

Általában a tanulási rendszerek több szakaszban történő feldolgozást igényelnek, az endto end módszer viszont mindezt helyettesíti egy egyszerű neurális hálóval. Ez a tréninge-zés fajta gyakran vezet jelentős teljesítmény növekedéshez. Ez a tanulási mód általábanelhagyja a közvetítő algoritmusokat és közvetlenül tanulja egy adott probléma megoldásáta minta adathalmazból. Ilyen például a beszéd felismerés, melynél a legtöbb módszer na-gyon sok szakaszra bontja a feldolgozását egy hangfelvételnek. Amit az end to end tanuláscsinál ehelyett a sok lépésből álló lánc helyett az az, hogy veszi inputnak a hangfelvételtés utána közvetlenül kiadja az outputot.

20

Page 21: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

4.0.1. Megjegyzés. Legyen V = {e1, e2, ...} az elemek alaphalmaza egy rögzített sor-renddel. A V egy részhalmazát szeretnénk kiválasztani. Továbbá, legyen f : 2V → R,mely hozzárendel egy valós értékű skalárt V minden részhalmazához.

4.0.1. Problémafelvetés

Tekintjük egy ismeretlen szubmoduláris f(S|V ) függvény adatokból való tanulásánakproblémáját. A tréningező adatok az f(S|V )-t maximalizálók X gyűjteményeként van-nak megadva (különféle Vi alaphalmazokra); X = {(V1, X1), ..., (VM , XM)}.Feltételezzük, hogy az alaphalmaz nemcsak elemek absztrakt halmaza, hanem mindeneleme rendelkezik további információkkal. Fontos, hogy a képzési adatok tartalmazhatnaktöbbféle mintát ugyanahhoz az alaphalmazhoz.Az X -ben lévő maximalizálók mindegyike korlátok nélküli módon közel maximalizáljaf(S|V )-t, tehát ∀ (V,X) ∈ X -re f(X|V ) ≈ maxS∈V f(S). (Vagy, ha van megadott méret-korlát, akkor f(X|V ) ≈ maxS∈V,|S|≤k f(S|V ).)Adott egy ApproxMax algoritmus, mely megközelítőleg maximalizál egy szubmodulárisfüggvényt korlát nélküli módon, vagy korlátozva. A cél az, hogy tanulni tudjon egy θ-val paraméterezett hθ(S|V ) halmazfüggvény oly módon, hogy ha ezt maximalizáljuk azApproxMax-al, akkor a visszatérő megoldások megközelítőleg maximalizálják f(S|V )-t.

4.1. Mohó maximalizálás tanulása

Két ApproxMax algoritmust készítünk, melyek imputja egy θ-val paraméterezett hθ(.|V )

függvény, outputja a hθ(.|V )-t megközelítőleg maximalizálók. Ezek az algoritmusok a stan-dard mohó algoritmuson és a dupla mohó algoritmuson alapulnak. Az algoritmusok indu-kálnak egy eloszlást az S ⊆ V halmazok felett: PApproxMax(S;hθ(.|V )) = P (ApproxMax(hθ(.|V )) =

S). A cél megtalálni ezt:

θ∗ = argmaxθ

∑(V,X)∈χ

logPApproxMax(X;hθ(.|V )).

4.1.1. Definíció. Egy szubmoduláris függvényt maximalizáló approximációs algoritmustakkor nevezünk differenciálhatónak, ha azt választva ApproxMax eljárásunk PApproxMax(S;hθ(V ))

kifejezése mint θ függvénye θ-ban differenciálható.

21

Page 22: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

4.1.1. Differenciálható korlát nélküli maximalizálás

Itt mutatom be a valószínűségi PD2GREEDY algoritmust nemnegatív szubmodulárishalmazfüggvények korlát nélküli maximalizálásához. Ez a dupla mohó algoritmusból szár-mazik [2]. Az algoritmus V elemeinek egy fix sorrendjén megy keresztül. Minden iteráció-ban kiszámolja az ai hasznot az Xi−1 halmazhoz való i. elem hozzáadáskor és a bi hasznotaz Yi−1 halmazból az i. elem eltávolításakor. Összehasonlítja a két hasznot és ehhez mértenhoz egy véletlen döntést.

Algorithm 3 PD2GREEDY : Véletlenített dupla-mohó1: hθ : V → R≥0

2: X0 ← ∅, Y0 ← V .3: for i = 1, ..., |V | do4: ai = hθ(Xi−1 + ei)− hθ(Xi−1)

5: bi = hθ(Yi−1 − ei)− hθ(Yi−1)

6: if g(ai, bi) ≥ U then

7: (U egyenletes eloszlású a [0,1]-en)8: Xi = Xi−1 ∪ {ei}9: else

10: Yi = Yi−1\{ei}11: end if

12: end for

13: return Megközelítőleg maximalizáló X|V |

A 3. fejezetben felírt determinisztikus és véletlenített algoritmusok ebből aPD2GREEDY -ből megkaphatóak speciálisan megválasztott g(ai, bi) függvénnyel.Ha g(a, b) = g1(a, b) := 1a>b; ezzel kapjuk meg az (1/3)-approximáló determinisztikusdupla mohó algoritmust pozitív nem monoton szubmoduláris függvények maximalizálá-sához.Ha g(a, b) = g2(a, b) := [a]+

[a]++[b]+( ahol [x]+ = max{x, 0} ); ezzel kapjuk az (1/2)-

approximáló véletlenített dupla mohó algoritmust. Az algoritmus indukál egy eloszlásta V részhalmazai felett. Az eloszlás meghatározásához tekintsük az X halmazt reprezen-táló x bináris vektort. Ezek után az eloszlást eképpen írhatjuk fel:

PPD2GREEDY (X) = Π|V |i=1g(ai, bi)

xi(1− g(ai, bi))1−xi . (4.1)

22

Page 23: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

4.1.2. Megjegyzés. Időigény: A 4.1 -hez 4|V | függvénykiértékelésre van szükség, de azf(Xi), f(Yi) függvényértékek nyomonkövetésével ez lecsökkenhet 2|V |-ra.

4.1.3. Megjegyzés. Előfordulhat, hogy negatív értékű függvények is bekerülnek kísérle-tekbe. Ez azért nem tényleges probléma, mert bármely f 1(S) halmazfüggvény átalakíthatóegy f 2(S) nemnegatív halmazfügvénnyé, eképpen:f 2(S) = f 1(S) - minS′∈V f 1(S

′). Ez nincs hatással az ai, bi értékekre, viszont megváltoz-

tatja a maximum értékeit.

4.1.4. Megjegyzés. Az elemek sorrendje az alaphalmazban befolyásolja a halmazok fe-lett indukált eloszlást. Jelentős hatása lehet az elért maximumra. Tekintsünk egy egyszerűpéldát ennek értelmezéséhez:Tekintsük a PD2GREEDY -t g = g1-el. Legyen V = {e1, e2}, we1 = 2, we2 = 1 ésf(S) = 2+maxi∈S wi−|S|2. Ez egy nemnegatív szubmoduláris függvény eképpen: f(∅) =

2, f({e1}) = 3, f({e2}) = 2, f(V ) = 0. Ha a PD2GREEDY az (e1, e2) sorrendet tekin-ti, akkor az algoritmus az e2 értékével tér vissza (2-vel), míg az (e2, e1) sorrendnél az e1

értékét adja vissza (ez 3).

4.1.2. Differenciálható méretkorlátozott maximalizálás

Ez abban különbözik az ezt megelőző maximalizáló algoritmustól, hogy itt van egy meg-adott k méretkorlát a halmazokra. Azaz, ∀ (V,X) ∈ X : f(X) ≈ maxS⊆V, |S|=k f(S).A PGREEDY algoritmus úgy épít fel egy k elemű megoldást, hogy az üreshalmazbólindul ki és minden lépésben egy elemet ad hozzá. Az i. iterációban hozzáadott elemetvéletlenszerűen választja ki a V \Xi−1 -ből még ki nem választottak közül, ahol az e elemkiválasztásának pe|Xi−1

valószínűsége függ attól, hogy mennyi az e elem Xi−1-hez valóhozzáadásának haszna. A kiválasztás valószínűségeket egy t paraméter szabályozza, ést→ 0-ra a PGREEDY megegyezik a standard mohó algoritmussal. Az algoritmus indu-kál egy θ-ban differenciálható eloszlást a k elemű, rendezett részhalmazokon (σ(e1...ek)),eképpen:

P (σ) = Πki=1

exp(1t4+hθ

(σi|Xi−1))∑e′∈V \Xi−1

exp(1t4+hθ

(e′ |Xi−1)), (4.2)

ahol Xi−1 = {σ1, ..., σi−1}. Összegezve az összes S-hez tartozó σ sorrendjét az elemeknek,megkapjuk az S halmazhoz tartozó valószínűséget: P (S) =

∑σ∈Σ(S) P (σ), ahol Σ(S) jelöli

az S halmaz elemeiből alkotott permutációk halmazát.

23

Page 24: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

Algorithm 4 PGREEDY , véletlenített mohó1: hθ : V → R≥0, k méretkorlát2: X0 ← ∅3: for i = 1, ..., k do

4: C ← V \Xi−1

5: ∀ e ∈ C : pe|Xi−1←

exp( 1t4+hθ

(e|Xi−1))∑e′∈C exp(

1t4+hθ

(e′ |Xi−1))

6: e∗ ← e ∈ C, pe|Xi−1valószínűséggel

7: Xi = Xi−1 ∪ {e∗}8: end for

9: return Xk

4.1.3. Kísérletek

Maximális vágás

Legyen G(V,E,w) egy súlyozott irányítatlan gráf, ahol V a csúcsok halmaza, E az élekhalmaza, és w nemnegatív élsúlyok halmaza ( wij, ∀ i, j ∈ E). A feladat az, hogy keres-ni kell egy S részhalmazát a csúcsoknak, melyre f(S) =

∑i∈S∑

j∈V \S wij vágás értékmaximális.

Kép gyűjtemény összegzés

A problémafelvetés részben említett Vi-k itt most a képeknek felelnek meg, az Xi -k pedigaz emberek által generált összegzések egy gyűjteményhez. Képek egy V gyűjteményébőlszeretnénk kiválasztani egy S részhalmazt úgy, hogy a kiválasztott képek megfelelőenösszegezzék a V gyűjtemény tartalmát( S lefedje az összes V -beli fontos helyszínt, és azS-beli képek különbözőek).

24

Page 25: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

4.2. Differenciálható mohó háló (DMH)

A Differenciálható Mohó Háló (DMH) [4] a pontosság és visszakeresés tekintetében túl-teljesíti a diszkrét optimalizáló algoritmusokat és más módszereket.A bizonyíték visszakeresés egy kulcsfontosságú része az állítás igazolásnak vagy pl. a kér-dés megválaszolásnak. A FEV ER (mely egy nagyméretű adathalmaz a Fact Extractionand VERification feladathoz) adathalmazhoz tartozik egy bizonyíték visszakeresési rend-szer ( amelyhez viszonyítunk ), amely a top k mondattal tér vissza, az állítás és a jelöltmondatok közti TF-IDF ( Term frequency: egy szó gyakorisága egy dokumentumban,Inverse document frequency: megadja, hogy mennyire jelentős az adott kifejezés a teljesszövegben) jellemzők „koszinusz-hasonlósága” (cosine similarity: hasonlóság mértéke kétnemnulla vektor közt, amely az általuk bezárt szög koszinuszát adja meg ) alapján.Egy olyan részhalmaz kiválasztó algoritmust mutatok be, amely gradiens alapú módsze-rekkel tréningezhető, ezzel közel optimális eredményt ér el a szubmoduláris optimalizálá-son keresztül. A FEV ER feladaton szeretnénk megadni mondatok egy megfelelő halmazátállítások igazolásához. Erre a feladatra a hagyományos módszerek a mondatokat önmaguk-ban értelmezve vizsgálják meg, így nem halmazként értelmezve optimalizálják a mondatokinformációtartalmát. Az ötlet, melyen a bemutatandó módszer alapul, egy mohó algorit-mus beépítése egy számítási gráfba, ezzel lehetővé téve a gradiens alapú tréningezést ésa kiértékelhetőséget. A háló, amelyről itt szó lesz, tanulja szubmoduláris függvény para-métereit és kódol mohó optimalizáláson keresztül, relaxált argmax függvényt használva atréningezési időben. A tesztelés ideje alatt a modell az argmax-t használja.

Deep unfolding

A deep unfolding az ötlet, mely a továbbiakban a középpontba kerül. Ez jelenti példáulaz autoencoderek ( mesterséges neurális hálók egy típusa, melyet adatok kódolásáhozszoktak használni) esetében az input helyreállítását a kódólás - dekódolás alkalmazásával.Más szavakkal mondva, kisebb dimenzióba való összenyomás (folding) és utána nagyobbdimenzióba való kiterjesztés (unfolding), amíg az input eredeti dimenzióját eléri újra.

25

Page 26: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

Az újítás a korábbi eredményekhez képest egy szubmoduláris halmazfüggvény mohómaximalizálásának differenciálhatóvá tétele. A mohó optimalizáló algoritmusok biztosíta-nak egy eszköztárat a részhalmaz kiválasztó problémákhoz, ilyenek például az összegzés,visszakeresés, jellemzők kiválasztása. A visszakeresési feladatokhoz, mint a bizonyíték ki-szűrése, szubmoduláris függvény optimalizálás lehetővé tesz összefüggéseket a bizonyítéklehetséges darabjai között. Például, tekintsünk egy problémát, ahol adott egy állítás, a célkiválasztani mondatokat, melyek segítenek igazolni vagy megcáfolni az állítást. Egy ha-sonló feltételezés a kiválasztási modellekkel kapcsolatban az, hogy a mondatok függetlenekegymástól, ezáltal a kiválasztás lineáris idejű a mondatok számának értelmében.

A szubmoduláris f függvény, amit optimalizálunk, egy SCMM (sums of concave com-posed with monotone modular function) függvény, mely a következőképpen van megadva:

fα(A) =∑u∈U

αu log(1 +∑a∈A

hua),

ahol αu ∈ R+, ∀u ∈ U -ra nemnegatív tréningezhető paraméterek az u indexben és hua ∈R+ az output jellemzők a kódolási rétegből az A mondatokhoz és az U index jellemzőkhöz.

4.2.1. Definíció. Adott egy V véges halmaz és egy m0 : 2V → R halmazfüggvény. Ekkorm0 moduláris, ha

m0(A) +m0(B) = m0(A ∩B) +m0(A ∪B) ∀A,B ⊆ V.

4.2.2. Állítás. Legyen m : 2V → R+ egy moduláris függvény, és g : R → R egy konkávfüggvény. Ekkor az f : 2V → R függvény eképp definiálva: f = g(m(A)) szubmoduláris.

Bizonyítás. Adott A ⊆ B ⊂ V , v ∈ V \B, legyen m(A) = x, m(B) = y, és m({v}) = z.Ekkor 0 ≤ x ≤ y, és 0 ≤ c. Mivel g konkáv, g(x + z) − g(x) ≥ g(y + z) − g(y), ebbőladódóan g(m(A) +m({v}))− g(m(A)) ≥ g(m(B) +m({v}))− g(m(B)), mely kielégíti aszubmoduláris függvény definíciójában szereplő egyenlőtlenséget. �

Adott egy monoton szubmoduláris függvény, az optimalizációs probléma megtalálniaz optimális A∗ részhalmazt, mely maximalizálja fα(.)-t:

A∗ ∈ argmaxA∈V,|A|≤kfα(A).

26

Page 27: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

Algorithm 5 Mohó (V,k,f)

1: A← ∅2: while |A| < k do

3: v∗ ← argmaxv∈V \A4+f (v|A).

4: A← A ∪ {v∗}.5: end while

6: return A

Használhatjuk az 5-ös mohó algoritmust az A részhalmaz megtalálására úgy, hogy

fα(A) ≥ (1− 1/e)fα(A∗),

ahol (1− 1/e) ≈ 0.63.

4.2.1. A DMH működése

Ez egy unfolded (azaz kibontott, kiterjesztett) diszkrét optimalizáló algoritmus. A legfon-tosabb változtatás a háló differenciálhatóságához az argmax függvény az 5-ös algoritmusharmadik sorában. A tréningezés ideje alatt az argmax közvetlenül nem használható,mivel a gradiense nem jóldefiniált. Így megközelítjük az argmax-ot a softmax-al és hasz-nálunk egy τ paramétert, mely azt mutatja, hogy ez az érték mennyire közelíti meg azargmax-ot.A következő ábra számítási gráfként ábrázolja a DMH-t.

27

Page 28: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

Ez az 5-ös algoritmusból épült fel, ahol a 2-4 sorok tartalmazzák a mohó rétegeket. Baloldalon a háló teljes struktúrája mutatja az input jellemzőket, X, mely keresztül megyegy lineáris kódoló rétegen, és ezt követően egy ReLU aktivációs függvényen. Azért a Re-LU függvényt választjuk itt, mert az SCMM függvény szubmodularitása nemnegativitástigényel. A kapott nemnegatív jellemzők, H, keresztül megy mohó rétegeken az állapot-vektorral együtt, mely elkódolja a mondat kiválasztás előrehaladását. A jobboldali ábraszemléltet egy mohó réteget. A baloldali ágban az i. mohó iterációhoz a hálózat felsoroljaa lehetséges következő állapotokat {si∪{v} : ∀v ∈ V \si}. Ezután a háló kiértékeli a poten-ciális következő állapotokat a jelenlegi si állapot értelmében és megtalálja azt a mondatot,amely a legnagyobb növelést biztosítja fα(.) szempontjából, amely utána hozzáadódik ajelenlegi állapothoz, ez lesz az si+1. A tréningezés alatt a kiválasztás a softmax-al törté-nik egy τ paraméterrel, ezzel differenciálhatóan megközelítve az argmax-ot. A tesztelésiidőben az argmax-ot használjuk.

4.2.2. Kísérletek

Alkalmazzuk a DMH-t a FEVER adathalmazra. A FEVER adat tartalmaz állításokat,állítások osztályozását ( úgy, mint Támogatott, Megcáfolt vagy Nem rendelkezik elég in-formációval) és bizonyítékot, amelyen az osztályozás alapszik. Az állítások és a bizonyítéka Wikipédiából származik. A FEVER rendszere ( amelyhez viszonyítunk ) 2 fő lépésbőláll: bizonyíték visszakeresés és szövegi következmény felismerése. A rendszer k mondatotkiválaszt a visszakeresett dokumentumok halmazából, amelyeknek legmagasabb a TF-IDF „koszinusz hasonlósága” egy állítás esetében, a DRQA-t ( ez egy rendszer a kérdésmegválaszoláshoz, a Wikipédiából ) használva. A FEVER pontozó függvény kiszámolja apontosságot, viszahívást és az F1 pontot (egyesíti a pontosságot és visszahívást, értelmez-hető, mint súlyozott átlaga a pontosságnak és visszahívásnak, amely a legjobb értékét 1-néléri el, legrosszabbat 0-nál ) a visszakeresett mondatokhoz a jelölt bizonyíték mondatoktekintetében az igazolandó állításokban. A bizonyíték mondatok ezután keresztülmennekegy RTE hálózaton az állítással együtt, hogy az osztályozás megtörténhessen.

28

Page 29: Illés Kincső Boriska - Eötvös Loránd Universityweb.cs.elte.hu/.../2019/illes_kincso_boriska.pdf · Eötvös Loránd Tudományegyetem Természettudományi Kar Illés Kincső Boriska

Irodalomjegyzék

[1] GEORGE L. NEMHAUSER, LAURENCE A. WOLSEY, MARSHALL L. FISHER,An analysis of approximations for maximizing submodular set functions-I,1978

[2] NIV BUCHBINDER, MORAN FELDMAN, JOSEPH NAOR, ROY SCHWARTZ,A tight linear time (1/2)-approximation for unconstrained submodular maximization,2015

[3] SEBASTIAN TSCHIATSCHEK, AYTUNC SAHIN, ANDREAS KRAUSE,Differentiable submodular maximization, https://arxiv.org/pdf/1803.01785.pdf,2018

[4] THOMAS POWERS, RASOOL FAKOOR, SIAMAK SHAKERI, ABHINAV SE-THY, AMANJIT KAINTH, ABDEL - RAHMAN MOHAMED, RUHI SARIKAYA,Differentiable greedy networks , https://arxiv.org/pdf/1810.12464.pdf,2018

29