深度学习之PyTorch实战计算机视觉
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

“人工智能”(Artificial Intelligence,简称AI)一词在很久以前就有了,被大众津津乐道却是近几年的事情,这和机器学习(Machine Learning)、深度学习(Deep Learning)等技术的崛起有着千丝万缕的联系,而这一切又得益于大数据的发展和计算机处理性能的不断提升。

本书将带领读者了解人工智能的相关技术和发展近况,通过一些实例来掌握必备的技能,并能够独立使用相关技术完成对计算机视觉问题的分析和处理。本书各个章节的知识要点如下。

第1章主要介绍人工智能、神经网络和计算机视觉的发展历史,让读者对这一领域有一个全面的认识。

第2章主要介绍在理解和掌握后面章节的内容时需要用到的数学知识,以及在实战操作的过程中进行环境搭建及安装相关软件的方法。本书中数学相关的大部分知识都集中在本章中,其主要目的是让读者先对这个领域的知识产生兴趣,这样才能更好地深入学习和研究。在本章中不会插入大量的数学公式,这样做会让初学者望而却步,在不断消化公式的过程中丧失学习兴趣和动力。通过不断实战来学习,可以累积成就感,这种自顶向下的方式不失为一种更好的学习方法。

第3章主要介绍在学习神经网络的过程中会经常遇到的一些概念和定义。比如后向传播(Back Propagation)、激活函数(Activation Function)、监督学习(Supervised Learning)、无监督学习(Unsupervised Learning),等等,这也是为之后学习深度神经网络做准备。在搭建一个完整的深度神经网络模型时,就需要不断地用到本章的内容了。

第4章主要介绍深度神经网络中的卷积神经网络(Convolutional Neural Network,简称CNN)。首先介绍卷积层、全连接层、池化层等相关内容,之后又列举了目前主流的一些卷积神经网络架构,并对比它们之间的相同点和不同点,以便于掌握不同的卷积神经网络的结构和技术细节。

第5章主要介绍Python编程语言的相关知识,目的是让读者掌握Python语言的语法定义和使用方式,并使用Python语言进行功能代码的编写;还会介绍在处理计算机视觉问题时需要用到的两个重要的Python包:NumPy和Matplotlib。本章内容丰富,而且Python语言自身就很简单且易上手,读者很快就能掌握Python这门编程语言。

第6章主要介绍如何使用PyTorch深度学习框架。PyTorch非常简单易用,能够根据我们的需求快速搭建出我们想要的深度神经网络模型,这在很大程度上归功于PyTorch基于动态图计算的特性,它与基于静态图计算的深度学习框架相比,有更多的优势,比如PyTorch不仅速度快,还有许多功能强大的包可供调用。本章先介绍PyTorch中常用的包和类的使用方法;然后介绍如何使用PyTorch中的一些自动化方法来提升代码的执行效率和简洁度;最后会通过一个综合实例,使用本章的内容解决一个实际的计算机视觉问题。

第7章一开始就是一个关于计算机视觉问题的实战,介绍了一种非常实用的深度神经网络复用方法,即迁移学习(Transfer Learning)。在掌握迁移学习的原理之后,会基于PyTorch对迁移学习进行实战,并解决比之前更复杂的计算机视觉问题。对实战代码的解析会贯穿本章,让读者更深刻地理解代码。

第8章讲解如何基于PyTorch实战图像风格迁移(Neural Style)。通过对本章的学习,读者会发现,利用卷积神经网络不仅能处理图片分类问题,只要有想法和创意,还能做更多、更有趣的事情。

第9章介绍一种多模型融合方法,在现有的模型遭遇性能提升瓶颈时,可通过搭建一种经过科学融合的新模型达到超过预期的泛化能力。本章依然会基于PyTorch对多模型融合方法进行实战。

第10章介绍一种区别于卷积神经网络的新神经网络结构,即循环神经网络(Recurrent Neural Network,简称RNN)。不同于卷积神经网络强大的图像特征提取能力,循环神经网络主要用于处理有序输入的数据。为了方便读者理解模型如何对有序数据进行处理,本章会基于PyTorch使用循环神经网络来处理一个计算机视觉问题。

第11章讲解自动编码器,它是一种使用非监督学习方法的神经网络。自编码器能够实现很多功能,本章会选取一个图像去噪问题来进行自动编码器实战。

本书前6章的内容可作为后5章的铺垫,前6章的知识偏向基础和理论,不过,只有掌握了这些内容,才能从容应对后5章的实战。这个循序渐进的过程会让读者对知识的理解更深刻,技能提升更迅速。

人工智能在近几年大热,网络上的相关资料良莠不齐且没有体系,即使有优秀的干货,对于基础薄弱的初学者来说起点也太高。本书也是出于对这一现状的考虑,通过从基础到实战、由浅入深的过程,让读者基于PyTorch来使用深度学习方法实际解决一些计算机视觉相关的问题,这样,读者在获取知识的过程中会更有成就感,学起来也会更积极、主动。

感谢家人的鼓励和支持,也感谢张国霞编辑的帮助和付出,笔者才能以更好的方式将这部作品呈现在读者的面前。希望读者能遵从敏捷学习的思路,多实战、多思考并不断进步。在本书中会有很多实例,读者可以举一反三、不断实践,在发现问题时要多思考,毕竟本书涉及的内容有限,若想让自己的能力得到更高层次的提升,则需要获取更多的资料来充实自己。

唐进民

2018年5月

轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达本书页面。

提交勘误:您对书中内容的修改意见可在提交勘误处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。

交流互动:在页面下方读者评论处留下您的疑问或观点,与我们和其他读者一同学习交流。

页面入口:http://www.broadview.com.cn/34144