Mi a mátrix
A mátrix számok téglalap alakú táblázata. A CS229 jelölésével egy A mátrix eleme R felső m-szer-n, ami azt jelenti, hogy m sora és n oszlopa van, és minden eleme valós szám. A méret sorrendje mindig sor, aztán oszlop. Egy 3-szor-2 méretű mátrixnak három sora és két oszlopa van. A mátrix egy elemét két index jelöli. Az A_ij az i-edik sor j-edik oszlopában álló szám. Egy oszlopvektor tulajdonképpen speciális mátrix, aminek egyetlen oszlopa van.
Két hasznos alapfogalom
Két mátrixot érdemes külön megjegyezni. Az egységmátrix (identity matrix), jelben I, olyan négyzetes mátrix, aminek a főátlójában egyesek állnak, mindenhol máshol nullák. Az egységmátrix a szorzásnál úgy viselkedik, mint a szám 1-ese, tehát bármit szorzunk vele, az változatlan marad. A másik a transzponált (transpose), jelben A a felső T-vel. A transzponálás a mátrixot az átlója mentén tükrözi, tehát a sorokból oszlopok lesznek. A CS229 jelölésével a transzponált i, j eleme az eredeti mátrix j, i eleme. Ezt a két fogalmat végig használni fogjuk.
A mátrixszorzás pontos szabálya
Most jön a lecke szíve. A CS229 jegyzet definíciója szerint, ha A egy m-szer-n méretű mátrix, és B egy n-szer-p méretű mátrix, akkor a szorzatuk C egyenlő A-szor-B, ami m-szer-p méretű. Ez a legfontosabb feltétel. A szorzat csak akkor létezik, ha A oszlopainak száma megegyezik B sorainak számával. Ezt hívjuk a belső méretek egyezésének. A C mátrix i, j eleme úgy áll elő, hogy A i-edik sorát és B j-edik oszlopát vesszük, ezeket skalárisan összeszorozzuk, tehát a megfelelő elemeket összeszorozzuk és összeadjuk.
Vegyük észre, hogy ez pontosan az előző leckében megismert skaláris szorzat. A C minden egyes eleme egy sor és egy oszlop skaláris szorzata. A mátrixszorzás tehát nem új művelet, hanem sok skaláris szorzat egyszerre, rendezett formában. Ezért olyan fontos, hogy a skaláris szorzat ült.
Egy elem kiszámolása lépésről lépésre
Nézzük végig, hogyan áll elő egyetlen elem, mert ha ez megvan, az egész művelet érthető. A lenti négy lépés a fenti ábra C_11 elemét számolja ki, de bármelyik elemre ugyanígy működik. A kulcs, hogy mindig egy sort párosítunk egy oszloppal.
- Válaszd ki a sort és az oszlopotA C i, j eleméhez A i-edik sorát és B j-edik oszlopát vesszük. A C_11-hez az első sort és az első oszlopot.
- Szorozd össze párosávalAz első elemet az elsővel, a másodikat a másodikkal, és így tovább. Itt 1·2, 2·1 és 0·5.
- Add össze az eredményeketA páronkénti szorzatokat összeadjuk. Itt 2 plusz 2 plusz 0, ami 4.
- Ez lesz a C egy elemeA kapott 4 kerül a C mátrix első sorának első helyére. A többi elem ugyanígy készül.
Miért ez a háló minden rétege
Egy neurális háló egy rétege a gyakorlatban egy mátrixszorzás, amit egy egyszerű nemlineáris lépés követ. A réteg fogja a bejövő vektort, megszorozza egy súlymátrixszal, és így kikeveri belőle az új jellemzőket. A súlymátrix számai éppen azok, amiket a tanulás állít be. Amikor egy nagy modell fut, a háttérben óriási mátrixok szorzódnak össze, sok milliárd elemmel. Ezért fut a mélytanulás grafikus kártyákon, amelyeket pont a párhuzamos mátrixszorzásra terveztek. A mátrixszorzás nem mellékes részlet, hanem a modern AI legfőbb számítási művelete.
A belső méreteknek egyezniük kell. Egy m-szer-n mátrix csak egy n-szer-p mátrixszal szorozható, tehát az első oszlopszáma egyenlő a második sorszámával. Az eredmény m-szer-p méretű. Ha a belső méretek nem egyeznek, a szorzat nem is létezik.
Workshop
AI Transformation Day
Egésznapos, vezetőknek szóló program. Feltérképezzük, hol tart a szervezet, mi az első reális lépés, és milyen belső feltételek szükségesek a sikerhez. A nap végén konkrét, prioritizált cselekvési lista.
Érdekel a program →