Lesson 6 Convolutional Neural Network(CNN)

news2024/11/23 8:34:27

听课(李宏毅老师的)笔记,方便梳理框架,以作复习之用。本节课主要讲了CNN的适用范围,整体架构与工作流程,CNN的应用,CNN的缺点以及解决方法。

1. CNN的输入与输出

CNN是专门为了图像而设计的一种网络架构

1.1 输出

CNN的输出是一个向量,每一个元素都代表了属于该类的得分。举例来说,在训练时,通过使下图的两个向量的交叉熵最小,达到最佳的训练效果。
在这里插入图片描述

1.2 输入

一张100*100的彩色图片将分为三个channel,代表RGB,将三个tensor拉长,组成了右边的很长的列向量
在这里插入图片描述

2. 在图像识别时是否真的需要全连接网络?

一个图像经常是几百几千的像素,而且还是三个channel, 那么这么长的向量输入进去,如果每一个都要跟不同的权重参数相乘,比如我们有1000个神经元,那么我们需要1001003*1000个权重参数。虽然这样模型的弹性将会非常大,但是容易造成overfitting,况且计算时间也会很久
在这里插入图片描述

3. observation 1:识别关键部分

我们在设置神经元的时候,不用让一个神经元看整张图片,而是看最关键的部分。
在这里插入图片描述
具体怎么看关键的部分呢?我们先引入一个概念——receptive field。将这个333的立方体拉长展开成右侧的这个长向量,输入进神经元。
在这里插入图片描述

在这里插入图片描述
常见的设置如下:

  • kernel size:333(但是一般将深度省略)
  • stride:2 步长为2,表示每次向右或者向下移动receptive field两格
  • 可以重叠
  • 不够了可以用0补全
  • 每个receptive field通常配置64个神经元监视
    在这里插入图片描述
    一直移动直到这个立方体的右下角,那么receptive fields将会覆盖整张图片。

4. observation 2:相同的关键部分出现在不同的区域

4.1 从神经元角度讲述

如果因为receptive field不一样,监测receptive field的相同的pattern的神经元不一样,那么参数量也太大了。
在这里插入图片描述
所以我们提出了一种方法——parameter sharing
就是指receptive field不一样,但权重参数却一样。但是一个receptive field的两个神经元不会共享参数。
在这里插入图片描述
这里的神经元我们有一个专门的名字来称呼——filter
在这里插入图片描述

4.2 小结

在这里插入图片描述

4.3 从filter角度讲述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这步就是要看哪个receptive field跟filter更接近(就是更像关键部位),越接近分越高

第一个filter做完之后按照同样的方法做filter2,形成了两层,我们称之为feature map
在这里插入图片描述

4.4 两种角度的对比

在这里插入图片描述
在这里插入图片描述

5. observation 3: 子采样不会改变图片

由于有时图片数据量过于庞大,可以考虑采用子采样,不会太影响图片,又减少了计算量。

5.1 池化的具体过程(以max pooling为例)

在这里插入图片描述
在这里插入图片描述
通常情况下是2次conv1次pooling,或者1次conv1次pooling

5.2 小结

在这里插入图片描述

6. CNN应用

6.1 AlphaGo

在这里插入图片描述
为什么AlphaGo能用CNN做呢?
其实我们可以把一个小棋局看成是一个pattern,而这个pattern可能出现在棋盘的任意位置
在这里插入图片描述
pooling对于CNN来说并不是绝对要用的,我们要明确pooling的本质是子采样用以减少计算量,但是如果计算量不大就没必要采用pooling,采用了说不定还不准确,所以AlphaGo就完全没用pooling
在这里插入图片描述

6.2 speech and NLP

在这里插入图片描述

7. CNN的缺点

如果给CNN训练时的图是上面这个小狗,但是让他去识别下面这个小狗,可能不一定识别成功,因为CNN是无法处理放大缩小旋转的。
但是这还是有解决方法的——Data Augmentation. 在训练的时候,就对训练集中的数据进行放大缩小旋转,丰富我们的数据集
在这里插入图片描述

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

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

相关文章

allegro PCB设计心得笔记(二) -- ERROR(SPMHUT-144): Illegal arc specification

使用Allegro PCB Editor设计PCB,其中使用了中文丝印,设计完成后,进行Tools -> Database Check,提示如下错误: 对PCB文件进行反复检查,也没有找到具体问题,但是删除中文丝印封装后&#xff0c…

算法---滑动窗口练习-1(长度最小的子数组)

长度最小的子数组 1. 题目解析2. 讲解算法原理3. 编写代码 1. 题目解析 题目地址:长度最小的子数组 2. 讲解算法原理 首先,定义变量n为数组nums的长度,sum为当前子数组的和,len为最短子数组的长度,初始值为INT_MAX&am…

Rust入门:C++和Rust动态库(dll)的相互调用

无论是C调用Rust动态库还是Rust调用C动态库,其操作基本都是一样地简单,基本和C调用C的动态库没什么区别,只需要列出所需要导入的函数,并链接到相应的lib文件即可。 这里,在windows中,我们以dll动态库为例说…

初窥机器学习

人工智能 近几年来,人工智能(AI)已成为家喻户晓的术语,我们在游戏、电影(还记得J.A.R.V.I.S吗?)和书籍中经常看到它的提及和描绘,但人工智能究竟是什么呢? 人工智能简单…

