卷积神经网络学习(一)

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

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

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

相关文章

Oracle的递归公共表表达式

查询节点id为2的所有子节点的数据&#xff0c;包括向下级联 WITH T1 (id, parent_id, data) AS (SELECT id, parent_id, dataFROM nodesWHERE id 2UNION ALLSELECT t.id, t.parent_id, t.dataFROM nodes tJOIN T1 n ON t.parent_id n.id ) SELECT * FROM T1; --建表语句 C…

layui 树状控件tree优化

先上效果图&#xff1a; 我选的组件是这个&#xff1a; 动态渲染完后&#xff0c;分别在窗体加载完成&#xff0c;节点点击事件分别加入js&#xff1a; //侧边栏图标替换//layui-icon-subtraction$(function () {$(".layui-icon-file").addClass("backs&quo…

【HTML】表格行和列的合并

概述 当我们需要在 HTML 表格中展示复杂的数据时&#xff0c;行和列的合并可以帮助我们实现更灵活的布局和结构。通过合并行和列&#xff0c;我们可以创建具有更多层次和结构的表格&#xff0c;使数据更易于理解和分析。 在 HTML 表格中&#xff0c;我们可以使用 rowspan 和 …

普通用户在Linux下免密执行sudo命令,真的可以吗?

主旨 在linux的日常运维中&#xff0c;我们会发现&#xff0c;使用root用户的权限太大了&#xff0c;很多时候一不小心就删错了&#xff0c;而且恢复不回来&#xff0c;我们应该怎么避免呢&#xff1f; 我们可以使用普通用户进行服务器的登录&#xff0c;如果有权限不够的情况&…

C/C++跨平台构建工具CMake-----在C++源码中读取CMakeLists.txt配置文件中的内容

文章目录 1.需求描述2.需求准备2.1 创建项目2.2 编辑CMakeLists.txt文件2.3 编写C文件2.4 编译构建项目 3.需求实现3.1 在CMakeLists.txt中输出日志信息3.2 增加配置生成C头文件3.3在C 源码中访问配置的值3.4 C文件中读取CMakeLists.txt中的字符串 总结 1.需求描述 当我们开发…

HTML之如何下载网页中的音频(二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

Kafka(一)使用Docker Compose安装单机Kafka以及Kafka UI

文章目录 Kafka中涉及到的术语Kafka镜像选择Kafka UI镜像选择Docker Compose文件Kafka配置项说明KRaft vs Zookeeper和KRaft有关的配置关于Controller和Broker的概念解释Listener的各种配置 Kafka UI配置项说明 测试Kafka集群Docker Compose示例配置 Kafka中涉及到的术语 对于…

Linux—进程间通信之System V共享内存

目录 简介System V共享内存特点及用法 共享内存的创建共享内存的关联与去关联共享内存的删除共享内存通信代码实现总结 简介 System V共享内存是一种在Unix-like系统中广泛使用的共享内存机制。它是基于System V IPC&#xff08;Inter-Process Communication&#xff0c;进程间…

SpringBoot整合阿里云OSS文件存储解决方案

&#x1f9d1;‍&#x1f4bb;作者名称&#xff1a;DaenCode &#x1f3a4;作者简介&#xff1a;啥技术都喜欢捣鼓捣鼓&#xff0c;喜欢分享技术、经验、生活。 &#x1f60e;人生感悟&#xff1a;尝尽人生百味&#xff0c;方知世间冷暖。 &#x1f4d6;所属专栏&#xff1a;Sp…

毛玻璃态登录表单

效果展示 页面结构组成 通过上述的效果展示可以看出如下几个效果 底部背景有三个色块并且效果是毛玻璃效果登录表单是毛玻璃效果登录表单的周围的小方块也是有毛玻璃效果并且与登录表单有层次效果 CSS3 知识点 filter 属性backdrop-filter 属性绝对定位属性动画属性 底部背…

(高阶) Redis 7 第16讲 预热/雪崩/击穿/穿透 缓存篇

面试题 什么是缓存预热/雪崩/击穿/穿透如何做缓存预热如何避免或减少缓存雪崩穿透和击穿的区别?穿透和击穿的解决方案出现缓存不一致时,有哪些修补方案缓存预热 理论 将需要的数据提前加载到缓存中,不需要用户使用的过程中进行数据回写。(比如秒杀活动数据等) 方案 1.…

idea Springboot 校园助学贷款系统VS开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot 校园助学贷款系统是一套完善的信息系统&#xff0c;结合springboot框架和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用springboot框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统 具有完整的源代码和数据库&…

Ubuntu服务器安全性提升:修改SSH默认端口号

在Ubuntu服务器上&#xff0c;SSH&#xff08;Secure Shell&#xff09;是一种至关重要的远程连接工具。它提供了一种安全的方式来远程连接和管理计算机系统&#xff0c;通过加密通信来确保数据的保密性和完整性。SSH协议广泛用于计算机网络中&#xff0c;用于远程管理、文件传…

网络-Ajax

文章目录 前言一、Ajax优点&#xff1a;缺点&#xff1a; 二、使用步骤XNLHttpRequest对象完整代码 总结 前言 本文主要记录Ajax技术的简介&#xff0c;以及用法。 一、Ajax Ajax是一组用于在Web浏览器和Web服务器之间进行异步通信的Web开发技术。 它代表着Asynchronous Java…

解决大模型行业落地三大挑战,华为云GaussDB向量数据库正式发布

随着AI大模型产品及应用呈现爆发式增长,新的AI时代已经到来。向量数据库可与大语言模型配合使用,解决大模型落地过程中的痛点,已成为企业数据处理和应用大模型的必选项。在近日举行的华为全联接大会2023期间,华为云正式发布GaussDB向量数据库。GaussDB向量数据库基于GaussD…

Android 使用Kotlin封装RecyclerView

文章目录 1.概述2.运行效果图3.代码实现3.1 扩展RecyclerView 3.2 扩展Adapter3.3 RecyclerView装饰绘制3.3.1 以图片实现分割线3.3.2 画网格线3.3.3空白的分割线3.3.4 不同方向上的分割线 3.4 使用方法 1.概述 在一个开源项目上看到了一个Android Kotlin版的RecyclerView封装…

Docker和Docker compose的安装使用指南

一&#xff0c;环境准备 Docker运行需要依赖jdk&#xff0c;所以需要先安装一下jdk yum install -y java-1.8.0-openjdk.x86_64 二&#xff0c;Docker安装和验证 1&#xff0c;安装依赖工具 yum install -y yum-utils 2&#xff0c;设置远程仓库 yum-config-manager --add-r…

26962-2011 高频电磁场综合水处理器技术条件

声明 本文是学习GB-T 26962-2011 高频电磁场综合水处理器技术条件. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了高频电磁场综合水处理器(以下简称处理器)的术语和定义、分类和型号、结构型式、 要求及检验、标志、包装和贮运…

Java | Maven(知识点查询)

文章目录 Maven知识速查1. Maven概述2. Maven的作用3. Maven的下载4. Maven的环境配置5. Maven 的基础组成5.1 Maven仓库5.1.1 本地仓库配置&#xff1a;5.1.2 中央仓库配置&#xff1a;5.1.3 镜像仓库配置 5.2 Maven坐标 6. Maven项目6.1 手工创建Maven项目6.2 自动构建项目 7…