
<tbody> <tr> <td id="artContent" style="max-width: 656px;"> <div style="width: 656px; margin: 0; padding: 0; height: 0;"></div> <div><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_1_42867.jpeg' data-backh="222" data-backw="578" data-imgfileid="" data-ratio="0." data-s="300,640" data-type="jpeg" data-w="740" data-original-style="font-size: var(--articleFontsize);letter-spacing: 0.034em;width: 100%;height: auto;" data-index="2" src="http://image109.360doc.com/DownloadImg/2024/05/2907/_1_42867.jpeg" _width="100%" alt="图片"></div><p><span>大侠幸会,在下全网同名[算法金]<img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_2_.png' data-imgfileid="" data-ratio="1" data-type="png" data-w="64" data-original-style="vertical-align: text-bottom;outline: 0px;background-color: rgb(255, 255, 255);display: inline-block;width: 19.9884px !important;visibility: visible !important;" data-index="3" src="http://image109.360doc.com/DownloadImg/2024/05/2907/_2_.png" _width="19.9884px" alt="图片"></span><br><span><span>0 基础转 AI 上岸,多个算法赛 Top</span><br><span>[日更万日,让更多人享受智能乐趣]</span></span></p><div><span><br></span></div><div><br></div><div><span>激活函数(Activation Function)是一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式,</span><span>是确定神经网络输出的数学方程式</span></div><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_3_.png' data-galleryid="" data-imgfileid="" data-ratio="0.22222" data-s="300,640" data-type="png" data-w="1080" data-original-style="" data-index="4" src="http://image109.360doc.com/DownloadImg/2024/05/2907/_3_.png" _width="360px" alt="图片"></p><div><span>by deepgram</span></div><div><span><br></span></div><div><span>激活函数是神经网络模型重要的组成部分,俺们从激活函数的数学原理出发,详解激活函数的优缺点。</span></div><div><span>文末总结处,看闻[激]起舞;文字略长,建议先收藏再细品...</span></div><div><br></div><div><span><br></span></div><div><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_4_.png' data-backh="89" data-backw="578" data-galleryid="" data-imgfileid="" data-ratio="0." data-s="300,640" data-type="png" data-w="970" data-original-style="width: 100%;height: auto;" data-index="5" src="http://image109.360doc.com/DownloadImg/2024/05/2907/_4_.png" _width="100%" alt="图片"></div><p><img data-backh="292" data-backw="578" data-imgfileid="" data-ratio="0.96297" data-type="other" data-w="1080" data-original-style="margin-right: auto;margin-left: auto;color: rgb(25, 27, 31);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif;font-size: medium;letter-spacing: normal;text-align: start;white-space: normal;display: block;cursor: zoom-in;animation: 0.5s ease-in 0s 1 normal none running animation-1yvu044;width: 100%;height: auto;" data-index="6" src="http://www.360doc.com/content/24/0529/07/" _width="100%" alt="图片" style="max-width: 650px;"></p><div><span><br></span></div><div><span>1. Sigmoid函数</span></div><h4><br></h4><h4>1.1 定义和函数形式</h4><p>Sigmoid函数是一种常用的激活函数,其数学形式为:<span><br></span></p><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_6_.png' data-galleryid="" data-imgfileid="" data-ratio="0.59358" data-s="300,640" data-type="png" data-w="187" data-original-style="" data-index="7" src="http://image109.360doc.com/DownloadImg/2024/05/2907/_6_.png" _width="187px" alt="图片"></p><p>它将输入的实数映射到(0,1)之间,常用于输出层的二分类问题,可以将神经网络的输出解释为概率。</p><h4><br></h4><h4>1.2 手动实现并可视化</h4><p>你可以使用Python代码手动实现Sigmoid函数,并通过绘图工具将其可视化,以便理解其形状和特点。</p><div><br></div><div><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><div></div></div><div><br></div><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_7_.png' data-galleryid="" data-imgfileid="" data-ratio="0.2248" data-s="300,640" data-type="png" data-w="645" data-original-style="" data-index="8" src="http://image109.360doc.com/DownloadImg/2024/05/2907/_7_.png" _width="360px" alt="图片"></p><h4><br></h4><h4>1.3 作用和用途</h4><p>Sigmoid函数在神经网络中主要用于输出层的二分类问题,将神经网络的输出映射到(0,1)之间的概率值,便于进行分类决策。</p><h4><br></h4><h4>1.4 优点和局限性</h4><ul><li><p><span>优点</span>:</p></li><ul><li><p>输出范围为(0,1),可以被解释为概率。</p></li><li><p>平滑的S形曲线,可以保持梯度的连续性,有利于反向传播算法的稳定性。</p></li></ul><li><p><span>局限性</span>:</p></li><ul><li><p>Sigmoid函数存在梯度饱和问题,当输入较大或较小时,梯度会接近于零,导致梯度消失,影响网络的训练。</p></li><li><p>Sigmoid函数的输出不是以零为中心的,可能导致梯度更新不均匀,影响训练速度。</p></li></ul></ul><h4><br></h4><h4>1.5 梯度消失和梯度爆炸问题</h4><p><span>Sigmoid函数在输入较大或较小时,会出现梯度接近于零的问题,导致梯度消失,使得网络难以收敛或学习缓慢。</span><br></p><h4><br></h4><h4>1.6 建议的使用场景</h4><ul><li><p>二分类问题的输出层。</p></li><li><p>对输出范围有明确要求的任务。</p></li></ul><div></div><div><span>更多内容,见免费知识星球</span></div><div><span><br></span></div><div><br></div><div><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_9_.png' data-backh="90" data-backw="578" data-imgfileid="" data-ratio="0.27835" data-s="300,640" data-type="png" data-w="970" data-original-style="width: 100%;height: auto;" data-index="10" src="http://image109.360doc.com/DownloadImg/2024/05/2907/_9_.png" _width="100%" alt="图片"></div><p><img data-backh="293" data-backw="579" data-imgfileid="" data-ratio="0.74074" data-type="other" data-w="1080" data-original-style="margin-right: auto;margin-left: auto;color: rgb(25, 27, 31);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif;font-size: medium;letter-spacing: normal;text-align: start;white-space: normal;display: block;cursor: zoom-in;animation: 0.5s ease-in 0s 1 normal none running animation-1yvu044;width: 100%;height: auto;" data-index="11" src="http://www.360doc.com/content/24/0529/07/" _width="100%" alt="图片" style="max-width: 650px;"></p><div><span><br></span></div><div><span>2. Tanh函数</span></div><h4><br></h4><h4>2.1 定义和函数形式</h4><p>Tanh函数(双曲正切函数)是一种常用的激活函数,其数学形式为:</p><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_11_.png' data-galleryid="" data-imgfileid="" data-ratio="0.68293" data-s="300,640" data-type="png" data-w="205" data-original-style="" data-index="12" src="http://image109.360doc.com/DownloadImg/2024/05/2907/_11_.png" _width="205px" alt="图片"></p><p>它将输入的实数映射到(-1,1)之间,具有S形曲线,常用于隐藏层的激活函数。</p><h4><br></h4><h4>2.2 手动实现并可视化</h4><p>你可以使用Python代码手动实现Tanh函数,并通过绘图工具将其可视化,以便理解其形状和特点。</p><div><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre data-lang="python"></pre></div><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_12_.png' data-galleryid="" data-imgfileid="" data-ratio="0.57847" data-s="300,640" data-type="png" data-w="669" data-original-style="" data-index="13" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_13_.png' data-backh="265" data-backw="457" data-galleryid="" data-imgfileid="" data-ratio="0.15536" data-s="300,640" data-type="png" data-w="457" data-original-style="width: 100%;height: auto;" data-index="14" src="http://pubimage.360doc.com/wz/default.gif" _width="100%" alt="图片"></p><div><br></div><h4><br></h4><h4>2.3 作用和用途</h4><p>Tanh函数在神经网络中常用于隐藏层的激活函数,将输入映射到(-1,1)之间,可以提供更广泛的输出范围,有利于神经网络的学习。</p><h4><br></h4><h4>2.4 优点和局限性</h4><ul><li><p><span>优点</span>:</p></li><ul><li><p>输出范围为(-1,1),相比Sigmoid函数更广泛,可以提供更大的梯度,有利于神经网络的学习。</p></li><li><p>Tanh函数是Sigmoid函数的平移和缩放版本,具有相似的S形曲线,但输出以零为中心,有助于减少梯度更新不均匀的问题。</p></li></ul><li><p><span>局限性</span>:</p></li><ul><li><p>Tanh函数同样存在梯度饱和问题,当输入较大或较小时,梯度会接近于零,导致梯度消失,影响网络的训练。</p></li><li><p>Tanh函数的输出范围仍然有限,可能在某些情况下导致梯度爆炸或梯度消失问题。</p></li></ul></ul><h4><br></h4><h4>2.5 梯度消失和梯度爆炸问题</h4><p>Tanh函数在输入较大或较小时,同样会出现梯度接近于零的问题,导致梯度消失,使得网络难以收敛或学习缓慢。</p><h4>2.6 建议的使用场景</h4><ul><li><p>隐藏层的激活函数,特别是对输出范围有明确要求的任务。</p></li><li><p>在需要使用Sigmoid函数的情况下,考虑使用Tanh函数代替,因为Tanh函数具有更广泛的输出范围。</p></li></ul><div><mp-common-profile data-pluginname="mpprofile" data-id="MzkyNTU1OTQwNg==" data-headimg="http://mmbizhttp://www.360doc.com/content/24/0529/07/mmbiz_png/wMgibHAZIqLpFybxtqpJW1ejp8nRyQIicNlxofIkCRKG4ibSGwhU2HptA4GVtxl6PSQoaHQMGqp0wgTYcNDygzVRA/300?wx_fmt=png&wxfrom=19" data-nickname="算法金" data-alias="" data-signature="0基础跨行转算法上岸,多个AI赛Top;多次受邀为 211 高校 AI 实训,助力上千位「非计算机科班同学」上岸; 【Python AI 算法、机器学习、深度学习、数据科学,算法进阶】 【日更万日,让更多人享受智能乐趣】" data-from="0" data-is_biz_ban="0" data-origin_num="172" data-isban="0" data-biz_account_status="0" data-index="0"></mp-common-profile></div><div><br></div><div><br></div><div><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_14_.png' data-backh="89" data-backw="578" data-imgfileid="" data-ratio="0." data-s="300,640" data-type="png" data-w="970" data-original-style="width: 100%;height: auto;" data-index="15" src="http://pubimage.360doc.com/wz/default.gif" _width="100%" alt="图片"></div><p><img data-backh="294" data-backw="579" data-imgfileid="" data-ratio="0.92593" data-type="other" data-w="1080" data-original-style="margin-right: auto;margin-left: auto;color: rgb(25, 27, 31);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif;font-size: medium;letter-spacing: normal;text-align: start;white-space: normal;display: block;cursor: zoom-in;animation: 0.5s ease-in 0s 1 normal none running animation-1yvu044;width: 100%;height: auto;" data-index="16" src="http://www.360doc.com/content/24/0529/07/" _width="100%" alt="图片" style="max-width: 650px;"></p><div><span><br></span></div><div><span>3. ReLU函数(Rectified Linear Unit)</span></div><h4>3.1 定义和函数形式</h4><p>ReLU函数是一种简单而有效的激活函数,其数学形式为:</p><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_16_.png' data-galleryid="" data-imgfileid="" data-ratio="0." data-s="300,640" data-type="png" data-w="246" data-original-style="" data-index="17" src="http://pubimage.360doc.com/wz/default.gif" _width="246px" alt="图片"></p><p><span>它将输入的实数映射到大于等于零的范围,如果输入小于零,则输出为零;如果输入大于零,则输出与输入相同。<br></span></p><h4>3.2 手动实现并可视化</h4><p>你可以使用Python代码手动实现ReLU函数,并通过绘图工具将其可视化,以便理解其形状和特点。</p><div><br></div><div><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><div></div></div><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_17_.png' data-galleryid="" data-imgfileid="" data-ratio="0.28728" data-s="300,640" data-type="png" data-w="637" data-original-style="" data-index="18" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><h4>3.3 作用和用途</h4><p>ReLU函数在神经网络中广泛用于隐藏层的激活函数,能够加速训练过程,避免了Sigmoid函数和Tanh函数存在的梯度消失问题。</p><h4>3.4 优点和局限性</h4><ul><li><p><span>优点</span>:</p></li><ul><li><p>ReLU函数在输入大于零时,梯度恒为1,不会饱和,避免了梯度消失问题,有利于加速训练过程。</p></li><li><p>计算简单,只需比较输入和零的大小即可,运算速度快。</p></li><li><p>只有一个分段,导数在大多数情况下为常数,便于反向传播计算。</p></li></ul><li><p><span>局限性</span>:</p></li><ul><li><p>ReLU函数在输入小于零时,导数为零,称为“神经元死亡”,可能导致对应神经元永远无法激活,称为“ReLU死亡”问题。</p></li><li><p>输出不以零为中心,可能导致梯度更新不均匀,影响网络性能。</p></li></ul></ul><h4><br></h4><h4>3.5 梯度消失和梯度爆炸问题</h4><p>ReLU函数在输入小于零时,导数为零,可能导致梯度消失问题。但在输入大于零时,梯度恒为1,不会饱和,避免了梯度爆炸问题。</p><h4>3.6 建议的使用场景</h4><ul><li><p>隐藏层的激活函数,特别是在需要加速训练过程和处理稀疏数据的情况下。</p></li><li><p>对于不需要输出负值的任务,可以考虑使用ReLU函数代替其他激活函数。</p></li></ul><div></div><div><span>免费知识星球,欢迎加入交流</span></div><div><span><br></span></div><div><br></div><div><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_19_.png' data-backh="89" data-backw="578" data-imgfileid="" data-ratio="0." data-s="300,640" data-type="png" data-w="970" data-original-style="width: 100%;height: auto;" data-index="20" src="http://pubimage.360doc.com/wz/default.gif" _width="100%" alt="图片"><br></div><p><img data-backh="293" data-backw="579" data-imgfileid="" data-ratio="0.74074" data-type="other" data-w="1080" data-original-style="margin-right: auto;margin-left: auto;color: rgb(25, 27, 31);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif;font-size: medium;letter-spacing: normal;text-align: start;white-space: normal;display: block;cursor: zoom-in;animation: 0.5s ease-in 0s 1 normal none running animation-1yvu044;width: 100%;height: auto;" data-index="21" src="http://www.360doc.com/content/24/0529/07/" _width="100%" alt="图片" style="max-width: 650px;"></p><div><br></div><h4>4.1 定义和函数形式</h4><p>Leaky ReLU函数是对ReLU函数的改进,其数学形式为:</p><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_21_43067.png' data-galleryid="" data-imgfileid="" data-ratio="0." data-s="300,640" data-type="png" data-w="268" data-original-style="" data-index="22" src="http://pubimage.360doc.com/wz/default.gif" _width="268px" alt="图片"></p><p>其中a是一个小的斜率(通常接近于零),当输入小于零时,不再输出零,而是输出输入的一个小比例,以解决ReLU函数在负数部分输出为零的问题。</p><h4>4.2 手动实现并可视化</h4><p>你可以使用Python代码手动实现Leaky ReLU函数,并通过绘图工具将其可视化,以便理解其形状和特点。</p><div><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre data-lang="python"></pre></div><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_22_.png' data-galleryid="" data-imgfileid="" data-ratio="0.80715" data-s="300,640" data-type="png" data-w="643" data-original-style="" data-index="23" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><h4>4.3 作用和用途</h4><p>Leaky ReLU函数在神经网络中用于隐藏层的激活函数,能够解决ReLU函数在负数部分输出为零的问题,避免“神经元死亡”的情况。</p><h4>4.4 优点和局限性</h4><ul><li><p><span>优点</span>:</p></li><ul><li><p>解决了ReLU函数在负数部分输出为零的问题,避免了“神经元死亡”的情况。</p></li><li><p>保留了ReLU函数的大部分优点,计算简单,不会出现梯度爆炸问题。</p></li></ul><li><p><span>局限性</span>:</p></li><ul><li><p>需要额外的参数a,需要手动调整或者通过训练学习,可能增加了模型的复杂性。</p></li><li><p>当a的值选择不当时,可能会导致模型性能下降。</p></li></ul></ul><h4></h4><h4><br></h4><h4>4.5 梯度消失和梯度爆炸问题</h4><p>Leaky ReLU函数在输入小于零时,输出的斜率为常数,不会出现梯度消失问题;在输入大于零时,输出的斜率为1,不会出现梯度爆炸问题。</p><h4>4.6 示例和应用</h4><ul><li><p>隐藏层的激活函数,特别是在需要避免ReLU死亡问题的情况下。</p></li><li><p>适用于训练速度较慢的深度神经网络。</p></li></ul><h4><br></h4><h4>4.7 建议的使用场景</h4><ul><li><p>在需要避免ReLU函数输出为零的情况下使用,例如对负值敏感的任务或深度神经网络中的隐藏层。</p></li><li><p>当需要控制负值部分输出的比例时,可以通过调整参数a来灵活使用Leaky ReLU函数。</p></li></ul><div><mp-common-profile data-pluginname="mpprofile" data-id="MzkyNTU1OTQwNg==" data-headimg="http://mmbizhttp://www.360doc.com/content/24/0529/07/mmbiz_png/wMgibHAZIqLpFybxtqpJW1ejp8nRyQIicNlxofIkCRKG4ibSGwhU2HptA4GVtxl6PSQoaHQMGqp0wgTYcNDygzVRA/300?wx_fmt=png&wxfrom=19" data-nickname="算法金" data-alias="" data-signature="0基础跨行转算法上岸,多个AI赛Top;多次受邀为 211 高校 AI 实训,助力上千位「非计算机科班同学」上岸; 【Python AI 算法、机器学习、深度学习、数据科学,算法进阶】 【日更万日,让更多人享受智能乐趣】" data-from="0" data-is_biz_ban="0" data-origin_num="172" data-isban="0" data-biz_account_status="0" data-index="1"></mp-common-profile></div><div><br></div><div><br></div><div><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_23_.png' data-backh="89" data-backw="578" data-imgfileid="" data-ratio="0." data-s="300,640" data-type="png" data-w="970" data-original-style="width: 100%;height: auto;" data-index="24" src="http://pubimage.360doc.com/wz/default.gif" _width="100%" alt="图片"><br></div><p><img data-backh="293" data-backw="579" data-imgfileid="" data-ratio="0.74074" data-type="other" data-w="1080" data-original-style="margin-right: auto;margin-left: auto;color: rgb(25, 27, 31);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif;font-size: medium;letter-spacing: normal;text-align: start;white-space: normal;display: block;cursor: zoom-in;animation: 0.5s ease-in 0s 1 normal none running animation-1yvu044;width: 100%;height: auto;" data-index="25" src="http://www.360doc.com/content/24/0529/07/" _width="100%" alt="图片" style="max-width: 650px;"></p><div><span><br></span></div><div><span>5. Parametric ReLU函数</span></div><h4>5.1 定义和函数形式</h4><p>Parametric ReLU函数是对ReLU函数的改进,其数学形式为:</p><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_21_43067.png' data-galleryid="" data-imgfileid="" data-ratio="0." data-s="300,640" data-type="png" data-w="268" data-original-style="letter-spacing: 0.578px;text-align: center;white-space: normal;" data-index="26" src="http://pubimage.360doc.com/wz/default.gif" _width="268px" alt="图片"></p><p>其中a是一个学习的参数,可以被网络训练得到,<strong>与Leaky ReLU函数不同的是,Parametric ReLU函数的斜率是通过训练得到的。</strong></p><h4>5.2 手动实现并可视化</h4><p>你可以使用Python代码手动实现Parametric ReLU函数,并通过绘图工具将其可视化,以便理解其形状和特点。</p><div><br></div><div><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><div></div></div><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_25_.png' data-galleryid="" data-imgfileid="" data-ratio="0.23223" data-s="300,640" data-type="png" data-w="633" data-original-style="" data-index="27" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><h4>5.3 作用和用途</h4><p>Parametric ReLU函数在神经网络中用于隐藏层的激活函数,与ReLU和Leaky ReLU相比,其斜率可以通过训练过程中学习得到,具有更强的灵活性。</p><h4>5.4 优点和局限性</h4><ul><li><p><span>优点</span>:</p></li><ul><li><p>可以通过学习得到参数a,具有更强的灵活性,可以根据任务自动调整斜率。</p></li><li><p>解决了ReLU函数输出为零和Leaky ReLU函数固定斜率的问题。</p></li></ul><li><p><span>局限性</span>:</p></li><ul><li><p>需要额外的参数a,增加了模型的复杂度。</p></li><li><p>需要更多的计算资源和训练时间,可能导致训练过程更加复杂和耗时。</p></li></ul></ul><h4><br></h4><h4>5.5 梯度消失和梯度爆炸问题</h4><p>Parametric ReLU函数在输入小于零时,具有可学习的斜率,有助于避免梯度消失问题;在输入大于零时,输出的斜率为1,不会出现梯度爆炸问题。</p><h4>5.6 示例和应用</h4><ul><li><p>隐藏层的激活函数,特别是在需要更灵活的斜率调整的情况下。</p></li><li><p>适用于需要对负值部分输出进行自适应调节的任务。</p></li></ul><h4><br></h4><h4>5.7 建议的使用场景</h4><ul><li><p>当需要更灵活的斜率调整时,可以考虑使用Parametric ReLU函数代替ReLU和Leaky ReLU函数。</p></li><li><p>当任务要求输出的负值部分具有不同的影响程度时,可以使用Parametric ReLU函数进行自适应调节。</p></li></ul><div></div><div><span>免费知识星球,欢迎加入,一起切磋或催更</span></div><div><span><br></span></div><div><br></div><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_26_.png' data-imgfileid="" data-ratio="0.071062" data-s="300,640" data-type="png" data-w="971" data-original-style="" data-index="29" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><h4>6.1 定义和函数形式</h4><p>ELU函数是一种激活函数,其数学形式为:</p><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_27_.png' data-galleryid="" data-imgfileid="" data-ratio="0.64179" data-s="300,640" data-type="png" data-w="402" data-original-style="" data-index="30" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><p>其中,α是一个较小的正数,通常取为1。ELU函数结合了ReLU的优点,并且解决了ReLU函数在负数部分输出为零的问题。</p><h4>6.2 手动实现并可视化</h4><p>你可以使用Python代码手动实现ELU函数,并通过绘图工具将其可视化,以便理解其形状和特点。</p><div><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre data-lang="python"></pre></div><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_28_.png' data-galleryid="" data-imgfileid="" data-ratio="0.55728" data-s="300,640" data-type="png" data-w="646" data-original-style="" data-index="31" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><h4>6.3 作用和用途</h4><p>ELU函数在神经网络中作为激活函数,结合了ReLU的优点,能够加速训练,并解决了ReLU函数在负数部分输出为零的问题。</p><h4>6.4 优点和局限性</h4><ul><li><p><span>优点</span>:</p></li><ul><li><p>在输入大于零时,ELU函数的导数始终为1,避免了ReLU函数的“神经元死亡”问题,有利于加速训练。</p></li><li><p>在输入小于等于零时,ELU函数不会输出零,解决了ReLU函数的“神经元死亡”问题,增强了模型的稳定性。</p></li></ul><li><p><span>局限性</span>:</p></li><ul><li><p>ELU函数相对复杂,计算代价较高。</p></li></ul></ul><h4><br></h4><h4>6.5 梯度消失和梯度爆炸问题</h4><p>ELU函数在输入大于零时,导数恒为1,不会出现梯度消失问题;在输入小于等于零时,导数的值也较大,有利于避免梯度消失问题。</p><h4>6.6 示例和应用</h4><ul><li><p>隐藏层的激活函数,特别是在需要加速训练和提高稳定性的情况下。</p></li><li><p>适用于需要对负值部分输出进行更灵活处理的任务。</p></li></ul><h4><br></h4><h4>6.7 建议的使用场景</h4><ul><li><p>当需要解决ReLU函数的“神经元死亡”问题时,可以考虑使用ELU函数代替。</p></li><li><p>当需要更灵活地调节负值部分输出的情况下,可以使用ELU函数进行更细致的调节。</p></li></ul><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_29_4315.png' data-imgfileid="" data-ratio="0." data-s="300,640" data-type="png" data-w="969" data-original-style="" data-index="32" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><h4>7.1 定义和函数形式</h4><p>Softmax函数是一种常用的激活函数,用于将向量转化为概率分布,其数学形式为:</p><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_30_43198.png' data-galleryid="" data-imgfileid="" data-ratio="0.79646" data-s="300,640" data-type="png" data-w="226" data-original-style="" data-index="33" src="http://pubimage.360doc.com/wz/default.gif" _width="226px" alt="图片"></p><p><span>其中,</span><span><em>Xi</em></span><span> 是输入向量的第i个元素,n是向量的长度。Softmax函数将输入向量的每个元素转化为一个概率值,使得所有元素的概率之和为1。</span></p><h4>7.2 手动实现并可视化</h4><p>你可以使用Python代码手动实现Softmax函数,并通过绘图工具将其可视化,以便理解其形状和特点。</p><div><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><div></div></div><p>输出<br></p><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_31_.png' data-galleryid="" data-imgfileid="" data-ratio="0." data-s="300,640" data-type="png" data-w="498" data-original-style="" data-index="34" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><h4><br></h4><h4>7.3 作用和用途</h4><p>Softmax函数常用于神经网络的多分类问题的输出层,将神经网络的输出转化为类别概率分布,便于进行分类决策。</p><h4>7.4 优点和局限性</h4><ul><li><p><span>优点</span>:</p></li><ul><li><p>将神经网络的输出转化为概率分布,直观且易于理解。</p></li><li><p>求解简单,可用于多分类问题。</p></li></ul><li><p><span>局限性</span>:</p></li><ul><li><p>Softmax函数对输入的敏感度较高,可能在输入较大或较小时产生数值不稳定的情况。</p></li><li><p>Softmax函数的输出受到输入的所有元素的影响,可能导致类别之间的差异不够明显。</p></li></ul></ul><h4><br></h4><h4>7.5 梯度消失和梯度爆炸问题</h4><p>Softmax函数的梯度通常通过交叉熵损失函数进行反向传播计算,不会出现梯度消失或梯度爆炸的问题。</p><h4>7.6 示例和应用</h4><ul><li><p>图像分类任务中的多分类问题。</p></li><li><p>自然语言处理中的词语分类问题。</p></li></ul><h4><br></h4><h4>7.7 建议的使用场景</h4><ul><li><p>多分类问题的输出层,特别是需要将神经网络的输出解释为类别概率分布时。</p></li><li><p>当任务需要处理多个类别的情况,且类别之间没有明显的顺序关系时。</p></li></ul><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_32_.png' data-imgfileid="" data-ratio="0." data-s="300,640" data-type="png" data-w="969" data-original-style="" data-index="35" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><h4>8.1 定义和函数形式</h4><p>Swish函数是由谷歌提出的激活函数,其数学形式为:</p><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_33_.png' data-galleryid="" data-imgfileid="" data-ratio="0." data-s="300,640" data-type="png" data-w="292" data-original-style="" data-index="36" src="http://pubimage.360doc.com/wz/default.gif" _width="292px" alt="图片"></p><p>Swish函数结合了线性性质和非线性性质,可以被视为是ReLU函数的平滑版本,一定程度上提升了模型的性能。</p><h4>8.2 手动实现并可视化</h4><p>你可以使用Python代码手动实现Swish函数,并通过绘图工具将其可视化,以便理解其形状和特点。</p><div><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre data-lang="python"></pre></div><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_34_.png' data-galleryid="" data-imgfileid="" data-ratio="0.74418" data-s="300,640" data-type="png" data-w="645" data-original-style="" data-index="37" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><h4>8.3 作用和用途</h4><p>Swish函数作为一种激活函数,在神经网络中用于隐藏层的激活函数。它结合了线性性质和非线性性质,在一定程度上提升了模型的性能。</p><h4>8.4 优点和局限性</h4><ul><li><p><span>优点</span>:</p></li><ul><li><p>Swish函数结合了ReLU函数的非线性性质和sigmoid函数的平滑性质,具有更好的性能表现。</p></li><li><p>相较于ReLU函数,Swish函数在一些情况下能够提供更好的结果。</p></li></ul><li><p><span>局限性</span>:</p></li><ul><li><p>Swish函数相对复杂,计算代价较高,可能增加模型的训练时间和资源消耗。</p></li></ul></ul><h4><br></h4><h4>8.5 梯度消失和梯度爆炸问题</h4><p>Swish函数的梯度通常不会出现梯度消失或梯度爆炸的问题,但在极端情况下可能存在数值不稳定的情况。</p><h4>8.6 示例和应用</h4><ul><li><p>在图像分类、语音识别等领域中的深度学习任务中广泛应用。</p></li></ul><h4>9.1 定义和函数形式</h4><p>Maxout函数是一种激活函数,将输入的一组实数分成若干组,然后取每组的最大值作为输出,其数学形式为:</p><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_35_.png' data-galleryid="" data-imgfileid="" data-ratio="0.022517" data-s="300,640" data-type="png" data-w="604" data-original-style="" data-index="38" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><p>其中,<span>x</span> 是输入向量,Wi 和 bi 是参数,<span>k</span> 是每组的大小。</p><h4>9.2 通过Python代码手动实现并可视化</h4><p>由于Maxout函数的实现涉及参数 <span>w</span> 和 <span>b</span>,因此在这里我们只提供一个简单的示例来说明其原理。在实际应用中,参数通常是通过神经网络的训练学习得到的。</p><div><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><div></div></div><p>Maxout函数输出:[3 6 9]</p><h4>9.3 作用和用途</h4><p>Maxout函数在神经网络中常用于隐藏层的激活函数,能够提供更强的拟合能力,增强模型的表达能力。</p><h4>9.4 优点和局限性</h4><ul><li><p><span>优点</span>:</p></li><ul><li><p>Maxout函数具有更强的拟合能力,能够处理更复杂的非线性关系。</p></li><li><p>相对于其他激活函数,Maxout函数可以通过学习参数来自适应地决定最大值的组合。</p></li></ul><li><p><span>局限性</span>:</p></li><ul><li><p>Maxout函数的参数较多,可能增加了模型的复杂度和训练时间。</p></li><li><p>对于小数据集或者低维数据,可能会出现过拟合的情况。</p></li></ul></ul><h4><br></h4><h4>9.5 梯度消失和梯度爆炸问题</h4><p>Maxout函数的梯度通常通过反向传播算法进行计算,不会出现梯度消失或梯度爆炸的问题。</p><h4>9.6 建议的使用场景</h4><ul><li><p>当需要处理复杂的非线性关系时,可以考虑使用Maxout函数作为隐藏层的激活函数。</p></li><li><p>适用于大数据集和高维数据的深度学习任务。</p></li><li><p><span>图像分类、语音识别等领域中的深度学习任务。</span><br></p></li></ul><h4>10.1 定义和函数形式</h4><p>Softplus函数是一种激活函数,其数学形式为:</p><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_36_.png' data-galleryid="" data-imgfileid="" data-ratio="0.70492" data-s="300,640" data-type="png" data-w="244" data-original-style="" data-index="39" src="http://pubimage.360doc.com/wz/default.gif" _width="244px" alt="图片"></p><p>Softplus函数是ReLU函数的平滑版本,避免了ReLU在零点处不可导的问题,同时保留了ReLU函数的非线性特性。</p><h4>10.2 通过Python代码手动实现并可视化</h4><p>你可以使用Python代码手动实现Softplus函数,并通过绘图工具将其可视化,以便理解其形状和特点。</p><div><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre data-lang="python"></pre></div><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_37_.png' data-galleryid="" data-imgfileid="" data-ratio="0.43411" data-s="300,640" data-type="png" data-w="645" data-original-style="" data-index="40" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><h4>10.3 作用和用途</h4><p>Softplus函数常用于神经网络的隐藏层的激活函数,特别是在较深的神经网络中。它是ReLU函数的平滑版本,可以缓解梯度消失问题,同时保留了非线性特性。</p><h4>10.4 优点和局限性</h4><ul><li><p><span>优点</span>:</p></li><ul><li><p>Softplus函数是ReLU函数的平滑版本,避免了ReLU在零点处不可导的问题。</p></li><li><p>具有较好的非线性特性,在一些深度神经网络中表现良好。</p></li></ul><li><p><span>局限性</span>:</p></li><ul><li><p>Softplus函数的计算较复杂,可能会增加模型的训练时间。</p></li><li><p>当输入较大时,Softplus函数的输出接近线性关系,可能导致信息损失。</p></li></ul></ul><h4><br></h4><h4>10.5 梯度消失和梯度爆炸问题</h4><p>Softplus函数的梯度通常通过反向传播算法进行计算,相比于ReLU函数,Softplus函数的梯度在输入较小或较大时更稳定,可以缓解梯度消失和梯度爆炸问题。</p><h4>10.6 建议的使用场景</h4><ul><li><p>当需要缓解ReLU函数在零点处不可导的问题,同时保留非线性特性时,可以考虑使用Softplus函数作为隐藏层的激活函数。</p></li><li><p>适用于较深的神经网络中,特别是在需要缓解梯度消失问题的情况下。</p></li></ul><h4>11.1 定义和函数形式</h4><p>Mish函数是一种激活函数,其数学形式为:</p><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_38_.png' data-galleryid="" data-imgfileid="" data-ratio="0." data-s="300,640" data-type="png" data-w="372" data-original-style="" data-index="41" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><p>Mish函数由印度的研究人员提出,相比ReLU函数,Mish函数在一些任务上表现更好。</p><h4>11.2 通过Python代码手动实现并可视化</h4><p>你可以使用Python代码手动实现Mish函数,并通过绘图工具将其可视化,以便理解其形状和特点。</p><div><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><div></div></div><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_39_.png' data-galleryid="" data-imgfileid="" data-ratio="0.77709" data-s="300,640" data-type="png" data-w="646" data-original-style="" data-index="42" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><h4>11.3 作用和用途</h4><p>Mish函数常用作神经网络的激活函数,相比ReLU函数,在一些任务上表现更好。它结合了ReLU函数、tanh函数和softplus函数的优点。</p><h4>11.4 优点和局限性</h4><ul><li><p><span>优点</span>:</p></li><ul><li><p>Mish函数在一些任务上表现更好,相比ReLU函数具有更强的拟合能力。</p></li><li><p>结合了ReLU函数、tanh函数和softplus函数的优点,具有较好的非线性特性。</p></li></ul><li><p><span>局限性</span>:</p></li><ul><li><p>Mish函数相对较复杂,计算代价较高,可能增加模型的训练时间。</p></li><li><p>当输入较大时,Mish函数的输出可能接近线性关系,可能导致信息损失。</p></li></ul></ul><h4><br></h4><h4>11.5 梯度消失和梯度爆炸问题</h4><p>Mish函数的梯度通常通过反向传播算法进行计算,相比于ReLU函数,Mish函数的梯度在输入较小或较大时更稳定,可以缓解梯度消失和梯度爆炸问题。</p><h4>11.6 建议的使用场景</h4><ul><li><p>当需要更好的拟合能力,以及结合ReLU、tanh和softplus函数的优点时,可以考虑使用Mish函数作为隐藏层的激活函数。</p></li><li><p>适用于深度神经网络的隐藏层激活函数。</p></li><li><p>在一些任务上表现更好,例如图像分类、语音识别等领域的深度学习任务。</p></li></ul><h4>12.1 定义和函数形式</h4><p>GELU函数(Gaussian Error Linear Units)是一种激活函数,其数学形式为:</p><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_40_.png' data-galleryid="" data-imgfileid="" data-ratio="0.083591" data-s="300,640" data-type="png" data-w="646" data-original-style="" data-index="43" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><p>GELU函数由OpenAI提出,被证明在一些NLP(自然语言处理)任务上效果良好。</p><h4>12.2 通过Python代码手动实现并可视化</h4><p>你可以使用Python代码手动实现GELU函数,并通过绘图工具将其可视化,以便理解其形状和特点。</p><div><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre data-lang="python"></pre></div><p><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_41_43220.png' data-galleryid="" data-imgfileid="" data-ratio="0.98766" data-s="300,640" data-type="png" data-w="648" data-original-style="" data-index="44" src="http://pubimage.360doc.com/wz/default.gif" _width="360px" alt="图片"></p><h4>12.3 作用和用途</h4><p>GELU函数常用于深度神经网络的激活函数,特别是在一些NLP任务中表现良好。它结合了高斯分布和非线性激活函数的优点。</p><h4>12.4 优点和局限性</h4><ul><li><p><span>优点</span>:</p></li><ul><li><p>GELU函数在一些NLP任务中表现良好,具有较好的非线性特性。</p></li><li><p>结合了高斯分布和非线性激活函数的优点,能够提升模型的性能。</p></li></ul><li><p><span>局限性</span>:</p></li><ul><li><p>GELU函数相对复杂,计算代价较高,可能增加模型的训练时间。</p></li></ul></ul><h4><br></h4><h4>12.5 梯度消失和梯度爆炸问题</h4><p>GELU函数的梯度通常通过反向传播算法进行计算,相比于ReLU函数,GELU函数的梯度在输入较小或较大时更稳定,可以缓解梯度消失和梯度爆炸问题。</p><h4>12.6 示例和应用</h4><ul><li><p>在一些NLP任务中广泛应用,例如情感分析、文本分类等。</p></li></ul><h4><br></h4><h4>12.7 建议的使用场景</h4><ul><li><p>当需要在NLP任务中获得更好的性能时,可以考虑使用GELU函数作为隐藏层的激活函数。</p></li><li><p>适用于需要较好的非线性特性的深度学习任务中。</p></li></ul><div><span>[ 抱个拳,总个结 ]</span></div><div>写的内容太长 <img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_42_.png' data-ratio="1" data-w="128" data-original-style="display:inline-block;width:20px;vertical-align:middle;background-size:cover;" data-index="45" src="http://pubimage.360doc.com/wz/default.gif" _width="20px" alt="图片"></div><div>已经手抖腿软 <img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_42_.png' data-ratio="1" data-w="128" data-original-style="display:inline-block;width:20px;vertical-align:middle;background-size:cover;" data-index="46" src="http://pubimage.360doc.com/wz/default.gif" _width="20px" alt="图片"></div><div>无力总个结了 <img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_42_.png' data-ratio="1" data-w="128" data-original-style="display:inline-block;width:20px;vertical-align:middle;background-size:cover;" data-index="47" src="http://pubimage.360doc.com/wz/default.gif" _width="20px" alt="图片"></div><div>舞一段来助兴 <img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_43_.png' data-ratio="1" data-w="128" data-original-style="display:inline-block;width:20px;vertical-align:middle;background-size:cover;" data-index="48" src="http://pubimage.360doc.com/wz/default.gif" _width="20px" alt="图片"></div><div><br></div><div><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_44_.png' data-backh="442" data-backw="562" data-imgfileid="" data-ratio="0.70371" data-type="png" data-w="1080" data-original-style="color: rgba(0, 0, 0, 0.55);font-family: system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;text-align: start;text-wrap: wrap;width: 100%;height: auto;" data-index="49" src="http://pubimage.360doc.com/wz/default.gif" _width="100%" alt="图片"></div><div><br></div><div><br></div><div><span><img doc360img-src='http://image109.360doc.com/DownloadImg/2024/05/2907/_45_.jpeg' data-backh="350" data-backw="550" data-imgfileid="" data-ratio="0.36364" data-type="jpeg" data-w="550" data-original-style="width: 100%;height: auto;" data-index="50" src="http://pubimage.360doc.com/wz/default.gif" _width="100%" alt="图片"></span></div> </td> </tr> </tbody>
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/203784.html