考察1学生学籍系统winform .net6 sqlserver

考察1学生学籍系统winform .net6 sqlserver 下载地址: 考察1学生学籍系统winform .net6 sqlserver winform(.net6)sqlserver数据库 只有数据库的表结构需要自己建表 启动程序 登录失败 进入主界面 项目获取: 项目获取:typora: typora/img (gitee.com…

【Docker】容器的生态系统

Docker提供了一整套技术支持,包括核心技术、平台技术、支持技术。 核心技术 容器核心技术是指能让Container(容器)在host(集群、主机)上运行起来的那些技术。 1)容器规范:OCI(runt…

Twitter广告投放技巧

明确目标受众: 确定你的目标受众,包括他们的兴趣、地理位置、年龄等。Twitter提供了广告定位选项,确保你的广告被展示给最相关的用户。 使用吸引人的图像和视频: 在Twitter上,图像和视频是引起关注的关键。确保你的广…

数据结构与算法第五套大题

1.图的最小生成树,各边权值之和: E{(1,5),(5,2),(5,3),(3,4)},W10 2.平均查找长度: 方法论: 直接将其变成一颗二叉树,然后计算每个节点的数学期望*比较次数之和/7 比如: 15为1/7,只需要比较一次…

数据库系统概念(第一周)

⚽前言 🏐四个基本概念 一、数据 定义 种类 特点 二、数据库 三、数据库管理系统(DBMS) 四、 数据库系统(DBS) 🏀数据库系统和文件系统对比 文件系统的弊端 🥎数据视图 数据抽象 …

【阿里云系列】-基于云效构建部署NodeJS项目到ACK

准备工作 01、编写Dockerfile文件可以根据不同的环境,新建不同的Dockerfile文件,比如Dockerfile-PROD # Deliver the dist folder with NginxFROM nginx:stable-alpine ENV LANGC.UTF-8 ENV TZAsia/ShanghaiCOPY dist/ /usr/share/nginx/html COPY ngi…

5.BOM-操作浏览器(BOM、插件、本地存储)

BOM // BOM操作:操作浏览器(通过js的方式实现浏览器中的某些功能)// a)通过js的方式实现页面刷新效果// b)通过js的方式,实现浏览器的上一页、下一页// c)通过js的方式,实现页面的跳转Window对象 window是浏览器对象,又称为顶级对…

Google如何快速抓接口导入到postman调试

Google如何快速抓接口导入到postman调试 1、F12选择对应接口,右键后复制接口连接信息 2、打开postman,点击import 3、在raw text都粘贴 4、点击continue后,导入就可以了

音视频开发_视频基础知识

RGB彩色原理 RGB 是表示红色 (Red)、绿色 (Green) 和蓝色 (Blue) 三种颜色的色彩模式,这是一种加色法。在 RGB 色彩模式中,通过不同比例的红、绿、蓝三原色的混合可以得到各种不同颜色。这是因为人眼对红、绿、蓝三种颜色特别敏感,通过它们的…

前端页面访问后台hiveserver2,阶段性报错

1、运行环境 Windows11下安装VMware,VMware下安装CentOS7 Linux系统,三台虚拟机集群部署hadoop,安装hive; 在Linux下安装Eclipse,创建maven工程,使用hive-jdbc-2.3.2访问hiveserver2 2、在windows11下&…

成都爱尔林江院长解析巩膜镜是什么?它适合哪些人群

巩膜镜,全称为硬性透氧性巩膜接触镜,它有着特殊设计,大直径镜片像桥梁一样呈拱形覆盖角膜及角巩膜缘,从角膜上方横跨而过完全无接触、无任何机械性摩擦,最终贴合于巩膜。 巩膜镜的作用原理 光学成像: 配戴…

【嵌入式】嵌入式系统稳定性建设:最后的防线

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟。提供嵌入式方向的学习指导、简历面…

OxyPlot图表曲线图学习笔记(winform)

一、学习OxyPlot 开源地址:https://github.com/oxyplot/oxyplot 最新版:v2.1.2 新建winform,nuget中添加依赖包 二、写代码 2.1 BarSeries 2.2 ScatterSeries 2.3 LineSeries (带指向箭头) int pointCount 50; double[] xs …

C# Channel的入门与应用

C# Channel的入门与应用 1. 入门 Channel 是微软在 .NET Core 3.0 以后推出的新的集合类型,该类型位于 System.Threading.Channels 命名空间下,具有异步 API 、高性能、线程安全等等的特点。目前,Channel 最主要的应用场景是生产者-消费者模…

​FastIce-Tech 企业官网开源模版:专为中小企业设计的轻量级网址

标题:FastIce-Tech 企业官网开源模版:专为中小企业设计的轻量级网址 中小企业在建立企业官网时常常面临着时间、资源和技术的限制。为了解决这些问题,FastIce-Tech 企业官网开源模版应运而生。它是一个基于 Vue.js、ElementUI 和 Vue-Router …

帮管客CRM(jiliyu)接口SQL注入漏洞

文章目录 前言声明一、漏洞描述二、影响版本三、漏洞复现四、修复建议 前言 帮管客CRM客户管理系统专注于为企业提供crm客户关系管理、crm管理系统、crm软件产品及企业销售管理流程解决方案服务,助力企业业绩增长。 声明 请勿利用文章内的相关技术从事非法测试,由…