Deep Learning
OliverkingLi
耶耶
展开
-
keras训练浅层卷积网络并保存和加载模型
这里我们使用keras定义简单的神经网络全连接层训练MNIST数据集和cifar10数据集:keras_mnist.pyfrom sklearn.preprocessing import LabelBinarizerfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import class...原创 2018-07-24 15:44:20 · 1750 阅读 · 0 评论 -
讲讲我现在认识的anchor机制
一:出现 目标检测中anchor的使用兴起于Faster RCNN中,这拥有anchor-based方法在目标检测时代中的里程碑一般的重要意义。但其实主要是为了解决目标检测中目标的multi-scale和multi-aspect ratio。多多少少FPN也是解决这个问题的一个方法,不过显然anchor能让网络学得更好,现在一般都是结合anchor和FPN,比如Mask RCNN,Yolo ...原创 2019-07-16 23:21:04 · 1362 阅读 · 2 评论 -
梯度反向传播算法推导--mark一下
以下参考自:http://neuralnetworksanddeeplearning.com/chap2.html推导之前先介绍几个变量:表示连接第(l-1)层第k个神经元和第l层的第j个神经元的权重表示第l层的第j个神经元的偏置表示第l层的第j个神经元的激活函数表示第l层的权重矩阵表示第l层的偏置矩阵表示第l层的激活函数矩阵表示第l层的输入表示...原创 2019-07-16 11:51:43 · 671 阅读 · 1 评论 -
Batch Normalization在测试和训练阶段的不同
关于BN的具体定义可以看看论文:Batch Normalization:Accelerating Deep Network Training by Reducing Internal Covariate ShiftBN在训练阶段是保持计算每一个Batch的均值和方差的,其计算算法:但是我们知道在训练过程中有很多的batch,怎么保证在训练和测试阶段的batch参数保持一致呢?其实就...原创 2019-07-15 15:23:33 · 12493 阅读 · 6 评论 -
resnet再理解
之前看来resnet也用了好久,从很多次实验中确实看出resnet的威力真的强。很多网络在同样的条件下,resnet都要胜出一筹,而且是用kaiming he提出的identity结构,也验证了奥卡姆剃刀原则,to make things as simple as possible but not simpler。不过正如深度学习被誉为黑盒子一样,实在难以理解why?why?why?为什么...原创 2019-02-20 13:44:16 · 553 阅读 · 0 评论 -
卷积神经网络时间空间复杂度计算
有点懒,不想写字<>)),转自极客blog:转载 2018-11-19 09:34:10 · 2408 阅读 · 1 评论 -
深度学习图像卷积后的尺寸计算公式
假设图像大小为N*N矩阵卷积核的尺寸为K*K矩阵卷积的方式(边缘像素填充方式):P卷积的步伐为S*S那么经过一层这样的卷积后出来的图像为:最后得到的输出即为N*N大小图像。这里mark一下,有时候会一时想不起来手推浪费时间。...原创 2018-08-28 09:44:55 · 7665 阅读 · 0 评论 -
keras跟踪模型训练过程和训练过程有选择保存模型
一般我们训练深度学习模型都是等训练完成后才能查看loss acc等这些指标,然而当我们模型设计并不正确或者出现了过拟合甚至于数据拟合出现了很严重错误,但是在训练很深的网络的时候一般都要等上好久,我就遇到过用RestNet50训练100张图跑了三四天。这时候我们该浪费时间继续train呢还是等指标出来再判断,我们都不知道。庆幸的是现在我们用keras可以随时监督训练的过程,一旦训练出现了问题可以随时...原创 2018-07-26 10:48:50 · 6156 阅读 · 6 评论 -
神经网络实现基本的与或异或逻辑
平时计算机领域的OR AND XOR逻辑问题就不去详说,大家都有学习过。基本的逻辑图如下:最开始神经网络解决线性可分问题给它带来了一次小高峰,但是在几年之后一个学者提出了XOR非线性问题的时候,并且专门写了一篇论文论述神经网络对非线性问题求解的无能为力直接给当年的神经网络的发展带来了寒冰时代。直到十几年后,多层网络的出现,也就是俗称的MLP(Multiply layer percept...原创 2018-07-20 18:10:50 · 11669 阅读 · 3 评论 -
keras实现简略版的VGGNet并加入可调整的学习率fine tuning
VGGNet的原理部分就不细说了,具体可以看原作者paper:Very Deep Learning Convolutional Neural Networks for Large-Scale Image Recognition。这里使用小数据集去训练,因此就是用简略版的VGGNet去实现VGG思想,使用3x3的卷积核去迭代组合形成更深的网络结构。这个实现:CONV => RELU =...原创 2018-07-25 15:59:32 · 2637 阅读 · 1 评论 -
keras实现Lenet-5
关于lenet-5网络模型原理可以参考我的另一篇博客:lenet-5这里就放两张图:lent-5主要的结构每一层对应的参数细节:然后我们使用keras定义lenet-5网络结构,这里使用一个python文件定义成类然后包装成module:lenet.pyfrom keras.models import Sequentialfrom keras.layers.co...原创 2018-07-24 17:54:20 · 4272 阅读 · 1 评论 -
感受野的计算
一:回顾CNN其中大家常见到的CNN运算原理应该就是下面这张图了卷积本质就是kernel覆盖区域和kernel对应点乘,然后加和,最后每个单独维度的kernel的值加和,如果有bias再加上bias就得到这个filter的对应位置的feature map的值。这里揭开我之前的疑惑就是,同一个filter不同维度的filter'上的值是不同的,然后不同的filter也是不同值得。...原创 2019-07-19 20:42:06 · 890 阅读 · 0 评论