日常生活中,人工智能悄悄地影响着我们。
随着人工智能的技术的发展,现代几乎各种技术的发展都涉及了人工智能技术,可以说人工智能已经广泛应用到许多领域,其典型的应用包括:信息检索应用、推荐系统、语音识别、自然语言处理、图像识别、智能家居等。以人工智能在语音识别,语音合成上的结果看,2016年10月份由微软美国研究院发布的一个语音识别的最新结果实现了错误率为5.9%的新突破,这是第一次用人工智能技术取得了跟人类似的语音识别的错误率。
人工智能一直处于计算机技术的前沿,人工智能研究的理论和发现在很大程度上将决定计算机技术的发展方向。为了适应新一轮的科技发展,培养高端人才,人工智能进入国家发展战略。
2017年7月,国务院印发《新一代人工智能发展规划》,其中提到,新一代人工智能发展分三步走的战略目标,到2030年使中国人工智能理论、技术与应用总体达到世界领先水平,成为世界主要人工智能创新中心。
为此,我们积极学习人工智能前沿知识,适应科技进步。
本书选用Facebook开源深度学习库PyTorch作为深度学习框架。常用的深度学习开源平台有TensorFlow、Theano、Keras、Caffe等。在TensorFlow的官网上,它被定义为一个用于机器智能的开源软件库,使用TensorFlow需要编写大量的代码,个人觉得不适合初学者。
Theano是比较老牌和最稳定的库之一。由于Theano不支持多GPU扩展,在深度学习开源平台快速更新迭代的浪潮下,Theano已然开始慢慢被遗忘了。
Keras句法比较明晰,文档完善,使用非常简单轻松。Keras强调极简主义,只需几行代码就能构建一个神经网络,适合新人学习。
Caffe是老牌中的老牌框架。起初的时候它仅仅关注计算机视觉,但它具有非常好的通用性。Caffe的缺点是它不够灵活,同时Caffe的文档非常贫乏。
张量是PyTorch的一个完美组件,和NumPy类似。将张量从NumPy转换至PyTorch非常容易。可以把它作为NumPy的替代品。PyTorch这种框架可以获得GPU加速,以便快速进行数据预处理,或其他任务。PyTorch同时也提供了变量,我们在构建神经网络的时候,在张量之上的封装,构建自己的计算图,并自动计算梯度。PyTorch建立的是动态图,TensorFlow建立的是静态图。PyTorch更加符合一般的编程习惯,而不是像TensorFlow那样需要先定义计算图。
虽然开源平台众多,但更多的时候,我们考虑实现算法的简捷性,通常选择容易上手的,能快速实现算法的开源平台。为此,我们需要选择适合自己的深度学习开源平台,实现深度学习算法。
学习深度学习理论知识,了解人工智能行业发展动态,掌握前沿科学技术。利用PyTorch开源平台快速实现经典卷积神经网络、循环神经网络、自编码模型、对抗生成网络等模型。开启海绵模式,尽可能多学原理知识,掌握机器学习的基础理论知识,然后针对性地训练。通常从收集数据,预处理和清洗数据,到搭建模型,训练和调试模型,再到最后评估模型。逐渐培养出对于什么样的数据适合用什么类型的模型的判断能力,并增强实践能力。经过学习,逐渐从“小白”,慢慢到专业人士。有兴趣的读者欢迎加入本书交流群,一起交流学习。同时,本书所有案例的代码统一放在QQ群文件里,群号为662443475,或在博文视点官网下载:www.broadview.com.cn。
致谢
感谢电子工业出版社的黄爱萍编辑,在选题策划和稿件整理方面做出的大量工作。
感谢极宽开源量化团队给予的技术支持。
在本书的创作中,特别感谢张建辉、刘笑俐、王丽颖、刘晓峰、刘婷、沈雨涵的协助,为他们的付出表示感谢。
邢梦来
2018年6月