CNN——卷积神经网络

文章目录

  • 多层感知机(MLP,Multilayer Perceptron)
  • 神经网络定义
  • MLP与神经网络的异同
    • 相同之处:
    • 不同之处:
    • 总结
  • 为什么要使用神经网络
  • CNN
    • 卷积层:
    • 池化层:
    • 全连接层:
  • 卷积神经网络的优势
  • padding的作用

多层感知机(MLP,Multilayer Perceptron)

MLP是一种基于前馈神经网络(Feedforward Neural Network)的深度学习模型,由多个神经元层组成,其中每个神经元层与前一层全连接。多层感知机可以用于解决分类、回归和聚类等各种机器学习问题。
MLP也叫人工神经网络(ANN,Artificial Neural Network),除了输入输出层,它中间可以有多个隐层,最简单的MLP只含一个隐层,即三层的结构,如下图:

神经网络定义

神经网络(Neural Network)是一种受到生物神经系统启发的计算模型,用于模拟和解决各种机器学习和人工智能任务。它由多个互连的节点(或神经元)层次结构组成,每一层都包含多个神经元,这些神经元之间通过带有权重的连接相互链接。神经网络的核心思想是通过学习这些权重来执行复杂的任务,例如分类、回归、图像识别、自然语言处理和控制等

结构:神经网络通常包括输入层、隐藏层(可以有多层)和输出层。每一层都由多个神经元组成,它们之间通过连接进行信息传递。

权重:权重是每个连接的参数,决定了信号如何在网络中传播。通过训练,神经网络会自动调整这些权重以适应特定任务。

激活函数:激活函数用于引入非线性性质,使神经网络能够学习复杂的函数。常见的激活函数包括Sigmoid、ReLU(Rectified Linear Unit)和Tanh等。

前向传播:在前向传播过程中,输入数据从输入层流向输出层,通过层与层之间的权重和激活函数的组合来生成预测结果。

反向传播:反向传播是神经网络的训练过程,它使用损失函数来计算预测与实际值之间的误差,然后通过链式法则来更新权重,以减小误差。

MLP与神经网络的异同

相同之处:

MLP是神经网络的一种,它们都由神经元和层组成,可以用于各种机器学习任务。它们都使用激活函数来处理输入数据。

不同之处:

MLP是神经网络的一个子集,而神经网络是一个更广泛的概念,可以包括各种不同类型的结构,如卷积神经网络(CNN)和循环神经网络(RNN)。MLP通常是前馈的,而神经网络可以包括循环连接和卷积结构,适用于不同类型的数据和任务。

总结

多层感知机是神经网络的一种特定形式,用于监督学习任务,而神经网络是一个更通用的术语,包括多种不同类型的网络结构

为什么要使用神经网络

自动特征提取:神经网络能够自动学习特征,不需要手动提取特征,这有助于简化问题的处理
在机器学习中进行分类任务,我们首先就需要明确特征标签,而特征数目的选取将决定模型的好坏,征数目过少,欠拟合,如果特征数目过多,过拟合,意味着我们需要花费大量时间精力在特征工程上

适用性广泛:神经网络在各种领域中都表现出色,包括图像识别、语音识别、自然语言处理、推荐系统、控制系统等。它们可以用于解决多种复杂的问题。

非线性建模:神经网络通过激活函数引入非线性,可以处理复杂的非线性关系,这在许多现实世界问题中非常重要。

可扩展性:神经网络可以根据任务的复杂性进行扩展,可以构建深度神经网络(深度学习)来解决更复杂的问题。

泛化能力:当经过训练后,神经网络通常能够很好地泛化到之前未见过的数据,这是因为它们具有适应新数据的能力

CNN

卷积神经网络(Convolutional Neural Network,CNN)是传统神经网络的一个改进,它包括三个基本层

卷积层:

CNN的核心是卷积层,这些层使用卷积操作来提取图像中的特征。卷积操作通过滑动一个小的滤波器(卷积核)在输入图像上,将局部区域与滤波器进行卷积操作,从而捕捉特定特征,例如边缘、纹理等。
img
卷积可以理解为一种类似于加权运算的操作

在进行卷积操作之前,需要定义一个过滤器(卷积核),其中的每一格都有一个权重值。

卷积的过程是将每个格子中的权重值与图片对应的像素值相乘并累加,所得到的值就是特征图FeatureMap(经过卷积运算后的神经元集合)中的一个值。

注意:

  • 卷积核的通道数与输入数据的通道数相同
  • 卷积核的个数与输出的通道数相同

池化层:

