Deployed 2536c93 with MkDocs version: 1.6.1
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
<svg width="700" height="280" xmlns="http://www.w3.org/2000/svg">
|
||||
<text x="350" y="22" fill="#333" font-size="14" font-weight="bold" text-anchor="middle">Muon: Orthogonalising the Update Matrix</text>
|
||||
|
||||
<!-- Left: Before orthogonalisation (skewed ellipse) -->
|
||||
<text x="160" y="52" fill="#666" font-size="12" font-weight="bold" text-anchor="middle">Momentum update G</text>
|
||||
<text x="160" y="68" fill="#999" font-size="10" text-anchor="middle">singular values: 5.0, 0.3</text>
|
||||
|
||||
<!-- Skewed ellipse representing non-uniform singular values -->
|
||||
<g transform="translate(160,160) rotate(-30)">
|
||||
<ellipse cx="0" cy="0" rx="90" ry="15" fill="#e8d5f5" stroke="#8e44ad" stroke-width="2"/>
|
||||
</g>
|
||||
<!-- Axes -->
|
||||
<line x1="70" y1="160" x2="250" y2="160" stroke="#ccc" stroke-width="1" stroke-dasharray="4"/>
|
||||
<line x1="160" y1="80" x2="160" y2="240" stroke="#ccc" stroke-width="1" stroke-dasharray="4"/>
|
||||
<!-- Direction arrows showing unequal scaling -->
|
||||
<line x1="160" y1="160" x2="235" y2="115" stroke="#8e44ad" stroke-width="2" marker-end="url(#arrowPurple)"/>
|
||||
<text x="240" y="110" fill="#8e44ad" font-size="10">σ₁ = 5.0</text>
|
||||
<line x1="160" y1="160" x2="148" y2="137" stroke="#e67e22" stroke-width="2" marker-end="url(#arrowOrange)"/>
|
||||
<text x="105" y="130" fill="#e67e22" font-size="10">σ₂ = 0.3</text>
|
||||
|
||||
<!-- Arrow between -->
|
||||
<text x="350" y="130" fill="#333" font-size="12" font-weight="bold" text-anchor="middle">Newton-Schulz</text>
|
||||
<text x="350" y="148" fill="#333" font-size="12" font-weight="bold" text-anchor="middle">iterations</text>
|
||||
<line x1="290" y1="160" x2="400" y2="160" stroke="#333" stroke-width="2" marker-end="url(#arrowBlack)"/>
|
||||
<text x="350" y="178" fill="#999" font-size="10" text-anchor="middle">≈ polar decomposition</text>
|
||||
|
||||
<!-- Right: After orthogonalisation (circle) -->
|
||||
<text x="540" y="52" fill="#666" font-size="12" font-weight="bold" text-anchor="middle">Orthogonalised update U</text>
|
||||
<text x="540" y="68" fill="#999" font-size="10" text-anchor="middle">singular values: 1.0, 1.0</text>
|
||||
|
||||
<!-- Circle representing uniform singular values -->
|
||||
<circle cx="540" cy="160" r="55" fill="#d5f5e3" stroke="#27ae60" stroke-width="2"/>
|
||||
<!-- Axes -->
|
||||
<line x1="450" y1="160" x2="630" y2="160" stroke="#ccc" stroke-width="1" stroke-dasharray="4"/>
|
||||
<line x1="540" y1="80" x2="540" y2="240" stroke="#ccc" stroke-width="1" stroke-dasharray="4"/>
|
||||
<!-- Direction arrows showing equal scaling -->
|
||||
<line x1="540" y1="160" x2="595" y2="160" stroke="#27ae60" stroke-width="2" marker-end="url(#arrowGreen)"/>
|
||||
<text x="600" y="155" fill="#27ae60" font-size="10">σ₁ = 1</text>
|
||||
<line x1="540" y1="160" x2="540" y2="105" stroke="#27ae60" stroke-width="2" marker-end="url(#arrowGreen)"/>
|
||||
<text x="550" y="100" fill="#27ae60" font-size="10">σ₂ = 1</text>
|
||||
|
||||
<!-- Caption -->
|
||||
<text x="350" y="265" fill="#666" font-size="11" text-anchor="middle">All directions get the same step size — no direction dominates the update</text>
|
||||
|
||||
<!-- Arrow markers -->
|
||||
<defs>
|
||||
<marker id="arrowPurple" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto">
|
||||
<path d="M0,0 L8,3 L0,6" fill="#8e44ad"/>
|
||||
</marker>
|
||||
<marker id="arrowOrange" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto">
|
||||
<path d="M0,0 L8,3 L0,6" fill="#e67e22"/>
|
||||
</marker>
|
||||
<marker id="arrowGreen" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto">
|
||||
<path d="M0,0 L8,3 L0,6" fill="#27ae60"/>
|
||||
</marker>
|
||||
<marker id="arrowBlack" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto">
|
||||
<path d="M0,0 L8,3 L0,6" fill="#333"/>
|
||||
</marker>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
Reference in New Issue
Block a user