python - 在 keras 中创建自定义的“不可微分”激活函数
问题描述
是否可以创建表单的自定义激活函数:
def newactivation(x):
if x <= -1:
return -1
elif x > -1 and x <= 1
return x
else :
return 1
所以基本上它是tanh(x)的线性化版本。
优化过程中是否存在问题,该函数在 -1 和 1 处有两个不可微分的位置?
我怎么能实现这个?
解决方案
使用剪辑功能很容易实现:
import keras.backend as K
def activation(x):
return K.clip(x, -1.0, 1.0)
由于梯度永远不会爆炸,这应该不是问题,这个函数的形状类似于 ReLU。
推荐阅读
- python - 使用 pytorch 数据加载器的开始和结束在 zarr 数组上创建生成器
- c# - 自定义控件动态更新文本属性
- android - 一次 EditText 单击后显示 DatePickerDialog 和 TimePickerDialog
- javascript - foreach 不适用于由 getElementsByTagName 创建的数组
- outlook - Outlook App 不尊重 autodiscover.xml 文件来配置邮箱(iOS 和 Android)
- c - Wireshark 未从环回 IP 捕获 HTTP 响应/请求
- sql - ORA-00936 尝试使用 EVALUATE 时
- javascript - TypeError:未定义不是一个对象(评估'details.date.getTime')
- java - 从 Oracle 获取生成的密钥到 Java
- powershell - 通过 PowerShell 为 iis 更改物理路径