深度学习基本理论

news2024/12/24 2:42:02

1、MLP、FCN、DNN三者的关系?

多层感知器MLP,全连接网络,DNN三者的关系?三者是不是同一个概念?

  •  FCN:Fully Connected Neural Network,全连接神经网络,也称为密集连接神经网络,其每个节点都与上一层的所有节点相连,也就是说每个神经元都和上一层所有的神经元都有连接,是最简单的神经网络结构,它不一定要求有隐藏层。
  • MLP:Multi-Layer Perceptron,多层感知器,也称多层感知机,是一种特殊的全连接神经网络,它由输入层、若干个隐藏层和输出层组成。每个神经元都与上一层的所有神经元相连。
  • DNN:Deep Neural Network,深度神经网络,是指具有多层神经元的神经网络。

因此MLP属于DNN;FCN有时候属于DNN,有时候不属于DNN。但DNN也包括许多其他的深度网络,比如深度卷积网络等。

因此,MLP和FCN之间的主要区别在于隐藏层的存在。MLP通过添加多个隐藏层可以提高网络的表示能力,从而能够更好地解决复杂的分类和回归问题,而FCN有时候可能只有输入层和输出层。

2、 什么是前馈神经网络

前馈神经网络(feedforward neural network)又称多层感知机(multilayer perceptron,MLP),是典型的深度学习模型。它是一种单向多层结构,其中每一层包含若干个神经元。在此种神经
网络中,各神经元可以接收前一层神经元的信号,并产生输出到下一层。第0层叫输入层,最后一层叫输出层,其他中间层叫做隐含层(或隐藏层、隐层),隐含层可以是一层,也可以是多层。整个网络中无反馈,信号从输入层向输出层单向传播,可用一个有向无环图表示。 

 

前馈神经网络使用数学公式可以表示为:

f(x)=)f^{_{(3)}} ( f^{_{(2)}} ( f^{_{(1)}} (x)))

其中,$f^{(1)}$ 被称为网络的 第一层(first layer), $f^{(2)} $被称为 第二层(second layer),以此类推。链的全长称为模型的深度(depth)。 

3、深度学习有什么优缺点

1)优点

  • 性能更优异
  • 不需要特征工程
  • 在大数据样本下有更好的性能
  • 能解决某些传统机器学习无法解决的问题

2)缺点

  • 小数据样本下性能不如机器学习
  • 模型复杂
  • 过程不可解释

4、什么是激活函数,为什么要使用激活函数 

激活函数(activation function),指神经网络中将输入信号的总和转换为输出信号的函数,激活
函数将多层感知机输出转换为非线性,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。 

神经网络中,如果不加入激活函数,那么每一层的输入输出都是函数均是线性的,网络的逼近能力有限,于是就引入非线性函数作为激活函数,使网络的表达能力更强。

激活函数是向神经网络中引入非线性因素,通过激活函数神经网络就可以拟合各种曲线

5、神经网络中常用的激活函数有哪些,各自有什么特点

1)sigmoid

 ① 定义:sigmoid函数也叫Logistic函数,用于隐层神经元输出,能将$(-\infty,+\infty)$的数值映射到(0,1)的区间,可以用来做二分类。表达式为:

 f(x) = \frac{1}{1+e^{-x}}

② 特点
优点:平滑、易于求导
缺点:激活函数计算量大,反向传播求误差梯度时,求导涉及除法;反向传播时,很容易就会出现
梯度消失

2)tanh

① 定义:双曲正切函数,表达式为:

 f(x) = \frac{1-e^{-2x}}{1+e^{-2x}}

② 特点
优点:平滑、易于求导;输出均值为0,收敛速度要比sigmoid快,从而可以减少迭代次数
缺点:很容易就会出现梯度消失

3)relu

① 定义:修正线性单元,其表达式为: 

f(x) = \left\{\begin{matrix}x (x>0)\\ 0 (x<=0) \end{matrix}\right.

② 特点:
优点:计算过程简单;避免了梯度爆炸和梯度消失问题
缺点:小于等于0时无输出

5. 什么是softmax函数,其主要作用是什么 

 1)定义:Softmax函数可以将多分类的输出数值转化为相对概率,而这些值的累和为1。表达式为:

 s_{i} = \frac{e^{V_{i}}}{\sum_{i}^{C}e^{V_i}}

其中$V_i$ 是分类器前级输出单元的输出。i 表示类别索引,总的类别个数为 C。$S_i$表示的是当前元
素的指数与所有元素指数和的比值。 

2)作用:softmax一般用于分类输出层,计算属于每个类别的概率。

也经常用于计算Attention 

6、什么是损失函数,损失函数的作用是什么 

损失函数(Loss Function),也有称之为代价函数(Cost Function),用来度量预测值和实际值
之间的差异,从而作为模型性能参考依据。损失函数值越小,说明预测输出和实际结果(也称期望输出)之间的差值就越小,也就说明我们构建的模型越好,反之说明模型越差。 

7. 什么是交叉熵,其作用是什么

