深度学习基本理论上篇:(MLP/激活函数/softmax/损失函数/梯度/梯度下降/学习率/反向传播)、深度学习面试

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(1)被称为网络的 第一层(first layer),f(2)被称为 第二层(second layer),以此类推。链的全长称为模型的深度(depth)。 

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

1)优点

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

2)缺点

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

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

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

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

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

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

1)sigmoid

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

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

2)tanh

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

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

3)relu

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

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

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

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

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

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

也经常用于计算Attention 

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

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

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

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

9. 解释什么是梯度

梯度是损失函数关于模型参数的偏导数向量,它告诉我们如何调整模型参数以减小损失函数的值,从而优化模型。

梯度是一个向量,这个向量是一个函数f(loss,w)对w求偏导的值组成的向量就是梯度。这个函数描述是模型参数和损失值之间的函数。

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

10. 什么是梯度下降

梯度下降就是,调整模型参数以减少损失的过程。

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

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

梯度消失(Gradient Vanishing)是指在神经网络的训练过程中,反向传播算法计算梯度时,网络的较深层(深度)权重更新的梯度趋近于零,导致这些层的参数很少或根本没有更新,从而使得网络难以学习或收敛到一个合适的模型。

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

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

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

13. 什么是梯度爆炸,如何解决梯度爆炸问题

1)梯度爆炸。梯度消失是在计算中出现了梯度过小的值,梯度爆炸则相反,梯度计算出现了过大的值。梯度过大,可能使参数更新幅度过大,超出了合理范围。
2)解决梯度爆炸的方法
梯度裁剪:把沿梯度下降方向的步长限制在一个范围之内,计算出来的梯度的步长的范数大于这个阈值的话,就以这个范数为基准做归一化,使这个新的的梯度的范数等于这个阈值权重正则化:通过正则化,可以部分限制梯度爆炸的发生

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

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

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

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

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

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

17、什么是反向传播算法,为什么要使用反向传播算法

1)定义
反向传播(Backpropagation algorithm)全称“误差反向传播”,是在深度神经网络中,根据输出层输出值,来反向调整隐藏层权重的一种方法
2)对于多个隐藏层的神经网络,输出层可以直接求出误差来更新参数,但隐藏层的误差是不存在的,因此不能对它直接应用梯度下降,而是先将误差反向传播至隐藏层,然后再应用梯度下降 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小白到运维工程师自学之路 第七十八集 (安装Jenkins)

一、环境概述 随着软件开发需求及复杂度的不断提高,团队开发成员之间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。Jenkins自动化部署可以解决集成、测试、部署等重复性的工作,工具集成的效率明显高于人工操作&#xf…

【私有GPT】CHATGLM-6B部署教程

【私有GPT】CHATGLM-6B部署教程 CHATGLM-6B是什么? ChatGLM-6B是清华大学知识工程和数据挖掘小组(Knowledge Engineering Group (KEG) & Data Mining at Tsinghua University)发布的一个开源的对话机器人。根据官方介绍,这是…

【AWS】创建IAM用户;无法登录IAM用户怎么办?错误提示:您的身份验证信息错误,请重试(已解决)

目录 0.背景问题分析 1.解决步骤 0.背景问题分析 windows 11 ,64位 我的问题情景: 首先我创建了aws的账户,并且可以用ROOT用户登录,但是在登录时选择IAM用户,输入ROOT的名字和密码,就会提示【您的身份验证…

SQL 盲注

问题描述&#xff1a; 解决方案&#xff1a; 通过建立过滤器方法 添加拦截器&#xff1a; web.xml 文件配置拦截器 <filter><filter-name>sqlFilter</filter-name><filter-class>com.fh.filter.SqlFilter</filter-class></filter> pack…

【Python机器学习】实验15 将Lenet5应用于Cifar10数据集(PyTorch实现)

文章目录 CIFAR10数据集介绍1. 数据的下载2.修改模型与前面的参数设置保持一致3. 新建模型4. 从数据集中分批量读取数据5. 定义损失函数6. 定义优化器7. 开始训练8.测试模型 9. 手写体图片的可视化10. 多幅图片的可视化 思考题11. 读取测试集的图片预测值&#xff08;神经网络的…

GPT-3.5——从 人工智障 到 大人工智障

有人说&#xff0c;GPT是从人工智障到人工智能的蜕变&#xff0c;但是。。。 我认为&#xff0c;GPT是从 人工智障 到 大人工智障 的退化。。。 从 人工智障 到 大人工智障 GPT-3.5学术介绍No.1---- 西红柿炒钢丝球基本信息详细制作方法材料步骤 幕后花絮 No.2---- 顶尖数学家…

vue3学习笔记

1.创建项目 2. 3.setup 4. 5. 6. 7.生命周期函数 8. 9. 10. 11. 12.pinia

