图解 · 运行过程 · 工程取舍
网络层是在重组数值,不是在生成隐藏句子
为什么多层之间还要放一个非线性函数?
配套正文:F10基础课
动态图解 · F10
网络层是在重组数值,不是在生成隐藏句子
为什么多层之间还要放一个非线性函数?
第一层把输入组合成一排中间数,再经过规则改变它,最后第二层继续组合。若所有层都只是线性变换,多层可以合并为一次线性变换;非线性使它不再等同于一张更大的线性表。这里的“过滤”仅指ReLU数值规则,不能解释成模型理解了哪些词重要。
ReLU负数变0,非负数保持原值。
隐藏状态两层之间为本次输入算出的向量。
参数W、偏置等控制运算的固定系数。
输入与适用条件:沿用F10两层向量例:x=[1,2],W1=[[1,−1],[1,1]],b1=[0,−2],W2=[2,1]。最后一帧是明确的去ReLU对照。
1 / 6 · 固定输入与参数
第1步,共6步
窄屏可左右滑动图形,或点击“放大图形”。文字解释紧随图后。
先标出输入和系数表的身份。一次推理里的W不是根据x现写出来的。
本步状态由图形与说明共同给出。默认静止。用“下一步”看完解释再继续;播放到最后一步自动停止。键盘聚焦播放器后,可用左右键逐步查看、空格播放/暂停。图中颜色辅助区分,含义同时用文字注明。
逐步说明与计算记录
以下解释全部展开,与播放器使用同一份数据;不是另换输入的第二个算例。
1.固定输入与参数
先标出输入和系数表的身份。一次推理里的W不是根据x现写出来的。
2.线性组合
第一列得到3;第二列先为1,加偏置−2后成为−1。
3.非线性过滤
只对负的第二格置0。第一格3保持不变。
4.第二层组合
把[3,0]交给第二层,计算3×2+0×1=6。
5.明确中间对象
这个6不是一个Token概率,含义取决于后续任务。隐藏状态也不等于隐藏思考文本。
6.独立反例
恢复第一层的[3,−1],不经ReLU便算3×2−1×1=5,显示非线性确实改变了函数。
为什么需要
多层和非线性提高表达能力,但不能凭层数预测质量。
怎样实现
看每个算子的输入、输出和参数,逐层记录中间值。
可能的代价与误解
混淆激活值与参数,容易误以为每次提问都训练模型。
如何判断是否做对
正常前向的输出6;去ReLU独立对照输出5。