![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
难啃的深度学习
文章平均质量分 59
一块硬骨头哈哈
浪子私房菜
这个作者很懒,什么都没留下…
展开
-
Face Detection Prediction Module
人脸检测预测模块原创 2023-03-02 14:26:40 · 325 阅读 · 0 评论 -
YOLO-FaceV2学习
人脸检测转载 2023-03-01 19:53:42 · 319 阅读 · 0 评论 -
ACNet:用于图像超分的非对称卷积(附实现code)
不一样的卷积方式原创 2022-07-13 15:50:18 · 764 阅读 · 0 评论 -
DeformConv
DeformConv原创 2022-06-16 09:46:26 · 820 阅读 · 0 评论 -
多类分类和多标签分类
使用softmax 和sigmoid 激活函数来做多类分类和多标签分类在实际应用中,一般将softmax用作多分类中, sigmoid用作多标签分类中,在图像处理领域中,网络模型抽取图像特征的结构结构基本相同,只是根据不同的任务改变全连接层最后的输出层。softmax激活函数应用于多类分类假设神经网络模型的最后一层的全连接层输出的是一维向量logits=[1,2,3,4,5,6,7,8,9,10],这里假设总共类别数量为10,使用softmax分类器完成多类分类问题,并将损失函数设置为categori原创 2022-03-06 17:33:55 · 789 阅读 · 1 评论 -
CV中的transformer模型创新思路总结
前言:本文回顾了ViT的结构,总结了计算机视觉中的transformer的主要改进思路:改进分块,改进位置编码,改进Encoder,增加Decoder。每个思路下都介绍了相关的论文,介绍了这些论文的提出出发点和改进思路。本文的目的不在于介绍transformer现在有哪些模型,而在于学习借鉴别人发现问题并改进的思路,从而在自己方向上提出合适且合理的改进。VIT回顾在讲计算机视觉中transformer的模型创新总结之前,先有必要对它整体模型进行回顾。在本文选取了最常用的ViT。如图所示,.原创 2022-02-26 12:34:53 · 4260 阅读 · 1 评论 -
SE-Attention
SENetJie Hu, Li Shen, Gang Sun摘要卷积神经网络顾名思义就是依赖卷积操作,使用局部感受区域(local receptive field)的思想融合空间信息和通道信息来提取包含信息的特征。有很多工作从增强空间维度编码的角度来提升网络的表示能力,本文主要聚焦于通道维度,并提出一种新的结构单元——“Squeeze-and-Excitation(SE)”单元,对通道间的依赖关系进行建模,可以自适应的调整各通道的特征响应值。如果将SE block添加到之前的先进网络中,只会增加很小的原创 2021-09-21 17:12:47 · 3815 阅读 · 1 评论 -
为什么目前感觉大多数论文还是以resnet为主干网络而不是densenet?
因为不像resnet那样简洁吧,但是理论贡献是绝对的。万法归宗,啥都是dense connect。shortcut ,fpn,aspp,unet++ 都是,只是dense的程度不一样而已。**训练一个完全dense的网络,然后在上面剪枝才是最好的方法,unet++如是说。首先谈这两个之间的区别和联系,DenseNet和ResNet都是基于分类任务提出来的网络模型架构,架构思想也基本一致,既从小模块堆积到layer,再堆积layer到网络。现如今的检测和分割模型都是基于分类的模型来做backb原创 2021-08-05 16:47:35 · 940 阅读 · 1 评论 -
20神经网络训练过程中不收敛或者训练失败的原因07-11
导读本文从数据与标签、模型以及如何通过train loss与test loss分析网络当下的状况三个大方面去总结了神经网络训练过程中不收敛或者训练失败的原因。在面对模型不收敛的时候,首先要保证训练的次数够多。在训练过程中,loss并不是一直在下降,准确率一直在提升的,会有一些震荡存在。只要总体趋势是在收敛就行。若训练次数够多(一般上千次,上万次,或者几十个epoch)没收敛,再考虑采取措施解决。一、数据与标签1、没有对数据进行预处理。数据分类标注是否准确?数据是否干净?2、没有对数据进行归一原创 2021-07-11 14:22:33 · 1760 阅读 · 0 评论 -
self-Attention起源
self Attention自注意力机制,通过计算两两之间的相似度,然后更新根据相似度更新特征,达到特征增强的作用。 具体的,QKV是F的一种线性变换,自注意力机制可以如下形式:Sefl-attention为了表达简单,我们把 self-attention 可以简记为下面公式(3) 和 公式(4) 所示,简记的 self-attention。External Attention对于(3)(4)我们可以认为只是F对F的注意力,也就是self Attention.这种注意力是非常有效的,但是也有原创 2021-06-14 15:30:02 · 538 阅读 · 0 评论 -
激活函数、损失函数和优化函数的比较
激活函数:将神经网络上一层的输入,经过神经网络层的非线性变换转换后,通过激活函数,得到输出。常见的激活函数包括:sigmoid, tanh, relu等。损失函数:度量神经网络的输出的预测值,与实际值之间的差距的一种方式。常见的损失函数包括:最小二乘损失函数、交叉熵损失函数、回归中使用的smooth L1损失函数等。优化函数:也就是如何把损失值从神经网络的最外层传递到最前面。如最基础的梯度下降算法,随机梯度下降算法,批量梯度下降算法,带动量的梯度下降算法,Adagrad,Adadelta,Adam等。原创 2021-04-02 16:13:46 · 614 阅读 · 0 评论 -
BN的原理
一、BN算法概念传统的神经网络,只是在将样本x输入到输入层之前对x进行标准化处理,以降低样本间的差异性。BN是在此基础上,不仅仅只对输入层的输入数据x进行标准化,还对每个隐藏层的输入进行标准化。(那为什么需要对每个隐藏层的输入进行标准化呢?或者说这样做有什么好处呢?这就牵涉到一个Covariate Shift问题)二、Covariate Shift问题Convariate shift是BN论文作者提出来的概念,指的是具有不同分布的输入值对深度网络学习的影响。当神经网络的输入值的分布不同时,我们可以理原创 2021-03-26 09:00:49 · 1529 阅读 · 0 评论 -
语义分割图像增强新方法
最近在日常挖坑中发现了另一种简单有效数据扩充方法,将其分享使用。 之前都是利用opencv自己编写代码进行图像的翻转、旋转角度,裁剪、亮度变化等等操作。对于语义分割任务来说,一种有效的提升性能的办法就是对现有数据进行增强,扩充现有数据的多样性。在图像的深度学习中,为了丰富图像训练集,更好的提取图像特征,泛化模型(防止模型过拟合),一般都会对数据图像进行数据增强。数据增强,常用的方式,就是旋转图像,剪切图像,改变图像色差,扭曲图像特征,改变图像尺寸大小,增强图像噪音(一般使用高斯噪音,盐椒噪音)等。但是原创 2021-03-16 08:32:56 · 2845 阅读 · 10 评论 -
深度可分离卷积与普通卷积对比
学习链接:1、https://zengwenqi.blog.csdn.net/article/details/103384367?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMa原创 2021-03-10 22:16:46 · 1986 阅读 · 0 评论 -
深度学习提高trick小技巧
在深度学习中,同一个模型使用不同方式的初始化,比如:数据预处理,batch_size, 学习率, 不同的优化器都能得到不同性能的参数。学习率学习率的设置应该随着迭代次数的增加而减小,每迭代完指定次epoch也就是对整个数据过一遍,然后对学习率进行变化,这样能够保证每个样本得到公平的对待。使用动态的学习率有助于加速收敛,在更少的epoch里得到更好的模型精度。1、代码链接:pytorch版本:https://github.com/anandsaha/pytorch.cyclic.learning.r原创 2021-03-08 11:00:44 · 1525 阅读 · 0 评论 -
深度学习中的正则化
过拟合概念: 过拟合是指学习时选择的模型的参数过多,使得结果在训练集上表现的好,但是在测试集上表现的很差的现象。过拟合是由模型和数据两方面因素导致的,解决过拟合的措施时无线的增大训练集的大小。但是这项工作将耗费人力和物力,所以我们比较常用的方法是正则化。正则化在《Deep Learning》书中定义正则化为“对学习算法的修改——旨在减少泛化误差而不是训练误差”,《统计学习方法》中认为正则化是选择模型的一种方法。我个人比较倾向于后一种解释。在上一篇博客也提到了,模型可以看成是一个高维函数,当模型参数确定原创 2021-03-05 09:33:48 · 404 阅读 · 1 评论 -
python numpy之argmax()方法理解
1、numpy之argmax()作用返回相应维度axis上的最大值的位置。2、具体应用深度学习图像分割多分类最后是softmax得分结果,我们需要将这个浮点型的结果保存成整型的标签图像,这样才算完成图像分割。softmax结果转成标签的过程就需要numpy的argmax()方法。来一个具体案例,假设我们的softmax输出的得分结果是(2,2,3)的矩阵,如下图,2行2列的图像,里面有3个类别。那么我们要转化成对应的标签应该是我们来看看numpy的argmax是怎么工作的。首先需要说明一点原创 2020-12-31 11:09:46 · 2554 阅读 · 0 评论 -
理解LSTM神经网络
递归神经网络前言在传统神经网络中,模型不会关注上一时刻的处理会有什么信息可以用于下一时刻,每一次都只会关注当前时刻的处理。举个例子来说,我们想对一部影片中每一刻出现的事件进行分类,如果我们知道电影前面的事件信息,那么对当前时刻事件的分类就会非常容易。实际上,传统神经网络没有记忆功能,所以它对每一刻出现的事件进行分类时不会用到影片已经出现的信息,那么有什么方法可以让神经网络能够记住这些信息呢?答案就是Recurrent Neural Networks(RNNs)递归神经网络。递归神经网络的结果与传统神经原创 2020-11-29 21:39:39 · 606 阅读 · 0 评论 -
tf.summary.image()讲解
tf.summary.image()f.summary.image(name,tensor,max_outputs=3,collections=None,family=None)用来输出Summary的图像。参数为:name:节点的名字,也就是在tensorboard上面会显示的名字。tensor:格式必须是四维的[batch_size,height, width, channels],对于channels:channels=1为灰度图像channels=3为RGB图像chan原创 2020-10-29 16:58:08 · 2271 阅读 · 0 评论 -
tensorflow 学习笔记使用CNN做英文文本分类任务
使用CNN做英文文本分类任务本文同时也是学习唐宇迪老师深度学习课程的一些理解与记录。文中代码是实现在TensorFlow下使用卷积神经网络(CNN)做英文文本的分类任务(本次是垃圾邮件的二分类任务),当然垃圾邮件分类是一种应用环境,模型方法也可以推广到其它应用场景,如电商商品好评差评分类、正负面新闻等。源码与数据源码data_helpers.pytrain.pytext_cnn.pyeval.py(Save the evaluations to a csv, in case the us原创 2020-10-24 21:28:00 · 798 阅读 · 0 评论 -
深度学习之Style Transfer
Style Transfer1、引入最近看了一些基于深度学习的Style Transfer, 也就是风格迁移相关的paper,感觉挺有意思的。所谓风格迁移,其实就是提供一幅画(Reference style image),将任意一张照片转化成这个风格,并尽量保留原照的内容(Content)。之前比较火的修图软件Prisma就提供了这个功能下面就总结一下这个领域的几篇比较有影响力的paper。如有纰漏,还请指正。上图是Style Transfer问题的效果图:将图片B的风格迁移到另一张图片A上。原创 2020-10-23 22:06:37 · 1211 阅读 · 1 评论 -
深度学习实战之CNN验证码识别案列
任务要求我们使用卷积神经网络来实现验证码识别案列,具体流程如下:1、使用python的captcha模块生成验证码图片。2、使用tensorflow框架搭建神经网络模型。3、将数据喂入搭建好的神经网络模型中。4、保存训练好的网络模型。下面我们来看具体的细节。一、定义字符集,验证码一般为数字、字母。练习的时候可以先只考虑数字的情况,这样模型训练的会快些。代码如下:number = ['0','1','2','3','4','5','6','7','8','9'] alphabet = ['原创 2020-10-22 16:19:41 · 1096 阅读 · 2 评论 -
tensorflow学习笔记【卷积神经网络】
卷积神经网络: 学会使用CNN实现对手写数字的识别**√全连接 NN:**每个神经元与前后相邻层的每一个神经元都有连接关系,输入是特征,输出为预测的结果。参数个数:∑ (前层 × 后层 + 后层)一张分辨率仅仅是 28x28 的黑白图像,就有近 40 万个待优化的参数。现实生活中高分辨率的彩色图像,像素点更多,且为红绿蓝三通道信息。待优化的参数过多,容易导致模型过拟合。为避免这种现象,实际应用中一般不会将原始图片直接喂入全连接网络。√在实际应用中,会先对原始图像进行特征提取,把提取到的特征喂原创 2020-10-16 16:48:13 · 1105 阅读 · 0 评论 -
tensorflow学习笔记【MNIST数据集输出手写数字识别准确率】
目标:搭建神经网络,在mnist数据集上训练模型,输出手写数字识别的准确率mnist 数据集:包含 7 万张黑底白字手写数字图片,其中 55000 张为训练集,5000 张为验证集,10000 张为测试集。每张图片大小为 28*28 像素,图片中纯黑色像素值为 0,纯白色像素值为 1。数据集的标签是长度为 10 的一维数组,数组中每个元素索引号表示对应数字出现的概率在将 mnist 数据集作为输入喂入神经网络时,需先将数据集中每张图片变为长度784 一维数组,将该数组作为神经网络输入特征喂入神经原创 2020-10-15 21:48:41 · 1386 阅读 · 0 评论 -
tesorflow学习笔记【神经网络优化】
Tensorflow学习神经网络优化1、神经元模型: 用数学公式表示为:神经网络是以神经元为基本单元构成的。2、激活函数:引入非线性激活函数,提高模型的表达力。常见的激活函数有relu,sigmoid, tanh3、神经网络的负责度: 可以用神经网络的层数和神经网络中待优化参数的个数表示4、神经网络的层数: 层数 = n个隐藏层+ 1个输出层5、神经网络中待优化参数: 神经网络中所有w的参数+ 神经网络中所有b的参数6、损失函数: 用来表示预测值与真实值之间的差距,在训练神经网络是,通过不原创 2020-10-15 15:14:27 · 281 阅读 · 2 评论 -
tensorflow学习笔记【搭建神经网络】
Tensorflow学习笔记之搭建神经网络一、 神经网络参数神经网络的参数是指神经元线上的权重W, 用变量表示, 一般会随机生成这些参数。生成这些参数的方法是tf.Variable, 把生成的方式写在括号中。常用的神经网络函数有:tf.random_normal() 生成正态分布随机数tf.truncated_normal() 生成去掉过大偏移点的正态分布随机数tf.random_uniform() 生成均匀分布随机数tf.zeros 表示生成全0 的数组 tf.ones原创 2020-10-15 10:02:54 · 246 阅读 · 0 评论 -
LSTM神经网络详解
LSTM长短时记忆网络(Long Short Term Memory Network, LSTM),是一种改进之后的循环神经网络,可以解决RNN无法处理长距离的依赖的问题,目前比较流行。长短时记忆网络的思路:原始 RNN 的隐藏层只有一个状态,即h,它对于短期的输入非常敏感。再增加一个状态,即c,让它来保存长期的状态,称为单元状态(cell state)。按照上面时间维度展开:在 t 时刻,LSTM 的输入有三个:当前时刻网络的输入值 X_t、上一时刻 LSTM 的输出值 h_t-1、以及上原创 2020-10-12 20:43:11 · 52511 阅读 · 13 评论 -
手写数字识别-卷积神经网络cnn
手写数字识别-卷积神经网络cnn卷积和池化在深度学习中的作用是对图像和文本信息提取特征的常用方式,特别是在分类领域。卷积: 通过不同的卷积核与图像或者文本进行矩阵相乘,得到不同特征的若干组训练特征数据。池化:池化通常分类两种,最大池化和平均池化,最大池化就是一块矩阵领域,平均池化就是取四个像素点的平均值卷积池化后再加上全连接层,详细可去搜索一下具体的介绍,我们直接看代码,代码关键部分给出了详细注释。import tensorflow as tffrom tensorflow.examples.t原创 2020-10-11 22:00:26 · 819 阅读 · 0 评论 -
深度学习之CNN卷积神经网络
详解卷积神经网络(CNN)卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。概揽卷积神经网络(Convolutional Neural Networks / CNNs / ConvNets)与普通神经网络非常相似,它们都由具有可学习的权重和偏置常量(biases)的神经元组成。每个神经元都接收一些输入,并做一些点积计算,输出是每个分类的分数,普通神经网络里的一些计算技巧到这原创 2020-09-22 10:49:22 · 5890 阅读 · 0 评论 -
神经网络之BP算法【图文并茂】
神经网络之BP算法(图说神经网络+BP算法理论推导+例子运用+代码)最近在学习《Deep Learning》这本书,书中在前馈神经网络、全连接神经网络以及卷积神经网络等内容中,都有提到反向传播算法,这一算法可以说是神经网络中求解参数比较核心的部分了。为了更好地理解神经网络工作的原理,认识反向传播在神经网络中的运算机制,在综合《Deep Learning》书中的有关部分并且学习了b站讲解神经网络的相关视频及一些有关于BP算法的博客文章之后,笔者将自己的理解写下来,希望能为初学者理解反向传播算法起到一定的帮助原创 2020-09-21 09:26:41 · 18992 阅读 · 5 评论 -
深度学习背景与人工神经网络
深度学习背景与人工神经网络背景介绍1、深度学习介绍神经网络1、起源2、基本结构神奇的分类能力与背后的原理1、感知器与逻辑门2、强大的空间非线性切分能力3、网络表达力与过拟合4、BP算法与SGD代码实例深度学习与应用 图像上的应用线性分类器:线性分类器得分函数线性分类器的划分:空间划分 :Wx+b是空间的点线性分类器的理解1、 模板匹配问题 W的每一行可以看作是其中一个类别的模板 每一类的得分实际上是像素点和模板匹配度 模板匹配的方式是内积计算2、原创 2020-09-20 16:27:50 · 486 阅读 · 0 评论