深度学习算法简介,深度学习的9种算法?( 二 )


#4循环神经网络(RNN)
循环神经网络在许多NLP任务中都非常成功 。在传统的神经网络中,可以理解所有输入和输出都是独立的 。但是,对于许多任务,这是不合适的 。如果要预测句子中的下一个单词,最好考虑一下它前面的单词 。
RNN之所以称为循环,是因为它们对序列的每个元素执行相同的任务,并且输出取决于先前的计算 。RNN的另一种解释:这些网络具有“记忆”,考虑了先前的信息 。

深度学习算法简介,深度学习的9种算法?

文章插图
例如,如果序列是5个单词的句子,则由5层组成,每个单词一层 。
在RNN中定义计算的公式如下:
图像描述的生成
与卷积神经网络一起,RNN被用作模型的一部分,以生成未标记图像的描述 。组合模型将生成的单词与图像中的特征相结合:
【深度学习算法简介,深度学习的9种算法?】
深度学习算法简介,深度学习的9种算法?

文章插图
最常用的RNN类型是LSTM,它比RNN更好地捕获(存储)长期依赖关系 。LSTM与RNN本质上相同,只是它们具有不同的计算隐藏状态的方式 。
LSTM中的memory称为cells,您可以将其视为接受先前状态h_ {t-1}和当前输入参数x_t作为输入的黑盒 。在内部,这些cells决定保存和删除哪些memory 。然后,它们将先前的状态,当前memory和输入参数组合在一起 。
这些类型的单元在捕获(存储)长期依赖关系方面非常有效 。
#5递归神经网络
递归神经网络是循环网络的另一种形式,不同之处在于它们是树形结构 。因此,它们可以在训练数据集中建模层次结构 。
由于其与二叉树、上下文和基于自然语言的解析器的关系,它们通常用于音频到文本转录和情绪分析等NLP应用程序中 。然而,它们往往比递归网络慢得多
#6自编码器
自编码器可在输出处恢复输入信号 。它们内部有一个隐藏层 。自编码器设计为无法将输入准确复制到输出,但是为了使误差最小化,网络被迫学习选择最重要的特征 。
深度学习算法简介,深度学习的9种算法?

文章插图
自编码器可用于预训练,例如,当有分类任务且标记对太少时 。或降低数据中的维度以供以后可视化 。或者,当您只需要学习区分输入信号的有用属性时 。
#7深度信念网络和受限玻尔兹曼机器
受限玻尔兹曼机是一个随机神经网络(神经网络,意味着我们有类似神经元的单元,其binary激活取决于它们所连接的相邻单元;随机意味着这些激活具有概率性元素),它包括:
此外,每个可见单元连接到所有的隐藏单元(这种连接是无向的,所以每个隐藏单元也连接到所有的可见单元),而偏差单元连接到所有的可见单元和所有的隐藏单元 。
深度学习算法简介,深度学习的9种算法?

文章插图
为了使学习更容易,我们对网络进行了限制,使任何可见单元都不连接到任何其他可见单元,任何隐藏单元都不连接到任何其他隐藏单元 。
多个RBM可以叠加形成一个深度信念网络 。它们看起来完全像全连接层,但但是它们的训练方式不同 。
#8生成对抗网络(GAN)
GAN正在成为一种流行的在线零售机器学习模型,因为它们能够以越来越高的准确度理解和重建视觉内容 。用例包括:
在视频制作中,GAN可用于:
生成对抗网络(GAN)有两个部分:
建立GAN的第一步是识别所需的最终输出,并根据这些参数收集初始训练数据集 。然后将这些数据随机化并输入到生成器中,直到获得生成输出的基本精度为止 。