ML Lecture 1 Regression
training loss 都很高 -> underfitting->改善模型,增加features
training loss 很低但test loss 很高 -> overfitting -> more data,regularization
ML Lecture 9-1 Tips for training DNN
L2 regularization:
bias对平滑结果帮助不大,一般只对weight进行regularization。L2正则化出来的weights结果比较偏平均。
L1 regularization:
每次会减一个固定的值,所以让学习出来的结果很多接近0,呈现稀疏性sparse
人脑的weight decay:
dropout只在training使用,testing不用。
dropout的直觉理解:
dropout在test的时候,weights为什么需要乘(1 - dropout rate)(0.5)的解释:
如果直接test,结果会是原来的两倍。所以乘0.5
但是结果不乘0.5,也是work的
ML Lecture 10 Convolutional Neural Networks
CNN原本是梯度下降,找到一组权重,使得loss function达到minima。train是这样,train完之后,保持权重不要动,用梯度上升,找到一组x,使得这个x图像对应的权重是最被激活的,如下图:
得到的结果如下:
可以看到,这里找了12个image,这些image可以使得12个filter的激活值最大。我们可以认为CNN学习到的是image的纹理。且不同的filter分工不同,各自负责检测不同的条纹。
什么时候可以用CNN,如下:
一些特征在image中位于很小的位置。同样的模式还出现在不同区域。
ML Lecture 21-1 Recurrent Neural Networks
RNN:全是Linear层,store初始化为0,输入两个1,中间两个neural为2,output为4.其中中间两个2会被存进store。
第二次输入两个1,加上两个store的2,中间Linear层为两个6,最后输出为12。所以即使两次输入都一样,输出结果也不一样了。
LSTM,四个输入:模块input,input gate的control signal,output gate的control signal和forget gate的control signal。记忆比RNN要长一点,但是还是很short-term,所以叫long short-term memory。
输入经过sigmoid为g(z),input gate signal经过sigmoid为f(z),两者相乘得g(z)f(z),
同理,c与forget gate signal的输入相乘,最后两者相加,存到memory中,得到新的c,记为c’。注意forget gate名字有误导性,实际上forget gate打开时是记得,关闭时是遗忘。output gate控制memory能否输出。
例子如下:设x2的值是1,会将x1的值存入memory,x2的值是-1,会将x1的值清空,x3的值是1,则输出memory。
第二列,x2是1,所以把x1=3存入memory(第三列上),第四列x2=1,再把x1=4存入memory,memory=7了。看到第7列,x2=-1,所以memory清空。
细化成如下:(1是bias)
输入会连上权重操控这些gate:
ML Lecture 21-2 Recurrent Neural Networks part II
RNN与structure learning的对比:
GAN其实也是structure learning