主流深度学习算法简介_差不多冬至~的博客-程序员宅基地_深度学习算法有哪些

技术标签: 计算机视觉  深度学习  神经网络  

**

深度学习算法简介**

1、 深度学习主流算法包括:

1.1 CNN (卷积神经网络)
卷积神经网络(CNN)是最常见的深度学习方法之 一。自20 世纪80 年代后期以来,CNN 已应用于视觉识别与分类任务,特别是LeCun 等在1998 年提出了LeNet-5,基于CNN 的相关研究随即成为研究热点,伴随图形处理(Graphical Processing Unit,GPU)计算能力的发展和大量标记数据集的出现,CNN 在算法和架构上不断改进,在各个应用场景取得了突破。
图像分类是计算机视觉中的基本问题,通常使用特征提取和分类器判别的技术架构来解决图像的分类问题。传统图像分类方法的准确性在很大程度上取决于所提取的特征,往往存在特征设计困难、面向复杂任务具有局限性、特征间的层次关系设计困难进而导致算法的泛化性能较弱等弊端。近年来的研究表明,随着数据获取方式的简化和大数据集的出现,在GPU 等芯片技术的快速发展,深度学习可以有效解决上述瓶颈问题。2012年,Krizhevsky 等使用扩展了深度的CNN 架构在ImageNet大规模视觉识别挑战竞赛中取得了最佳的分类效果,随即CNN 受到研究者们的重视,一系列网络模型的提出进一步推动了CNN 的深入研究与广泛应用。目前,CNN 已经成为大多数图像识别、分类和检测任务的领先架构,越来越多的网络架构也相继问世,包括AlexNet、Clarifai、SPP、VGG、GoogleNet、FCN、U-Net等。同时,梯度下降、参数优化策略、权重共享以及近年来神经网络架构优化(Neural ArchitectureOptimization,NAO)和元学习(meta-learning)等理论的迅速发展,使得CNN 在复杂应用场景中的优势更加明显。新型的CNN 神经网络架构表现出以多个网络或多种网络级联组合应用的新态势,神经网络形态的快速进化为纷繁复杂的科研领域提供了智能高效的数据分析手段。

1.2 RBM (受限玻尔兹曼机)
受限玻尔兹曼机(RBM)是由Hinton 和Sejnowski[16]在1986 年提出的神经网络模型,具备两层结构、层间全连接和层内无连接的特点,适用于有效地提取数据特征以及预训练传统的前馈神经网络,可明显提高网络的判别能力。其可见层所描述的是观察数据一个方面或一个特征,约束条件是可见单元和隐藏单元必须构成二分图。这种机制可用于组建更加有效的训练算法,特别是基于梯度的对比发散算法。用RBM 可以组成以下深层模型:深度置信网络(Deep Belief Network,DBN)、深度玻尔兹曼机(Deep Boltzmann Machines,DBM)和深能模型(Deep Energy Models,DEM),适用于特征提取、数据编码、构建用于监督学习的分类或回归学习模型,以及初始化神经网络等场景。

1.3 AE (自动编码器)
自动编码器是一种特殊类型的人工神经网络,用于从数据中学习有效的特征。最初也是由Hinton在2006年提出。自动编码器的几个重要变体包括:稀疏自动编码器(Sparse Auto Encoder,SAE)、去噪自动编码器(Denoising Auto Encoder,DAE)和收缩自动编码器(Contractive Auto Encoder,CAE)。在图像处理领域,原始图像像素值作为初级特征表达通常维度很高,且大多情况下存在数据冗余,因此需要采用合适的方法对图像数据进行降维或特征提取等预处理,进而得到更加简洁而有效的特征表达,以提高数据分析效率和精度,自动编码器多用于高维数据的降维处理和特征提取。

