MIT-LCP / physionet-build

The new PhysioNet platform.
https://physionet.org/
BSD 3-Clause "New" or "Revised" License
56 stars 20 forks source link

Editorial guidelines for machine learning results #332

Closed bemoody closed 2 years ago

bemoody commented 5 years ago

A trained neural network (for example) is not source code.

It's also not data, in the sense of being a collection of objective, verifiable facts.

In my not-so-humble opinion, if the training process for a machine-learned model is not reproducible, the result cannot be called scientific.

Nonetheless, the published model can in theory be a basis for future scientific research, if it is rigorously validated.

In any case, I think we all agree that we want to encourage publication of these results on PhysioNet, and as such, we ought to establish formal editorial guidelines. Some ideas:

These are arguably a sub-category of "software", but we might also consider treating them as an entirely separate category of project.

I'd welcome any thoughts, in particular, from @rgmark and @gariclifford.

tompollard commented 5 years ago

@alistairewj @jraffa @tnaumann any thoughts on Benjamin's comment above? Should we introduce a new project type for PhysioNet (alongside data, software, challenge) to handle pre-trained models?

jraffa commented 5 years ago

In the past, have people used PhysioNet as their primary venue to distribute ML models?

bemoody commented 5 years ago

It's something that didn't come up often in the past, but has been increasingly prevalent in the last few Challenges.

We also mentioned this in the latest grant rebuttal, as being an area where we're hoping to expand.

alistairewj commented 5 years ago

The recently proposed Montreal data license discusses "representations", and how these representations are licensed. It might be a good framework for thinking about these submissions. I think in general we want to support useful derivations, but it doesn't seem necessary to limit it to those derived by ML.

tompollard commented 5 years ago

As we have a couple of models in the system already, it would be good to decide on how we want to treat them soonish. My vote is to stick with the current project types and generally treat models as software because:

We can use keywords/tags to support custom searches etc for models.

tnaumann commented 5 years ago

A few considerations:

All this is really to say that I currently am leaning more "data" than "software" for most models. However, if others are leaning "software" over "data" then that might be a reason alone to have another category so that they all get grouped together at least.

[1] https://stackoverflow.com/questions/50744565/how-to-handle-non-determinism-when-training-on-a-gpu [2] https://github.com/google-research/bert

tompollard commented 5 years ago

@jraffa An example of a model distributed on PhysioNet is: https://physionet.org/works/MIMICIIIDerivedDataRepository/files/approved/what-is-in-a-note/

jraffa commented 5 years ago

Thanks @tompollard

A couple comments:

  1. I worry about the models on PhysioNet being out of date (e.g., the author makes some refinement to their model, but does not update PhysioNet's version). Is the purpose of this to archive the 'paper version' of the model or to be an archive of the model itself? I believe the two instances for methods papers where I have software with the paper, the journal ended up hosting the paper's version of the code themselves.
  2. In the case you posted, the authors have a script on their GitHub repo which downloads the word2vec file from their website. Presumably they can't use PhysioNet because that version is password protected.
  3. I think it's important to look at what others are doing in this area. I believe in computer vision they share their models quite frequently. E.g. there's a list of them here, https://pjreddie.com/darknet/yolo/
  4. We should talk about how we are going to distribute GOSSIS.
tompollard commented 5 years ago

Thanks Jesse, useful comments. I've added a couple of thoughts below:

I worry about the models on PhysioNet being out of date (e.g., the author makes some refinement to their model, but does not update PhysioNet's version). Is the purpose of this to archive the 'paper version' of the model or to be an archive of the model itself?

Eventually I'd like objects shared through PhysioNet to be "primary" research outputs, so published projects should stand alone. If someone develops an updated version of a model and they want to share it, then they should create a new version of the project (using the functionality implemented in #311). If a paper supplements the model, then it should provide a citation to the archived version.

In the case you posted, the authors have a script on their GitHub repo which downloads the word2vec file from their website. Presumably they can't use PhysioNet because that version is password protected.

There's nothing stopping us from allowing approved users from pulling code from a protected repository, and this is something that we'd like to build into a physionet package. In this specific case, I can't say why the authors download data from a different source, but it shouldn't be necessary.

I think it's important to look at what others are doing in this area. I believe in computer vision they share their models quite frequently. E.g. there's a list of them here, https://pjreddie.com/darknet/yolo/

Yep, good point, more research needed!

We should talk about how we are going to distribute GOSSIS.

Hopefully through PhysioNet! Is it data, software, or a model ;) ?

tnaumann commented 5 years ago

In the case you posted, the authors have a script on their GitHub repo which downloads the word2vec file from their website. Presumably they can't use PhysioNet because that version is password protected.

@jraffa The code was created uploaded before we posted the vectors to Physionet and we forgot to update it. When pulling things down from Physionet, specifying --user "$USER" --ask-password will allow you to authenticate and pull them down. I've updated this in the repo.