CS224n (Spring 2017) assignment 1-----2. Neural Network Basics
2018-03-05 13:04
561 查看
注:这里的x是scalar, vector稍微复杂一些。
第二种做法:
注:注意求导的时候jacobian的维度,第一次就是把维度搞错了(因为这里两个维度都是C * C), 所以导致算了很久的结果。
Tensor求导可参考:
http://cs231n.stanford.edu/handouts/derivatives.pdf
注:这里存在一个问题,sigmoid_grad(s) 当s是一个向量或者是矩阵的时候,求导应该是一个jacobian, 而代码里没有求jacaobian, 只是在原有s的基础上求了导,ds与s维度相同。那么在反向传播运用链式法则的时候是怎么保证维度统一的呢?如下图,当s是一个vector时,ds的应该是一个n*n的对角矩阵:
这个问题是怎么解决的呢?以2.c为例,如下图:
cs231n那个derivative的文章处理的是线性函数的情况,这里处理的是sigmoid,都是不用求jacobian的,求jacobian太占内存。
注:这里是按照每个维度来验证的。
注:(1)注意每个变量的维度,先把握好维度,然后再dot相乘,另外dot要根据实际的维度来写变量相乘的顺序,系统不会自动调整顺序,否则报错。
(2)红框中的计算cost的算法正确,上边注释的不正确。
(3)注意sigmoid_grad()要传入的是sigmoid的结果,而不是变量。
相关文章推荐
- CS224d assignment 1【Neural Network Basics】
- CS224n (Spring 2017) assignment 3-----2. RNN for NER
- CS224n (Spring 2017) assignment 2-----3. RNN: Language Modeling
- CS224n (Spring 2017) assignment 1-----3. word2vec
- CS224n (Spring 2017) assignment 1-----4. Sentiment Analysis
- CS224n (Spring 2017) assignment 2-----1. Tensorflow Softmax
- CS224n (Spring 2017) assignment 2-----2. Neural Transition-Based Dependency Parsing
- CS224n (Spring 2017) assignment 1-----1. Softmax
- CS224n (Spring 2017) assignment 3-----1. A window into NER
- 论文阅读(Xiang Bai——【PAMI2017】An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition)
- MATLAB Code of SOM Neural Network Based Method for Task Assignment
- 神经网络编程基础(Basics Of Neural Network Programming)
- [CS231n@Stanford] Assignment1-Q4 (python) Two layer neural network实现
- coursera 吴恩达 -- 第一课 神经网络和深度学习 :第二周课后习题 Neural Network Basics Quiz, 10 questions
- [coursera/SequenceModels/week1]Building a Recurrent Neural Network - Step by Step - v3[assignment]
- Assignment | 01-week2 -Logistic Regression with a Neural Network mindset
- Assignment | 05-week1 -Building your Recurrent Neural Network - Step by Step
- Assignment | 01-week4 -Building your Deep Neural Network: Step by Step_part_1
- [coursera/dl&nn/week2]Basics of Neural Network programming(2.2 py & Vectorization)
- CS231n: Convolutional Neural Networks for Visual Recognition Spring 2017学习记录(更新中)