机器学习到底学习了什么?难道只是狗熊跳舞?
作者: 日期:2017年09月06日 阅:7,306

机器学习,或者说被错误营销的人工智能,如今风行一时。我们被承诺了一个崭新的世界,新世界里我们的每个冲动、每个梦想和愿望,都有数字助理来负责实现。它甚至允诺了一个没有讨厌的员工及其物质需求的美好世界。

很不幸,这显然只是最新一波的市场炒作,充斥着过度承诺与履行不足。目前更为清醒的认知是,人工智能就像马戏团跳舞的狗熊。人们不会因为狗熊跳得好而欢呼,让他们津津乐道的是狗熊竟然会跳舞。。

为凸显这一点,Gartner最近将公司企业假装AI公司的狂热,类比为当年让众多公司标榜自身是环境友好公司的“绿色涂装”风潮。然而,看看Gartner的“新兴技术成熟度曲线”,你会发现机器学习正处在过高期望的顶峰。

任何熟知Gartner技术成熟度曲线的人都知道,紧随其后的,就是幻想破灭谷底期。而作为熟知AI发展史的人,这种周期变换已经见过好几次了。每一次,AI都没能兑现承诺,然后遭遇几十年的无钱可用期。我们如今正处在第5个AI世代。

当然,这并不是说当前的机器学习技术就一点好处都没有,而是理解它们适合解决哪类问题,知道它们的短板,更为重要。然而,不幸的是,只有数学、物理,或者人工智能博士,才明白这些。如果你拿到其中一个学位,恭喜你,作为企业投资方向顾问的职业机会在等着你。

对于我们这些凡人,可以问兜售机器学习能力的厂商以下几个基本问题,了解他们的机器是否切实学习有用的东西,或者仅仅在浪费CPU周期只为了看起来酷一些。

1. 你的机器都在学些什么?

这个问题可能看起来很明显,但你可能会惊异于很多厂商都无法提供一个一致的答案。首先,真的有学什么东西吗?这个问题必须特意提出。因为有太多厂商将静态分析或关联之类更为基础的分析和计算方法,当做机器学习来营销。其次,如果真的有学习动作,是怎么记忆下来,又是怎么重放所学到的东西的?

2. 在哪儿学的?

是在实验室,还是在你的环境中学的?前者意味着该模型或分析将不会基于你的特定情况,无论那是你的数据、基础设施还是环境。这还意味着,该机器不会自动意识到,或者自动适应特意为你分析的数据中的改变。而后者,则意味着,该机器及其结果模型或分析,将基于你的特定环境,且会学习适应你的公司。

二者的混合是完全可以接受的。应用机器学习的某些问题包含多个部分。比如说,首先学习理解怎样检测普通攻击,然后从你的特定环境中学习,建立起正常情况的基线。只在实验室学习的某些东西有2个固有弱点:除非只是某个非常具体的问题(比如识别猫狗),在处理现实世界数据的多样性和复杂性上将非常困难,且你对机器学习到的东西缺乏控制和洞见,让它就像一个无法评估输入的黑箱一样神秘。

还有另外一个方面:是在你的现场环境中学习,还是发送数据到云端供学习?

3. 怎么学?

任何宣称做机器学习的厂商,都应该为你提供其机器学习实现所遵循方法的高层次概述。监督、非监督和加强,是这里面的关键词,还有高级算法描述。如果他们不能用诸多极好的可用速查表之一向你确定这一点,那你最好远离这些厂商。

知道厂商采用哪种(些)方法,最好的情况,是能进一步研究评估这是否是他们想要解决问题的正确算法;最差的情况,也能显示出厂商至少知道点儿自家的机器学习在做什么。

有些厂商会以这是专利或商业秘密为由,逃避回答该问题。这种借口毫无意义——你问的又不是算法实现的数学细节。直接发明创造出新算法或未知方法的厂商根本没有。正规可靠的厂商会认真作答的。采用现成开源算法的厂商,也有很多取得了所谓超级专利实现的类似结果。如果有人宣称对这些方法做了改进,问他们是怎么做的。

4. 为什么要学习这个?

为什么要用该特定的数据集?为什么要用这种特定的方法?可以应用的算法和方法很多。比如说,聚类分析,就可以基于相关或类似属性来分组对象,因而可用于自动识别具有相似功能或配置的主机或用户组,也可以确定这些组之间的差异。

任何厂商都应该能解释为什么选择某特定方法,为什么用这种不用那种。原因可以是求准确率不求速度,或者反之。但这种情况下肯定要能解释为什么准确率不那么重要,或者为什么速度具备更高优先级。

5. 解决的是什么问题?

这显然是百万美元级问题,以下是一些简单的标准:

它解决的是其他低级方法无法解决的问题吗?是其他方法不可行或解决起来没效率的问题吗?

该问题非常重要,可以用以识别无谓的机器学习,和为了机器学习而机器学习的那些。很多UEBA(用户实体行为分析)厂商经常吹嘘的一个用例是:识别用户是否在不同地点同时登录,就是无谓机器学习的一个例子。这真的不用机器学习都能解决。一个简单的关联就足够了——用户A在用IP地址X和Y登录系统Z,有些SIEM早几年前就能做到。

更重要的是,能不只解决一个问题吗?或者仅仅是机器学习版的雨人?考虑到所投入的金钱、时间、人工和架构,如果机器学习只能解决单一问题,那这个问题最好是重量级的——比如治愈癌症。

基本上,能给出的建议就是:小心厂商的自我营销。根本没有一家机器学习厂商,是只应用机器学习解决特定问题的。UEBA,就是整个市场都错误地以解决特定用例所做的事而不是用例本身来命名的一大案例。这造成了很大的误解。它应该成为市场销售人员的一个经验教训。

你可以使用机器学习来解决事件响应、高级威胁检测、狩猎和调查的某些方面。不应用到特定问题上,机器学习自身解决不了任何事。

相关阅读

避开机器学习中的陷阱 数据比算法更重要
拨开迷雾 将机器学习转化为真正的安全收益

 

申明:本文系厂商投稿收录,所涉观点不代表安全牛立场!


相关文章