- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在正弦波上训练 LSTM 非常简单。 LSTM 很容易理解如何预测 future 数百个时间步长的波浪。
但是,一旦我尝试让 LSTM 预测不同频率的正弦波,它就会变得非常无能。即使我尝试在许多不同频率的波上训练它,它也会忘记第一波来学习下一波。当我更改测试数据的频率时,我的 LSTM 如何失败的示例:
如何训练我的 LSTM 以识别频率的概念并处理任何正弦曲线?
编辑:
我使用的模型:
inputs = Input(shape=(self.timesteps, self.features))
bd_seq = Bidirectional(LSTM(128, return_sequences=True,
kernel_regularizer='l2'),
merge_mode='sum')(inputs)
bd_sin = Bidirectional(LSTM(32, return_sequences=True,
kernel_regularizer='l2'),
merge_mode='sum')(bd_seq)
bd_1 = Bidirectional(LSTM(self.features, activation='linear'),
merge_mode='sum')(bd_seq)
bd_2 = Bidirectional(LSTM(self.features, activation='tanh'),
merge_mode='sum')(bd_sin)
output = Add()([bd_1, bd_2])
self.model = Model(inputs=inputs, outputs=output)
最佳答案
"...it forgets the first wave to learn the next one..."
这让我想……你是在训练一个序列,然后是另一个序列,然后是另一个序列?
对于任何模型的任何类型的问题,这自然会失败。
您必须在同一批处理中训练大量序列,或者,如果一次训练一个序列,则每个时期不得超过一次。
freqs = list_of_frequencies
sinusoids = []
for freq in freqs:
sinusoids.append(create_a_sinusoid(freq))
training_data = np.array(sinusoids).reshape((freqs,timesteps,features))
可能有助于模型的技巧:
关于python - 教授 LSTM 不同频率的概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49956945/
在正弦波上训练 LSTM 非常简单。 LSTM 很容易理解如何预测 future 数百个时间步长的波浪。 但是,一旦我尝试让 LSTM 预测不同频率的正弦波,它就会变得非常无能。即使我尝试在许多不同频
我明天必须参加一个关于 ruby 的小型介绍性演讲,我想避免采用枯燥的幻灯片演示方式,而是亲自动手。目标是向人们介绍 ruby,实际上只是基本概念。 我打算从 Why's Poignant G
我刚刚说服了我正在类的两个队友开始使用 Mercurial。几年前我学会了它时,我刚刚阅读了 main site ,在 IRC 上提问,并用它来弄明白。但是,鉴于类(class)的节奏,我认为他们中的
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 12 年前关闭。 Improve this
我想在医学环境中的 Modelica 模型中使用非 SI 单位。我在 Dymola 中使用 Modelica。作为一名工程师,我更喜欢 SI 单位。但是我的模型参数来自医学出版物,我想避免转换错误。医
我想让业务分析师能够使用 Gherkin 编写对 Cucumber 友好的功能、场景和步骤的所有规范。 我已经在 GitHub 网站上阅读了 Cucumber 的一些基本信息,并通过快速 Google
我是一个非常优秀的程序员(当然,仅 IMO。了解 Python、Java。尝试过 Lisp、Ruby、Haskell)。我也知道如何合理地使用 Jquery,所以我知道 Dom 操作。 我想要一本关于
我正在尝试用 Java 构建一个用于矩阵乘法的并行程序。我通过使用多线程取得了成功,并且我的程序执行得非常快。 但是,我花了一整天的时间来设计代码。 因此,我搜索了一个可以轻松构建并行程序的库,因为
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 9 年前。 Improve
由于我对单个项目有很多配置,所以我想稍微清理一下 .csproj。 我使用 Conditional ItemGroup 将所有配置定义移动到单个文件,并将它们导入 .csproj 中: 除了一件事,
我是一名优秀的程序员,十分优秀!