神经网络名词解析与记录

常见的神经网络类型

  1. 感知机(Perceptrons)

  2. CNN 卷积神经网络(Convolutional Neural Networks)视觉处理方面的神经网络

  3. RNN 循环神经网络(Recurrent Neural Network) 语音方面的神经网络 https://www.sohu.com/a/219197760_642762

  4. LSTM 长短时记忆网络(Long/Short Term Memory Network)

  5. Hopfield网络

  6. 玻尔兹曼机(Boltzmann Machine Network)玻尔兹曼机是一种随机递归神经网络

  7. 深度信念网络(Deep Belief Network)

  8. 深度自动编码器(Deep Auto-encoders)

  9. GAN (生成式对抗网络)

生成式对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。原始 GAN 理论中,并不要求 G 和 D 都是神经网络,只需要是能拟合相应生成和判别的函数即可。但实用中一般均使用深度神经网络作为 G 和 D 。一个优秀的GAN应用需要有良好的训练方法,否则可能由于神经网络模型的自由性而导致输出不理想
最常见的应用是换脸, 老照片修复. 生成风格画, 人物生成素描画.等.

神经网络的种类分好几种. 请参考文章 https://www.sohu.com/a/219197760_642762

下面是一些个人日常收集的零散知识. 会做一些整理,全当大纲来看吧.

我个人认为图像识别中可以大体分为两个部分
特征提取统计

[原图] => 特征提取() => [特征码] => 统计() =>分类

**第一个是 特征提取() 算法如何分解图像信息的. **

关键知识点是知道特征提取算法是如何一步一步从图像分解成特征码的. 有几种解码算法?
另外一个是神经网络的解码和传统的机器学习的解码不太一样. 最好要了解机器学习的算法中是如何实现的. 再了解神经网络就知道为啥要设计成这样了.

第二个是 统计() 根据签名解码出来的特征码(特征向量), 根据权重, 统计计算得到所属分类 , 这里面保存了知识

关键知识点是 知道梯度下降算法的原理, 它是做什么用的. 如何调整参数的.如何实现分类的.

关于特征提取, 传统的机器学习特征提取算法 里面有下面这些常见的扫描算法

下面主要介绍常用的图像特征提取算法(前三个是分类器应用中常见的3个特征提取算法,还有第8种):
1、LBP特征提取算法
2、HOG特征提取算法
3、Haar特征提取算子
4、LoG特征提取算法

答:LoG(DoG是一阶边缘提取)是二阶拉普拉斯-高斯边缘提取算法,先高斯滤波然后拉普拉斯边缘提取。Laplace算子对通过图像进行操作实现边缘检测的时,对离散点和噪声比较敏感。于是,首先对图像进行高斯卷积滤波进行降噪处理,再采用Laplace算子进行边缘检测,就可以提高算子对噪声抗干扰能力, 这一个过程中高斯-拉普拉斯(Laplacian of Gaussian(LOG))边缘检测算子就诞生了。
具体参考:http://blog.csdn.net/tonyshengtan/article/details/43794359。

5、Harris角点特征提取算法

答:参考http://www.cnblogs.com/ronny/p/4009425.html和http://www.cnblogs.com/zhchoutai/p/7182438.html

6、SIFT特征提取算子

答:SIFT算子是一种检测局部特征的算法,该算法通过求一幅图中的特征点及其有关尺寸和方向的描述子得到特征并进行图像特征点匹配,获得了良好效果。每个特征点的SIFT特征是128维向量,因此计算量巨大。
不变性:具有尺寸和旋转不变性。
改进型:PCA-SIFT,如名称所说“主成分SIFT特征”,主要提取了128维特征向量中的20个特征,大大减少了计算。
具体参考:http://www.cnblogs.com/liuchaogege/p/5155739.html和http://blog.csdn.net/abcjennifer/article/details/7639681。

7、SURF特征提取算法

答:SURF是SIFT角点检测算法的改进版,主要体现在速度上,SURF是SIFT速度的3倍。SIFT在尺度和旋转变换的情况下匹配效果比SURF好,而SURF在亮度变化下匹配效果比较好。具体参考:http://www.cnblogs.com/tornadomeet/archive/2012/08/17/2644903.html。

8、 ORB 特征提取算法

ORB特征是由Ethan Rublee等人发表在计算机视觉三大顶会之一的ICCV2011上。其所解决的问题是SIFT特征的高昂计算代价以及BRIEF特征(参考我的博客链接:)本身具有的缺乏旋转不变性、尺度不变性以及对噪声敏感的弱点。所以作者基于FAST和BRIEF特征提出的二值特征(0,1串)在时间上比SIFT快100倍,比SURF快10倍,并且匹配效果也很好。
http://blog.sina.com.cn/s/blog_e742bd8a0102ww8j.html
http://blog.sina.com.cn/s/blog_e742bd8a0102ww8j.html

