Varijacijski autoenkoder (VAE) pojavili su se kao moćan alat u području strojnog učenja, posebno za zadatke kao što su generativno modeliranje, otkrivanje anomalije i kompresija podataka. Tehnika kliznog prozora, s druge strane, dobro je poznata metoda u obradi signala i analizi vremena - serija. U ovom ćemo blogu istražiti kako koristiti klizni prozor za varijacionalne autoenkodere, a također ćemo istaknuti našu ponudu kao dobavljač kliznog prozora.
Razumijevanje varijacijskih karskoder
Prije nego što uđete u primjenu tehnike kliznog prozora, ključno je razumjeti što su VAES. VAE je vrsta autoencodera koji u tradicionalnu arhitekturu Autoencoder dodaje vjerojatni zaokret. U standardnom Autoencoderu, cilj je preslikati ulaz na niži dimenzionalni prikaz (kodiranje), a zatim rekonstruirati ulaz iz ovog kodiranja. VAE, međutim, pretpostavljaju da je kodiranje uzorkovano iz raspodjele vjerojatnosti, obično Gaussove distribucije.
Koder u VAE iznosi srednju i varijancu Gaussove distribucije iz koje se uzorkuje kodiranje. Ovaj vjerojatni pristup omogućuje VAE -u da generira nove točke podataka slične podacima o treningu. Dekoder tada uzima uzorkovanje kodiranja i pokušava rekonstruirati izvorni ulaz. Obuka VAE uključuje minimiziranje funkcije gubitka koja kombinira gubitak rekonstrukcije (koliko se dobro rekonstruira ulaz) i gubitak divergencije KL -a (koji mjeri koliko je u naučena distribucija blizu prethodne distribucije, obično standardni Gausov).
Tehnika kliznog prozora
Tehnika kliznog prozora jednostavna je, ali učinkovita metoda za obradu uzastopnih podataka. S obzirom na slijed podataka, definira se prozor fiksne veličine. Ovaj prozor prelazi preko niza, jedna podatkovna točka odjednom (ili više točaka istovremeno, ovisno o koraku), a na svakom položaju podaci unutar prozora se obrađuju.
U kontekstu VAES -a, klizni prozor se može koristiti na nekoliko načina. Jedna uobičajena primjena je u vremenskoj analizi. Na primjer, ako imamo vrijeme - niz očitavanja senzora, možemo upotrijebiti klizni prozor za izvlačenje podstignuća fiksne duljine. Ove se slijedeće tada mogu koristiti kao ulazi u VAE.
Korištenje kliznog prozora za VAES
Priprema podataka
Prvi korak u korištenju kliznog prozora za VAES je priprema podataka. Pretpostavimo da imamo vremenski skup podataka (x = [x_1, x_2, \ cdots, x_n]). Definiramo veličinu prozora (W) i napredak. Polazeći od početka niza, izvlačimo prozore veličine (W) s korakom (S).
Neka (i) bude početni indeks prozora. Prozor (i) - th (w_i = [x_i, x_ {i + 1}, \ cdots, x_ {i + w - 1}]) je formiran. Skup svih takvih sustava Windows tvori naš novi skup podataka za obuku VAE. Ovaj novi skup podataka ima oblik koji je prikladan za unos VAE. Na primjer, ako originalna serija - serija ima jednu dimenziju, svaki prozor ima oblik ((W, 1)).
Uvoz numPy kao NP def Slididing_Window (podaci, window_size, napredak): num_windows = (len (podaci) - windower_size) // STRIDE + 1 Windows = [] za i u rasponu (num_windows): start = i * Stride end = START + STRODES.APREND NONWARDEND (PODACI: Podaci: USP.) np.Array ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) window_size = 3 koraka = 1 Windows = Slididing_Window (Time_Series, window_size, Stride) Print (Windows)
Obuku Vae
Nakon što smo pripremili podatke pomoću tehnike kliznog prozora, možemo trenirati VAE. Proces treninga sličan je standardnom VAE treningu, ali s novim skupom podataka sustava Windows.
Koder VAE naučit će preslikati svaki prozor na niži - dimenzionalni vjerojatni prikaz. Dekoder će tada pokušati rekonstruirati izvorni prozor iz ovog prikaza. Tijekom treninga možemo pratiti gubitak obnove i gubitak odstupanja KL -a kako bismo osigurali da model učinkovito uči.
uvoz tensorflow kao tf iz tensorflow.keras uvoznih slojeva # Definirajte uzorkovanje klase VAE modela (slojevi.Layer): Def Call (Self, ulazi): Z_Mean, Z_log_var = ulazi serija = tf.shape (z_mean) [0] dim = tf.sHape (z_MMEan (z_MMEan ( tf.keras.backend.random_normal (oblik = (batch, dim)) vrati z_mean + tf.exp (0,5 * z_log_var) * epsilon latent_dim = 2 Encoder_inputs = tf.keras.input (oblik) x =) X =) x =) slojevi (16, aktivacija = 'relus') (x) z_mean = slojevi.dense (latent_dim, name = 'z_mean') (x) z_log_var = slojevi.dense (latent_dim, name = 'z_log_var') (x) ZEPLING ([ZEPLING () () tf.keras.model (encoder_inputs, [z_mean, z_log_var, z], name = 'koder') decoder_inputs = tf.keras.input (oblik = (latent_dim,)) x = slojevi (16, aktivacija = 'reluder') activacija = 'linear') (x) decoder_outputs = slojevi.reShape ((windowr_size, 1)) (x) dekoder = tf.keras.model (decoder_inputs, decoder_outputs, name = 'dekoder') izlaz = dekoder (enCoder (enCoder) [2] tf.keras.model (encoder_inputs, izlazi, ime = 'vae') # Definirajte funkciju gubitka rekonstrukcija_loss = tf.keras.losses.mean_squared_error (encoder_inputs, izlaz = TF.L, AXUNSUSS (AXUNSTUNS (1 + z_log_var - tf.square (z_Mean) - tf.exp (z_log_var)) kl_loss = tf.reduce_sum (kl_loss, axis = 1) vae_loss = TF.Reduct_Loss + KL_LOSS) vae.compile (Optimizer = 'Adam') # Traine Vae Vae.Fit (Windows, epohe = 10, batch_size = 2)
Prijava
Otkrivanje anomalije
Jedna od najvažnijih primjena korištenja kliznog prozora za VAES je otkrivanje anomalije u vremenu - serijskim podacima. Nakon treninga VAE na normalnim podacima (pomoću tehnike kliznog prozora), možemo koristiti obučeni model za otkrivanje anomalija.
S obzirom na novu seriju - seriju, opet koristimo klizni prozor za vađenje prozora. Zatim prolazimo ove prozore kroz obučeni VAE i izračunavamo pogrešku u obnovi za svaki prozor. Ako je pogreška u rekonstrukciji prozora iznad određenog praga, taj prozor (i potencijalno možemo smatrati odgovarajući dio vremena - serije) kao anomaliju.
Generativno modeliranje
Pristup kliznog prozora također se može koristiti za generativno modeliranje sekvencijalnih podataka. Jednom kada se VAE obuči na skupu podataka Windows, možemo uzorkovati iz latentnog prostora i koristiti dekoder za generiranje novih prozora. Ovi generirani prozori tada se mogu kombinirati kako bi formirali novu seriju Time -.
Naša ponuda kliznih prozora
Kao dobavljač kliznog prozora, nudimo širok raspon kliznih prozora visoke kvalitete. NašeProzori koji klizepoznate su po glatkom radu i izdržljivosti. Dizajnirani su tako da pružaju izvrsnu ventilaciju i prirodno svjetlo uz održavanje energetske učinkovitosti.
NašeHorizontalni klizni prozori olujeposebno su projektirani da izdrže oštre vremenske uvjete. Oni nude dodatni sloj zaštite za vaš dom ili ured, smanjujući troškove energije i zagađenje bukom.
Za one koji imaju posebne zahtjeve, pružamo iPrilagođeni klizni prozorrješenja. Naš tim stručnjaka može surađivati s vama na dizajniranju i izradi kliznih prozora koji odgovaraju vašim točnim potrebama, bilo da je to jedinstvena veličina, oblik ili stil.
Ako ste zainteresirani za naši proizvodi kliznog prozora ili imate bilo kakvih pitanja o korištenju tehnike kliznog prozora u aplikacijama za strojno učenje, potičemo vas da nas kontaktirate za daljnju raspravu i nabavu. Radujemo se što ćemo raditi s vama kako bismo zadovoljili vaše potrebe.
Reference
Kingma, DP, & Welling, M. (2013). Automatsko - kodiranje varijacijskih Bayesa. ARXIV PREPRINT ARXIV: 1312.6114.
Bishop, CM (2006). Prepoznavanje uzorka i strojno učenje. Springer.






