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

news2024/11/16 12:40:53

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

分割

计算机视觉—浅谈语义分割、实例分割及全景分割任务 (深度学习/图像处理/计算机视觉)_全景分割和实例分割-CSDN博客

【计算机视觉】最全语义分割模型总结(从FCN到deeplabv3+)-CSDN博客

目标检测与YOLO(2) + 语义分割(FCN)_yolo模型和fcn-CSDN博客

【yolov8系列】yolov8的目标检测、实例分割、关节点估计的原理解析-CSDN博客

yolo实现实例分割和关键点预测,都是在head部分增加新的检测头实现

Bounding-box regression详解(边框回归)_bbox regression-CSDN博客

反卷积(Deconvolution)、上采样(UNSampling)与上池化(UnPooling)_反卷积和上采样-CSDN博客

形象解释:

反卷积(Transposed conv deconv)实现原理(通俗易懂)-CSDN博客

对深度可分离卷积、分组卷积、扩张卷积、转置卷积(反卷积)的理解-CSDN博客

ShuffleNetV2:轻量级CNN网络中的桂冠 - 知乎 (zhihu.com)

轻量级神经网络“巡礼”(一)—— ShuffleNetV2 - 知乎 (zhihu.com)

(31 封私信 / 80 条消息) 怎么选取训练神经网络时的Batch size? - 知乎 (zhihu.com)

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

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

相关文章

springboot中@bean注解的创建和使用

bean的创建顺序 在Spring Boot中,当一个配置类(使用Configuration注解的类)中定义了多个bean时,这些bean的创建顺序并不完全由它们在类中的声明顺序决定。Spring框架在创建和管理bean时,遵循了复杂的依赖注入和生命周…

什么,有狗快跑!慢着,这次手把手教你怎么过安全狗!(sql注入篇)

前言 在记忆里上次绕安全狗还是在上次,开开心心把自己之前绕过狗的payload拿出来,发现全部被拦截了,事情一下子就严肃起来了,这就开整。 环境 本次环境如下sqli-lab的sql注入靶场 网站安全狗APACHE版V4.0版本的最高防护等级绕过…

北京大学长安汽车发布毫米波与相机融合模型RCBEVDet:最快能达到每秒28帧

Abstract 三维目标检测是自动驾驶中的关键任务之一。为了在实际应用中降低成本,提出了利用低成本的多视角相机进行3D目标检测,以取代昂贵的LiDAR传感器。然而,仅依靠相机很难实现高精度和鲁棒性的3D目标检测。解决这一问题的有效方法是将多视…

思维+数学,CF 1138B - Circus

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1138B - Circus 二、解题报告 1、思路分析 设第一组会小丑和杂技的人数分别为x1, y1 第二组会小丑和杂技的人数分别为x2, y2 显然根据要求有: x1 y2 > x1 x2 x2 y2 上式说明第二组每…

【QT中实现摄像头播放、以及视频录制】

学习分享 1、效果图2、camerathread.h3、camerathread.cpp4、mainwindow.h5、mainwindow.cpp6、main.cpp 1、效果图 2、camerathread.h #ifndef CAMERATHREAD_H #define CAMERATHREAD_H#include <QObject> #include <QThread> #include <QDebug> #include &…

OpenFWI代码

重点关注文章第4部分 一、代码模块概览 这一部分了解代码主要实现的功能有哪些。 二、运行 这一部分关注如何跑通。 三、数据集 12个数据集&#xff08;11个2D1个3D&#xff09; 对计算机而言&#xff0c;上述输入、输出维度大小是按次数定义的。 以“Vel&#xff0c;F…

Celery,一个实时处理的 Python 分布式系统

大家好&#xff01;我是爱摸鱼的小鸿&#xff0c;关注我&#xff0c;收看每期的编程干货。 一个简单的库&#xff0c;也许能够开启我们的智慧之门&#xff0c; 一个普通的方法&#xff0c;也许能在危急时刻挽救我们于水深火热&#xff0c; 一个新颖的思维方式&#xff0c;也许能…

Spring-AOP(二)

作者&#xff1a;月下山川 公众号&#xff1a;月下山川 1、什么是AOP AOP&#xff08;Aspect Oriented Programming&#xff09;是一种设计思想&#xff0c;是软件设计领域中的面向切面编程&#xff0c;它是面向对象编程的一种补充和完善&#xff0c;它以通过预编译方式和运行期…

MySQL:TABLE_SCHEMA及其应用

