elanvb / indaba-pracs-2019 Goto Github PK
View Code? Open in Web Editor NEWThis project forked from deep-learning-indaba/indaba-pracs-2019
License: Apache License 2.0
This project forked from deep-learning-indaba/indaba-pracs-2019
License: Apache License 2.0
Ensure all relevant terminology is introduced prior to it being needed (or at least link to a source).
It would be great to add an interactive cell where the students can play around with batch size and see how it affects the quality of the gradient estimate (and perhaps the effect on computation time).
Mainly for the sake of more easily comparing the various optimisation methods, we should just have all the starting x and y values be the same across the optimisation methods.
There are words and phrases used that I think will make the tutorial less accessible to non-native English speakers. A particular example is the metaphore for gradient descent.
Tensorflow can be confusing to those who have not seen much of it before. I think we should maybe add some basic comments in the code to make sure people easily follow what is going on.
For instance, seeing Tensor.assign_sub
doesn't make it that clear that what is happening is we are assigning a new value to the tensor by subtracting the given value from its current value.
I think it would also be great to put the relevant pieces of mathematics as comments next to the code where it is being computed.
I would be great to add an interactive cell that gives a better feel for the "what are gradients" section. I think, just recreating the image with an interactive plot would be excellent.
We should give SGD with decay better hyper-parameters so that this method is somewhat competitive in the “Putting it all into practice” section. Otherwise, it might look like this method can be ignored.
I have actually played around a bit and I think a learning rate of 0.5 and a decay 0.01 works quite well.
I was also thinking of adding the Momentum with decay example because it is just too easy to leave as an exercise and it shows that many of these techniques can be combined. Hyper-parameter values for that case that provide decent performance are a learning rate of 0.5, momentum of 0.9, and decay of 0.01.
Some sections could be improved in terms of clarity. For instance, I feel the sentence order in the RMSProp section should be changed around. We should first point out that a single learning rate is multiplied to the gradients for all the variables, then we mention that some parameters might not need to be changed as much as others, etc.
Variable naming/notation should be consistent across all optimisation methods (the learning rate decay section uses different variable names to all other sections).
Pseudocode notation should be consistent (spacing around “*”, variable names, more pseudocode like - less python-like, etc).
I feel that some of the main goals are not met. Specifically:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.