ARTICLE DETAIL

资讯详情

深耕网站SEO优化与搜索引擎排名提升的一线实战洞察。

Softmax 和反向传播太难懂?wevi 把每个数学细节都实时画了出来

Softmax 和反向传播太难懂?wevi 把每个数学细节都实时画了出来 Softmax 和反向传播太难懂wevi 把每个数学细节都实时画了出来【免费下载链接】weviWord Embedding Visual Inspector项目地址: https://gitcode.com/gh_mirrors/we/wevi还在对着 Softmax 公式和反向传播推导发呆weviWord Embedding Visual Inspector是一款开源的词向量可视化教学工具能把 word2vec 训练中的每个数学细节——前向传播、Softmax 概率分布、反向传播梯度、参数更新——实时画成神经网络图、权重热力图和 PCA 散点图让新手像看直播一样看懂深度学习。这篇文章就带你快速上手 wevi彻底告别公式看得懂、代码看不懂的尴尬。学习词向量时你最头疼的 3 个瞬间 背过 word2vec 的同学大概都经历过下面这些崩溃时刻前向传播输入词向量到底是怎么一步步变成 Softmax 输出的概率分布的反向传播误差项是如何倒着传回每一层、又怎么变成每个权重的梯度的梯度更新学习率、梯度、权重三者之间每一步到底发生了什么传统教材只给你公式和静态插图中间过程全靠脑补。而 wevi 的出发点很简单把脑补变成眼见为实让 Softmax 和反向传播不再是黑盒。什么是 wevi一款把 word2vec 训练过程直播出来的词向量可视化工具wevi 全称Word Embedding Visual Inspector词向量可视化检查器是一个零依赖安装的纯前端教学项目打开浏览器就能运行。它的核心特点特点说明 零安装纯 HTML JavaScriptD3.js实现无需服务器 高交互每一步训练都可暂停、单步前进或批量执行️ 三重视图神经网络图、权重矩阵热力图、PCA 词向量散点图 双模式同时支持CBOW和Skip-gram两种经典训练模式 可复现支持自定义训练数据、隐藏层大小、学习率和随机种子页面布局非常简单清晰上方左侧是控制面板右侧是神经网络图下方左侧是权重矩阵热力图右侧是 PCA 降维后的词向量散点图对应代码见 index.html 与 css/wevi.css。wevi 三大可视化面板一次看懂神经网络训练全过程 ① 神经网络图前向传播与 Softmax 的实时演算中间的神经元网络图会画出输入层 → 隐藏层 → 输出层的完整结构输入词、目标词分别用红色箭头标注。每点击一次Next你就能看到激活值像水流一样沿连线传播输入层把值送入隐藏层隐藏层加权求和后在输出层经过Softmax变成一组和为 1 的概率分布。神经元和连线的颜色深浅实时对应数值大小——概率高的词会亮起来。② 权重矩阵热力图反向传播与梯度更新的温度计 ️底部左侧把输入向量和输出向量画成两张热力图每个格子的颜色代表一个权重的大小。当执行反向传播时所有被更新过的权重会立刻变色训练前后对比一目了然。你甚至能观察到越是相关的词比如 drink 和 juice对应权重收敛得越快。③ 向量散点图PCA 降维后的词向量聚类训练过程中可以随时点击PCA按钮把高维词向量降到二维平面。你会亲眼看到语义相近的词逐渐聚到一起、形成词簇——这正是词向量最神奇的地方也是 wevi 最值得玩味的可视化效果降维算法实现在 js/pca.js。3 分钟快速上手 wevi词向量可视化的零基础玩法整个上手过程只需要三步git clone https://gitcode.com/gh_mirrors/we/wevi cd wevi # 直接用 Chrome 打开 index.html 即可无需安装任何依赖打开页面后按下面的步骤操作在Presets下拉框选择一个内置数据集比如 Fruit and juice点击Update and Restart初始化网络点击Next单步观察一次完整的前向传播 反向传播或直接点击20 / 100 / 500批量训练观察权重热力图和散点图的快速演变随时点击PCA刷新词向量降维视图。控制面板还支持直接编辑 JSON 配置隐藏层大小、随机种子、学习率和训练数据文本改完点Update Learning Rate即可生效方便做各种对照实验交互逻辑见 js/toyw2v.js。Softmax 可视化原理前向传播的每一步都被画了出来 很多同学卡在 Softmax是因为只记住了公式却看不到输入到输出的完整链条。在 wevi 中前向传播被拆解成了三个清晰步骤实现见 js/vector_math.js输入层到隐藏层把激活的上下文词向量取平均得到隐藏层值隐藏层到输出层每个输出神经元的净输入 权重与隐藏层值的加权和Softmax 归一化对所有净输入取指数、求和作为分母再逐项相除得到概率分布核心代码在 js/vector_math.js。在神经网络图上你可以一步步看着净输入变成指数、再变成概率亲眼确认为什么 Softmax 的输出总和恒等于 1——这个困扰无数新手的知识点看一次动态演示就彻底通了。反向传播可视化误差与梯度不再黑盒 反向传播之所以劝退是因为误差在层与层之间传导时太抽象。wevi 的做法是把每个中间量都暴露出来输出层误差 预测概率 − 真实标签one-hot输出权重梯度 误差 × 隐藏层值隐藏层误差 误差沿权重反向累加输入权重梯度 隐藏层误差 / 参与激活的上下文词数CBOW 取平均。以上逻辑对应 js/vector_math.js 的backpropagate()函数而每次Next之后的权重更新则调用 js/vector_math.js 的apply_gradient()即权重 - 学习率 × 梯度。配合热力图的变化你能直观地看到梯度越大权重变化越剧烈颜色翻转越明显。内置数据集玩转实验从水果与果汁到国王与王后 wevi 内置了 8 组精心设计的数据集见 js/toyw2v.js每组都对应一个经典的教学场景数据集用途值得观察的现象Fruit and juice入门首选drink/ juice 等词快速聚成词簇Fruit and juice (CBOW)理解上下文取平均多上下文词如何共同激活隐藏层Fruit and juice (Skip-gram)对比两种模式训练方式的差异对结果的影响Self loop / Directed loop理解图结构数据自环、有向环对词向量的塑造King and queen经典语义关系king−man ≈ queen−woman 的雏形建议先用 Fruit and juice 走一遍完整流程再切换到 King and queen 感受语义关系的形成最后把学习率从 0.2 调到 1.0观察训练是否发散——这就是对学习率最直观的一课。用 wevi 高效学习词向量的 4 条建议 先看整体再抠细节先批量训练 500 步看散点图聚类再单步回放理解内部机制改参数做对照实验分别调整学习率、隐藏层大小和随机种子记录结果差异对比 CBOW 与 Skip-gram同一份数据跑两种模式体会各自的训练逻辑动手造数据把自己设计的词对填入训练数据框验证你的直觉。结语wevi 最大的价值是把 Softmax 和反向传播从需要背的公式变成了可以玩的过程。无论你是刚接触 NLP 的新手还是准备给学生讲词向量的老师都值得花十分钟打开它亲眼看一次神经网络训练的完整直播。公式也许还会忘但你在 wevi 里看到的那些颜色流动的画面会帮你记住这些数学概念真正的意义。【免费下载链接】weviWord Embedding Visual Inspector项目地址: https://gitcode.com/gh_mirrors/we/wevi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表