互联网大厂算法岗深度学习八股文——【深度学习】高频考点系列(六)

在互联网大厂算法岗的面试环节中,深度学习相关八股文的重要性早已无需多言。算法岗面试八股文看似是一个大家"背答案,对于记忆力的比拼"但实际上却是互联网大厂面试官考察候选人知识体系完整性和基础知识掌握扎实程度最直接、有效的方式!因此八股文在面试中的重要性不言而喻。

大家在求职过程中会发现,当下很多大厂算法岗面试八股文资料杂乱无章,不成体系,需要花费大量的时间和精力进行整理,耽误求职复习进度。本深度学习算法岗求职八股文专栏将互联网大厂面试中的高频八股知识点进行了汇总和梳理,并且附带参考答案。助力大家在求职面试前打下扎实的基础功底,面试过程中游刃有余!

本文是《深度学习算法岗求职八股文专栏》 中【深度学习】高频考点系列第六篇文章,整理了面试过程中深度学习的高频考点,并且附带参考答案。

如果我的文章和专栏内容对屏幕前的你求职和实习有帮助的话,欢迎关注我,并对文章点赞、评论、收藏、送花,一键四连~

本专栏将持续更新,订阅我的专栏可以及时查看最新的更新内容!你们的鼓励就是我持续输出的强大动力,非常感谢!

一、什么是混合精度训练?

在我们训练深度学习模型时,模型的权重、梯度、激活值等数据,都以"浮点数"的形式存储和计算,而"精度"对应浮点数的存储位数,而这直接决定了数值的表示范围和精度。

(1)单精度(FP32):32 位浮点数,是深度学习训练的传统默认格式

  • 它能精确表示较大范围的数值,精度足够高,但缺点是占用内存大、计算速度慢

(2)半精度(FP16):16 位浮点数,是混合精度训练中最常用的低精度格式

  • 它的存储位数仅为 FP32 的一半,因此内存占用少、计算速度快
  • 但缺点是数值范围小、精度低,容易出现 "数值下溢"(如梯度太小被舍入为 0)或"数值上溢"(如激活值太大超出表示范围),导致模型训练失败或精度下降

因此混合

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

全网最全面的深度学习算法岗求职八股文专栏,内容涵盖互联网大厂算法岗实习、秋招、春招面试环节中常考的高频八股文题目,适合想要打牢基础知识、准备求职的算法工程师或者准算法工程师阅读学习。

全部评论
接好运
点赞 回复 分享
发布于 08-25 05:55 黑龙江
谢谢大佬分享!!!!
点赞 回复 分享
发布于 08-24 16:52 黑龙江

相关推荐

------------------------------------题目一:题目大意:有 n (1 <= n <= 2e5) 颗宝石,每颗有能量值 ai (-n <= ai <= n)。你可以执行任意次“融合”操作:选择两颗宝石 i 和 j,将 j 的能量转移给 i (ai = ai + aj, aj = 0)。目标是最大化所有位置的前缀最大能量值之和,即 sum(max(a1, ..., ai)) for i=1 to n。(T 组数据, 1 <= T <= 1e4)解法思路:关键在于理解融合操作的本质是能量的自由分配。为了最大化前缀最大值之和,最优策略是创造一个尽可能大的数,并放在首位。如果数组中存在正数,就把所有正能量的宝石融合到第一颗上,使其能量变为所有正数之和,其余位置变为0或负数。这样每个前缀的最大值都是这个正数之和。如果所有宝石能量都是非正数,若 n>1,则可以通过融合操作造出一个0,使前缀最大值变为0;若 n=1,则无法操作,答案就是其本身的负能量值。------------------------------------题目二:题目大意:在一片 n x n (2 <= n, m <= 1e6) 的森林中,有 m 名探险者和 n 个救援站。救援站位于对角线 (i, i) 上,每个站只能救一人。探险者会去距离自己最近(曼哈顿距离)的救援站。如果有多个最近的,他们会协调分配以最大化获救人数。求最多能获救的人数。解法思路:此题可转化为区间选点问题。对于一个在 (x, y) 的探险者,其到对角线上救援站 (k, k) 的曼哈顿距离为 |x-k| + |y-k|。可以发现,当 k 落在 [min(x,y), max(x,y)] 区间内时,距离是最小且恒定的。因此,每个探险者对应一个可选的救援站区间。问题就变成了:有 m 个区间,n 个点,每个点最多被一个区间选择,求最多能满足多少个区间。这是一个经典的贪心问题:将所有区间按右端点升序排序,然后遍历区间,为每个区间贪心地分配其范围内最靠左的可用救援站。使用并查集可以高效地找到下一个可用的位置。------------------------------------题目三:题目大意:有 n (1 <= n, q <= 1e5) 个魔法水晶,能量为 ai (1 <= ai <= 1e5)。需要处理 q 次操作,操作分两种:1. 将第 i 个水晶的能量修改为 x;2. 查询区间 [l, r] 内所有水晶能量的波动度(方差)。方差定义为 (1/m) * sum((bi - mean)^2)。解法思路:直接计算方差涉及均值,不便于用数据结构维护。关键是对方差公式进行数学变换:Var(X) = E(X^2) - (E[X])^2。对于一个区间,这等价于`(区间平方和 / 区间长度) - (区间和 / 区间长度)^2`。这样,我们只需要维护区间的和与区间的平方和。这可以用两个树状数组(或线段树)来高效实现:一个树状数组维护 `sum(ai)`,另一个维护 `sum(ai^2)`。单点修改时,在这两个树状数组上都进行更新。区间查询时,分别查出区间和与区间平方和,再代入公式计算即可。具体的详细代码和题解可以戳我主页的文章查看
投递阿里巴巴集团等公司10个岗位
点赞 评论 收藏
分享
评论
4
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务