[mlpack-git] [mlpack] improve speed of SparseAutoencoder and make it more flexible (#451)

Ryan Curtin notifications at github.com
Mon Nov 30 16:00:03 EST 2015


Okay, now that #452 is done, let's consider this one. :)

I want to make sure I'm on the same page as what's going on here, so please correct anything I've written below:

The idea are to improve the speed of the sparse autoencoder and flexibility of the sparse autoencoder, by reusing the code from `src/mlpack/methods/ann/`, which is both faster and allows the user to use different hidden layer types (like something other than the usual sigmoid layer).  Using a separate class called `SparseAutoencoder` could help keep users from getting confused with the tons of different options available with the ANN code.

I think that's a kind of accurate summary of what you're trying to do; if not, please correct it. :)  I am in support of this; for me, the primary two important things here are that (1) we can improve the speed of the `SparseAutoencoder` and (2) we can reuse the ANN code and remove virtually all of the existing code for `SparseAutoencoder`.  It would also be very nice that we could get more flexibility.

Before I start digging too much, do you think we could use the ANN code entirely to represent the sparse autoencoder?  i.e. `SparseAutoencoder` is actually a typedef of `ann::FFN<...>` (I have no idea what exactly the parameters to FFN would be; I haven't thought it through yet).  If that's the case, I think we should move that direction, get rid of the old `SparseAutoencoder` code, and then find ways to clean up the code and make it do the other things you want it to.

(If this isn't reasonable, let me know---I'm just trying to figure out a good way to integrate this code in a way that keeps the complexity of the resulting code down as much as possible.  I'm not a particular expert on autoencoders, though I am familiar enough with them, so my suggestions may not make 100% sense.  I like finding where code is duplicated and removing it. :))

---
Reply to this email directly or view it on GitHub:
https://github.com/mlpack/mlpack/pull/451#issuecomment-160760093
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.cc.gatech.edu/pipermail/mlpack-git/attachments/20151130/79aacc62/attachment-0001.html>


More information about the mlpack-git mailing list