深度学习面试题汇总(一)

深度学习面试题汇总(一)

文章目录

  • 深度学习面试题汇总(一)
      • 1.Dropout
        • 1.1Dropout在训练的过程中会随机去掉神经元,那么在编码过程中是怎么处理的呢?
        • 1.2dropout的训练过程需要做rescale,这个过程是什么样子的呢?
      • 2.激活函数
        • 2.1Relu
          • 2.1.1Relu零点不可导问题
          • 2.1.2Relu优缺点
        • 2.2Sigmoid
      • 3.如何处理神经网络中的过拟合问题?
      • 4.梯度消失和梯度爆炸的问题是如何产生的?如何解决?
      • 5.交叉熵损失与KL散度的区别?
      • 6.什么是数据规范化(Normalization),我们为什么需要它?

1.Dropout

1.1Dropout在训练的过程中会随机去掉神经元,那么在编码过程中是怎么处理的呢?

在这里插入图片描述

1.2dropout的训练过程需要做rescale,这个过程是什么样子的呢?

在这里插入图片描述

2.激活函数

2.1Relu

在这里插入图片描述

2.1.1Relu零点不可导问题

在这里插入图片描述

2.1.2Relu优缺点

优点包括:

  1. 解决了梯度消失、爆炸的问题
  2. 计算方便,计算速度快,求导方便
  3. 加速网络训练

缺点包括:

  1. 由于负数部分恒为0,会导致一些神经元无法激活
  2. 输出不是以0为中心

2.2Sigmoid

在这里插入图片描述

特点:

  1. Sigmoid函数优良的特性能够把X ∈ R的输出压缩到X ∈ (0, 1)区间。可以利用Sigmoid函数将输出转译为概率值的输出。
  2. 在LSTM中,当Sigmoid输出1的时候代表当前门控全部开放(允许全部记忆通过),当Sigmoid输出0的时候代表门控关闭(不允许任何记忆通过)。

缺点:

  1. 经过Sigmoid激活函数输出的均值为0.5,即输出为非0均值。反向传播时候更新方向要不往正向更新,要不往负向更新,会导致捆绑效果,使得收敛速度减慢。
  2. 梯度消失和梯度爆炸

3.如何处理神经网络中的过拟合问题?

  1. L1/L2正则化
  2. dropout
  3. data argumentation
  4. early stop

4.梯度消失和梯度爆炸的问题是如何产生的?如何解决?

由于反向传播过程中,前面网络权重的偏导数的计算是逐渐从后往前累乘的,如果使用 、σ、tanh 激活函数的话,由于导数小于一,因此累乘会逐渐变小,导致梯度消失,前面的网络层权重更新变慢;如果权重本身比较大,累乘会导致前面网络的参数偏导数变大,产生数值上溢。

因为 sigmoid 导数最大为1/4,故只有当abs(w)>4时才可能出现梯度爆炸,因此最普遍发生的是梯度消失问题。

解决方法通常包括

  1. 使用ReLU等激活函数,梯度只会为0或者1,每层的网络都可以得到相同的更新速度
  2. 采用LSTM
  3. 进行梯度裁剪(clip), 如果梯度值大于某个阈值,我们就进行梯度裁剪,限制在一个范围内
  4. 使用正则化,这样会限制参数 w的大小,从而防止梯度爆炸
  5. 设计网络层数更少的网络进行模型训练
  6. batch normalization

精彩博客:https://kexue.fm/archives/7888

5.交叉熵损失与KL散度的区别?

在这里插入图片描述

6.什么是数据规范化(Normalization),我们为什么需要它?

规范化将越来越偏的分布拉回到标准化的分布,使得激活函数的输入值落在激活函数对输入比较敏感的区域,从而使梯度变大,加快学习收敛速度,避免梯度消失的问题。

  1. 第L层每个神经元的激活值进行Normalization操作,比如BatchNorm/ LayerNorm/ InstanceNorm/ GroupNorm等方法都属于这一类;
  2. 对神经网络中连接相邻隐层神经元之间的边上的权重进行规范化操作,比如Weight Norm就属于这一类。

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

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

相关文章

Candence PCB Si 仿真设计篇3:板级链路仿真

接上篇Candence PCB Si 仿真设计篇2;提示仿真链路中无VIA过孔仿真模型,可手动添加VIA过孔仿真模型; 1.添加过孔VIA仿真模型. 在SigXplorer PCB SI GXL界面中,菜单栏Analyze->Via Model Generator弹出设置VIA模型设置&#xf…

VR全景城市,用720全景树立城市形象,打造3D可视化智慧城市

随着城市化进程的加速,城市之间的竞争也日益激烈。城市管理者们需要寻求新的方式来提升城市的品牌形象和吸引力。在这个过程中,VR全景营销为城市提供了一种全新的营销手段,可以帮助提升城市的价值和吸引力。一、城市宣传新方式VR全景营销是一…

自学大数据第八天~HDFS命令(二)

嗨喽,好久不见,最近抽空复习了一下hadoop,书读百遍,其意自现这句话还真是; 继续学习HDFS常用命令 改变文件 拥有者~chown hdfs dfs -chown -R hadoop /user/hadoop使用 -R 将使改变在目录结构下递归进行。命令的使用者必须是超级用户。 改变文件所属组-chgrp hdfs dfs -chgr…

Swing开发教程从入门到实践(一)

文章目录开发工具设置实战示例自定义组件常用组件总览JFrameJDialogJPanelLayout布局高级扩展扩展皮肤FlatLafweblaf扩展组件自定义组件SwingX打包部署打包成可执行Jar打包成成品参考开发工具 传统套件IDEAUI Designer。 UI Designer是一个idea插件,可以帮助我们通…

