Assignment 1#113
Closed
tutoringjedi wants to merge 2 commits into
Closed
Conversation
|
Hello, thank you for your contribution. If you are a participant, please close this pull request and open it in your own forked repository instead of here. Please read the instructions on your onboarding Assignment Submission Guide more carefully. If you are not a participant, please give us up to 72 hours to review your PR. Alternatively, you can reach out to us directly to expedite the review process. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
Completing Assignment 1 and the three accompanying labs for the Deep Learning module:
digitsdataset, ran optimizer experiments (learning rate, momentum, Adam), and tested different weight initialization schemes (very small, very large, and all-zero) to see their effect on training.What did you learn from the changes you have made?
tanh/sigmoidnetwork — small weights barely move the gradient, while large weights saturate the activation — and all-zero initialization fails completely due to neuron symmetry that no optimizer (not even Adam) can break.y_pred - y_true) specifically requires a softmax output layer, and doesn't generalize to sigmoid outputs.digitsdataset — adding a second hidden layer made optimization harder (smaller gradients through an extra sigmoid layer) without buying any extra accuracy.Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
For the recommender system, I considered adding user/item bias terms to the dot-product model (a classic matrix-factorization-with-biases approach) as a lighter-weight alternative to the full MLP redesign. I went with the MLP version since it directly addresses the "add another layer"/"add dropout" exercise prompts, but the bias-term approach would be worth comparing in a follow-up.
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
.venv), which I resolved by making sure the notebook kernel pointed at the same environment where TensorFlow was actually installed.NeuralNetclass'sforward_outputcomment said to apply a sigmoid, but the providedgrad_lossgradient formula only holds for a softmax output — resolved by using softmax there and adding a comment explaining the mismatch.NameError/unclosed-parenthesis issue in a couple of the optimizer experiment cells in lab_1 from a missing closing)— fixed by balancing the parens.A reference to a related issue in your repository (if applicable)
N/A
Checklist