以上是传统的机器学.特征提取算法, 尤其是SIFT 特征提取算法对理解传统机器学习如何提取特征的有非常重要的启示.

更多关于机器学习方面的特征提取算法 请参考:https://blog.csdn.net/Xiongchao99/article/details/78776629

在进入深度学习之前一定要知道SIFT算法是如何实现特征提取的, 知道色彩空间, 尺度空间.下面就稍微的介绍一下.

SPP(Spatial Pyramid Pooling) 空间金字塔池

在一般的CNN结构中,在卷积层后面通常连接着全连接。而全连接层的特征数是固定的,所以在网络输入的时候,会固定输入的大小(fixed-size)。但在现实中,我们的输入的图像尺寸总是不能满足输入时要求的大小。然而通常的手法就是裁剪(crop)和拉伸(warp)。
这样做总是不好的:图像的纵横比(ratio aspect) 和 输入图像的尺寸是被改变的。这样就会扭曲原始的图像。而Kaiming He在这里提出了一个SPP(Spatial Pyramid Pooling)层能很好的解决这样的问题, 但SPP通常连接在最后一层卷基层。
SPP 显著特点

  1. 不管输入尺寸是怎样,SPP 可以产生固定大小的输出
  2. 使用多个窗口(pooling window)
  3. SPP 可以使用同一图像不同尺寸(scale)作为输入, 得到同样长度的池化特征。
  4. 由于对输入图像的不同纵横比和不同尺寸,SPP同样可以处理,所以提高了图像的尺度不变(scale-invariance)和降低了过拟合(over-fitting)
  5. 实验表明训练图像尺寸的多样性比单一尺寸的训练图像更容易使得网络收敛(convergence)
  6. SPP 对于特定的CNN网络设计和结构是独立的。(也就是说,只要把SPP放在最后一层卷积层后面,对网络的结构是没有影响的, 它只是替换了原来的pooling层)
  7. 不仅可以用于图像分类而且可以用来目标检测
  8. 只需要计算一次卷积层,训练速度快。

作者是整体先对整张图片进行卷积然后,在把其中的目标窗口拿出来Pooling,得到的结果用作全连接层的输入。
参考文章 https://www.cnblogs.com/zongfa/p/9076311.html

DoG 差分金字塔 Difference of Gaussian 差分金字塔,(差分就是相减)
https://www.cnblogs.com/jsxyhelu/p/7591497.html
左边相邻上下两图相减,得到一个新的右边的金字塔. 叫差分金字塔 简称DoG金字塔, 不是dog(狗)
在这里插入图片描述

SIFT特征提取算法(Scale Invariant Feature Transform)
又称尺度不变特征转换匹配算法,是在计算机视觉任务中的特征提取算法。
SIFT特征提取算法的作用,就是从原始图像中提取出数学表达的特征, 这个特征在尺度空间的数值.

SIFT可以帮助定位图像中的局部特征,通常称为图像的“关键点”。这些关键点是比例尺和旋转不变量,可用于各种计算机视觉应用,例如图像匹配,物体检测,场景检测等。
还可以将通过SIFT生成的关键点用作模型训练期间的图像特征。与边缘特征或单一特征相比,SIFT特征的主要优势在于它们不受图像大小或方向的影响。
了解如何识别这些关键点,以及用于确保比例和旋转角度不变的技术是什么。广义上讲,
** 整个过程可以分为四个部分:**

  1. 构造比例空间:确保要素与比例无关
  2. 关键点本地化:确定合适的特征或关键点
  3. 方向分配:确保关键点是角度不变
  4. 关键点描述符:为每个关键点分配独一的指纹
    最后,用这些关键信息进行特征匹配!

建议优先看这个文章, 比较直观 https://baijiahao.baidu.com/s?id=1650694563611411654&wfr=spider&for=pc
第二个参考文章 https://www.cnblogs.com/jsxyhelu/p/7591497.html

ORB特征提取算法

ORB特征是由Ethan Rublee等人发表在计算机视觉三大顶会之一的ICCV2011上。其所解决的问题是SIFT特征的高昂计算代价以及BRIEF特征(参考我的博客链接:)本身具有的缺乏旋转不变性、尺度不变性以及对噪声敏感的弱点。所以作者基于FAST和BRIEF特征提出的二值特征(0,1串)在时间上比SIFT快100倍,比SURF快10倍,并且匹配效果也很好。

