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

卷积神经网络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.mzph.cn/diannao/28469.shtml

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

相关文章

57.Linux/Unix 系统编程手册(下) -- SOCKET : Unix domain

https://blog.51cto.com/u_15567199/5204540 【linux网络编程】容错处理文件 wrap.h、wrap.c_wx623c6c9. // 容错处理 wrap.h #ifndef _WRAP_H_ #define _WRAP_H_#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <error.h> #i…

LViT: 语言与视觉Transformer在医学图像分割中的应用| 文献速递-深度学习结合医疗影像疾病诊断与病灶分割

Title 题目 LViT: Language Meets Vision Transformer in Medical Image Segmentatio LViT: 语言与视觉Transformer在医学图像分割中的应用 01 文献速递介绍 医学图像分割是医学图像分析中最关键的任务之一。在临床实践中&#xff0c;准确的分割可以帮助医生诊断疾病&…

js继承,原型链继承,构造函数继承,组合式继承,原型式继承,寄生式继承,组合寄生式继承,extends继承

继承的理解&#xff0c;复用父类的属性和方法并增加新的属性和方法 目录 1. 原型链继承&#xff1a; 2. 构造函数继承 3. 组合式继承 4. 原型式继承 5. 寄生式继承 6. 组合寄生式继承 7. extends继承 1. 原型链继承&#xff1a; 父类构造函数的实例赋值给子类原型 func…

谷粒商城实战(033 业务-秒杀功能4-高并发问题解决方案sentinel 2)

Java项目《谷粒商城》架构师级Java项目实战&#xff0c;对标阿里P6-P7&#xff0c;全网最强 总时长 104:45:00 共408P 此文章包含第332p-第p335的内容 熔断降级 开启对Feign远程服务的熔断保护机制 feign.sentinel.enabletrue 这里我们只是调用方加就行 被调用方不用加 正常…

C调用C++中的类

文章目录 测试代码 测试代码 在C语言中调用C类&#xff0c;需要遵循几个步骤&#xff1a; 在C代码中&#xff0c;确保C类的函数是extern “C”&#xff0c;这样可以防止名称修饰&#xff08;name mangling&#xff09;。 使用头文件声明C类的公共接口&#xff0c;并且为这个…

JS如何判断一个对象是否为数组?

在JavaScript中&#xff0c;有多种方法可以判断一个对象是否为数组。以下是一些常用的方法&#xff1a; 使用Array.isArray()方法&#xff1a; 这是ECMAScript 5.1引入的一个方法&#xff0c;专门用于判断一个对象是否为数组。 let obj [1, 2, 3]; console.log(Array.isA…

NetSuite Saved Search 之 Filter By Summary

在某些业务场景中&#xff0c;用户需要一个TOP X的报表。例如&#xff0c;过去一段时间内&#xff0c;最多数量的事务处理类型。这就需要利用Saved Search中的Filter By Summary功能。 这在Criteria下的Summary页签里可以定义。其作用是对Result中Summary类型的结果进行过滤。也…

华为od-C卷200分题目 - 1分月饼

华为od-C卷200分题目 - 1分月饼 题目描述 中秋节&#xff0c;公司分月饼&#xff0c;m个员工&#xff0c;买了n个月饼&#xff0c;m<n&#xff0c;每个员工至少分1个月饼&#xff0c;但可以分多个&#xff0c; 单人分到最多月饼的个数是Max1&#xff0c;单人分到第二多月饼…

Flutter 实现StackAllocator简化FFI局部变量的内存管理

文章目录 前言一、为何简化&#xff1f;1、通常做法2、简化 二、完整代码三、使用示例1、局部内存管理2、支持嵌套 总结 前言 使用Flutter通过FFI调用c库的时候&#xff0c;经常需要传字符串或者一些指针变量&#xff0c;这里变量通常都是局部变量&#xff0c;在一个代码块运行…

Spock mock私有方法

