当前位置: 首页 > news >正文

卷积神经网络学习(一)

CNN应用对象是图像,CNN可被应用于的任务:
1、分类(classification):对图像按其中的物体进行分类,如图像中有人与猫,则图像可分为两类。
2、目标检测(object detection):即分类+定位(localization),不光要进行物体分类,还要用方框标识出物体。
3、语义分割(semantic segmentation):对图像的每个像素进行分类。是目标检测的更进一步,不光要进行物体分类,还会很精细的标识出物体(用物体的所有像素来标识物体,而不是用方框)。
4、实例分割(instance segmentation):语义分割的更进一步。对同一类物体的不同个体,语义分割不进行区分,实例分割可以区分。
5、全景分割(panoptic segmentation):实例分割的更进一步。对背景也进行分割,如背景中的树,白云,蓝天也都被分割。

福岛邦彦(Kunihiko Fukushima)于1979年提出神经认知机,由于这项工作他于2021年获得了鲍尔奖,获奖理由:通过发明第一个深度卷积神经网络「Neocognitron」将神经科学原理应用于工程的开创性研究,这是对人工智能发展的关键贡献。
神经认知机中包含了卷积层与池化层。

1989年,Yann LeCun提出将反向传播应用于卷积神经网络。
1998年,Yann LeCun提出了LeNet-5用于手写数字识别。(第一个现代概念上的CNN)

2012年,Alex Krizhevsky提出了AlexNet,帮助其赢得了大规模视觉识别挑战赛(ILSVRC)。
与之前的卷积网络相比,其层数更多(深),采用GPU训练模型,ReLU激活函数,DropOut防止过拟合,局部响应归一化(Local Response Normalization)使下一层的输入更合理。

CNN由三种层组成:卷积层,池化层,全连接层。前两种用于提取特征,后一种用于特征分类。

几篇经典论文

Fukushima, K. (1975). Cognitron: A self-organizing multilayered neural network. Biological cybernetics, 20(3-4), 121-136.
Fukushima, K. (1980). Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. Biological cybernetics, 36(4), 193-202.LeCun, Y. (1989). Generalization and network design strategies. Connectionism in perspective, 19(143-155), 18.
LeCun, Y., Boser, B., Denker, J. S., Henderson, D., Howard, R. E., Hubbard, W., & Jackel, L. D. (1989). Backpropagation applied to handwritten zip code recognition. Neural computation, 1(4), 541-551.
LeCun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11), 2278-2324.Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. Advances in neural information processing systems, 25.

三通道图像的卷积运算:
O = f ( I 1 ∗ K 1 + I 2 ∗ K 2 + I 3 ∗ K 3 + b ) O = f(I_1 * K_1 + I_2 * K_2 + I_3 * K_3 + b) O=f(I1K1+I2K2+I3K3+b)
I i I_i Ii为图像的一个通道, K i K_i Ki为卷积核, ∗ * 为卷积运算, b b b为偏置是一个标量, f f f为激活函数, O O O为输出(特征图)。

卷积层常采用ReLU激活函数: y = m a x ( x , 0 ) y = max(x,0) y=max(x,0)
ReLU是非线性函数,但其可以求导: y ′ = 0 , x < 0 ; x , x ≥ 0 y' = 0, x<0; x, x\geq 0 y=0,x<0;x,x0,因此可进行反向传播。

池化也称下采样,用于缩减特征图的尺寸且保留特征图中最重要的信息。
池化操作常用的包括:最大,平均。
池化层不采用激活函数。

最后一层全连接层常采用softmax函数: y ⃗ = s o f t m a x ( x ⃗ ) \vec{y} = softmax(\vec{x}) y =softmax(x )
x ⃗ , y ⃗ \vec{x},\vec{y} x ,y 为向量, y i = e x i Σ k e x k y_i = \frac{e^{x_i}}{\Sigma_k e^{x_k}} yi=Σkexkexi
可以看出与ReLU不同,在计算一个元素时,还要考虑其他元素的大小。
输入 [ 1 , 2 , 3 , 4 , 5 ] [1,2,3,4,5] [1,2,3,4,5],输出大约为 [ 0.01 , 0.03 , 0.08 , 0.2 , 0.6 ] [0.01,0.03,0.08,0.2,0.6] [0.01,0.03,0.08,0.2,0.6](输出总和为1,由于我这里近似表示导致总和非1)
softmax函数可导, i = j i=j i=j时, d y i d x j = y i − y i 2 \frac{dy_i}{d x_j} = y_i - y_i^2 dxjdyi=yiyi2 i ≠ j i\neq j i=j时, d y i d x j = − y i ⋅ y j \frac{dy_i}{d x_j} = -y_i\cdot y_j dxjdyi=yiyj
手推softmax的求导 - Mr.Jian的文章 - 知乎 https://zhuanlan.zhihu.com/p/419862067