尺度空间(Scale Space)
图像识别方面, 如何从图像中提取出特征, 称之为特征提取. 图像中特征的数学表述有个专业名词叫尺度空间.
尺度空间方法的基本思想是:在视觉信息处理模型中引入一个被视为尺度的參数,通过连续变化尺度參数获得不同尺度下的视觉处理信息,然后综合这些信息以深入地挖掘图像的本质特征。尺度空间方法将传统的单尺度视觉信息处理技术纳入尺度不断变化的动态分析框架中,因此更easy获得图像的本质特征。尺度空间的生成目的是模拟图像数据多尺度特征。高斯卷积核是实现尺度变换的唯一线性核。

尺度空间理论的动机:

现实世界的物体由不同尺度的结构所组成;
在人的视觉中,对物体观察的尺度不同,物体的呈现方式也不同;
对计算机视觉而言,无法预知某种尺度的物体结构是有意义的,因此有必要将全部尺度的结构表示出来;
从測量的角度来说,对物体的測量数据必定是依赖于某个尺度的,比如温度曲线的採集,不可能是无限的,而是在一定温度范围进行量化採集。温度范围即是选择的尺度;
採用尺度空间理论对物体建模,即将尺度的概念融合入物理模型之中。
尺度空间公理:

  1. 线性
  2. 平移不变性
  3. 半群特性:g(x,y,t1) * g(x,y,t2) = g(x,y,t1 + t2)
  4. 旋转不变性
  5. 尺度不变性
  6. 正定性
  7. 正规性(积分为1)
  8. 不会引入新的极点
  9. 不会增强极点
  10. 存在无穷小的算子(可微性)
    依照以上条件,唯一可能的尺度空间核函数是高斯核函数。

下面开始是深度学习部分的一些内容.

深度学习也无非是在机器学习的基础之上增加了网络深度, 但是本质流程并未改变仍然是第一步特征提取, 然后根据提取的特征统计训练成特殊的模型… 好就好在, 神经网络统一了图像处理, 音频处理,文字处理的方式. 将原先分离的数据格式和代码, 都纳入到神经网络之上开始进行运算. 然后集成了GPU, 提高了运算速度. 由于本人主要工作是图像处理方面的,下面讲解的也多数都是图像识别领域用到的一些知识和关键词.
卷积神经网络模型(CNN) 主要用来实现图像的识别和处理.
那么核心关键词就是卷积, 那么什么是卷积呢?

Convolution 卷积
我个人觉得卷积这个词不是很好理解, 还是翻译成扫描比较好理解. 或者翻译成 转换扫描, 特征提取扫描, 比较好理解
卷积操作如下图, 根据左边的大图产生一张右边的小图. 一行一行的扫. 左图中橘黄色的33的9宫格称之为卷积核.
也叫3
3的卷积核.
卷积操作
第一张图只是说明了卷积操作,下面这张说明了工作原理
卷积内部
卷积的操作是乘法操作, 下面一图胜我废话半天…
在这里插入图片描述
上面是最普通的卷积, 下面还有一些特殊的卷积操作有很多种类型. 下面罗列一下, 方便了解
1. 空洞卷积(扩张卷积, 膨胀卷积) 主要目的是增加模型的感受野(reception field)
2. 插帧算法卷积 sep conv
3. 转置卷积 (conv_transpose)
4. 可分离卷积
4.1 空间可分离卷积
4.2 深度可分离卷积
参考文章 https://blog.csdn.net/x454045816/article/details/105828895

空洞卷积(扩张卷积, 膨胀卷积)
空洞卷积是一种特殊的卷积操作,大白话的说: 就是采样的时候隔一个采一个,或者隔N个采一个.效果如下图.
最大的作用是扩大感受野,还不怎么增加性能损耗.当然也有问题,就是中间会落下一些像素. 不过总体上来讲是提高性能的法宝.
这个还有个好处. 对于那种超大分辨率的图片, 这种空洞卷积就非常有效果了.
在这里插入图片描述

2.Sep conv 插帧算法

** 3.转置卷积 (conv_transpose)**
转置卷积又叫反卷积、逆卷积。 转置卷积可以理解为upsample conv.如下图:
下图是把 55 的数据变成了 77的数据, 放大了数据. 主要目的是为了将特征可视化
在这里插入图片描述
转置卷积是目前最为正规和主流的名称,因为这个名称更加贴切的描述了卷积的计算过程,而其他的名字容易造成误导。在主流的深度学习框架中,如TensorFlow,Pytorch,Keras中的函数名都是conv_transpose。所以学习转置卷积之前,我们一定要弄清楚标准名称,遇到他人说反卷积、逆卷积也要帮其纠正,让不正确的命名尽早的淹没在历史的长河中。
有大佬一句话总结:转置卷积相对于卷积在神经网络结构的正向和反向传播中做相反的运算。其实还是不是很理解。我们先从转置卷积的用途来理解下,转置卷积通常用于几个方面:

