目前,Ludwig为组合模块内的各个组件定义了单独的dropout参数。例如,StackedCNNRNN
模块需要4个不同的dropout参数:
- conv_dropout:卷积层的dropout率
- recurrent_dropout:循环层的dropout率
- dropout:序列嵌入的dropout率
- fc_dropout:最终全连接输出层的dropout率。
虽然这种表达能力很强,但这似乎是一种过度可配置性——在文献中没有太多证据表明在整个模型中使用异质dropout率可以带来很多好处。另一方面,将所有模块统一为使用单个dropout参数似乎更能达到平衡。
1条答案
按热度按时间pjngdqdw1#
从简单性的Angular 来看,拥有一个全局的dropout参数是很好的。然而,如果用户有特定的用例(例如重现某些论文的结果),我们不应该限制他们。也许我们可以将其结构化类似于预处理的方式,让用户可以选择每个特征的预处理参数,或者选择所有特征(给定类型)使用的全局预处理参数。
在dropout的情况下,我们允许人们为每个ECD组件设置dropout参数,同时还暴露一些全局dropout参数,这些参数会自动为所有组件设置dropout参数。