Skip to content

Review Request: Le Masson, Alexandre #21

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 11 commits into from
Closed

Review Request: Le Masson, Alexandre #21

wants to merge 11 commits into from

Conversation

maekclena
Copy link

@maekclena maekclena commented Aug 9, 2016

AUTHOR

Dear @ReScience/editors,

I request a review for the replication of the following paper:

  • How Attention Can Create Synaptic Tags for the Learning of Working Memories in Sequential Tasks, J. Rombouts, M. Bohte and P. Roelfsema, PLoS Computational Biology, 11, 2015.

I believe the original results have been faithfully replicated as explained in the accompanying article.

Repository lives at https://github.com/maekclena/ReScience-submission/tree/Le_Masson-Alexandre-2016


EDITOR

  • Editor acknowledgment (@oliviaguest 09 August 2016)
  • Reviewer 1 (@vitay 12 August 2016)
  • Reviewer 2 (@eroesch 8 September 2016)
  • Review 1 decision [accept] 30 November, 2016
  • Review 2 decision [accept] 1 December, 2016
  • Editor decision [accept] 1 December, 2016

@oliviaguest
Copy link
Member

Thanks @maekclena I will assign reviewers soon.

@rougier rougier changed the title Review Request Review Request: Le Masson, Alexandre Aug 10, 2016
@vitay
Copy link

vitay commented Aug 25, 2016

The authors reproduce successfully the results of the original paper on 2 of the 4 proposed tasks. The other tasks (category matching and vibrotactile discrimination) would not bring much to prove that the model is correctly reproduced, so this is fine. The model itself is actually quite simple, reproducing the tasks (especially the probabilistic task) seems to have been the main difficulty in the reimplementation.

There were no dependency problem to run the simulations, everything is standard and runs well (tested under linux). The code for the model is very well organized, clear and commented. There are a few docstrings missing in the classes, but the names of the methods are self-explaining anyway.

article

The article is well written and describes the difficulty of the reimplementation. A few words on the implementation itself could have been nice: why classes for the populations and projections instead of plain numpy arrays (what could have been slightly more readable)? Does reduce bring much in terms of speed, or is it just more generic (there are never more than two incoming projections to a population in the current model, but it could be beneficial for extensions)? Things like that.

In the results section, you do not provide the setup for computing the success rates and convergence speed. How many networks were used? What is the variance?

You could also describe slightly more in the text in how far Figs. 1 and 2. reproduce the original figures: it is not obvious without reading the original article that fixate dominates until the go signal, after which the correct action is chosen. Don't feel like you have to do it, but it would have been also nice to reproduce other figures, such as 2C or the upper part of 2D and 4C.

It might also be useful to clarify the nature of the feedback weights w' in equations 14 and 16: once an action is selected, only the feedback synapses leaving the corresponding selected Q-value unit are activated to update tags, more precisely: w' ij = w ij × z i . The model could also have dedicated feedback connections but the simpler method is to use the feedforward synapses' weights.

It is indeed not clear in the original article whether the feedback weights are also learned (as they seem to imply), or if they just copy the feedforward ones. What was used in the original implementation? So much for the biological plausibility: as the weights are randomly initialized, there is no chance that the feedforward and feedback weights take the same value in this learning setup. So the superiority over backpropagation is not that obvious...

Small typos:

  • Introduction: it helped to verify the correctness
  • Tasks: extra step to give the final reward
  • Tasks: A number of settings is randomized

code

  • In README.md, the usage should be described as:
python3 simulation.py -h...

as the scripts are not directly executable.

  • It could be useful to specify which version of Python, Numpy and Matplotlib are needed (at least by me Python 3.4.3, Numpy 1.8.2 and Matplotlib 1.3.1 work). As you use the new package statistics of python 3, 3.4 is likely the minimal version.
  • It would not cost much to make the code compatible with python 2.7 (still the default on popular distributions). You just need to add:
from __future__ import print_function

at the beginning of simulation.py and plot-activation.py, and to use the numpy implementation of median instead of statistics in simulation.py:

# from statistics import median
from numpy import median

@oliviaguest
Copy link
Member

Many thanks to @vitay for the review. I will have to locate another 2nd reviewer, so please bear with me @maekclena while I try to track somebody down.

@oliviaguest
Copy link
Member

oliviaguest commented Sep 8, 2016

EDIT: Please see below.

Would either of @MehdiKhamassi or @benoit-girard be able to take on the mantle of 2nd reviewer? 😄

@eroesch
Copy link

eroesch commented Sep 8, 2016

Hi @oliviaguest; I'd be interested to do the review.

@eroesch eroesch closed this Sep 8, 2016
@eroesch eroesch reopened this Sep 8, 2016
@oliviaguest
Copy link
Member

Excellent! Go ahead!

@benoit-girard
Copy link

You are too fast for me! Next time...

@oliviaguest
Copy link
Member

Any updates on this @eroesch?

Also have you had any time to address some of the above @maekclena?

@maekclena
Copy link
Author

No, I haven't had time yet. I will wait for @eroesch's review to make all necessary corrections at once.

@eroesch
Copy link

eroesch commented Sep 25, 2016

I am almost done.

@oliviaguest
Copy link
Member

@eroesch 🔔

@rougier
Copy link
Member

rougier commented Oct 16, 2016

Don't pay attention to the conflict, I just updated the submission directory. No incidence at all on this submission. @oliviaguest @eroesch Any chance for an update ?

@oliviaguest
Copy link
Member

