神经网络设计与实现
上QQ阅读APP看书,第一时间看更新

前言

从医疗诊断到金融预测,甚至是机器诊断,神经网络(Neural Network,NN)的应用范围非常广泛,在深度学习和人工智能(Artificial Intelligence,AI)中发挥着非常重要的作用。

本书旨在指导读者以实践的方式学习神经网络。书中首先会简要介绍感知器网络,为你后面的学习奠定基础。然后,你可以开始了解机器学习及AI的未来。接下来,你将学习如何使用嵌入技术来处理文本数据,以及长短期记忆(Long Short-Term Memory,LSTM)网络在解决常见自然语言处理(Natural Language Processing,NLP)问题时的作用。后面的章节将演示如何实现高级概念,包括迁移学习、生成对抗网络(Generative Adversarial Network,GAN)、自编码器(Autoencoder,AE)和强化学习(Reinforcement Learning,RL)。最后,你还可以了解更多神经网络领域的最新进展。

通过阅读本书,读者可以掌握构建、训练和优化自己的神经网络模型的技能,这些神经网络能够提供可预测的解决方案。

本书目标读者

本书为中阶书籍,适合对AI和深度学习感兴趣并且想进一步提高技能的读者阅读。

本书结构

第1章涵盖AI(尤其是深度学习)的总体情况。还会介绍从数据变换到评估结果的一系列主要的机器学习概念,这在接下来的深度学习应用章节中非常有用。

第2章介绍深度学习的基础知识及其背后的数学原理。我们还将探索感知器和梯度下降等方面的概念,以及它们背后的数学原理。然后,我们将举例说明如何用它们来构建神经网络,以解决分类问题。

第3章介绍用于解决特定领域问题的更复杂的网络架构。特别是,我们将研究解决某些计算机视觉问题的一些技术。还将介绍预训练的网络如何减少创建和训练神经网络所需的时间。

第4章展示如何将深度学习用于NLP任务,尤其是如何使用嵌入来处理文本数据。此外,本章还会讲解其背后的理论以及一些实际用例。

第5章介绍一种更复杂的网络——RNN,以及其背后的数学原理和概念。特别是,我们将专注于LSTM以及如何将其用于解决NLP问题。

第6章介绍迁移学习。迁移学习是一种将学习泛化到不同的任务,而不仅限于其学习以解决的任务的模型能力。我们还将看到一个使用预训练网络的迁移学习具体示例,通过Keras和著名的VGG网络解决我们的特定问题。

第7章介绍过去十年中机器学习最具创新性的概念之一——GAN。我们将学到GAN的工作原理以及它们背后的数学原理。我们还将提供一个示例,说明如何实现一个GAN来生成简单的手写数字。

第8章讨论什么是自编码器、其背后的数学原理,以及它可以解决哪些问题。特别是,我们将研究如何改进简单的自编码器算法,以及如何通过Keras用自编码器生成简单的手写数字。

第9章讨论什么是深度置信网络(DBN)、其背后的数学原理,以及它们可以解决的问题。

第10章从基本概念(例如蒙特卡洛方法和马尔可夫链方法)开始介绍RL。然后,我们将介绍传统的RL方法以及深度学习是如何改善和振兴这个领域的。

第11章简要总结本书中涉及的所有主题。我们还将向读者提供其他可参考材料的详细信息。最后,我们还将简述神经网络领域可以期待的最新进展。

如何充分利用本书

具备一些统计学知识将有助于你更充分地利用本书。

下载示例代码及彩色图像

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

本书的代码包也托管在GitHub上(https://github.com/PacktPublishing/Hands-On-Neural-Networks)。如果代码有更新,将在已有的GitHub仓库中进行更新。

我们还提供PDF文件,其中包含本书中使用的屏幕截图或图表的彩色图像。你可以在http://www.packtpub.com/sites/default/files/downloads/9781788992596_ColorImages.pdf下载。

本书约定

本书中使用了许多排版约定。

CodeInText(代码体):书中的代码、数据库表名称、文件夹名称、文件名、文件扩展名、路径名、用户输入和推特用户名均用代码体表示。例如:“我们选择使用tanh作为激活函数。”

代码块格式如下:

在需要你特别注意的部分,相关的代码行或代码项将以粗体显示:

命令行输入或输出的格式如下:

表示警告或重要提示。

表示提示和技巧。