Ülesanne täielikult lahendatud
-
Väljundkaardi suurus 28×28 sisendi ja 3×3 sobel-x tuuma korral 6 sammu
Kiht: 28×28 sisendkaart, 3×3 Sobeli x-tuum, samm 1, polsterdus sama. Leidke väljundkaardi suurus ja ühe läbimise kulu korrutamistes-liitmistes — seejärel leidke, mitu sellist kihti tuleb ülestikku seada, enne kui üksainus väljundpiksel sõltub pildi igast pikslist.
-
Polsterdus määrab suuruse, seega lahendame selle kõigepealt. sama asetab kaardi ümber ühe piksli laiuse nullide äärise, millest piisab täpselt selleks, et 3×3 aken asuks nurgapiksli keskel, mitte ei ripuks üle serva. Tuumale vajalik ääris moodustab sellest poole, arvestamata keskosa.
-
Nihutage akent piki ühte rida. Selle vasak serv algab kohast 0 ja liigub edasi sammu võrra, kuni selle parem serv jõuab polsterdatud rea lõppu, seega väljundpikslite loendamine on postiprobleem: edasiliikumiste arv pluss 1 algusasendi eest. Sammu 1 korral annab ääris tagasi täpselt need 2 veergu, mis tuum ära võtab — mille järgi sama ongi oma nime saanud.
-
Igaüks 784 väljundpikslitest on 9 sisendväärtuse üks kaalutud summa. Kui liita Sobeli x-kaalud, taanduvad need 0-ks, seega iga aken, mille kõik 9 sisendit on võrdsed, annab tulemuseks täpselt 0 — hoolimata sellest, kui hele see piirkond on. Kaart muutub tumedaks igal pool, kus pilt on ühtlane, ning reageerib vaid seal, kus akna vasak veerg erineb paremast.
-
Aritmeetiline arve on järgmine: 9 korrutamis-kuhjamistehet väljundpiksli kohta, üks väljundpiksel akna iga asendi kohta. Paneel kuvab selle arvu.
-
Põnev osa on sügavus. Pärast ühte kihti näeb väljundpiksel 3 sisendpikslit laiuti. Lisage teine kiht ja igaüks neist 3-st oli ise 3-ne aken — kuid naabaknad kattuvad 2 võrra, seega ulatus jõuab 5-ni, mitte 9-ni. Iga järgmine 3×3 sammuga 1 kiht laiendab seda täpselt 2 võrra.
-
Seadke ulatus katma kõiki 28 veergu ja arvutage sügavus. 13 kihti jõuavad 27-ni ja jäävad ühe veeru võrra lühikeseks; 14. on esimene, mille väljundpiksleid saab mõjutada terve pilt.
Vastus
28×28 väljund, 7056 korrutus-liitmistehet kihi kohta ja 14 kihti enne, kui üks piksel näeb kogu pilti. Nüüd arvutage, mida see ulatus maksab. 14 ülestikku asetatud kihti kulutavad 14 × 9 = 126 korrutamis-kuhjamistehet väljundpiksli kohta. Üksainus sama kaugele ulatuv kiht vajaks 29×29 tuuma, 841 tehet väljundpiksli kohta — 6,7 korda rohkem aritmeetikat täpselt sama vaatevälja jaoks. Sügavus annab ulatuse kätte palju odavamalt kui laius, mistõttu arvutinägemise võrgud koosnevad pikkadest 3×3 tuumade virnadest, mitte lühikestest suurte tuumade virnadest.
-
Allikad (1)
- Insight block 3 — the operation called convolution is cross-correlation: I. Goodfellow, Y. Bengio and A. Courville, Deep Learning, ch. 9. MIT Press, 2016. ISBN 978-0-262-03561-3 — "many machine learning libraries implement cross-correlation but call it convolution".