交叉熵(Cross Entropy)主要用于度量两个概率分布间的差异性信息,在机器学习中用来作为分
类问题的损失函数。当预测概率越接近真实概率,该函数值越小,反之越大。 

8. 解释什么是梯度

梯度(gradient)是一个向量,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大。 

9. 什么是梯度下降

梯度下降是一个最优化算法,常用于机器学习和人工智能当中用来递归性地逼近最小偏差模型,核
心思想是按照梯度相反的方向,不停地调整函数权值。其步骤为:
1)求损失函数值
2)损失是否足够小?如果不是,计算损失函数的梯度
3)按梯度的反方向走一小步(调整权重,$w_i = w_i + \delta w_i$)
4)循环到第2步,迭代执行

10. 激活函数出现梯度消失会有什么后果

机器学习中,如果模型的优化依赖于梯度下降,梯度消失会导致模型无法进一步进行优化。

11. 如何解决梯度消失问题

1)更换激活函数:如更换为relu, leakrelu
2)批量规范化处理:通过规范化操作将输出信号x规范化到均值为0,方差为1保证网络的稳定性
3)使用残差结构:通过引入残差结构,能有效避免梯度消失问题 

13. 什么是批量梯度下降、随机梯度下降,分别有何特点

1)批量梯度下降
① 定义:批量梯度下降(Batch Gradient Descent,BGD)是指在每一次迭代时使用所有样本来进行
梯度的更新
② 特点
优点:收敛比较稳定
缺点:当样本数目很大时,每迭代一步都需要对所有样本计算,训练过程会很慢
2)随机梯度下降
① 定义:随机梯度下降法(Stochastic Gradient Descent,SGD)每次迭代使用一个样本来对参数进
行更新,使得训练速度加快
② 特点
优点:计算量小,每一轮训练更新速度快
缺点:收敛不稳定 

14. 什么是学习率,作用是什么

在梯度下降法中,都是给定的统一的学习率,整个优化过程中都以确定的步长进行更新, 在迭代
优化的前期中,学习率较大,则前进的步长就会较长,这时便能以较快的速度进行梯度下降,而在迭代
优化的后期,逐步减小学习率的值,减小步长,这样将有助于算法的收敛,更容易接近最优解。

15. 学习率过大或过小会导致什么问题

学习率过大可能导致模型无法收敛,过小导致收敛速度过慢

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

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

相关文章

活动预告l 第二届硬件敏捷开发与验证方法学研讨会

2023年8月23日至25日&#xff0c; 2023 RISC-V中国峰会将在北京香格里拉饭店举办。本届峰会采用“主会议主题活动展览展示同期活动”的会议组织方式&#xff0c;将邀请RISC-V国际基金会、业界专家、企业代表及社区伙伴等共同探讨RISC-V发展趋势与机遇。作为本届RISC-V中国峰会的…

Eureka:集群环境配置

创建三个集群 导包 <!-- 导包--><dependencies><!-- Eureka -server --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka-server</artifactId><version>1.…

Jupyter Notebook 配置根目录

注&#xff1a;本文是在 Windows 10 上配置 Jupyter Notebook 打开的默认根目录&#xff0c;Linux 同。 步骤一&#xff1a;创建 Jupyter Notebook 配置文件 使用以下命令创建 Jupyter Notebook 配置文件&#xff08;如果尚未创建&#xff09;&#xff1a; jupyter notebook …

docker优点简介和yum方式安装

一.docker简介 二.docker的优点 1.交付和部署速度快 2.高效虚拟化 3.迁移性和扩展性强 4.管理简单 三.docker的基本概念 1.镜像 2.容器 3.仓库 四.docker的安装部署 &#xff08;1&#xff09;点击容器 ​&#xff08;2&#xff09;选择docker-ce&#xff0c;根据相…

排序算法:选择排序

选择排序的思想是&#xff1a;双重循环遍历数组&#xff0c;每经过一轮比较&#xff0c;找到最小元素的下标&#xff0c;将其交换至首位。 public static void selectionSort(int[] arr) {int minIndex;for (int i 0; i < arr.length - 1; i) {minIndex i;for (int j i …

python rtsp 硬件解码 二

上次使用了python的opencv模块 述说了使用PyNvCodec 模块&#xff0c;这个模块本身并没有rtsp的读写&#xff0c;那么读写rtsp是可以使用很多方法的&#xff0c;我们为了输出到pytorch直接使用AI程序&#xff0c;简化rtsp 输入&#xff0c;可以直接使用ffmpeg的子进程 方法一 …

申请部署阿里云SSL免费证书

使用宝塔自动创建的证书有时候会报NET::ERR_CERT_COMMON_NAME_INVALID&#xff0c;并且每次只能三个月&#xff0c;需要点击续期非常麻烦&#xff0c;容易遗忘。 阿里云免费SSL证书 前往阿里云管理控制台【数字证书管理服务】【SSL证书】&#xff0c;每年20个额度&#xff0c;一…

FPGA原理与结构——时钟资源