损失函数可采用交叉熵: L o s s = Σ i ( y i ⋅ l o g y i ) Loss = \Sigma_i (y_i \cdot log y_i) Loss=Σi(yilogyi)(对应最大似然估计)

分类任务的CNN:VGG-16,ResNets,Inception(GoogLeNet)
目标检测任务的CNN:Faster R-CNN,YOLO(you only look once)
语义分割任务的CNN:FCN,U-Net,Mask R-CNN

相关文章:

卷积神经网络学习(一)

CNN应用对象是图像&#xff0c;CNN可被应用于的任务&#xff1a; 1、分类&#xff08;classification&#xff09;&#xff1a;对图像按其中的物体进行分类&#xff0c;如图像中有人与猫&#xff0c;则图像可分为两类。 2、目标检测&#xff08;object detection&#xff09;&a…...

使用KEIL自带的仿真器仿真遇到问题解决

*** error 65: access violation at 0x40021000 : no read permission 修改debug选项设置为下方内容。...

4700 万美元损失,Xn00d 合约漏洞攻击事件分析

4700 万美元损失&#xff0c;Xn00d 合约漏洞攻击事件分析 基础知识 ERC777 ERC777 是 ERC20 标准的高级代币标准&#xff0c;要提供了一些新的功能&#xff1a;运营商及钩子。 运营商功能。通过此功能能够允许第三方账户代表某一合约或者地址 进行代币的发送交易钩子功能。…...

第5讲:v-if与v-show的使用方法及区别

v-if条件判断 v-if是条件渲染指令&#xff0c;它根据表达式的真假来删除和插入元素&#xff0c;它的基本语法如下&#xff1a; v-if “expression” expression是一个返回bool值的表达式&#xff0c;表达式可以是一个bool属性&#xff0c;也可以是一个返回bool的运算式 &#…...

C理解(一):内存与位操作

本文主要探讨C语言的内存和为操作操作相关知识。 冯诺依曼结构和哈佛结构 冯诺依曼结构&#xff1a;数据和代码放在一起,便于读取和修改,安全性低 哈佛结构是&#xff1a;数据和代码分开存放,安全性高,读取和修麻烦 内存 内存是用来存储全局变量、局…...

ESP8266使用记录(四)

放上最终效果 ESP8266&Unity游戏 整合放进了坏玩具车遥控器里 最终只使用了mpu6050的yaw数据&#xff0c;因为roll值漂移…… 使用了https://github.com/ElectronicCats/mpu6050 整个流程 ESP8266取MPU6050数据&#xff0c;处理后通过udp发送给Unity显示出来 MPU6050_Z…...

云原生Kubernetes:K8S安全机制

目录 一、理论 1.K8S安全机制 2.Authentication认证 3.Authorization授权 4.Admission Control准入控制 5.User访问案例 6.ServiceAccount访问案例 二、实验 1.Admission Control准入控制 2.User访问案例 3.ServiceAccount访问案例 三、问题 1.生成资源报错 2.镜…...

【数据结构】归并排序、基数排序算法的学习知识点总结

目录 1、归并排序 1.1 算法思想 1.2 代码实现 1.3 例题分析 2、基数排序 2.1 算法思想 2.2 代码实现 2.3 例题分析 1、归并排序 1.1 算法思想 归并排序是一种采用分治思想的经典排序算法&#xff0c;通过将待排序数组分成若干个子序列&#xff0c;将每个子序列排序&#xff…...

【C++】C++模板进阶 —— 非类型模板参数、模板的特化以及模板的分离编译

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;C学习 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 上一篇博客&#xff1a;【C】C多…...

HTML的相关知识

1.什么是HTML&#xff1f;基本语法 HTML: Hyper Text Markup Language &#xff08;超文本标记语言&#xff09; 超文本&#xff1f;超级文本&#xff0c;例如流媒体&#xff0c;声音、视频、图片等。 标记语言&#xff1f;这种语言是由大量的标签组成。HTML标签参考手…...

基于微信小程的流浪动物领养小程序设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…...

Java后端接口编写流程

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Java后端接口编写流程 Java后端接口编写流程&#xff0c;更具业务逻辑编写Java后端接口&#xff0c;提供给前端访问 实现逻辑流程 POJO&#xff1a;实体类编写 Data B…...

【问题记录】解决“命令行终端”和“Git Bash”操作本地Git仓库时出现 中文乱码 的问题!

