文章阅读:微软深度学习分类powershell
首先要记住的是,这篇文章是利用NLP的方法来进行测试,也就是说,跟我之前检测webshell一样都是这个套路。就是利用nlp的方法来进行特征转换。
那么利用这种方法,其实我一开始是拒绝的,就是我想不出来这种方法,跟实际的最终结果有什么关联。可能是是说利用了某个函数就是?或者说什么的?
我个人是认为,不要说什么就是利用深度学习来获取特征,这是一种有些逃避的说法。还是要说明的是,当前这个步骤是对文本进行简单的 处理,可能文本分类中的算法都要进行这些操作。这个操作流程大家都认为是将单词转化为向量。
那么,one-hot也可以,你说他有缺点,就是说缺失了两个单词之间的相似度这种,但是注意,这种相似度,在文本分类中可能是说
就是他在嵌入空间中能达到什么效果呢?
多个样本之间能够有什么效果。这个才是应该思考的问题。
(其实这些都是基础的问题,就是你为什么要做这件事,然后按照流程走袭来)
之前我也说到过,怎么样来理解这个过程,怎么来界定这个东西就是恶意的。这个才是关键。问题就出在你使用了这种利用自然语言处理的方式。
以前使用机器学习都是直接利用的特征,那么机器学习只是充当一个中间协助学习关系的函数。
但是这个时候不一样了,他的特征是由单词生成的向量,我缺失了这部分内容的含义,我就不能知道应该怎么做,不是不知道怎么做,而是说我不知道这个东西是怎么成功的。没有了中间可理解的过程。
下面来简单思考一下:
- 我要做的就是将恶意shell检测出来,那么输入是文件,或者说文本内容,然后输出是一个标记,这个标记代表着是否是恶意的。
- 文本内容并不能直接输出到模型中,需要使用一些其他的方法将这个文件转化为数值向量;那么这里我就使用简单的词袋模型,将每个词汇都做了索引,然后就是这个词汇出现的次数或者是0-1模型;因为我词汇表是等长的,所以最后输出的向量是一致的。(这里假定我使用就是频数,不进行频率的归一化,不过这个归一化也得思考思考,他是怎么处理得)
- 好了现在向量出来了,如果不管别的,我们就直接上深度学习或者说某些机器学习算法,直接使用这种东西输入到模型中,然后进行关系式的学习。这在之前的方式中可能是比较好弄的,因为各个特征是有语义的。现在的问题就是,你怎么来判定目前的这种方法。
前面就已经算是把完整的步骤给分析清楚了。但是对于第三个步骤,具体的变量是怎么和最后的映射弄到一起的,这个是关键问题。
好了,假设我是用得是频数,那么从处理过程得语义上就是,这个单词出现的次数高,然后结合其他一些特征,这样来进行判断。
嵌入模型在转化为向量的时候,考虑的是单词间以及上下文之间的关系。其实我还是没理解他前面所说的。使用one-hot编码的时候,通过这个向量出现的频率来进行判断。那么嵌入模型呢?就是前面起到的这种语义关系有什么作用呢?就是他在这个判定的过程中能发挥什么作用。
这个才是应该思考的,并不是说别人说缺失了这种语义上的关联,你就要使用。或者你逆向过来思考,你知道了他有用,那么他怎么发挥的作用。
反过来思考,其实机器学习就是帮助你学习了这个关系,如果特征是有意义的,你就能更明显的知道这个关系,但是如果特征没有意义,你就很难知道这个关系,虽然最后结果能出来。
2020/05/28 -
还有一个问题没有嫁接上,就是说,这个函数的学习!!!
你如果都是数值,那好,没什么问题,反正就是数嘛,也无所谓。但是你吧这个东西映射回去,怎么思考。
使用embedding方法来获取特征把,然后同时利用了cnn和lstm做分类。
https://www.microsoft.com/security/blog/2020/05/08/microsoft-researchers-work-with-intel-labs-to-explore-new-deep-learning-approaches-for-malware-classification/
这个是说微软要跟intel合作来进行恶意软件检测。
2020/06/05
但我也思考了一下,我之前的时候,曾经使用php编写的webshell脚本作为检测的目标进行过一些小实践。
然后结果出奇的好,甚至于都100了。这种情况,自然没有什么可以再继续的可能性。毕竟,你使用深度学习的方法,效果也没有什么提升。这种情况下,反而增加了训练的复杂度而已。但是对于学术论文不一样,他们只要不说,你这个东西使用普通的方法的效果,就说这个东西我使用了深度学习的形式,就能发表,也是醉了。
所以这里的问题是,你所发现的问题是什么。
2020/06/05
不过我简单反思了一下我前面写到的一些相关内容。我就感觉,其实我思考的是,为什么机器学习能够学习一样,就跟前几年的时候,我思考这个问题一样。但也不完全是,因为我没有对这个映射关系是如何生成的有太多的疑问。但是肯定是有这部分内容的相关性,导致我就感觉没有完全的思路通畅。对于大部分原因来说,还是因为没有把整个流程走通。更具体点来说,就是特征工程这个部分,我没有思考清楚,或者说,不是说没有思考清楚,而是说没有完全理解。
- 深度学习文章阅读3--Video-based emotion recognition using CNNRNN and C3D hybrid networks
- 深度学习基础(三)(稀疏)自编码器 分类: 深度学习 2015-01-20 15:19 96人阅读 评论(0) 收藏
- 深度学习基础(五)Softmax Regression 分类: 深度学习 2015-02-28 10:28 42人阅读 评论(0) 收藏
- 深度学习文章阅读4--Learning Spatiotemporal Features with 3D Convolutional Networks
- 深度学习文章阅读5----Densely Connected Convolutional Networks
- 深度学习基础(一)神经网络 分类: 深度学习 2015-01-19 21:29 84人阅读 评论(0) 收藏
- 深度学习基础(四)PCA和Whitening 分类: 深度学习 2015-01-25 20:07 115人阅读 评论(0) 收藏
- TensorFlow损失函数(loss function) 2017-08-14 11:32 125人阅读 评论(0) 收藏 举报 分类: 深度学习及TensorFlow实现(10) 版权声明:
- ubuntu14.04安装深度音乐+百度音乐插件 分类: ubuntu学习 软件插件学习 2015-04-16 18:35 108人阅读 评论(0) 收藏
- 深度学习基础(七)Self-Taught Learning to Deep Networks 分类: 深度学习 2015-03-20 21:27 36人阅读 评论(0) 收藏
- 深度学习文章阅读2--3D Convolutional Neural Networks for Human Action Recognition
- 系统学习深度学习(七)--主流深度学习开源框架对比 2017-01-23 11:05 2292人阅读 评论(0) 收藏 举报 分类: 深度学习(30) 目录(?)[+] 转自:http://b
- SIGIR 2017&2016 关于深度学习和推荐的相关文章摘要阅读笔记
- 神经网络梯度消失的解释 发表于2016/10/6 11:08:30 10609人阅读 分类: 深度学习 转载自哈工大SCIR(公众号) 为了弄清楚为何会出现消失的梯度,来看看一个极简单的深度
- 技术文章 | 深度学习的这些坑你都遇到过吗?神经网络11大常见陷阱及应对方法
- OC基础:OC 基本数据类型与对象之间的转换方法 分类: ios学习 OC 2015-06-18 20:01 11人阅读 评论(0) 收藏
- [caffe]深度学习之图像分类模型AlexNet解读
- 如何用 Python 和深度迁移学习做文本分类?
- 包导入 分类: python基础学习 python 2013-06-30 11:22 247人阅读 评论(0) 收藏
- 深度学习多分类问题--路透社数据集