Obcięcie masy w sieciach WGAN może prowadzić do kilku problemów:
1. Znikające gradienty: Gdy okno przycinania jest zbyt duże, może to prowadzić do zanikania gradientów, co może spowodować, że model nie osiągnie zbieżności lub będzie wolniej trenowany[1] [2] [4].
2. Powolna zbieżność: Gdy okno przycinania jest zbyt małe, może to prowadzić do powolnej zbieżności, co może spowodować, że uczenie modelu zajmie dużo czasu[1] [2] [4].
3. Patologiczne powierzchnie wartości: Obcięcie wagi może skutkować patologicznymi powierzchniami wartości dla krytyka, co może prowadzić do nieoptymalnych wyników[2].
4. Niedostateczne wykorzystanie pojemności: Implementacja ograniczenia k-Lipshitza poprzez obcięcie ciężaru skłania krytyka w stronę znacznie prostszych funkcji, co może prowadzić do niedostatecznego wykorzystania pojemności modelu[2].
5. Niestabilny trening: Obcinanie ciężarów może prowadzić do niestabilności treningu, szczególnie gdy model jest głęboki lub ma dużą liczbę warstw[1] [2] [4].
6. Trudności w treningu: Obcięcie ciężaru może utrudnić trenowanie modelu, szczególnie gdy model jest złożony lub ma wiele warstw[1] [2] [4].
7. Brak wytrzymałości: Obcięcie wagi może sprawić, że model będzie mniej odporny na zmiany w dystrybucji danych lub architekturze modelu[1] [2] [4].
Problemy te można złagodzić, stosując metody alternatywne, takie jak kara gradientowa, która jest bardziej skuteczna we egzekwowaniu ograniczenia Lipschitza i poprawie stabilności uczenia WGAN[1] [2] [3] [4].
Cytaty:
[1] https://www.cs.toronto.edu/~bonner/courses/2022s/csc2547/papers/adversarial/background/improved-training-of-WGANs,-gulrajani,-nips2017.pdf
[2] https://proceedings.neurips.cc/paper_files/paper/2017/file/892c3b1c6dccd52936e27cbd0ff683d6-Paper.pdf
[3] https://ceur-ws.org/Vol-2563/aics_34.pdf
[4] https://blog.paperspace.com/wgans/
[5] https://stackoverflow.com/questions/58723838/if-we-can-clip-gradient-in-wgan-why-bother-with-wgan-gp
Jak wypada kara gradientu w porównaniu do obcinania ciężaru pod względem stabilności treningu?
Kara za gradient w Wasserstein GAN (WGAN) ma kilka zalet w porównaniu z obcinaniem ciężaru pod względem stabilności treningu:
1. Niedostateczne wykorzystanie pojemności: Obcięcie wagi może prowadzić do niedostatecznego wykorzystania pojemności, w którym krytyk uczy się bardzo prostych funkcji ze względu na twarde ograniczenie stałej Lipschitza. Z drugiej strony kara gradientowa pozwala krytykowi nauczyć się bardziej złożonych funkcji, jednocześnie spełniając ograniczenie Lipschitza.
2. Wybuchające i zanikające gradienty: Interakcja pomiędzy ograniczeniem ciężaru a funkcją utraty podczas obcinania ciężaru może prowadzić do eksplodowania lub zanikania gradientów, czyniąc proces treningowym niestabilnym. Kara za gradient nie jest dotknięta tym problemem.
3. Patologiczne powierzchnie wartości: Obcięcie wagi może skutkować patologicznymi powierzchniami wartości dla krytyka, co może prowadzić do nieoptymalnych wyników. Kara za gradient nie wykazuje takiego zachowania.
4. Wytrzymałość: Kara za gradient jest bardziej odporna na wybory architektoniczne i dostrajanie hiperparametrów w porównaniu z obcinaniem ciężaru, co ułatwia szkolenie sieci WGAN.
5. Poprawiona zbieżność: Zmniejszenie gradientu może prowadzić do szybszej zbieżności i lepszej jakości próbki w porównaniu z obcinaniem ciężaru, jak pokazano w oryginalnym artykule WGAN-GP.
Podsumowując, kara za gradient zapewnia bardziej stabilny i skuteczny sposób egzekwowania ograniczenia Lipschitza w sieciach WGAN, prowadząc do poprawy stabilności treningu, zbieżności i jakości próbki w porównaniu z obcinaniem ciężaru. Kara za gradient rozwiązuje kluczowe problemy związane z obcinaniem ciężarów, co czyni ją preferowaną metodą szkolenia WGAN.
Cytaty:[1] https://www.cs.toronto.edu/~bonner/courses/2022s/csc2547/papers/adversarial/background/improved-training-of-WGANs,-gulrajani,-nips2017.pdf
[2] https://proceedings.neurips.cc/paper_files/paper/2017/file/892c3b1c6dccd52936e27cbd0ff683d6-Paper.pdf
[3] https://towardsdatascience.com/demystified-wasserstein-gan-with-gradient-penalty-ba5e9b905ead
[4] https://stackoverflow.com/questions/58723838/if-we-can-clip-gradient-in-wgan-why-bother-with-wgan-gp
[5] https://datascience.stackexchange.com/questions/31077/wgan-is-too-slow-what-are-some-ways-to-tweak-for-speed-ups