序列模型

https://zh.d2l.ai/chapter_recurrent-neural-networks/sequence.html

你好, 不是很理解 为什么 李老师说 CNN也可以解决 NLP 问题,要用 cov1d 来做, 我看很多代码都是 用 2d做的。 应该 con2d 等于 {kneral size, embedding} 谢谢

李老师在视频里解释了,时序序列就相当于一个一维向量,对于一维向量,自然要用1d的卷积啊。图片是二维的,所以用2d的卷积。这就是直观的理解。至于你说con2d 等于 {kneral size, embedding},我觉得也对,等于在时间序列的维度之外,你还考虑每个时间点上的embedding,等于又增加了一维。

1 Like

我使用d2l.plot画图是时候,服务器回挂掉,有什么解决方法嘛?

问题解决了,加上os.environ[‘KMP_DUPLICATE_LIB_OK’]='True’就好了,虽然不是很明白原理

您好,请问这里 epoch=5 的设置有什么逻辑吗?我尝试过增加迭代次数,确实对提高预测性能没有太大帮助。但这一点是怎么提前看出来的呢?

在训练过程中应该是l.mean()而不是l.sum()这里有问题吧

我在conda里卸载重装了d2l这个环境后,好了

效果基本不变,只不过梯度更新步伐有差异,即便学习率相同。
在固定模型和学习率 η 的情况下,用 mean() 时,其梯度更新步伐大小为用 sum() 时的 1/batch_size 。

关于问题一(2),我的想法是,如果没有噪音只需要向前观察1个时间步就足够了。
经过修改tau,以及输入维度,在tau=1时候是可以取得很好的单步预测结果。
猜想是如果用泰勒展开一项,sin(t) = sin(t_1) + Δt * cos(t_1),那么只需要神经网络根据前一个时刻的输入sin(t_1)可以学习会cos(t_1)就可以预测出下一步的sin(t)的输出,t_1代表t的前一个时刻,delta t是时间间隔。

1 Like

最后一行加上 d2l.plt.show()