在卷积层之后,通常会添加池化层。池化层通过取局部区域的最大值或平均值来降低特征图的维度,从而减小计算复杂度并提取最重要的信息。

全连接层:

在卷积和池化层之后,通常有一个或多个全连接层,用于将提取的特征映射到最终的分类或回归结果

CNN通过“局部连接”和“参数共享”可以更高效地完成图像识别任务

局部连接:每个神经元不再和上一层的所有神经元连接,而只和上一层相邻的局部区域内的神经元连接。
参数共享:在卷积的过程中,一个卷积核内的参数是共享的

卷积神经网络的优势

特征学习:CNN 能够自动学习图像的特征,无需手动提取特征。这使得它们非常适合图像处理任务,如图像分类、物体检测和图像分割。

平移不变性:CNN 使用卷积操作来捕获局部特征,具有平移不变性。这意味着模型能够识别相同特征的不同实例,无论它们在图像中的位置如何。

参数共享:卷积层中的参数共享使得网络更加高效,减少了需要训练的参数数量,降低了过拟合的风险。

适用性广泛:CNN 不仅仅适用于图像处理,还可用于其他网格结构数据的处理,如文本分类和音频识别。

深度学习:CNN 可以扩展为深度卷积神经网络,即深度学习模型,可以处理更复杂的问题,并在大规模数据上取得显著的性能提升。

padding的作用

由于过滤器(卷积核)在移动到边缘的时候就结束了,中间的像素点比边缘的像素点参与计算的次数要多。因此越是边缘的点,对输出的影响就越小,我们就有可能丢失边缘信息。

为了解决这个问题,可以进行填充(padding),即在图片外围补充一些像素点,并将这些像素点的值初始化为0。

特征图尺度计算与参数共享:
(输入尺寸+2*填充尺寸-卷积核大小)/ 移动步长 + 1

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言练习94:分割链表

分割链表 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你不需要 保留 每个分区中各节点的初始相对位置。 示例 1: 输入:head [1,4,3,2,5,2], x…

TikTok Shop美国本土店VS跨境店,浅析与选择

TikTok不仅仅是一个用于分享有趣短视频的平台,它也逐渐成为了商家们极力推广自己品牌和产品的场所。 在TikTok的商业生态系统中,存在几种不同的商店类型,各有其独特性和适用场景。今天,我们就来深入探讨这些店的差异与特点。 一、…

vuecli2关于下载本地取环境变量没问题部署后路径取不到环境变量问题解决

功能 下载功能,用a标签实现下载 代码错误思路分析 解决办法可以忽略直接看下面 解决思路 在每个config文件中都定义了file_url,本地运行没有问题,但是部署到服务器开发环境, 拿到的是生产环境的FILE_URL地址 首先看了流水线-构建配置-编译配置-编译脚本里的打包命令: ** 本…

数据挖掘原理与算法

一、什么是闭合项集? Close算法对Apriori算法的改进在什么地方? 闭合项集:就是指一个项集x,它的直接超集的支持度计数都不等于它本身的支持度计数。 改进的地方: 改进方向: 加速频繁项目集合的生成,减少数据库库的扫…

微信小程序数据交互------WXS的使用

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《Spring与Mybatis集成整合》《Vue.js使用》 ⛺️ 越努力 &#xff0c;越幸运。 1.数据库连接 数据表结构&#xff1a; 数据测式&#xff1a; 2.后台配置 pom.xml <?xml version&quo…

重磅发布!RflySim Cloud 智能算法云仿真平台亮相,助力大规模集群算法高效训练

RflySim Cloud智能算法云仿真平台&#xff08;以下简称RflySim Cloud平台&#xff09;是由卓翼智能及飞思实验室为无人平台集群算法验证、大规模博弈对抗仿真、人工智能模型训练等前沿研究领域研发的平台。主要由环境仿真模块、物理效应计算模块、多智能体仿真模块、分布式网络…

基于Java的图书商城管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

CICD 流程学习(四)搜素服务与消息队列

一 搜索服务 1 Lucene概念 Lucene是一种高性能、可伸缩的信息搜索 (IR)库&#xff0c;在2000年开源&#xff0c;最初由鼎鼎大名的Doug Cutting开发。是基于Java实现的高性能的开源项目 Lucene采用了基于倒排表的设计原理&#xff0c;可以非常高效地实现文本查找&#xff0…

香港服务器在国内访问太慢怎么能提高?

​  一直以来&#xff0c;全球化业务需求的增长是跟随着蓬勃向上的互联网而发展的。有了网络&#xff0c;海外贸易就在鼠标的轻点中完成。而IDC市场中的香港服务器也因为免备案政策的特性&#xff0c;开始逐渐成为企业想要跨越地域壁垒而考虑的对象。但在使用过程中&#xff…

