Jun 20, 2025

Hogyan lehet használni a csúszó ablakot a variációs autoencoderekhez?

Hagyjon üzenetet

A variációs autoencoderek (VAES) hatékony eszközként jelentkeztek a gépi tanulás területén, különös tekintettel az olyan feladatokra, mint a generációs modellezés, az anomália észlelése és az adat tömörítése. A csúszóablak technika viszont egy jól ismert módszer a jelfeldolgozás és az idő -sorozat elemzésében. Ebben a blogban megvizsgáljuk, hogyan lehet használni a csúszó ablakot a variációs autoencoderekhez, és kiemeljük a tolóablak -szállító ajánlatainkat.

A variációs karkenderek megértése

Mielőtt belemerülne a csúszó ablak technika alkalmazásába, döntő fontosságú megérteni, hogy mi a VAES. A vae egy olyan autoencoder típus, amely valószínűségi csavarást ad a hagyományos autoencoder architektúrához. Egy standard autoencoderben a cél az, hogy egy bemenetet egy alacsonyabb dimenziós ábrázoláshoz (a kódolás) térképezzen fel, majd rekonstruálja az ehhez a kódolásból származó bemenetet. A VAES azonban feltételezi, hogy a kódolást a valószínűség -eloszlásból, általában egy Gauss -eloszlásból veszik mintából.

A VAE kódolója kimutatja a Gauss -eloszlás átlagát és varianciáját, ahonnan a kódolás mintát veszi. Ez a valószínűségi megközelítés lehetővé teszi a VAES számára, hogy új adatpontokat generáljon, mint az edzési adatok. A dekóder ezután veszi a mintavételi kódolást, és megpróbálja rekonstruálni az eredeti bemenetet. A VAE edzése magában foglalja egy olyan veszteségfüggvény minimalizálását, amely ötvözi a rekonstrukciós veszteséget (hogy a bemenetet rekonstruálják) és a KL -divergencia -veszteséget (amely azt méri, hogy a megtanult eloszlás milyen közel van egy korábbi eloszláshoz, általában egy standard Gauss -hez).

A csúszó ablaktechnika

A csúszó ablak technika egy egyszerű, mégis hatékony módszer a szekvenciális adatok feldolgozására. Az adatpontok sorozatának alapján meghatározva egy rögzített méretű ablakot. Ez az ablak átcsúszik a szekvencia fölé, egy adatpont egy időben (vagy a lépéstől függően egyszerre több pont), és az egyes helyzetekben az ablakon belüli adatok feldolgozódnak.

A VAES összefüggésében a csúszóablak többféle módon használható. Az egyik általános alkalmazás az időbeli elemzés. Például, ha van időnk - érzékelői leolvasások sorozata, akkor egy csúszó ablakot használhatunk rögzített hosszúságú szekvenciák kinyerésére. Ezeket a szekvenciákat ezután felhasználhatjuk a vae bemeneteként.

A tolóablak használata a VAES -hez

Adatok előkészítése

A csúszó ablak VAES -hez történő használatának első lépése az adatok előkészítése. Tegyük fel, hogy van egy idő - sorozatú adatkészlet (x = [x_1, x_2, \ cdots, x_n]). Meghatározzuk az ablakméretet (W) és egy lépést (k). A szekvencia elejétől kezdve (W) méretű ablakokat (S) kivonattal kinyerjük.

Legyen (i) az ablak kiindulási indexe. Az (i) - th ablak (w_i = [x_i, x_ {i + 1}, \ cdots, x_ {i + w - 1}]) kialakul. Az összes ilyen ablak halmaza képezi az új adatkészletünket a VAE edzésére. Ennek az új adatkészletnek olyan alakja van, amely alkalmas a VAE bemenetére. Például, ha az eredeti idő - sorozat egyetlen dimenzióval rendelkezik, akkor minden ablaknak van alakja ((W, 1)).

Import Numpy néven NP Def Sliding_Window (Data, Window_size, Stride): num_windows = (len (adatok) - window_size) // Stride + 1 Windows = [] az I -hez (num_windows): start = i * lépések end = start + window_size windows.append (adatok [indítás: vég: np.array) # windows # példa. np.array ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) Window_size = 3 Stride = 1 Windows = Sliding_Window (Time_Series, Window_Size, Stride) Nyomtatás (Windows)

A vae edzése

Miután elkészítettük az adatokat a csúszó ablak technikával, kiképezhetjük a vae -t. Az edzési folyamat hasonló a szokásos VAE edzéshez, de a Windows új adatkészletével.

