Task06、Task07、Task08

协方差偏移是指测试时输入与原来训练集的特征有差异;
标签偏移是指测试集出现了训练集中没有的类;
概念偏移是指同一个东西不同的叫法,好比可乐,中国人叫可乐,外国人叫drink。
个人理解的卷积其实就是将许多部分的信息进行压缩,在过大维度矩阵的情况下,因为存在过多的信息,第一是为运算上带来了很多麻烦,第二是类似拿着显微镜看一幅画,难以捕捉其整体的信息。通过互相关运算将画拿远,慢慢感受他整体的信息。所以应该在卷积神经网络中把大矩阵缩小多少次,缩小到什么程度应该是个相当关键的问题。只有在能看清具体信息但又能把握整体信息的情况下,才能得到对图像更清楚地把握。
通过感受野这个概念能发现,经过互相关运算或者卷积运算之后的矩阵,应该每个位置都综合了之前感受野中的信息,所以某种意义上其实它们就是这个图片的特征。
第三个问题在 padding上,通过讲解大概理解是,padding的作用有1、保护边缘信息。2、控制输入输出维数相同。3、类似语言模型中对不满足规定大小的图片的补充。
第四个问题是步幅,我认为的步幅的作用是避免图像中间的信息过于频繁的被利用从而对图像中间信息关注过高,同时也是减小运算复杂程度的方法。但这个真的只是出于个人猜测2333 求大佬详解

`网络(net):
#net
class Flatten(torch.nn.Module): #展平操作
def forward(self, x):
return x.view(x.shape[0], -1)

class Reshape(torch.nn.Module): #将图像大小重定型
def forward(self, x):
return x.view(-1,1,28,28) #(B x C x H x W)

net = torch.nn.Sequential( #Lelet
Reshape(),
nn.Conv2d(in_channels=1, out_channels=6, kernel_size=5, padding=2), #b12828 =>b62828
nn.Sigmoid(),
nn.AvgPool2d(kernel_size=2, stride=2), #b62828 =>b61414
nn.Conv2d(in_channels=6, out_channels=16, kernel_size=5), #b61414 =>b161010
nn.Sigmoid(),
nn.AvgPool2d(kernel_size=2, stride=2), #b161010 => b1655
Flatten(), #b1655 => b400
nn.Linear(in_features=1655, out_features=120),
nn.Sigmoid(),
nn.Linear(120, 84),
nn.Sigmoid(),
nn.Linear(84, 10)
)`

nn. BatchNorm2d()表示卷积层的BN,参数为通道数。 nn. BatchNorm1d()表示全连接层的BN ,参数为输出神经元个数。
拉伸参数和偏移参数为可学习参数。
网络达到一定深度后再一味地增加层数反而会招致网络收敛变得更慢,准确率变得更差。
尽管优化方法可以最小化深度学习中的损失函数值,但本质上优化方法达到的目标与深度学习的目标并不相同。优化方法的目标是最小化训练集损失函数值,深度学习的目标是最小化测试集损失函数值.
鞍点是对所有自变量一阶偏导数都为0 ,且Hessian矩阵特征值有正有负的点。
有限制条件的优化问题可以用拉格朗日乘子法,添加惩罚项,投影法解决。
梯度下降是沿着梯度的反方向移动自变量从而减小函数值的。

梯度下降学习率既不能太大,也不能太小,太大则容易跳过模型取得最小值点,太小模型训练时间过长。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值