前言
人工智能(Artificial Intelligence,AI)从孕育、诞生至今,已经有近80年历史了。近80年的光阴,虽然在历史的长河中不过是浪花一朵,但如果以人的一生来说,已经是进入耄耋之年了。但奇迹般的是,随着深度学习技术的横空出世,人工智能又神奇地焕发出了再一次的“青春”。深度学习系统AlphaGo及其升级版本一再战胜围棋领域的多位世界冠军级选手,最后甚至到了一败难求、人类选手只能仰视的地步,不能不说这是引起了世人广泛关注人工智能领域的决定性事件。指纹识别、人脸识别、无人驾驶等应用了深度学习方法而又贴近人们日常生活的技术,可以说深刻地改变了人类的生活和消费方式,也因此让人工智能更加深入人心,激起了人工智能(尤其是深度学习领域)的学习热潮。
笔者从小学三年级开始学习计算机,初中时就有机会接触第一个人工智能应用Animals,这是一款通过人的训练,不断向人提问,来猜测人心中所想的一种动物的程序。程序每次猜错后,会要求人提供一个可以纠正其判断逻辑的新问题,从而猜测得越来越准,能猜的动物越来越多。后来笔者也接触过当时最热的人工智能语言之一——Prolog语言。从那时起,笔者和大多数人工智能领域专家等都认为人工智能始终是要在人的指导下进行学习的,甚至到IBM公司的DeepBlue(深蓝)系统战胜了围棋世界冠军卡斯帕罗夫后仍没有改变这个观点。然而,深度学习的出现,颠覆了大多数人的看法,尤其是AlphaGo Zero系统,只在了解围棋基本下棋规则的基础上,完全不依赖人类的围棋知识,进行不到一天的自我学习,就能对围棋、国际象棋、日本将棋等最高水平的人类选手,甚至是AlphaGo这个它的前任实现完美超越。这充分证明了人工智能能够不依赖人类,从零开始,自己分析事物的逻辑,提取数据的特征,解决超出人脑计算和思考能力之外的问题。
因此,虽然计算机还缺少人类所具有的很多思考模式、逻辑创新、情感产生和变化的能力,但是在处理一些基于经验的、需要海量处理和计算(如图片、语音、视频的识别等)的机械任务上,人工智能已经具备条件帮助人类去更快、更准地完成。而以大数据为基础的逻辑判断和行为决断(如无人驾驶和医疗机器人),是深度学习下一步发展的目标。
当前对几款主流的深度学习框架(如谷歌的TensorFlow、微软的CNTK、新锐MXNet及老牌的Theano和Caffe、另辟蹊径的Torch等)的学习,无论是在国内还是在国外,可以说是如火如荼。然而,由于深度学习技术的基础属于人工智能中神经网络相关的知识范畴,而神经网络的研究又基于线性代数、矩阵运算、微积分、图论、概率论等复杂的数学理论,市面上出版的一些书也是开篇就讲这些数学理论基础,这让很多初学者望而生畏。另外,这些深度学习框架的最新文档大多为英文,并且直接讲类似MNIST的较复杂图像识别范例。诚然,图像识别是深度学习中最激动人心的创新应用之一,也是本次人工智能大潮的焦点,但对初学者来说,骤然跨过这么高的门槛反而会增加入门的难度,并影响学习的信心。
本书就是为了解决初学者可能遇到的门槛问题而著。书中精选了几个最贴近生活的、浅显易懂的实际问题,采用手把手实例讲解的方式,帮助初学者少走弯路,迈好踏入深度学习殿堂的第一步,打好进一步提高的知识基础,也树立继续进阶学习的充足信心。本书中的实例讲解均基于使用Python语言的TensorFlow框架,只需稍具Python语言编程的基础,通过阅读本书,就可以迅速掌握用深度学习技术解决实际问题的方法,并具备举一反三的能力。没有任何编程基础或无意学习编程开发的读者,也可以通过本书了解深度学习的概念和它的科学思维方法。本书第2章中还为有兴趣学编程的读者准备了快速编程入门的内容,学习后基本能够看懂本书所有实例中的代码。
最后,作为入门书籍,根据笔者常年进行企业培训和在线教育的经验,太过追求严谨和精确的概念定义或深陷于数学理论的推导,反而会影响初学者对相关知识的理解。因此,本书尽量减少对纯数学理论的研究探讨,对概念和一些理论知识也做了一定简化易懂的处理,这样有益于读者快速掌握基础知识和加强进一步自学深造的能力。本书在章节上也进行了精心的编排,确保读者能够循序渐进地学习;各个概念和知识点的引入也是精心穿插在合适的章节位置中,既能避免读者死记硬背大量理论知识,又能保证学习相关技术前拥有必需的知识基础。
本书提供了配套视频文件和其他配套资源,读者可到人邮教育社区(www.ryjiaoyu.com)下载。
由于编写时间仓促、编写水平有限,书中疏漏或不妥之处在所难免,请广大读者、同仁不吝指教,予以指正。另外,如有任何关于本书的建议或疑问等,欢迎发送电子邮件到topget@sina.com进行交流。
编者
2018年1月