忽略深度学习错误!

SabaRGSabaRG 成员职位:13因素二世
2022年5月编辑 帮助
不幸的是,深度学习模块不能发送它的异常温柔,它失败了整个过程,所以,我不能在优化算子如网格搜索中使用它,因为整个过程会因配置错误而失败!

此外,由于深度学习层的各种架构和配置,它的错误不清楚,我不明白我应该如何解决这个问题,通常没有文档或类似的案例。


答案

  • David_ADavid_A 管理员、版主、员工、RMResearcher、会员职位:296RM研究
    亲爱的@SabaRG

    感谢您指出这一点,我们将在未来努力改进错误处理,并尽可能提供更好的解释。
    你能解释一下你试图优化的是什么吗?为了找到实际的问题,如果你能分享完整的过程或屏幕截图中显示的完整错误信息,那就太好了。

    最好的
    大卫
  • SabaRGSabaRG 成员职位:13因素二世
    亲爱的@David_A
    非常感谢您的关注。

    我写了一次答案,但我的浏览器关闭了(因为在Rapidminer运行期间内存低)微笑:),所以,我再解释一遍中性:

    我通常使用网格优化(GO)并将交叉验证操作符(CVO)放在其中。然后,我将在CVO中放入像决策树(DT)或深度学习(DL)这样的机器学习算法。然后我配置GO来寻找最佳的超参数,特别是对于逻辑和多项式参数,如决策树算法中的准则参数。

    当我为DL执行上述任务时,我知道有些值(选项)像DT标准的最小二乘一样无效,但是我配置GO以忽略这些错误并且它不会使整个过程失败,但是在DL中,错误配置导致失败,并且它不会抛出错误。GO不能忽略DL错误,我认为这是因为糟糕的编码和处理错误在DL。例如,操作符工具箱扩展中的Try操作符也不能处理DL错误。

    如果你想知道为什么我有错误配置,这是另一个故事,如果有人能解决这个问题,这是非常好的:
    我正在建模一个时间序列的多类分类问题。我有两个问题与DL+tensorflow:

    1) DL+Tensorflow不能在多标签操作符(MLO)中使用,因为MLO不能接受Tensorflow数据作为输入,如果我将Tensorflow转换为示例集并在MLO中创建DL模型,输出模型与MLO具有不同的I/O, MLO不能接受输出模型!因此,我必须自己使用loop属性实现多标签操作符。请考虑为MLO解决这个问题(将其视为我的第二个bug #bug_report)。

    2)当我配置DL进行二进制分类时,似乎Tensorflow或DL将我的输入标签(true/false)转换为数字(0/1),并且DL想要使用回归而不是分类!因此,由于没有针对这些特殊情况的具体文档和教程,我更愿意配置GO以找到可以运行的最佳配置,并在下一步中找到具有更高性能的最佳参数。但是,正如我之前所说,深度学习不会在配置错误的情况下抛出异常,并使整个过程失败。我需要看到Tensorflow数据(至少是其中的一部分),但是这些操作符没有可视化(将其视为我的第三个bug #bug_report)。

    我还附加了我的过程,其中所有的过程都有一个训练和测试数据集,比如DL的教程示例集(在//Samples/Deep Learning/data/ICU Subsample training中),但我的数据集有一个多二进制标签:
    1- OptimizeModels-MultiLabel:使用GO和MLO,它们有第二个bug

    2- multilabel - manual:没有bug,它对我有效,但我需要优化它,它有一个逻辑问题,它将我的二进制标签转换为数字标签,我必须将最终预测转换为二进制标签,使用数字到二项式运算符。我不明白为什么哪个操作符将我的标签转换为数字,如果我有Tensorflow的可视化输出,我无法理解问题是来自“Timeseries到Tensorflow”操作符还是DL操作符?(第三个bug)

    3- OptimizeModels-MultiLabel-Manual:它包含GO +我的多标签处理手动实现,当我配置以各种参数运行过程时失败(第一个错误)。

    我真的很想帮助你进行bug分类,但我不知道如何在代码中找到这些问题(相关代码在哪里),而且我不熟悉你的架构、数据模型和逻辑。此外,许多问题都存在于扩展中。但是,我将尝试阅读Github上的RapidMiner源代码库,并尝试在将来帮助您。微笑:

    真诚
  • David_ADavid_A 管理员、版主、员工、RMResearcher、会员职位:296RM研究
    亲爱的@SabaRG

    非常感谢您非常详细的反馈。这样的描述对我们今后的改进是非常有价值的。

    我同意DL扩展的错误处理可以更好,我们将尝试捕获更多错误,特别是对于糟糕的配置。

    不幸的是,tensor_objects和常规的RapidMiner示例集并不完全兼容,所以很难确保所有的操作符都可以同时使用。对于具有张量的多变量时间序列,我们也计划在这里改进我们的选项,所以这应该不是一个问题。

    最好的问候,
    大卫
登录注册置评。