AI安全如何入门(上)
作者:网友投稿 时间:2018-02-07 09:21
理解AI安全最简单的方式就是从攻防的视角。从攻击的角度讲,AI安全可以细分为使用AI技术进行攻击、攻击AI模型和攻击智能设备。从防守的角度,AI安全主要指使用AI技术赋能传统安全产品以及保护智能设备。有兴趣的同学可以关注下我之前的文章《AI时代的攻与防》
AI的基础知识AI的学习坡度高于Python这类编程语言,但是并非只有屈指可数的大公司和科研院所才能掌握。我们即需要有足够的耐心踏实的进行学习,同时也不要有畏难情绪。下面我结合自己的学习经历,推荐几本适合入门的书籍。
首先是《机器学习实战》,这本书相比学院派的机器学习理论书籍,使用了大量的篇幅介绍了如何基于Python去实现常见的机器学习算法。通过这本书可以比较深刻的理解常见算法的底层实现。

如果你对算法的数学原理非常感兴趣,我同时也推荐周老师的西瓜书,这本书从数学角度对机器学习的原理介绍的非常详细。

如果你对算法的底层实现和深层原理并不感兴趣,更想了解如何从编程层面去使用机器学习,我强烈推荐《Python数据挖掘入门与实践》,这本书以scikit-learn为主要开发环境,结合大量例子介绍了常见算法的使用。

如果你有一定的安全背景,想入门AI安全,或者想看下AI在安全领域的应用,可以看下我的两本以web安全常见问题为背景,介绍AI安全的书《Web安全之机器学习入门》和《Web安全之深度学习实战》

如果你对安全的基础知识不是很熟悉,我强烈推荐刺的《白帽子讲web安全》

建议在linux和mac环境进行机器学习程序的开发,开发语言也强烈推荐python,一方面python容易掌握,另外一方面大量的机器学习库仅支持python。
Scikit-Learn是基于Python的机器学习模块,基于BSD开源许可证。这个项目最早由在2007 年发起的,目前也是由社区自愿者进行维护。Scikit-Learn的官方网站上面可以找到相关的Scikit-Learn的资源,模块下载,文档,例程等等。Scikit-Learn的基本功能主要被分为六个部分,分类,回归,聚类,数据降维,模型选择,数据预处理,具体可以参考官方网站上的文档。
安装方法如下:
pip install -U scikit-learn
TensorFlow是谷歌的第二代人工智能学习系统,可被用于语音识别或图像识别等多项机器深度学习领域,是在2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。
TensorFlow支持非常丰富的安装方式,在Linux和Mac 可以直接使用默认版本安装。
pip install tensorflow
TensorFlow虽然功能强大,但是开发效率比较低,建议大家使用Keras。Keras是一个高级别的Python神经网络框架,能在TensorFlow或者 Theano 上运行。Keras和TensorFlow的关系可以理解为win32 API和MFC的关系。
Keras的在线文档内容非常丰富,地址为:
https://keras.io/
Keras的安装非常简便,使用pip工具即可。
pip install keras
如果需要使用源码安装,可以直接从GitHub上下载对应源码。
https://github.com/fchollet/keras
然后进入Keras目录安装即可。
python setup.py install



