提交 9235dae2 编写于 作者: W wizardforcel

2021-12-15 22:17:32

上级 bbc740fb
......@@ -192,7 +192,7 @@
表示学习或[特征学习](http://en.wikipedia.org/wiki/Feature_learning)是朝着这个目标努力的方向。
现代深度学习方法在该领域取得了一些成功,例如自编码器和受限制的玻尔兹曼机器。它们已经被证明是自动的,并且以无监督或半监督的方式,学习特征的抽象表示(压缩形式),这反过来又支持了诸如语音识别,图像分类等领域的最新结果。物体识别和其他领域。
现代深度学习方法在该领域取得了一些成功,例如自编码器和受限制的玻尔兹曼机器。它们已经被证明是自动的,并且以无监督或半监督的方式,学习特征的抽象表示(压缩形式),这反过来又支持了诸如语音识别,图像分类等领域的最新结果。物体识别和其他领域。
我们没有自动特征提取或构造,但我们可能永远不会有自动特征工程。
......
......@@ -44,7 +44,7 @@
* 应用
* 第三部分:深度学习研究
* 线性因子模型
*编码
* 自编码
* 表征学习
* 深度学习的结构化概率模型
* 蒙特卡罗方法
......@@ -171,8 +171,8 @@ N. D. Lewis 有一系列关于统计学和机器学习的书籍,包括有关
* 深度神经网络
* Elman 神经网络
* Jordan 神经网络
*编码器的秘密
* 坚果壳中的堆叠自编码器
* 自编码器的秘密
* 坚果壳中的堆叠自编码器
* 受限制的玻尔兹曼机器
* 深度信念网络
......
......@@ -69,7 +69,7 @@
* [深度学习讲座 11:最大边缘学习,转移和记忆网络](https://www.youtube.com/watch?v=jCGplSKrl2Y&index=15&list=PLE6Wd9FR--EfW8dtjAuPoTuPcqmOV53Fu)
* [深度学习讲座 12:递归神经网络和 LSTM](https://www.youtube.com/watch?v=56TYLaQN4N8&list=PLE6Wd9FR--EfW8dtjAuPoTuPcqmOV53Fu&index=14)
* [深度学习讲座 13:Alex Graves 关于 RNNs 的设想](https://www.youtube.com/watch?v=-yX1SYeDHbg&index=4&list=PLE6Wd9FR--EfW8dtjAuPoTuPcqmOV53Fu)
* [深度学习第 14 讲:关于变分自编码器和图像生成的 Karol Gregor](https://www.youtube.com/watch?v=P78QYjWh5sM&index=3&list=PLE6Wd9FR--EfW8dtjAuPoTuPcqmOV53Fu)
* [深度学习第 14 讲:关于变分自编码器和图像生成的 Karol Gregor](https://www.youtube.com/watch?v=P78QYjWh5sM&index=3&list=PLE6Wd9FR--EfW8dtjAuPoTuPcqmOV53Fu)
* [深度学习讲座 15:深度强化学习 - 政策检索](https://www.youtube.com/watch?v=kUiR0RLmGCo&list=PLE6Wd9FR--EfW8dtjAuPoTuPcqmOV53Fu&index=2)
* [深度学习第 16 讲:强化学习和神经动态规划](https://www.youtube.com/watch?v=dV80NAlEins&index=1&list=PLE6Wd9FR--EfW8dtjAuPoTuPcqmOV53Fu)
......@@ -137,7 +137,7 @@
* [深度学习分布估计](http://videolectures.net/deeplearning2015_larochelle_deep_learning/)
* [无向图形模型](http://videolectures.net/deeplearning2015_courville_graphical_models/)
* [受限制的玻尔兹曼机器](http://videolectures.net/deeplearning2015_lee_boltzmann_machines/)
* [在歧管和自编码器](http://videolectures.net/deeplearning2015_vincent_autoencoders/)
* [在歧管和自编码器](http://videolectures.net/deeplearning2015_vincent_autoencoders/)
* [视觉特征:从傅立叶到 Gabor](http://videolectures.net/deeplearning2015_memisevic_fourier_gabor/)
* [视觉特征 II](http://videolectures.net/deeplearning2015_memisevic_visual_features/)
* [卷积网络](http://videolectures.net/deeplearning2015_lee_convolutional_networks/)
......@@ -157,7 +157,7 @@
* [记忆,阅读和理解](http://videolectures.net/deeplearning2015_blunsom_memory_reading/)
* [平滑,有限和凸优化深度学习暑期学校](http://videolectures.net/deeplearning2015_schmidt_smooth_finite/)
* [非平滑,非有限和非凸优化](http://videolectures.net/deeplearning2015_schmidt_nonsmooth_nonfinite/)
* [变分自编码器和扩展](http://videolectures.net/deeplearning2015_courville_autoencoder_extension/)
* [变分自编码器和扩展](http://videolectures.net/deeplearning2015_courville_autoencoder_extension/)
* [深度生成模型](http://videolectures.net/deeplearning2015_bengio_generative_models/)
选择一个主题并深入学习,效果会非常好!
......@@ -262,7 +262,7 @@ YouTube 播放列表的文件名称很差,而且有些缺少讲座, 2016 年
* 主题 3:条件随机字段
* 主题 4:训练条件随机字段
* 主题 5:受限制的玻尔兹曼机器
* 主题 6:自编码器
* 主题 6:自编码器
* 主题 7:深度学习
* 主题 8:稀疏编码
* 主题 9:计算机视觉
......
......@@ -567,7 +567,7 @@ ________________________________________________________________________________
在本节中,我们将开发一个模型,该模型可以进行两种不同类型的预测。给定一个特征的 100 个时间步长的输入序列,该模型将对序列进行分类并输出具有相同长度的新序列。
LSTM 层解释输入序列并返回每个时间步的隐藏状态。第一个输出模型创建堆叠 LSTM,解释特征并进行二元预测。第二输出模型使用相同的输出层对每个输入时间步进行实值预测。
LSTM 层解释输入序列并返回每个时间步的隐藏状态。第一个输出模型创建栈式 LSTM,解释特征并进行二元预测。第二输出模型使用相同的输出层对每个输入时间步进行实值预测。
```py
# Multiple Outputs
......
......@@ -37,7 +37,7 @@ Theano 是由 LISA 集团(现为 [MILA](http://mila.umontreal.ca/en/) )开
然而,有一个优秀的深度学习教程,向您展示如何为深度学习创建类和函数。例如,它提供了创建以下深度学习算法的分步示例:
* [深度卷积网络](http://deeplearning.net/tutorial/lenet.html)
* [堆叠去噪自编码器](http://deeplearning.net/tutorial/SdA.html)
* [堆叠去噪自编码器](http://deeplearning.net/tutorial/SdA.html)
* [深信仰网络](http://deeplearning.net/tutorial/DBN.html)
在线查看[整个教程](http://deeplearning.net/tutorial/contents.html)或下载 [PDF 版](http://deeplearning.net/tutorial/deeplearning.pdf)
......@@ -109,7 +109,7 @@ DeepLearning4J(简称 DL4J)是由 [Adam Gibson](https://www.linkedin.com/in/
DeepLearning4J 是一个灵活的平台,它提供了一套最先进的深度学习算法,不仅限于:
* 深信仰网络
* 堆叠去噪自编码器
* 堆叠去噪自编码器
* 卷积神经网络
* 长短期记忆单位
* 递归神经网络
......
......@@ -118,11 +118,11 @@ Andrew 经常说,我们应该,也将会看到更多的来自深度学习中
在科学杂志上的一篇题为“[用神经网络降低数据维度](https://www.cs.toronto.edu/~hinton/science.pdf)”的合著的文章中,同样按照之前对“深度”的定义,他们描述了他们开发网络的方法,这些网络的层数比以前典型网络的层数更多。
> 我们阐述了一种有效的初始化权重的方法,它允许深度自编码器(Auto-encoder)网络学习低维度代码(low-dimensional codes)。作为减少数据维度的工具,这些代码比主成分分析(Principal Components Analysis)更好。
> 我们阐述了一种有效的初始化权重的方法,它允许深度自编码器(Auto-encoder)网络学习低维度代码(low-dimensional codes)。作为减少数据维度的工具,这些代码比主成分分析(Principal Components Analysis)更好。
在同一篇文章中,他们还有一个有趣的评论。这个评论与 Andrew Ng 关于最近计算能力的提高以及对大型数据集的访问的评论不谋而合。他们都认为大规模使用这些数据集可以激发神经网络的潜能。
> 自 20 世纪 80 年代以来,显而易见的是,深度自编码器的反向传播(backpropagation)对于非线性降维是非常有效的,只要计算机足够快,数据集足够大,并且初始权重足够接近良好解就可以。如今,这三个条件都满足了。
> 自 20 世纪 80 年代以来,显而易见的是,深度自编码器的反向传播(backpropagation)对于非线性降维是非常有效的,只要计算机足够快,数据集足够大,并且初始权重足够接近良好解就可以。如今,这三个条件都满足了。
在 2016 年皇家学会题为“[深度学习](https://www.youtube.com/watch?v=VhmE_UXDOGs)”的演讲中,Geoff 评论说深度信念网络是 2006 年深度学习的开始,这一新的深度学习浪潮的首次成功应用是 2009 年的语音识别,这个文章的标题为“[基于深度信念网络的声学建模](http://www.cs.toronto.edu/~asamir/papers/speechDBN_jrnl.pdf)”,他们达到了最先进的水平。
......@@ -180,7 +180,7 @@ Andrew 经常说,我们应该,也将会看到更多的来自深度学习中
在这篇文章中,你学习到了深度学习其实就是用于更大数据的大型神经网络,因此需要更强的计算能力。
虽然 Hinton 和其合作者发表的早期的方法侧重于贪婪的分层训练(greedy layerwise training)和无监督方法,如自编码器,但现代最先进的深度学习主要集中在使用反向传播算法训练深层(多层)神经网络模型。最流行的技术有:
虽然 Hinton 和其合作者发表的早期的方法侧重于贪婪的分层训练(greedy layerwise training)和无监督方法,如自编码器,但现代最先进的深度学习主要集中在使用反向传播算法训练深层(多层)神经网络模型。最流行的技术有:
* 多层感知器网络(MLP)。
* 卷积神经网络(CNN)。
......
......@@ -679,6 +679,6 @@ seared to see it was a little lad good to the little good
* 在哪里可以免费下载经典书籍的 ASCII 文本,以便进行训练。
* 如何在文本序列上训练 LSTM 网络以及如何使用训练有素的网络生成新序列。
* 如何开发堆叠 LSTM 网络并提升模型的表现。
* 如何开发栈式 LSTM 网络并提升模型的表现。
您对 LSTM 网络或此帖子的文本生成有任何疑问吗?在下面的评论中提出您的问题,我会尽力回答。
\ No newline at end of file
......@@ -887,7 +887,7 @@ model = Sequential()
model.add(LSTM(200, activation='relu', input_shape=(n_timesteps, n_features)))
```
我们将使用一种易于在 Keras 中实现的简单编解码器架构,它与 LSTM 自编码器的架构有很多相似之处。
我们将使用一种易于在 Keras 中实现的简单编解码器架构,它与 LSTM 自编码器的架构有很多相似之处。
首先,输入序列的内部表示重复多次,输出序列中的每个时间步长一次。该序列的向量将被呈现给 LSTM 解码器。
......
......@@ -50,7 +50,7 @@ LSTM 可用于模拟单变量时间序列预测问题。
1. 数据准备
2. 香草 LSTM
3. 堆叠式 LSTM
3. 式 LSTM
4. 双向 LSTM
5. CNN LSTM
6. ConvLSTM
......@@ -272,9 +272,9 @@ print(yhat)
[[102.09213]]
```
### 堆叠式 LSTM
### 式 LSTM
多个隐藏的 LSTM 层可以在所谓的堆叠 LSTM 模型中一个堆叠在另一个之上。
多个隐藏的 LSTM 层可以在所谓的栈式 LSTM 模型中一个堆叠在另一个之上。
LSTM 层需要三维输入,默认情况下,LSTM 将产生二维输出作为序列末尾的解释。
......
......@@ -867,7 +867,7 @@ Accuracy: 90.801% (+/-0.886)
本节列出了一些扩展您可能希望探索的教程的想法。
* **数据准备**。考虑探索简单的数据扩展方案是否可以进一步提升模型表现,例如标准化,标准化和电源转换。
* **LSTM 变化**。 LSTM 架构的变体可以在此问题上实现更好的表现,例如堆叠 LSTM 和双向 LSTM。
* **LSTM 变化**。 LSTM 架构的变体可以在此问题上实现更好的表现,例如栈式 LSTM 和双向 LSTM。
* **超参数调整**。考虑探索模型超参数的调整,例如单位数,训练时期,批量大小等。
如果你探索任何这些扩展,我很想知道。
......
......@@ -1141,7 +1141,7 @@ model.compile(loss='mse', optimizer='adam')
model.fit(train_x, train_y, epochs=n_epochs, batch_size=n_batch, verbose=0)
```
探索调整其他配置(例如使用双向输入层,堆叠 LSTM 层,甚至是具有 CNN 或 ConvLSTM 输入模型的混合模型)可能会很有趣。
探索调整其他配置(例如使用双向输入层,栈式 LSTM 层,甚至是具有 CNN 或 ConvLSTM 输入模型的混合模型)可能会很有趣。
与 CNN 模型一样,LSTM 模型期望输入数据具有样本,时间步长和特征的三维形状。
......
......@@ -13,7 +13,7 @@
阅读这篇文章后,你会知道:
* 跨多个站点的多变量,多步骤预测的挑战,在这种情况下是城市。
* 用于时间序列预测的 LSTM 模型架构,包括单独的自编码器和预测子模型。
* 用于时间序列预测的 LSTM 模型架构,包括单独的自编码器和预测子模型。
* 所提出的 LSTM 架构在罕见事件中的技能需求预测以及在不相关的预测问题上重用训练模型的能力。
让我们开始吧。
......@@ -103,45 +103,45 @@ LSTM,例如 Vanilla LSTMs 在问题上进行了评估并表现出相对较差
* **特征提取器**:用于将输入序列提取到特征向量的模型,该特征向量可以用作做出预测的输入。
* **Forecaster** :使用提取的特征和其他输入做出预测的模型。
开发了 LSTM 自编码器模型用作特征提取模型,并使用 [Stacked LSTM](https://machinelearningmastery.com/stacked-long-short-term-memory-networks/) 作为预测模型。
开发了 LSTM 自编码器模型用作特征提取模型,并使用 [Stacked LSTM](https://machinelearningmastery.com/stacked-long-short-term-memory-networks/) 作为预测模型。
> 我们发现香草 LSTM 模型的表现比我们的基线差。因此,我们提出了一种新架构,它利用自编码器进行特征提取,与基线相比实现了卓越的表现。
> 我们发现香草 LSTM 模型的表现比我们的基线差。因此,我们提出了一种新架构,它利用自编码器进行特征提取,与基线相比实现了卓越的表现。
- [优步神经网络的时间序列极端事件预测](http://roseyu.com/time-series-workshop/submissions/TSW2017_paper_3.pdf),2017。
在做出预测时,首先将时间序列数据提供给自动编码器,自动编码器被压缩为平均和连接的多个特征向量。然后将特征向量作为输入提供给预测模型以做出预测。
在做出预测时,首先将时间序列数据提供给自编码器,自编码器被压缩为平均和连接的多个特征向量。然后将特征向量作为输入提供给预测模型以做出预测。
> ...该模型首先通过自动特征提取对网络进行填充,这对于在大规模特殊事件期间捕获复杂的时间序列动态至关重要。 [...]然后通过集合技术(例如,平均或其他方法)聚合特征向量。然后将最终向量与新输入连接并馈送到 LSTM 预测器做出预测。
- [优步神经网络的时间序列极端事件预测](http://roseyu.com/time-series-workshop/submissions/TSW2017_paper_3.pdf),2017。
目前尚不清楚在做出预测时究竟是什么给自编码器提供了什么,尽管我们可能猜测这是一个多变量时间序列,用于预测在预测时间间隔之前观察的城市。
目前尚不清楚在做出预测时究竟是什么给自编码器提供了什么,尽管我们可能猜测这是一个多变量时间序列,用于预测在预测时间间隔之前观察的城市。
作为自动编码器输入的多变量时间序列将导致可以连接的多个编码向量(每个系列一个)。目前尚不清楚平均在这一点上可能采取什么角色,尽管我们可能猜测它是执行自动编码过程的多个模型的平均值。
作为自编码器输入的多变量时间序列将导致可以连接的多个编码向量(每个系列一个)。目前尚不清楚平均在这一点上可能采取什么角色,尽管我们可能猜测它是执行自编码过程的多个模型的平均值。
![Overview of Feature Extraction Model and Forecast Model](img/976779f88c028ae5777f987126429f65.jpg)
特征提取模型和预测模型概述
取自“优步神经网络的时间序列极端事件预测”。
作者评论说,可以将自编码器作为预测模型的一部分,并对此进行评估,但单独的模型可以提高表现。
作者评论说,可以将自编码器作为预测模型的一部分,并对此进行评估,但单独的模型可以提高表现。
> 但是,拥有一个单独的自编码器模块可以在我们的经验中产生更好的结果。
> 但是,拥有一个单独的自编码器模块可以在我们的经验中产生更好的结果。
- [优步神经网络的时间序列极端事件预测](http://roseyu.com/time-series-workshop/submissions/TSW2017_paper_3.pdf),2017。
在展示纸张时使用的幻灯片中提供了所开发模型的更多细节。
动编码器的输入是 512 LSTM 单位,自动编码器中的瓶颈用于创建 32 或 64 LSTM 单位的编码特征向量。
编码器的输入是 512 LSTM 单位,自编码器中的瓶颈用于创建 32 或 64 LSTM 单位的编码特征向量。
![Details of LSTM Autoencoder for Feature Extraction](img/60c25c1bdcff46355dd8df396e8b9c17.jpg)
用于特征提取的 LSTM 自编码器的详细信息
用于特征提取的 LSTM 自编码器的详细信息
取自“优步神经网络的时间序列极端事件预测”。
使用'_ 新输入 _'将编码的特征向量提供给预测模型,尽管未指定此新输入是什么;我们可以猜测这是一个时间序列,也许是预测区间之前的观测预测的城市的多变量时间序列。或者,从这个系列中提取的特征[论文中的博客文章暗示](https://eng.uber.com/neural-networks/)(尽管我对这篇文章和幻灯片与此相矛盾时持怀疑态度)。
该模型接受了大量数据的训练,这是堆叠 LSTM 或一般 LSTM 的一般要求。
该模型接受了大量数据的训练,这是栈式 LSTM 或一般 LSTM 的一般要求。
> 所描述的生产神经网络模型在数千个时间序列上进行训练,每个时间序列具有数千个数据点。
......@@ -151,7 +151,7 @@ LSTM,例如 Vanilla LSTMs 在问题上进行了评估并表现出相对较差
还使用引导程序实现了估算预测不确定性的有趣方法。
它分别使用自编码器和预测模型分别估计模型不确定性和预测不确定性。输入被提供给给定模型并且使用了激活的丢失(如幻灯片中所评论的)。该过程重复 100 次,模型和预测误差项用于预测不确定性的估计。
它分别使用自编码器和预测模型分别估计模型不确定性和预测不确定性。输入被提供给给定模型并且使用了激活的丢失(如幻灯片中所评论的)。该过程重复 100 次,模型和预测误差项用于预测不确定性的估计。
![Overview of Forecast Uncertainty Estimation](img/185d5e71e3e2cef3a4898fdeab98865c.jpg)
......@@ -218,7 +218,7 @@ LSTM 模型在优步数据上的表现和对 M3 数据集的评估
具体来说,你学到了:
* 跨多个站点的多变量,多步骤预测的挑战,在这种情况下是城市。
* 用于时间序列预测的 LSTM 模型架构,包括单独的自编码器和预测子模型。
* 用于时间序列预测的 LSTM 模型架构,包括单独的自编码器和预测子模型。
* 所提出的 LSTM 架构在罕见事件中的技能需求预测以及在不相关的预测问题上重用训练模型的能力。
你有任何问题吗?
......
......@@ -743,7 +743,7 @@ Test Score: 52.23 RMSE
有状态 LSTM 训练乘客预测问题的回归形式
## 堆叠 LSTM 与批次之间的内存
## 栈式 LSTM 与批次之间的内存
最后,我们将了解 LSTM 的一大优势:它们可以在堆叠到深层网络架构中时成功进行训练。
......
......@@ -94,7 +94,7 @@ model.add(LSTM(5, input_shape=(2,1)))
model.add(Dense(1))
```
可以通过将LSTM层添加到Sequential模型来堆叠LSTM层。重要的是,在堆叠LSTM层时,我们必须为每个输入输出一个序列而不是一个值,以便后续的LSTM层可以具有所需的3D输入。我们可以通过将return_sequences参数设置为True来完成此操作。例如:
可以通过将LSTM层添加到Sequential模型来栈式LSTM层。重要的是,在栈式LSTM层时,我们必须为每个输入输出一个序列而不是一个值,以便后续的LSTM层可以具有所需的3D输入。我们可以通过将return_sequences参数设置为True来完成此操作。例如:
```py
model = Sequential()
......
......@@ -2,7 +2,7 @@
+ [Keras中长短期记忆模型的5步生命周期](5-step-life-cycle-long-short-term-memory-models-keras.md)
+ [长短期记忆循环神经网络的注意事项](attention-long-short-term-memory-recurrent-neural-networks.md)
+ [CNN长短期记忆网络](cnn-long-short-term-memory-networks.md)
+ [逆向神经网络中的深度学习速成课程](crash-course-recurrent-neural-networks-deep-learning.md)
+ [循环神经网络中的深度学习速成课程](crash-course-recurrent-neural-networks-deep-learning.md)
+ [可变长度输入序列的数据准备](data-preparation-variable-length-input-sequences-sequence-prediction.md)
+ [如何用Keras开发用于Python序列分类的双向LSTM](develop-bidirectional-lstm-sequence-classification-python-keras.md)
+ [如何开发Keras序列到序列预测的编解码器模型](develop-encoder-decoder-model-sequence-sequence-prediction-keras.md)
......@@ -22,7 +22,7 @@
+ [学习使用编解码器LSTM循环神经网络相加数字](learn-add-numbers-seq2seq-recurrent-neural-networks.md)
+ [如何学习长短期记忆循环神经网络打印随机整数](learn-echo-r​​andom-integers-long-short-term-memory-recurrent-neural-networks.md)
+ [具有Keras的长短期记忆循环神经网络的迷你课程](long-short-term-memory-recurrent-neural-networks-mini-course.md)
+ [LSTM自编码器的温和介绍](lstm-autoencoders.md)
+ [LSTM自编码器的温和介绍](lstm-autoencoders.md)
+ [如何用Keras中的长短期记忆模型做出预测](make-predictions-long-short-term-memory-models-keras.md)
+ [用Python中的长短期记忆网络演示内存](memory-in-a-long-short-term-memory-network.md)
+ [基于循环神经网络的序列预测模型的简要介绍](models-sequence-prediction-recurrent-neural-networks.md)
......
# 逆向神经网络中的深度学习速成课程
# 面向深度学习的循环神经网络的速成课程
> 原文: [https://machinelearningmastery.com/crash-course-recurrent-neural-networks-deep-learning/](https://machinelearningmastery.com/crash-course-recurrent-neural-networks-deep-learning/)
......
# 如何用Keras开发用于Python序列分类的双向LSTM
# 如何用Python和Keras开发用于序列分类的双向LSTM
> 原文: [https://machinelearningmastery.com/develop-bidirectional-lstm-sequence-classification-python-keras/](https://machinelearningmastery.com/develop-bidirectional-lstm-sequence-classification-python-keras/)
......
......@@ -81,9 +81,9 @@ LSTM的一些现代实现允许您指定用于更新的时间步数,将用作
## 6.使用编解码器架构
您可以使用自编码器来学习长序列的新表示长度,然后使用解码器网络将编码表示解释为所需的输出。
您可以使用自编码器来学习长序列的新表示长度,然后使用解码器网络将编码表示解释为所需的输出。
这可能涉及无监督自编码器作为序列的预处理传递,或者用于自然语言翻译的更新近的[编解码器LSTM样式网络](http://machinelearningmastery.com/learn-add-numbers-seq2seq-recurrent-neural-networks/)
这可能涉及无监督自编码器作为序列的预处理传递,或者用于自然语言翻译的更新近的[编解码器LSTM样式网络](http://machinelearningmastery.com/learn-add-numbers-seq2seq-recurrent-neural-networks/)
同样,从非常长的序列中学习可能仍然存在困难,但是更复杂的架构可以提供额外的杠杆或技能,特别是如果与上述一种或多种技术结合使用。
......
......@@ -14,7 +14,7 @@
* 什么是整数编码和单热编码,以及为什么它们在机器学习中是必需的。
* 如何在Python中手动计算整数编码和单热编码。
* 如何使用scikit-learn和Keras库在Python中自编码序列数据。
* 如何使用scikit-learn和Keras库在Python中自编码序列数据。
让我们开始吧。
......@@ -315,7 +315,7 @@ print(inverted)
* 什么是整数编码和单热编码,以及为什么它们在机器学习中是必需的。
* 如何在Python中手动计算整数编码和单热编码。
* 如何使用scikit-learn和Keras库在Python中自编码序列数据。
* 如何使用scikit-learn和Keras库在Python中自编码序列数据。
您对准备序列数据有任何疑问吗?
在评论中提出您的问题,我会尽力回答。
\ No newline at end of file
......@@ -6,7 +6,7 @@
LSTM的一个很好的演示是学习如何使用诸如和的数学运算将多个项组合在一起并输出计算结果。
初学者常犯的一个错误就是简单地学习从输入词到输出词的映射函数。关于这种问题的LSTM的良好演示涉及学习字符的排序输入(“50 + 11”)和以字符(“61”)预测序列输出。使用序列到序列或seq2seq(编解码器),堆叠LSTM配置的LSTM可以学习这个难题。
初学者常犯的一个错误就是简单地学习从输入词到输出词的映射函数。关于这种问题的LSTM的良好演示涉及学习字符的排序输入(“50 + 11”)和以字符(“61”)预测序列输出。使用序列到序列或seq2seq(编解码器),栈式LSTM配置的LSTM可以学习这个难题。
在本教程中,您将了解如何使用LSTM解决添加随机生成的整数序列的问题。
......@@ -1060,7 +1060,7 @@ Expected=12, Predicted=12
## 摘要
在本教程中,您了解了如何开发LSTM网络以了解如何使用seq2seq堆叠LSTM范例将随机整数添加到一起。
在本教程中,您了解了如何开发LSTM网络以了解如何使用seq2seq栈式LSTM范例将随机整数添加到一起。
具体来说,你学到了:
......
......@@ -85,7 +85,7 @@ LSTM迷你课程概述
### 楷模
* **第05课**:如何开发香草LSTMs
* **第06课**:如何开发堆叠式LSTM
* **第06课**:如何开发式LSTM
* **第07课**:如何开发CNN LSTM
* **第08课**:如何开发编解码器LSTM
* **第09课**:如何开发双向LSTM
......@@ -230,7 +230,7 @@ LSTM迷你课程概述
* [用Keras](http://machinelearningmastery.com/time-series-prediction-lstm-recurrent-neural-networks-python-keras/) 用Python中的LSTM循环神经网络进行时间序列预测
* [Python中长期短期记忆网络的时间序列预测](http://machinelearningmastery.com/time-series-forecasting-long-short-term-memory-network-python/)
## 第6课:如何开发堆叠LSTM
## 第6课:如何开发栈式LSTM
### Goal
......@@ -240,13 +240,13 @@ LSTM迷你课程概述
* 在层次结构的序列问题上使用香草LSTM有什么困难?
* 堆叠的LSTM是什么?
* 什么是堆叠LSTM应用于何处的示例?
* 堆叠式LSTM提供哪些好处?
* 如何在Keras中实现堆叠LSTM?
* 什么是栈式LSTM应用于何处的示例?
* 式LSTM提供哪些好处?
* 如何在Keras中实现栈式LSTM?
### Experiment
设计并执行一个实验,演示具有分层输入结构的序列预测问题的堆叠LSTM。
设计并执行一个实验,演示具有分层输入结构的序列预测问题的栈式LSTM。
### Further Reading
......
# LSTM自编码器的温和介绍
# LSTM自编码器的温和介绍
> 原文: [https://machinelearningmastery.com/lstm-autoencoders/](https://machinelearningmastery.com/lstm-autoencoders/)
LSTM自动编码器是使用编解码器LSTM架构的用于序列数据的自动编码器的实现。
LSTM自编码器是使用编解码器LSTM架构的用于序列数据的自编码器的实现。
一旦拟合,模型的编码器部分可用于编码或压缩序列数据,而序列数据又可用于数据可视化或作为监督学习模型的特征向量输入。
......@@ -10,31 +10,31 @@ LSTM自动编码器是使用编解码器LSTM架构的用于序列数据的自动
阅读这篇文章后,你会知道:
*编码器是一种自我监督的学习模型,可以学习输入数据的压缩表示。
* LSTM自编码器可以学习序列数据的压缩表示,并且已经用于视频,文本,音频和时间序列序列数据。
* 自编码器是一种自我监督的学习模型,可以学习输入数据的压缩表示。
* LSTM自编码器可以学习序列数据的压缩表示,并且已经用于视频,文本,音频和时间序列序列数据。
* 如何使用Keras深度学习库在Python中开发LSTM Autoencoder模型。
让我们开始吧。
![A Gentle Introduction to LSTM Autoencoders](img/a1145896d29c99171989ea64360abd88.jpg)
LSTM自编码器
LSTM自编码器
的温和介绍 [Ken Lund](https://www.flickr.com/photos/kenlund/2379512850/) 的照片,保留一些权利。
## 概观
这篇文章分为六个部分;他们是:
1. 什么是自编码器?
1. 什么是自编码器?
2. 序列问题
3. 编解码器LSTM模型
4. 什么是LSTM自编码器?
5. LSTM自编码器的早期应用
6. 如何在Keras中创建LSTM自编码器
4. 什么是LSTM自编码器?
5. LSTM自编码器的早期应用
6. 如何在Keras中创建LSTM自编码器
## 什么是自编码器?
## 什么是自编码器?
[编码器](https://en.wikipedia.org/wiki/Autoencoder)是一种神经网络模型,旨在学习输入的压缩表示。
[自编码器](https://en.wikipedia.org/wiki/Autoencoder)是一种神经网络模型,旨在学习输入的压缩表示。
它们是一种无监督的学习方法,尽管从技术上讲,它们是使用有监督的学习方法训练的,称为自我监督。它们通常作为试图重新创建输入的更广泛模型的一部分进行训练。
......@@ -44,9 +44,9 @@ LSTM自动编码器
X = model.predict(X)
```
编码器模型的设计有目的地通过将架构限制在模型的中点处的瓶颈来实现这种挑战,从中执行输入数据的重建。
自编码器模型的设计有目的地通过将架构限制在模型的中点处的瓶颈来实现这种挑战,从中执行输入数据的重建。
有许多类型的自编码器,它们的使用各不相同,但更常见的用途可能是学习或自动特征提取模型。
有许多类型的自编码器,它们的使用各不相同,但更常见的用途可能是学习或自动特征提取模型。
在这种情况下,一旦模型拟合,就可以丢弃模型的重建方面,并且可以使用直到瓶颈点的模型。瓶颈处的模型输出是固定长度向量,其提供输入数据的压缩表示。
......@@ -82,9 +82,9 @@ LSTM网络可以组织成称为编解码器LSTM的架构,该架构允许该模
* [编解码器长短期记忆网络](https://machinelearningmastery.com/encoder-decoder-long-short-term-memory-networks/)
## 什么是LSTM自编码器?
## 什么是LSTM自编码器?
LSTM自动编码器是使用编解码器LSTM架构的用于序列数据的自动编码器的实现。
LSTM自编码器是使用编解码器LSTM架构的用于序列数据的自编码器的实现。
对于给定的序列数据集,编解码器LSTM被配置为读取输入序列,对其进行编码,对其进行解码并重新创建它。基于模型重新创建输入序列的能力来评估模型的表现。
......@@ -92,13 +92,13 @@ LSTM自动编码器是使用编解码器LSTM架构的用于序列数据的自动
然后,所得到的向量可以用于各种应用中,尤其是作为序列的压缩表示,作为另一个监督学习模型的输入。
## LSTM自编码器的早期应用
## LSTM自编码器的早期应用
LSTM Autoencoder的早期和广泛引用的应用之一是在2015年的论文“[使用LSTM的视频表示的无监督学习](https://arxiv.org/abs/1502.04681)”。
![LSTM Autoencoder Model](img/88127e694b4a784f9ad9742b19e19fcc.jpg)
LSTM自编码器模型
LSTM自编码器模型
取自“使用LSTM的无监督学习视频表示”
在论文中,Nitish Srivastava等人。将LSTM Autoencoder描述为编解码器LSTM的扩展或应用。
......@@ -123,7 +123,7 @@ LSTM自动编码器模型
- [使用LSTM的视频表示的无监督学习](https://arxiv.org/abs/1502.04681),2015。
还研究了更精细的自编码器模型,其中两个解码器模型用于一个编码器:一个用于预测序列中的下一帧,一个用于重建序列中的帧,称为复合模型。
还研究了更精细的自编码器模型,其中两个解码器模型用于一个编码器:一个用于预测序列中的下一帧,一个用于重建序列中的帧,称为复合模型。
> ...重建输入和预测未来可以组合起来创建一个复合[...]。在这里,编码器LSTM被要求提出一种状态,我们既可以预测接下来的几帧,也可以重建输入。
......@@ -131,7 +131,7 @@ LSTM自动编码器模型
![LSTM Autoencoder Model With Two Decoders](img/7979859a410719d5f2f8c0ef347fe9fd.jpg)
具有两个解码器的LSTM自编码器模型
具有两个解码器的LSTM自编码器模型
取自“使用LSTM的视频表示的无监督学习”
模型以多种方式进行评估,包括使用编码器来播种分类器。看来,不是使用编码器的输出作为分类输入,而是选择直接使用编码器模型的权重为独立的LSTM分类器播种。鉴于实施的复杂性,这是令人惊讶的。
......@@ -142,21 +142,21 @@ LSTM自动编码器模型
发现在解码器上没有调节的复合模型在他们的实验中表现最佳。
> 表现最佳的模型是组合自编码器和未来预测器的复合模型。条件变量在微调后的分类准确度方面没有给出任何显着的改进,但是它们确实给出了略低的预测误差。
> 表现最佳的模型是组合自编码器和未来预测器的复合模型。条件变量在微调后的分类准确度方面没有给出任何显着的改进,但是它们确实给出了略低的预测误差。
- [使用LSTM的视频表示的无监督学习](https://arxiv.org/abs/1502.04681),2015。
已经演示了LSTM自编码器的许多其他应用,尤其是文本序列,音频数据和时间序列。
已经演示了LSTM自编码器的许多其他应用,尤其是文本序列,音频数据和时间序列。
## 如何在Keras中创建LSTM自编码器
## 如何在Keras中创建LSTM自编码器
在Keras中创建LSTM自编码器可以通过实现编解码器LSTM架构并配置模型来重新创建输入序列来实现。
在Keras中创建LSTM自编码器可以通过实现编解码器LSTM架构并配置模型来重新创建输入序列来实现。
让我们看几个例子来说明这一点。
### 重建LSTM自编码器
### 重建LSTM自编码器
最简单的LSTM自动编码器是学习重建每个输入序列的自动编码器。
最简单的LSTM自编码器是学习重建每个输入序列的自编码器。
对于这些演示,我们将使用九个时间步骤和一个特征的一个样本的数据集:
......@@ -226,7 +226,7 @@ yhat = model.predict(sequence, verbose=0)
print(yhat[0,:,0])
```
运行该示例适合自编码器并打印重建的输入序列。
运行该示例适合自编码器并打印重建的输入序列。
结果足够接近,非常小的舍入误差。
......@@ -239,9 +239,9 @@ print(yhat[0,:,0])
![LSTM Autoencoder for Sequence Reconstruction](img/5c47ad60098371eb69ae603fe30ad184.jpg)
用于序列重建的LSTM自编码器
用于序列重建的LSTM自编码器
### 预测LSTM自编码器
### 预测LSTM自编码器
我们可以修改重建LSTM Autoencoder来预测序列中的下一步。
......@@ -309,11 +309,11 @@ print(yhat[0,:,0])
![LSTM Autoencoder for Sequence Prediction](img/bd8570b95f40c8577397e53902062617.jpg)
用于序列预测的LSTM自编码器
用于序列预测的LSTM自编码器
### 复合LSTM自编码器
### 复合LSTM自编码器
最后,我们可以创建一个复合LSTM自编码器,它具有一个编码器和两个解码器,一个用于重建,另一个用于预测。
最后,我们可以创建一个复合LSTM自编码器,它具有一个编码器和两个解码器,一个用于重建,另一个用于预测。
我们可以使用功能API在Keras中实现这个多输出模型。您可以在此帖子中了解有关功能API的更多信息:
......@@ -421,7 +421,7 @@ array([[[0.16298929],
![Composite LSTM Autoencoder for Sequence Reconstruction and Prediction](img/03ca4b90546e7dde0560ddc2d03a5cf7.jpg)
用于序列重建和预测的复合LSTM自编码器
用于序列重建和预测的复合LSTM自编码器
### 保留独立LSTM编码器
......@@ -436,7 +436,7 @@ array([[[0.16298929],
model = Model(inputs=model.inputs, outputs=model.layers[0].output)
```
下面列出了使用重建LSTM自编码器执行此操作的完整示例。
下面列出了使用重建LSTM自编码器执行此操作的完整示例。
```py
# lstm autoencoder recreate sequence
......@@ -509,11 +509,11 @@ print(yhat)
* [用序列做出预测](https://machinelearningmastery.com/sequence-prediction/)
* [编解码器长短期记忆网络](https://machinelearningmastery.com/encoder-decoder-long-short-term-memory-networks/)
* [编码器,维基百科](https://en.wikipedia.org/wiki/Autoencoder)
* [自编码器,维基百科](https://en.wikipedia.org/wiki/Autoencoder)
* [使用LSTM进行视频表示的无监督学习](https://arxiv.org/abs/1502.04681),ArXiv 2015。
* [使用LSTM进行视频表示的无监督学习](http://proceedings.mlr.press/v37/srivastava15.pdf),PMLR,PDF,2015。
* [使用LSTM](https://github.com/emansim/unsupervised-videos) ,GitHub存储库进行视频表示的无监督学习。
* [在Keras建立自编码器](https://blog.keras.io/building-autoencoders-in-keras.html),2016年。
* [在Keras建立自编码器](https://blog.keras.io/building-autoencoders-in-keras.html),2016年。
* [如何使用Keras功能API进行深度学习](https://machinelearningmastery.com/keras-functional-api-deep-learning/)
## 摘要
......@@ -522,8 +522,8 @@ print(yhat)
具体来说,你学到了:
*编码器是一种自我监督的学习模型,可以学习输入数据的压缩表示。
* LSTM自编码器可以学习序列数据的压缩表示,并且已经用于视频,文本,音频和时间序列序列数据。
* 自编码器是一种自我监督的学习模型,可以学习输入数据的压缩表示。
* LSTM自编码器可以学习序列数据的压缩表示,并且已经用于视频,文本,音频和时间序列序列数据。
* 如何使用Keras深度学习库在Python中开发LSTM Autoencoder模型。
你有任何问题吗?
......
# 如何用Keras中的长短期记忆模型做出预测
# 如何在Keras中用长短期记忆模型做出预测
> 原文: [https://machinelearningmastery.com/make-predictions-long-short-term-memory-models-keras/](https://machinelearningmastery.com/make-predictions-long-short-term-memory-models-keras/)
......
# 使用Python中的长短期记忆网络演示内存
# 在Python中使用长短期记忆网络演示记忆
> 原文: [https://machinelearningmastery.com/memory-in-a-long-short-term-memory-network/](https://machinelearningmastery.com/memory-in-a-long-short-term-memory-network/)
......@@ -12,7 +12,7 @@
完成本教程后,您将了解:
* 如何定义一个小序列预测问题,只有像LSTM这样的RNN可以使用内存来解决。
* 如何定义一个小序列预测问题,只有像LSTM这样的RNN可以使用记忆来解决。
* 如何转换问题表示,使其适合LSTM学习。
* 如何设计LSTM来正确解决问题。
......@@ -452,7 +452,7 @@ X=2.0 y=4.0, yhat=4.0
具体来说,你学到了:
* 如何定义一个小序列预测问题,只有像LSTM这样的RNN可以使用内存来解决。
* 如何定义一个小序列预测问题,只有像LSTM这样的RNN可以使用记忆来解决。
* 如何转换问题表示,使其适合LSTM学习。
* 如何设计LSTM来正确解决问题。
......
# 如何重塑Keras中长短期存储网络的输入数据
# 如何在Keras中重塑长短期存储网络的输入数据
> 原文: [https://machinelearningmastery.com/reshape-in​​put-data-long-short-term-memory-networks-keras/](https://machinelearningmastery.com/reshape-input-data-long-short-term-memory-networks-keras/)
......
......@@ -126,7 +126,7 @@ print(model.predict(data))
[-0.11457888]]]
```
堆叠LSTM层时必须设置 _return_sequences = True_ ,以便第二个LSTM层具有三维序列输入。有关更多详细信息,请参阅帖子:
栈式LSTM层时必须设置 _return_sequences = True_ ,以便第二个LSTM层具有三维序列输入。有关更多详细信息,请参阅帖子:
* [堆叠长短期记忆网络](https://machinelearningmastery.com/stacked-long-short-term-memory-networks/)
......
# 5学习LSTM循环神经网络的简单序列预测问题的例子
# 5个使用LSTM循环神经网络的简单序列预测问题的示例
> 原文: [https://machinelearningmastery.com/sequence-prediction-problems-learning-lstm-recurrent-neural-networks/](https://machinelearningmastery.com/sequence-prediction-problems-learning-lstm-recurrent-neural-networks/)
......
# 堆叠长短期记忆网络
# 栈式长短期记忆网络
> 原文: [https://machinelearningmastery.com/stacked-long-short-term-memory-networks/](https://machinelearningmastery.com/stacked-long-short-term-memory-networks/)
......@@ -15,7 +15,7 @@ Stacked LSTM是此模型的扩展,具有多个隐藏的LSTM层,其中每个
* 深度神经网络架构的好处。
* Stacked LSTM循环神经网络架构。
* 如何使用Keras在Python中实现堆叠LSTM。
* 如何使用Keras在Python中实现栈式LSTM。
让我们开始吧。
......@@ -29,12 +29,12 @@ Stacked LSTM是此模型的扩展,具有多个隐藏的LSTM层,其中每个
这篇文章分为3个部分,它们是:
1. 为什么要增加深度?
2. 堆叠式LSTM架构
3. 在Keras中实现堆叠LSTM
2. 式LSTM架构
3. 在Keras中实现栈式LSTM
## 为什么要增加深度?
堆叠LSTM隐藏层使得模型更深入,更准确地将描述作为深度学习技术获得。
栈式LSTM隐藏层使得模型更深入,更准确地将描述作为深度学习技术获得。
神经网络的深度通常归因于该方法在广泛的挑战性预测问题上的成功。
......@@ -50,7 +50,7 @@ Stacked LSTM是此模型的扩展,具有多个隐藏的LSTM层,其中每个
- [如何构建深度循环神经网络](https://arxiv.org/abs/1312.6026),2013。
## 堆叠式LSTM架构
## 式LSTM架构
LSTM可以利用相同的好处。
......@@ -68,13 +68,13 @@ Graves等人介绍了堆叠的LSTM或深LSTM。在将LSTM应用于语音识别
在同样的工作中,他们发现网络的深度比给定层中的存储器单元的数量更重要。
堆叠式LSTM现在是用于挑战序列预测问题的稳定技术。堆叠LSTM架构可以定义为由多个LSTM层组成的LSTM模型。上面的LSTM层提供序列输出而不是单个值输出到下面的LSTM层。具体地说,每个输入时间步长一个输出,而不是所有输入时间步长的一个输出时间步长。
栈式LSTM现在是用于挑战序列预测问题的稳定技术。栈式LSTM架构可以定义为由多个LSTM层组成的LSTM模型。上面的LSTM层提供序列输出而不是单个值输出到下面的LSTM层。具体地说,每个输入时间步长一个输出,而不是所有输入时间步长的一个输出时间步长。
![Stacked Long Short-Term Memory Archiecture](img/18919d3d5e8e3ef675e8f630308fa156.jpg)
堆叠长短期内存架构
## 在Keras中实现堆叠LSTM
## 在Keras中实现栈式LSTM
我们可以在Keras Python深度学习库中轻松创建Stacked LSTM模型
......@@ -103,7 +103,7 @@ print(model.predict(data))
[[ 0.00031043]]
```
堆叠LSTM层,我们需要更改先前LSTM层的配置,以输出3D数组作为后续层的输入。
栈式LSTM层,我们需要更改先前LSTM层的配置,以输出3D数组作为后续层的输入。
我们可以通过将层上的return_sequences参数设置为True(默认为False)来完成此操作。这将为每个输入时间步返回一个输出并提供3D数组。
以下是与return_sequences = True相同的例子。
......@@ -168,7 +168,7 @@ model.add(Dense(...))
* 深度神经网络架构的好处。
* Stacked LSTM循环神经网络架构。
* 如何使用Keras在Python中实现堆叠LSTM。
* 如何使用Keras在Python中实现栈式LSTM。
你有任何问题吗?
在下面的评论中提出您的问题,我会尽力回答。
\ No newline at end of file
# 什么是教师强制循环神经网络
# 什么是循环神经网络的教师强制
> 原文: [https://machinelearningmastery.com/teacher-forcing-for-recurrent-neural-networks/](https://machinelearningmastery.com/teacher-forcing-for-recurrent-neural-networks/)
......
# 如何在Python中使用TimeDistributed Layer for Long Short-Term Memory Networks
# 如何在Python中对长短期记忆网络使用`TimeDistributed`层
> 原文: [https://machinelearningmastery.com/timedistributed-layer-for-long-short-term-memory-networks-in-python/](https://machinelearningmastery.com/timedistributed-layer-for-long-short-term-memory-networks-in-python/)
......
# 如何准备Keras中截断反向传播的序列预测
# 如何在Keras中为截断BPTT准备序列预测
> 原文: [https://machinelearningmastery.com/truncated-backpropagation-through-time-in-keras/](https://machinelearningmastery.com/truncated-backpropagation-through-time-in-keras/)
......
# 如何在使用LSTM进行训练和预测时使用不同的批量大小
# 如何在将LSTM用于训练和预测时使用不同的批量大小
> 原文: [https://machinelearningmastery.com/use-different-batch-sizes-training-predicting-python-keras/](https://machinelearningmastery.com/use-different-batch-sizes-training-predicting-python-keras/)
......
......@@ -216,7 +216,7 @@ Example problems are classification and regression.
* 深玻尔兹曼机(DBM)
* 深信仰网络(DBN)
* 卷积神经网络(CNN)
* 堆叠式自动编码器
* 栈式自编码器
### 降维算法
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册