我有一批灰度图,其中很多都是像这样有一大半是纯黑色的,resnet50 跑出来的分类结果(二分类)能达到九十七九十八,所以我就在想,这些黑色的部分对于算法学习到的特征有影响吗?有没有人研究过或者有什么论文的?
原图是 bmp 的,图床不支持,只能这样截图上传了
1
ThirdFlame 2020-03-27 20:52:38 +08:00
应该有影响吧。 反正我在做验证码识别的时候,只在单个字符外边留 2 、3 个像素的白,这样很容易训练出来。
|
2
thinszx OP @ThirdFlame 可是我模型跑出来的结果很好(我本来以为能有七八十的准确率就上天了),如果有影响的话,是图片具有多少空白部分这个特征也被学习到了吗?实在是想不通,查论文好像也没人研究过
|
3
lsvih 2020-03-27 21:03:06 +08:00
影响不大,尤其对 CNN 这些影响不大。模型会学出来这些大块黑色部分和分类无关的。不过一般会增加训练难度和时间
|
4
Mohanson 2020-03-27 21:11:05 +08:00
判断是否有影响, 首先决定于 "这片黑色的留白是否是预期的训练数据的一部分" .
如果不是, 就需要对训练数据做预处理, 剔除干扰数据(你此处是黑色空白). 二分类 97 的 Acc 已经是极差的训练结果了, 随便训练的手写数字识别 10 分类都能到 98.4 的 Acc: http://accu.cc/content/daze/ga/fooled_nn/, 一些论文做的 1000 分类甚至都能到 95% Acc. PS: 在机器学习领域七八十的准确率和 random.rand() 没什么区别, 最简单的 knn 算法都能比这个数据好. 先做目标提取, 然后才是目标分类. |
5
ColinDowney 2020-03-27 21:12:30 +08:00 via Android
之前听李宏毅老师的机器学习课程有提到怎样分析模型学到了什么。在 ppt 里把相关的工作找出来了,供参考:
“Rich feature hierarchies for accurate object detection and semantic segmentation”, CVPR, 2014 http://cs231n.github.io/understanding-cnn/ “Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps”, ICLR, 2014 Visualizing and understanding convolutional networks. In Computer Vision–ECCV 2014 (pp. 818-833) |
6
thinszx OP @Mohanson 谢谢指教!这个图片是用恶意流量转十六进制转出来的,因为想着图像识别的算法比较成熟,所以试了一下,空白部分是流量长度不够做的补位,如果要丢弃掉黑色部分的话可能就只能选取图片中完整的部分做了,会不会丢掉很多特征呀?
|
7
thinszx OP @ColinDowney 谢谢!😊
|
8
zzj0311 2020-03-27 22:27:40 +08:00 via Android 1
0 不管怎么运算肯定是没有激活的,但没有激活也是特征。
就你这个应用来讲(先不管这个 approach 是不是 make sense ),简单来讲这个就是流量的长短这个特征咯 |
9
lsvih 2020-03-27 22:39:40 +08:00
原来是做流量的。。1D CNN 或者 LSTM 之类的 seq model 不香吗,转成图片不是多此一举
|
10
thinszx OP @lsvih 其实我这个是复现一篇论文的,文中用的是 resnet/cnn 加 bilstm 的结构,resnet/cnn 部分主要是截取的报文部分转图片,其实利用的就是流量交换的信息头和数据,可能是因为图像的算法还是成熟些吧,现成的东西多,不过你说的对,seq model 从效率上讲比图片高多了,光是转图片的过程就够我训练模型了...
|
11
Liyiw 2020-03-28 00:26:18 +08:00 1
影响或多或少是有的
不过 resnet 的 cnn 部分实际上上卷积核的划窗,这样大面积空白对 cnn 的影响应该比较小 可以的话对这个部分做数据增强吧 |