-
Notifications
You must be signed in to change notification settings - Fork 0
Assignment 1
cqchu edited this page Jan 18, 2018
·
3 revisions
- 熟悉了python的基本使用,以及ML/NN常用的numpy函数(=>+<=);
- 对于一个公式的累积求和实现以及向量化实现有了自己的认识(以gradient为例):
- 累计求和式实现是对于每一个输入数据,计算其对gradient中每一维贡献了什么,累加此过程;
- 向量化是对于gradient中每一维,分析谁对其做出过贡献,写成一个由两个向量相乘的累加式,再分解回向量;
- 对于反向传播
- 不要害怕,一步一步踏踏实实的算;
- 不要在意矩阵对矩阵求导结果的维数形式,最终还是理解前向时哪些项对后面的哪些项有贡献,然后反向传播时能算出来那个数,维度也对的上就行;
- 如a = XW + b,则X是5x3的,W是3x10的,a是5x10的,则dLoss/da是5x10的,dLoss/dW是3x10的,显然从矩阵维度上3x10 = (3x5)x(5x10) = X.T x a,进行分析一下,发现确实是这样;
- 反向传播时有时很多都是矩阵间逐元素相乘,以使维度能够对应上;