我正在尝试按照 Keras 中的建议实现判别条件代码
薛少飞等人,“基于判别码的深度神经网络快速适应语音识别”。
主要思想是将每个条件编码为输入参数,并让网络学习条件和特征标签映射之间的依赖关系。在新的数据集上,您只需使用反向传播调整这些权重,而不是调整整个网络。例如,假设我的网络如下所示
X ---->|----|
|DNN |----> Y
Z --- >|----|
Run Code Online (Sandbox Code Playgroud)
X:特征Y:标签Z:条件代码
现在,给定一个预训练的 DNN,并且X'在Y'一个新数据集上,我尝试估计Z'使用反向传播,这将最大限度地减少 的预测误差Y'。数学看起来很简单,但我不确定如何在无法访问反向传播本身的情况下在 keras 中实现这一点。
例如,我可以添加一个带有 trainable=True 的 Input() 层,并将所有其他层设置为 trainable=False。keras 中的反向传播可以更新的不仅仅是层权重吗?或者有没有办法破解 keras 层来做到这一点?
欢迎任何建议。谢谢