14.10 Socket 套接字选择通信

对于网络通信中的服务端来说&#xff0c;显然不可能是一对一的&#xff0c;我们所希望的是服务端启用一份则可以选择性的与特定一个客户端通信&#xff0c;而当不需要与客户端通信时&#xff0c;则只需要将该套接字挂到链表中存储并等待后续操作&#xff0c;套接字服务端通过多…

QML中常见模型使用

目录 引言基础知识简单模型重复模型常见视图ListViewRepeater ListModelQbjectModel容器模型数组QStringListQList<XX *> QAbstractItemModelQSortFilterProxyModel 总结 引言 Qt Quick的基础组件中大量使用到模型&#xff0c;如ListView、Repeater等。视图所支持模型类…

爬虫学习日记第八篇(爬取fofa某端口的协议排行及其机器数目,统计top200协议)

需求 找到最常用的200个协议 通过fofa搜索端口&#xff0c;得到协议排名前五名和对应机器的数目。 遍历端口&#xff0c;统计各个协议对应的机器数目&#xff08;不准&#xff0c;但能看出个大概&#xff09; 读写API API需要会员&#xff0c;一天只能访问1000次。 import…

SpringBoot常见异步编程,你会多少?

微信公众号访问地址&#xff1a;SpringBoot常见异步编程&#xff0c;你会多少&#xff1f; 近期热推文章&#xff1a; 1、springBoot对接kafka,批量、并发、异步获取消息,并动态、批量插入库表; 2、SpringBoot用线程池ThreadPoolTaskExecutor异步处理百万级数据; 3、基于Redis…

【C++面向对象】2.构造函数、析构函数

文章目录 【 1. 构造函数 】1.1 带参构造函数--传入数据1.2 无参构造函数--不传入数据1.3 实例1.4 拷贝构造函数 【 2. 析构函数 】 【 1. 构造函数 】 类的构造函数是类的一种特殊的成员函数&#xff0c;它会 在每次创建类的新对象时执行。 构造函数的名称与类的名称是完全相同…

2023年中国自动排气阀产业链、市场规模及存在问题分析]图[

自动排气阀是一种用于排除管道、容器或设备中累积的空气或气体的装置。在液体流动系统中&#xff0c;气体或空气可能会积聚在管道或容器中&#xff0c;影响流体流动、导致气锁和能效降低。自动排气阀的作用是在系统中的气体达到一定压力时&#xff0c;自动地释放气体&#xff0…

非关系型数据库-Redis

一、缓存概念 缓存是为了调节速度不一致的两个或多个不同的物质的速度&#xff0c;在中间对速度较慢的一方起到加速作用&#xff0c;比如CPU的一级、二级缓存是保存了CPU最近经常访问的数据&#xff0c;内存是保存CPU经常访问硬盘的数据&#xff0c;而且硬盘也有大小不一的缓存…

Java并发面试题:(五)volatile关键字

volatile 是什么 一旦一个共享变量&#xff08;类的成员变量、类的静态成员变量&#xff09;被volatile修饰之后&#xff0c;那么就具备了两层语义&#xff1a; 1&#xff09;保证了不同线程对这个变量进行操作时的可见性&#xff0c;即一个线程修改了某个变量的值&#xff0c…

python控制负数以16进制整型格式输出

实际使用时候&#xff0c;发现 python输出负数进程是 十进制和16进制一样的&#xff0c;就是16进制多了一个负号&#xff0c;和预期结果不同&#xff1b;比如我想要 -1输出 0xFFFFFFFF&#xff0c;可以参考如下方式&#xff1b; def TestPrintf(): ret -3print("test1 r…

Linux | gdb的基本使用

目录 前言 一、调试文件的生成 二、调试指令 1、选择调试文件 2、查看代码 3、运行代码 4、断点 5、打印与常显示 6、其他 总结 前言 前面我们学习了如何使用gcc/g来进行对代码进行编译&#xff0c;本章我们将使用gdb来对代码进行调试&#xff0c;学习本章的前提是有…

【专题】测试人员为什么需要学会做业务总结?

背景 如何回答以下这个问题的知识支撑&#xff1a;系统的测试重点在哪&#xff0c;难点是什么&#xff0c;怎么攻克&#xff0c;为什么要这样设计&#xff1f;项目交接效率&#xff1f; 同样是做业务测试&#xff0c;为什么有的人是A有的人只能C 二、框架 2.1 测试场景 重点…