Matematikai alapok az AI-hoz · Lecke 03

Mátrixok és a mátrixszorzás

Ha a vektor egy számlista, akkor a mátrix egy számtáblázat. A mátrix az az eszköz, amivel sok vektort egyszerre alakítunk át, és a mátrixszorzás az a művelet, amiből egy neurális háló minden rétege felépül. Ebben a leckében tisztázzuk a méreteket, az egységmátrixot és a transzponáltat, majd lépésről lépésre végigvesszük a mátrixszorzás pontos szabályát.

Vissza a tananyaghoz


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.


A ∈ R₃ₓ₂   (3 sor, 2 oszlop) A₁₁ A₁₂ A₂₁ A₂₂ A₃₁ A₃₂ A₂₂ = 2. sor, 2. oszlop 3 sor EGYSÉGMÁTRIX I 1 0 0 1 1 az átlóban, 0 máshol Az I nem változtat semmit a szorzáskor
Balra egy 3-szor-2 mátrix az indexeivel, az A_22 a második sor második eleme. Jobbra az egységmátrix, ami a szorzásnál a szám 1-esének felel meg.

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.

Cᵢⱼ = Aᵢ₁B₁ⱼ + Aᵢ₂B₂ⱼ + … + AᵢₙBₙⱼ  (A i-edik sora, B j-edik oszlopa)

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.


A (2×3) 1 2 0 3 1 2 1. sor × B (3×2) 2 0 1 4 5 3 1. oszlop = C (2×2) 4 8 17 10 C₁₁ kiemelve C₁₁ = (A 1. sora) · (B 1. oszlopa) = 1·2 + 2·1 + 0·5 = 4 a belső méret, a 3, egyezik, ezért a szorzat létezik
A C_11 elemet az A első sorának és a B első oszlopának skaláris szorzata adja. Minden C elem így, egy sor és egy oszlop párosításából áll elő.

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.


  1. 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.
  2. 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.
  3. Add össze az eredményeketA páronkénti szorzatokat összeadjuk. Itt 2 plusz 2 plusz 0, ami 4.
  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.


← Előző lecke Következő lecke →

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 →