深度学习 --- stanford cs231学习笔记三(卷积神经网络CNN)

news2024/11/24 18:44:52

卷积神经网络CNN

 


 

1,有效的利用了图像的空间信息/局部感受野

        全连接神经网络中的神经是由铺平后的所有像素计算决定。 由于计算时是把图像的所有像素拉成了一条线,因此在拉伸的同时也损失了图像像素之间固有的空间信息。

        卷积层中的神经只由5x5x3(假设filter的尺寸为5x5x3)个像素的计算结构决定,即,由图像的一部分决定。 这样一来也就保持了图像原有的空间信息,卷积层的这一特性也被城之称局部感受野

 

局部感受野这一特性来自于一个早期的关于猫咪的实验(以下介绍引自参考文献1):

        “故事得回到20世纪60年代初,哈佛大学两位神经生物学家休伯尔David Hubel和威泽尔Torsten Wiesel,作了一个有趣的猫咪实验,见图1。他们使用幻灯机向猫展示特定的模式,然后记录猫脑中各个神经元的电活动[1]。他们发现特定的模式刺激了猫咪大脑特定部位的活动。正因为他们在视觉信息处理方面的杰出贡献,荣获了1981年诺贝尔生理学或医学奖。

        哈佛学者的实验证明,视觉特征在大脑皮层的反应是通过不同的细胞达成的。其中,简单细胞(Simple Cell)感知光照信息,复杂细胞(Complex Cell)感知运动信息。到了1980年前后,日本科学家福岛邦彦受猫咪生物实验的启发,模拟生物视觉系统并提出了一种层级化的多层人工神经网络,即“神经认知”系统,这是现今卷积神经网络的前身。在论文中,福岛邦彦提出了一个包含卷积层、池化层的神经网络结构。

福岛老爷爷今年已经88岁了,5年前他还发表了神经网络方面的研究论文。”

 

        简单来说就是就猫的神经系统而言,例如猫的大脑。当猫看到某些物体物体时,大脑中只有一部分会产生特别强烈的响应。比如说,当猫看到球形时,在猫的大脑的左上角的某块区域会产生特别强烈的响应,但其他地方则无反应。当猫猫看到三角形时,大脑的右下角某块区域又会产生特别强烈的响应,等等。

        如果再把这个实验结果和我们的全连接神经网络VS卷积神经网络来类比的话。卷积神经网络对不同事物的反映就好比是猫的大脑,是分区域响应的。而,如果猫的大脑使用的全连接神经网络模型的话,那么不论看到什么事物,猫的整个大脑都会同时产生响应。

 


 

2,卷积层的一些性质

 

2,1 卷积后activation map的尺寸

对于全连接神经网络而言,计算所产的神经元的个数等于class num。

 

对于卷积层而言,计算所产生的神经元的个数等于卷积运算后的图像尺寸

2,2 有几个filter,卷积运算的结果就有几层。

 

         下面的例子中输入图像是一个32x32x3的卡车,filter的尺寸为5x5x3,总共使用了16个不同的filter,产生了16层activation map。

 

 2,3 bias偏置项

 

        每个卷积层对应一个bias,因此有多少个filter就应该有多少个bias.


3,Pooling layer 

 

        池化即down-sample,也就是对输入数据进行下采样,经过下采样的数据长宽各缩减为原来的一半。一般常用的池化方式是max pooling。下采样的作用有二:

1,同时在水平和竖直两个方向缩小数据尺寸,节省空间

2,维持原始数据的空间不变性,即,下采样不会引入空间信息的变化。

 

 

4,CNN的大致框架结构

 

举个例子:

现有结构如下的CNN网络:input==>Conv==>ReLU==>Pool==>Conv==>ReLU==>Pool==>Conv==>ReLU==>Pool==>FC+softmax(以及在全连接层的最后一层后接softmax激活函数的FC神经网络)

(例如,在图像分类任务中,网络的最后一层可能是一个全连接层,其神经元数量等于类别数量。然后,通过softmax函数将这些神经元的输出值转换为概率分布,该网络用于预测输入图像属于每个类别的概率)

 头三层:

中间三层: 

 最后三层:

fc+softmax: 


(全文完) 

--- 作者,松下J27

 参考文献(鸣谢): 

1,猫咪怎样启发了人工神经网络的诞生?

2,Stanford University CS231n: Deep Learning for Computer Vision

3,ConvNetJS CIFAR-10 demo

 

(配图与本文无关)

版权声明:所有的笔记,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27

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

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

相关文章

JavaFX文本

另一个基本的JavaFX节点是Text节点,它允许我们在场景图上显示文本。要创建Text节点,请使用javafx.scene.text.Text类。 所有JavaFX场景节点都从javafx.scene.Node中扩展,并且它们继承了许多功能,例如缩放,翻译或旋转的…

稀疏矩阵是什么 如何求

稀疏矩阵是一种特殊类型的矩阵,其中大多数元素都是零。由于稀疏矩阵中非零元素的数量远少于零元素,因此可以使用特定的数据结构和算法来高效地存储和处理它们,从而节省存储空间和计算时间。 RowPtr 数组中的每个元素表示对应行的第一个非零元…

计算机缺失msvcr110.dll如何解决,这6种解决方法可有效解决

电脑已经成为我们生活和工作中不可或缺的工具,然而在使用电脑的过程中,我们常常会遇到一些问题,其中之一就是电脑找不到msvcr110.dll文件。这个问题可能会给我们带来一些困扰,但是只要我们了解其原因并采取相应的解决方法&#xf…

C 语言连接MySQL 数据库

