gpt4 book ai didi

java - 如何通过 dl4j 正确使用我的神经网络?

转载 作者:行者123 更新时间:2023-12-02 09:02:15 25 4
gpt4 key购买 nike

我的问题:

我使用 deeplearning4j 实现了前馈模型和循环模型来检测一维信号中的异常情况。也许我缺少一个抽象,但我认为我可以通过以下方式解决这个问题:

  1. 预处理数据。我有 5 个不同的故障类别,每个类别都有大约 40 个示例。每个失败都有自己的“结构”。
  2. 构建一个具有 5 个输出神经元的神经网络,每次失败都有一个输出神经元。
  3. 培训和评估。
  4. 现在我想用真实数据测试我的网络,它应该检测很长的一维中的异常信号。这个想法是,网络应该以某种方式“迭代”信号并检测这些故障在里面。

这种方法可行吗?你有什么想法吗?

提前致谢!

最佳答案

这取决于这些缺陷的结构。

鉴于您有一个一维信号,我希望您的示例是一系列数据,它实际上是连续信号的窗口。

有多种方法可以模拟该问题:

滑动窗口

如果所有示例都具有相同的长度,则此方法有效。在这种情况下,您可以创建一个普通的前馈网络,该网络仅采用固定数量的步骤作为输入并返回单个分类。

如果你的真实数据没有足够的数据,你可以填充它,如果它的数据多于示例长度,那么你滑过序列(例如,窗口大小为2,序列abcd变成[ ab]、[bc]、[cd],您将得到 3 个分类)。

据我所知,DL4J 中没有任何现成的东西可以实现此解决方案。但另一方面,使用 RecordConverter.toRecordRecordConverter.toArray 将真实数据转换为 NDArray 来实现它应该不会太难。

循环网络

使用循环网络,您可以将神经网络应用于任意长度的序列数据。如果您要查找的故障在信号中可能具有不同的长度,那么这可能是您的选择。

循环网络可以有一个内部状态,在推理过程中每次调用时都会更新,并且它将在信号的每一步之后生成一个分类。

什么解决方案适合您,完全取决于您的实际具体用例。

关于java - 如何通过 dl4j 正确使用我的神经网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60077386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com