tensorflow - 光谱归一化是否应该作为密集层中的 kernel_regularizer 或 kernel_constraint 参数传递?
问题描述
我不太明白TensorFlow 2.0 中参数kernel_regularizer
和layer之间的区别。kernel_constraint
Dense
我正在尝试将频谱归一化应用于我的网络。两者有什么区别?
我的直觉告诉我 Spectral Norm 是一个约束。但是,如果我将它作为kernel_regularizer
参数传递,那会有什么不同呢?
解决方案
“我的直觉告诉我 Spectral Norm 是一个约束。但是如果我将它作为 kernel_regularizer 参数传递会有什么不同呢?”
你是对的。频谱归一化是一个约束。
这是正则化器和约束之间的区别:
在每个训练步骤,权重将传递给正则化函数以计算正则化损失,该损失将被添加到损失中以获得用于训练的最终损失。
尽管
在每个训练步骤之后都会调用约束函数,并且层的权重将被约束权重替换。
两者之间存在巨大差异,所以我认为使用光谱归一化作为正则化不会像它作为约束那样起作用。您可能想要创建自定义正则化函数来产生您想要实现的结果。
推荐阅读
- vhdl - VHDL 中的结构建模
- r - 当我尝试根据另一个数据框的列中的值对我的数据框进行子集化时出错
- javascript - Asp.net 谷歌地图标记
- node.js - 我收到一个参考错误,“在初始化之前无法访问‘成员’”
- android - 创建多个通知
- semantic-ui-react - Semantic UI React - 下拉菜单中的输入不允许空格
- javascript - JavaScript - 标签内的标签
- php - 尝试在 Prestashop 中使用 Mail 方法时尝试从全局命名空间调用函数“idn_to_ascii”
- python - 如何应用具有不同输入参数的相同函数在熊猫数据框中创建新列?
- python - 如何过滤元组列表并根据该选择打印出整个元组