CNN——卷积神经网络

news2024/11/7 5:36:47

文章目录

  • 多层感知机(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.coloradmin.cn/o/1114979.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java持久层框架:MyBatis介绍

MyBatis 概述 概述 MyBatis,是支持定制化 SQL 、存储过程和高级映射的优秀持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain …

NVIDIA NCCL 源码学习(十一)- ring allreduce

之前的章节里我们看到了nccl send/recv通信的过程,本节我们以ring allreduce为例看下集合通信的过程。整体执行流程和send/recv很像,所以对于相似的流程只做简单介绍,主要介绍ring allreduce自己特有内容。 单机 搜索ring 在nccl初始化的过…

一道看似简单却易错的C语言的main函数的参数题目(海康威视的面试题)

一道海康的面试题,C语言的main函数有几个参数(多选) A:argc B:envp C:main D:argv 正确答案是:ABD 一般情况下,我们会认为是只有两个参数,因为从我们从第一…

JAVA栈、堆、方法区

一、什么是JAVA栈、堆、方法区 我们java程序的运行首先会先将.java的文件编译成.class文件,然后由JVM虚拟机的类加载器加载各个类的字节码文件到内存中进行执行,JVM虚拟机将这些数据加载到内存时会对内存进行划分为几个区域分别为栈、堆和方法区&#xf…

vue 02

目录简介 什么是渐进式框架? 就是一开始不需要你完全掌握它的全部功能特性,可以后续逐步增加功能。没有多做职责之外的事情。所以VUE的适用面很广,你可以用它代替老项目中的JQuery。也可以在新项目启动初期,有限的使用VUE的功能…

LLM ReAct: 将推理和行为相结合的通用范式 学习记录

LLM ReAct 什么是ReAct? LLM ReAct 是一种将推理和行为相结合的通用范式,可以让大型语言模型(LLM)根据逻辑推理(Reason),构建完整系列行动(Act),从而达成期望目标。LLM ReAct 可以应用于多种语言和决策任务,例如问答、事实验证、交互式决策等,提高了 LLM 的效率、…

论文导读 | 多模态知识图谱的构建

背景介绍 现有的知识图谱大多是以单一的文本的形式表示,而多模态知识图谱会将文本信息和图像等其他模态的信息综合起来。 多模态知识图谱主要分为两种表现形式,其一是将多模态信息作为实体的属性,另一种是将多模态信息作为单独的实体。 多…

uniapp接入萤石微信小程序插件

萤石官方提供了一些适用于uniapp / 小程序的方案 如 小程序半屏 hls rtmp 等 都TM有坑 文档写的依托答辩 本文参考了uniapp小程序插件 以及 萤石微信小程序插件接入文档 效果如下 1. 插件申请 登录您的小程序微信公众平台,点击左侧菜单栏,进入设置页…

QTday04(事件)

今日任务 代码&#xff1a; 头文件&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimerEvent> #include <QTime> #include <QTimer> #include <QMessageBox> #include <QTextToSpeech> #include <QD…

利用特殊反序列化组件攻击原生反序列化入口

目录 前言 本文所述攻击的本质是将上述组件中的类拼接到反序列化利用利用链中&#xff0c;打的是Serilizable入口&#xff0c;而不是特殊反序列化入口 攻击原理 利用链分析 readObject()->任意类toString() HotSwappableTargetSource & XString BadAttributeValue…

数据防泄密软件排行榜

数字化时代&#xff0c;数据已成为企业的重要资产。然而&#xff0c;数据泄露事件却时常发生&#xff0c;给企业带来巨大的经济损失和声誉风险。因此&#xff0c;数据防泄密软件的重要性日益凸显。 数据防泄密软件是什么 它是一种专门用于防止敏感数据泄露的软件工具。它通过对…

Java虚拟机常见面试题总结

梳理Java虚拟机相关的面试题&#xff0c;主要参考《深入理解Java虚拟机 JVM高级特性与最佳实践》(第2版, 周志明 著)一书&#xff0c;其余部分整合网络相关内容。注意&#xff0c;关于Java并发编程的面试题因为内容较多&#xff0c;单独整理。Java基础相关的面试题可以参考Java…

“懒宅经济”崛起,智能家电品牌快收好这份软文推广指南

目前&#xff0c;国内智能家电呈迅猛发展之势&#xff0c;"懒宅经济"崛起使智能小家电市场不断扩展&#xff0c;根据数据显示&#xff0c;目前购买智能家电的消费者大部分目的是为了节省时间&#xff0c;以及对新鲜事物有着强烈的好奇心&#xff0c;由此来看&#xf…

Pytorch从零开始实战06

Pytorch从零开始实战——明星识别 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——明星识别环境准备数据集模型选择开始训练模型可视化模型预测总结 环境准备 本文基于Jupyter notebook&#xff0c;使用Python3.8&#xff0c;Pytorch2.0.1c…

订水商城H5实战教程-01需求分析

目录 1 用户分析2 模块分析3 原型设计3.1 首页3.2 商城3.3 一键订购3.4 我的3.5 确认订单3.6 地址管理3.7 编辑地址3.8 搜索3.9 搜索结果3.10 充值3.11 我的订单3.12 开票信息3.13 优惠券3.14 我的空桶3.15 商品详情3.16 购物车3.17 门店信息3.18 订单详情 总结 生活中&#xf…

2023柏鹭杯 express fs

进去看看&#xff0c;发现有个file的参数 查看源码有个?filecheck.html&#xff0c;我们尝试?file/etc/passwd&#xff0c;发现可以直接访问任意文件&#xff0c;但是访问不到flag,可能被waf禁掉了 实际上node不能像php有伪协议可以绕&#xff0c;也没办法用什么编码绕过等&…

Android前台服务和通知

前台服务 Android 13及以上系统需要动态获取通知权限。 //android 13及以上系统动态获取通知权限 if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) {checkPostNotificationPermission(); } private void checkPostNotificationPermission() {if (ActivityCompat.chec…

xhadmin多应用Saas框架如何下载安装?

xhadmin是什么&#xff1f; xhadmin 是一套基于最新技术的研发的多应用 Saas 框架&#xff0c;支持在线升级和安装模块及模板&#xff0c;拥有良好的开发框架、成熟稳定的技术解决方案、提供丰富的扩展功能。为开发者赋能&#xff0c;助力企业发展、国家富强&#xff0c;致力于…

小白学java--垃圾回收机制(Garbage Collection)

压测过程中&#xff0c;作为测试会时不时听到研发说命中gc了&#xff0c;如果一头雾水&#xff0c;来看看什么是gc。 1、什么是垃圾回收机制 垃圾回收的执行过程会导致一些额外的开销&#xff0c;例如扫描和标记对象、回收内存空间等操作。这些开销可能会导致一定的性能损失和…