【】AI八股-神经网络相关

Deep-Learning-Interview-Book/docs/深度学习.md at master · amusi/Deep-Learning-Interview-Book · GitHub

 网上相关总结:

小菜鸡写一写基础深度学习的问题(复制大佬的,自己复习用) - 知乎 (zhihu.com)

CV面试问题准备持续更新贴 - 知乎 (zhihu.com)

Epoch

  • Epoch 是指完成一次完整的数据集训练的过程。
  • 比如,有一个数据集有1000个样本,当网络用这些样本训练一次后,这就是一个epoch。

Iteration

  • Iteration 是指在一个epoch中,使用一个batch进行训练的次数。
  • 如果你的数据集有1000个样本,batch size是100,那么一个epoch就会有10次iteration(1000/100=10)。

Batch Size

  • Batch Size 是指每次iteration中用于训练的样本数量。
  • 如果你的batch size是100,每次训练就使用100个样本。

反向传播(BP)推导

假设我们有一个简单的三层神经网络(输入层、隐藏层和输出层):

  1. 输入层: xxx
  2. 隐藏层: hhh
  3. 输出层: yyy

前向传播

  1. 输入到隐藏层: h=f(Wxhx+bh)h = f(W_{xh} x + b_h)h=f(Wxh​x+bh​) 其中 WxhW_{xh}Wxh​ 是输入到隐藏层的权重矩阵,bhb_hbh​ 是隐藏层的偏置向量,fff 是激活函数。

  2. 隐藏层到输出层: y^=g(Whyh+by)\hat{y} = g(W_{hy} h + b_y)y^​=g(Why​h+by​) 其中 WhyW_{hy}Why​ 是隐藏层到输出层的权重矩阵,byb_yby​ 是输出层的偏置向量,ggg 是输出层的激活函数,通常在分类问题中是softmax函数。

损失函数

假设我们使用均方误差损失函数:

其中 yyy 是实际输出,y^\hat{y}y^​ 是预测输出。

反向传播

我们需要计算损失 LLL 对每个权重和偏置的梯度,然后更新这些参数。我们从输出层开始,逐层向后推导。

  1. 输出层梯度:

  2. 隐藏层到输出层权重梯度:

  3. 隐藏层到输出层偏置梯度:

  4. 隐藏层误差:

  5. 输入层到隐藏层权重梯度:

  6. 输入层到隐藏层偏置梯度:

参数更新

使用梯度下降法更新权重和偏置:

其中 η 是学习率。

 深度神经网络(DNN)反向传播算法(BP) - 刘建平Pinard - 博客园 (cnblogs.com)

感受野计算

如何计算感受野(Receptive Field)——原理 - 知乎 (zhihu.com)

池化 

1. 池化的作用

池化的主要作用有两个:

  • 降低计算复杂度:通过减少特征图的尺寸,减少后续卷积层和全连接层的计算量。
  • 减小过拟合:通过降低特征图的分辨率,可以使模型更具鲁棒性,对输入数据的小变化不那么敏感。
2. 池化类型

池化操作通常有两种类型:

  • 最大池化(Max Pooling):从池化窗口中选择最大值。
  • 平均池化(Average Pooling):从池化窗口中选择平均值。

 池化(Pooling)的种类与具体用法——基于Pytorch-CSDN博客

一图读懂-神经网络14种池化Pooling原理和可视化(MAX,AVE,SUM,MIX,SOFT,ROI,CROW,RMAC )_图池化-CSDN博客

卷积神经网络(CNN)反向传播算法 - 刘建平Pinard - 博客园 (cnblogs.com)

Sobel边缘检测

是图像处理中常用的技术,它使用卷积核(滤波器)来突出图像中的边缘。Sobel算子通过计算图像灰度值的梯度来检测边缘。

1. Sobel算子

Sobel算子有两个卷积核,一个用于检测水平方向的边缘,另一个用于检测垂直方向的边缘。

