Wat is een autoencoder?
Comprimeren en reconstrueren
Een autoencoder is een neuraal netwerk dat is ontworpen om zijn eigen invoer te reconstrueren. Het netwerk bestaat uit twee delen: een encoder en een decoder. De encoder comprimeert de invoer tot een latent representatie, vaak een vector met veel minder dimensies dan de invoer. De decoder reconstrueert de invoer vanuit deze latente representatie. Het netwerk wordt getraind om de reconstructiefout te minimaliseren, meestal met mean squared error. Omdat de latente representatie kleiner is dan de invoer, moet het netwerk de belangrijkste kenmerken leren om de invoer goed te kunnen reconstrueren. Autoencoders worden gebruikt voor dimensionaliteitsreductie, vergelijkbaar met PCA maar niet-lineair. Ze worden ook gebruikt voor het verwijderen van ruis (denoising autoencoders), het detecteren van anomalieën (hoge reconstructiefout duidt op een afwijking), en het genereren van nieuwe data (variational autoencoders). Een eenvoudige autoencoder met één verborgen laag leert een lineaire transformatie; met meerdere lagen leert het niet-lineaire representaties. Autoencoders zijn unsupervised: ze hebben geen labels nodig. Ze zijn een fundamenteel concept in deep learning en vormen de basis voor veel generatieve modellen.
Varianten en toepassingen
Er bestaan verschillende varianten van autoencoders. Undercomplete autoencoders hebben een latente ruimte met minder dimensies dan de invoer, wat zorgt voor compressie. Overcomplete autoencoders hebben een grotere latente ruimte, maar gebruiken regularisatie om zinvolle representaties te leren. Sparse autoencoders voegen een straf toe op de activaties, zodat slechts een klein aantal neuronen actief is. Denoising autoencoders krijgen vervormde invoer en moeten de originele invoer reconstrueren, wat robuuste representaties oplevert. Contractive autoencoders voegen een straf toe op de gevoeligheid van de latente representatie voor kleine veranderingen in de invoer. Variational autoencoders (VAE) leren een probabilistische latente ruimte en kunnen nieuwe data genereren. Autoencoders worden gebruikt in anomaliedetectie in de industrie, het comprimeren van afbeeldingen en het leren van representaties voor downstream-taken. Ze worden ook gebruikt in aanbevelingssystemen, waar ze gebruikersgedrag comprimeren tot latente factoren. Autoencoders zijn een krachtig hulpmiddel voor unsupervised learning en blijven een actief onderzoeksgebied.