【招联消费金融股份】有限公司2024年5月18日【算法开发岗暑期实习】一面试经验分享

本文主要是介绍【招联消费金融股份】有限公司2024年5月18日【算法开发岗暑期实习】一面试经验分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

招联消费金融股份有限公司2024年5月18日面试经验分享

  • 面试流程:共30多分钟,先3分钟自我介绍,然后细细介绍简历上面的论文和实习信息。
    • 问题1:扩散模型的noise schedule有什么研究。
    • 问题2:有哪些常见的数学分布
    • 问题3:用过哪些优化器,详细介绍一下特点和策越,为什么好?
    • 问题4:详细介绍LORA,对于不同秩的对比实验设置有没有了解,优势是什么,如何初始化的?
    • 问题5:介绍minhash算法的实现
    • 问题6:特征提取器用过哪些,介绍一下。
    • 问题7:transformer介绍一下架构,QKV机制。
    • 问题8:python与c++的源层面上的不同,比如python的GIL,深拷贝和浅拷贝。python是静态语言还是动态语言,pytorch的神经网络是静态图还是动态图。
    • 问题9:c++的拷贝构造函数是在什么时候调用的
    • 问题10:对于传统的机器学习方法有没有了解,决策树和聚类(k-means),介绍k-means的特点,类别数量是模型学习的还是人为定义的?每个类里面是假设符合什么分布?
    • 问题11:介绍强化学习DP,蒙特卡洛法和dt算法。
    • 问题12:线性代数,介绍特征值和特征向量。
    • 问题13:介绍P-Tunig和P-Tuningv2
    • 问题14:介绍ChatGLM、LLAMA。

面试流程:共30多分钟,先3分钟自我介绍,然后细细介绍简历上面的论文和实习信息。

问题1:扩散模型的noise schedule有什么研究。

从0.0001到0.02有linear,cosine,sqrt_linear,sqrt

def make_beta_schedule(schedule, n_timestep, linear_start=1e-4, linear_end=2e-2, cosine_s=8e-3):if schedule == "linear":betas = (torch.linspace(linear_start ** 0.5, linear_end ** 0.5, n_timestep, dtype=torch.float64) ** 2)elif schedule == "cosine":timesteps = (torch.arange(n_timestep + 1, dtype=torch.float64) / n_timestep + cosine_s)alphas = timesteps / (1 + cosine_s) * np.pi / 2alphas = torch.cos(alphas).pow(2)alphas = alphas / alphas[0]betas = 1 - alphas[1:] / alphas[:-1]betas = np.clip(betas, a_min=0, a_max=0.999)elif schedule == "sqrt_linear":betas = torch.linspace(linear_start, linear_end, n_timestep, dtype=torch.float64)elif schedule == "sqrt":betas = torch.linspace(linear_start, linear_end, n_timestep, dtype=torch.float64) ** 0.5else:raise ValueError(f"schedule '{schedule}' unknown.")return betas.numpy()

问题2:有哪些常见的数学分布

