Sobes.tech
Middle — Senior

Čo je operácia zloženia? Aké má vlastnosti? Ako ju možno predstaviť ako maticové násobenie (im2col)?

sobes.tech AI

Odpoveď od AI

Operácia konvolúcie je základnou operáciou v konvolučných neurónových sieťach (CNN), ktorá sa používa na extrakciu vlastností z vstupných dát (napríklad obrázkov). Spočíva v posuvnom použití filtra (jadra konvolúcie) na vstupný signál s následným sčítaním súčinov prvkov filtra a zodpovedajúcich prvkov vstupu.

Hlavné vlastnosti konvolúcie:

  • Lokalita: filter pokrýva lokálnu časť vstupných dát.
  • Parametrická efektívnosť: rovnaký filter sa aplikuje na celé vstupné dáta.
  • Invariancia voči posunom: konvolúcia deteguje vlastnosti nezávisle od ich polohy.

Zobrazenie konvolúcie pomocou matícového násobenia (im2col):

Metóda im2col transformuje vstupný obrázok na maticu, kde každý stĺpec zodpovedá lokálnemu úseku (oknu), ktorý je rozvinutý do vektora, na ktorý sa aplikuje filter. Filter je rozvinutý do riadkového vektora. Následne sa konvolúcia redukuje na násobenie matice im2col s vektorom filtra, čo umožňuje efektívne využitie optimalizovaných operácií násobenia matíc.

Príklad:

  • Vstupný obrázok 4x4
  • Filter 3x3

im2col vytvorí maticu s rozmermi 9x4 (každý stĺpec je rozvinuté okno 3x3 do vektora), a filter bude vektor dĺžky 9. Výsledok násobenia bude vektor dĺžky 4, ktorý je možné opäť previesť na mapu vlastností 2x2.

Toto zrýchľuje výpočty a zjednodušuje implementáciu konvolúcií na GPU a CPU.