当前位置: 首页 > news >正文

2817网站网络营销师有前途吗

2817网站,网络营销师有前途吗,临沂市网站建设公司,关于建设网站业务系统的请示文章目录 RReLU函数导函数函数和导函数图像优缺点pytorch中的RReLU函数tensorflow 中的RReLU函数 RReLU 随机修正线性单元&#xff1a;Randomized Leaky ReLU 函数导函数 RReLU函数 R R e L U { x x ≥ 0 a x x < 0 \rm RReLU \left\{ \begin{array}{} x \quad x \ge 0…

文章目录

    • RReLU
      • 函数+导函数
      • 函数和导函数图像
      • 优缺点
      • pytorch中的RReLU函数
      • tensorflow 中的RReLU函数

RReLU

  • 随机修正线性单元:Randomized Leaky ReLU

函数+导函数

  • RReLU函数
    R R e L U = { x x ≥ 0 a x x < 0 \rm RReLU = \left\{ \begin{array}{} x \quad x \ge 0 \\ a x \quad x < 0 \end{array} \right. RReLU={xx0axx<0
    其中,( a ) 是一个在训练过程中随机从均匀分布 ( U(l, u) ) 中采样的值,( l ) 和 ( u ) 是预先设定的下界和上界,通常 ( 0 < l < u < 1 )。

  • RReLU函数导数
    d d x R R e L U = { 1 x ≥ 0 a x < 0 \frac{d}{dx} \rm RReLU = \left\{ \begin{array}{} 1 \quad x \ge 0 \\ a \quad x < 0 \end{array} \right. dxdRReLU={1x0ax<0
    在 RReLU 中,当 ( x < 0 ) 时,导数是一个随机变量 ( a ),这个随机变量在每次训练时都会从 ( U(l, u) ) 中重新采样。与 LeakyReLU 不同,RReLU 的斜率 ( a ) 是随机的,而不是固定的。


函数和导函数图像

  • 画图

    分为两张图了,上面是训练阶段,在训练阶段,负值部分的斜率P是随机从区间[lower, upper]中采样的。在测试阶段,负值部分的斜率P是区间[lower, upper]的平均值((lower + upper) / 2)

    import numpy as np
    from matplotlib import pyplot as plt# 定义 RReLU 函数
    def rrelu_train(x, lower=0.125, upper=0.333):P = np.random.uniform(lower, upper)  # 训练阶段:随机化负值部分的斜率return np.where(x < 0, P * x, x)def rrelu_test(x, lower=0.125, upper=0.333):P = (lower + upper) / 2  # 测试阶段:使用负值部分的平均斜率return np.where(x < 0, P * x, x)# 定义 RReLU 的导数
    def rrelu_derivative_train(x, lower=0.125, upper=0.333):P = np.random.uniform(lower, upper)  # 训练阶段:随机化负值部分的斜率return np.where(x < 0, P, 1)def rrelu_derivative_test(x, lower=0.125, upper=0.333):P = (lower + upper) / 2  # 测试阶段:使用负值部分的平均斜率return np.where(x < 0, P, 1)# 生成数据
    x = np.linspace(-2, 2, 1000)
    lower = 1/8  # 负值部分斜率的下限
    upper = 1/3  # 负值部分斜率的上限# 训练阶段
    y_train = [rrelu_train(xi, lower, upper) for xi in x]
    y1_train = [rrelu_derivative_train(xi, lower, upper) for xi in x]# 测试阶段
    y_test = [rrelu_test(xi, lower, upper) for xi in x]
    y1_test = [rrelu_derivative_test(xi, lower, upper) for xi in x]# 绘制图形
    fig, axs = plt.subplots(2, 1, figsize=(12, 12))# 训练阶段
    axs[0].plot(x, y_train, label='RReLU (Train)', color='blue')
    axs[0].plot(x, y1_train, label='Derivative (Train)', color='orange')
    axs[0].set_title(f'RReLU (Train) and Derivative (lower={lower}, upper={upper})')
    axs[0].legend(loc='upper left')
    axs[0].spines['right'].set_color('none')
    axs[0].spines['top'].set_color('none')
    axs[0].spines['bottom'].set_position(('data', 0))
    axs[0].spines['left'].set_position(('data', 0))# 测试阶段
    axs[1].plot(x, y_test, label='RReLU (Test)', color='blue', linestyle='--')
    axs[1].plot(x, y1_test, label='Derivative (Test)', color='orange', linestyle='--')
    axs[1].set_title(f'RReLU (Test) and Derivative (lower={lower}, upper={upper})')
    axs[1].legend(loc='upper left')
    axs[1].spines['right'].set_color('none')
    axs[1].spines['top'].set_color('none')
    axs[1].spines['bottom'].set_position(('data', 0))
    axs[1].spines['left'].set_position(('data', 0))plt.tight_layout()
    plt.show()
    

    image-20250205111957796


优缺点

  • RReLU函数相对于PeLU函数的改进
    1. RReLU函数和PReLU函数的表达式一样,但是参数 α \alpha α 不一样,这里的 α \alpha α 是个随机震荡的数,范围是 1 8 − 1 3 \frac{1}{8} - \frac{1}{3} 8131
    2. 负部分的斜率在训练中被随机化到给定的范围内,然后再测试中被固定。而PReLU训练中的斜率是训练出来的。
  • RReLU 的优点

    1. 缓解“死亡ReLU”问题:与ReLU不同,RReLU在负输入时引入了一个随机的斜率,这使得神经元不会因为负输入而完全失去梯度,从而避免了“死亡ReLU”问题。
    2. 增强梯度流:RReLU通过在负输入时提供一个非零梯度,有助于改善梯度消失问题,使得网络在训练过程中能够更好地更新权重。
    3. 增加模型的灵活性:RReLU的随机斜率在训练过程中可以动态调整,这增加了模型的灵活性和适应性,使其能够更好地处理复杂的模式。
    4. 提高模型的泛化能力:由于RReLU在训练时引入了随机性,这可以作为一种正则化手段,有助于提高模型的泛化能力。
  • RReLU 的缺点

    1. 计算复杂度增加:RReLU的随机斜率需要在每次训练时进行计算,这增加了计算复杂度和训练时间。
    2. 参数选择敏感:RReLU的随机斜率范围需要合理选择,如果选择不当,可能会导致模型训练不稳定。
    3. 测试时的确定性问题:在训练阶段,RReLU使用随机斜率,而在测试阶段,通常会使用一个固定的斜率(通常是训练阶段随机斜率的期望值)。这种从随机到确定性的转换可能会导致测试时的性能与训练时略有差异。
    4. 可能的过拟合风险:由于RReLU引入了额外的随机性,如果数据集较小或模型复杂度较高,可能会增加过拟合的风险。

pytorch中的RReLU函数

  • 代码

    这里仅仅演示训练阶段 α \alpha α 为随机值的时候

    l o w e r = 1 / 8 \mathrm lower = 1/8 lower=1/8

    u p p e r = 1 / 3 \mathrm upper = 1/3 upper=1/3

    # 定义 RReLU 函数
    f = torch.nn.RReLU(lower=0.125,upper=0.333)  # PyTorch 提供的 RReLU 激活函数模块
    x = torch.randn(2)    # 生成一个随机张量作为输入rrelu_x = f(x)        # 应用 RReLU 函数print(f"x: \n{x}")
    print(f"rrelu_x:\n{rrelu_x}")"""输出"""
    

tensorflow 中的RReLU函数

  • 代码

    python: 3.10.9

    tensorflow: 2.18.0

    rrelu并不是tensorflow标准库的一部分,为此我们实现一个RReLU函数,包含训练阶段和推理阶段

    这里仅仅演示训练阶段 α \alpha α 为随机值的时候

    l o w e r = 1 / 8 \mathrm lower = 1/8 lower=1/8

    u p p e r = 1 / 3 \mathrm upper = 1/3 upper=1/3

    import tensorflow as tfclass RReLU(tf.keras.layers.Layer):def __init__(self, lower=0.125, upper=0.333, **kwargs):super(RReLU, self).__init__(**kwargs)self.lower = lowerself.upper = upperdef call(self, inputs, training=None):if training:# 在训练模式下,随机选择一个斜率alpha = tf.random.uniform(shape=inputs.shape, minval=self.lower, maxval=self.upper)else:# 在推理模式下,使用平均斜率alpha = (self.lower + self.upper) / 2.0return tf.where(inputs >= 0, inputs, alpha * inputs)# 创建 RReLU 激活函数层
    rrelu = RReLU()# 生成随机输入
    x = tf.random.normal([2])# 应用 RReLU 激活函数
    rrelu_x = rrelu(x, training=True)print(f"x: \n{x}")
    print(f"rrelu_x:\n{rrelu_x}")"""输出"""
    x: 
    [-0.97807205  0.9327775 ]
    rrelu_x:
    [-0.26978785  0.9327775 ]
    

http://www.hkea.cn/news/484150/

相关文章:

  • 青海西宁网站建设公司百度网络推广
  • 服装公司网站设计百度站长收录入口
  • 做搜索关键词任务网站网站维护是什么意思
  • 2018什么做网站百度网盘网页版入口
  • 深圳福田大型商城网站建设石家庄最新疫情最新消息
  • 网站版面结构chatgpt 网站
  • 网站后期推广是谁来做广州百度推广开户
  • 不上此网站枉做男人免费制作网站平台
  • 防红短链接生成佛山抖音seo
  • 网站建设php带数据库模板站长工具四叶草
  • 做网站客户拖着不验收店铺推广渠道有哪些方式
  • 站群系统哪个好用怎样进行seo推广
  • 淄博网站建设方案网络推广是做什么的
  • 网站建设销售工作职责seo平台怎么样
  • 免费的网站给一个百度seo优化服务项目
  • 现代广告创意设计郑州百度网站优化排名
  • 兰州网站建设哪家专业谷歌seo网站推广
  • 崇信门户网站留言回复上优化seo
  • 网站建设费用有哪些站长工具搜索
  • 云主机能干什么独立站seo怎么做
  • 苏州专业网站建设设计公司免费发布推广信息的b2b
  • 空间 两个网站网络推广培训班
  • 零基础学做网站推广公司简介
  • 公司做网站最好引擎搜索器
  • 济南手工网站建设北京百度seo服务
  • 网站建设原创百度seo官网
  • 徐州企业网站建设衡阳seo服务
  • 网站自然排名优化seo专员是什么职业
  • 视频网站制作广告代理公司
  • wordpress主题域名授权密钥生成镇海seo关键词优化费用