dnn宝石识别,宝石识别指南

http://www.itjxue.com  2023-01-09 16:16  来源:未知  点击次数: 

CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?

如下:

1、DNN:存在着一个问题——无法对时间序列上的变化进行建模。然而,样本出现的时间顺序对于自然语言处理、语音识别、手写体识别等应用非常重要。对了适应这种需求,就出现了另一种神经网络结构——循环神经网络RNN。

2、CNN:每层神经元的信号只能向上一层传播,样本的处理在各个时刻独立,因此又被称为前向神经网络。

3、RNN:神经元的输出可以在下一个时间戳直接作用到自身,即第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括其自身在(m-1)时刻的输出!

介绍

神经网络技术起源于上世纪五、六十年代,当时叫感知机(perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果。早期感知机的推动者是Rosenblatt。

在实际应用中,所谓的深度神经网络DNN,往往融合了多种已知的结构,包括卷积层或是LSTM单元。

CNN、RNN、DNN的一般解释

CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?

转自知乎 科言君 ?的回答

神经网络技术起源于上世纪五、六十年代,当时叫 感知机 (perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果。早期感知机的推动者是Rosenblatt。 (扯一个不相关的:由于计算技术的落后,当时感知器传输函数是用线拉动变阻器改变电阻的方法机械实现的,脑补一下科学家们扯着密密麻麻的导线的样子…)

但是,Rosenblatt的单层感知机有一个严重得不能再严重的问题,即它对稍复杂一些的函数都无能为力(比如最为典型的“异或”操作)。连异或都不能拟合,你还能指望这货有什么实际用途么o(╯□╰)o

随着数学的发展,这个缺点直到上世纪八十年代才被Rumelhart、Williams、Hinton、LeCun等人(反正就是一票大牛)发明的 多层感知机 (multilayerperceptron)克服。多层感知机,顾名思义,就是有多个隐含层的感知机(废话……)。好好,我们看一下多层感知机的结构:

图1 上下层神经元全部相连的神经网络——多层感知机

多层感知机可以摆脱早期离散传输函数的束缚,使用sigmoid或tanh等连续函数模拟神经元对激励的响应,在训练算法上则使用Werbos发明的反向传播BP算法。对,这货就是我们现在所说的 神经网络 NN ——神经网络听起来不知道比感知机高端到哪里去了!这再次告诉我们起一个好听的名字对于研(zhuang)究(bi)很重要!

多层感知机解决了之前无法模拟异或逻辑的缺陷,同时更多的层数也让网络更能够刻画现实世界中的复杂情形。相信年轻如Hinton当时一定是春风得意。

多层感知机给我们带来的启示是, 神经网络的层数直接决定了它对现实的刻画能力 ——利用每层更少的神经元拟合更加复杂的函数[1]。

(Bengio如是说:functions that can be compactly

represented by a depth k architecture might require an exponential number of

computational elements to be represented by a depth k ? 1 architecture.)

即便大牛们早就预料到神经网络需要变得更深,但是有一个梦魇总是萦绕左右。随着神经网络层数的加深, 优化函数越来越容易陷入局部最优解 ,并且这个“陷阱”越来越偏离真正的全局最优。利用有限数据训练的深层网络,性能还不如较浅层网络。同时,另一个不可忽略的问题是随着网络层数增加, “梯度消失”现象更加严重 。具体来说,我们常常使用sigmoid作为神经元的输入输出函数。对于幅度为1的信号,在BP反向传播梯度时,每传递一层,梯度衰减为原来的0.25。层数一多,梯度指数衰减后低层基本上接受不到有效的训练信号。

2006年,Hinton利用预训练方法缓解了局部最优解问题,将隐含层推动到了7层[2],神经网络真正意义上有了“深度”,由此揭开了深度学习的热潮。这里的“深度”并没有固定的定义——在语音识别中4层网络就能够被认为是“较深的”,而在图像识别中20层以上的网络屡见不鲜。为了克服梯度消失,ReLU、maxout等传输函数代替了sigmoid,形成了如今DNN的基本形式。单从结构上来说, 全连接的 DNN 和图 1 的多层感知机是没有任何区别的 。

值得一提的是,今年出现的高速公路网络(highway network)和深度残差学习(deep residual learning)进一步避免了梯度消失,网络层数达到了前所未有的一百多层(深度残差学习:152层)[3,4]!具体结构题主可自行搜索了解。如果你之前在怀疑是不是有很多方法打上了“深度学习”的噱头,这个结果真是深得让人心服口服。

图2 缩减版的深度残差学习网络,仅有34 层,终极版有152 层,自行感受一下

如图1所示,我们看到 全连接 DNN 的结构里下层神经元和所有上层神经元都能够形成连接 ,带来的潜在问题是 参数数量的膨胀 。假设输入的是一幅像素为1K*1K的图像,隐含层有1M个节点,光这一层就有10^12个权重需要训练,这不仅容易过拟合,而且极容易陷入局部最优。另外,图像中有固有的局部模式(比如轮廓、边界,人的眼睛、鼻子、嘴等)可以利用,显然应该将图像处理中的概念和神经网络技术相结合。此时我们可以祭出题主所说的卷积神经网络CNN。对于CNN来说,并不是所有上下层神经元都能直接相连,而是 通过“卷积核”作为中介。同一个卷积核在所有图像内是共享的,图像通过卷积操作后仍然保留原先的位置关系。 两层之间的卷积传输的示意图如下:

图3 卷积神经网络隐含层(摘自Theano 教程)

通过一个例子简单说明卷积神经网络的结构。假设图3中m-1=1是输入层,我们需要识别一幅彩色图像,这幅图像具有四个通道ARGB(透明度和红绿蓝,对应了四幅相同大小的图像),假设卷积核大小为100*100,共使用100个卷积核w1到w100(从直觉来看,每个卷积核应该学习到不同的结构特征)。用w1在ARGB图像上进行卷积操作,可以得到隐含层的第一幅图像;这幅隐含层图像左上角第一个像素是四幅输入图像左上角100*100区域内像素的加权求和,以此类推。同理,算上其他卷积核,隐含层对应100幅“图像”。每幅图像对是对原始图像中不同特征的响应。按照这样的结构继续传递下去。CNN中还有max-pooling等操作进一步提高鲁棒性。

图4 一个典型的卷积神经网络结构,注意到最后一层实际上是一个全连接层(摘自Theano 教程)

在这个例子里,我们注意到 输入层到隐含层的参数瞬间降低到了 100*100*100=10^6 个 !这使得我们能够用已有的训练数据得到良好的模型。题主所说的适用于图像识别,正是由于 CNN 模型限制参数了个数并挖掘了局部结构的这个特点 。顺着同样的思路,利用语音语谱结构中的局部信息,CNN照样能应用在语音识别中。

全连接的DNN还存在着另一个问题——无法对时间序列上的变化进行建模。然而, 样本出现的时间顺序对于自然语言处理、语音识别、手写体识别等应用非常重要 。对了适应这种需求,就出现了题主所说的另一种神经网络结构——循环神经网络RNN。

在普通的全连接网络或CNN中,每层神经元的信号只能向上一层传播,样本的处理在各个时刻独立,因此又被成为前向神经网络(Feed-forward Neural Networks)。而在 RNN 中,神经元的输出可以在下一个时间戳直接作用到自身 ,即第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括其自身在(m-1)时刻的输出!表示成图就是这样的:

图5 RNN 网络结构

我们可以看到在隐含层节点之间增加了互连。为了分析方便,我们常将RNN在时间上进行展开,得到如图6所示的结构:

图6 RNN 在时间上进行展开

Cool, ( t+1 )时刻网络的最终结果O(t+1) 是该时刻输入和所有历史共同作用的结果 !这就达到了对时间序列建模的目的。

不知题主是否发现,RNN可以看成一个在时间上传递的神经网络,它的深度是时间的长度!正如我们上面所说, “梯度消失”现象又要出现了,只不过这次发生在时间轴上 。对于t时刻来说,它产生的梯度在时间轴上向历史传播几层之后就消失了,根本就无法影响太遥远的过去。因此,之前说“所有历史”共同作用只是理想的情况,在实际中,这种影响也就只能维持若干个时间戳。

为了解决时间上的梯度消失,机器学习领域发展出了 长短时记忆单元 LSTM ,通过门的开关实现时间上记忆功能,并防止梯度消失 ,一个LSTM单元长这个样子:

图7 LSTM 的模样

除了题主疑惑的三种网络,和我之前提到的深度残差学习、LSTM外,深度学习还有许多其他的结构。举个例子,RNN既然能继承历史信息,是不是也能吸收点未来的信息呢?因为在序列信号分析中,如果我能预知未来,对识别一定也是有所帮助的。因此就有了 双向 RNN 、双向 LSTM ,同时利用历史和未来的信息。

图8 双向RNN

事实上, 不论是那种网络,他们在实际应用中常常都混合着使用,比如 CNN 和RNN 在上层输出之前往往会接上全连接层,很难说某个网络到底属于哪个类别。 不难想象随着深度学习热度的延续,更灵活的组合方式、更多的网络结构将被发展出来。尽管看起来千变万化,但研究者们的出发点肯定都是为了解决特定的问题。题主如果想进行这方面的研究,不妨仔细分析一下这些结构各自的特点以及它们达成目标的手段。入门的话可以参考:

Ng写的Ufldl: UFLDL教程 - Ufldl

也可以看Theano内自带的教程,例子非常具体: Deep Learning Tutorials

欢迎大家继续推荐补充。

当然啦,如果题主只是想凑个热闹时髦一把,或者大概了解一下方便以后把妹使,这样看看也就罢了吧。

参考文献:

[1]

Bengio Y. Learning Deep

Architectures for AI[J]. Foundations Trends? in Machine Learning, 2009,

2(1):1-127.

[2]

Hinton G E, Salakhutdinov R R.

Reducing the Dimensionality of Data with Neural Networks[J]. Science, 2006,

313(5786):504-507.

[3]

He K, Zhang X, Ren S, Sun J. Deep

Residual Learning for Image Recognition. arXiv:1512.03385, 2015.

[4]

Srivastava R K, Greff K,

Schmidhuber J. Highway networks. arXiv:1505.00387, 2015.

如何简单理解DNN模型?

没有DNN模型的说法,只有DNA的说法。

脱氧核糖核酸(英文DeoxyriboNucleic Acid,缩写为DNA)是生物细胞内含有的四种生物大分子之一核酸的一种。

DNA携带有合成RNA和蛋白质所必需的遗传信息,是生物体发育和正常运作必不可少的生物大分子。

DNA由脱氧核苷酸组成的大分子聚合物。脱氧核苷酸由碱基、脱氧核糖和磷酸构成。其中碱基有4种:腺嘌呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。

DNA 分子结构中,两条多脱氧核苷酸链围绕一个共同的中心轴盘绕,构成双螺旋结构。脱氧核糖-磷酸链在螺旋结构的外面,碱基朝向里面。两条多脱氧核苷酸链反向互补,通过碱基间的氢键形成的碱基配对相连,形成相当稳定的组合。

DNA是由重复的核苷酸单元组成的长聚合物,链宽2.2到2.6纳米,每个核苷酸单体长度为0.33纳米。尽管每个单体占据相当小的空间,但DNA聚合物的长度可以非常长,因为每个链可以有数百万个核苷酸。例如,最大的人类染色体(1号染色体)含有近2.5亿个碱基对[12] 。

生物体中的DNA几乎从不作为单链存在,而是作为一对彼此紧密相关的双链,彼此交织在一起形成一个叫做双螺旋的结构。每个核苷酸由可与相邻核苷酸共价键结合的侧链骨架和含氮碱基组成,两条链上的含氮碱基通过碱基互补以氢键相连。糖与含氮碱基形成核苷,核苷与一个或多个磷酸基团结合成为核苷酸。

DNA骨架结构是由磷酸与糖类基团交互排列而成。组成脱氧核糖核酸的糖类分子为环状的2-脱氧核糖,属于五碳糖的一种。磷酸基团上的两个氧原子分别接在五碳糖的3号及5号碳原子上,形成磷酸双酯键。这种两侧不对称的共价键位置,使每一条脱氧核糖核酸长链皆具方向性。双螺旋中的两股核苷酸互以相反方向排列,这种排列方式称为反平行。脱氧核糖核酸链上互不对称的两末端一边叫做5'端,另一边则称3'端。脱氧核糖核酸与RNA最主要的差异之一,在于组成糖分子的不同,DNA为2-脱氧核糖,RNA则为核糖。

DNA的双螺旋通过在两条链上存在的含氮碱基之间建立的氢键来稳定。组成DNA的四种碱基是腺嘌呤(A)、胞嘧啶(C)、鸟嘌呤(G)和胸腺嘧啶(T)。所有四种碱基都具有杂环结构,但结构上腺嘌呤和鸟嘌呤是嘌呤的衍生物,称为嘌呤碱基,而胞嘧啶和胸腺嘧啶与嘧啶有关,称为嘧啶碱基。

两条核苷酸链沿着中心轴以相反方向相互缠绕在一起,很像一座螺旋形的楼梯,两侧扶手是两条多核苷酸链的糖一磷基因交替结合的骨架,而踏板就是碱基。DAN双螺旋是右旋螺旋。不同磷酸盐基团之间的凹槽仍然暴露在外。主沟宽2.2纳米,而小沟宽1.2纳米。两个凹槽的不同宽度决定了蛋白质对不同碱基的可接触性,这取决于碱基是在主沟还是小沟中。与DNA的蛋白质,如转录因子,通常与处在大沟中的碱基接触。

单链DNA

单链DNA(single-stranded DNA)大部分DNA以双螺旋结构存在,但一经热或碱处理就会变为单链状态。单链DNA就是指以这种状态存在的DNA。单链DNA在分子流体力学性质、吸收光谱、碱基反应性质等方面都和双链DNA不同。某些噬菌体粒子内含有单链环状的DNA,这样的噬菌体DNA在细胞内增殖时则形成双链DNA。

闭环DNA

闭环DNA(closed circular DNA)没有断口的双链环状DNA,亦称为超螺旋DNA。由于具有螺旋结构的双链各自闭合,结果使整个DNA分子进一步旋曲而形成三级结构。另外如果一条或二条链的不同部位上产生一个断口,就会成为无旋曲的开环DNA分子。从细胞中提取出来的质粒或病毒DNA都含有闭环和开环这二种分子。可根据两者与色素结合能力的不同,而将两者分离开来。

在基因组中,遗传信息存储在称为基因的DNA序列中,这个遗传信息的传递由互补的含氮碱基序列的存在得到保证。事实上,在转录过程中,遗传信息可以很容易地被转录到互补的RNA链中(mRNA)。mRNA通过翻译合成蛋白质。或者,细胞可以通过称为DNA复制的过程简单地复制遗传信息。

基因组结构

真核生物基因组DNA位于细胞核内,线粒体和叶绿体内也有DNA。原核生物DNA被包裹在细胞质中不含细胞膜的不规则细胞器类核中[14] 。 遗传信息包含在基因中,基因是能够影响生物体表型的遗传单位。每个基因含有开放阅读框(能够转录成RNA的区域)和由启动子和增强子组成的调节区。 在许多物种中,只有一小部分基因组序列可以被转录和翻译。例如,人类基因组中只有1.5%序列含有编码蛋白质的外显子,超过50%的人类基因组由重复的非编码DNA序列组成[15] 。在任何情况下,不编码蛋白质的DNA序列也可以转录成非编码RNA,参与基因表达的调控[16] 。 一些非编码序列是对染色体的结构组成部分。端粒和着丝粒区域通常含有非常少的基因,但对于染色体的功能和稳定性是必需的[17] 。

转录和翻译

基因是含有能够影响生物体表型特征的遗传信息的DNA序列。基因内的DNA碱基序列作为模板可以合成RNA分子,在大多数情况下,RNA分子被翻译成多肽,最终称为蛋白质。 将基因的核苷酸序列复制到RNA链中的过程称为转录,由RNA聚合酶催化发生。 RNA链有不同的命运:一些RNA分子实际上具有结构(例如在核糖体内发现的那些rRNA)或催化(如核酶)功能;绝大多数RNA经历成熟过程产生mRNA,被翻译成蛋白质。 翻译过程发生在细胞质中,其中mRNA与核糖体结合,并由遗传密码介导。核糖体允许顺序读取mRNA密码子,有利于它们识别和与特定tRNA相互作用,这些tRNA携带对应于每个单个密码子的氨基酸分子。

遗传密码

遗传密码是一组规则,将DNA或RNA序列以三个核苷酸为一组的密码子转译为蛋白质的氨基酸序列,以用于蛋白质合成。密码子由mRNA上的三个核苷酸(例如ACU,CAG,UUU)的序列组成,每三个核苷酸与特定氨基酸相关。例如,三个重复的胸腺嘧啶(UUU)编码苯丙氨酸。使用三个字母,可以拥有多达64种不同的组合。由于有64种可能的三联体和仅20种氨基酸,因此认为遗传密码是多余的(或简并的):一些氨基酸确实可以由几种不同的三联体编码。但每个三联体将对应于单个氨基酸。最后,有三个三联体不编码任何氨基酸,它们代表停止(或无意义)密码子,分别是UAA,UGA和UAG 。

DNA复制

DNA复制是指DNA双链在细胞分裂以前进行的复制过程,复制的结果是一条双链变成两条一样的双链(如果复制过程正常的话),每条双链都与原来的双链一样。这个过程是通过名为半保留复制的机制来得以顺利完成的。复制可以分为以下几个阶段:

起始阶段:解旋酶在局部展开双螺旋结构的DNA分子为单链,引物酶辨认起始位点,以解开的一段DNA为模板,按照5'到3'方向合成RNA短链。形成RNA引物。

DNA片段的生成:在引物提供了3'-OH末端的基础上,DNA聚合酶催化DNA的两条链同时进行复制过程,由于复制过程只能由5'-3'方向合成,因此一条链能够连续合成,另一条链分段合成,其中每一段短链成为冈崎片段(Okazaki fragments)。

RNA引物的水解:当DNA合成一定长度后,DNA聚合酶水解RNA引物,补填缺口。

DNA连接酶将DNA片段连接起来,形成完整的DNA分子。

最后DNA新合成的片段在旋转酶的帮助下重新形成螺旋状。

希望我能帮助你解疑释惑。

深度神经网络(DNN)有哪些的弱点或明显的问题?

简单来说,卷积神经网络和循环神经网络都是深度学习的重要框架。区别在哪里呢?区别就在循环层上。卷积神经网络没有时序性的概念,输入直接和输出挂钩;循环神经网络具有时序性,当前决策跟前一次决策有关。举个例子,进行手写数字识别的时候,我们并不在意前一个决策结果是什么,需要用卷积神经网络;而自然语言生成时,上一个词很大程度影响了下一个词,需要用循环神经网络。

KDD2018精选(3)用引导特征反演解释基于DNN的预测

1.? ? 原文: Towards Explanation of DNN-based Prediction with Guided Feature Inversion

作者来自德州农机大学

关键词:机器学习解释;深度学习;中间层;引导特征反演

1.1? 引言

DNN通常可解释性不高且易受原始数据偏误影响,提高模型可解释性可优化上述两个问题。模型层面通常解释一组神经元的行为,实例层面通常解释一组数据的特征,后者比前者直观。传统实例层面通常使用局部表示方法,仅观察输入输出的相应变化,这忽略了对内部层的解释且可能导致网络本身的变化。常用的比如CNN的特征反演又不够精确。通过添加类依赖约束和利用中间激活值作为掩码的集成,本文提出了一种有监督的实例层面的DNN特征反演。

1.2? 相关工作

通过特征反演可视化DNN特征表示和基于DNN的预测的实例级解释是本文最相关的两条工作。Mahendran和Vedaldi按顺序反转来自不同层的中间CNN特征来表示对CNN的工作机制的认知。现有解释方法的很大一部分基于灵敏度分析,即根据输入计算分类输出的灵敏度。基于梯度的方法使用反向传播计算类别得分相对于输入图像的偏导数。基于扰动的解释的思路是扰乱原始输入并观察DNN模型的预测概率变化。除了这两种解释之外,最近的一些工作提出通过调查DNN隐藏层来提供解释。

1.3? 基于DNN的预测解释

这里介绍了解释基于DNN的预测的解释框架:主要思路是识别同时编码目标对象的位置信息并匹配原始图像的特征表示的图像区域。

1.3.1? ? ?问题阐述

找出输入x中的导致DNN进行预测的因素,并在图像识别上做验证:具有较高分数的像素表示分类任务的较高相关性。

1.3.2? ? ?通过特征反演进行解释

来自前几层特征的重建结果几乎保留了所有详细的图像信息,而来自最后几层的反演仅包含原始图像的粗略形状。在层1_0处反转特征表示的过程可以被视为计算表示f_l0(xa)的近似反演f-1。反演结果和原始数据的差距应尽可能小:

用于量化输入像素和输出之间的相关性的贡献分数可以从反演结果确定,预期的反转图像表示被重新表示为原始图像x_a和另一个噪声背景图像p的加权和:

这里不是直接找到反演图像表示,而是优化权重向量m。该方程不仅创建了与第1_0层的内部特征表示相匹配的图像Φ(x_a,m),而且还保留了m中的对象定位信息:

1.3.3? ? ?类区分解释

前述方法没有利用其他层的信息,也未作本地特征间的区分。为此,我们渲染引导特征重建结果Φ(xa)以强烈激活给定目标标签c的CNN的最后隐藏层L处的softmax概率值fL c,并减少对其他类的激活。

1.3.4? ? ?利用中间层的正则化

上述方法仍然具有产生不希望的伪特征的弱点,而没有对优化过程施加正则化。为了解决这个问题,我们通过利用CNN的中间激活特征在之前施加更强的自然图像。这里优化如下:

在应用于目标函数之前,我们仍然需要将掩模从小分辨率放大到与原始输入相同的分辨率,我们期望引导的反演表示Φ(x_a,m)和背景表示Φbд(x_a,m)变得不太可能受到伪像的影响。

1.4? 实验

首先,本文在模型体系结构的各种设置下可视化ImageNet数据集上的解释结果,在实验设置和可视化之后,展示在对抗性攻击下的不同CNN网络的解释结果。

其次,本文通过将其应用于弱监督对象本地化任务来测试本地化性能,在不同显著性下测试每种网络不同层的本地结果。

第三,本文讨论了算法的类可辨性,在指向游戏中的性能与Grad,Grad-CAM和基线方法中心进行比较,该中心利用图像中心作为最大点。

最后,本文通过将其应用于显着对象检测任务来评估所提出方法的引导特征反演部分,基于量化的弱监督显著物体检测。

1.5 在显著性检测中,本文在精度召回和MAE上取得了比SS和SIM更好的得分。

如何用kaldi训练好的DNN模型做在线识别

训练配置:batchsize=128caffe自有的imagenetwithcuDNN模型快于googlenetwithcuDNNVGG16层不用cuDNN慢于caffe自有的imagenetwithcuDNN模型VGG19层不用cuDNN慢于caffe自有的imagenetwithcuDNN模型一、CAFFE自带配置,使用cuDNNForward速度:220msBackward速度:360ms二、CAFFE自带配置,不使用cuDNNForward速度:300msBackward速度:410ms三、GoogleNet,使用cuDNNForward速度:614msBackward速度:1377ms四、GoogleNet,不使用cuDNNForward速度:1145msBackward速度:2009ms五、VGG16层,使用cuDNNForward速度:3101msBackward速度:8002ms六、VGG19层,使用cuDNNForward速度:3972msBackward速度:8540ms回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢!

(责任编辑:IT教学网)

更多

推荐鼠标代码文章