复星杏脉算法面经2024年5月16日面试

复星杏脉算法面经2024年5月

  • 面试记录:3个部分1. 自己介绍 2. 问八股 3.代码题
    • 先自我介绍
    • 20分钟问问题
      • 1. 梯度爆炸怎么解决,三个解决方案:梯度裁剪(Gradient Clipping)正则化(Regularization)调整激活函数
      • 2. batch norm说一下 里面的缩放因子 为什么需要 shift
    • 二分类任务的评价指标 仔细讲讲
    • 如何缓解样本不均的二分类问题
    • 其中Adan优化器比SGD优化器优点是什么,优化器的选择
    • 有没有用过分布式训练dp和ddp,dp和ddp哪个更好
  • 代码题15分钟但是很简单
  • 解题思路一:

面试记录:3个部分1. 自己介绍 2. 问八股 3.代码题

1一小时

先自我介绍

再20分钟简历
然后问了其他自己做的实习论文
怎么做的 细细讲

20分钟问问题

1. 梯度爆炸怎么解决,三个解决方案:梯度裁剪(Gradient Clipping)正则化(Regularization)调整激活函数

梯度爆炸(Gradient Explosion)是指在训练深度神经网络时,梯度值在反向传播过程中变得非常大,导致模型参数更新过大,进而导致模型不稳定或无法收敛。以下是常用的三个解决梯度爆炸问题的方案:

  1. 梯度裁剪(Gradient Clipping):
    梯度裁剪是直接限制梯度的大小,当梯度的范数超过预设的阈值时,将其缩放到该阈值范围内。这样可以防止梯度变得过大。
torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)

在上面的代码中,max_norm 参数设置了梯度的最大范数,当梯度的范数超过这个值时,会被裁剪到这个值。

  1. 正则化(Regularization):
    正则化是一种在损失函数中添加额外项以防止过拟合的方法,常见的有 L1 和 L2 正则化。正则化项能够限制权重的大小,从而间接减小梯度的爆炸。
  • L2 正则化(也称为权重衰减,Weight Decay):
optimizer = torch.optim.SGD(model.parameters(), lr=0.01, weight_decay=1e-4)

在上面的代码中,weight_decay 参数即为 L2 正则化项的系数。

  1. 调整激活函数:
    选择合适的激活函数可以帮助减小梯度爆炸的风险。某些激活函数如 ReLU 和 Leaky ReLU 相较于 sigmoid 和 tanh 更能减轻梯度爆炸问题,因为它们的梯度在正区间不会饱和。
  • ReLU(Rectified Linear Unit):
import torch.nn.functional as Fdef forward(self, x):x = F.relu(self.fc1(x))return x
  • Leaky ReLU:
import torch.nn.functional as Fdef forward(self, x):x = F.leaky_relu(self.fc1(x), negative_slope=0.01)return x

以上三种方法分别从梯度约束、模型正则化和激活函数选择三个不同角度来缓解梯度爆炸的问题,在实际应用中可以根据具体情况选择合适的方法或组合使用多种方法。

2. batch norm说一下 里面的缩放因子 为什么需要 shift

在这里插入图片描述

二分类任务的评价指标 仔细讲讲

在这里插入图片描述
在这里插入图片描述

如何缓解样本不均的二分类问题

在这里插入图片描述

其中Adan优化器比SGD优化器优点是什么,优化器的选择

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Adam及其变种:结合动量和自适应学习率,快速稳定收敛,适用于大多数深度学习任务。

AdamW 是 Adam 优化器的改进版本,旨在解决 Adam 优化器在某些情况下会导致权重衰减(weight decay)效果不佳的问题。AdamW 是由 Ilya Loshchilov 和 Frank Hutter 提出的,并在他们的论文《Decoupled Weight Decay Regularization》中详细介绍。
在这里插入图片描述
在这里插入图片描述

AdamW 是一种改进的 Adam 优化器,通过将权重衰减与梯度更新分离,提供了更好的正则化效果和更快的收敛速度。它在许多深度学习任务中表现优异,是现代深度学习中常用的优化器之一。

有没有用过分布式训练dp和ddp,dp和ddp哪个更好

在这里插入图片描述

代码题15分钟但是很简单

Q1: Compression
e.g, input: aabbbdeffffww
output aa3bde4fww
连续大于等于三个相同的character用“数量+ character”表示,otherwise照常输出

