
深度学习
文章平均质量分 94
zone_chan
深度厌学,人工智障。。。。。。
展开
-
NMS及其优化
面试必考 NMSNMSNMS汇总1. NMSNMSNMS代码与实现NonNonNon-MaximumMaximumMaximum-SuppressionSuppressionSuppression(非极大值抑制): 当两个boxboxbox空间位置非常接近,就以scorescorescore更高的那个作为基准,看IOUIOUIOU即重合度如何,如果与其重合度超过阈值,就抑制scorescorescore更小的boxboxbox,只保留scorescorescore大的就BoxBoxBox,其它的BoxB原创 2021-09-08 15:14:05 · 1637 阅读 · 0 评论 -
信息融合之Add与Concat,你了解它们吗?
信息融合举例特征融合目前有两种常用的方式,一种是addaddadd操作,这种操作广泛运用于ResNetResNetResNet与FPNFPNFPN中。一种是ConcatConcatConcat操作,这种操作最广泛的运用就是UNetUNetUNet,DenseNetDenseNetDenseNet等网络中。如下图所示:也有如HRNetHRNetHRNet这样的,多分辨率之间使用addaddadd形式的特征融合。代码演示>>> import torch>>>原创 2021-05-13 20:21:06 · 2180 阅读 · 0 评论 -
一文带你梳理常见的激活函数
一文梳理常见的激活函数1. 为什么要有激活函数若网络中不用激活函数,那么每一层的输出都是输入的线性组合。无论神经网络有多少层,网络的输出都是输入的线性组合,这种网络就是原始的感知机(PerceptronPerceptronPerceptron)。若网络没有激活函数,则每层就相当于矩阵相乘,深层神经网络,无非是多矩阵相乘。激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。网络使用非线性激活函数后,可以增加神经网络模型的非线性因素,网络可原创 2021-05-10 12:50:31 · 775 阅读 · 0 评论 -
sigmoid与softmax的区别与联系
Softmax与Sigmoid有哪些区别与联系?1. Sigmoid函数SigmoidSigmoidSigmoid函数也叫LogisticLogisticLogistic函数,将输入值压缩到(0,1)(0,1)(0,1)区间之中,其函数表达式为:Sigmoid(x)=11+e−xSigmoid(x) =\frac{1}{1+e^{-x}}Sigmoid(x)=1+e−x1函数图像如图所示:其求导之后的表达式为:Sigmoid′(x)=Sigmoid(x)⋅(1−Sigmoid(x)原创 2021-05-10 12:18:05 · 1414 阅读 · 0 评论 -
Resnet网络及其变种
具体阐述一下ResNet网络的细节,你知道的ResNet网络的相关变种有哪些?1. ResNet解决了什么问题?首先在了解ResNet之前,我们需要知道目前CNN训练存在两大问题:梯度消失与梯度爆炸:因为很深的网络,选择了不合适的激活函数,在很深的网络中进行梯度反传,梯度在链式法则中就会变成0或者无穷大,导致系统不能收敛。然而梯度弥散/爆炸在很大程度上被合适的激活函数(ReLU)、流弊的网络初始化(Kaiming初始化、BN等Tricks)处理了。梯度弥散:当深度开始增加的时候, accuracy原创 2021-05-10 12:07:29 · 1157 阅读 · 0 评论 -
DenseNet原理及代码
大家好,我是灿视。介绍下DenseNet1. 介绍在以往的网络都是从要么深(比如ResNet,解决了网络深时候的梯度消失问题)要么宽(比如GoogleNet的Inception)的网络,而作者则是从feature入手,通过对feature的极致利用达到更好的效果和更少的参数。DenseNet网络有以下优点:由于密集连接方式,DenseNet提升了梯度的反向传播,使得网络更容易训练。参数更小且计算更高效,这有点违反直觉,由于DenseNet是通过concat特征来实现短路连接,实现了特征重用,并原创 2021-05-10 10:55:34 · 1256 阅读 · 0 评论 -
一文带你深入浅出CV中的Attention机制
大家好,我是灿视。在深度学习领域中,存在很多专业名词,第一次看的时候总会很懵逼~后面慢慢看得时候才会有那么感觉,但是总觉得差点意思。今天我们要说的一个专业名词,就叫做Attention机制!1. 直观理解Attention想象一个场景,你在开车(真开车!握方向盘的那种!非彼开车!),这时候下雨了,如下图。那你想要看清楚马路,你需要怎么办呢?dei!很聪明,打开雨刮器就好!那我们可以把这个雨刮器刮雨的动作,就是寻找Attention区域的过程!嗯!掌声鼓励下自己,你已经理解了Attention机原创 2021-05-10 10:41:50 · 1270 阅读 · 0 评论 -
python_opencv使用鼠标获取图片的某一点坐标
目前的图像工作,需要获取某点的图像坐标,用来制作掩膜等,所以参考了一些代码。https://blog.youkuaiyun.com/huzhenwei/article/details/82900715为了防止忘记。# coding: utf-8import cv2img = cv2.imread("C:\\Users\\v_chenziqiang\\Desktop\\mixed1.jpg")...原创 2019-01-08 20:02:15 · 16054 阅读 · 5 评论 -
FCN:Semantic Segmentation(语义分割模型)
感谢知乎上的大佬总结的,我总结的话肯定没有这么好,就转过来,看看,附上作者链接点击打开链接全卷积网络首现于这篇文章。这篇文章是将CNN结构应用到图像语义分割领域并取得突出结果的开山之作,因而拿到了CVPR 2015年的best paper honorable mention.图像语义分割,简而言之就是对一张图片上的所有像素点进行分类如上图就是一个语义分割的例子,不同的颜色代表不同的类别下面简单介绍...转载 2018-03-23 18:09:45 · 5276 阅读 · 0 评论 -
cs231n_激活函数
首先讲述的是激活函数的内容。在上一个lecture中,我们看到了任意特定层是如何生成输出的,输入数据在全连接层或者卷积层,将输入乘以权重值,之后将结果放入一个激活函数(非线性单元)。下面是一些激活函数的例子,有在之前使用过的sigmoid函数,之前提及到的ReLU函数。这里会提及更多的激活函数,并在它们之间进行权衡。先是之前见过的sigmoid函数,这个函数的表达式是 。每一个元素输入到sigm...原创 2018-03-12 23:16:44 · 2833 阅读 · 1 评论 -
cs231n学习笔记-激活函数-BN-参数优化
1. 机器学习流程简介 1)一次性设置(One time setup) - 激活函数(Activation functions) - 数据预处理(Data Preprocessing) - 权重初始化(Weight Initialization) - 正则化(Regularization:避免过拟合的一种技术) ...转载 2018-03-12 23:08:33 · 313 阅读 · 0 评论 -
cs231n_ optimizer
从上一张的loss function过渡都这一张的optimizer,我们深度学习的训练过程其实就是一个优化的过程,优化的过程我觉得就想是一个盲人下山的问题,盲人想通过最快的速度到达山底,就相当于我们找函数最小值,山底代表我们的loss function的最小值,盲人采用的小碎步往下走,可是他该往哪个方向走最快呢?是的,他可以凭借他身体的感受,在他的周围,用脚去感受,哪个方向最抖,即斜率...原创 2018-03-07 17:42:32 · 240 阅读 · 0 评论 -
cs231n_backpropagation
上次我们讲到了loss function,当我们有了loss function之后,就是我们优化这个loss function来得到最终对应得最小损失的W的过程,这个过程,我们就是把它叫做backpopagation,反向传播。我们接着以上面svm loss为栗子,为了找到这个loss 的最小值所对应得W,我们首先需要找到L在W方向上梯度。就跟上一节我们谈到的下山一样,我们找到最抖的方向,...原创 2018-03-08 21:34:14 · 192 阅读 · 0 评论 -
cs231n_neural network
接下来我们讨论下神经网络,我们直接以两层的神经网络为栗子,首先我们有一个线性层,我们将线性层的最大值作为输出,将这个输出作为输入。这些非线性计算非常重要,如果我们只是在顶层将线性层合在一起,那么就会简化为一个线性函数。所以我们首先有线性层,然后又这个非线性计算,继而在顶层中再加入另一个线性层,然后再这里,最后我们得到一个计分函数,输入计分向量,一般来说,神经网络就是,由简单函数构成的一组函...原创 2018-03-09 23:24:45 · 327 阅读 · 0 评论 -
cs231n_training neural network partII
转载自知乎:点击打开链接本笔记中的所有取自课件的多媒体版权属于斯坦福大学。训练神经网络的核心是一个优化问题,给定损失函数并定义网络权值,损失函数告诉我们这些权值在解决对应问题时的表现是好还是坏。假设在当前权值下,损失函数给出了等高线图,这里是一个二维的问题,X和Y轴表示两个权值,图上的颜色表示损失值,在这个问题中只优化 两个参数,目标是要找到红色最深的区域,这对应了损失值最小值的权值。之前已经使...转载 2018-03-17 14:00:26 · 365 阅读 · 0 评论 -
cs231n_卷积神经网络_卷积_池化_全连接
讨论一下神经网络中非常有名的卷积神经网络,如下图,之前我们构建的都是两层的神经网络,我们有一个线性层,然后一个非线性的运算,再添加一个线性运算,得到我们的结果,我们还发现这有助于我们解决一些模式问题,我们通过学习任务所需的中间模板,比如我们要识别一辆车,我们会提取红色的车,黄色的车,等等,然后把这些中间特征组合起来,得到某一类别的最终的评分函数,这是一些传统的神经网络。今天我们说下卷积神经网络,它...原创 2018-03-11 17:03:23 · 391 阅读 · 0 评论 -
day2 图像分类数据驱动方法
day2 图像分类驱动方法关于图像分类(这是一个计算机视觉中一个非常重要的任务),当我们做图像分类的时候,我们的分类系统接收到一些输入图像,比如说可爱的猫咪,我们的系统是明确知道其中这些图像的分类,或者说是分类的集合,这些标签可能是一只狗狗,一只猫咪,也有可能是一辆卡车。。。。那计算机的工作就是看图片,并...原创 2018-03-04 21:55:08 · 234 阅读 · 0 评论 -
day2_(cs231n) KNN
接下来,我们讨论knn来做图像分类,下面的图中,左边是我们要predict的图像,右边是我们predict出的图像,如果右边有我们正确的分类,则表示我们分类正确,(ps:在很多计算机视觉一些算法的文章中,我们都会看到top5正确率的概念,其中指的就是,我们预测出来的类别中,取前5名,如果这预测出来的5类中,有一类是正确的类别,表示我们预测正确,然后把正确预测的,除以总数,得到我们的top5 acc...原创 2018-03-04 23:02:10 · 181 阅读 · 0 评论 -
day3 Linear Classification
接下来我们讨论线性分类,线性分类非常重要,同时他也是一个非常简单的算法,有助于我们建立起整个神经网络和整个卷积网络。我们整个神经网络就像是玩积木,从一个个积木拼成一个大的积木,每个小积木就是一个线性分类器,这些分类器最终泛化到整个神经网络,帮助我们理解整个神经网络。接下来我们还是要继续谈到cifar-10这个数据集,其中cifar-10有5万个训练样例,每个图片大小是32*32,三通道的图像...原创 2018-03-05 08:29:13 · 186 阅读 · 0 评论 -
day4_cs231n _ 损失函数与优化器
今天我们要讨论损失函数(loss function)与优化器(optimizer),上周我们说到了线性分类器,我们将图片当成一个矩阵放入计算机中,其次我们寻找一个权值矩阵W,这个W我们可以当做是每一行像素的得分来理解,然后根据这个W与我们的数据矩阵进行点积,最终算出一个得分,其实在于深度学习中,我们所要做的工作就是寻找这么权值矩阵。对于任意一个W矩阵,我们都会得到一个得分,就如下图中。我们...原创 2018-03-06 23:08:16 · 1697 阅读 · 0 评论