前提条件 本机安装MySQL 8 数据库 整体步骤 第一步:开启Windows 子系统安装Ubuntu 22.04.4,安装MySQL 数据库第三方库执行 如下命令: sudo aptitude install libmysqlclient-dev wz2012LAPTOP-8R0KHL88:/mnt/e/vsCode/cpro$ sudo aptit…

使用Java Spring Boot生成二维码与条形码

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

导出excle表

文章目录 导出excle表需求场景引入依赖具体代码 导出excle表 需求场景 假设我们有一个需求,现在数据库中有一些用户信息,我们想要把这些信息导出到excle表格中,然后存储到本地磁盘中。要求:excle表格的第一行需要有黄色背景&…

系统报错vcruntime140_1.dll文件缺失怎么回事?多种解决方法让你对比

一、vcruntime140_1.dll常见问题与错误信息 错误信息类型 启动错误:应用程序在启动时提示缺少 vcruntime140_1.dll 文件。 运行时错误:应用程序在运行过程中突然崩溃,提示 vcruntime140_1.dll 错误。 兼容性错误:新旧版本的 V…

7z及7zip-cpp最高压缩比的免费开源压缩软件

7z介绍 7z是一种主流高效的压缩格式,它拥有极高的压缩比。在计算机科学中,7z是一种可以使用多种压缩算法进行数据压缩的档案格式。该格式最初由7-Zip实现并采用,但这种档案格式是公有的,并且7-Zip软件本身亦在GNU宽通用公共许可证…

js 前端 Function.prototype.call.call(0[‘toString‘], *, 16)

这个函数将 数组转任意进制 Function.prototype.call.call(0[toString], *, 16)

小工具开发

因不太喜欢重复性工作,为了提高日常工作效率,在业余时间开发一些小工具用于帮助自己“偷懒”。 小工具功能: 1、Hightec编译的hex文件,与多模式标定hex文件合成 2、Bootloader文件,Hightec编译的hex文件,与…

Qt画五角星,简单图表

五角星&#xff1a; 代码&#xff1a; widget.cpp #include "widget.h" #include "ui_widget.h" #include <QPaintEvent> #include <QPainter> #include <QPainterPath> Widget::Widget(QWidget *parent): QWidget(parent), ui(new U…

Mysql学习笔记-SQL优化总结

详细内容参见https://blog.csdn.net/qingwufeiyang_530/article/details/139705898?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22139705898%22%2C%22source%22%3A%22qingwufeiyang_530%22%7D

Python学习笔记11:入门终结篇

前言 入门知识到这里基本结束了&#xff0c;这里主要讲一下input和range。这两个讲完&#xff0c;讲讲后面进阶学些啥。 range函数 之前将循环的时候讲过一点&#xff0c;这个函数是Python内置的函数&#xff0c;主要用来生成一系列数字&#xff0c;简单方便。 这里重新&…

实践分享:鸿蒙跨平台开发实例

先来理解什么是跨平台 提到跨平台&#xff0c;要先理解什么是“平台”&#xff0c;这里的平台&#xff0c;就是指应用程序的运行环境&#xff0c;例如操作系统&#xff0c;或者是Web浏览器&#xff0c;具体的像HarmonyOS、Android、iOS、或者浏览器&#xff0c;都可以叫做平台…

HTTP协议版本历程

HTTP协议的发展历程 版本推出年份当前状态HTTP/0.91991年已过时HTTP/1.01996年已过时HTTP/1.11997年标准HTTP/2.02015年标准HTTP/3.02022年标准 HTTP/0.9 HTTP/0.9非常简单&#xff0c;并不涉及数据包传输&#xff0c;通过请求和响应的交换达成通信&#xff0c;请求由单行指…

【猫狗分类】Pytorch VGG16 实现猫狗分类5-预测新图片

背景 好了&#xff0c;现在开尝试预测新的图片&#xff0c;并且让vgg16模型判断是狗还是猫吧。 声明&#xff1a;整个数据和代码来自于b站&#xff0c;链接&#xff1a;使用pytorch框架手把手教你利用VGG16网络编写猫狗分类程序_哔哩哔哩_bilibili 预测 1、导包 from to…

DataWhale - 吃瓜教程学习笔记(一)

学习视频&#xff1a;第1章-绪论_哔哩哔哩_bilibili 西瓜书对应章节&#xff1a; 第一章 机器学习三观 What&#xff1a;什么是机器学习&#xff1f; 关键词&#xff1a;“学习算法” Why: 为什么要学机器学习&#xff1f; #### 1. 机器学习理论研究#### 2. 机器学习系统开…

.net8 blazor auto模式很爽(五)读取sqlite并显示(2)

在BlazorApp1增加文件夹data&#xff0c;里面增加类dbcont using SharedLibrary.Models; using System.Collections.Generic; using Microsoft.EntityFrameworkCore;namespace BlazorApp1.data {public class dbcont : DbContext{public dbcont(DbContextOptions<dbcont>…

Servlet基础(续集2)

HttpServletResponse web服务器接收到客户端的http的请求&#xff0c;针对这个请求&#xff0c;分别创建一个代表请求的HttpServletRequest对象&#xff0c;代表响应的一个HttpServletResponse 如果要获取客户端请求过来的参数&#xff1a;找HttpServletRequest如果要给客户端…

梦想编织者Luna:COZE从童话绘本到乐章的奇妙转化

前言 Coze是什么&#xff1f; Coze扣子是字节跳动发布的一款AI聊天机器人构建平台&#xff0c;能够快速创建、调试和优化AI聊天机器人的应用程序。只要你有想法&#xff0c;无需有编程经验&#xff0c;都可以用扣子快速、低门槛搭建专属于你的 Chatbot&#xff0c;并一键发布…