[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