重庆蚂蚁搜索推荐二面

#蚂蚁##实习##暑期实习#一面居然过了我很震惊。二面的话主要还是继续问论文和项目,没有专门问一些八股文,也没有手撕算法。有几个具体的问题。印象比较深的问题如下:
1)说说论文中用到的数据集
    baby/sports/clothing
2)说说对论文中所用数据集的处理方法
    对数据集没有进行特别深入的处理,开源框架已经把数据集通过统一的特征提取模型弄好了。在统一的特征嵌入之下进行的实验更能证明模型的有效性。
3)说说论文中使用的代码开源框架的特点
    比较新,功能齐全,收录了大量的baseline,统一了项目的文本特征嵌入和视觉特征嵌入,能够让开发者把工作重心放在模型的研发之上。
4)说说pytorch和tensorflow的差别
    回答不出来。tensorflow两年没用了。我记得我没在简历上写熟练掌握tensorflow啊。
    请教了一下GPT4:简单来说,PyTorch以其动态图的特性和更加pythonic的接口受到很多研究人员的喜爱,而TensorFlow则以其静态图和庞大的生态系统(包括TFX、TensorBoard等)在生产环境中更加常见。此外,TensorFlow也提供了较为强大的分布式训练支持和模型部署功能。
    最近太忙,后面空闲了得把tensorflow狠狠补一补。

最后在反问阶段了解到问题4很重要,以前真没想过有什么差别。反问阶段了解到由于工业界中所用的各种开源框架会用不同类型的框架来写,因此熟练掌握这两个框架的语法,并且了解它们的区别实际上是非常重要的。面试体验比较好,面试小哥一直会点头进行互动。虽然我感觉我说的可能还是不是特别清晰,但这样的交互让人有一种被重视以及很舒适的感觉。
全部评论
狠狠支持给
点赞
送花
回复
分享
发布于 04-25 15:25 四川

相关推荐

#蚂蚁##算法##实习#三面继续问项目,没问啥其他的东西。项目中遇到的最大困难我去这个问题把我问到了,因为总体来说算是一个比较顺利的项目,没有特别大的问题。建议以后面对这种情形应该如何回答?1)小挑战也是挑战:你可以选择项目中的一个小挑战,即使它不是一个巨大的困难。描述这个问题,解释它为何重要,以及你是如何解决它的。这可以显示你对项目细节的关注和处理潜在问题的能力。2)预防措施:说明你或你的团队采取了哪些预防措施来避免大问题的发生。这展示了你的前瞻性和风险管理能力。比如,通过良好的计划和沟通,项目团队可能成功避免了潜在的技术或协作难题。3)学习和成长:谈论这个项目如何帮助你成长,特别是在没有显著困难的情况下,你如何持续寻找提升工作效率和质量的机会。这表明你有自我驱动,始终寻求改进和学习的态度。4)团队协作:如果项目进展顺利,部分原因可能是团队合作良好。你可以讨论团队如何有效协作,以及你在其中扮演的角色。这不仅显示了你的团队精神,也突出了你在维持团队和谐中的贡献。5)优化和调整:也许在项目执行过程中,你们对策略或流程进行了微调。可以讨论这些小的调整如何帮助优化结果,这反映了你对持续改进的承诺和对细节的关注。我面试中的回答确实答得有点low了,逻辑有些混乱,因为这个把我挂了我也不会意外。微笑面对结果,不断成长,就当为秋招做积累吧。下次应该这样回答:在这个项目中,尽管整体进展顺利,但我们确实面临了一些有意思的挑战,特别是在实现和验证预测概率校准的过程中。一个具体的挑战是如何准确地量化模型的不确定性,并通过概率校准提供一个可靠的预测。换句话说,如何证明我们的p-value设计是可靠的。这种设计方法是非参数的,不依赖于数据具体的分布,这使得它在应用于实际复杂数据时更为健壮。我们通过计算测试数据中一个奇异值小于或等于训练集中奇异值的比例,实质上应用了经验分布函数(ECDF),来估计这个或更极端情况出现的概率。计算得到的p-value反映了在零假设下观察到的统计量的概率。在这里,零假设是指测试数据的奇异值不提供足够的证据去反对模型在该点的预测。如果p-value很低,表示这种奇异值在训练数据中很少见,暗示着模型在这一点上的预测可能不太可靠,这为我们的模型预测提供了一个直观和科学的可信度评估。总的来说,这是一种基于统计学的方法,数据越多将越有效
点赞 评论 收藏
转发
头像
04-23 11:00
已编辑
重庆大学 计算机类
#实习##蚂蚁##算法#电话面试,光速下班。答出来的不说了。两个没答出来的。1)设计损失函数,让第一大的预测结果和第二大的预测结果差值最大化    直接回答的loss加一个-(first - second),似乎不被接受。请教了一下AI,它提出了一些可能的方法:    penalty = torch.clamp(margin - (first - second ) contrast_loss = 1 / (first - second + 1e-6) => 距离度量形式进行了改编 rank_loss = F.relu(margin-(first - second)) => 基于ReLU的设计,和1差不多        2)KMEANS聚类的时候,如果先验的已知某些结点不是一类,应该怎么做    step1:对于这个策略,我们可以手动选择聚类中心,确保已知的不应属于同一类的点(例如点A, B, C)从一开始就被分配到不同的聚类中。初始的簇中心点一定满足要求。    step2:执行KMEANS常规的聚类过程。并且检查特定点是否在同一聚类:    每次迭代后,查看点A、B、C的聚类标签。如果发现任何两个(或三个)点属于同一个聚类,那么进入下一步。    step3:重新分配点到其他聚类:为了重新分配,首先计算这些点到所有其他聚类中心的距离。选择一个距离第二近的聚类中心(或根据具体情况选择最合适的),将其中一个或多个点分配到该聚类。    step4:更新聚类中心:在调整了聚类分配后,重新计算所有聚类的中心,以最小化整体的代价函数。这通常意味着要重新计算每个聚类中所有点的平均位置作为新的聚类中心。    重复迭代:step234:继续执行K-means迭代,直到满足收敛条件,即聚类中心的变动非常小或达到预设的迭代次数。沉默太久了,真的折磨,不是我能去的公司,太菜。现在回想,其实也不是太难的问题。可能是太紧张了吧。放平心态继续前行
点赞 评论 收藏
转发
3 3 评论
分享
牛客网
牛客企业服务