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,等于又增加了一维。
我使用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是时间间隔。
最后一行加上 d2l.plt.show()
我觉得大概是老师试了一堆值之后发现epoch=5效果最好吧
这节的习题有点摸不清头脑,看了一下英文版,1.1的翻译感觉有点问题,感觉应该翻译为“试试将输入改为超过的4个观察值?您真正需要多少个?”
想知道公式8.1.4中的Xt是不是作为一个划分?实现时是不是将所有X[t+1],X[t-1]之间的项统计出来才可以计算?
hxd真的帮大忙了,我看的也是一头雾水
多谢抛砖引玉。但感觉还不够,就算在噪声情况下也可以写一个泰勒公式来,但此时为什么不是依赖前一个时间步即可?感觉还要对sin(t_1)项展开,此时若果涉及t_2项的结果远小于t_1项的结果时,才可以认定主要与前一个时间步相关。
for i in range(tau):
features[:, i] = x[i: T - tau + i]
强烈认为这里T - tau + i应改为T-tau-1+i.不然feature有997个样本而不是996个。/(ㄒoㄒ)/~~求回复!!!
试过改成T-tau-1+i代码会报错哦,因为切片操作x[i: T - tau + i]是从i取到T - tau + i的上一个位置,所以并不需要减1喔