demi的博客

基于深度学习的恶意样本行为检测(含源码)

前言

目前的恶意样本检测方法可以分为两大类:静态检测和动态检测。静态检测是指并不实际运行样本,而是直接根据二进制样本或相应的反汇编代码进行分析,此类方法容易受到变形、加壳、隐藏等方式的干扰。动态检测是指将样本在沙箱等环境中运行,根据样本对操作系统的资源调度情况进行分析。现有的动态行为检测都是基于规则对行为进行打分,分值的高低代表恶意程度的高低,但是无法给出类别定义。

本文采用CNN深度学习算法对Cuckoo沙箱的动态行为日志进行检测和分类尝试,分别测试了二分类和多分类方法,效果还有不小提升空间,希望共同交流。

现有技术

在大数据环境背景下,使用机器学习算法成为选择的趋势。相比手工分析,机器学习算法更加高效。目前已经有不少采用机器学习算法对样本动态行为进行检测的研究。Malheur由Konrad Rieck等人提出并给出了相应的开源实现,以样本中API出现的相对顺序作为特征向量,利用原型和聚类算法进行检测分析,该方法的缺点是特征向量过于稀疏,在高达几万维的特征向量中往往只有几十到几百维的特征值非零。

图像语义分割的前世今生

1998年以来,人工神经网络识别技术已经引起了广泛的关注,并且应用于图像分割。基于神经网络的分割方法的基本思想是通过训练多层感知机来得到线性决策函数,然后用决策函数对像素进行分类来达到分割的目的。这种方法需要大量的训练数据。神经网络存在巨量的连接,容易引入空间信息,能较好地解决图像中的噪声和不均匀问题。选择何种网络结构是这种方法要解决的主要问题。

图像分割是图像识别和计算机视觉至关重要的预处理。没有正确的分割就不可能有正确的识别。

  •   普通分割
将不同分属不同物体的像素区域分开。
如前景与后景分割开,狗的区域与猫的区域与背景分割开。

  •   语义分割
在普通分割的基础上,分类出每一块区域的语义(即这块区域是什么物体)。
如把画面中的所有物体都指出它们各自的类别。

  •   实例分割
在语义分割的基础上,给每个物体编号。
如这个是该画面中的狗A,那个是画面中的狗B。

这里先说一下图像语义分割和普通的图像分割的关系:

【计算机视觉】检测与分割详解

【导读】神经网络在计算机视觉领域有着广泛的应用。只要稍加变形,同样的工具和技术就可以有效地应用于广泛的任务。在本文中,我们将介绍其中的几个应用程序和方法,包括语义分割、分类与定位、目标检测、实例分割。

作者 | Ravindra Parmar
编译 | Xiaowen

计算机视觉-目标检测与分割

神经网络在计算机视觉领域有着广泛的应用。只要稍加变形,同样的工具和技术就可以有效地应用于广泛的任务。在本文中,我们将介绍其中的几个应用程序和方法。

浅析物联网行业五大关键技术

物联网已经成为近几年的热门话题,目前的发展情况也是非常好,特别是在智慧城市、工业、安防、交通等领域,都取得比较不错的成就。我们在要求物联网实现越来越多功能的同时,其相关技术的难点也越来越高。

要推动物联网产业更好地发展,必须从低功耗、高效率、安全性等方面出发,以下几项关键技术的应用变得更加重要、更加严格。

RFID射频识别技术

