Python深度强化学习:基于Chainer和OpenAI Gym
上QQ阅读APP看书,第一时间看更新

第2章
深度学习

2.1 什么是深度学习

如第1章所述,深度学习是一种机器学习方法,用于训练和分类已知答案的问题(图像识别和自动写作),并且近年来受到了广泛的关注。

深度学习不是突然出现的新技术,而是一种基于神经网络(Neural Network,NN)的技术。深度学习是对神经网络层数的深化(之后会详细介绍),因此它被称为深度神经网络(深层神经网络),通常缩写为DNN(Deep Neural Network)。

如图2.1所示,深度学习从深度神经网络开始具有各种演化。为了便于说明,将神经网络的更深层次表现称为深度神经网络,以区别于其他高级方法。

029-1

图2.1 深度学习的变迁

我们来看一下深度神经网络的演化。首先,卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习方法,善于进行图像处理。正是基于这一神经网络设计的处理方法,在识别图像中的物体时,其识别率超过了人类的识别率。

此外,循环神经网络(Recurrent Neural Network,RNN)是一种擅长使用时间序列数据的深度学习方法,自动写作就是基于此方法来实现的。

自编码器(AutoEncoder,AE)是一种应用于降噪和图像生成的深度学习方法,对蒙娜丽莎的微笑之谜的研究就是该方法的应用。尽管未在图2.1中表示,但Google机器翻译使用的是编码器/解码器模型。这是循环神经网络的演化模型,它由将输入的句子转换为语义向量的编码器和将编码的向量解码为不同语言的句子的解码器组成。

近年来,作为用神经网络生成图像、视频和声音的生成模型,变分自编码器(Variational AutoEncoder,VAE)和生成对抗网络(Generative Adversarial Network,GAN)引起了人们的关注。

在本书中,我们将把深度神经网络和卷积神经网络整合到深度强化学习中。但如果在不了解任何知识的情况下使用深度神经网络或卷积神经网络进行深度强化学习,则无法充分发挥其性能,也无法进行之后的应用。因此,我们首先学习深度神经网络的基础,即从神经网络的基本原理开始。然而我们并不是要学习神经网络的全部内容,而是仅学习了解深度神经网络所必须掌握的内容。随后我们学习卷积神经网络的原理。

此外,除了进行训练,熟练运用深度学习也很重要。因此,本章将介绍如何使用训练好的模型输入其他数据并进行测试。