Saturs:
Neikļaujam šājā nodarbībā Variational AE, tas būs par daudz! Vairāk fokuss uz unsupervised learning, Decoder un vector math - distance metrics cosine, PCA whitening etc, dimension reduction!
Nepārraudzītās apmācības nozīme - Yann Le Cun Cake
Parastais AE, Kļūdas funkcija
Jēgas skaidrojums - anomāliju atpazīšana, nemarķēti dati, Generative features
Latentā vektora attālumu mērīšana
L1, L2 distances
Kosīnusa distance
Mahalanobis distance
PLDA
Work - Encoder
Transposed Convolutions, Dilations
Work - Decoder
Test loss daļā izmantot real y_ground
Denoising Auto Encoder
Modern AE - Homework
Svaru saglabāšana
Upsampling / Downsampling
Group Norm, Layer norm, instance norm skaidrojums
Pastāstīt intuitīvi kā strādā PCA (ēnas piemērs), GIF ar projekcijas plakni un varianci. Paskaidrot par iespējām samazinot dimensiju skaitu labāk izprast datus, piemēram aptaujas, automašīnu pārdošanas datus. Pieminēt arī citas metodes: LDA, Linear PCA, Kernel PCA, t-SNE, UMAP. Paskaidrot, ka pirmā dimensija ir visvairāk variācijas, otrā dimensija ir vismazāk variācijas, un tā tālāk. Demonstrēt prakstiski visu ar Altair AI studio.
Parādīt Tensorboard piemēri, kurus var palaist un pademonstrēt kā daudzdimensiju datu vizualizāciju PCA, t-SNE, UMAP: https://share.yellowrobot.xyz/quick/2024-12-4-D8204305-C4F0-4A30-BB83-4F7B5EAE525F.zip šiem var palaist:
xxxxxxxxxx
11tensorboard --logdir=./
xxxxxxxxxx
11tensorboard --logdir=/Volumes/Storage/research-triplet-loss
⚠️ Source code (finished code examples)
http://share.yellowrobot.xyz/quick/2023-11-2-9BFED98D-BBC1-41A0-B9D2-6A7E48F8102A.zip
Zoom zvans: https://zoom.us/j/3167417956?pwd=Q2NoNWp2a3M2Y2hRSHBKZE1Wcml4Zz09
Materials:
AE / DAE: https://towardsdatascience.com/auto-encoder-what-is-it-and-what-is-it-used-for-part-1-3e5c6f017726
Cosine / Euclidean / mahalanobis distances: https://cmry.github.io/notes/euclidean-v-cosine
PCA whitening: http://ufldl.stanford.edu/tutorial/unsupervised/PCAWhitening/
Previous video: https://www.youtube.com/live/-KArtyODIT4
^ Shared to stefan.dayneko@gmail.com 🔴 Es no sākuma ielaidīšu Zoomā un tad ierakstīsm caur Zoom, Klātienē: RTU, Riga, Zunda krastmala 10, 122!! Sargs ielaidīs klasē, uz vietas jāpalīdz studentiem visu sapast
Implemementēt iekodētāja daļu AE modelim, izmantojot konvolūciju formulu - samazināt dimensijas līdz izmēram z.shape = (B, 32, 1, 1), pēc noplacināšanas z.shape = (B, 32)
Implementēt kļūdas funkciju pēc izvēles
Iesniegt pirmkodum, tzmantojot sagatavi: http://share.yellowrobot.xyz/1630528570-intro-course-2021-q4/session_9_2_ae_template.py.zip
Implementēt atkodētāja daļu AE modelim, izmantojot transposed convolution formulu. Atcerieties arī kādās robežās jābūt rezultāta vērtībai.Iesniegt pirmkodum, izmantojot sagatavi no iepriekšējā uzdevuma.
Implementēt DAE. Datu kopas programmas daļā ar torch.random.random(shape) vai kādu citu funkciju pēc jūsu izvēles iegūt, ka katrs pikselis x ievad-datos 50% gadījumu tiek aizstāts ar 0 vērtību. 50% gadījumu no ievades paraugiem arī izmantot orģinālo attēlu bez kropļojumiem.
Iesniegt pirmkodum, tzmantojot sagatavi no iepriekšējā uzdevuma. Pievienot ekrānšāviņus ar rezultātiem.
Balstoties uz 9.4 kodu implementēt modernāku encoder, decoder versiju
EncoderBlock: torch.nn.Conv2d(in_channels=, out_channels=, kernel_size=3, stride=1, padding=1), torch.nn.GroupNorm(num_groups=, num_channels=), torch.nn.Mish(), torch.nn.Upsample(size=),
DecoderBlock:
torch.nn.ConvTranspose2d(in_channels=, out_channels=, kernel_size=3, stride=1, padding=1), torch.nn.GroupNorm(num_groups=, num_channels=), torch.nn.Mish(), torch.nn.Upsample(size=)
torch.nn.Upsample var arī ielikt ik pa 3 blokiem, lai palielinātu parametru skaitu
Pievienot testa kopai dotos piemērus un pārbaudīt vai tie atdalās kā anomālijas latentajā Z telpā (Iesniegt screenshots klāt pie pie pirmkoda),
Lai šo varētu izdarīt visvienkāršāk būtu test iterācijas beigās izsaukt model.forward ar iepriekš sagatavotiem manuāli izvēlētiem paraugiem, dataset_full.labels var pievienot “anomaly”, lai attēlotos vizuāli. Ja vēlaties iekļaut datu kopā, tad jāpārraksta dataset_full kods, izmantojot torch.utils.data.Subset priekš train un test (test kopā iekļautas anomālijas, bet tās nav iekļautas train kopā)
Implement MSA / L1 loss
Implement saving models when best loss value achieved
Pievienot testa kopai dotos piemērus un pārbaudīt vai tie atdalās kā anomālijas latentajā Z telpā (Iesniegt screenshots klāt pie pie pirmkoda)
Iesniegt pirmkodu un screenshots
https://syncedreview.com/2019/02/22/yann-lecun-cake-analogy-2-0/
https://medium.com/@a.keshavarz/image-denoising-using-autoencoders-improved-version-5f8a90019971
https://lilianweng.github.io/posts/2018-08-12-vae/
https://medium.com/data-science/find-similar-images-using-autoencoders-315f374029ea
https://www.sciencedirect.com/science/article/abs/pii/S1361841520303169
https://www.mdpi.com/2226-4310/7/8/115
https://taketake2.com/N102_en.html
L1, L2 embedding space regularization
https://purav-patel.medium.com/l1-and-l2-regularization-b908ce732193
https://partee.io/download/LLM-in-Prod-talkdeck.pdf
https://medium.com/data-science/multivariate-outlier-detection-in-python-e946cfc843b3
https://medium.com/hackernoon/semantic-segmentation-and-transposed-convolution-4b1dd964a14b
https://distill.pub/2016/deconv-checkerboard/
Checkerboard Artifacts
Mērķis dabūt 2 pakāpi (sākotnēji 64)
encoder:100 => 64 => 4/4/4 decoder: 1×2×2×5×5 => SIGMOID!
dilation = 1 by default
rewrite equations without D
buggy - (w_in + 2 * p - k) / s + 1
Deconvolutions / Transposed convolutions
Mākslīgi sagatavo lielāka izmēra input, saliekot strides un paddings
https://blog.csdn.net/weixin_53598445/article/details/130596673