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

2024-06-17 10:20

本文主要是介绍复星杏脉算法面经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)


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


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



在这里插入图片描述


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

这篇关于复星杏脉算法面经2024年5月16日面试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1069177

相关文章

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

康拓展开(hash算法中会用到)

康拓展开是一个全排列到一个自然数的双射(也就是某个全排列与某个自然数一一对应) 公式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 其中,a[i]为整数,并且0<=a[i]<i,1<=i<=n。(a[i]在不同应用中的含义不同); 典型应用: 计算当前排列在所有由小到大全排列中的顺序,也就是说求当前排列是第

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业