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

news2025/1/11 5:38:25
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.coloradmin.cn/o/1203764.html

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

相关文章

加速mvn下载seatunnel相关jar包

seatunnel安装的时候,居然要使用mvnw来下载jar包,而且是从https://repo.maven.apache.org 下载,速度及其缓慢,改用自己本地的mvn下载。 修改其安装插件相关脚本,复制install-plugin.sh重命名为install-plugin-mvn.sh …

【数据分享】我国独角兽企业数据(excel格式\shp格式)

企业是经济活动的参与主体。一个城市的企业数量决定了这个城市的经济发展水平!比如一个城市的金融企业较多,那这个城市的金融产业肯定比较发达;一个城市的制造业企业较多,那这个城市的制造业肯定比较发达。 本次我们为大家带来的…

论文导读 | 融合大规模语言模型与知识图谱的推理方法

前 言 大规模语言模型在多种自然语言处理相关任务上展现了惊人的能力,如智能问答等,但是其推理能力尚未充分展现。本文首先介绍大模型进行推理的经典方法,然后进一步介绍知识图谱与大模型融合共同进行推理的工作。 文章一:使用思维…

Python大神用的贼溜的九个技巧,超级实用~

文章目录 一、整理字符串输入二、迭代器(切片)三、跳过可对对象的开头四、只包含关键字参数的函数 (kwargs)五、创建支持「with」语句的对象六、用「slots」节省内存七、限制「CPU」和内存使用量八、控制可以/不可以导入什么九、实现比较运算符的简单方法…

Spring IOC - Bean的生命周期之实例化

在Spring启动流程文章中讲到,容器的初始化是从refresh方法开始的,其在初始化的过程中会调用finishBeanFactoryInitialization方法。 而在该方法中则会调用DefaultListableBeanFactory#preInstantiateSingletons方法,该方法的核心作用是初始化…

【Android】画面卡顿优化列表流畅度四之Glide几个常用参数设置

好像是一年前快两年了,笔者解析过glide的源码,也是因为觉得自己熟悉一些,也就没太关注过项目里glide的具体使用对当前业务的影响;主要是自负,还有就是真没有碰到过这样的数据加载情况。暴露了经验还是不太足够 有兴趣的…

【蓝桥杯选拔赛真题67】Scratch鹦鹉学舌 少儿编程scratch图形化编程 蓝桥杯选拔赛真题解析

目录 scratch鹦鹉学舌 一、题目要求 编程实现 二、案例分析 1、角色分析

SQL-----STUDENT

【学生信息表】 【宿舍信息表】 【宿舍分配表】 为了相互关联,我们需要在表中添加外键。在宿舍分配表中添加用于关联学生信息表的外键 student_id,以及用于关联宿舍信息表的外键 dormitory_id; sql代码 -- 创建学生信息表 CREATE TABLE st…

如何利用黑群晖虚拟机和内网穿透实现公网远程访问

文章目录 前言本教程解决的问题是:按照本教程方法操作后,达到的效果是前排提醒: 1. 搭建群晖虚拟机1.1 下载黑群晖文件vmvare虚拟机安装包1.2 安装VMware虚拟机:1.3 解压黑群晖虚拟机文件1.4 虚拟机初始化1.5 没有搜索到黑群晖的解…

NLP在网安领域中的应用(初级)

NLP在网安领域的应用 写在最前面1. 威胁情报分析1.1 社交媒体情报分析(后面有详细叙述)1.2 暗网监测与威胁漏洞挖掘 2. 恶意软件检测2.1 威胁预测与趋势分析 3. 漏洞管理和响应4. 社交工程攻击识别4.1 情感分析与实时监测4.2 实体识别与攻击者画像构建4.…

超越任务调度的极致:初探分布式定时任务 XXL-JOB 分片广播

