Video:
Jamboard:
https://jamboard.google.com/d/1CUplbGpXtyuxYih_ScD-pPDgbKSZqUJG3Bw1_LA7fxE/edit?usp=sharing
Materials:
https://medium.com/@chhablani.gunjan/can-auto-encoders-generate-images-a3a16c83cf6a
https://tiao.io/post/tutorial-on-variational-autoencoders-with-a-concise-keras-implementation/
https://towardsdatascience.com/demystifying-kl-divergence-7ebe4317ee68
Jamboard iedotas tiesības: stefan.dayneko@gmail.com
Stream Key: ea11-mrgb-4jg2-4ajc-d4hr
Video:
https://www.youtube.com/watch?v=oRTuylujeaM
Jamboard:
https://jamboard.google.com/d/1SYZYgylWaLTf5jUvl9rdYGy1HTckRN_YH8wPAB9Rj0I/edit?usp=sharing
Ja tu veic izmaiņas iepusho GIT!
Izstāstīt par VAE jēgu, ģeneratīviem modeļiem, Re-Identification, Zero-Shot learning tasks
Izstāstīt par re-parameterizācijas triku (bez tā būtu ļoti neefektīvi, jo nāktos ievākt datus no visas datu kopas, lai noskaidrotu
Izstāstīt par KL, loģiku un izvedumu
Implementēt kopā VEA modeli
Apmācīt kopā uz Google Colab uz GPU
Vēlams Uzdevumu pārtaisīt uz fruits dataset vai kādu citu dataset, lai studenti nevarētu nokopēt darbus no iepriekšējā gada. Vari arī uzlabot template un modeli pēc saviem ieskatiem un atsūtīt Evaldam, lai uzliek uz servera
sazīmēt matplot lib z_mu un z_sigma forwards torch relu
notestēt KL(p|z) un KL(z|p)
salabot template - fruits, embedding zsize
Pirms kursa sākšanas salikt darbus kā draft iekš google classroom
Kā uzlabot modeli:
TRANSPOSED CONVOLUTIONS STRĀDĀ labāk kā upscale+conv
Ja lieto upscale, tad pirms sigmoid beigās vajag batchnorm
(1000 points)
Implementēt VAE modeli balstoties uz video instrukcijām. Izmantot sagatavi: http://share.yellowrobot.xyz/1630528570-intro-course-2021-q4/10_v5_1_template_fruits.py.zip
(1000 points)
Izmantojot latento vektoru aritmētiku (vidējā vērtība no vienas un otras klašu paraugiem), iegūt jaunus attēlus, kuri attēlo semantiskās īpašības. Piemēram, tiek burtam tiek pielikta vai noņemta kāda daļa.
Uzdevumi:
Izvēlēties kādu paraugu no MNIST datu kopas, ģenerēt jaunus paraugus no normālā (Gausa sadalījuma), izmantojot z_mu un z_sigma. Pievienot iegūto rezultātu attēlus un pirmkodu nodevumam. Lai iegūtu sākotnējo z_mu un z_sigma manuāli izvēlieties līdzīgus paraugus.
Izvēlieties paraugu no BALLS datu kopas, ģenerēt jaunus paraugus no normālā (Gausa sadalījuma), izmantojot z_mu un z_sigma. Pievienot iegūto rezultātu attēlus un pirmkodu nodevumam. Lai iegūtu sākotnējo z_mu un z_sigma manuāli izvēlieties līdzīgus paraugus.
Veiciet Z latento vektoru aritmētiku, saskaitiet vai atņemiet rezultējošos dažādu klašu vektorus. Var arī izmantot vidējo vērtību no abu klašu vektoriem. Pievienot iegūto rezultātu attēlus un pirmkodu nodevumam.
Apmāciet savus modeļus, izmantojot hiper-parametrus, kuri doti zemāk - nodevumam pievienojiet apmācības kļūdu līknes, modeļu svarus un pirmkodu
Paraugs 1. un 2. uzdevumam: http://share.yellowrobot.xyz/1630528570-intro-course-2021-q4/10_homework_3.png http://share.yellowrobot.xyz/1630528570-intro-course-2021-q4/10_homework_2.png
Paraugs 3. uzdevumam: http://share.yellowrobot.xyz/1630528570-intro-course-2021-q4/10_homework_1.png
MNIST sagatave: http://share.yellowrobot.xyz/1630528570-intro-course-2021-q4/10_4_mnist_generative_homework.py
BALLS sagatave: http://share.yellowrobot.xyz/1630528570-intro-course-2021-q4/10_balls_generative_homework.py
Apmācītie svari: http://share.yellowrobot.xyz/1630528570-intro-course-2021-q4/10_pretrained_models.zip
BALLS datu kopa: http://share.yellowrobot.xyz/1630528570-intro-course-2021-q4/10_balls_dataset.npy
Apmācību hiperparametri:
BALLS mean MSE + mean KL "batch_size": 32, "learning_rate": 0.001, "vae_beta": 0.0001
MNIST mean MSE + mean KL "batch_size": 16, "learning_rate": 0.001, "vae_beta": 0.001,
🔴
kļūda! trūkst sigma kvadrāts!