深度学习|CNN卷积神经网络
CNN卷积神经网络
- 解决的问题
- 人类的视觉原理
- 原理
- 卷积层——提取特征
- 池化层——数据降维
- 全连接层——输出结果
- 应用
- 图像处理
- 自然语言处理
解决的问题
在CNN没有出现前,图像对人工智能来说非常难处理。
主要原因:
- 图像要处理的数据量太大了。图像由像素组成,每个像素又由不同颜色组成,一张1000×1000彩色RGB图像需要的参数是1000×1000×3,需要三百万参数左右,普通神经网络会全用全连接方法来学习整幅图像上的特征,处理起来无论是计算还是存储都需要很大的资源。
- 很难保留图像特征。一张图像做了一些翻转、旋转、缩放的那个操作的时候,线性向量表示会发生很大的变化,机器没法认为是同一张图。而CNN能够让机器“以视觉的方式看待图像数据”,能利用视觉原理捕获到图像数据中的特征。
人类的视觉原理
深度学习是基于神经网络的实现的,而神经网络是一种模仿生物神经网络结构和功能的数学模型或计算模型。所以深度学习的许多研究成果,离不开对大脑认知原理的研究。CNN就借鉴了人类视觉系统层次结构。
人类的视觉原理:瞳孔摄入原始像素信号,然后大脑皮层某些细胞发现边缘和方向,大脑进行抽象判断特征例如物体形状,最后再进一步做出判断例如物体是个人。
下图是一个大脑进行人脸识别的示例图:
通过模仿人类的视觉原理的特点,来构造神经网络,低层的识别图像初级特征,若干曾底层特征组成更上一层的特征,最终通过多个层级组合,在顶层做出分类判断。
原理
CNN(Convolutional Neural Network,卷积神经网络)结构可以分为3层:卷积层、池化层和全连接层。
卷积层——提取特征
卷积层(Convolutional Layer) :主要作用是提取特征。
过程:一个过滤器(卷积核,Filter)来过滤图像各个小区域,从而得到各个小区域的特征。卷积层通过卷积核的过滤提取出图片中局部的特征,与人类视觉的特征提取类似。
实际应用的时候,往往会有很多种卷积核,不同卷积核识别不同的图像模式,也就是不同的特征。
池化层——数据降维
池化层(Max Pooling Layer) :提取某个区域的总结特征,主要作用是下采样(Downsampling),能够数据降维,但是不会损坏识别结果。
原因:做完卷积后的图像依然很大,1000*1000经过10种卷积核后,得到1000×1000×10,维度非常大。通过池化层,能降低数据大小,同时不会对识别结果造成破坏。
池化层函数:是一种统计函数,通常由最大池化(提取区域内的最大特征)、平均池化(提取区域内的平均特征)、混合池化等。
过程:下图采用最大池化策略,对4×4的矩阵按照2×2进行分开,每个2×2取最大值保留下来。
好处:除了降低参数量,还有个优点就是能够避免过拟合。池化是提取某个区域的总结特征,是对某个区域全局的考量,减少了对具体像素的依赖性,从而降低了过拟合风险。例如某个点其实是噪声,但是池化总结特征的时候被舍弃了,就没有影响;如果不池化,后续调参的时候还会考虑到噪声。
全连接层——输出结果
全连接层(Fully Connected Layer):主要作用是分类。通过卷积层和池化层的出来的特征,需要让全连接层对前面总结好的特征做分类判断。
过程:“全连接”前层网络中的所有神经元都与下一层的所有神经元连接。
应用
图像处理
- 图像分类(Image Classification):判断图片中的物体属于哪一个类别。
举例:LeNet-5用来对手写字体识别,被认为是最早的CNN模型,作者LeCun Y也被誉为CNN之父。 - 图像分割(Image Segmentation):为图片每个对象创造一个像素级别的掩膜。
分类:语义分割和实例分割。
语义分割(Semantic Segmentation):为图像中的每个像素分配一个类别,但是同一类别之间的对象不会区分。
实例分割(Instance Segmetation):实例分割还会对同一类别的对象进行区分。
下图中左边是语义分割,右边是实例分割:
- 目标检测(Object Detection):目标定位并且能对目标物体进行分类。
与目标定位的区别:目标定位通常是针对单个检测对象,而目标检测能检测多个对象。此外,图像分类也是针对单个对象的。
与图像分割的区别:目标检测和目标定位都只是定位出目标的位置,通常是用一个方框表示,而图像分割则是每个像素属于那个对象,对象的轮廓会更加清楚。
- 超分辨率(Super-Resolution):提高原有图像的分辨率。
自然语言处理
除了在图像处理领域,CNN 在自然语言处理(Natural Language Processing,NLP)也有应用。
输入:任何矩阵都可以作为CNN的输入,所以输入也可以是词向量组成的矩阵,即矩阵每一行代表一个词,也可以是一个字符。
卷积:过滤器“宽度”通常和输入矩阵的宽度相同,也就是输入的词向量大小;高度可能会有所不同,也每次卷积多少个词。
池化:进一步降低参数量,避免过拟合,例如最大池化、平均池化。
相关文章:

深度学习|CNN卷积神经网络
CNN卷积神经网络 解决的问题人类的视觉原理原理卷积层——提取特征池化层——数据降维全连接层——输出结果 应用图像处理自然语言处理 解决的问题 在CNN没有出现前,图像对人工智能来说非常难处理。 主要原因: 图像要处理的数据量太大了。图像由像素组…...

【洁洁送书第五期】为什么我们要了解可观测性工程
导读 可观测性已成为一个热门话题,并广受关注。随着它的普及,“可观测性”不幸被误作“监控”或“系统遥测”的同义词。可观测性是软件系统的一个特征。而且,只有当团队采用新的实践进行持续开发时,才能在生产软件系统中有效利用这…...

将vue项目通过electron打包成windows可执行程序
将vue项目打包成windows可执行程序 1、准备好dist将整个项目打包 npm run build2、安装electron依赖 npm install electron --save-dev npm install electron-packager --save-dev"electron": "^13.1.4", "electron-packager": "^15.2.0…...

【0基础入门Python Web笔记】三、python 之函数以及常用内置函数
三、python 之函数以及常用内置函数 函数函数定义函数调用函数参数返回值 常用内置函数input()函数range()函数其它 更多实战项目可进入下方官网 函数 函数是一种用于封装可重复使用代码块的工具,能够将一系列操作组织成一个逻辑单元。 函数定义 在Python中&…...

相交链表00
题目链接 相交链表 题目描述 注意点 保证 整个链式结构中不存在环函数返回结果后,链表必须 保持其原始结构如果 listA 和 listB 没有交点,intersectVal 为 0 解答思路 两个链表从头开始遍历,如果其是在同一个位置处相交,则在…...

怎样压缩mp4视频大小?
怎样压缩mp4视频大小?由于视频文件的体积通常比其他类型的文件更大,因此它们需要更多的存储空间来保存。但是,如果我们的设备、应用程序或平台不支持某些视频格式或分辨率,或者我们没有足够的存储空间来容纳这些大型视频文件&…...
ubuntu20.04 安装使用 Indemind 双目相机
1、先按照官方wiki搭建环境 Ubuntu 安装 — IMSEE SDK 1.4.2 文档(ubuntu20使用官网会报错,可以参考我下面的步骤) 1.1、获取代码 sudo apt-get install git git clone https://github.com/indemind/IMSEE-SDK.git 1.2、准备依赖 cd <…...

一文读懂设备管理系统:是什么、谁需要、怎样选
工业的迅猛发展让人类向前迈出了史无前例的步伐,工业4.0将我们又带入了一个信息化技术促进工业变革的新时代——智能化时代。一台台机器设备是工业发展史上必不可少的参与者,但企业对设备的管理存在种种痛点,比如生产设备多,但备件…...

删除链表的中间节点
题目: 示例: 思路: 这个题类似于寻找链表中间的数字,slow和fast都指向head,slow走一步,fast走两步,也许你会有疑问,节点数的奇偶不考虑吗?while执行条件写成fast&&…...

Q/GDW 1597-2015《国家电网公司应用软件系统通用安全要求》
电力安全测试报告 电力行业检测标准 随着信息技术的快速发展和广泛应用,应用软件系统已成为企业信息化建设中不可或缺的重要组成部分。然而,应用软件系统的安全问题也随之而来,给企业和用户带来了潜在的风险和威胁。为了提高应用软件系统的…...
【前端从0开始】CSS——12、光标属性
光标属性 cursor 属性规定要显示的光标的类型(形状)。 该属性定义了鼠标指针放在一个元素边界范围内时所用的光标形状(不过 CSS2.1 没有定义由哪个边界确定这个范围)。 属性名效果crosshair精确定位“十”字形pointer“小手”形…...

文件四剑客
目录 前言 一、正则表达式 二、grep 三、find 四、sed 五、awk 前言 文件四剑客是指在计算机领域中常用的四个命令行工具,包括awk、find、grep和sed。它们在处理文本文件和搜索文件时非常强大和实用。 1. awk是一种强大的文本处理工具,它允许用户根据指…...

使用lambda表达式提取共用代码使其更加简洁
1、在开发预下单接口访问并发问题出现需要加锁代码如下 RLock lock redissonClient.getLock(String.format(appointmentKey, activityId, studentId));try {boolean tryLock lock.tryLock(10, 20, TimeUnit.SECONDS);if (tryLock) {AppointmentMallOrderInfoDTO appointmentM…...
【八股】2023秋招八股复习笔记3(智力题 非技术题50道)
文章目录 1、智力题赛⻢问题烧绳⼦问题找出最重球问题药丸问题有两个杯⼦,囚犯问题⽣孩⼦问题赢汽⻋问题卡牌问题拿硬币问题量⽔问题聚会问题数字游戏问题艾滋病问题找出变质药问题毒药问题分盐问题弹球问题病狗问题⽕⻋运煤问题分苹果问题分⾦条问题搬⾹蕉问题舀酒…...
服务器卡顿如何排查?
服务器网络卡,一般情况下,请先检查您服务器的使用情况。 1.CPU使用率是否大于50%。 2.网络使用率是否过高。 3.内存使用率是否过高。 如果出现上述情况,则表明您的服务器或网络无法承载您目前的服务,请联系技术人员调整您的资…...

设计模式——开闭原则
文章目录 基本介绍看下面一段代码方式 1 的优缺点改进的思路分析 基本介绍 开闭原则(Open Closed Principle)是编程中最基础、最重要的设计原则 一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽…...
服务器能运行什么应用
服务器能运行什么应用 服务器是一种应用范围很广的网络技术产品,它在影视、视频以及医疗和金融等多个领域,都可以发挥使用价值,那么服务器能运行什么应用?大家跟着壹基比小鑫一起来了解吧! 服务器的作用是什么? 服…...

Linux TCP协议
传输层的协议主要有三个:TCP协议(可靠)、UDP协议(不可靠)和SCPT协议(不可靠)。 一、TCP协议的概念 TCP协议也称传输控制协议,是一种可靠的、面向连接的、基于字节流的传输层通信协…...

pytorch 入门1-tensor 广播 view reshape
tensor 的四则运算broadcast import torch import numpy as np # 张量tensor 随机初始化 x torch.rand(4,3) print(x) y torch.randn(4,3) print(y)# 初始化全零 张量 a torch.zeros((4,4),dtypetorch.long) print(a) #初始化全一 张量 b torch.ones(4,4) print(b) c tor…...
Spring参数注解,支持数组入参(List)校验
Spring参数注解,支持数组入参(List)校验 1、controller类增加Validated注解,对应的数组参数增加Valid注解。 Validated RestController RequestMapping("/parent") public class ParentController {private FatherRepos…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...

如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...