XXL-JOB 是一个分布式任务调度平台&#xff0c;支持分片任务执行。 1. 依赖引入 在项目中引入 XXL-JOB 的相关依赖。通常&#xff0c;你需要在项目的 pom.xml 文件中添加如下依赖&#xff1a; <dependency><groupId>com.xuxueli</groupId><artifactId&…

【02】Istio流量治理

2.1 Istio流量治理 Istio的流量路由规则使运维人员可以轻松控制服务之间的流量和API调用 Istio简化了诸如断路器&#xff0c;超时和重试之类的服务级别属性的配置&#xff0c;并使其易于设置重要任务&#xff08;如A/B测试&#xff0c;canary部署和基于百分比的流量拆分的分段部…

postswigger 靶场(CSRF)攻略-- 2.令牌验证

靶场地址&#xff1a; What is CSRF (Cross-site request forgery)? Tutorial & Examples | Web Security Academy (portswigger.net)https://portswigger.net/web-security/csrf 令牌(token)验证取决于请求方法 题目中已告知易受攻击的是电子邮件的更改功能&#xff0…

汽车展示服务预约小程序的效果

汽车/摩托车/电动车等是人们主要的交通工具&#xff0c;市场各品牌及经销店非常多&#xff0c;其行业可拓展性非常强&#xff0c;因此在线下经营的同时&#xff0c;线上也同样具备获客转化品牌传播等属性。 而品牌所遇的难题也非常明显&#xff0c;那就是线上不足&#xff0c;线…

【LIUNX】配置DNS服务器

【LIUNX】配置DNS A.安装bind bind-utilsB.修改named.conf配置文件C.生成并修改uos.com.db 文件1.复制模版文件named.localhost 到文件uos.com.db2.修改uos.com.db文件 D.重启named服务E.配置DNS服务器F.测试DNS服务器 A.安装bind bind-utils yum -y install bind bind-utilso…

青少年编程学习 等级考试 蓝桥杯/NOC/GESP等比赛资料合集

一、博主愚见 在当今信息技术高速发展的时代&#xff0c;编程已经成为了一种必备的技能。随着社会对于科技人才的需求不断增加&#xff0c;青少年编程学习正逐渐成为一种趋势。为了更好地帮助青少年学习编程&#xff0c;提升他们的技能和素质&#xff0c;博主结合自身多年从事青…

《QT从基础到进阶·二十四》按钮组QButtonGroup,单选框QRadioButton和多选框QCheckBox

1、按钮组QButtonGroup 如果有多个单选按钮&#xff0c;可以统一放进一个按钮组。 图中有三个单选按钮放进了一个QGroupBox,并且设置了水平布局&#xff0c;现在要将这三个单选按钮放进一个按钮组&#xff0c;之前的想法是先把三个按钮加入按钮组&#xff0c;再把按钮组放进QG…

Redis键(Keys)

前言 在 Redis 中&#xff0c;键&#xff08;Keys&#xff09;是非常重要的概念&#xff0c;它们代表了存储在数据库中的数据的标识符。对键的有效管理和操作是使用 Redis 数据库的关键一环&#xff0c;它直接影响到数据的存取效率、系统的稳定性和开发的便利性。 本文将深入…

纯c语言模拟栈和队列(初学必看)

一、栈(Stack) 1.栈的概念及其结构 栈是一种特殊的线性表&#xff0c;在栈这个结构里&#xff0c;越先存进去的数据越难取出来。 这个结构就像是一个只有一端有打开的容器&#xff0c;越先放进去的球越在底部&#xff0c;想要把底部的球拿出来&#xff0c;就必须先把前面的求…

游戏AI:游戏开发和运营的新增长点

游戏AI&#xff08;Game AI&#xff09;是指在游戏开发运营的过程中模拟人类玩家或创建虚构性对手行为的人工智能技术。游戏AI的目标是增强游戏的互动性、可玩性和挑战性&#xff0c;使游戏中的角色能够智能地做出决策和行为。在游戏的开发和运营过程中使用人工智能技术&#x…