A VAE kódolója megtanulja az egyes ablakokat egy alacsonyabb dimenziós valószínűségi ábrázoláshoz térképezni. A dekóder ezután megpróbálja rekonstruálni az eredeti ablakot ebből a reprezentációból. Az edzés során figyelemmel kísérhetjük a rekonstrukciós veszteséget és a KL -divergencia -veszteséget annak biztosítása érdekében, hogy a modell hatékonyan tanuljon.

Import TensorFlow -t TF -ként a tensorflow.Keras importrétegekből # Határozza meg a VAE modellosztály mintavételét (rétegek.Layer): DEF CALL (Self, Inputs): Z_mean, Z_LOG_VAR = Inputs tétel = tf.shape (z_mean) tf.keras.backend.random_normal (alak = (batch, dim)) return z_mean + tf.exp (0.5 * z_log_var) * epsilon latent_dim = 2 encoder_inputs = tf.keras.input (alak = (Window_size, 1)) x = layers.flatten () (encoder_inputs) Activation = 'relu') (x) z_mean = rétegek.dense (latent_dim, name = 'z_mean') (x) z_log_var = rétegek.dense (latent_dim, név = 'z_log_var') (x) z = mintavétel () ( tf.keras.model (encoder_inputs, [z_mean, z_log_var, z], name = 'encoder') dekóder_inputs = tf.keras.input (alak = (latent_dim)) x = rétegek.dense (16, aktiválás = 'relu') (dekóder_inputs) x = laikus (laikus) (ablak). Activation = 'lineáris') (x) dekóder_outputs = rétegek. tf.keras.Model(encoder_inputs, outputs, name='vae') # Define the loss function reconstruction_loss = tf.keras.losses.mean_squared_error(encoder_inputs, outputs) reconstruction_loss = tf.reduce_sum(reconstruction_loss, axis=[1, 2]) kl_loss = - 0.5 * (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.reduce_mean (rekonstrukció_loss + kl_loss) vae.add_loss (vae_loss) vae.compile (optimizer = 'adam') # Képzze meg a vae vae.fit -et (Windows, Epochs = 10, batch_size = 2)

Alkalmazások

Rendellenességi detektálás

A csúszó ablak VAES -hez való használatának egyik legfontosabb alkalmazás az időbeli rendellenességek - sorozatú adatok. Miután a VAE -t normál adatokra (a csúszó ablak technikával) kiképezte, a képzett modellt használhatjuk az anomáliák észlelésére.

Egy új idő - sorozat alapján ismét a tolóablakot használjuk a Windows kinyerésére. Ezután átadjuk ezeket az ablakokat a kiképzett vae -en, és kiszámoljuk az egyes ablakok rekonstrukciós hibáját. Ha az ablak rekonstrukciós hibája egy bizonyos küszöb felett van, akkor ezt az ablakot (és az idő - sorozat megfelelő részét) anomáliának tekinthetjük.

Generációs modellezés

A csúszóablak megközelítése a szekvenciális adatok generációs modellezésére is használható. Miután a VAE -t a Windows adatkészletén képzik, a látens helyről mintázhatunk, és a dekóderrel új ablakokat generálhatunk. Ezeket a generált ablakokat kombinálhatjuk, hogy új idő - sorozatot képezzenek.

A csúszó ablakkínálatunk

Csúszóablak -beszállítóként a magas színvonalú tolóablakok széles skáláját kínáljuk. A miénkSiklóablakokismertek a zökkenőmentes működésükről és a tartósságukról. Úgy tervezték, hogy kiváló szellőztetést és természetes fényt biztosítsanak, miközben megőrzik az energiahatékonyságot.

A miénkVízszintes csúszó viharablakokkifejezetten úgy tervezték, hogy ellenálljon a szigorú időjárási viszonyoknak. Kínálnak egy extra védelmi réteget otthona vagy irodája számára, csökkentve az energiaköltségeket és a zajszennyezést.

Azok számára, akiknek konkrét követelményei vannak, akkor is biztosítjukEgyéni csúszó ablakmegoldások. Szakértői csapatunk együtt dolgozhat veled a pontos igényekhez igazodó csúszó ablakok tervezésében és gyártásában, akár egyedi méret, alak, akár stílus.

Ha érdekli a csúszó ablaktermékeink, vagy bármilyen kérdése van a csúszó ablak technika használatával a gépi tanulási alkalmazásokban, javasoljuk, hogy vegye fel velünk a kapcsolatot további megbeszélés és beszerzés céljából. Bízunk benne, hogy együtt dolgozhatunk az Ön igényeinek kielégítésére.

Referenciák

Kingma, DP és Welling, M. (2013). Auto - kódolási variációs Bayes. Arxiv Preprint Arxiv: 1312.6114.
Bishop, CM (2006). A mintázatfelismerés és a gépi tanulás. Springer.

64ff668086ed94c5964fd79a156194b3

A szálláslekérdezés elküldése