【问题标题】:Changing Slope of Sigmoid Activation Function in Neural Network - MATLAB改变神经网络中 Sigmoid 激活函数的斜率 - MATLAB
【发布时间】:2020-04-18 01:51:09
【问题描述】:
我目前正在尝试确定一种方法,通过某个标量值调整 MATLAB 中神经网络内的 sigmoid 激活函数的斜率。例如,与使用 tanh(x) 不同,我将使用 tanh(3x) 作为我的激活函数(如果这看起来动机不佳,它是为了完成任务......)我知道我可以编写自定义激活函数通过修改文件夹“+tansig”中的 apply.m 文件来执行此操作,但我想知道是否可以通过简单地将标量值乘以 3 来绕过此步骤,作为网络中的附加“层”在应用激活函数之前出现。
【问题讨论】:
标签:
matlab
neural-network
activation-function
【解决方案1】:
不,您必须编写自己的激活函数@(x) logsig(3*x),但您可以一次将其分配给整个层。
术语“层”是指在网络中同样深的一组神经元。对单个神经元(一层内)的每个输入进行求和,并将结果输入激活函数。因此,在应用激活函数之前,您不能添加与原始输入相乘的输入。如果你想改变输入,你可以改变 bias 项,但它仍然是一个附加项。
请注意,激活函数的缩放通常不是必需的,因为学习的权重会自动调整。不过,如果这是一项任务,只需使用上面的匿名函数句柄快速解决。