Analiza wielowymiarowa od pierwszych zasad
Jedna struktura danych porządkuje wszystko z dwóch poprzednich lekcji: graf obliczeń. Każda operacja arytmetyczna w modelu (dodawanie, mnożenie, mnożenie macierzy, aktywacja) staje się węzłem w grafie skierowanym. To właśnie dzięki temu grafowi PyTorch, JAX i TensorFlow automatycznie obliczają gradienty.
Trening przechodzi przez graf w dwóch przebiegach. Przejście w przód płynie od lewej do prawej, obliczając i zapamiętując wartość każdego węzła. Przejście wstecz płynie od prawej do lewej, używając reguły łańcuchowej do przepychania gradientu od straty z powrotem do każdego wejścia, węzeł po węźle.
Pomysł, który pozwala na tak dobre skalowanie, jest prosty: każdy węzeł musi znać tylko swoją własną lokalną pochodną. Aby wysłać gradient wstecz przez węzeł, mnożysz gradient przychodzący (z góry) przez lokalny jakobian węzła, czyli informację o tym, jak jego wyjście zależy od wejść. Żaden węzeł nie musi znać całego globalnego obrazu; lokalne reguły połączone w łańcuch dają dokładny całkowity gradient.