lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christine Poerschke (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SOLR-11597) Implement RankNet.
Date Fri, 02 Feb 2018 19:36:01 GMT

    [ https://issues.apache.org/jira/browse/SOLR-11597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350847#comment-16350847
] 

Christine Poerschke commented on SOLR-11597:
--------------------------------------------

Thanks for the ping!

bq. ... used to thinking of neural network calculations in terms of dot products ...

I've been reading and learning more about neural networks recently and yes, with some familiarity
with the domain the matrix representations become less of a code comprehension issue. So I
think we can stick with the matrix approach here and support for more complex networks in
future would likely be via integration with libraries like deeplearning4j (and others?).

bq. ... The weights can be exported from Keras in any format the user wants. ...

Good to know.

On the non-linearity vs. activation-function choice, let's go with activation or activation
function.

And can I suggest we take a function/functor style approach e.g. as sketched out in [this|https://github.com/cpoerschke/lucene-solr/commit/237d01a357d1baf74977290957b5a9e0e2bf1d78]
commit (assuming [java.util.function.Function|https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html]
{{Function<float,float>}} does not work) for three reasons:
* no string comparisons at document scoring time
* no need to ensure that the validate and point-of-use activation strings match
* custom activation functions could be added by subclasses overriding the setActivation method

And two things perhaps in the nice-to-have bucket for the explain function:
* Might it be helpful to include the input values somehow e.g. just the input numerics (that
are fed to the network) or the input feature-plus-score details similar to how LinearModel.explain
does it? Ideally with a test.
* Using StringBuilder in explain should reduce the number of String objects being allocated
and needing to be GC-ed.

> Implement RankNet.
> ------------------
>
>                 Key: SOLR-11597
>                 URL: https://issues.apache.org/jira/browse/SOLR-11597
>             Project: Solr
>          Issue Type: New Feature
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: contrib - LTR
>            Reporter: Michael A. Alcorn
>            Priority: Major
>
> Implement RankNet as described in [this tutorial|https://github.com/airalcorn2/Solr-LTR].



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message