Podstawy AI
Co to jest propagacja wsteczna?
Co to jest propagacja wsteczna?
Systemy gÅÄbokiego uczenia siÄ sÄ w stanie nauczyÄ siÄ bardzo zÅoÅžonych wzorcÃģw, a osiÄ gajÄ to, dostosowujÄ c swoje wagi. Jak dokÅadnie sÄ dostosowywane wagi gÅÄbokiej sieci neuronowej? SÄ dostosowywane za pomocÄ procesu zwanego propagacjÄ wstecznÄ . Bez propagacji wstecznej, gÅÄbokie sieci neuronowe nie byÅyby w stanie wykonywaÄ zadaÅ takich jak rozpoznawanie obrazÃģw i interpretowanie jÄzyka naturalnego. Zrozumienie, jak dziaÅa propagacja wsteczna, jest kluczowe do zrozumienia gÅÄbokich sieci neuronowych w ogÃģle, wiÄc omÃģwmy propagacjÄ wstecznÄ i zobaczmy, jak proces jest uÅžywany do dostosowania wag sieci.
Propagacja wsteczna moÅže byÄ trudna do zrozumienia, a obliczenia uÅžywane do wykonania propagacji wstecznej mogÄ byÄ doÅÄ zÅoÅžone. ArtykuÅ ten bÄdzie staraÅ siÄ daÄ Ci intuicyjne zrozumienie propagacji wstecznej, uÅžywajÄ c niewielkiej iloÅci skomplikowanej matematyki. Jednak pewna dyskusja na temat matematyki za propagacjÄ wstecznÄ jest konieczna.
Cel propagacji wstecznej
Zacznijmy od zdefiniowania celu propagacji wstecznej. Wagi gÅÄbokiej sieci neuronowej sÄ siÅÄ poÅÄ czeÅ miÄdzy jednostkami sieci neuronowej. Kiedy sieÄ neuronowa jest ustanowiona, zakÅada siÄ pewne zaÅoÅženia dotyczÄ ce poÅÄ czeÅ miÄdzy jednostkami w jednej warstwie a warstwami poÅÄ czonymi z niÄ . Kiedy dane przechodzÄ przez sieÄ neuronowÄ , wagi sÄ obliczane, a zaÅoÅženia sÄ robione. Kiedy dane docierajÄ do ostatniej warstwy sieci, robiona jest predykcja dotyczÄ ca tego, jak cechy sÄ powiÄ zane z klasami w zbiorze danych. RÃģÅžnica miÄdzy przewidywanymi wartoÅciami a rzeczywistymi wartoÅciami jest bÅÄdem/stratÄ , a celem propagacji wstecznej jest zmniejszyÄ stratÄ. To jest osiÄ gane przez dostosowanie wag sieci, czyniÄ c zaÅoÅženia bardziej podobnymi do prawdziwych relacji miÄdzy cechami wejÅciowymi.
Szkolenie gÅÄbokiej sieci neuronowej
Przed wykonaniem propagacji wstecznej na sieci neuronowej, musi zostaÄ wykonany regularny/przedni przebieg szkolenia sieci neuronowej. Kiedy sieÄ neuronowa jest tworzona, zestaw wag jest inicjowany. WartoÅÄ wag bÄdzie zmieniana podczas szkolenia sieci. Przedni przebieg szkolenia sieci neuronowej moÅžna postrzegaÄ jako trzy odrÄbne kroki: aktywacja neuronu, transfer neuronu i propagacja w przÃģd.
Kiedy szkolimy gÅÄbokÄ sieÄ neuronowÄ , musimy uÅžyÄ wielu funkcji matematycznych. Neurony w gÅÄbokiej sieci neuronowej skÅadajÄ siÄ z danych wejÅciowych i funkcji aktywacji, ktÃģra okreÅla wartoÅÄ niezbÄdnÄ do aktywacji wÄzÅa. WartoÅÄ aktywacji neuronu jest obliczana z kilku skÅadnikÃģw, bÄdÄ c waÅžonÄ sumÄ wejÅÄ. Wagi i wartoÅci wejÅciowe zaleÅžÄ od indeksu wÄzÅÃģw uÅžywanych do obliczania aktywacji. Inna liczba musi byÄ brana pod uwagÄ przy obliczaniu wartoÅci aktywacji, wartoÅÄ biasu. WartoÅci biasu nie zmieniajÄ siÄ, wiÄc nie sÄ mnoÅžone razem z wagÄ i wejÅciami, sÄ po prostu dodawane. To wszystko oznacza, Åže nastÄpujÄ ce rÃģwnanie mogÅoby byÄ uÅžyte do obliczania wartoÅci aktywacji:
Aktywacja = suma(waga * wejÅcie) + bias
Po aktywacji neuronu, funkcja aktywacji jest uÅžywana do okreÅlenia, jaki bÄdzie rzeczywisty wynik neuronu. RÃģÅžne funkcje aktywacji sÄ optymalne dla rÃģÅžnych zadaÅ uczenia, ale powszechnie uÅžywane funkcje aktywacji obejmujÄ funkcjÄ sigmoidalnÄ , funkcjÄ tangens hiperboliczny i funkcjÄ ReLU.
Kiedy wyniki neuronu sÄ obliczane przez przeprowadzenie wartoÅci aktywacji przez poÅžÄ danÄ funkcjÄ aktywacji, propagacja w przÃģd jest wykonana. Propagacja w przÃģd jest po prostu pobieraniem wynikÃģw jednej warstwy i robieniem ich wejÅciami nastÄpnej warstwy. Nowe wejÅcia sÄ nastÄpnie uÅžywane do obliczania nowych funkcji aktywacji, a wynik tej operacji jest przekazywany do nastÄpnej warstwy. Ten proces jest kontynuowany aÅž do koÅca sieci neuronowej.
Propagacja wsteczna w sieci
Proces propagacji wstecznej pobiera ostateczne decyzje przebiegu szkolenia modelu, a nastÄpnie okreÅla bÅÄdy w tych decyzjach. BÅÄdy sÄ obliczane przez porÃģwnywanie wynikÃģw/decyzji sieci i oczekiwanych/poÅžÄ danych wynikÃģw sieci.
Kiedy bÅÄdy w decyzjach sieci sÄ obliczone, ta informacja jest propagowana wstecznie przez sieÄ, a parametry sieci sÄ zmieniane w trakcie. Metoda, ktÃģra jest uÅžywana do aktualizacji wag sieci, opiera siÄ na rachunku rÃģÅžniczkowym, konkretnie, opiera siÄ na regule ÅaÅcuchowej. Jednak zrozumienie rachunku rÃģÅžniczkowego nie jest konieczne do zrozumienia idei za propagacjÄ wstecznÄ . Po prostu wiedz, Åže kiedy wartoÅÄ wyjÅciowa jest podana z neuronu, nachylenie wartoÅci wyjÅciowej jest obliczane z funkcjÄ transferu, wytwarzajÄ c pochodnÄ . Kiedy wykonujemy propagacjÄ wstecznÄ , bÅÄ d dla konkretnego neuronu jest obliczany zgodnie z nastÄpujÄ cym wzorem:
bÅÄ d = (wartoÅÄ_oczekiwana â wartoÅÄ_aktualna) * nachylenie wartoÅci wyjÅciowej neuronu
Kiedy operujemy na neuronach w warstwie wyjÅciowej, wartoÅÄ klasy jest uÅžywana jako wartoÅÄ oczekiwana. Po obliczeniu bÅÄdu, bÅÄ d jest uÅžywany jako wejÅcie dla neuronÃģw w warstwie ukrytej, co oznacza, Åže bÅÄ d dla tej warstwy ukrytej jest waÅžonym bÅÄdem neuronÃģw znalezionych w warstwie wyjÅciowej. Obliczenia bÅÄdÃģw podrÃģÅžujÄ wstecznie przez sieÄ wzdÅuÅž wag sieci.
Po obliczeniu bÅÄdÃģw dla sieci, wagi w sieci muszÄ byÄ zaktualizowane. Jak wspomniano, obliczanie bÅÄdu obejmuje okreÅlenie nachylenia wartoÅci wyjÅciowej. Po obliczeniu nachylenia, proces znany jako gradientowy zstÄpowania moÅže byÄ uÅžyty do dostosowania wag w sieci. Gradient jest nachyleniem, ktÃģrego kÄ t/steepness moÅže byÄ zmierzony. Nachylenie jest obliczane przez naniesienie ây nadâ lub âwzrostâ nad âbiegiemâ. W przypadku sieci neuronowej i stopy bÅÄdu âyâ jest obliczonym bÅÄdem, podczas gdy âxâ sÄ parametry sieci. Parametry sieci majÄ relacjÄ do obliczonych wartoÅci bÅÄdu, a podczas dostosowywania wag sieci bÅÄ d wzrasta lub maleje.
âGradientowy zstÄpowaniaâ jest procesem aktualizacji wag, tak aby stopa bÅÄdu zmalaÅa. Propagacja wsteczna jest uÅžywana do przewidywania relacji miÄdzy parametrami sieci neuronowej a stopÄ bÅÄdu, co przygotowuje sieÄ do gradientowego zstÄpowania. Szkolenie sieci z gradientowym zstÄpowaniem obejmuje obliczanie wag przez propagacjÄ w przÃģd, propagacjÄ wstecznÄ bÅÄdu, a nastÄpnie aktualizacjÄ wag sieci.