'离散分布'二项分布 (Binomial Distribution)用途: 用于描述在n次独立试验中成功的次数,每次试验成功的概率为p。
参数: n(试验次数),p(成功的概率)。
例子: 抛硬币n次,统计正面朝上的次数。泊松分布 (Poisson Distribution)用途: 用于描述在固定时间或空间内某事件发生的次数。
参数: λ(单位时间或空间内事件的平均发生率)。
例子: 每小时顾客到达商店的次数。几何分布 (Geometric Distribution)用途: 用于描述第一次成功之前需要的失败次数。
参数: p(每次试验成功的概率)。
例子: 抛硬币直到第一次出现正面。'连续分布'正态分布 (Normal Distribution)用途: 用于描述许多自然现象和测量数据。
参数: μ(均值),σ²(方差)。
例子: 人的身高、考试成绩等。指数分布 (Exponential Distribution)用途: 用于描述时间间隔或寿命。
参数: λ(事件发生的速率)。
例子: 机器的故障时间。均匀分布 (Uniform Distribution)用途: 用于描述在一定范围内每个值都有相同概率的情况。
参数: a(最小值),b(最大值)。
例子: 随机生成的密码。卡方分布 (Chi-Square Distribution)用途: 用于检验样本方差和假设方差的差异。
参数: k(自由度)。
例子: 假设检验中的卡方检验。t分布 (Student's t-Distribution)用途: 用于小样本的均值推断和假设检验。
参数: ν(自由度)。
例子: 小样本的均值检验。'其他分布'贝塔分布 (Beta Distribution)用途: 用于描述概率的分布。
参数: α和β(形状参数)。
例子: 用于贝叶斯统计中的先验分布。伽玛分布 (Gamma Distribution)用途: 用于描述等待时间。
参数: k(形状参数),θ(尺度参数)。
例子: 处理时间、服务时间分布。

问题3:用过哪些优化器,详细介绍一下特点和策越,为什么好?

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

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

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

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

问题4:详细介绍LORA,对于不同秩的对比实验设置有没有了解,优势是什么,如何初始化的?

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

问题5:介绍minhash算法的实现

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

问题6:特征提取器用过哪些,介绍一下。

很多,比如人脸身份信息的特征提取器,Arcface, Cosface, blendface等等。GAN和VQVAE的图像编码器等Autoencoders。
Word2Vec
PCA
SIFT(尺度不变特征变换)(Scale-Invariant Feature Transform)
TF-IDF(Term Frequency-Inverse Document Frequency)(词频-逆文档频率)

问题7:transformer介绍一下架构,QKV机制。

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

问题8:python与c++的源层面上的不同,比如python的GIL,深拷贝和浅拷贝。python是静态语言还是动态语言,pytorch的神经网络是静态图还是动态图。

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

问题9:c++的拷贝构造函数是在什么时候调用的

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

问题10:对于传统的机器学习方法有没有了解,决策树和聚类(k-means),介绍k-means的特点,类别数量是模型学习的还是人为定义的?每个类里面是假设符合什么分布?

在这里插入图片描述
在这里插入图片描述
下面是 K-Means 算法的伪代码表示:

输入:数据集 X,簇数量 K
输出:簇分配结果(cluster_assignment),簇中心(centroids)1. 初始化簇中心 centroids
2. 迭代优化:重复执行以下步骤,直到满足停止条件:a. 簇分配:对每个数据点 x 属于 X:计算 x 与所有 centroids 的距离,选择最近的簇中心所属的簇作为 x 的簇分配结果 cluster_assignment[x]b. 簇中心更新:对每个簇 c 属于 K:计算 c 中所有数据点的均值向量作为新的簇中心 centroids[c]停止条件:
- 达到最大迭代次数
- 簇中心不再变化(收敛)
- 其他停止条件

需要注意的是,K-Means 算法的结果可能会受到初始簇中心的影响,不同的初始值可能导致不同的聚类结果。因此,通常会多次运行算法,选择最优的聚类结果作为最终输出。

问题11:介绍强化学习DP,蒙特卡洛法和dt算法。

在这里插入图片描述
比较与应用

  • DP 适用于确定性环境下的最优化问题,但需要完整的环境模型。
  • 蒙特卡洛方法不需要环境模型,但需要大量的采样轨迹来进行值函数估计。
  • TD 算法结合了增量学习和模型无关的特点,适用于需要实时学习和模型不完全的情况。

在实际应用中,这些方法可以根据问题的特点结合使用,例如在强化学习中使用 DP 进行价值函数的初始化和策略改进,结合蒙特卡洛方法进行策略评估,或者使用 TD 算法进行增量学习和实时更新。

问题12:线性代数,介绍特征值和特征向量。

在这里插入图片描述

问题13:介绍P-Tunig和P-Tuningv2

在这里插入图片描述

问题14:介绍ChatGLM、LLAMA。

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


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


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



在这里插入图片描述


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

这篇关于【招联消费金融股份】有限公司2024年5月18日【算法开发岗暑期实习】一面试经验分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.