-
-
Notifications
You must be signed in to change notification settings - Fork 4
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
[Review]: Introduction to deep learning #25
Comments
We're still running a final round of comments for the paper (see carpentries-incubator/deep-learning-intro#364), the plan is to submit the paper on the 15th of September through: https://openjournals.readthedocs.io/en/jose/submitting.html#submitting-your-paper . I'm not sure how that relates to this review, are the 2 independent or should we wait for this review process to finish before submitting to JOSE? |
Great to see this submission, @svenvanderburg. As a listed contributor, I have a conflict of interest acting as editor for this one. I am going to find another community member who can fulfill the role for this review, and will post back here when it's ready. To answer your question about review order: we have been asking lesson developers to submit the lesson for review here, before the JOSE review. See #11 and the related review in JOSE for an example. |
@tobyhodges any update on finding an editor? |
@tobyhodges ? 😇 |
I have reached out to a potential guest editor for this review and am waiting for confirmation. Hoping to be able to follow up very soon! |
Perfect, thank you for the update 🙏 |
Good news: @brownsarahm has kindly agreed to act as Guest Editor for this review. I am extremely grateful to her for being willing to take this on. |
I'll work on this in small bits, but this way it's all in one place and the authors could work on the (very minor) accessibility issues and one small note on setup that I have checked so far. Editor Checklist - Intro to Deep LearningAccessibility
Content
Datasets and licenses
other content notes:
Design
to fix:
RepositoryThe lesson repository includes:
Structure
comment:
Supporting informationThe lesson includes:
other setup note:
General
|
@brownsarahm any update on the progress? |
@brownsarahm any update? Can you give us an indication when we can expect this to be done? |
Hi! Sorry, a bunch of unexpected things happened last fall, and then when you sent the first check-in I was off of work for the holidays. And the second came while I was in a deadline crunch, This is now back in my active queue. I should finish the pre-reviewer stuff within a week and I'm looking for reviewers starting now. |
Hi @brownsarahm. Cool, thanks for the update 🤗 |
editorial checks are done and @tobyhodges and I are working on finding reviewers next. The comment above has a few things for you all to look at now, but thanks for resolving all of the previously identified ones already! |
Thanks @brownsarahm. I have suggested a few reviewers to Sarah but if any of my fellow authors can also suggest anyone they think would be suitable, I am sure it would be helpful. (Please do not tag anyone here by their GitHub handle.) |
@svenvanderburg Do you have any updates in response to my final editorial check? In particular, do you have responses to the concerns about:
and ideally before we assign reviewers, it would be nice to resolve, but these are minor:
|
Hey @brownsarahm. Sorry, I totally missed that it was final! Thanks for extra pinging me @brownsarahm :) Some answers: Episode lengthsIndeed episode 3 takes a bit longer than the other ones, but not twice longer. In fact, the timing for the other episode is too optimistic: Here is a PR with more realistic timing. In comparison to other lessons the episodes are a bit longer, this is because we want to finish the full deep learning workflow in each episode. When teaching, this is not really a problem though, the workshop is actually pretty balanced in terms of cognitive load because in every episode we go through this deep learning workflow once, and conceptually it makes sense to have the cuts between episodes at these points. What do you think? We could maybe write this explanation in the introductory instructor notes? Dataset licensesIf I understand correctly, the only problem is with the CIFAR-10 dataset. It is so widely used, but I never realized it doesn't actually have a license judging from the official website. I found a paper that extracts the statement about citation as their license: It is actually a crawled dataset, and in the paper I don't read anything about the crawled images being under open-source license.... Anyway: do you think it is a problem that we use this dataset? It is such a central dataset in the field and so widely used. We would have to change the entire episode if we use a different dataset. We can write a comment about in the instructor notes. Small issuesI resolved the two small issues you referred to, will be reviewed soon by one of my colleagues. We will soon pick up any other remaining issues. Would be good to enter the next phase of reviewing. Let us know what we have to do to help this progress. |
TimingThanks for the explanation. I think at one level your strategy for putting breaks in the content makes sense. I am not certain if your claim about cognitive load is true, but also not certain that it is false. However 3.5 hours without a break is a long time and most instructors will not want to give a break in the middle of an episode. Maybe an instructor note reminding about breaks? (as context, I'm a maintainer on instructor training and we get a lot of complaints about not enough breaks there and we have them ~every 90 minutes). Dataset LicenseIn my understanding of carpentries policy a permissive license is required. Since the dataset was crawled, it likely has zero consent to be using the images from the original owners of the images. I think it probably does not have the same risks as imagenet, but should be checked. On the other hand, this is clearly, to me, an intended use by the people who curated the images into a dataset, despite them not putting a license on it and them possibly not having appropriate rights to the images either. Whether it is okay or not is going to be up to Carpentries policy about the situation where there is no license. @tobyhodges can you help navigate that or let us know who else in the carpentries should be looped in? |
Thanks for tagging me @brownsarahm. I need to do a bit more reading and thinking about this, and will come back soon with a full response. |
Thanks for your patience while I took some time to read through the relevant pages and documents, and to reflect on the most appropriate course of action. I am sorry to say that I think we should replace the dataset in the lesson. The lack of a license file in the dataset is somewhat problematic, even though the authors clearly intend for the dataset to be re-used and usage in the lesson is within the terms stated on their website. But my biggest concerns are with the unethical way in which the data was "collected." Images were scraped and modified for the dataset without any attempt at seeking permission from the copyright owners or giving them attribution, which feels unethical to me regardless of any arguments over its legality. (I am not a lawyer but it seems like the use may fall under "fair dealing" in Canadian copyright law, where the researchers who published the dataset are based.) In Collaborative Lesson Development Training, alongside considerations of licensing, size, and complexity, we ask lesson developers to consider the ethics of the example datasets they include in their lessons. I would like to apply the same standard to lesson reviews in The Carpentries Lab. I acknowledge that replacing the dataset will require significant new work on the part of the authors, and perhaps I should have noticed sooner and avoided some of this inconvenience. @svenvanderburg for my part, I would like to devote some time in the coming weeks to try to make the necessary changes (as I am already one of the authors). I hope I will be able to propose some alternative datasets soon, and of course it would help to have input from others with more DL experience than I have. However, please also be aware that you can withdraw the lesson from review here if you prefer. Finally, many thanks to @brownsarahm for catching this and looping me into the discussion. |
TimingHa, no 3,5 hour teaching without breaks is absurd! At the Netherlands eScience Center we usually teach in a schedule like [for this recently taught workshop](this https://esciencecenter-digital-skills.github.io/2024-02-05-ds-dl-intro/#schedule). Never more than 90 minutes of teaching! And I think beta pilots copied that schedule in rough lines. It doesn't matter that it is in the middle of an episode. In addition, we swap instructors halfway the episodes which makes teaching load lighter as well. See carpentries-incubator/deep-learning-intro#446 for addressing this, do you agree @brownsarahm ? And thanks for bringing this up, this is a great outcome of the review. Since we always use the same schedule no matter what lesson material we use we had a blind spot here. LicenseThanks @tobyhodges for digging into the CIFAR10 license. I agree we should change it, indeed it goes against everything the Carpentries stands for... So, the remaining issues to fix before the review are:
(and some more small comments from Sarah that we will definitely pick up the coming period but are not essential to do before the review) Can you confirm this @brownsarahm ? |
Yes, this is correct, these two issues would get it to a point where it is ready for review. |
@likeajumprope can you update us on the progress of your review? (Where no progress is also a valid update 😉 ) |
@likeajumprope Do you have progress on this? Even an incomplete review helps the authors improve the lesson and then you can update after. |
Reviewer ChecklistAccessibility
Content
Design
Supporting information
General
|
Almost done - in general the lesson is super nice and I think I can check most boxes above. Will fill in the general section with my notes in the next few days |
Great @likeajumprope 🎉 Looking forward to your notes 😺 |
@likeajumprope any update on this? 😽 |
@likeajumprope we have a sprint upcoming next week Monday 13 & Tuesday 14th of January. It would be awesome if you could share your feedback with us so we can improve the lesson. |
Hi @svenvanderburg I think I can do that - I have been working on it over the Christmas Holiday and I am almost ready. Sorry for the delay and thanks for being so patient - I know I am stretching it a bit |
Hi @likeajumprope great to hear from you, happy new year ⭐️ If you could do that, that would be awesome! |
Hi @svenvanderburg, please see below my detailed feedback and a print out of the Jupyter Book. |
Great @likeajumprope, thanks a lot, especially given this was quite a ride! 🎉🙏 We will work on your comments in our lesson development sprint today and tomorrow. |
Thanks for sticking with me ;) |
@likeajumprope thank you for the useful comments! We resolved almost all your comments in carpentries-incubator/deep-learning-intro#523. For 2 comments we need a few clarifications: Sketch of a neuron'Introduction of the neuron: It might be useful to actually show the sketch of a neuron here – not everyone might know what a neuron looks like.' Referring to: https://carpentries-incubator.github.io/deep-learning-intro/1-introduction.html#neural-networks Do you mean to show a picture of an actual neuron? I think that might actually confuse learners because you go into the discussion of which properties of an actual neuron than correspond to that of an artificial neuron. Mean Squared Error formulaYou mention 'Compute the Mean Squared Error: the hat is over the bracket instead of the y, in the MSE equation', regarding https://carpentries-incubator.github.io/deep-learning-intro/1-introduction.html#compute-the-mean-squared-error . Can you let is know in which browser you see this. In chrome I get the hat above the y: |
I have gathered these issues in the tasklist of this issue A few specific replies @mike-ivs :
I think it is worth re-creating the function here because it introduces new functionality every time. This way, we provide the full context so that learners know exactly where to put it.
I think the reason is that it is not required for anything in the lesson and we don't want to install unnecessary packages.
I don't necessarily agree. I find the diagram that you have linked potentially confusing rather than enlightening. I am sure there could be a good diagram, but I have instead tried elaborate in the text a bit. |
@carschno Thanks for the reply. I'm happy with all those answers :) Specifically: Looking at the transfer-learning diagram I linked 6 months ago I would now agree with you... it's more confusing that helpful! The changes you made help clear things up. Great work on the lesson. |
I am using chrome ( I tried resizing my browser window and checked light/dark mode toggle and it stayed bad. Since the source is correct, let's ask @tobyhodges about what might cause the rendering error and call this a workbench issue, not a lesson issue? |
Thanks for checking that @brownsarahm, very sharp eyes! :) I see the same on Chrome on a Mac I agree this looks like a workbench and/or browser issue. |
Indeed. This is an issue with varnish, the component of the Workbench that applies styling etc to the lesson website. Specifically, it is something to do with how the MathJax JavaScript library is rendering the equation in Chrome (broken on when viewed in that browser on my system too). I am investigating further and will open an issue and/or PR on https://github.com/carpentries/varnish in due course. There is nothing to be done on the DL lesson repository to resolve this in the meantime. |
that it worked in firefox made me think it's not a workbench issue, so i did a quick search and found a solution that attributes it to macos but is a quick change to make:
Maybe it is worth putting a tip box somewhere in the setup or instructor notes with this solution since readers of the lesson can fix it for themselves? |
I have added a PR: carpentries-incubator/deep-learning-intro#539 |
Great catch @brownsarahm, thanks 🙌 |
With carpentries-incubator/deep-learning-intro#530, the final pending PR to address the review comments has now been merged. |
I had forgotten to update this to step 4 when the second review came in but we have now jumped to step 5! 🎉 @likeajumprope and @mike-ivs please take some time to look through the authors' responses above and the updated version of the lesson. When you are ready, post back here to ask follow-up questions, let the authors know about any additional changes you would like them to make, or recommend that we accept the lesson to The Carpentries Lab. You may find it helpful to refer to the Reviewer checklist again if you would like to use that as a guide. We are so close team! |
Lesson Title
Introduction to deep learning
Lesson Repository URL
https://github.com/carpentries-incubator/deep-learning-intro
Lesson Website URL
https://carpentries-incubator.github.io/deep-learning-intro/
Lesson Description
This is a hands-on introduction to the first steps in Deep Learning, intended for researchers who are familiar with (non-deep) Machine Learning.
The use of Deep Learning has seen a sharp increase of popularity and applicability over the last decade. While Deep Learning can be a useful tool for researchers from a wide range of domains, taking the first steps in the world of Deep Learning can be somewhat intimidating. This introduction aims to cover the basics of Deep Learning in a practical and hands-on manner, so that upon completion, you will be able to train your first neural network and understand what next steps to take to improve the model.
We start with explaining the basic concepts of neural networks, and then go through the different steps of a Deep Learning workflow. Learners will learn how to prepare data for deep learning, how to implement a basic Deep Learning model in Python with Keras, how to monitor and troubleshoot the training process and how to implement different layer types such as convolutional layers.
Author Usernames
@dsmits @psteinb @cpranav93 @colinsauze @CunliangGeng
Zenodo DOI
10.5281/zenodo.8308392
Differences From Existing Lessons
No response
Confirmation of Lesson Requirements
JOSE Submission Requirements
paper.md
andpaper.bib
files as described in the JOSE submission guide for learning modulesPotential Reviewers
No response
The text was updated successfully, but these errors were encountered: