11-13 周一 同济子豪兄CNN卷积神经网络学习记录

11-13 周一 同济子豪兄CNN卷积神经网络学习记录
时间版本修改人描述
2023年11月13日14:02:14V0.1宋全恒新建文档
2023年11月13日19:05:29V0.2宋全恒完成 大白话讲解卷积神经网络的学习

简介

 为了深入理解CNN,进行B站 同济子豪兄深度学习之卷积神经网络的学习.

主要内容

P1卷积与卷积神经网络

 所有的分类神经网络是大同小异的。

  • 卷积层
  • 池化层

softmax, sigmoid

 卷积的基本操作

 黄色的数字不变,代表kernel, 3 x 3的核,原始图像进行滑动。 进行加权和提取特征。卷积核看到的地方就是感受野。

卷积核工作方式

 为什么要在边上补充0呢?为了放置边缘像素丢失。在外圈补0,可以让边缘的像素呗关注到。

 经过卷积之后得到feature map,特征图。

 每个图像经过一个卷积核进行卷积之后得到一个特征图。如果图像是三个通道,那么卷积核也是一个深度为3的图像。

P2卷积中各种参数的交互式演示

 卷积的动作示意图参见

 下个图演示了两个卷积核操作:

有多少个卷积核,就有多少个feature map.

每一个卷积核,就得到一个特征图。然后将所有的特征map进行池化。

 下图演示了经过1*1卷积核,把4个通道压缩成了一个平面。

可以看到,每个卷积核操作之后得到都是一个单通道的图像。下图中出现了偏置项,是一个变量,维度与卷积核数量相同。

P3多通道图像的卷积

 下图演示了,使用3 * 3 * 3得到了一个特征图 4 * 4 * 1

 不同的卷积核作用不同:

P4直观理解多通道图像卷积

 多通道卷积的示意可以参考 3D图像

三维通向的卷积核也是三维的立方体,而经过卷积之后得到特征图是一个平面,变成一个平面。可以理解,特征图为从原图抽取的特征。

卷积核的大小(深度)与原图(深度)相同

P5池化层与全连接层

 卷积特征(Convolved feature)和池化特征(Pooled feature),可以认为池化特征更加高维,和抽象。

池化又称为降采样。可以大而化之的减少特征。

池化的作用

池化的作用:

  • 减少参数量
  • 防止过拟合

 将池化之后的特征拉平成一个长向量。

池化的方式

 下图给出了池化的两种方式:

P6卷积神经网络各层的作用

 卷积神经网络的整体结构示意如:

 卷积神经网络有平移不变性。而池化是平移不变性的根源。

P7在线交互式卷积神经网络演示-手写数字识别

卷积核是由大量的样本经过反向传播,梯度下降学习,迭代产生的。最后使得分类非常准确。

P8卷积神经网络的鼻祖-LeNet-5

 LeNet–5模型是Yann LeCun教授于l998年在论文Gradient-based learnirg applied to document recognition中提出的,它是第一个成功应用于数字识别问题的卷积神经网络。LNet-5模型一共有7层。当年美国大多数银行就是用它来识别支票上面的手写数字的,它是早期卷积神经网络中最有代表性的实验系统之一.Yann LeCun教授不是中国人,是法国人,在上世纪80年代读博期间提出“人工神经网络”,但后来该理论一度被认为过时,他本人甚至被拒绝参加学术会议。

 这是Yann LeCun教授的论文历史

 子豪兄的手绘

 同济子豪兄在阅读这个论文之后分析:

7层卷积神经网络,用于手写数字识别:充分利用CNN局部感受野,权值共享,下采样的特点,保证平移,缩放,变形的不变形。

 问题: 为啥C3层的参数为(5 * 5 * 6 +1) * 16 =2416

参数量计算

 参数量询问了ChatGPT,可以看到具体如下的参数量计算:

局部感受野 权值共享 下采样概念

 MNIST数据集60000张,测试集 10000张

 可解释性不强:

 可解释性较强: SVM, 朴素贝叶斯, 决策树

P9各种各样的卷积动图演示

 介绍了这个项目conv_arithmetic

 转置卷积,反卷积里upsampling, d convolution. 把小的变成大的。可以看成卷积的逆操作。

大白话讲解卷积神经网络。

 卷积神经网络是一个函数, B站视频链接

 经过平移缩放,旋转都能正确的识别:

卷积运算

 卷积核运算的过程如下:

 简单理解示意如下:

 不同的卷积核得到不同的特征。

池化

 池化一般方式有最大值池化和平均值池化。

 池化会保留代表性特征

 zero padding 代表使用最外圈补0.

 由下图可以看到,池化依旧保留了原图的特征

归一化- Normalization

修正线性单元在梯度下降中比其他的激活函数好很多。

 经过卷积, 激活和池化之后得到了一组特征图:

 三个可以作为一个单元多次重复。

全连接层

 即Flatten。

投票 加权求和。

 全连接可以放很多层:

问题

 这些魔法数字从哪里雪莱的,卷积层中的特征。

  • BackPropagation。反向传播的算法。将损失函数最小化。

 李飞飞 image-net

 超参数:相当于放好一个框架,然后通过误差最小化优化框架的各个参数。

 不仅仅处理2D数据,也可以处理3D图像。 声音也可以转化为类似的结构

 Text

 卷积神经网络对于excel的表格不能很好的表示。

 总结,在分类图片上非常有用。

 2012 Alexnet

 2014 GoogleNet VGG(迁移学习中表现良好)

 2015年 ResNet, 微软, 152层, 通过残差学习的方法训练模型。

ResNet在2015年被提出,152层,不仅仅靠深度取胜,而是通过采用残差学习的方法训川练模型。在2015年ImageNet比赛classification任务上获得第一名,因为它"简单与实用"并存,减少了参数数量,衍生出ResNet50和ResNet101这样的旁支,Alpha zero(只训川练8个小时就打败了AlphaGo)也使用了ResNet。作者何凯明是2003年广东省理科高考状元,本科毕业于清华大学,博士毕业于香港中文大学,真正的doctor(图像去雾)。

总结

 最近一直想要弄清楚这个CNN的工作,并且要能够使用CNN完成自己的神经网络,至少在计算视觉领域能够分析,以及典型的计算机视觉,NLP,语音处理相关的工作。CNN都是一个相对来说比较有用的工作。

 所以深度学习框架,Tensorflow或者Pytorch都是非常重要的。自己在这方面的积累真的太少了。要尽快的学习,加速自己对于机器学习的沉淀,投入时间,换取成长。

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

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

相关文章

Halcon WPF 开发学习笔记(3):WPF+Halcon初步开发

文章目录 前言在MainWindow.xaml里面导入Halcon命名空间WPF简单调用Halcon创建矩形简单调用导出脚本函数 正确显示匹配效果 前言 本章会简单讲解如何调用Halcon组件和接口,因为我们是进行混合开发模式。即核心脚本在平台调试,辅助脚本C#直接调用。 在M…

实验一 Anaconda安装和使用(Python程序设计实验报告)

实验一 Anaconda安装和使用 一、实验环境 Python集成开发环境IDLE/Anaconda 二、实验目的 1.掌握Windows下Anaconda的安装和配置。 2. 掌握Windows下Anaconda的简单使用,包括IDLE、Jupyter Notebook、Spyder工具的使用。 3. 掌握使用pip管理Python扩展库…

【Python大数据笔记_day04_Hadoop】

分布式和集群 分布式:多台服务器协同配合完成同一个大任务(每个服务器都只完成大任务拆分出来的单独1个子任务) 集群:多台服务器联合起来独立做相同的任务(多个服务器分担客户发来的请求) 注意:集群如果客户端请求量(任务量)多,多个服务器同时处理不同请求(不同任务),如果请求量…

【入门Flink】- 08Flink时间语义和窗口概念

Flink-Windows 是将无限数据切割成有限的“数据块”进行处理,这就是所谓的“窗口”(Window)。 注意:Flink 中窗口并不是静态准备好的,而是动态创建——当有落在这个窗口区间范围的数据达到时,才创建对应的窗…

IDEA 关闭SpringBoot启动Logo/图标

一、环境 1、SpringBoot 2.6.4 Maven POM格式 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.4</version><relativePath/></parent> 2、IDE…

OpenCV:图像噪点消除与滤波算法

人工智能的学习之路非常漫长&#xff0c;不少人因为学习路线不对或者学习内容不够专业而举步难行。不过别担心&#xff0c;我为大家整理了一份600多G的学习资源&#xff0c;基本上涵盖了人工智能学习的所有内容。点击下方链接,0元进群领取学习资源,让你的学习之路更加顺畅!记得…

【hcie-cloud】【3】华为云Stack规划设计之华为云Stack交付综述【上】

文章目录 前言华为云Stack交付综述交付流程华为云Stack交付流程华为云Stack安装部署流程 交付工具链华为云Stack交付工具链eDesigner - 让解决方案销售更智能eDesigner配置页面 - 基本信息eDesigner配置页面 - 服务及组网配置eDesigner配置页面 - 弹性云服务器/ECSeDesigner配置…

带头双向循环链表

文章目录 概述初始化销毁插入删除遍历打印 概述 带头双向循环链表&#xff1a;结构最复杂&#xff0c;一般用在单独存储数据。实际中使用的链表数据结构&#xff0c;都是带头双向循环链表。另外这个结构虽然结构复杂&#xff0c;但是使用代码实现以后会发现结构会带来很多优势…