解题思路一:

s = input()
result = ""
i = 0
while i < len(s) - 2:c = s[i]if c == s[i + 1] == s[i + 2]:count = 3while i + count < len(s) and s[i + count] == c:count += 1result += str(count)result += ci += countelse:result += ci += 1
if s[-1] != s[-3]:result += s[-2]result += s[-1]
print(result)

时间复杂度:O(n)
空间复杂度:O(1)


创作不易,观众老爷们请留步… 动起可爱的小手,点个赞再走呗 (๑◕ܫ←๑)
欢迎大家关注笔者,你的关注是我持续更博的最大动力


原创文章,转载告知,盗版必究



在这里插入图片描述


在这里插入图片描述
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠

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

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

相关文章

Flink Sql:四种Join方式详解(基于flink1.15官方文档)

JOINs flink sql主要有四种连接方式&#xff0c;分别是Regular Joins、Interval Joins、Temporal Joins、lookup join 1、Regular Joins&#xff08;常规连接 &#xff09; 这种连接方式和hive sql中的join是一样的&#xff0c;包括inner join&#xff0c;left join&#xff…

java Springboot网上音乐商城(源码+sql+论文)

1.1 研究目的和意义 随着市场经济发展&#xff0c;尤其是我国加入WTO &#xff0c;融入经济全球化潮流&#xff0c;已进入国内外市场经济发展新时期&#xff0c;音乐与市场联系越来越紧密&#xff0c;我国音乐和网上业务也进入新历史发展阶段。为了更好地服务于市场&#xff0…

Studio One 6.6.2 for Mac怎么激活,有Studio One 6激活码吗?

如果您是一名音乐制作人&#xff0c;您是否曾经为了寻找一个合适的音频工作站而苦恼过&#xff1f;Studio One 6 for Mac是一款非常适合您的MacBook的音频工作站。它可以帮助您轻松地录制、编辑、混音和发布您的音乐作品。 Studio One 6.6.2 for Mac具有直观的界面和强大的功能…

全网爆火《pvz植物大战僵尸杂交版》最新安装包,Android、Windows、ios安装包+教程!

今天阿星想和大家分享一个最近在B站上引起轰动的老游戏——《植物大战僵尸》&#xff01; 是的&#xff0c;你没听错&#xff0c;就是那个曾经让我们熬夜到天亮&#xff0c;一关接一关挑战的游戏。 让我们来聊聊&#xff0c;这款游戏怎么就突然又火了起来呢&#xff1f; 原来…

AI玩具来了,它怎么样?

90后的我们&#xff0c;是AI时代的见证者。20后的小孩&#xff0c;才是AI时代的原著民。当ChatGPT们改变着大人的工作方式&#xff0c;我觉得&#xff0c;是时候让孩子们的玩具也更聪明些了吧。于是&#xff0c;在六一前夕&#xff0c;我用市面上的AI语音对话套件给娃DIY了一套…

简单的基于Transformer的滚动轴承故障诊断(Pytorch)

递归神经网络在很长一段时间内是序列转换任务的主导模型&#xff0c;其固有的序列本质阻碍了并行计算。因此&#xff0c;在2017年&#xff0c;谷歌的研究人员提出了一种新的用于序列转换任务的模型架构Transformer&#xff0c;它完全基于注意力机制建立输入与输出之间的全局依赖…

Docker-Portainer可视化管理工具

Docker-Portainer可视化管理工具 文章目录 Docker-Portainer可视化管理工具介绍资源列表基础环境一、安装Docker二、配置Docker加速器三、拉取Portainer汉化版本镜像四、运行容器五、访问可视化界面 介绍 Portainer是一款开源的容器管理平台&#xff0c;它提供了一个直观易用的…

Jmeter多个请求按照比例并发压测的几种方式

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、需求 在压测的过程中&#xff0c;为了能够压测整个链路&#xff0c;通常需要多个接口进行并…

基于Matlab停车场车牌识别计时计费管理系统 【W2】

简介 停车场车牌识别计时计费管理系统在现代城市管理中具有重要意义。随着城市化进程的加快和车辆数量的增加&#xff0c;传统的人工管理停车场的方式已经难以满足效率和精确度的要求。因此引入车牌识别技术的自动化管理系统成为一种趋势和解决方案。 背景意义 提升管理效率&a…

