论文笔记1 经典网络骨架模型

1 网络
1.1 AlexNet
1.1.1 局部响应归一化层(lrn层)

lrn公式:用a除以临近卷积核在对应位置提取到的特征之和
b x , y i = a x , y i / ( k + α ∗ ∑ j = m a x ( 0 , i − n / 2 ) m i n ( N − 1 , i + n / 2 ) ( a x , y j ) 2 ) β b_{x,y}^{i} = a_{x,y}^{i}/\left ( k+\alpha *\sum_{j=max(0,i-n/2)}^{min(N-1,i+n/2)} (a_{x,y}^{j})^{2} \right )^{\beta} bx,yi=ax,yi/k+αj=max(0,in/2)min(N1,i+n/2)(ax,yj)2β
i表示第i个核在位置(x,y)运用激活函数ReLU后的输出,n是同一位置上临近的kernal map的数目,N是kernal的总数参数,K,n,alpha,belta都是超参数,一般设置k=2,n=5,aloha=1*e-4,beta=0.75

lrn层的解析:抑制相邻神经元,平滑图像,增强泛化能力,后来被更有说服力的BN取代.
[1] 深度学习的局部响应归一化LRN(Local Response Normalization)理解
[2] LRN ( Local Response Normalization) 局部响应归一化层
[3] 如何区分并记住常见的几种 Normalization 算法

1.5 DenseNet
1.5.1 和ResNet区别

DenseNet拼接不同层的特征图(torch.cat([x, new_features], 1)),而ResNet直接元素相加.

1.5.2 DenseNet的concat操作

对图像分布信息更匹配(而ResNet更通用化),但也正是因为不断地concat容易造成显存过大,它没有流行起来,也因此它的场景更适合分辨率低的图像

参考: DenseNet

2 实践部分
2.1.1 np和tf的api使用

(1) 总的通道数目(它是人为设置的数目):单个卷积核和输入图像的通道数相等, 参考: 【CNN】理解卷积神经网络中的通道 channel
(2) tf.nn.max_pool中stride的参数:A 4-dim tensor has shape [batch, height, width,channel],第一个为批量数(图片数目),第四个参数为通道数目(RGB为三个通道),常常是处理一张图片一个通道,所以这两个参数常常设置为1
github issues解决方案
(3) np中clip(x, a_min, a_max)中,把若x<a_min就x=a_min,若x>a_max就x=a_max
(4) Dataset.map(f), f传进和返回的都是单个元素的tf.tensor对象
(5) prefetch预先载入元素放到缓存中减少等待
(6) tf.cast把图像数据转化为float32(一般情况下)
(7) tf.argmax(input, 1), 返回最大值的索引(1为行,0为列)
(8) np.floor把小数返回到它们接近的最大整数
(9) tf.expand_dims(t, n)增加一维度, n为位置,
(10) tf.concat(),维度越高括号越小,拼接哪个维度就是拿掉哪个维度的括号
参考: tf.concat()详解

2.1.2 torch的api使用

(1) torch是以[n, c, h, w]保存图片的
(2) torch.cat([A, B], n), n为按第n个维度拼接

2.2 常见bug

(1) 解决No module named 'tensorflow.data
(2) shape注意检查,(如图像的resize,通道数目)

2.3 微调和预训练

(1) 预训练: 就是在之前训练的模型基础上再训练,网络每一层都会训练
(2) 微调: 训练后面几层(如全连接层)

参考: 预训练与微调(fine tuning)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值