水平Sobel卷积核(Gx)
 

diff

复制代码

-1 0 1 -2 0 2 -1 0 1

垂直Sobel卷积核(Gy)
 

diff

复制代码

-1 -2 -1 0 0 0 1 2 1

2. Sobel卷积操作

通过将这两个卷积核分别与图像进行卷积操作,可以得到图像在水平方向和垂直方向上的梯度图。

卷积计算过程

假设有一个3x3的图像块:

 

css

复制代码

a b c d e f g h i

水平方向的梯度计算(Gx):

 

css

复制代码

Gx = (c + 2f + i) - (a + 2d + g)

垂直方向的梯度计算(Gy):

 

css

复制代码

Gy = (g + 2h + i) - (a + 2b + c)

3. 组合梯度

最终的梯度强度可以通过组合Gx和Gy计算得到:

 

scss

复制代码

G = sqrt(Gx^2 + Gy^2)

梯度计算

通过这些卷积核,我们可以计算图像在水平方向和垂直方向的梯度。梯度表示图像灰度值的变化速率,变化速率大的地方就是边缘。具体来说:

  • 水平方向梯度(Gx):表示图像从左到右的变化。如果有明显的水平边缘,Gx会有大的值。
  • 垂直方向梯度(Gy):表示图像从上到下的变化。如果有明显的垂直边缘,Gy会有大的值。

4. 组合梯度

最终,通过组合水平方向和垂直方向的梯度(通常使用欧几里得距离),我们可以得到图像的梯度强度:

计算力(flops)和参数(parameters)数量

(31 封私信 / 80 条消息) CNN 模型所需的计算力(flops)和参数(parameters)数量是怎么计算的? - 知乎 (zhihu.com)

参数共享的卷积环节

不可导的激活函数如何处理

BN

BatchNormalization、LayerNormalization、InstanceNorm、GroupNorm、SwitchableNorm总结_四维layernormal-CSDN博客

Batch Normalization原理与实战 - 知乎 (zhihu.com)

Normalization操作我们虽然缓解了ICS问题,让每一层网络的输入数据分布都变得稳定,但却导致了数据表达能力的缺失。BN又引入了两个可学习(learnable)的参数 𝛾 与 𝛽 。这两个参数的引入是为了恢复数据本身的表达能力,对规范化后的数据进行线性变换 

重点最后一句

感受野计算 

卷积神经网络物体检测之感受野大小计算 - machineLearning - 博客园 (cnblogs.com)

卷积神经网络的感受野 - 知乎 (zhihu.com)

资源 | 从ReLU到Sinc,26种神经网络激活函数可视化 (qq.com)

非线性激活函数的线性区域

从 SGD 到 Adam —— 深度学习优化算法概览(一) - 知乎 (zhihu.com)

一个框架看懂优化算法之异同 SGD/AdaGrad/Adam - 知乎 (zhihu.com)

指数移动平均公式

EMA指数滑动平均(Exponential Moving Average)-CSDN博客

动量梯度下降法(Momentum)

Adagrad

RMSprop

Adam

Adam那么棒,为什么还对SGD念念不忘 (2)—— Adam的两宗罪 - 知乎 (zhihu.com)

dropout

深度学习-Dropout详解_深度学习dropout-CSDN博客

Dropout的深入理解(基础介绍、模型描述、原理深入、代码实现以及变种)-CSDN博客

一文看尽12种Dropout及其变体-腾讯云开发者社区-腾讯云 (tencent.com)

Pytorch——dropout的理解和使用 - Circle_Wang - 博客园 (cnblogs.com)

1x1卷积 

 (31 封私信 / 80 条消息) 卷积神经网络中用1*1 卷积有什么作用或者好处呢? - 知乎 (zhihu.com)

深度学习笔记(六):1x1卷积核的作用归纳和实例分析_1x1卷积降维-CSDN博客

