CNN
文章平均质量分 96
Veropatrinica
这个作者很懒,什么都没留下…
展开
-
目标检测经典工作发展(超详细对比):R-CNN vs SPPNet vs Fast R-CNN vs Faster R-CNN
网上关于两阶段目标检测(two-stage object detection)的几个经典工作R-CNN,SPPNet,Fast R-CNN,Faster R-CNN的发展,各自的优缺点缺乏一个比较清楚的描述,大部分文章讲的比较细节,虽然有助于更为详细地了解文章,但是让读者在短时间内对各个文章有一个详细的理解。本文主要对网上的资料进行整合,希望让读者能较快地理解几篇文章的优劣。原创 2023-06-20 22:11:08 · 1476 阅读 · 0 评论 -
CNN笔记(CS231N)——图像检测与图像分割(Detection and Segmentation)
图像检测与图像分割我们之前讲的都是图像分类的问题,在这一讲我们要介绍一些其他的计算机视觉中的问题,例如图像检测与图像分割。我们主要介绍一下四个部分:图像分割、分类+定位、多目标检测、多目标实例分割语义分类第一部分是语义分类。我们需要给每个像素都输出一个值,来代表这个像素属于某一个分类一种传统的方法就是用滑动窗口不断在输入图像上滑动, 然后输出窗口中央的像素属于哪一类。这种方...原创 2019-02-14 15:24:00 · 2289 阅读 · 0 评论 -
CNN笔记(CS231N)——循环神经网络(Recurrent Neural Networks)
递归神经网络上一讲讲了CNN的架构,那么当我们把时间这个维度考虑进来了以后,我们就得到了递归神经网络(RNN)。RNN的输入输出可以是一对多、多对一、多对多,分别对应不同的应用场景RNN的核心部分是如下公式,旧状态+当前输入,经过一个函数,得到了新状态,新状态会被送到下一个时候参与运算。我们的这个函数fw在不同时间是固定的。普通RNN一般来说这个fw函数是tanh函数,W是...原创 2019-02-13 21:24:49 · 1121 阅读 · 0 评论 -
CNN笔记(CS231N)——强化学习(Reinforcement Learning)
强化学习我们之前讲了监督学习跟无监督学习,这一讲我们采用一种全新的思路来解决问题叫做强化学习。强化学习的目标是让代理学会采取动作来最大化奖励函数下面是强化学习的一些例子我们怎么样对这个问题进行建模呢?我们可以把这个问题看做一个马尔科夫链目标函数是从头到尾的奖励加权相加对于π是固定的,那么怎么解决随机性的问题呢?方案就是采用数学期望来平均这些随机性由于...原创 2019-02-24 10:30:21 · 2807 阅读 · 0 评论 -
CNN笔记(CS231N)——CNN架构(CNN Architectures)
CNN架构这一讲主要介绍了一些常用的CNN架构,例如AlexNet、VGG、GoogleNet等AlexNetAlexNet是一个八层的卷积神经网络,它是第一个采用ReLU激励函数的神经网络由于当时内存限制,在这个网络中,同一卷积层被分为两个部分放在两个GPU中分别计算。在1、2、4、5层只计算本GPU中的特征图,在3、6、7、8层中将两个GPU中的特征图放在一起计算...原创 2019-02-11 20:01:33 · 1052 阅读 · 0 评论 -
CNN笔记(CS231N)——生成模型(Generative Models)
总览之前我们讲的网络模型都是监督学习,这一讲我们要讲的是无监督学习。以下是本讲的总览无监督学习与监督学习最大的不同就是我们只有数据,没有任何多余的标注,我们要做的就是学习数据中隐藏的某些结构。而生成模型就属于无监督学习的一种生成模型生成模型的目标是给定训练数据,希望能获得与训练数据相同的新数据样本。我们的目标是找到训练数据的分布函数生成模型在很多场景有非常好的应用...原创 2019-02-22 13:34:48 · 3571 阅读 · 0 评论 -
CNN笔记(CS231N)——训练神经网络I(Training Neural Networks, Part I)
训练神经网络我们先来看这部分内容的综述,主要介绍了在训练网络中的一些基本方法与基本概念激励函数(Activation Functions)首先我们来看看神经网络用的激励函数之间的对比Sigmoid函数主要有一下三个问题,第一是函数存在饱和区,这部分函数梯度基本为0,导致权重不会变化;第二是函数输出不是以0为中心;第三是指数函数计算量比较大对于第二点我们重点说说,假如...原创 2019-01-31 09:41:23 · 451 阅读 · 0 评论 -
CNN笔记(CS231N)——深度学习软件(Deep Learning Software)
深度学习框架我们在使用CNN的时候往往会采用深度学习框架来减小我们的工作量,以下是现在常用的一些深度学习框架深度学习框架有以下意义下面让我们来看看如果我们用numpy从头构建一个计算图是怎么样的,我们可以看出它有以下两个问题:不能在GPU上运行以及梯度需要我们手动计算我们采用深度学习的框架可以很好的解决以上问题:让程序在GPU上运行仅仅需要一行代码,以及程序可以自动为我...原创 2019-02-09 16:25:37 · 1468 阅读 · 0 评论 -
CNN笔记(CS231N)——网络可视化与理解(Visualizing and Understanding)
网络可视化与理解神经网络对于我们来说就像一个黑盒子,我们有一对输入输出就能对网络进行训练,而不知道内部究竟发生了什么,于是一些研究者开始研究网络内部究竟学习到了什么特征。以下就是一些常用的网络在第一层的卷积核,代表在输入图像中寻找类似的特征,例如边、角、特定方向的线等等由于网络第一层的卷积核深度是3维的,因此我们可以将其作为RGB图来看待,而对于深层的网络,卷积核深度不止是3维,那么我...原创 2019-02-14 22:11:33 · 1239 阅读 · 0 评论 -
CNN笔记(CS231N)——卷积神经网络(Convolutional Neural Networks)
卷积神经网络如今卷积神经网络已经应用到生活的方方面面我们上次讲了全连接层,全连接层一般作为卷积神经网络的最后一层卷积层下面我们来看卷积神经网络中最常用的结构:卷积层。由于输入图片的像素很多,如果我们将每个像素进行全连接的话那我们需要学习十分多的权重,这样不仅需要非常多的训练数据,还可能出现过拟合的问题。因此我们采用的结构是定义一个卷积核,让这个卷积核在图片上进行卷积操作...原创 2019-01-28 09:29:01 · 949 阅读 · 0 评论 -
CNN笔记(CS231N)——训练神经网络II(Training Neural Networks, Part 2)
训练神经网络我们接着上一讲继续,这一讲主要讲的是优化、正则化与迁移学习高级优化我们首先来看看传统的随机梯度优化有什么问题,如果损失函数在一个维度上梯度比较小,在另一个维度上梯度比较大,那么这种情况下就会出现沿着梯度小的维度变化缓慢,另一个方向变化迅速,出现如下图这种震荡现象导致收敛缓慢除此以外就是局部最小值与驻点的问题,局部最小值在多维特征的情况下出现的几率比较小,最常见的是驻...原创 2019-02-01 10:46:16 · 384 阅读 · 0 评论 -
CNN笔记(CS231N)——反向传播和神经网络(Backpropagation and Neural Networks)
反向传播计算图由于神经网络结构复杂,我们可以采用计算图的形式来把损失函数表示出来,进而利用反向传播算法计算出损失函数对每个权重的偏导数以下是具体的一个例子,具体过程就是先利用前向传播求出输出的值,再利用反向传播来求出输出对每个中间量的偏导,再利用链式法则求出输出对输入的偏导把以上过程抽象出来可以写成如下的形式以下是一个稍微复杂一点的例子在反向传播中不同的门对...原创 2019-01-25 22:08:25 · 410 阅读 · 0 评论 -
CNN笔记(CS231N)——损失函数与优化(Loss Functions and Optimization)
损失函数我们之前讲了我们对于一张图片,我们对其进行打分,代表它被分为某一类的可能性,那么我们需要建立一个损失函数来对这个分类器的好坏进行衡量我们定义SVM损失函数有如下形式。SVM只是一个二元分类器,我们将其进行推广到多元的情况,定义了SVM损失函数。我们将正确类的打分与其他类打分做差,如果差值大一某个阈值(在下图例子中阈值为1),则损失函数为0,;若小于阈值,我们将损失函数定义为二者...原创 2019-01-24 23:37:33 · 3219 阅读 · 0 评论 -
CNN笔记(CS231N)——图像分类(Image Classification)
图像分类如果我们想训练一个图像分类器,我们很难想出一个具体的算法步骤将每幅图片都能正确的分类,那么这种情况下我们可以采用数据驱动的方法,利用机器学习来训练分类器KNN一种方法是把全部数据和标签记下来,然后对于一组新的数据,我们去寻找最相近数据的标签作为预测标签那么我们如何去定义所谓的“相近”呢?一种方法是用L1距离,简单的描述了对应像素值的差如果我们站在一个高维的角...原创 2019-01-23 21:28:13 · 3443 阅读 · 0 评论