CNN可视化,通过反卷积将卷积得到的feature map还原到像素空间,来观察feature map对哪些pattern相应最大,即可视化哪些特征是卷积操作提取出来的;

FCN全卷积网络中,由于要对图像进行像素级的分割,需要将图像尺寸还原到原来的大小,类似upsampling的操作,所以需要采用反卷积;

GAN对抗式生成网络中,由于需要从输入图像到生成图像,自然需要将提取的特征图还原到和原图同样尺寸的大小,即也需要反卷积操作。

从上面两个图可以看到,转置卷积和卷积有点类似,因为它产生与假设的反卷积层相同的空间分辨率。但是,对值执行的实际数学运算是不同的。转置卷积层执行常规卷积,但恢复其空间变换。 需要注意的是:反卷积只能恢复尺寸,不能恢复数值。

4. 可分离卷积(separable convolutions)
任何看过MobileNet架构的人都会遇到可分离卷积(separable convolutions)这个概念。但什么是“可分离卷积”,它与标准的卷积又有什么区别?可分离卷积主要有两种类型:空间可分离卷积和深度可分离卷积。

4.1 空间可分离卷积
在可分离的卷积中,我们可以将内核操作分成多个步骤。让我们将卷积表示为y = conv(x,k),其中y是输出图像,x是输入图像,k是核。简单。接下来,假设k可以通过以下公式计算:k = k1.dot(k2)。这将使它成为可分离的卷积,因为我们可以通过用k1和k2进行2个1D卷积来得到相同的结果,而不是用k进行2D卷积。
在这里插入图片描述
Sobel X和Y滤镜
以Sobel内核为例,它通常用于图像处理。你可以通过乘以向量[1,0,-1]和[1,2,1] .T得到相同的内核。在执行相同操作时,这将需要6个而不是9个参数。上面的例子显示了所谓的空间可分卷积。
空间可分卷积的主要问题是并非所有卷积核都可以“分离”成两个较小的卷积核。这在训练期间变得特别麻烦,因为网络可能采用所有可能的卷积核,它最终只能使用可以分成两个较小卷积核的一小部分。

实际上,通过堆叠1xN和Nx1内核层,可以创建与空间可分离卷积非常相似的东西。这最近在一个名为EffNet的架构中使用,显示了有希望的结果。

4.2 深度可分离卷积
在神经网络中,我们通常使用称为深度可分离卷积的东西。这将执行空间卷积,同时保持通道分离,然后进行深度卷积。这里,通过一个例子可以最好地理解它(以下参考文献2):
以输入图像为12x12x3的RGB图像为例,正常卷积是卷积核对3个通道同时做卷积。也就是说,3个通道,在一次卷积后,输出一个数。而深度可分离卷积分为两步:

第一步,对三个通道分别做卷积,输出三个通道的属性,如下图:
在这里插入图片描述

第二步,用卷积核1x1x3对三个通道再次做卷积,这个时候的输出就和正常卷积一样,是8x8x1:
在这里插入图片描述

如果要提取更多的属性,则需要设计更多的1x1x3卷积核心就可以
在这里插入图片描述

可以看到,如果仅仅是提取一个属性,深度可分离卷积的方法,不如正常卷积。随着要提取的属性越来越多,深度可分离卷积就能够节省更多的参数。

原文链接:https://blog.csdn.net/x454045816/article/details/105828895

ASPP 空洞空间卷积池化金字塔
空洞空间卷积池化金字塔 (atrous spatial pyramid pooling (ASPP))对所给定的输入以不同采样率的空洞卷积并行采样,相当于以多个比例捕捉图像的上下文 参考文章 https://blog.csdn.net/qq_21997625/article/details/87080576
在这里插入图片描述
在这里插入图片描述

pooling层(池化层)

pooling层(池化层)的输入一般来源于上一个卷积层的卷积结果,  一般就2种池化方法, 
mean-pooling(平均值)
max-pooling(最大值)
池化层的作用是把一小块区域的卷积结果,求个平均值, 或者求最大值.	
主要有以下几个作用:
1.保留主要的特征,同时减少下一层的参数和计算量,防止过拟合;
2. 保持某种不变性,包括translation(平移),rotation(旋转),scale(尺度),常用的有mean-pooling和max-pooling。

ReLU 激活函数 Rectified Linear Units
LRN: Local Response Normalization
finetune
dropout

PCA主成分分析
主成分分析法, 可以用来降维数据.
主要目的是计算出多维度的样本数据种哪个维度的数据所占的主要成分比例比较大, 然后取占比比较大的前2个
PCA 比较好理解的视频. 非常的容易懂.
https://www.bilibili.com/video/BV1C7411A7bj/?spm_id_from=333.788.recommend_more_video.0

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值