tailwind和bootstrap对比优劣有哪些,给前端开发者的一些建议

一、概述Tailwind和Bootstrap是两种流行的CSS框架,它们都提供了快速、易用的CSS类库来帮助前端开发者构建出现代化的网站和应用程序。它们有一些相似之处,但也有很多不同的优势和劣势。二、对比Tailwind的优势:1.自定义程度更高: Tailwind提供的所有CSS类…

【数论】最大公约数、约数的个数与约数之和定理

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…

朋友去华为面试,轻松拿到26K的Offer,羡慕了......

最近有朋友去华为面试,面试前后进行了20天左右,包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说,80%的人都会栽在第一轮面试,要不是他面试前做足准备,估计都坚持不完后面几轮面试。 其实&…

java面试八股文之------Java并发夺命23问

java面试八股文之------Java并发夺命23问👨‍🎓1.java中线程的真正实现方式👨‍🎓2.java中线程的真正状态👨‍🎓3.如何正确停止线程👨‍🎓4.java中sleep和wait的区别👨‍…

【STC15单片机】 超声波模块的使用

目录 1 基于STC15F2K60S2的超声波测距代码 1.1 基本注意事项 1.1.1 跳线帽接法 1.1.2 晶振设置 1.2 板载超声波工作原理 1.2.1 原理总结 1.2.2 超声波代码思路 1.3 STC15单片机代码部分 1.3.1 定时器0&定时器1初始化 1.3.2 超声波ultrasonic.c ultrasonic.h文件配…

C++修炼之练气期第八层——内联函数

文章目录 一、宏的缺点 引例 改正一 改正二 改正三 宏的缺陷 二、内联函数的概念 三、内联与非内联的区别 四、内联函数的特性 专栏导读 🌸作者简介:花想云,在读本科生一枚,致力于 C/C、Linux 学习。 🌸本文收…

【linux】:进程地址空间

文章目录 前言一、进程地址空间总结前言 本篇文章接着上一篇文章继续讲解进程,主要讲述了进程在运行过程中是如何在内存中被读取的以及为什么要有虚拟地址的存在,CPU在运行过程中是拿到程序的虚拟地址还是真实的物理内存。 一、进程地址空间 下面我们先…

【Spring从入门到实战】第 5 讲:SpringBoot实现拦截器及其原理

本文已收录于专栏🌲《Spring从入门到实战》🌲专栏前言 大家好,我是执梗。本专栏将从Spring入门开始讲起,详细讲解各类配置的使用以及原因,到使用SpringBoot进行开发实战,旨在记录学习生活的同时也希望能帮到…

【Maven】Maven的安装与下载

目录 一、Maven 软件的下载 二、Maven 软件的安装 三、JDK 的准备与统一 1. JDK 环境: 2. Maven 及 JDK 配置 四、Maven 软件版本测试 💟 创作不易,不妨点赞💚评论❤️收藏💙一下 一、Maven 软件的下载 为了使用 Maven 管理…

6万字144道耗时72小时吐血整理【金三银四(金九银十)面试小抄之Java经典面试题基础篇总结】(附答案)

目录一.前言二.Java基础面试篇1. 什么是Java?2.Java 和 C的区别?3.Java中常用的注释以及作用?4.标识符的命名规则5.JVM、JRE和JDK的关系6.Oracle JDK 和 OpenJDK 的对比7.Java中基本数据类型8.int 和 Integer 有什么区别9.switch 是否能作用在…

【Effective C++详细总结】第二章 构造/析构/赋值运算

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📚专栏地址:C/C知识点 📣专栏定位:整理一下 C 相关的知识点,供大家学习参考~ ❤️如果有收获的话,欢迎点赞👍…

理清gcc、g++、libc、glibc、libstdc++的关系

0 理清gcc、g++、libc、glibc、libstdc++的关系 0.1 $ dpkg -L libc6 $ dpkg -L libc6 /lib/x86_64-linux-gnu /lib/x86_64-linux-gnu/ld-2.31.so /lib/x86_64-linux-gnu/libBrokenLocale-2.31.so /lib/x86_64-linux-gnu/libSegFault.so /lib/x86_64-linux-gnu/libanl-2.31.s…

Java NIO Buffer

Buffer是一块内存,主要用在NIO Channel,比如FileChannel,SocketChannel。 对Channel的读写都是直接操作Buffer对象。 Buffer是一个工具类,提供了操作这个内存块的方法。 Buffer的实现主要有以下几种: Buffer的类型: …

我一个普通程序员,光靠GitHub打赏就年入70万,

一个国外程序员名叫 Caleb Porzio在网上公开了自己用GitHub打赏年入70万的消息和具体做法。 Caleb Porzio 发推庆祝自己靠 GitHub 打赏(GitHub Sponsors)赚到了 10 万美元。 GitHub Sponsors是 GitHub 2019 年 5 月份推出的一个功能,允许开发…

ConvMixer:Patches Are All You Need

Patches Are All You Need 发表时间:[Submitted on 24 Jan 2022]; 发表期刊/会议:Computer Vision and Pattern Recognition; 论文地址:https://arxiv.org/abs/2201.09792; 代码地址:https:…

Redis 主从库如何实现数据一致?

目录 1、主从库间如何进行第一次同步? 2、主从级联模式分担全量复制时的主库压力 3、主从库间网络断了怎么办? 总结 // 好的文章,值得反复去读 Redis 具有高可靠性,这里有两层含义:一是数据尽量少丢失,…