systemml-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] [systemml] deutschmn opened a new pull request #925: Implementation of Neural Collaborative Filtering (NCF)
Date Thu, 28 May 2020 13:52:27 GMT

deutschmn opened a new pull request #925:
URL: https://github.com/apache/systemml/pull/925


   This pull request adds an implementation of Neural Collaborative Filtering (NCF) using
the SystemDS NN library. 
   
   The concept is based on [this paper ](https://dl.acm.org/doi/abs/10.1145/3038912.3052569)
and implements a fixed architecture – details are described in the `README.md` of the examples
for the NN library. 
   
   The implementation includes: 
   - `NCF.dml`: train, predict and evaluate an NCF model
   - `ncf-dummy-data.dml` train the model with synthetic data (fast)
   - `ncf-real-data.dml` train the model with the MovieLens data set (takes some time)
   - `Example - Neural Collaborative Filtering.ipynb`: a Jupyter notebook to download the
data, prepare it, call the training scripts and plot the training history
   
   Some remarks:
   - This implementation has a fixed network architecture for three dense layers. I was thinking
about making it dynamic, but this would require all weights and biases to be stored in untyped
lists, which I feared would kill performance. 
   - For now the implementation does not add any tests, as it's rather a demonstration of
how SystemDS can be used and not a part that can easily be reused for a different use case.
Also, I wasn't sure what to test against, since the network doesn't have any clear expected
output.
   - I now implemented it as a script file rather than as a built-in functions, as built-ins
would cross-reference each other and also make use of the NN-library, which itself isn't a
built-in. If these issues are resolved, it could, however, be ported over to a built-in.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



Mime
View raw message