环境 Windows 11 家庭中文版git version 2.41.0.windows.1 问题情况 在使用 “命令行终端” 和 “Git Bash” 在本地Git仓库敲击命令时&#xff0c;对中文名称文件显示一连串的数字&#xff0c;如下所示&#xff1a;这种情况通常是由于字符编码设置不正确所引起的 解决办法 设置…...

软考高级之系统架构师之软件需求工程

概述 一个完整的软件生存周期是以需求为出发点。软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望。 需求开发&#xff1a; 需求获取需求分析需求定义&#xff08;需求规格说明书&#xff09;需求验证 需求管理: 变更控制版本控制需求跟踪需求状态跟踪 需…...

使用 Velocity 模板引擎的 Spring Boot 应用

使用 Velocity 模板引擎的 Spring Boot 应用 模板引擎是构建动态内容的重要工具&#xff0c;特别适用于生成HTML、邮件内容、报告和其他文本文档。Velocity是一个强大的模板引擎&#xff0c;它具有简单易用的语法和灵活性。本文将介绍如何在Spring Boot应用中使用Velocity模板…...

mysql的mvcc详解

一 MVCC的作用 1.1 mvcc的作用 1.MVCC&#xff08;Multiversion Concurrency Control&#xff09;多版本并发控制。即通过数据行的多个版本管理来实现数据库的并发控制&#xff0c;使得在InnoDB事务隔离级别下执行一致性读操作有了保障。 2.mysql中的InnoDB中实现了MVCC主要…...

FreeRTOS两个死机原因(中断调用接口异常)【杂记】

1、中断回调函数中没有使用中断级API (xxFromISR) 函数 xSemaphoreGiveFromISR(uart_busy,&HighterTask);----正确 xSemaphoreGive(uart_busy);-----错误2、比configMAX_SYSCALL_INTERRUPT_PRIORITY优先级高的中断函数中使用了FreeRTOS的函数 3、临界代码保护后不可调用os…...

【AI视野·今日Robot 机器人论文速览 第四十三期】Thu, 28 Sep 2023

AI视野今日CS.Robotics 机器人学论文速览 Thu, 28 Sep 2023 Totally 37 papers &#x1f449;上期速览✈更多精彩请移步主页 Interesting: &#x1f4da;****触觉力控学习策略,基于触觉的主动推理与力控用于小孔插入任务。提出了姿态控制与插入控制双策略模型。 (from 东京大学…...

批量快捷创建新数组的几种方式

