【神经网络之黑客攻防】简述攻破神经网络的那些方法,聊聊防范措施,David 9的灰帽子Hacking

前阵子Michael Kissner的神经网络Hacking教程似乎很火,现在David正好空下来聊一下神经网络的黑客攻防。看了一下目录都算简单易懂:

来自:https://arxiv.org/pdf/1911.07658.pdf

方法1,攻击神经网络权重weights

考虑一个简单的瞳孔虹膜安检系统模型:

来自:https://arxiv.org/pdf/1911.07658.pdf

前几层是特征提取层,后几层是比对匹配层。如果你的想冒充CEO的瞳孔通过安检,你就需要有和他匹配的虹膜。让我们试想这样一种场景:你可通过某种途径拿到并篡改这个模型(假设是一个HDF5文件)。那么事情就变的相当简单,你用类似hdfview的工具修改HDF5文件,最直接地修改最后一层全连接层权重w,这样你可以马上得到想要的输出:

缺点与防范

这种攻击过于粗暴,如果没有精心设计权重,很容易让对方察觉(模型异常)。另外,真实情况是很难有获得模型的并重写模型的机会。防范也比较简单,可以对模型文件做加密;可以限制模型“写”权限(防篡改);或者经常做模型更新和MD5校验。

方法2,神经网络后门攻击

这种攻击比方法1中“篡改权重”优雅一些。我们可以试图做到不修改原有神经网络的任何行为,仅仅加入自己的虹膜,让网络认为我的虹膜和CEO的瞳孔一致(嘿嘿,当然前提还是你可以篡改模型)。

有个小问题是,如果你没有瞳孔图像训练集,怎么重新训练模型再篡改呢? 继续阅读【神经网络之黑客攻防】简述攻破神经网络的那些方法,聊聊防范措施,David 9的灰帽子Hacking

Tesla自动驾驶Autopilot(第2弹):多任务分布式PyTorch训练,FSD芯片,NPU,Dojo和其他

过去十年是云计算(集中式计算)流行的十年,我们不知道什么时候分布式或其他形式的“分散式计算”会“卷土重来”,但我似乎看到了“暗流涌动”。 — David 9

补充上一期我们聊到的“Tesla自动驾驶搞定多任务学习”,这次,特斯拉AI负责人Andrej Karpathy在PyTorch DEVCON 2019上进一步讨论了内部整体架构:

来自:https://www.youtube.com/watch?v=oBklltKXtDE

其中主要谈了两点:“PyTorch distributed training” 和 infrastructure 层面的一些东西。

继续上次的讨论,我们知道特斯拉autopilot自动驾驶不借助LIDAR激光而是通过八个方向的摄像头进行环境判断:

来自:https://www.youtube.com/watch?v=oBklltKXtDE

最后对模型来说要有一个top-down的俯视图做最终决策:

来自:https://www.youtube.com/watch?v=oBklltKXtDE
这就要求autopilot模型不断接受从8个摄像头捕捉到的图像,并同时输出许多output(1000个左右),而且,模型同时承载多个任务(目标检测,深度检测,目标识别等等),整个autopilot模型会包含许多个子模型(子任务):
 
来自:https://www.youtube.com/watch?v=oBklltKXtDE

事实上,上图的8个子模型其实是简化了,其实auopilot有48个子模型。上图只是象征性地展示多模型同时有很多输出。而反向传播更新时, 继续阅读Tesla自动驾驶Autopilot(第2弹):多任务分布式PyTorch训练,FSD芯片,NPU,Dojo和其他

“低复杂度美学”理论(Low-Complexity Art):艺术,科学,创造力和美学启示 #David的人工智能启示录

艺术不仅是“压缩”的艺术。如果艺术是“做菜”,重要的不仅仅是厨艺,还有食材的选择,所以,艺术也是“选择”的艺术。 — David 9

Jürgen Schmidhuber教授的名字大家可能不熟悉,但如果说LSTM之父大家可能有点印象,事实上他也算人工智能的开创鼻祖之一。他与学术界和深度学习三巨头(Hinton、LeCun、Bengio)的恩怨纠葛David这里不多八卦,只给出【链接】。今天,David想深挖一下Schmidhuber曾经在90年代总结的“低复杂度美学”(艺术)理论,现在看来也很有意思并且启发我们。

“低复杂度美学”的原理和目标很简单:

1. 作品最终看上去是想要表达的内容,即,内容没有太大偏差

2. 创造作品的柯氏复杂性应该做到最低。通俗地说就是,如果要用一段最短的程序完成整个艺术创作过程(在计算机中叫停机过程),这样就会体现出一定美感

事实上,上述两者是矛盾的,如果太追求简洁,有可能会失去一部分你想表达的信息,反之,如果你想完整地表达所有信息,你可能会牺牲一些简洁性。

而对于第1点,艺术家想要传达什么,是非常主观的问题,所以Schmidhuber在讨论时把重点放在第2点,如果内容已经固定,艺术设计采用低复杂度美学是有效的。让我们看一个例子:

如果你要画一个花瓶和蝴蝶,大致构图已经想好,那么如果让一个程序完成创作,让它不断地画圆弧是个好主意(代码简短容易实现),另外如果加一些简单规则也很容易(比如圆弧和圆弧的交点可以衍生出圆心再画一个圆弧,可以有同时切两个圆的圆等等……),根据这些简单规则,我们就可以用一个足够简洁的程序生成如下作品:

来自:http://people.idsia.ch/~juergen/locoart/node12.html

这和我们熟悉的分形几何美感原理类似:

不断地重复一样的程序,但是每一次重复都有规则地稍作改动

这种“低复杂度美学”理论可以衍生出许多其他相关见解, 继续阅读“低复杂度美学”理论(Low-Complexity Art):艺术,科学,创造力和美学启示 #David的人工智能启示录