先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
正文
1.5
×
640
0.5 \times 640 \sim 1.5 \times 640
0.5×640∼1.5×640之间随机取值,注意取值时取得都是32的整数倍(因为网络会最大下采样32倍)。
- AutoAnchor(For training custom data),训练自己数据集时可以根据自己数据集里的目标进行重新聚类生成Anchors模板。
- Warmup and Cosine LR scheduler,训练前先进行
Warmup
热身,然后在采用Cosine
学习率下降策略。 - EMA(Exponential Moving Average),可以理解为给训练的参数加了一个动量,让它更新过程更加平滑。
- Mixed precision,混合精度训练,能够减少显存的占用并且加快训练速度,前提是GPU硬件支持。
- Evolve hyper-parameters,超参数优化,没有炼丹经验的人勿碰,保持默认就好。
4 其他
4.1 损失计算
YOLOv5的损失主要由三个部分组成:
- Classes loss,分类损失,采用的是
BCE loss
,注意只计算正样本的分类损失。 - Objectness loss,
obj
损失,采用的依然是BCE loss
,注意这里的obj
指的是网络预测的目标边界框与GT Box的CIoU
。这里计算的是所有样本的obj
损失。 - Location loss,定位损失,采用的是
CIoU loss
,注意只计算正样本的定位损失。
L
o
s
s
=
λ
1
L
c
l
s
λ
2
L
o
b
j
λ
3
L
l
o
c
Loss=\lambda_1 L_{cls} + \lambda_2 L_{obj} + \lambda_3 L_{loc}
Loss=λ1Lcls+λ2Lobj+λ3Lloc
其中,
λ
1
,
λ
2
,
λ
3
\lambda_1, \lambda_2, \lambda_3
λ1,λ2,λ3为平衡系数。
4.2 平衡不同尺度的损失
这里是指针对三个预测特征层(P3, P4, P5
)上的obj
损失采用不同的权重。在源码中,针对预测小目标的预测特征层(P3
)采用的权重是4.0
,针对预测中等目标的预测特征层(P4
)采用的权重是1.0
,针对预测大目标的预测特征层(P5
)采用的权重是0.4
,作者说这是针对COCO
数据集设置的超参数。
L
o
b
j
=
4.0
⋅
L
o
b
j
s
m
a
l
l
1.0
⋅
L
o
b
j
m
e
d
i
u
m
0.4
⋅
L
o
b
j
l
a
r
g
e
L_{obj} = 4.0 \cdot L_{obj}^{small} + 1.0 \cdot L_{obj}^{medium} + 0.4 \cdot L_{obj}^{large}
Lobj=4.0⋅Lobjsmall+1.0⋅Lobjmedium+0.4⋅Lobjlarge
4.3 消除Grid敏感度
在上篇文章YOLOv4中有提到过,主要是调整预测目标中心点相对Grid网格的左上角偏移量。下图是YOLOv2,v3的计算公式。
其中:
- t
x
t_x
tx是网络预测的目标中心
x
x
x坐标偏移量(相对于网格的左上角)
- t
y
t_y
ty是网络预测的目标中心
y
y
y坐标偏移量(相对于网格的左上角)
- c
x
c_x
cx是对应网格左上角的
x
x
x坐标
- c
y
c_y
cy是对应网格左上角的
y
y
y坐标
- σ
\sigma
σ是Sigmoid
激活函数,将预测的偏移量限制在0到1之间,即预测的中心点不会超出对应的Grid Cell
区域
关于预测目标中心点相对Grid网格左上角
(
c
x
,
c
y
)
(c_x, c_y)
(cx,cy)偏移量为
σ
(
t
x
)
,
σ
(
t
y
)
\sigma(t_x), \sigma(t_y)
σ(tx),σ(ty)。YOLOv4的作者认为这样做不太合理,比如当真实目标中心点非常靠近网格的左上角点(
σ
(
t
x
)
\sigma(t_x)
σ(tx)和
σ
(
t
y
)
\sigma(t_y)
σ(ty)应该趋近与0)或者右下角点(
σ
(
t
x
)
\sigma(t_x)
σ(tx)和
σ
(
t
y
)
\sigma(t_y)
σ(ty)应该趋近与1)时,网络的预测值需要负无穷或者正无穷时才能取到,而这种很极端的值网络一般无法达到。为了解决这个问题,作者对偏移量进行了缩放从原来的
(
0
,
1
)
(0, 1)
(0,1)缩放到
(
−
0.5
,
1.5
)
(-0.5, 1.5)
(−0.5,1.5)这样网络预测的偏移量就能很方便达到0或1,故最终预测的目标中心点
b
x
,
b
y
b_x, b_y
bx,by的计算公式为:
b
x
=
(
2
⋅
σ
(
t
x
)
−
0.5
)
c
x
b
y
=
(
2
⋅
σ
(
t
y
)
−
0.5
)
c
y
b_x = (2 \cdot \sigma(t_x) - 0.5) + c_x \ b_y = (2 \cdot \sigma(t_y) - 0.5) + c_y
bx=(2⋅σ(tx)−0.5)+cxby=(2⋅σ(ty)−0.5)+cy
下图是我绘制的
y
=
σ
(
x
)
y = \sigma(x)
y=σ(x)对应before
曲线和
y
=
2
⋅
σ
(
x
)
−
0.5
y = 2 \cdot \sigma(x) - 0.5
y=2⋅σ(x)−0.5对应after
曲线,很明显通过引入缩放系数scale以后,
y
y
y对
x
x
x更敏感了,且偏移的范围由原来的
(
0
,
1
)
(0, 1)
(0,1)调整到了
(
−
0.5
,
1.5
)
(-0.5, 1.5)
(−0.5,1.5)。
在YOLOv5中除了调整预测Anchor相对Grid网格左上角
(
c
x
,
c
y
)
(c_x, c_y)
(cx,cy)偏移量以外,还调整了预测目标高宽的计算公式,之前是:
b
w
=
p
w
⋅
e
t
w
b
h
=
p
h
⋅
e
t
h
b_w = p_w \cdot e^{t_w} \ b_h = p_h \cdot e^{t_h}
bw=pw⋅etwbh=ph⋅eth
在YOLOv5调整为:
b
w
=
p
w
⋅
(
2
⋅
σ
(
t
w
)
)
2
b
h
=
p
h
⋅
(
2
⋅
σ
(
t
h
)
)
2
b_w = p_w \cdot (2 \cdot \sigma(t_w))^2 \ b_h = p_h \cdot (2 \cdot \sigma(t_h))^2
bw=pw⋅(2⋅σ(tw))2bh=ph⋅(2⋅σ(th))2
作者Glenn Jocher
的原话如下,也可以参考issue #471:
The original yolo/darknet box equations have a serious flaw. Width and Height are completely unbounded as they are simply out=exp(in), which is dangerous, as it can lead to runaway gradients, instabilities, NaN losses and ultimately a complete loss of training.
作者的大致意思是,原来的计算公式并没有对预测目标宽高做限制,这样可能出现梯度爆炸,训练不稳定等问题。下图是修改前
y
=
e
x
y = e^x
y=ex和修改后
y
=
(
2
⋅
σ
(
x
)
)
2
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
=
(
2
⋅
σ
(
x
)
)
2
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
[外链图片转存中…(img-OJ3WzXVh-1713438845158)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!