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

工地招聘网站英文外贸商城网站设计

工地招聘网站,英文外贸商城网站设计,河南省新闻联播,django做网站效率高吗在这篇文章中,我们将探讨自我规则非单调激活函数——Mish在神经网络中的应用。了解Mish函数的工作原理,将有助于您在使用C IDE构建C应用程序时更加得心应手。 目录 神经网络中的激活函数是什么?能在C中创建激活函数吗?自我规则非…

在这篇文章中,我们将探讨自我规则非单调激活函数——Mish在神经网络中的应用。了解Mish函数的工作原理,将有助于您在使用C++ IDE构建C++应用程序时更加得心应手。

目录

  • 神经网络中的激活函数是什么?
  • 能在C++中创建激活函数吗?
  • 自我规则非单调(Mish)激活函数是什么?
  • 如何在C++中编写Mish激活函数?
  • 有没有一个简单的C++ ANN示例使用Mish激活函数?

神经网络中的激活函数是什么?

激活函数(phi()),也称为转移函数或阈值函数,它根据净输入函数的给定值(sum)确定激活值(a = phi(sum))。在这里,sum是它们权重中的信号之和,激活函数是这个和的新值,具有给定的函数或条件。换句话说,激活函数是将所有加权信号的和转换为该信号的新激活值的方法。有不同类型的激活函数,常用的包括线性(恒等)、双极性和逻辑(sigmoid)函数。

能在C++中创建激活函数吗?

在C++中(以及大多数编程语言),您可以创建自己的激活函数。注意,sum是净输入函数的结果,它计算所有加权信号的和。这里,人工神经元(输出值)的激活值可以通过激活函数如下所示,

通过使用这个sum净输入函数值和phi()激活函数,我们可以编写phi()函数。让我们看看C++中的一些激活函数;现在让我们看看如何使用Mish函数作为这个示例公式,

自我规则非单调(Mish)激活函数是什么?

自我规则非单调(Mish)激活函数是受Swish激活函数启发的平滑、连续、自我规则、非单调激活函数。这个函数由Diganta Misra在2019年发表的“Mish: A Self Regularized Non-Monotonic Activation Function”中提出。

https://i0.wp.com/learncplusplus.org/wp-content/uploads/2021/05/Mish-1024x633.png?resize=750%2C464&ssl=1 图片来源:Mish A Self Regularized Non Monotonic Activation Function by Diganta Misra 2019

根据这项研究,“Mish利用自我门控属性,其中非调制输入与输入的非线性函数的输出相乘。由于保留了少量的负信息,Mish通过设计消除了Dying ReLU现象所需的先决条件。这一特性有助于更好的表达性和信息流动。Mish无界,避免了饱和,这通常会因为梯度接近零而导致训练速度大幅减慢。Mish在下方有界也是有利的,因为它产生了强烈的规则效应。与ReLU不同,Mish是连续可微的,这是一个可取的特性,因为它避免了奇异性,因此在执行基于梯度的优化时避免了不希望的副作用。”

我们之前解释了softplus()激活函数。Mish激活函数可以使用softplus()定义如下,

因此,Mish激活函数可以数学定义如下,

作者比较了Mish、ReLU、SoftPlus和Swish激活函数的输出,还比较了Mish和Swish的第一和第二导数。

Mish函数可以在C++中编写如下,

double phi(double sum) {return(sum * std::tanh(std::ln(1 + std::exp(sum)))); // Mish函数
}

一个简单的C++ ANN示例使用自我规则非单调(Mish)激活函数

我们可以简单地将这个mish函数应用到我们的通用简单ANN示例中,如下所示,

#include <iostream>
#define NN 2   // 神经元数量class Tneuron { // 神经元类
public:double a;       // 每个神经元的活动值double w[NN+1]; // 神经元之间连接的权重Tneuron() {a = 0;for (int i = 0; i < NN; i++) w[i] = -1;  // 如果权重是负数,则表示没有连接}// 定义输出神经元的激活函数(或阈值)double activation_function(double sum) {return(sum * std::tanh(std::ln(1 + std::exp(sum)))); // Mish函数}
};Tneuron ne[NN+1]; // 神经元对象void fire(int nn) {double sum = 0;for (int j = 0; j < NN; j++) {if (ne[j].w[nn] > 0) sum += ne[j].a * ne[j].w[nn];}ne[nn].a = ne[nn].activation_function(sum);
}int main() {// 定义两个输入神经元(a0, a1)和一个输出神经元(a2)的活动值ne[0].a = 0.0;ne[1].a = 1.0;ne[2].a = 0;// 定义来自两个输入神经元到输出神经元(0到2和1到2)的信号权重ne[0].w[2] = 0.6;ne[1].w[2] = 0.4;// 激发我们的人工神经元活动,输出将是fire(2);printf("%10.6f\n", ne[2].a);getchar();return 0;
}

这个示例展示了如何在C++中使用Mish激活函数来模拟一个简单的人工神经网络。通过这种方式,你可以构建更复杂的神经网络模型,并在C++应用中实现深度学习技术。

http://www.yayakq.cn/news/998425/

相关文章:

  • 个人网站有哪些举例sns社交网站开发
  • 代运营公司网站什么网站可以做自考试题
  • 中山网站建设排名池州有哪些做网站的
  • 长春百度网站排名优化网站文字怎么做超链接
  • 百度如何创建网站产品设计去哪里找工作
  • ui设计网站建设是什么网络营销方式有哪些?
  • 政务网站建设实施方案榆次做企业网站
  • 网站设计模板简约电商网站总体设计方案
  • 鞍山自适应网站制作网站开发使用的开发工具
  • 做logo那个网站织梦网站上传路径不对
  • 六安建设部网站水库信息化网站建设
  • 什么是论坛推广seo属于什么职位类型
  • 柬埔寨网赌网站开发公司企业邮箱怎么查询
  • 广州番禺区怎么样商城网站建设优化推广
  • 家居网站建设费用潜江人才网官网
  • 国内网站建设公司排名重庆忠县网站建设报价
  • 网站会员体系方案南江红鱼洞水库建设管理局网站
  • 用国外服务器做网站网站四川省建设领域信用系统网站
  • 国外网站dns改成什么快沈阳app制作网站建设推
  • 做国外网站选择vps北京房产网站建设
  • 福州品牌网站建设公司苏州微网站建设公司哪家好
  • 建设网站费用分析惠州网站建设技术支持
  • 网站开发与设计中学生网站关键词优化排名要怎么做
  • 云端做效果图的网站舆情分析系统
  • 合肥网站建设企业卡盟平台
  • 玉田县住房和城乡建设局网站在线股票交易网站开发
  • wordpress 前端优化网站建设优化佛山
  • 注册网站的免费网址网页开发基础答案
  • 重庆沙坪坝做网站心雨在线高端网站建设
  • 专门做特卖的网站是什么意思seo推广系统排名榜