惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
Help Net Security
Help Net Security
P
Privacy International News Feed
T
Threat Research - Cisco Blogs
C
Cisco Blogs
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
L
LINUX DO - 热门话题
Security Latest
Security Latest
A
Arctic Wolf
G
GRAHAM CLULEY
月光博客
月光博客
S
Securelist
D
Docker
J
Java Code Geeks
T
Troy Hunt's Blog
T
Tenable Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
SecWiki News
SecWiki News
S
Security @ Cisco Blogs
量子位
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
LINUX DO - 最新话题
Recent Commits to openclaw:main
Recent Commits to openclaw:main
aimingoo的专栏
aimingoo的专栏
博客园 - 【当耐特】
H
Heimdal Security Blog
The Hacker News
The Hacker News
博客园 - 三生石上(FineUI控件)
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
Netflix TechBlog - Medium
Vercel News
Vercel News
Forbes - Security
Forbes - Security
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
IT之家
IT之家
B
Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
S
Secure Thoughts
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Check Point Blog
云风的 BLOG
云风的 BLOG
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
The Blog of Author Tim Ferriss
L
Lohrmann on Cybersecurity
F
Full Disclosure
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Proofpoint News Feed

博客园 - ProjectDD

NET 中 Async/Await 的演进:从状态机到运行时优化的 Continuation C# 指针用法小结 C# BinaryPrimitives 类 C# 内存对齐 linq 查询关于 from子句 关于C# await的一点新理解 关于排序算法 C# Dev Kit 经常导致崩溃 不太会用Span<T> 看文档上的优点估摸着试试 span,memory,ArrayPool,MemoryPool,等的性能对比 C# simd 性能雷点记录 C# 模式匹配里应该注意的几点 高中生理解梯度为何是方向导数极大值 win10 下安装 rust 的 依赖配置,通过vs2022 C# 有多需要aot 24个希腊字母的中文拼音版 英语发音探讨 sagemath 9.x 下的 jupyter 工作路径设置 Serializing delegates is not supported on this platform
概略 deep net 通过relu 进行函数逼近
ProjectDD · 2022-04-27 · via 博客园 - ProjectDD

relu 函数在deep net 里更容易梯度下降,收敛到最优解的能力比sigmoid更强,
下面通过 一元函数逼近来简要说明relu 函数是如何进行逼近的

如上两图所示,deep net 中有一个输入节点,输入的样本就是 x 结果是 y=f(x)一类的非线性函数
现在因为每个x->f(x) 类似于第二图所示,那么经过若干轮训练后 会不会得到 象第二图那样的结果呢?就是说 第一个隐含层(整体来看是第二层) 上4个节点,最终是4个 relu函数,被调节成了,第二图的样子,这样可以满足每一个新输入的x值都会在符合误差要求的落在这4个relu函数中的一个上面,简单的说就是这4个relu函数有一个是正确的,那么根据deep net的 反向传播 梯度下降的若干次调节,是不是可以理解为,第二个隐含层也就是最右边那4个节点或 这一层就只有一个节点也可以,它可以通过反向传播找到第一层里总是去选择正确的那一个relu节点并且把其它节点有值(非0值)的激活节点给趋0化处理或称为作废处理,也就是 relu函数的非0分支被截取了

第一个隐含层的relu 函数 拐点都在 原点上,所以第二隐含层才有实际的逼近意义,

relu(w1x+b1),relu(w2x+b2),relu(w3x+b3),relu(w4x+b4), 这是第一个隐含层的4个节点,都还处于原点位,不具有拟合能力,到第二隐含层的节点有

relu(w11*relu(w1x+b1)+w12*relu(w2x+b2)+w13*relu(x3x+b3)+w14*relu(x4x+b4)+b11)
relu(w22*relu(w1x+b1)+w22*relu(w2x+b2)+w23*relu(x3x+b3)+w24*relu(x4x+b4)+b22)
relu(w33*relu(w1x+b1)+w32*relu(w2x+b2)+w33*relu(x3x+b3)+w34*relu(x4x+b4)+b33)
relu(w44*relu(w1x+b1)+w42*relu(w2x+b2)+w43*relu(x3x+b3)+w44*relu(x4x+b4)+b44)
粗体部分为 relu可拟合能力,可以知道 适当的 现在我们需要调节所有的参数2个隐层8个节点 应该就可以达成分段正确以给定误差逼近目标函数的能力了,如图2所示,拟合能力在于第二层的粗体,但是同时第二层外面不能有激活函数relu不然又会归于原点位,所以上面写得有问题 其实外面不能有relu函数

按我上面的图,来说,第一隐含层的 wix+bi 这些节点所产生的各种情况经过 relu 后输出结果应该是 各个wix+bi 线在 1,2维 (平面情况下)空间的截取吧,所以第一层应该就可以通过各种wi,bi凑合成一种对目标的拟合了,后面的节点主要是进行选择,为什么用relu可以而用y=x 和relu差不了多少的就不行,因为relu是非线性的,在net中表现情况估计就是线性的,最终不能彻底消除多义性节点,但非线的,大致上可以,更具体怎么回事还没想明白