1.4 SC (稀疏编码)
稀疏编码(Sparse Coding,SC)最早由Olshausen 和Field 于1996 年提出,用于解释大脑中的初期视觉处理(比如边缘检测)。稀疏编码通过训练和学习来构建对输入数据的描述函数,通过训练来找到一组“超完备基向量(an over-complete set of basis vectors)”来表示输入数据的算法,超完备基向量能更有效地找出隐含在输入数据内部的结构与模式来重构原数据。稀疏编码的优点主要体现在:
1)可以使用高维特征,对不同类别的特
征更加易于分类;
2)稀疏性可以捕获图像的显著特性;
3)具备与生物视觉系统类似的认知方式。稀疏编码算法被广泛应用于语音信号分离、视觉图像处理、生物DNA(DeoxyriboNucleic Acid)微阵列数据分类和模式识别等领域。

1.5 RNN (循环神经网络)
循环神经网络(Recurrent Neural Network,RNN)是一类用于处理序列数据的神经网络,与“人的认知是基于过往的经验和记忆”类似,通过使用特定形式的存储器来模拟基于时间的动态变化,RNN 不仅能考虑当前的输入,而且赋予了网络对前序内容的一种“记忆”功能。这种网络结构能够直接地反映系统动态变化过程中的高度非线性和不确定性,因此适用于对时序数据规律的学
习与未来变化趋势的预测,但该方法存在梯度消失与梯度爆炸问题[。1997 年,Hochreiter 和Schmidhuber提出了长短期记忆(Long Short-Term Memory,LSTM)网络,成功解决了这一问题。LSTM 可以保持前序信息的长期存储,在语音识别、信息检索、文本分类等应用中被广泛使用,现已成为实际应用中最有效的序列模型。

2 不同算法的特点
5 种常见的深度学习算法均具备一定的泛化能力,CNN 和SC 支持数据增强,可通过对训练数据进行旋转等处理来减少一定数据采集和标记的工作量。在无监督学习、特征学习和支持生物学解释方面,各算法表现各异。不同类型的深度学习算法表现出各自不同的特点,在实际应用场景中,研究人员需要根据特定科学问题及应用场景,选择合适的算法来构建相关模型。
在这里插入图片描述
理论上,深度学习算法是通过海量数据来解决复杂问题的机器学习方法,通常在海量数据的支持下,深度学习方法的潜力才被充分释放和发挥出来,在数据量相对较小情况下,普通的机器学习方法即可满足数据建模与预测的应用需求,因而在具体应用中通常需要根据特定研究目标的数据量与应用需求来选取合适的算法。

内容来源:[1]岑海燕,朱月明,孙大伟,翟莉,万亮,麻志宏,刘子毅,何勇.深度学习在植物表型研究中的应用现状与展望[J].农业工程学报,2020,36(09):1-16.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/FJHJIUSHINIUBI/article/details/123234101

智能推荐

云计算笔记(一):基础概念_iteye_17686的博客-程序员宅基地

本文用于收集和整理云计算设计的概念。现在的云计算有些过热(“人人都在谈论它,但没有人真正知道它”),很多研究都挂上了这个名词来显示其时髦。从某种意义上讲:云计算is nothing new,只是概念的创造。重新整理了网络资源,特别适合与运营商(包括亚马逊)来整理他们的产品和服务。云计算提供了很好的梳理,梳理了信息内容提供和信息获取途径 。而云这个概念sell得好,也是由于需求推动,技术进...

Service Unavailable_jj456852的博客-程序员宅基地

官方解决办法------------------------------------------------在基于 Windows Server 2003 的域控制器上浏览 IIS 6.0 网页时,收到“Service Unavailable”(服务不可用)错误消息症状当您浏览驻留在基于 Microsoft Windows Server 2003 的域控制器上的网页时,可能会收

程序与生活:网上看的一篇文章,据说越有钱越应该看_杨友山的博客-程序员宅基地

一、钱是给内行人赚的——世界上没有卖不出的货,只有卖不出的货的人。 二、想干的人永远在找方法,不想干的人永远在找理由;世界上没有走不通的路,只有想不通的  人 三、销售者不要与顾客争论价格,要与顾客讨论价值。 四、带着目标出去,带着结果回来,成功不是因为快,而是因为有方法。 五、没有不对的客户,只有不够的服务。 六、营销人的职业信念:要把接受别人拒绝作为一种职业生活方式。

Linux下LibPLN 安装指导_Yang_XiaoYang的博客-程序员宅基地

目录第一步,安装依赖第二步,控制台环境第三步,使用CMake生成Makefile第四步,构建及安装第一步,安装依赖打开终端,输入命令,安装以下四个依赖包CMake sudo apt install cmake-qt-gui Build environment sudo apt install g++ FFTW sudo apt install libfftw3-dev Boost sudo apt ins.

数据结构day09---栈_chaRon522的博客-程序员宅基地

目录1.栈的概念2.栈的顺序存储3.栈的链式存储4.栈的应用---就近匹配1.栈的概念2.栈的顺序存储//seqStack.h#pragma once#include <string.h>#include <stdio.h>#include <stdlib.h>#include <stddef.h>//可计算偏移量#include <stdbool.h>#ifdef __cplusplusextern "C" {#e

论文翻译2(凝练):Deep SORT: Simple Online and Realtime Tracking with a Deep Association Metric_计算机视觉-Archer的博客-程序员宅基地

分配匹配自然是指:当前有效的轨迹和当前的detections之间的匹配。  有效的轨迹:是指那些还存活着的轨迹,即状态为tentative和confirmed的轨迹。  轨迹和detection之间的匹配程度:结合了运动信息和表观信息。 运动匹配度 使用detection和track在kalman 滤波器预测的位置之间的马氏距离刻画运动匹配程度。 表示第j个detectio...

随便推点

【CTF/MISC】图片隐写_mengmeng0510的博客-程序员宅基地_ctfmisc图片隐写

图片隐写题目解题思路TweakPNG工具010editer心得体会题目链接题目题目是一张PNG的图片,将图片打开之后显示如下内容:解题思路TweakPNG工具TweakPNG工具是一个可以查看PNG图片信息的工具,我们采用这个工具打开这个图片。首先弹出了一个CRC校验的错误:这时我们点击确定,便可以看到图片的详细信息:这时我们发现了一些问题,图片的像素大小是47244724,但是图片的宽和高确实500420,因此我们可以通过010editer调整图片的高度为500010editer通

攻防世界Re第一题Hello, CTF_a859900546的博客-程序员宅基地

首先判断程序是32位的;用ida打开程序,对main反汇编分析发现一段可疑字符串,继续往下分析;发现scanf读入一段字符串 存于v9,且对该字符串有输入长度限制,初步怀疑v9为用户输入的flag往下分析发现v9赋与v4,且里用sprintf()函数将v4 16进制转换为字符串后面发现buffer赋与v10后,v10与可疑字符串有比较,所以v13可能为flag尝试将v13 进行16进制到字符串转换成功!!!!完结!...

ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存_weixin_34166472的博客-程序员宅基地

hibernate :Hibernate是一个持久层框架,经常访问物理数据库。为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。Hibernate缓存包括两大类:Hibernate一级缓存和L1Hibernate二级缓存 L2。1....

模块化学习_远山眉的博客-程序员宅基地

模板系统——基本规则什么是模块化CommonJS 模块规范在Node中的JavaScript还有一个很重要的概念,模块系统模块作用域使用require放来用来加载模块使用exports接口对象用来导出模块中的成员加载required语法:var 自定义变量名称 = require('模块');两个作用:执行被加载模块中的代码得到被加载模块中的exports导出接口...

读书笔记:SAFNet_赫瑟尔的博客-程序员宅基地

文献待写代码部分(291, 306, 1)torch.Size([20220, 1, 7, 7])torch.Size([5055, 1, 7, 7])torch.Size([89046, 1, 7, 7])Creating dataloader[Epoch: 1] [loss avg: 62.1554] [current loss: 0.1116]98.22Save model![Epoch: 2] [loss avg: 9.4708] [current loss:

【Linux】KVM命令_一个纸杯的博客-程序员宅基地

查看运行的虚拟机virsh list查看所有的虚拟机(关闭和运行的虚拟机)virsh list --all连接虚拟机virsh console +域名(虚拟机的名称)退出虚拟机ctrl+]关闭虚拟机virsh shutdown +域名 这个时候我在virsh list发现 test02这个虚拟机还是在运行的,并没有关闭。我们需要安装一个acpid的服务并启动它,什么是ACPI?ACPI是Advan

推荐文章

热门文章

相关标签