tensorflow - Tensorflow Projected Gradient Descent with Box Constraints using native Optimizer's apply_gradients
问题描述
假设我们的模型参数w具有框约束(例如 0 < w_i < 1)。当我使用 tf.optimizer (egADAMOptimizer) 的子类进行优化时,如何在 Tensorflow 中实现投影梯度下降并尊重这些约束?
解决方案
在tf.get_variable中有一个约束参数,我想您可以使用它对权重变量进行框约束,使用 tf.clip_by_value作为投影函数。
约束:一个可选的投影函数,在被优化器更新后应用于变量(例如,用于实现层权重的范数约束或值约束)。该函数必须将表示变量值的未投影张量作为输入,并返回投影值的张量(必须具有相同的形状)。在进行异步分布式训练时使用约束是不安全的。
推荐阅读
- c - C中的类型转换查询
- machine-learning - 如何从经过训练的连续发射隐马尔可夫模型生成模拟数据
- javascript - 在节点模块中将 React 应用程序与 Parcel 捆绑在一起
- ruby-on-rails - 运行 rails g rspec 时出错:在 AWS cloud9 终端中安装
- javascript - 分页时数据表每页增加行数
- reactjs - 在 Axios 请求后,我的 React 状态仍然为空
- debugging - 如何调试 libcurl 以解决 IMAP 问题
- webpack - Gatsby:部署到 netlify 时“无法读取未定义的属性‘拆分’”
- python - (Python Numpy)如何从给定的 2D 数组创建新的 3D 数组?
- sql - 分区键的第一个键可以是集群键吗?