MySQL TABLE_SCHEMA及其应用 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/ar…

持久化存储与设备环境查询的最佳实践

ArkUI框架中的PersistentStorage和Environment 在ArkUI框架中&#xff0c;持久化存储和设备环境查询是应用开发中不可或缺的两个重要功能。在本文中&#xff0c;我们将深入了解框架提供的PersistentStorage和Environment&#xff0c;它们的用途、限制条件以及在应用开发中的使…

SDIO CMD 数据部分 CRC 计算规则

使用的在线 crc 计算工具网址&#xff1a;http://www.ip33.com/crc.html CMD CRC7 计算 如下图为使用逻辑分析仪获取的SDIO读写SD卡时&#xff0c;CMD16指令发送的格式&#xff0c;通过逻辑分析仪总线分析&#xff0c;可以看到&#xff0c;该部分的CRC7校验值得0x05,大多数情况…

二战架构师,拿下

前言 已经许久更新文章了&#xff0c;并不是因为我懒了&#xff0c;而是在备考系统架构师考试。个人感觉还是比较幸运的&#xff0c;低分飘过。现阶段任务也算完成了&#xff0c;记录一下感受。 什么是软考 软考&#xff0c;全称“计算机技术与软件专业技术资格&#xff08…

Agent如何帮助大模型“增强记忆”?

Agent如何帮助大模型“增强记忆”&#xff1f; 原创 格林 神州问学 2024年07月08日 17:50 日本 记忆反馈 >规划&#xff1f; 来源|神州问学 引言 去年6月份&#xff0c;Lilian发布了关于LLM驱动的Agent的结构和组件&#xff0c;其中包括规划、行动、工具还有记忆&#xff…

去除Win32 Tab Control控件每个选项卡上的深色对话框背景

一般情况下&#xff0c;我们是用不带边框的对话框来充当Tab Control的每个选项卡的内容的。 例如&#xff0c;主对话框IDD_TABBOX上有一个Tab Control&#xff0c;上面有两个选项卡&#xff0c;第一个选项卡用的是IDD_DIALOG1充当内容&#xff0c;第二个用的则是IDD_DIALOG2。I…

C++相关概念和易错语法(17)(适配器模式、仿函数)

1.stack和queue stack和queue的相关接口如下&#xff1a; stack queue 我们发现不管是stack还是queue&#xff0c;它们都有push和pop&#xff0c;不区分push_back和push_front&#xff0c;这是由它们的入栈特定顺序特性决定的&#xff0c;并且它们都没有迭代器&#xff0c;st…

【系统架构设计】计算机组成与体系结构(一)

计算机组成与体系结构 计算机系统组成计算机硬件组成控制器运算器主存储器辅助存储器输入设备输出设备 计算机系统结构的分类存储程序的概念Flynn分类 复杂指令集系统与精简指令集系统总线 存储器系统流水线 兜兜转转&#xff0c;最后还是回到了4大件&#xff0c;补基础&#x…

【力扣】数组中的第K个最大元素

一、题目描述 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: [3,2,1,5,…

图片像素坐标转实际坐标的一种转换方案

原图 红色的点是我们标注的像素点&#xff0c;这些红色的点我们知道它的像素坐标&#xff0c;以及以右下角相机位置为原点的x y 实际坐标数值 通过转换&#xff0c;可以得到整个图片内部其余像素点的实际坐标&#xff0c; 这些红色的点是通过转换关系生成的&#xff0c;每隔一米…

python破解密码·筛查和选择

破解密码时可能遇到的几种情况 ① 已知密码字符&#xff0c;破排序 ② 已知密码位数&#xff0c;破字符 ③ 已知密码类型&#xff0c;破字位 ④ 已知部分密码&#xff0c;破未知 ⑤ 啥都不知道&#xff0c;盲破&#xff0c;玩完 ⑥ 已知位数、字符、类型、部分密码中的几个&am…

2024全网最全面及最新且最为详细的网络安全技巧五 之 SSRF 漏洞EXP技巧,典例分析以及 如何修复 (下册)———— 作者:LJS

五.SSRF 漏洞EXP技巧&#xff0c;典例分析以及 如何修复 (下册) 目录 五.SSRF 漏洞EXP技巧&#xff0c;典例分析以及 如何修复 (下册) 5.4gopher 协议初探 0x01 Gopher协议 0x02 协议访问学习 复现环境 centos7 kali 2018 发送http get请求 发送http post请求 5.5 SSRF…