1. for循环, push(比较简单, 就不上代码了) 2.创建空数组,填充null,然后map: function createData() { return new Array(1000) .fill(null) .map((v,i)>({name: name${i1}})) } console.log(createData()) 3.Array.frommap function createData() { return Array.from…...

单目标应用:基于沙丁鱼优化算法(Sardine optimization algorithm,SOA)的微电网优化调度MATLAB

一、沙丁鱼优化算法 沙丁鱼优化算法(Sardine optimization algorithm,SOA)由Zhang HongGuang等人于2023年提出&#xff0c;该算法模拟沙丁鱼的生存策略&#xff0c;具有搜索能力强&#xff0c;求解精度高等特点。 沙丁鱼主要以浮游生物为食&#xff0c;这些生物包括细菌、腔肠…...

基于Halo搭建个人博客

准备 云服务器 安装Docker 开启8090端口 步骤 拉取Halo镜像 docker pull halohub/halo:2.1.0 制作容器并启动 docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.1.0 --halo.external-urlhttp://服务器ip:8090/ --halo.security.in…...

DPDK系列之三十一DPDK的并行机制简介

一、并行机制 什么是并行机制&#xff1f;这个很多开发者的眼中&#xff0c;其实是模糊的。可能说起来头头是道&#xff0c;但是细一查究竟&#xff0c;发现都是飘在空中的东西。在前面的“多核和多CPU编程”中&#xff0c;对并行机制已经进行了较深入的分析&#xff0c;这里只…...

【Java】复制数组的四种方式

1. System.arraycopy() 用来将一个数组的&#xff08;一部分&#xff09;内容复制到另一个数组里面去。 定义&#xff1a; void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);例&#xff1a; int[] arr1 { 1, 2, 3, 4, 5 }; int[] arr2 new…...

设计模式5、原型模式 Prototype

解释说明&#xff1a;使用原型实例指定待创建对象的类型&#xff0c;并且通过复制这个原型阿里创建型的对象 UML 结构图&#xff1a; 抽象原型&#xff08;Prototype&#xff09;&#xff1a;规定了具体原型对象必须实现的clone()方法 具体原型&#xff08;ConcretePrototype&…...

驱动挂载物理页代码示例

驱动挂载物理页代码示例 使用的实验环境为32位xp系统在101012分页模式下 此实验用于测试对分页模式的掌握程度 代码思路如下&#xff1a; 获取目标进程的cr3在目标进程中申请新的物理页拆分新申请的物理页的线性地址通过差分出的内容获取pte将pte写入到要挂载的线性地址的p…...

【新版】系统架构设计师 - 层次式架构设计理论与实践

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录 架构 - 层次式架构设计理论与实践考点摘要层次式体系结构概述表现层框架设计MVC模式MVP模式MVVM模式使用XML设计表现层表现层中UIP设计思想 中间层架构设计业务逻辑层工作流设计业务逻辑层设计 数据访问层…...

大数据Flink(九十):Lookup Join(维表 Join)

文章目录 Lookup Join(维表 Join) Lookup Join(维表 Join) Lookup Join 定义(支持 Batch\Streaming):Lookup Join 其实就是维表 Join,比如拿离线数仓来说,常常会有用户画像,设备画像等数据,而对应到实时数仓场景中,这种实时获取外部缓存的 Join 就叫做维表 Join。…...

Docker方式创建MySQL8的MGR集群

目录 一、MGR简述二、安装环境及要求2.1 系统版本2.2 网络要求 三、安装步骤3.1 创建容器3.2 创建用户3.3 安装插件3. 4 启动集群3.5 加入集群 四、查看集群查看 MGR 组成员列表查看 MGR 组成员拓扑信息 五、其他说明集群配置要求集群配置限制集群相关变量和状态 一、MGR简述 …...

问 ChatGPT 关于GPT的事情:扩展篇

一、GPT预训练有什么节省显存和算力的技巧吗&#xff1f;我如何拿四块A100完成175B模型的预训练&#xff1f; 对于GPT预训练&#xff0c;有一些技巧可以帮助节省显存和算力。以下是一些常用的技巧&#xff1a; 按批次截断&#xff1a;在较长的文本序列中&#xff0c;将其切割…...

Spring Boot 集成 MinIO 实现文件上传、下载和删除

MinIO 是一种开源的对象存储服务&#xff0c;它基于云原生架构构建&#xff0c;并提供了高性能、易于扩展和安全的存储解决方案。 一.安装和配置 MinIO 服务器 为了演示方便&#xff0c;本文采用Windows安装 1.在官方网站下载MinIO 安装文件&#xff0c;地址&#xff1a;ht…...

电脑课做网站的作业/怎么创建一个网站

1426: 收集邮票 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 261 Solved: 209[Submit][Status][Discuss]Description 有n种不同的邮票&#xff0c;皮皮想收集所有种类的邮票。唯一的收集方法是到同学凡凡那里购买&#xff0c;每次只能买一张&#xff0c;并且买到的邮票究…...

网泰网站建设/网页设计流程步骤

Hello&#xff0c;大家好 这里是壹脑云科研圈&#xff0c;我是大胡同学&#xff5e; “论文又被拒了”、“今天开组会”、“我还是个单身狗”、“导师push我了”、“国庆要准备给份子钱了”、“发际线越来越高了”、“内卷”……作为一名三年硕、四年博的“资深”科研狗来说&…...

weui做购物网站的案例/长沙seo排名公司

...

君临天下游戏网站开发者/长沙网站优化公司

一切都要从Python这门编程语言说起…… 去年教育部考试中心发布了“关于全国计算机等级&#xff08;NCRE&#xff09;体系调整”的通知&#xff0c;决定自2018年3月起&#xff0c;在计算机二级考试加入了“Python语言程序员设计”科目&#xff1b; 早些消息&#xff0c;浙江省…...

在网站建设中 为了防止工期拖延/交换链接营销案例

看上去修改后的connect()方法已经可用了&#xff0c;但是这种匿名线程的方式是存在缺陷的&#xff1a;第一&#xff0c;线程的开销较大&#xff0c;如果每个任务都要创建一个线程&#xff0c;那么应用 程序的效率要低很多&#xff1b;第二&#xff0c;线程无法管理&#xff0c;…...

网站制作课题组/nba最新交易汇总

本机的orcl 没装好&#xff0c;但是sqlplus可以用&#xff0c;想连接远程的数据库服务器&#xff0c;研究一下sqlplus使用 首先使用dba权限登录: 命令&#xff1a;sqlplus 用户名/密码ip地址[:端口]/service_name [as sysdba] 示例&#xff1a;sqlplus sys/sys192.168.0.254:…...