5. Inne struktury sieci

5.4. Modelowanie sekwencji

W rozdziale 5.1 wspomnieliśmy o modelowaniu układów dynamicznych z wykorzystaniem perceptronu wielowarstwowego. Istnieje również wiele innych podejść do modelowania danych w postaci sekwencji. Do przykładowych zastosowań należą przetwarzanie tekstu i mowy.

Sieci o neuronach rekurencyjnych

Jednym z możliwych podejść do modelowania sekwencji jest wykorzystanie sieci o neuronach rekurencyjnych. Najprostszą wersję takiej sieci nazywamy RNN (ang. Recurrent Neural Network).

Schemat neuronu rekurencyjnego z wejściem, stanem wewnętrznym i wyjściem
Rysunek 29: Neuron rekurencyjny

Neuron rekurencyjny został przedstawiony na rysunku 29. Dodatkową cechą takiego neuronu jest posiadanie stanu wewnętrznego, który jest aktualizowany na podstawie wejść i wpływa na wyjście neuronu. Przy stosowaniu algorytmu propagacji wstecznej dla sieci RNN musimy sieć "rozwinąć" dla wszystkich elementów sekwencji. Gradienty z kolejnych kroków są przemnażane, co może prowadzić do zjawiska wybuchających lub zanikających gradientów. W praktyce sieci te słabo się sprawdzają w przypadku dłuższych sekwencji i skuteczniej jest stosować modyfikacje neuronów rekurencyjnych, takie jak LSTM (ang. Long Short-Term Memory) lub GRU (ang. Gated Recurrent Unit).

Transformery

Obecne duże modele językowe (LLM - Large Language Model) są oparte o architekturę typu transformer, która wykorzystuje mechanizm atencji. Mechanizm atencji został zaproponowany w artykule [Vaswani et al., 2023]. Modele te przewidują najbardziej prawdopodobne słowo na podstawie początku tekstu (i tak w kółko dla generacji dłuższych wypowiedzi).

Literatura

[Vaswani et al., 2023]
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L., and Polosukhin, I. (2023). Attention is all you need. [ | arXiv ]