1 – Definicja
Według definicji – Tensor jest obiektem algebraicznym, który opisuje wieloliniową relację między zbiorami obiektów algebraicznych związanych z przestrzenią wektorową.
Dla zrozumienia, poniżej mamy różne poziomy, zaczynając od skalaru, a kończąc na tensorze:
| Poziom | Typ | Przykład |
|---|---|---|
| 0 | Skalar | \(\mathbf{[1]}\) |
| 1 | Wektor | \(\mathbf{[1,1]}\) |
| 2 | Macierz | \(\mathbf{[[1,1],[1,1]]}\) |
| 3 | 3 Tensor | \(\mathbf{[[[1,1],[1,1]],[[1,1],[1,1]]]}\) |
| N | Tensor | (…) |
Powyższa tabela przedstawia struktury od skalaru (poziom 0) do tensora (poziom 3).
2 – Przykład w NLP
| Sentencja |
|---|
| Podaj login |
| Podaj hasło |
| Podaj email |
Przekształcając powyższą tabelę w słownik unikalnych słów otrzymujemy:
| Unikalne słowo | Indeks |
|---|---|
| Podaj | 0 |
| login | 1 |
| hasło | 2 |
| 3 |
Możemy zakodować podane słowa za pomocą wektora (One-hot encoding vector)
| Unikalne słowo | indeks | Kod 1 z n |
|---|---|---|
| Podaj | 0 | [1,0,0,0] |
| login | 1 | [0,1,0,0] |
| hasło | 2 | [0,0,1,0] |
| 3 | [0,0,0,1] |
Korzystając z tabeli powyżej możemy zakodować całą sentencję z pomocą wektorów:
| Sentencja | Reprezentacja wektorowa |
|---|---|
| Podaj login | [[1,0,0,0], [0,1,0,0]] |
| Podaj hasło | [[1,0,0,0], [0,0,1,0]] |
| Podaj Email | [[1,0,0,0], [0,0,0,1]] |
Korzystając z „mini partii” (mini batch) nasze dane wejściowe będą wyglądać następująco:
[[[1,0,0,0], [0,1,0,0]], [[1,0,0,0], [0,0,1,0]], [[1,0,0,0], [0,0,0,1]]]
W skrócie, zakodowujemy sentencje i wysyłamy wszystkie na raz w tablicy.
Zbudujmy teraz tensor, wiedząc, że każde słowo może przyjąć jedną z 4 wartości (od 0 do 3):
(4)
Kolejno każda sentencja składa się z dwóch słów:
(2,4)
Oraz posiadamy 3 sentencje
(3,2,4) w wyniku daje nam 3d tensor.
Dla podsumowania:
[[[1,0,0,0], [0,1,0,0]], [[1,0,0,0], [0,0,1,0]], [[1,0,0,0], [0,0,0,1]]]
(3,2,4)
Pierwsza liczba oznacza rozmiar próbki.
Druga liczba określa maksymalną długość sentencji:
[[[1,0,0,0], [0,1,0,0]],
[[1,0,0,0], [0,0,1,0]],
[[1,0,0,0], [0,0,0,1]]]
(3,2,4)
Trzecia liczba określa rozmiar wektora słowa:
[[[1,0,0,0],
[0,1,0,0]],
[[1,0,0,0],
[0,0,1,0]],
[[1,0,0,0],
[0,0,0,1]]]
(3,2,4)