mock私有方法 ‍ 被测试的方法是MiddleGroundAppListBO​类下的getPromptIdKeyAppPromptInfoMap方法 private Map<Long, AppPromptInfoModel> getPromptIdKeyAppPromptInfoMap(String cubeAppIdentity) {List<AppPromptInfoDO> promptByApp knowledgeCubeQueryR…

轻松实现服务器事件主动推送到web端!Spring SseEmitter 详解

SseEmitter 是 Spring Framework 中用于服务器发送事件&#xff08;Server-Sent Events, SSE&#xff09;的类。SSE 是一种允许服务器推送更新到客户端的技术&#xff0c;通常用于实时更新的场景&#xff0c;如股票价格、实时消息、游戏状态等&#xff0c;又或者想要实现像Chat…

Vue52-scoped样式

一、scoped样式的作用 1-1、scoped样式的作用 vue中组件的样式都是汇总到一起的。容易出现一个问题&#xff1a;类名冲突。 示例&#xff1a; school和student组件的类名都叫demo&#xff0c;则student的样式将覆盖school的样式&#xff0c;因为App.vue中&#xff0c;先引入的…

Kubernetes (K8s) 和 Spring Cloud 的区别

Kubernetes (K8s) 和 Spring Cloud 是两种常用的云原生技术&#xff0c;它们在微服务架构和云计算领域中扮演着重要的角色。尽管两者都有助于开发和部署微服务&#xff0c;但它们的功能和目标存在显著差异。本文将详细讨论 Kubernetes 和 Spring Cloud 的区别&#xff0c;从它们…

NLP主流大模型如GPT3/chatGPT/T5/PaLM/LLaMA/GLM的原理和差异有哪些-详细解读

自然语言处理&#xff08;NLP&#xff09;领域的多个大型语言模型&#xff08;如GPT-3、ChatGPT、T5、PaLM、LLaMA和GLM&#xff09;在结构和功能上有显著差异。以下是对这些模型的原理和差异的深入分析&#xff1a; GPT-3 (Generative Pre-trained Transformer 3) 虽然GPT-4…

Rocky Linux安装Docker

简介&#xff1a; Red Hat Enterprise Linux (RHEL): RHEL 是由 Red Hat 公司开发和维护的企业级操作系统。 它是基于开源社区的 Fedora 项目&#xff0c;但提供了商业支持和服务&#xff0c;面向企业用户。 RHEL 提供了稳定、可靠和高性能的操作环…

理解JSP底层

import java.net.URLDecoder;public class login_jsp{//JSP的9大内置对象private JSPWriter out;//当前JSP输出流对象private HttpServletRequest request;//请求对象private HttpServletResponse response;//响应对象private HttpSession session;//会话对象private ServletCo…

【Python数据分析】Pandas_Series如何转变为DataFrame

1.使用 pd.DataFrame()构造函数 可以使用pd.DataFrame()构造函数将 Series 转换为 DataFrame。在构造函数中&#xff0c;将 Series 作为一个列传递给 DataFrame&#xff0c;并且可以通过指定列名来为 DataFrame 的列命名。 代码示例&#xff1a; import pandas as pd data[1…

sklearn 基础教程

scikit-learn&#xff08;简称sklearn&#xff09;是一个开源的机器学习库&#xff0c;它提供了简单和有效的数据分析和数据挖掘工具。sklearn是Python语言中最重要的机器学习库之一&#xff0c;广泛用于统计学习和数据分析。 以下是scikit-learn的基础教程&#xff0c;帮助您开…

【Python高级编程】用 Matplotlib 绘制迷人的图表

用 Matplotlib 绘制迷人的图表 引言 Matplotlib 是 Python 中广泛使用的绘图库&#xff0c;用于创建各种图表和可视化。本文将逐步指导您使用 Matplotlib 绘制基本图表&#xff0c;包括折线图、条形图和散点图。 安装 Matplotlib 使用 pip 安装 Matplotlib&#xff1a; pi…

存储器的性能指标以及层次化存储器

存储器的性能指标 存储器有三个性能指标&#xff1a;速度、容量和位价&#xff08;每位价格&#xff09; 1.存储速度 &#xff08;1&#xff09;存取时间 想衡量存储速度&#xff0c;最直观的指标就是完成一次存储器读写操作所需要的时间&#xff0c;这叫做存取时间&#x…