深度学习------激活函数 先说说激活函数你可以把神经网络想象成一个工厂流水线数据就是原材料一层层传递加工。但如果没有激活函数这个流水线就很无聊——每一层都只是做简单的加减乘除整条线不管多少层最后顶多算个复杂的线性方程解决不来复杂问题。以两层网络推导为例激活函数就像流水线上的「魔法师」它在每一层数据处理后给数据来个「变身」引入一些非线性的变化。这样神经网络才能学习复杂规律比如识别猫狗、判断情感之类的。常用激活函数白话解释1.Sigmoid函数 —— 「压缩大师」样子把任何数字都压缩到0和1之间大白话想象一个「概率制造机」。不管输入多大或多小比如1000或-1000它都会输出一个0到1之间的概率值。输入越大输出越接近1输入越小输出越接近0。生活类比就像评委打分不管选手多强或多差最后得分总是在0分到1分之间。缺点当数字很大或很小时它会变得特别「佛系」几乎不变了梯度消失训练起来就很慢。2.Tanh函数 —— 「零为中心压缩大师」样子把任何数字压缩到-1和1之间中心点是0大白话Sigmoid的升级版输出范围变成了-1到1平均值是0。这让它处理数据更「平衡」一些。生活类比像情绪评分-1代表极度负面0代表中性1代表极度正面。优点比Sigmoid对称性好训练起来稍微舒服点。缺点跟Sigmoid一样在极端值时也会「佛系」梯度消失。3.ReLU函数 —— 「要么通过要么滚蛋」样子正数原样通过负数直接变0公式f(x) max(0, x)大白话最暴力的激活函数。规则简单到爆输入是正数原封不动通过输入是负数直接清零滚蛋生活类比像公司门口的保安只放行有正事的人正数闲杂人等负数一律拦下。优点计算超快训练速度飞快是现在深度学习最受欢迎的激活函数。缺点有时候会把所有神经元都「卡住」全部输出0Dead ReLU问题整条线就瘫痪了。4.Softmax函数 —— 「概率分配大师」样子把一堆数字变成概率分布总和为1大白话多分类问题的专属神器。想象你有5个选择每个选择有个分数Softmax把这些分数转换成概率所有概率加起来正好等于100%。哪个分数高对应的概率就大。生活类比就像期末考试排名把所有学生的分数转换成「获得第一名的概率」。学霸概率高学渣概率低所有人概率加起来是100%。用途专门用在输出层用来做多分类判断比如判断这张图是猫、狗还是鸟。Sigmoid 函数以前很常用现在不怎么用了因为它有两个大缺点训练慢、容易“学不动”。问题1什么叫“梯度消失”想象一下你在教一个学生学习每一步都要根据错误来调整学习方法。在神经网络中这个“调整”靠的是“梯度”——就是告诉模型“你这步错了多少该往哪个方向改”。但 Sigmoid 函数有个问题它的“导数”也就是用来算梯度的值很小通常在 0 到 0.25 之间。 当神经网络有很多层时要从最后一层一层一层往回算梯度叫“链式求导”这就相当于把很多个小数连着乘起来。比如0.2 × 0.2 × 0.2 × ……几十次→ 结果会变得特别特别小几乎等于 0。这就叫“梯度消失”—— 意思是前面几层的参数根本得不到有效更新就像学生前几节课完全没学到东西只能原地踏步。 类比你让一个人从第100层楼往下传一句话每传一层就小声一点到第1层的时候别人根本听不见。这就是“梯度消失”。问题2计算太复杂训练慢Sigmoid 函数里面有个指数运算比如 e 的幂计算机算起来比较费时间。 就像你每次做题都要先算个复杂的公式自然就慢了。所以用 Sigmoid 的网络训练起来特别耗时效率低。