![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
方法
一只tobey
中国,广州,从城中到乡下,再从乡下进城里,保持努力!
展开
-
非极大值抑制法(NMS,non-maximum suppression)
非极大值抑制法训练时(eg:输入600*1000的图像),如果anchor box的边界超过了图像边界,那这样的anchors对训练loss也不会产生影响,我们将超过边界的anchor舍弃不用。一幅600*1000的图像经过VGG16后大约为40*60,则此时的anchor数为40*60*9,约为20k个anchor boxes,再去除与边界相交的anchor boxes后,剩下约为6k...原创 2018-05-17 19:51:04 · 1085 阅读 · 0 评论 -
激活函数记录
tf.nn.softplus():输入是features log(exp(features) + 1)tf.nn.softsign():输入是features features / (abs(features) + 1)tf.nn.relu(): max(features, 0)tf.nn.relu6(): min(max(features, 0),6)tf.nn.sof...原创 2019-07-04 18:30:28 · 141 阅读 · 0 评论 -
关于Batch Normalization
参考相关文档:关于BN的讲解论文来自于下面的第二个[深度学习中 Batch Normalization为什么效果好?][《Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate Shift》阅读笔记与实现][从Bayesian角度浅析Batch Normalization...原创 2019-07-03 19:22:31 · 1047 阅读 · 0 评论 -
torch.nn.BCELoss()=F.binary_cross_entropy()
class BCELoss(_WeightedLoss): def __init__(self, weight=None, size_average=True, reduce=True): super(BCELoss, self).__init__(weight, size_average, reduce) def forward(self, input, ta...原创 2019-05-27 16:58:28 · 10927 阅读 · 1 评论 -
卷积相关问题
普通卷积问题:1.每次做卷积图像会缩小,可能最后1x1大小,可能不想在每次卷积或者识别其他特征时图像都缩小2.在角落或者边缘区域的像素点在输出中采用很少,意味着丢掉了图像边缘位置的许多信息解决:在运用卷积操作之前,先填充图像;这就是valid和same的卷积,valid模式不填充,same模式填充。也就是加入padding。卷积核一般都是奇数的原因:如果核是一个偶数,那么只...原创 2019-04-06 13:40:19 · 1063 阅读 · 0 评论 -
迁移学习
第一阶段:训练进行图像识别时,训练神经网络中所有的常用参数,就得到一个能够做图像识别的网络第二阶段:在训练完以上网络之后,要实现迁移学习,要做的就是把数据集换成新的X,Y对。现在把这些变成放射科图像,而Y是你想要预测的诊断。我们要做的就是吧最后一层权重随机初始化,然后在这个新的数据集上重新训练网络。若放射科图像数据集很小,则之重新训练最后一层的权重并保持其他参数不变;若有足够的数据,可...原创 2019-04-05 13:04:31 · 141 阅读 · 0 评论 -
通过观察不同集的误差来分析误差来源,方差问题,偏差问题,数据不匹配问题
通过分析这几个集的误差大小可以大致判断误差来源,其中针对偏差和方差的处理方法已经在我之前的博客里面有说明了。所以主要讲解数据不匹配问题。总而言之,遇到数据不匹配问题,做误差分析,对比训练集和开发集,试图找出这两个数据分布到底有什么不同,然后考虑是否有办法收集更多与开发集相似的数据做训练。对比和分析误差解决数据不匹配的方法...原创 2019-04-05 11:51:15 · 478 阅读 · 0 评论 -
使用droupout技术注意
droupout:是一种针对深度学习广泛应用的正则化技术。在每次迭代时随机关闭一些神经单元思想:每次迭代时都会训练一个只使用一部分神经元的不同模型,随着迭代的进行,由于其他神经元可能在任何时候都被关闭,因此神经元对其他特定神经元的激活变得不那么敏感。注意:1.只能在训练的时候使用随机清除神经元,不能在测试中或者验证中使用2.深度学习框架:tensorflow,paddlepaddle,...原创 2019-04-05 11:10:40 · 1878 阅读 · 0 评论 -
非线性激活函数的使用原因
解释一:如果是线性激活函数:输出y`是输入x的线性组合,那么无论神经网络有多少层,一直在做的只是计算线性激活函数,所以不如直接去掉全部隐含层。线性隐含层一点用都没有,因为两个线性函数的组合本身就是线性组合。所以除非引入非线性,那么无法计算更加有趣的函数,网络层数再多也不行。只有一个地方可以使用线性激活函数,就是如果要机器学习的就是回归问题,要预测的y是一个实值,比如房价从0到inf,那么用线性激活...原创 2019-04-05 10:32:46 · 817 阅读 · 0 评论 -
关于upsample和unpool,transpose convolution的比较
upsample一般指所有把图片从低分辨率变到高分辨率的方法。最简单的就是重采样和插值,将在每一个点上使用插值比如线性差值计算该点的值unpool一般指的是和pool相对应的,因为pool操作是不可逆的,但是我们可以得到一个近似的逆,具体就是在操作maxpool的时候记录最大值的位置,然后在unmaxpool的时候,在记录位置都是最大值,其他位置可以是0(常用的)或者采用插值方法计...原创 2019-04-04 21:25:00 · 1174 阅读 · 0 评论 -
Wasserstein距离(EM距离) 和 Lipschitz连续
参考文章:https://www.cnblogs.com/flyu6/p/7691118.html转载 2019-01-07 15:26:49 · 2182 阅读 · 0 评论 -
关于CNN中的maps
1.feature maps在每个卷积层,数据都是以三维形式存在的。你可以把它看成许多个二维图片叠在一起,其中每一个称为一个feature map。在输入层,如果是灰度图片,那就只有一个feature map;如果是彩色图片,一般就是3个feature map(红绿蓝)。层与层之间会有若干个卷积核(kernel),上一层和每个feature map跟每个卷积核做卷积,都会产生下一层的一个fea...原创 2018-07-18 15:50:01 · 3989 阅读 · 2 评论 -
dilated convolution and receptive field(2)
感受野的计算,这里特别注意是特例,那就是S=1,P=0的时候原创 2018-07-11 22:37:51 · 242 阅读 · 0 评论 -
dilated convolution and receptive field (1)
首先对空洞卷积的理解可参考:https://www.zhihu.com/question/54149221接下来是感受野的问题,如何计算这样就可以加深空理解dilated的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息下面是自己写的 ...原创 2018-07-11 22:35:07 · 282 阅读 · 0 评论 -
权重初始化的方法
在以往的文章里面,全连接层的权重我是给初始化成0的,但卷积层是初始化成正态分布。其实,权重初始化成0是一件很糟糕的事情。权重初始化全部为0就会造成网络对称问题,把这个结论推导到卷积层,自然结果也是一样,所以,把权重初始化为0是一件很笨的事情。为了克服这种现象,我们一般选择随机正态分布初始化权重,但是随机正态分布初始化的缺点就是初始化可能权重很小也可能很大。1.自编码器中的一种参数初始化方法...原创 2019-07-05 11:32:52 · 1783 阅读 · 0 评论