Reviewers — @vitay & @eroesch — are you satisfied with the changes that have been made? If yes, can you please formally accept the paper?

@vitay
Copy link

vitay commented Nov 30, 2016

I am for accepting the paper, the changes answered my questions.

@eroesch
Copy link

eroesch commented Dec 1, 2016

I am accepting the paper, the changes answered (most of) my questions.

@oliviaguest
Copy link
Member

Dear @falex33 and @maekclena — Congratulations! How Attention Can Create Synaptic Tags for the Learning of Working Memories in Sequential Tasks has been accepted! Publication and more details will soon follow.

@ReScience ReScience locked and limited conversation to collaborators Dec 1, 2016
@oliviaguest
Copy link
Member

Hi all — I have attempted my first go at this:
DOI

@rougier rougier closed this Dec 18, 2016
@pdebuyl
Copy link
Member

pdebuyl commented Jan 7, 2017

Hi @oliviaguest

The archived PDF has wrong links for the red buttons "Article repository", etc. on the first page.

The first one, for instance, points to https://github.com/ReScience-Archives/Le_Masson-Alexandre-2016/article whereas the "good" link would be https://github.com/ReScience-Archives/Le_Masson-Alexandre-2016/tree/master/article

@oliviaguest
Copy link
Member

Sorry about this. No idea how to fix this problem unfortunately as this is the first time I've done this. I won't try anything until somebody who knows more advises. Perhaps @rougier knows more?

@pdebuyl
Copy link
Member

pdebuyl commented Jan 7, 2017

The links are in the header of the .md file for the paper. What I don't know is how to manage the update to Zenodo, if one is done at all.

Sorry @rougier , we'll need an opinion :-)

@rougier
Copy link
Member

rougier commented Jan 7, 2017

I think you need to regenerate the right PDF and upload a new version to Zenodo (while keeping the same DOI).

@oliviaguest
Copy link
Member

Indeed. This is why I asked for your more experienced opinion. So unless I am mistaken, which is possible... I'm not sure that I can change any files without emailing Zenodo. I am of course more than happy to email them myself to fix this problem!

Note: File addition, removal or modification are not allowed after an upload has been published. This is because a Digital Object Identifier (DOI) is registered with DataCite for each upload. If you've made a mistake please contact us.

@rougier
Copy link
Member

rougier commented Jan 7, 2017

Can't you release a new version on Zenodo using the same DOI ? If not, we'll have to issue a new DOI and update the website and ReScience repository.

@oliviaguest
Copy link
Member

I'm unfamiliar with Zenodo but I don't think so...?

@rougier
Copy link
Member

rougier commented Jan 8, 2017

Just checked and you'r right. We'll have to contact Zenodo. Can you handle it ?

@oliviaguest
Copy link
Member

I think before emailing we/I should fix the repo which we can edit ourselves first. So I need to edit the md file to correct the link, and recompile the pdf. Is there anything else that needs updating? Does the release on github allow changes?

@rougier
Copy link
Member

rougier commented Jan 8, 2017

No, I think you will have to make a new release (and double check links before making the release). I can help you on checking the PDF.

We really need to automate this part to avoid future errors. I did the same for one submission but I was lucky enough to realizd something was wrong before submitting to Zenodo.

@oliviaguest
Copy link
Member

OK, I'll try on Monday!

@khinsen
Copy link
Contributor

khinsen commented Jan 8, 2017

Zenodo lets you upload a new file and declare that it renders an earlier one obsolete. That's probably the best and most transparent way to handle corrections. If I remember correctly, you have to

  1. upload and publish the new version, and refer to the old one in the metadata as "replaces..."
  2. edit the metadata of the old version to add a reference to the new one.

@pdebuyl
Copy link
Member

pdebuyl commented Jan 8, 2017

I see

is new version of this upload

Is this a kind of "official" replacement method? Will there be two DOIs?

@oliviaguest
Copy link
Member

@khinsen could you point me to where that option is, please?

@khinsen
Copy link
Contributor

khinsen commented Jan 9, 2017

It's under "Related/alternate identifiers". There you can enter URLs or DOIs of related things and assign a role to them. The two relevant roles are "is new version of this upload" and "is previous version of this upload".

For an example of how this is presented to the reader, see this software upload. Under "related identifiers" in the right column you can see both "previous versions" and "new versions".

@pdebuyl: Each upload has its own DOI. There are just annotated links between the two uploads. It's more of a versioning than a replacement method, but that's how the scientific record should work in my opinion.

@oliviaguest
Copy link
Member

oliviaguest commented Jan 11, 2017

OK, I am attempting step one now of @khinsen's solution. Can somebody check that I do the github-side of things correctly please before I do anything on Zenodo? Thanks for the help so far. Will post a link when I have compiled the corrected .md.

@oliviaguest
Copy link
Member

OK, so I think this has now fixed the link problem: https://github.com/ReScience-Archives/Le_Masson-Alexandre-2016/tree/master/article
Is the next step a new release on github?

@rougier
Copy link
Member

rougier commented Jan 11, 2017

I think a link for the notebook in the PDF while there is no notebook, do you know why ? Was it the case with previous version ?

@oliviaguest
Copy link
Member

Better? 😄

@pdebuyl
Copy link
Member

pdebuyl commented Jan 11, 2017

As the article is in re-processing (okay, because of me :-/) is it useful to have the link to data? It has not been used by the authors and contains only the template's README and LICENSE.

@oliviaguest
Copy link
Member

Removed it. Is the repo and article looking done now? Do we need the data and notebook directories?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants