人工智能之卷积神经网络(CNN)

前言:今天我们重点探讨一下卷积神经网络(CNN)算法。 _

20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络CNN(Convolutional Neural Networks)。

1980年,K.Fukushima提出的新识别机是卷积神经网络的第一个实现网络。随后,更多的科研工作者对该网络进行了改进。其中,具有代表性的研究成果是Alexander和Taylor提出的“改进认知机”,该方法综合了各种改进方法的优点并避免了耗时的误差反向传播。

现在,CNN已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。

blob.png

CNN 概念:

在机器学习中,卷积神经网络CNN(Convolutional Neural Network)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,可以应用于语音识别、图像处理和图像识别等领域。

CNN 引入意义:

全连接神经网络中(下面左图),每相邻两层之间的每个神经元之间都是有边相连的。当输入层的特征维度变得很高时,这时全连接网络需要训练的参数就会增大很多,计算速度就会变得很慢。

而在卷积神经网络CNN中(下面右图),卷积层的神经元只与前一层的部分神经元节点相连,即它的神经元间的连接是非全连接的,且同一层中某些神经元之间的连接的权重w和偏移b是共享的,这样大量地减少了需要训练参数的数量

blob.png

CNN 核心思想:

CNN 模型限制参数了个数并挖掘了局部结构。主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。局部感受视野,权值共享以及时间或空间亚采样这三种思想结合起来,获得了某种程度的位移、尺度、形变不变性。通过“卷积核”作为中介。同一个卷积核在所有图像内是共享的,图像通过卷积操作后仍然保留原先的位置关系。

blob.png

CNN 实质:

CNN 在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对卷积网络加以训练,网络就具有输入输出对之间的映射能力。卷积网络执行的是有导师训练,所以其样本集是由形如:(输入向量,理想输出向量)的向量对构成的。所有这些向量对,都应该是来源于网络即将模拟的系统的实际“运行”结果。它们可以是从实际运行系统中采集来的。在开始训练前,所有的权都应该用一些不同的小随机数进行初始化。“小随机数”用来保证网络不会因权值过大而进入饱和状态而导致训练失败;“不同”用来保证网络可以正常地学习。

CNN 基本结构:

卷积神经网络CNN的结构一般包含下面几层:

blob.png

  1. 输入层:用于数据的输入。

  2. 卷积层:卷积层是卷积核在上一级输入层上通过逐一滑动窗口计算而得,卷积核中的每一个参数都相当于传统神经网络中的权值参数,与对应的局部像素相连接,将卷积核的各个参数与对应的局部像素值相乘之和,得到卷积层上的结果。一般地,使用卷积核进行特征提取和特征映射。

blob.png

l 特征提取:每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;

l 特征映射:网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。

卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。

  1. 激励层:由于卷积也是一种线性运算,因此需要增加非线性映射。使用的激励函数一般为ReLu函数:f(x)=max(x,0)。

blob.png

  1. 池化层:进行下采样,对特征图稀疏处理,减少数据运算量。通过卷积层获得了图像的特征之后,理论上可以直接使用这些特征训练分类器(如softmax),但这样做将面临巨大的计算量挑战,且容易产生过拟合现象。为了进一步降低网络训练参数及模型的过拟合程度,需要对卷积层进行池化/采样(Pooling)处理。池化/采样的方式通常有以下两种:a)Max-Pooling: 选择Pooling窗口中的最大值作为采样值;b)Mean-Pooling: 将Pooling窗口中的所有值相加取平均,以平均值作为采样值。

blob.png

  1. 全连接层:CNN尾部进行重新拟合,减少特征信息的损失。

blob.png

  1. 输出层:用于最后输出结果。

CNN 训练过程:

1 )向前传播阶段:

a)从样本集中取一个样本(X,Yp),将X输入网络;

b)计算相应的实际输出Op。

在本阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程。在此过程中,网络执行的是计算,实际上就是输入与每层的权值矩阵相点乘,得到最后的输出结果:

Op=Fn(…(F2(F1(XpW(1))W(2))…)W(n))

2 )向后传播阶段:

a)计算实际输出Op与相应的理想输出Yp的差;

b)按极小化误差的方法反向传播调整权矩阵。

CNN 优点:

  1. 输入图像和网络的拓扑结构能很好的吻合;

  2. 尽管使用较少参数,仍然有出色性能;

  3. 避免了显式的特征抽取,而隐式地从训练数据中进行学习;

  4. 特征提取和模式分类同时进行,并同时在训练中产生,网络可以并行学习;

  5. 权值共享减少网络的训练参数,降低了网络结构的复杂性,适用性更强;

  6. 无需手动选取特征,训练好权重,即得特征,分类效果好;

  7. 可以直接输入网络,避免了特征提取和分类过程中数据重建的复杂度。

blob.png

CNN 缺点:

  1. 需要调整参数;

  2. 需要大样本量,训练最好要GPU;

  3. 物理含义不明确,神经网络本身就是一种难以解释的 “黑箱模型”。

CNN 常用框架:

1) Caffe: 源于Berkeley的主流CV工具包,支持C++,python,matlab; Model Zoo中有大量预训练好的模型供使用;

2) Torch: Facebook用的卷积神经网络工具包,通过时域卷积的本地接口,使用非常直观; 定义新网络层简单

3) TensorFlow Google的深度学习框架;TensorBoard可视化很方便;数据和模型并行化好,速度快

CNN 应用场景:

应用场景包括机器学习、语音识别、文档分析、语言检测和图像识别等领域。

特别强调的是:CNN在图像处理和图像识别领域取得了很大的成功,在国际标准的ImageNet数据集上,许多成功的模型都是基于CNN的。CNN相较于传统的图像处理算法的好处之一在于:避免了对图像复杂的前期预处理过程,可以直接输入原始图像。

blob.png

结语:

卷积神经网络CNN是近年发展起来,并引起广泛重视的一种高效识别方法。卷积神经网络以其局部权值共享的特殊结构在模式识别方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度。CNN算法在人工智能之机器学习、语音识别、文档分析、语言检测和图像识别等领域等领域有着广泛应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/332620.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

详解IP安全:IPSec协议簇 | AH协议 | ESP协议 | IKE协议_ipsec esp

目录 IP安全概述 IPSec协议簇 IPSec的实现方式 AH(Authentication Header,认证头) ESP(Encapsulating Security Payload,封装安全载荷) IKE(Internet Key Exchange,因特网密钥…

分布式文件系统协议:NFS(Network File System)网络文件系统

文章目录 NFS名词解释NFS的历史版本NFS支持的操作系统NFS工作原理NFS使用的端口NFS的认证机制NFS的优点NFS使用场景推荐阅读 NFS名词解释 NFS(Network File System)网络文件系统是一种分布式文件系统协议,最初由Sun Microsystems开发&#x…

Vue中的日历组件 Calendar 实现 考勤打卡记录

日历组件 Calendar 可以自定义在页面添加内容。 实现效果图 1.由于Calendar没有右上角月份切换的API事件,可以给组件源码添加自定义添加一个事件 2.也可以通过自带的input事件来获取日历 3.vue页面完整代码 注释:this.$m(this.beginTime).format(…

揭秘程序栈:你的代码在幕后是怎么运行的?

计算机科学中,许多概念和原理可能会让开发者感到头疼,比如程序栈。这个看似晦涩的概念,实对我们理解程序运行至关重要。本文将以通俗易懂的方式,带你深入理解程序栈的工作原理和优化策略。 一、为什么需要栈? 栈是一…

Jupyter-Notebook无法创建ipynb文件

文章目录 概述排查问题恢复方法参考资料 概述 用户反馈在 Notebook 上无法创建 ipynb 文件,并且会返回以下的错误。 报错的信息是: Unexpected error while saving file: Untitled5.ipynb attempt to write a readonly database 排查问题 这个是一个比较新的问…

保姆版Vps安装灯塔(ARL)

因为灯塔的默认端口为5003,所以我们在安装之前就在防火墙里把我们的5003端口打开 打开端口步骤如下: 1.我们打开控制面板,在控制面板里点击 系统和安全 。如下图: 2.接着点击 Windows Defender防火墙,如下图: 3.再…

IPhone、IPad、安卓手机、平板以及鸿蒙系统使用惠普无线打印教程

演示机型:惠普M281fdw,测试可行机型:惠普M277,惠普M452、惠普M283 点击右上角图标。 点击WI-FI Direct 开,(如果WI-FI Direct关闭,请打开!) 记录打印机的wifi名称(SSID)和密码。 打开IPhone、I…

kotlin Kmp多平台模板生成

地址: Kotlin Multiplatform Wizard | JetBrains 可生成kotlin多个平台模板 https://terrakok.github.io/Compose-Multiplatform-Wizard/

冻结Prompt微调LM: PET(b) LM-BFF

PET-TC(B) paper b: 2020.9 It’s not just size that matters: Small language models are also few-shot learners. Prompt: 多字完形填空式人工Prompt Task:Text Classification Model: Albert-xxlarge-v2 Take Away: 支持多字的完形填空Prompt&a…

vue中父组件异步传值,渲染问题

vue中父组件异步传值&#xff0c;渲染问题 父组件异步传值&#xff0c;子组件渲染不出来。有如下两种解决方法&#xff1a; 1、用v-if解决&#xff0c;当父组件有数据才渲染 <Child v-if"dataList && dataList.length > 0" :data-list"dataLis…

09 STM32 - PWM

9.1 PWM简介 脉冲宽度调制(Pulse Width Modulation,简称PWM)&#xff0c;是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点&#xff0c;就是对脉冲宽度的控制。 9.2 PWM波原理 如下图所示&#xff0c;使用定时器定时&#xff0c;从0开始&#x…

抽象类(没有对象)之引用对象失败之谜

&#x1f468;‍&#x1f4bb;作者简介&#xff1a;&#x1f468;&#x1f3fb;‍&#x1f393;告别&#xff0c;今天 &#x1f4d4;高质量专栏 &#xff1a;☕java趣味之旅 欢迎&#x1f64f;点赞&#x1f5e3;️评论&#x1f4e5;收藏&#x1f493;关注 &#x1f496;衷心的希…

第十二章 Spring Cloud Alibaba Sentinel

文章目录 前言1、简介1.1、基本概念 2、Sentinel控制台3、Sentinel开发流程3.1、 app-api消费端工程引进依赖3.1.1、yml新加配置&#xff08;跟nacos同级&#xff09; 3.2、定义资源3.3、定义规则3.3.1、流量控制3.3.2、流控模式3.3.3、流控效果3.3.4、熔断降级3.3.5、通过Naco…

基于springboot+vue的社区团购系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

腾讯云MPS为出海媒体企业助力

在如今互联网发达的时代&#xff0c;一个视频通过网络发布即可供给全球用户进行观看。其中视频媒体企业便其中的领头先锋&#xff0c;为了让创作者们以及全球各大用户的视频进行快速推广&#xff0c;出海则是不二之选。但是因为各地区域的不同&#xff0c;带宽的不同与网络的限…

【EI会议征稿通知】第四届工业制造与结构材料国际学术会议(IMSM 2024)

第四届工业制造与结构材料国际学术会议&#xff08;IMSM 2024&#xff09; 2024 4th International Conference on Industrial Manufacturing and Structural Materials&#xff08;IMSM 2024&#xff09; 第四届工业制造与结构材料国际学术会议&#xff08;IMSM 2024&#x…

WordPress怎么禁用文章和页面古腾堡块编辑器?如何恢复经典小工具?

现在下载WordPress最新版来搭建网站&#xff0c;默认的文章和页面编辑器&#xff0c;以及小工具都是使用古腾堡编辑器&#xff08;Gutenberg块编辑器&#xff09;。虽然有很多站长说这个编辑器很好用&#xff0c;但是仍然有很多站长用不习惯&#xff0c;觉得操作太难了&#xf…

Spring Boot自动配置原理

1.SpringBootApplication注解 springboot是基于spring的新型的轻量级框架&#xff0c;最厉害的地方当属**自动配置。**那我们就可以根据启动流程和相关原理来看看&#xff0c;如何实现传奇的自动配置 SpringBootApplication//标注在某个类上&#xff0c;表示这个类是SpringBo…

微软与沃达丰签订10年合作,提供Copilot等生成式AI服务

1月16日&#xff0c;微软在官网宣布&#xff0c;与全球最大电信公司之一沃达丰&#xff08;Vodafone&#xff09;签订10年合作协议&#xff0c;将为3亿多企业、消费者提供生成式AI、云和数字服务等。 通过此次合作&#xff0c;沃达丰将利用微软的Copilot等生成式AI来改变客户、…

基于麻雀优化算法SSA的CEEMDAN-BiLSTM-Attention的预测模型

往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测&#xff08;一&#xff09;数据集介绍和预处理-CSDN博客 风速预测&#xff08;二&#xff09;基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…