实用卷积神经网络:运用Python实现高级深度学习模型
上QQ阅读APP看书,第一时间看更新

前言

CNN正在革新几个应用领域,如视觉识别系统、自动驾驶汽车、医学发现、创新电子商务等。本书从构建CNN块开始,基于最佳实践来指导你实现真实的CNN模型并提供解决方案。你将学习创建图像和视频的创新解决方案,以解决复杂的机器学习和计算机视觉问题。

本书从深度神经网络概述开始,通过一个图像分类的例子带你构建第一个CNN模型。你将学习一些概念,如转移学习、CNN自编码器等,这些概念将帮助你构建非常强大的模型,即使只有有限的监督学习(有标签图像)训练集。

随后,我们基于这些学习来实现高级视觉相关算法和解决方案,用于目标检测、实例分割、生成式(对抗)网络、图像捕捉、注意力机制以及循环视觉注意模型。除了让你动手实践最有趣的视觉模型和架构外,本书还探索了CNN和计算机视觉领域最前沿的研究。这使得用户能够预见这个领域的未来,并运用高级CNN解决方案快速开始他们的创新之旅。

在本书的结尾,你应该可以在你的专业项目或个人方案中利用复杂的图像和视频数据集来实现先进、有效和高效的CNN模型。

本书受众

本书适合数据科学家、机器学习和深度学习实践者以及想要进一步构建CNN的人工智能爱好者。获取使用极大数据集和不同CNN架构的实践经验,从而构建高效、智能的卷积网络模型。本书读者最好对深度学习基本概念和Python编程语言基础知识已经有所了解。

各章概览

第1章对深度神经网络的科学原理和实现这种网络的不同框架以及框架背后的数学机制提供一个快速回顾。

第2章向读者介绍卷积神经网络,并展示如何利用深度学习从图像中提取信息。

第3章从零开始针对图像分类问题构建一个简单的CNN,并阐明如何调整参数、优化训练时间以及CNN的性能,以分别提高效率和准确率。

第4章介绍几种经典的(在竞赛中胜出的)CNN架构的优势和运作机制,以及它们之间的差异和如何使用这些架构。

第5章讲授如何使用预先训练好的网络,并使其适用于新的且不同的数据集。在实际应用中也有一种自定义分类问题,它使用的技术称为转移学习。

第6章介绍一种称为自编码器的无监督学习技术,同时介绍了CNN自编码器的不同应用,比如图像压缩。

第7章讲授目标检测、实例分割和图像分类的区别。然后介绍多种使用CNN进行目标检测和实例分割的技术。

第8章探究生成式CNN网络,然后将其与我们学习得到的有识别力的CNN网络相结合,用CNN/GAN创造新的图像。

第9章讲授深度学习中注意力背后的思想,并学习如何使用基于注意力的模型来实现一些高级解决方案(图像捕捉和RAM)。我们还将了解不同类型的注意力以及强化学习在硬注意力机制中的作用。

充分利用本书

本书主要用Python语言构建CNN。我们使用Python 2.7(2x)来构建各种应用程序,并且基于Python、Spyder、Anaconda、PyCharm构建开源的企业级专业软件。许多示例也能兼容Python 3x。作为一种好的实践,我们鼓励用户使用Python虚拟环境来实现这些代码。

本书主要关注如何以最佳的方式利用各种Python库和深度学习库(如Keras、TensorFlow和Caffe)来构建真实世界的应用程序。本着这种精神,我们尽量保持所有代码的友好性和可读性,以便使读者能够更容易地理解代码,并能在不同的场景中复用这些代码。

下载示例代码及彩色图像

本书的示例代码及所有截图和样图,可以从http://www.packtpub.com通过个人账号下载,也可以访问华章图书官网http://www.hzbook.com,通过注册并登录个人账号下载。

排版约定

代码块设置如下:

当要强调代码块的特定部分时,相关代码行或者单词会设置为粗体:

警告或重要提示的标记。

提示或技巧的标记。