![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
XYZ_916
study all the time
展开
-
深度学习过拟合
过拟合是深度学习中十分常见的问题,一个模型如果过拟合了就无法很好的适用于实际的业务场景中。防止过拟合的方法:(1)引入正则化(2)dropout(3)提前终止训练(4)增加样本量下面一一作出详细的介绍:正则化模型过拟合极有可能是模型过于复杂造成的。模型在训练的时候,在对损失函数进行最小化的同时,也需要对参数添加限制,这个限制也就是正则化惩罚项。 假设模型的损失函数为:加入正则项 L 后,损失函数为...转载 2018-02-10 09:37:09 · 706 阅读 · 0 评论 -
TextBoxes++
TextBoxes++是基于SSD和TextBoxes的。论文:https://arxiv.org/pdf/1801.02765.pdf前言文本检测和其他物体检测的区别:(1) 文本检测有比较大的长宽比;(2) 一半的convolutional filter无法全部检测到;可能的解决方案:(1) 长的卷积核;(2) inception convolutional kernels;(3) part ...转载 2018-03-13 08:49:58 · 6253 阅读 · 0 评论 -
训练深度神经网络
1.训练数据(1)数据量越大越好,模型泛化能力越强;(2)去除损坏的训练样本;(3)数据扩张(Data Augmentation)--拿图像为例,通过翻转、模糊等操作生成新的样例。2.选择恰当的激励函数(Activation Function)激励函数是神经网络的核心部分之一。激励函数将模型非线性(none-linearity)化。之前的神经网络大多选用Sigmoid函数作为激励函数,但是Sigm...原创 2018-03-06 10:06:51 · 796 阅读 · 0 评论 -
深度学习训练算法
越复杂的神经网络 , 越多的数据 , 我们需要在训练神经网络的过程上花费的时间也就越多. 原因很简单, 就是因为计算量太大了. 可是往往有时候为了解决复杂的问题, 复杂的结构和大数据又是不能避免的, 所以我们需要寻找一些方法, 让神经网络训练快起来。Stochastic Gradient Descent (SGD)上图中红色方块是我们要训练的 data, 如果用普通的训练方法, 就需要重复不断的把...原创 2018-03-06 11:48:55 · 5188 阅读 · 0 评论 -
Batch Normalization
Batch Normalization(批量标准化)是有google提出的一种训练优化方法,参考论文:Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate Shift 。神经网络学习过程本质就是为了学习数据分布,一旦训练数据和测试数据的分布不同,那么网络的泛化能力也就大大降低;另一...转载 2018-04-27 09:04:50 · 192 阅读 · 0 评论 -
生成式对抗网络GAN
生成模型 G 捕捉样本数据的分布,用服从某一分布(均匀分布,高斯分布等)的噪声 z 生成一个类似真实训练数据的样本,追求效果是越像真实样本越好;判别模型 D 是一个二分类器,估计一个样本来自于训练数据(而非生成数据)的概率,如果样本来自于真实的训练数据,D 输出大概率,否则,D 输出小概率。判别模型的目标函数如下:假设我们的生成模型是g(z),其中z是一个随机噪声,而g将这个随机噪声转化为数据类型...转载 2018-05-23 20:26:21 · 434 阅读 · 0 评论 -
Inception
Inception V1模型 Inception v1的网络,将1x1,3x3,5x5的conv和3x3的pooling,堆叠在一起,一方面增加了网络的width,另一方面增加了网络对尺度的适应性:所有的卷积核都在上一层的所有输出上来做,那5×5的卷积核所需的计算量就太大了,造成了特征图厚度很大。为了避免这一现象提出的inception具有如下结构,在3x3前,5x5前,max poo...转载 2018-08-01 15:14:39 · 874 阅读 · 0 评论 -
ResNet
网络结构:在计算机视觉里,特征的“等级”随增网络深度的加深而变高,研究表明,网络的深度是实现好的效果的重要因素。然而梯度弥散/爆炸成为训练深层次的网络的障碍,导致无法收敛。有一些方法可以弥补,如归一初始化,各层输入归一化,使得可以收敛的网络的深度提升为原来的十倍。然而,虽然收敛了,但网络却开始退化了,即增加网络层数却导致更大的误差, 如下图。 这种deep plain net收敛率十分低...转载 2018-08-01 15:25:36 · 316 阅读 · 0 评论 -
SegLink
【CVPR2017】Detecting Oriented Text in Natural Images by link Segments原文链接:https://arxiv.org/pdf/1703.06520.pdfSegLink是一个改进版的SSD,用来解决多方向的文字检测问题。piplineStep1将图像输入到SSD网络,同时输出两类信息:(1) text的box信息。该box是多方向的,...转载 2018-03-12 11:24:34 · 2609 阅读 · 0 评论 -
CTPN
文本检测的其中一个难点就在于文本行的长度变化是非常剧烈的。因此如果是采用基于faster rcnn等通用物体检测框架的算法都会面临怎么生成好的text proposal的问题。论文Detecting Text in Natural Image with Connectionist Text Proposal Network提供了另外一个思路,检测一个一个小的,固定宽度的文本段,然后再后处理部分再将...转载 2018-03-11 23:00:04 · 7955 阅读 · 2 评论 -
CRNN--文本识别
CRNN是 Convolutional Recurrent Neural Network的缩写,是一种端到端的文字识别的网络。原文链接:https://arxiv.org/pdf/1507.05717v1.pdfCRNN由CNN+BiLSTM+CTC构成:网络结构:网络结构综合了CNN+RNN(1)其中Max pooling中的窗口大小为1*2,保证提出的特征具有横向的长度,有利于识别较长的文本;...原创 2018-03-11 12:37:50 · 16387 阅读 · 8 评论 -
深度学习样本不均衡问题解决
在深度学习中,样本不均衡是指不同类别的数据量差别较大,利用不均衡样本训练出来的模型泛化能力差并且容易发生过拟合。对不平衡样本的处理手段主要分为两大类:数据层面 (简单粗暴)、算法层面 (复杂) 。数据层面采样(Sample)数据重采样:上采样或者下采样 上采样下采样使用情况数据不足时数据充足 (支撑得起你的浪费)数据集变化增加间接减少(量大类被截流了)具体手段大量复制量少类样本批处理训练时,控制从...原创 2018-02-11 11:04:35 · 21959 阅读 · 0 评论 -
Ubuntu配置caffe
Ubuntu是以桌为主面应用的Linux发行版。本人使用Ubuntu 16.04.3版本。可通过以下命令查看本机Ubuntu的内核版本和发行版本号。cat /etc/issue输出如下:Ubuntu 16.04.3 LTS \n \l本人显卡:TITAN XpNVIDIA Titan Xp显卡驱动和CUDA安装本人安装CUDA Toolkit 9.0版本。下载链接:https://develope...原创 2018-02-14 17:46:08 · 506 阅读 · 0 评论 -
py-faster-rcnn 环境配置
1、下载py-faster-rcnngit clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git 2、进入py-faster-rcnn/lib,执行makecd ~/py-faster-rcnn/libmake3、进入py-faster-rcnn\caffe-fast-rcnn,修改Makefile.config文...原创 2018-02-15 10:26:53 · 704 阅读 · 0 评论 -
ROI pooling
目标检测通常分为两个阶段:(1)region proposal:给定一张图片,找出目标可能存在的位置。该阶段输出为一系列目标可能存在的位置的bounding box。这些bounding box通常被称为region proposals或者regions of interest (ROI)。(2) final classification:确定上一阶段的每个region proposal是否属于目...转载 2018-03-08 09:35:53 · 318 阅读 · 0 评论 -
深度学习目标检测
在深度学习出现之前,传统的目标检测方法大概分为区域选择(滑窗)、特征提取(SIFT、HOG等)、分类器(SVM、Adaboost等)三个部分,其主要问题有两方面:一方面滑窗选择策略没有针对性、时间复杂度高,窗口冗余;另一方面手工设计的特征鲁棒性较差。自深度学习出现之后,目标检测取得了巨大的突破,最瞩目的两个方向有:1 以RCNN为代表的基于Region Proposal的深度学习目标检测算法(RC...原创 2018-02-20 21:23:20 · 3336 阅读 · 0 评论 -
反向传播
反向传播(back propagation)是多层神经网络的训练中举足轻重的算法,简单理解就是复合函数的链式法则。目标:给出输入数据i1,i2(0.05和0.10),使输出尽可能与原始输出o1,o2(0.01和0.99)接近。Step 1 前向传播 1.输入层---->隐含层: 计算神经元h1的输入加权和:神经元h1的输出o1:(此处用到激活函数为sigmoid函数): 同理,可计...原创 2018-02-20 21:58:54 · 678 阅读 · 1 评论 -
caffe fine-tuning 图像分类
fine-tuning流程:1、准备数据集(包括训练、验证、测试);2、数据转换和数据集的均值文件生成;3、修改网络输出类别和最后一层的网络名称,加大最后一层参数的学习速率,调整solver的配置参数;4、加载预训练模型的参数,启动训练;5、选取图片进行测试。准备数据集将图像整理到对应的文件夹中,对应的ground-truth放到对应的txt文件中。把自己的数据集划分为训练集、验证集和测试集三个集...原创 2018-03-01 19:35:33 · 996 阅读 · 0 评论 -
深度学习中的trick
下面浅谈深度学习中的技巧。学习率(learning rate)学习率的设置应该随着迭代次数的增加而减小,每迭代完指定次epoch也就是对整个数据过一遍,然后对学习率进行变化,这样能够保证每个样本得到公平的对待。卷积神经网络CNN中的技巧CNN中将一个大尺寸的卷积核分解成多层的小尺寸的卷积核或者分解成多层的一维卷积,这样能够减少参数并增加非线性。CNN中的网络设计应该逐渐减少图像尺寸,同时增加通道数...原创 2018-03-01 21:49:20 · 10519 阅读 · 0 评论 -
Mask R-CNN
1.整体框架Mask R-CNN在Faster R-CNN的CNN特征提取层后增加了一个全卷积网络(Fully Convolutional Network, FCN)用于生成mask(分割结果)。作者在文中提到,backbone选用ResNet-FPN得到的性能最佳。2. RoIAlign2.1 RoIPooling局限性分析在两极目标检测框架中,ROIPooling的作用...转载 2019-05-04 15:47:52 · 522 阅读 · 0 评论