Autoencoder Manifold Learning
Types
SeqSpace.ML.LayerIterator — Typestruct LayerIterator
width :: Array{Int}
dropout :: Set{Int}
normalize :: Set{Int}
σᵢ :: Function
σₒ :: Function
σ :: Function
endAn iterator used to generate dense latent layers within a neural network. width denotes the widths of each layer; the length of this array immediately determines the depth. dropout denotes the layers, as given by width that are followed by a dropout layer. normalize denotes the layers, as given by width that are followed by a batch normalization layer. σᵢ, σₒ, σ is the activation energy on the first, last, and intermediate layers respectively.
Functions
SeqSpace.ML.batch — Methodbatch(data, n)Randomly partition data into groups of size n.
SeqSpace.ML.model — Methodmodel(dᵢ, dₒ; Ws=Int[], normalizes=Int[], dropouts=Int[], σ=elu)Initialize an autoencoding neural network with input dimension dᵢ and latent layers dₒ. Ws specifies both the width and depth of the encoder layer - the width of each layer is given as an entry in the array while the length specifies the depth. normalizes and dropouts denote which layers are followed by batch normalization and dropout specifically. The decoder layer is given the mirror symmetric architecture.
SeqSpace.ML.train! — Methodtrain!(model, data, index, loss; B=64, η=1e-3, N=100, log=noop)Trains autoencoder model on data by minimizing loss. index stores the underlying indices of data used for training. Will mutate the underlying parameters of model. Optional parameters include:
Bdenotes the batch size to be used.Ndenotes the number of epochs.ηdenotes the learning rate.
SeqSpace.ML.update_dimension — Methodupdate_dimension(model, dₒ; ϵ = 1e-6)Add a colection of new neurons in the encoding layer to encode in the encoding layer to increase dimensions to dₒ. Model weights for the initial dimensions are kept the same.
SeqSpace.ML.validate — Methodvalidate(data, len)Reserve len samples from data during training process to allow for model validation.