一、时钟概述 1、时钟 时钟&#xff0c;即clock信号&#xff0c;是由晶体经过激发产生的振荡电路。模拟端通过各种技术&#xff08;PLL,DPLL&#xff09;产生规律、周期性变化的信号给数字端&#xff0c;数字端使用该信号的边沿进行过赋值&#xff08;procedural assignment&a…

在vue3中创建多重布局的方法

在vue3中创建多重布局的方法 在本文中&#xff0c;会通过demo演示来讲解几个用于创建多重布局的方式。 demo需求&#xff1a;创建一个带有主页、营销页面和应用程序页面的 Web 应用程序 1. 导入Layouts作为常规组件来创建布局系 这是创建布局最简单的方法&#xff0c;但灵活…

ROS-2.ros工具简单认识

ROS命令工具 ros提供了丰富的命令行工具 命令作用rostopic主题相关工具rosservicerosnode节点相关工具rosparam参数相关工具rosmsg消息相关工具rossrv$1 运行小海龟 开启一个终端&#xff0c;启动ros master roscore开启一个终端&#xff0c;启动小海龟仿真器 rosrun tur…

图床项目进度(一)——UI首页

1. 前言 前面我不是说了要做一个图床吗&#xff0c;现在在做ui。 我vue水平不够高&#xff0c;大部分参考b站项目照猫画虎。 vue实战后台 我使用ts&#xff0c;vite&#xff0c;vue3进行了重构。 当然&#xff0c;我对这些理解并不深刻&#xff0c;许多代码都是游离于表面&am…

k8s之Pod及Probe 探针机制(健康检查机制)

文章目录 1、Pod1.1、定义1.2、Pod的形式1.2、Pod的使用1.3、 Pod生命周期1.4、生命周期钩子1.5、临时容器1.5.1、定义1.5.2、使用临时容器的步骤 1.6、静态Pod 2、Probe 探针机制&#xff08;健康检查机制&#xff09;2.1、探针分类2.2、Probe配置项2.3、编写yaml测试探针机制…

初阶c语言:实战项目三子棋

前言 大家已经和博主学习有一段时间了&#xff0c;今天讲一个有趣的实战项目——三子棋 目录 前言 制作菜单 构建游戏选择框架 实现游戏功能 模块化编程 初始化棋盘 打印棋盘 玩家下棋 电脑下棋 时间戳&#xff1a;推荐一篇 C语言生成随机数的方法_c语言随机数_杯浅…

成为创作者的第512天——创作纪念日

​ &#x1f4da;文章目录 &#x1f4e8;官方致信 &#x1f3af;我的第一篇文章 &#x1f9e9;机缘 &#x1f9e9;收获 &#x1f9e9;成就 &#x1f9e9;憧憬与目标 &#x1f4e8;官方致信 ​ &#x1f3af;我的第一篇文章 2022 年 03 月 26 日&#xff0c;那一天我在C…

【网络安全】防火墙知识点全面图解(一)

防火墙知识点全面图解&#xff08;一&#xff09; 1、什么是防火墙&#xff1f; 防火墙&#xff08;Firewall&#xff09;是防止火灾发生时&#xff0c;火势烧到其它区域&#xff0c;使用由防火材料砌的墙。 后来这个词语引入到了网络中&#xff0c;把从外向内的网络入侵行为看…

nodejs使用PassThrough流进行数据传递合并

在Node.js中&#xff0c;流&#xff08;stream&#xff09;是处理数据的强大工具&#xff0c;它们允许我们以流式方式处理大量数据&#xff0c;而不必一次性将所有数据加载到内存中。PassThrough是Node.js中的一个流类型&#xff0c;它在数据流传递过程中起到 无操作 的中间层&…

LeetCode 周赛上分之旅 #41 结合离散化的线性 DP 问题

⭐️ 本文已收录到 AndroidFamily&#xff0c;技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架&#xff0c;你的思考越抽象&#xff0c;它能覆盖的问题域就越广&#xff0c;理解难度…

设计模式——里氏替换原则

文章目录 里氏替换原则OO 中的继承性的思考和说明基本介绍一个程序引出的问题和思考解决方法 里氏替换原则 OO 中的继承性的思考和说明 继承包含这样一层含义&#xff1a;父类中凡是已经实现好的方法&#xff0c;实际上是在设定规范和契约&#xff0c;虽然它不强制要求所有的…

Web会话技术

会话:用户打开浏览器&#xff0c;访问web服务器的资源&#xff0c;会话建立&#xff0c;直到有一方断开连接&#xff0c;会话结束。在一次会话中可以包含多次请求和响应 会话跟踪:一种维护浏览器状态的方法&#xff0c;服务器需要识别多次请求是否来自于同一浏览器&#xff0c;…

线性代数的学习和整理6:向量和矩阵详细,什么是矩阵?(草稿-----未完成)

43 矩阵 4.1 矩阵 4 整理网上总结一些 关于直击线性代数本质的 观点 矩阵的本质是旋转和缩放 矩阵里的数字0矩阵里的数字1&#xff0c;表示不进行缩放矩阵里的数字2等&#xff0c;表示缩放矩阵里的数字-3 表示缩放-3倍&#xff0c;并且反向矩阵里的数字的位置矩阵拆分为列向量…