Tipinės praradimo funkcijos, naudojamos RNN-GAN su Adam optimizatoriumi:
1. Dvejetainis kryžminės entropijos praradimas (BCELoss): ši praradimo funkcija naudojama ir generatoriui, ir diskriminatoriui. Jis matuoja skirtumą tarp numatytų tikimybių ir tikrųjų etikečių.
2. Mean Squared Error (MSE): ši praradimo funkcija naudojama generatoriui matuoti skirtumą tarp sukurtų ir realių vaizdų.
3. Vidutinė absoliuti klaida (MAE): ši praradimo funkcija naudojama generatoriui matuoti skirtumą tarp sukurtų ir realių vaizdų.
4. Kullback-Leibler divergencija (KLD): ši praradimo funkcija naudojama generatoriui matuoti skirtumą tarp sugeneruotų ir realių vaizdų.
5. Variational Autoencoder (VAE): ši praradimo funkcija naudojama generatoriui matuoti skirtumą tarp sukurtų ir realių vaizdų.
6. Generative Adversarial Network (GAN): ši praradimo funkcija naudojama generatoriui matuoti skirtumą tarp sukurtų ir realių vaizdų.
7. Wasserstein GAN (WGAN): ši praradimo funkcija naudojama generatoriui matuoti skirtumą tarp sukurtų ir realių vaizdų.
8. Patobulintas GAN (IGAN): ši praradimo funkcija naudojama generatoriui matuoti skirtumą tarp sukurtų ir realių vaizdų.
9. Sąlyginis GAN (CGAN): ši praradimo funkcija naudojama generatoriui matuoti skirtumą tarp sukurtų ir realių vaizdų.
10. InfoGAN (IG): ši praradimo funkcija naudojama generatoriui matuoti skirtumą tarp sukurtų ir tikrų vaizdų.
Šios praradimo funkcijos naudojamos kartu su Adam optimizatoriumi, kad būtų galima išmokyti RNN-GAN modelį.
Citatos:
[1] https://www.researchgate.net/figure/Performance-of-the-RNN-with-ADAM-and-SGD-optimizers_tbl2_355371680
[2] https://www.geeksforgeeks.org/generative-adversarial-network-gan/
[3] http://arxiv.org/pdf/1906.01529.pdf
[4] https://www.researchgate.net/figure/Loss-curve-of-GAN-with-Adam-SGD-optimizer_fig2_372823238
[5] https://stackoverflow.com/questions/47793584/three-loss-functions-in-a-tensorflow-gan
kaip veikia dvejetainis kryžminės entropijos praradimas RNN-GAN
Dvejetainis kryžminės entropijos praradimas naudojamas RNN-GAN, norint išmatuoti skirtumą tarp numatomų tikimybių ir tikrųjų etikečių. Čia yra išsamus paaiškinimas, kaip tai veikia:
Dvejetainis kryžminės entropijos praradimas
Dvejetainis kryžminės entropijos praradimas yra praradimo funkcijos tipas, naudojamas dvejetainės klasifikacijos problemose. Jis matuoja skirtumą tarp numatytų tikimybių ir tikrųjų etikečių. Nuostolių funkcija apskaičiuojama taip:
- Numatoma tikimybė: numatoma tikimybė yra neuroninio tinklo išvestis, kuri paprastai yra sigmoidinė funkcija, kuri išveda tikimybės reikšmę nuo 0 iki 1.
- Tikroji etiketė: tikroji etiketė yra tikroji klasės etiketė, kuri yra 0 arba 1.
- Kryžminės entropijos praradimas: kryžminės entropijos praradimas apskaičiuojamas kaip neigiama logaritminė tikrosios etiketės tikimybė, atsižvelgiant į numatomą tikimybę. Kryžminės entropijos praradimo formulė yra tokia:
$$ \text{Loss} = - \sum_{i=1}^N y_i \log(p_i) + (1-y_i) \log(1-p_i) $$
kur $$N$$ yra mėginių skaičius, $$y_i$$ yra tikroji $$i^{th}$$ mėginio etiketė, o $$p_i$$ yra numatoma $$i^ tikimybė {th}$$ pavyzdys.
Kaip dvejetainis kryžminės entropijos praradimas veikia RNN-GAN
RNN-GAN dvejetainis kryžminės entropijos praradimas naudojamas generatoriaus ir diskriminatoriaus mokymui. Generatorius bando sugeneruoti vaizdus, kurių negalima atskirti nuo tikrų vaizdų, o diskriminatorius bando teisingai priskirti sukurtus vaizdus į tikrus ar netikrus.
- Generatoriaus nuostoliai: generatoriaus nuostoliai apskaičiuojami kaip kryžminės entropijos nuostoliai tarp numatytų tikimybių ir tikrųjų etikečių. Generatorius bando sumažinti šį praradimą generuodamas vaizdus, kurie greičiausiai bus klasifikuojami kaip tikri.
- Diskriminatoriaus praradimas: diskriminatoriaus praradimas taip pat apskaičiuojamas kaip kryžminės entropijos praradimas tarp numatytų tikimybių ir tikrųjų etikečių. Diskriminatorius bando maksimaliai padidinti šį praradimą, teisingai klasifikuodamas sukurtus vaizdus kaip netikrus.
Dvejetainės kryžminės entropijos praradimo RNN-GAN pranašumai
Dvejetainis kryžminės entropijos praradimas turi keletą privalumų RNN-GAN:
- Taikoma dvejetainei klasifikacijai: dvejetainis kryžminės entropijos praradimas yra specialiai sukurtas dvejetainio klasifikavimo problemoms spręsti, o tai yra pagrindinė RNN-GAN užduotis.
- Lengva įdiegti: dvejetainį kryžminės entropijos praradimą lengva įdiegti ir apskaičiuoti, todėl tai yra populiarus RNN-GAN pasirinkimas.
- Veiksmingas treniruotėms: dvejetainis kryžminės entropijos praradimas yra veiksmingas treniruojant RNN-GAN, nes jis skatina generatorių generuoti vaizdus, kurių negalima atskirti nuo tikrų vaizdų, o diskriminatorių - teisingai klasifikuoti sukurtus vaizdus.
Išvada
Apibendrinant galima pasakyti, kad dvejetainis kryžminės entropijos praradimas yra esminis RNN-GAN komponentas, nes jis matuoja skirtumą tarp numatomų tikimybių ir tikrųjų etikečių. Praradimo funkcija apskaičiuojama kaip neigiama loginė tikrosios etiketės tikimybė, atsižvelgiant į numatomą tikimybę, ir ji naudojama generatoriui ir diskriminatoriui išmokyti. Dvejetainis kryžminės entropijos praradimas turi keletą privalumų RNN-GAN, įskaitant jo efektyvumą dvejetainėje klasifikacijoje, įgyvendinimo paprastumą ir mokymo efektyvumą.
Citatos:[1] https://machinelearningmastery.com/how-to-choose-loss-functions-when-training-deep-learning-neural-networks/
[2] https://stats.stackexchange.com/questions/242907/why-use-binary-cross-entropy-for-generator-in-adversarial-networks
[3] https://machinelearningmastery.com/loss-and-loss-functions-for-training-deep-learning-neural-networks/
[4] https://ml-cheatsheet.readthedocs.io/en/latest/loss_functions.html
[5] https://encord.com/blog/an-introduction-to-cross-entropy-loss-functions/