AlexNet网络结构详解(含各层维度大小计算过程)与PyTorch实现-CSDN博客

深度学习——VGG16模型详解-CSDN博客

3乘3卷积代替5乘5卷积

经典卷积神经网络算法(4):GoogLeNet - 奥辰 - 博客园 (cnblogs.com)

1x1卷积降维再接3x3卷积

resnet

两种ResNet设计

channel不同怎么相加

通过卷积调整

ResNet解析-CSDN博客

(31 封私信 / 80 条消息) resnet(残差网络)的F(x)究竟长什么样子? - 知乎 (zhihu.com)

(31 封私信 / 80 条消息) Resnet到底在解决一个什么问题呢? - 知乎 (zhihu.com)

残差连接使梯度稳定

ResNet中的恒等映射是一种直接将输入添加到输出的操作方式,确保了信息和梯度可以稳定地传递。它通过保持梯度的稳定性,防止了梯度消失和爆炸问题,从而使得训练非常深的网络成为可能。

(31 封私信 / 80 条消息) ResNet为什么不用Dropout? - 知乎 (zhihu.com)

人工智能 - [ResNet系] 002 ResNet-v2 - G时区@深度学习 - SegmentFault 思否

DenseNet详解_densenet网络-CSDN博客

yolo系列

YOLO系列算法全家桶——YOLOv1-YOLOv9详细介绍 !!-CSDN博客 

 【YOLO系列】YOLOv1论文超详细解读(翻译 +学习笔记)_yolo论文-CSDN博客

YOLO系列算法精讲:从yolov1至yolov8的进阶之路(2万字超全整理)-CSDN博客 

NMS

v2引入anchor

 

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

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

相关文章

.net 调用海康SDK的跨平台解决方案

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔序言 上2篇海康SDK使用以及常见的坑…

【JavaEE精炼宝库】文件操作(1)——基本知识 | 操作文件——打开实用性编程的大门

目录 一、文件的基本知识1.1 文件的基本概念:1.2 树型结构组织和目录:1.3 文件路径(Path):1.4 二进制文件 VS 文本文件:1.5 其它: 二、Java 操作文件2.1 方法说明:2.2 使用演示&…

HCIA综合实验

学习新思想,争做新青年。今天学习的是HCIA综合实验! 实验拓扑 实验需求 总部: 1、除了SW8 SW9是三层交换机,其他交换机均为2层交换机。 2、GW为总部的出口设备,使用单臂路由技术,VLAN10,20,100的网关都在GW…

ERROR: “armeabi-v7a“ not supported for HarmonyOS

IDE 从 devecostudio-mac-4.1.3.700 升级至 devecostudio-mac-5.0.3.403 后抛出了如下异常: ERROR: "armeabi-v7a" not supported for HarmonyOS. 解决办法 一.entry/build-profile.json5 需 entry/build-profile.json5 的 abiFilters 中移除 "armeabi-v7a&qu…

计算机网络体系结构详解:协议与分层

在学习计算机网络时,理解网络协议与分层体系结构是至关重要的。本文将详细介绍这些概念,帮助基础小白快速入门。 1. 什么是网络协议 网络协议是计算机网络中用于数据交换的规则和标准。这些规则规定了数据格式、时序以及发送和接收数据时的动作。网络协…

基于java+springboot+vue实现的流浪动物管理系统(文末源码+Lw)277

摘 要 在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对流浪动物信息管理的提升&…

【React】React18 Hooks之useState

目录 useState案例1(直接修改状态)案例2(函数式更新)案例3(受控表单绑定)注意事项1:set函数不会改变正在运行的代码的状态注意事项2:set函数自动批量处理注意事项3:在下次…

[数据集][目标检测]护目镜检测数据集VOC+YOLO格式888张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):888 标注数量(xml文件个数):888 标注数量(txt文件个数):888 标注类别…

ORB 特征点提取