TCP拥塞控制详解 | 6. 主动队列管理

网络传输问题本质上是对网络资源的共享和复用问题&#xff0c;因此拥塞控制是网络工程领域的核心问题之一&#xff0c;并且随着互联网和数据中心流量的爆炸式增长&#xff0c;相关算法和机制出现了很多创新&#xff0c;本系列是免费电子书《TCP Congestion Control: A Systems …

QT的工程文件认识

目录 1、QT介绍 2、QT的特点 3、QT模块 3.1基本模块 3.2扩展模块 4、QT工程创建 1.选择应用的窗体格式 2.设置工程的名称与路径 3.设置类名 4.选择编译器 5、QT 工程解析 xxx.pro 工程配置 xxx.h 头文件 main.cpp 主函数 xxx.cpp 文件 6、纯手工创建一个QT 工程…

从Web 2.0到Web 3.0,互联网有哪些变革?

文章目录 Web 2.0时代&#xff1a;用户参与和社交互动Web 3.0时代&#xff1a;语义化和智能化影响和展望 &#x1f389;欢迎来到Java学习路线专栏~从Web 2.0到Web 3.0&#xff0c;互联网有哪些变革&#xff1f; ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#x…

springboot多模块打包方式

明确子父模块结构 父目录是带modules 大致结构如下&#xff1a; <modules><module>ruoyi-admin</module><module>ruoyi-framework</module><module>ruoyi-system</module><module>ruoyi-quartz</module><module>…

解决出海痛点:亚马逊云科技助力智能涂鸦,实现设备互联互通

今年6月&#xff0c;《财富》&#xff08;中文版&#xff09;发布“2023年值得关注的中国出海主力”盘点&#xff0c;在七个赛道中聚焦不断开拓新领域、影响力与日俱增的出海企业。涂鸦智能顺利入选&#xff0c;作为一家全球化公司&#xff0c;相比于产品直接到海外销售的传统出…

android cocoscreator 检测模拟器还是真机

转载至 一行代码帮你检测Android模拟器 具体原理看原博主文章&#xff0c;这里只讲cocoscreator3.6的安卓工程怎么使用 1.新建一个com.lahm.library包&#xff0c;和com.cocos.game同目录&#xff0c;如图示 那四个文件的代码如下&#xff1a; EmulatorCheckUtil类&#…

PostgreSQL中的密码验证方法

假设您想在客户端/服务器协议中实现密码身份验证方法。 您将如何做到这一点以及可能出现的问题是什么&#xff1f; 以下是 PostgreSQL 中如何完成此操作的故事。 password 一开始&#xff0c;PostgreSQL 只有 pg_hba.conf 中现在称为“password”的方法。 这是你能想象到的最…

Spring Boot实现IP地址解析

一、本地解析 如果使用本地ip解析的话&#xff0c;我们将会借助ip2region&#xff0c;该项目维护了一份较为详细的本地ip地址对应表&#xff0c;如果为了离线环境的使用&#xff0c;需要导入该项目依赖&#xff0c;并指定版本&#xff0c;不同版本的方法可能存在差异。 <d…

防火墙firewall

一、什么是防火墙 二、iptables 1、iptables介绍 2、实验 138的已经被拒绝&#xff0c;1可以 三、firewalld 1、firewalld简介 关闭iptables&#xff0c;开启firewalld&#xff0c;curl不能使用&#xff0c;远程连接ssh可以使用 添加80端口 这样写也可以&#xff1a;添加http…

打家劫舍 II——力扣213

动规 int robrange(vector<int>& nums, int start, int end){int first=nums[start]

开源数据库Mysql_DBA运维实战 (总结)

开源数据库Mysql_DBA运维实战 &#xff08;总结&#xff09; SQL语句都包含哪些类型 DDL DCL DML DQL Yum 安装MySQL的配置文件 配置文件&#xff1a;/etc/my.cnf日志目录&#xff1a;/var/log/mysqld.log错误日志&#xff1a;/var/log/mysql/error.log MySQL的主从切换 查看主…

FairyGUI编辑器自定义菜单扩展插件

本文涉及到的软件有&#xff1a;FairyGUI&#xff0c;VSCode 代码环境涉及到了&#xff1a;Lua VSCode插件&#xff1a;EmmyLua 在编写FairyGUI编辑器菜单前&#xff0c;了解一下FairyGUIEditor的API会有效的帮助我们解决很多问题。FairyGUI的扩展是通过编辑器自带的插件功能…

2023国赛数学建模思路 - 案例:感知机原理剖析及实现

文章目录 1 感知机的直观理解2 感知机的数学角度3 代码实现 4 建模资料 # 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 感知机的直观理解 感知机应该属于机器学习算法中最简单的一种算法&#xff0c;其…