User Tools

Site Tools


muszaki_informatika:gepi_tanulas

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
muszaki_informatika:gepi_tanulas [2025/05/22 10:47] – [Tenzorok használata] knehezmuszaki_informatika:gepi_tanulas [2025/05/23 06:12] (current) – [Felügyelt és felügyelet nélküli tanulás] knehez
Line 239: Line 239:
 ==== Felügyelt és felügyelet nélküli tanulás ==== ==== Felügyelt és felügyelet nélküli tanulás ====
  
-  * A regresszió és osztályozás esetén mindig szükség van egy **célértékre** (\( y \)), ezért ezeket **felügyelt tanulásnak** nevezzük. +  * A //regresszió// és //osztályozás// esetén mindig szükség van egy **célértékre** (\( y \)), ezért ezeket **felügyelt tanulásnak** nevezzük. 
-  * A sűrűségmodellezés során nincs célérték, csak maga az \( x \) szerepel, ezért ez a **felügyelet nélküli tanulás** kategóriájába soroljuk.+  * A //sűrűségmodellezés// során nincs célérték, csak maga az \( x \) szerepel, ezért ez a **felügyelet nélküli tanulás** kategóriájába soroljuk.
  
 ==== Megjegyzés ==== ==== Megjegyzés ====
Line 282: Line 282:
   * 32 ilyen kép: \( \mathbb{R}^{32 \times 3 \times 64 \times 64} \)   * 32 ilyen kép: \( \mathbb{R}^{32 \times 3 \times 64 \times 64} \)
  
-A népszerű mélytanulási könyvtárak lehetővé teszik ezek **formátumának gyors átalakítását**, például:+A népszerű mélytanulási könyvtárak lehetővé teszik ezek **formátumának gyors átalakítását** (tenzorátalakításokat).
  
-  * dimenziók átrendezése (transpose), +==== Példák tenzorátalakításokra ====
-  * szeletek kivágása, +
-  * sorozatok kibontása (reshape).+
  
-Ezek a műveletek gyakran **memóriamásolás nélkül** végrehajthatók, ami különösen hatékonnyá teszi őket.+=== Dimenziók átrendezése (transpose) ===
  
-==== Tenzoralapú számítási modell előnyei ====+Ha van egy mátrixunk:
  
-modern mélytanulási rendszerek tervezése során a következő célok fontosak:+$$ 
 += \begin{bmatrix} 
 +1 & 2 & 3 \\ 
 +4 & 5 & 6 
 +\end{bmatrix} 
 +\in \mathbb{R}^{2 \times 3} 
 +$$
  
-  * számításokat **tenzoros formában** szervezzük meg, mert ez lehetővé teszi a párhuzamos végrehajtást. +transzponáltja:
-  * Minden szint – a modell, a programkönyvtár, a hardver – **kompatibilis** kell legyen ezzel a reprezentációval. +
-  * A tenzoros struktúra támogatja a memóriabeli **lokalitást**, vagyis a gyakran használt adatok közel maradnak egymáshoz a memóriában, ezáltal gyorsabb az elérésük.+
  
-mesterséges intelligencia modellek gyakorlati hatékonysága így nemcsak a matematikai ötleteken, hanem a **tenzorokra épülő implementáció minőségén** is múlik.+$$ 
 +A^\top = \begin{bmatrix} 
 +1 & 4 \\ 
 +2 & 5 \\ 
 +3 & 6 
 +\end{bmatrix} 
 +\in \mathbb{R}^{3 \times 2} 
 +$$
  
 +**PyTorch-ban**:
 +<sxh python>
 +A = torch.tensor([[1, 2, 3],
 +                  [4, 5, 6]])
 +A_T = A.T  # vagy A.transpose(0, 1)
 +</sxh>
 +
 +
 +=== Szeletek kivágása ===
 +
 +Tegyük fel, hogy van egy 3x4-es mátrix, és csak az első két oszlopra van szükségünk:
 +
 +$$
 +B = \begin{bmatrix}
 +1 & 2 & 3 & 4 \\
 +5 & 6 & 7 & 8 \\
 +9 & 10 & 11 & 12
 +\end{bmatrix}
 +$$
 +
 +Kivágva az első két oszlop:
 +
 +$$
 +B[:, 0:2] = \begin{bmatrix}
 +1 & 2 \\
 +5 & 6 \\
 +9 & 10
 +\end{bmatrix}
 +$$
 +
 +**PyTorch-ban**:
 +<sxh python>
 +B = torch.arange(1, 13).reshape(3, 4)
 +slice = B[:, 0:2]  # minden sor, az első két oszlop
 +</sxh>
 +
 +=== Sorozatok kibontása (reshape) ===
 +
 +Egy hosszú vektor:
 +
 +$$
 +v = [1, 2, 3, 4, 5, 6] \in \mathbb{R}^6
 +$$
 +
 +Ezt átalakíthatjuk egy 2 soros, 3 oszlopos mátrixszá:
 +
 +$$
 +\text{reshape: } \begin{bmatrix}
 +1 & 2 & 3 \\
 +4 & 5 & 6
 +\end{bmatrix}
 +\in \mathbb{R}^{2 \times 3}
 +$$
 +
 +**PyTorch-ban**:
 +<sxh python>
 +v = torch.tensor([1, 2, 3, 4, 5, 6])
 +reshaped = v.reshape(2, 3)
 +</sxh>
 +
 +Ezek a műveletek gyakran **memóriamásolás nélkül** végrehajthatók, ami különösen hatékonnyá teszi őket.
 +A modern mélytanulási rendszerek tervezése során a tenzoros reprezentáció fontos követelmén. Ha a számításokat **tenzoros formában** szervezzük meg, akkor ez lehetővé teszi a hatékony párhuzamos végrehajtást. Minden szint – a modell, a programkönyvtár, a hardver – **kompatibilis** kell legyen ezzel a reprezentációval.
 +A tenzoros struktúra támogatja a memóriabeli **lokalitást**, vagyis a gyakran használt adatok közel maradnak egymáshoz a memóriában, ezáltal gyorsabb az elérésük.
muszaki_informatika/gepi_tanulas.1747910876.txt.gz · Last modified: 2025/05/22 10:47 by knehez