这篇主要记录学习途中遇到的问题及解决方法。相关学习笔记见https://www.cnblogs.com/guohaoblog/p/12306118.html
1、线性回归
问题来源:https://pytorch.org/docs/stable/notes/broadcasting.html
答:如果Pytorch张良满足以下条件,那么就可以广播
1)每个张量至少有一个维度
2)在遍历维度大小时,从尾部维度开始遍历,并且二者维度必须相等,他们其中一个要么是1要么不存在。
对比上面个的倒数一二两例子。
2、Softmax与分类模型
答:softmax化简过程中,会减去最大项,避免因运算过大导致上溢出或下溢出,解决办法可参考笔记https://www.cnblogs.com/guohaoblog/p/12306118.html
拓展:试着比较SVM和softmax的区别和联系。
3、多层感知机
答:256*256的图片总共有256*256=65536个元素,与隐层单元元素两两相乘,得到65536*1000,然后隐层单元元素分别于输出类别个数两两相乘,即1000*10,最后两者相加得:
65536*1000 + 1000*10 = 65546000
第二个选项说的欠妥,二者有因果关系?? 从形式上看,tanh确实可以由sigmoid平移伸缩得到,tanh的取值范围(-1,1),sigmoid的取值范围是(0,1),与sigmoid的区别是,tanh是0均值的,因此实际应用中tanh会比sigmoid更好。具体使用得看应用场景。第三个问题在于Relu函数也会出现梯度消失问题,没有哪个激活函数能够防止梯度消失问题的,只是ReLU能够有效地改善,工程实践中用的最多。
4、循环神经网络基础
第二项理论上是这样的,具体时间中还得考虑其他外在因素,比如效率等等,往理论值方向靠近即可。
以上是小组学习过程中遇到的问题,至于代码层面的,大家基本百度都能解决,细节太多就不罗列啦。欢迎提出意见~