linux 部署瑞数6实战(维普,药监局)sign第二部分

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx …

诊断解决方案——CANdesc和MICROSAR

文章目录 一、CANdesc二、MICROSAR一、CANdesc canbeded是Vector汽车电子开发软件Nun Autosar标准的工具链之一。 canbeded是以源代码的形式提供的可重用的组件,包括CAN Driver,交互层(IL),网络管理(NM),传输层(TP),诊断层(CANdesc) , 通信测量和标定协议(CCP,XCP) 和 通信控…

【C++】C++入门的杂碎知识点

思维导图大纲&#xff1a; namespac命名空间 什么是namespace命名空间namespace命名空间有什么用 什么是命名空间 namespace命名空间是一种域&#xff0c;它可以将内部的成员隔绝起来。举个例子&#xff0c;我们都知道有全局变量和局部变量&#xff0c;全局变量存在于全局域…

联想电脑电池只能充到80%,就不在充电了,猛一看以为坏了,只是设置了养护模式。

现在电池管理模式有三种&#xff1a; 1&#xff09;常规 2&#xff09;养护 3&#xff09;快充 好久没有用联想的电脑了&#xff0c;猛一看&#xff0c;咱充到了80%不充了&#xff0c;难道电池是坏的&#xff1f;我们要如何设置才可以让其充电到100%呢&#xff1f; 右下角…

贪心算法学习五

例题一 解法&#xff08;贪⼼&#xff09;&#xff1a; 贪⼼策略&#xff1a; 我们的任何选择&#xff0c;应该让这个数尽可能快的变成 1 。 对于偶数&#xff1a;只能执⾏除 2 操作&#xff0c;没有什么分析的&#xff1b; 对于奇数&#xff1a; i. 当 n 1 的时候…

如何使用ios自带语音转文字工具?

ios自带语音转文字是iOS系统中自带的语音转文字功能主要应用于以下几个方面&#xff1a; 1. 语音输入&#xff1a;在iOS的任何文本输入框中&#xff0c;通常都有一个麦克风图标&#xff0c;点击后可以进行语音输入&#xff0c;系统会将你的语音实时转换成文字。 2. Siri&…

1. NAS和SAN存储

NAS和SAN存储 一、存储设备1、根据工作方式2、DAS 直接附加存储3、NAS存储4、SAN存储 二、模拟配置SAN存储1、创建虚拟机、安装openfiler2、访问openfiler webUI3、创建RAID设备4、开启iSCSI服务5、配置SAN存储设备共享空间5.1 设置IQN 6、业务服务器连接使用存储6.1 安装客户端…

JDK17 你的下一个白月光

JDK版本升级的非常快&#xff0c;现在已经到JDK20了。JDK版本虽多&#xff0c;但应用最广泛的还得是JDK8&#xff0c;正所谓“他发任他发&#xff0c;我用Java8”。 但实际情况却不是这样&#xff0c;越来越多的java工程师拥抱 JDK17&#xff0c;于是了解了一下 JDK17新语法&a…

C#开发-集合使用和技巧(二)Lambda 表达式介绍和应用

C#开发-集合使用和技巧 Lambda 表达式介绍和应用 C#开发-集合使用和技巧介绍简单的示例&#xff1a;集合查询示例&#xff1a; 1. 基本语法从主体语句上区分&#xff1a;1. 主体为单一表达式2. 主体是代码块&#xff08;多个表达式语句&#xff09; 从参数上区分1. 带输入参数的…

69. UE5 RPG 使用Gameplay Cue 实现技能表现效果

在上一章中&#xff0c;我们实现了敌人的攻击技能的特效和音效。如果我们在多人模式下打开&#xff0c;发现&#xff0c;其它客户端看不到对应的效果。 造成这种问题的原因是因为敌人的技能是运行在服务器端的&#xff0c;它只复制到拥有它的客户端&#xff0c;而敌人的效果对于…

仿FC数学金刚游戏介绍

简介 Math Monkey是Simple2l工作室开发的第二款小游戏&#xff0c;灵感来源于FC游戏平台的数学金刚游戏。小学时玩FC游戏是业余时间最期待的事情&#xff0c;还记得有一次和玩伴玩游戏时已经晚上了&#xff0c;于是约定再玩一把就各回各家&#xff0c;没想到又连玩了N把每一把…