FAST关键点 选取像素p,假设它的亮度为Ip; . 设置一个阈值T(比如Ip的20%); 以像素p为中心,选取半径为3的圆上的16个像素点; 假如选取的圆上,有连续的N个点的亮度大于IpT或小于…

Redis 八股文

标题 1. Redis主从同步原理:判断下线的条件:故障转移如何保证Sentinel高可用 1. Redis主从同步原理: 1、slave执行命令向master建立连接 2、master执行bgsave(后台存储),生成rdb快照(redis备份方式&#x…

日志自动分析-Web---360星图GoaccessALBAnolog

目录 1、Web-360星图(IIS/Apache/Nginx) 2、Web-GoAccess (任何自定义日志格式字符串) 源码及使用手册 安装goaccess 使用 输出 3-Web-自写脚本(任何自定义日志格式字符串) 4、Web-机器语言analog(任何自定义日…

游戏AI的创造思路-技术基础-强化学习(1)

我们“强化”一下机器的“学习”,让机器变得更强~~~~ 目录 1. 强化学习的定义 2. 发展历史 3. 强化学习的基本概念和函数 3.1. 基本概念和函数 3.1.1. 基本概念和函数 3.1.2. Q函数 3.1.2.1. 定义与作用 3.1.2.2. 数学表示 3.1.2.3. 更新规则 3.1.2.4. 算…

AI时代算法面试:揭秘高频算法问题与解答策略

三种决策树算法的特点和区别 ID3算法:基本的决策树算法,适用于简单的分类问题C4.5算法:改进了ID3算法,适用于更复杂的分类问题,可以处理连续型数据和缺失值CART算法:更加通用的决策树算法,适用于…

云服务器在 Web 应用程序中作用

云服务器在Web应用程序中扮演着至关重要的角色,它不仅是现代Web应用程序的基石,还是推动业务发展和提升用户体验的关键技术之一。下面将详细探讨云服务器在Web应用程序中的重要作用及其优势。 首先,云服务器为Web应用程序提供了高度可扩展的…

【postgresql】索引

见的索引类型: B-tree 索引:这是最常用的索引类型,适用于大多数查询。B-tree索引可以高效地处理范围查询。 Hash 索引:适用于等值查询,但不支持范围查询。 GiST 索引:通用搜索树(GiST&#xf…

怀念旧的Windows声音?以下是如何在Windows 11中恢复它们

如果你渴望旧的Windows声音,希望能在Windows 11上再次听到,那你就很幸运了。我们将向你展示如何下载必要的声音包并创建复古的声音方案。 如何获取旧Windows声音的声音包 你需要做的第一件事是下载一个包含旧Windows版本声音的声音包。此外,请确保它包含的每个声音都是WAV…

在 Vue 项目中使用 FullCalendar

1、先安装依赖包,根据自己的需求安装,建议使用cnpm安装,不然会很慢有时候会出现安装不上的情况。 npm i fullcalendar/vue --save npm i fullcalendar/core --save // 在月视图或日视图中操作事件 npm i fullcalendar/daygrid --save // 在…

记录discuz修改用户的主题出售价格

大家好,我是网创有方的站长,今天遇到了需要修改discuz的主题出售价格。特此记录下 方法很简单: 进入用于组-》选择论坛-》批量修改

【shell编程小项目】

目录 一、项目拓扑二、要求三、shell编程 一、项目拓扑 二、要求 环境准备: 准备两个虚拟机,按照环境配置好对应的 IP 地址和对应的主机名和 SSH 密钥登录在 workstation.exam.com 节点实现如下需求: 1、编写 Shell 脚本,要求代码…

0803实操-Windows Server系统管理

Windows Server系统管理 系统管理与基础配置 查看系统信息、更改计算机名称 网络配置 启用网络发现 Windows启用网络发现是指在网络设置中启用一个功能,该功能允许您的计算机在网络上识别和访问其他设备和计算机。具体来说,启用网络发现后&#xff…