它是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。它相当于物联网的“嘴巴”,负责让物体说话。RFID射频识别技术主要的表现形式就是RFID标签,它具有抗干扰性强(不受恶劣环境的影响)、识别速度快(一般情况下

目前在许多方面都有其应用,例如仓库物资/物流信息的追踪、医疗信息追踪、固定资产追踪。该技术发展涉及的难点问题是:如何选择最佳工作频率和机密性的保护等,特别是超高频频段的技术应用还不够广泛,技术不够成熟,相关产品价格昂贵,稳定性不高,国际上也没有制定统一的标准。

传感器技术

深度学习优化函数详解(2)——SGD 随机梯度下降

本文延续该系列的上一篇 深度学习优化函数详解(1)—— Gradient Descent 梯度下降法

上文讲到的梯度下降法每进行一次 迭代 都需要将所有的样本进行计算,当样本量十分大的时候,会非常消耗计算资源,收敛速度会很慢。尤其如果像ImageNet那样规模的数据,几乎是不可能完成的。同时由于每次计算都考虑了所有的训练数据,也容易造成过拟合。在某种程度上考虑的太多也会丧失随机性 。于是有人提出,既然如此,那可不可以每一次迭代只计算一个样本的loss呢?然后再逐渐遍历所有的样本,完成一轮(epoch)的计算。答案是可以的,虽然每次依据单个样本会产生较大的波动,但是从整体上来看,最终还是可以成功收敛。由于计算量大大减少,计算速度也可以极大地提升。这种逐个样本进行loss计算进行迭代的方法,称之为 Stochasitc Gradient Descent 简称SGD。

注:目前人们提到的SGD一般指 mini-batch Gradient Descent,是经典SGD的一个升级。后面的文章会讲到。

公式推导

我们再来回顾一下参数更新公式。每一次迭代按照一定的学习率 α 沿梯度的反方向更新参数,直至收敛

图像的下采样Subsampling 与 上采样 Upsampling

一、目的

缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的:

1、使得图像符合显示区域的大小;

2、生成对应图像的缩略图。

放大图像(或称为上采样(upsampling)或图像插值(interpolating))的主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上。

对图像的缩放操作并不能带来更多关于该图像的信息, 因此图像的质量将不可避免地受到影响。然而,确实有一些缩放方法能够增加图像的信息,从而使得缩放后的图像质量超过原图质量的。

二、原理

下采样原理:对于一幅图像I尺寸为M*N,对其进行s倍下采样,即得到(M/s)*(N/s)尺寸的得分辨率图像,当然s应该是M和N的公约数才行,如果考虑的是矩阵形式的图像,就是把原始图像s*s窗口内的图像变成一个像素,这个像素点的值就是窗口内所有像素的均值:

机器视觉系统之光源选择

在机器视觉系统中,获得一张高质量的可处理的图像是至关重要。系统之所以成功,首先要保证图像质量好,特征明显,。一个机器视觉项目之所以失败,大部分情况是由于图像质量不好,特征不明显引起的。要保证好的图像,必须要选择一个合适的光源。

光源选型基本要素

对比度:对比度对机器视觉来说非常重要。机器视觉应用的照明的最重要的任务就是使需要被观察的特征与需要被忽略的图像特征之间产生最大的对比度,从而易于特征的区分。对比度定义为在特征与其周围的区域之间有足够的灰度量区别。好的照明应该能够保证需要检测的特征突出于其他背景。

亮度:当选择两种光源的时候,最佳的选择是选择更亮的那个。当光源不够亮时,可能有三种不好的情况会出现。第一,相机的信噪比不够;由于光源的亮度不够,图像的对比度必然不够,在图像上出现噪声的可能性也随即增大。其次,光源的亮度不够,必然要加大光圈,从而减小了景深。另外,当光源的亮度不够的时候,自然光等随机光对系统的影响会最大。

干货:Excel图解卷积神经网络结构

引言

先坦白地说,有一段时间我无法真正理解深度学习。我查看相关研究论文和文章,感觉深度学习异常复杂。我尝试去理解神经网络及其变体,但依然感到困难。

接着有一天,我决定一步一步,从基础开始。我把技术操作的步骤分解开来,并手动执行这些步骤(和计算),直到我理解它们如何工作。这相当费时,且令人紧张,但是结果非凡。

现在,我不仅对深度学习有了全面的理解,还在此基础上有了好想法,因为我的基础很扎实。随意地应用神经网络是一回事,理解它是什么以及背后的发生机制是另外一回事。

今天,我将与你共享我的心得,展示我如何上手卷积神经网络并最终弄明白了它。我将做一个通盘的展示,从而使你对 CNN 的工作机制有一个深入的了解。

在本文中,我将会讨论 CNN 背后的架构,其设计初衷在于解决图像识别和分类问题。同时我也会假设你对神经网络已经有了初步了解。

1、机器如何看图?

Deferred Shading 延迟着色(翻译)

原文地址:https://en.wikipedia.org/wiki/Deferred_shading

在3D计算机图形学领域,deferred shading 是一种屏幕空间着色技术。它被称为Deferred,是因为实际上在第一次pass中的顶点和像素着色器中没有执行着色:相反,着色是“deferred(延迟)”到第二个pass中执行。
在deferred着色器的第一次pass中,只收集着色计算所需的数据。每个表面的位置、法线和材质,然后使用“render to texture”技术渲染到几何缓冲(G-buffer)中。在这之后,像素着色器使用屏幕空间中纹理缓冲区的信息计算每个像素的直接和间接光照。

SSDO(Screen space directional occlusion)可以作为deferred着色管线的一部分,给阴影和互反射提供方向。

优点