|
13 | 13 | <h1>噪音向量的基本运算:分布视角</h1> |
14 | 14 | </div> |
15 | 15 | <p class="subtitle"> |
16 | | - x、y 为 D 维向量,各分量独立同分布 N(0, σ²)。LLM 的线性部分不外三种运算:<strong>加</strong>、<strong>数乘</strong>、<strong>点积</strong> |
17 | | - (矩阵投影 = 每行一个点积,组成新向量)。本页从概率密度、均值、方差三个视角演示: |
18 | | - <strong class="legend-note note-blue">加 / 数乘保持正态</strong>, |
| 16 | + LLM 的线性部分不外三种运算:<strong>加</strong>、<strong>数乘</strong>、<strong>点积</strong> |
| 17 | + (矩阵投影 = 每行一个点积,组成新向量)。本页从概率密度、均值、方差三个视角演示高斯噪音经历这些运算后的分布变化: |
| 18 | + <strong class="legend-note note-blue">相加保持正态</strong>, |
19 | 19 | <strong class="legend-note note-orange">按元素乘变成"乘积正态"(尖峰重尾)</strong>, |
20 | 20 | <strong class="legend-note note-red">平方变成卡方(均值漂离 0)</strong>。 |
21 | 21 | </p> |
22 | 22 | </header> |
23 | 23 |
|
24 | 24 | <section class="controls"> |
25 | | - <div class="control control-slider"> |
26 | | - <label for="sliderD">维数 D</label> |
27 | | - <input id="sliderD" type="range" min="0" max="12" step="1" value="4" /> |
28 | | - <input id="inputD" type="number" min="1" max="8192" step="1" value="16" /> |
29 | | - </div> |
30 | | - <div class="control"> |
31 | | - <label>分量方差 σ²</label> |
32 | | - <div class="preset-group"> |
33 | | - <button type="button" data-preset="1">1</button> |
34 | | - <button type="button" data-preset="1/D" class="active">1/D</button> |
35 | | - <button type="button" data-preset="1/sqrtD">1/√D</button> |
36 | | - </div> |
37 | | - <input id="inputSigma2" type="number" step="any" title="自定义 σ²" /> |
38 | | - </div> |
39 | | - <div class="control"> |
40 | | - <label for="inputC">数乘 c</label> |
41 | | - <input id="inputC" type="number" step="any" value="2" /> |
42 | | - </div> |
43 | | - <div class="control"> |
44 | | - <label for="inputN">样本量 N</label> |
45 | | - <input id="inputN" type="number" min="1000" max="2000000" step="1000" value="200000" /> |
46 | | - </div> |
47 | 25 | <div class="control control-mc"> |
48 | | - <button id="btnResample" type="button">重新采样</button> |
49 | 26 | <label for="chkSeed"> |
50 | 27 | <input id="chkSeed" type="checkbox" checked /> |
51 | 28 | 固定种子 |
52 | 29 | </label> |
53 | 30 | <input id="inputSeed" type="number" value="42" step="1" /> |
54 | 31 | </div> |
| 32 | + <span class="controls-hint"> |
| 33 | + 理论曲线随参数即时更新;蒙特卡洛不自动采样——点各面板参数行的「采样」叠加直方图(参数变更后按钮高亮提示重新采样) |
| 34 | + </span> |
55 | 35 | </section> |
56 | 36 |
|
57 | 37 | <main> |
58 | 38 | <div class="chart-wrap"> |
59 | 39 | <div class="panel-head"> |
60 | | - <h2>按元素运算(逐分量分布)</h2> |
| 40 | + <h2>按元素运算:标量分布</h2> |
61 | 41 | <div class="op-radios"> |
62 | 42 | <label><input type="radio" name="elementOp" value="x" /> x</label> |
63 | 43 | <label><input type="radio" name="elementOp" value="add" /> x+y</label> |
64 | | - <label><input type="radio" name="elementOp" value="scale" /> c·x</label> |
65 | 44 | <label><input type="radio" name="elementOp" value="product" checked /> x∘y</label> |
66 | 45 | <label><input type="radio" name="elementOp" value="square" /> x²</label> |
67 | 46 | <span class="radio-hint">(选中项叠加蒙特卡洛直方图)</span> |
68 | 47 | </div> |
69 | 48 | </div> |
| 49 | + <div class="panel-controls"> |
| 50 | + <label for="inputSigmaElem">分量方差 σ²</label> |
| 51 | + <input id="inputSigmaElem" type="number" step="any" value="1" /> |
| 52 | + <label for="inputN">样本量 N</label> |
| 53 | + <input id="inputN" type="number" min="1000" max="2000000" step="1000" value="200000" /> |
| 54 | + <button id="btnSampleElem" type="button">采样</button> |
| 55 | + <span class="radio-hint">仅作用于本面板(逐分量标量分布,与维数 D 无关)</span> |
| 56 | + </div> |
70 | 57 | <div id="chartElement" class="chart"></div> |
71 | 58 | <p class="chart-note" id="elementStats"></p> |
72 | 59 | <p class="chart-note"> |
73 | | - 加与数乘保持正态(方差相加 / 乘 c²);按元素乘是乘积正态 f(z) = K₀(|z|/σ²)/(πσ²), |
| 60 | + 本面板演示<strong>标量</strong>:x、y 为独立噪音标量,x, y ~ N(0, σ²) |
| 61 | + (也可理解为向量的任意一个分量——按元素运算后各分量仍 iid,单分量分布即整体)。 |
| 62 | + 相加仍是正态(方差相加);按元素乘是乘积正态 f(z) = K₀(|z|/σ²)/(πσ²), |
74 | 63 | 0 处对数尖峰、重尾(峰度 9),方差 = σ⁴(方差的乘积);平方是缩放卡方 σ²χ²₁, |
75 | 64 | 只有正半轴且均值从 0 漂到 σ²——"能量"不再关于 0 对称。曲线为精确理论密度。 |
76 | 65 | </p> |
77 | 66 | </div> |
78 | 67 |
|
79 | 68 | <div class="chart-wrap"> |
80 | 69 | <div class="panel-head"> |
81 | | - <h2>求和:点积与长度</h2> |
| 70 | + <h2>向量求和:点积与长度分布</h2> |
82 | 71 | <div class="op-radios"> |
83 | 72 | <label><input type="radio" name="sumMode" value="dotRandom" checked /> 点积 x·y(双方随机)</label> |
84 | 73 | <label><input type="radio" name="sumMode" value="dotFixed" /> 点积 x·v(一方固定 ±1)</label> |
85 | 74 | <label><input type="radio" name="sumMode" value="norm2" /> 长度平方 ‖x‖²</label> |
86 | 75 | </div> |
87 | 76 | </div> |
| 77 | + <div class="panel-controls"> |
| 78 | + <label for="sliderD">维数 D</label> |
| 79 | + <input id="sliderD" type="range" min="0" max="12" step="1" value="4" /> |
| 80 | + <input id="inputD" type="number" min="1" max="8192" step="1" value="16" /> |
| 81 | + <label>分量方差 σ²</label> |
| 82 | + <div class="preset-group"> |
| 83 | + <button type="button" data-preset="1">1</button> |
| 84 | + <button type="button" data-preset="1/D" class="active">1/D</button> |
| 85 | + <button type="button" data-preset="1/sqrtD">1/√D</button> |
| 86 | + </div> |
| 87 | + <input id="inputSigmaSum" type="number" step="any" title="自定义 σ²" /> |
| 88 | + <button id="btnSampleSum" type="button">采样</button> |
| 89 | + <span class="radio-hint">仅作用于本面板</span> |
| 90 | + </div> |
88 | 91 | <div id="chartSum" class="chart"></div> |
89 | 92 | <p class="chart-note" id="sumStats"></p> |
90 | 93 | <p class="chart-note"> |
| 94 | + 本面板演示<strong>向量</strong>:x、y 为 D 维向量,各分量独立同分布 N(0, σ²),考察把 D 个分量求和压成标量的运算。 |
91 | 95 | 点积 = 先按元素乘再求和:D=1 即乘积正态(尖峰),D=2 恰为 Laplace 分布,D 增大由中心极限定理趋于正态(拖 D 滑杆看全过程)。 |
92 | 96 | 双方随机时 Var = D·σ⁴;一方固定(v 分量 ±1,‖v‖² = D)时是精确正态 N(0, Dσ²),Var = D·σ²—— |
93 | 97 | 故 σ²=1/D 时前者方差为 1/D、后者恰为 1:<strong>"1/D 让点积方差为 1"只在一方固定时成立</strong>。 |
|
0 commit comments