11.读取文件长度-fseek和ftell函数的使用

文章目录 简介1. 写入测试文件2. 读取文件长度 简介 主要讲使用fopen读取文件&#xff0c;配合使用fseek和ftell来读取文件长度。1. 写入测试文件 执行下方程序&#xff0c;使用fwrite函数写入40字节的数据&#xff0c;使其形成文件存入本地目录。#define _CRT_SECURE_NO_WARNI…

CCF ChinaSoft 2023 论坛巡礼 | 编译技术与编译器设计论坛

2023年CCF中国软件大会&#xff08;CCF ChinaSoft 2023&#xff09;由CCF主办&#xff0c;CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办&#xff0c;将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

JVS低代码表单自定义按钮的使用说明和操作示例

在普通的表单设计中&#xff0c;虽然自带的【提交】、【重置】、【取消】按钮可以满足基本操作需求&#xff0c;但在面对更多复杂的业务场景时&#xff0c;这些按钮的显示控制就显得有些力不从心。为了更好地满足用户在表单操作过程中的个性化需求&#xff0c;JVS低代码推出了表…

接口测试--知识问答

1 做接口测试当请求参数多时tps下降明显&#xff0c;此接口根据参数从redis中获取数据&#xff0c;每个参数与redis交互一次&#xff0c;当一组参数是tps5133&#xff0c;五组参数是tps1169&#xff0c;多次交互影响了处理性能&#xff0c;请详细阐述如何改进增进效果的方案。 …

软件外包开发的需求表达方法

软件开发需求的有效表达对于项目的成功至关重要。无论选择哪种需求表达方法&#xff0c;清晰、详细、易于理解是关键。与开发团队建立良好的沟通渠道&#xff0c;确保他们对需求有充分的理解&#xff0c;并随着项目的推进及时调整和更新需求文档。以下是一些常用的需求表达方法…

Django下的Race Condition漏洞

目录 环境搭建 无锁无事务的竞争攻击复现 无锁有事务的竞争攻击复现 悲观锁进行防御 乐观锁进行防御 环境搭建 首先我们安装源码包&#xff1a;GitHub - phith0n/race-condition-playground: Playground for Race Condition attack 然后将源码包上传到Ubuntu 为了方便使…

【Linux】虚拟机连不上外网 (ping www.baidu.com不通)

进入linux系统&#xff0c;打开终端&#xff0c;ping www.baidu.com 发现ping不通 首先我连接的是nat模式 查看是否连接上自己本机的网 切换root用户 使用 ifconfig 命令查看是eth0 还是 ens33 vi /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPROTOstatic ONBOOTyes …

openGauss学习笔记-122 openGauss 数据库管理-设置密态等值查询-密态支持函数/存储过程

文章目录 openGauss学习笔记-122 openGauss 数据库管理-设置密态等值查询-密态支持函数/存储过程122.1 创建并执行涉及加密列的函数/存储过程 openGauss学习笔记-122 openGauss 数据库管理-设置密态等值查询-密态支持函数/存储过程 密态支持函数/存储过程当前版本只支持sql和P…

带有密码的Excel只读模式,如何取消?

Excel文件打开之后发现是只读模式&#xff0c;想要退出只读模式&#xff0c;但是只读模式是带有密码的&#xff0c;该如何取消带有密码的excel只读文件呢&#xff1f; 带有密码的只读模式&#xff0c;是设置了excel文件的修改权限&#xff0c;取消修改权限&#xff0c;我们需要…

2.7 CE修改器:多级指针查找

在本步骤中&#xff0c;你需要使用多级指针的概念来查找健康值真正的地址并修改它。多级指针就是一个指针的指针&#xff0c;也就是第一个指针指向第二个指针&#xff0c;第二个指针指向第三个指针&#xff0c;以此类推&#xff0c;最终指向你想要访问的地址。 首先&#xff0…

MAC在Linux上上传本地文件压缩包(tomcat)解决方法(炒鸡详细)

要将文件压缩包上传到Linux云服务器&#xff0c;并在服务器上解压打开&#xff0c;你可以使用以下步骤&#xff1a; 在本地的Mac上&#xff0c;将要上传的文件或文件夹压缩成一个压缩包&#xff08;如zip或tar.gz格式&#xff09;。 使用SSH连接到Linux云服务器。你可以使用Te…

【深度学习实验】网络优化与正则化(三):随机梯度下降的改进——Adam算法详解(Adam≈梯度方向优化Momentum+自适应学习率RMSprop)

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 导入必要的库1. 随机梯度下降SGD算法a. PyTorch中的SGD优化器b. 使用SGD优化器的前馈神经网络 2.随机梯度下降的改进方法a. 学习率调整b. 梯度估计修正 3. 梯度估计修正&#xff1a;动量法Momen…