基于图像的恶意软件分类器的鲁棒性分析
1. 卷积神经网络基础
1.1 非线性激活函数
在卷积神经网络(CNN)中,为了使计算非线性化,通常会使用激活函数。其中,最常用的是修正线性单元(Rectified Linear Unit,ReLU)。ReLU函数提取其参数的正部分,表达式如下:
[relu(t) = t^+ = \max(0, t), t \in R]
1.2 子采样(池化)
子采样,也称为池化,是一种减小二维矩阵大小的操作,同时保留最相关的信息。具体操作步骤如下:
1. 将原始矩阵分割成固定大小的子矩阵。
2. 从每个子矩阵中提取一个元素。最常用的方法是最大池化(max pooling),即提取子矩阵中的最大值。
3. 执行最大池化操作的神经层称为最大池化层,它通常紧跟在卷积层之后。
子采样不仅可以减小特征图的大小,还能使分类对起始图像的小变换、平移和扭曲具有不变性,从而使CNN能够对图形上下文中的对象进行分类,而不考虑它们的位置。
1.3 分类
分类由一系列称为密集层(dense layers)的层完成。这些层由可变数量的感知器组成,每个感知器都与下一层的所有感知器相连,形成一个密集的连接网络。最后一个密集层通常与一个特定的激活函数——归一化指数函数(softmax)相关联,它以概率的形式表示输入图像属于起始类别的概率。在训练过程中,这些隐藏层通过反向传播算法修改其神经元的权重,从而学会对输入图像进行分类。
CNN模型中,上述神经层的数量可以不同,但顺序通常为卷积、子采样,然后是分类。
超级会员免费看
订阅专栏 解锁全文
5767

被折叠的 条评论
为什么被折叠?



