Files
maths-cs-ai-compendium-zh/images/temporal_compression_strategies.svg
T
flykhan 2536c937e3 feat: 完整中文翻译 maths-cs-ai-compendium(数学·计算机科学·AI 知识大全)
翻译自英文原版 maths-cs-ai-compendium,共 20 章全部完成。

第01章 向量 | 第02章 矩阵 | 第03章 微积分
第04章 统计学 | 第05章 概率论 | 第06章 机器学习
第07章 计算语言学 | 第08章 计算机视觉 | 第09章 音频与语音
第10章 多模态学习 | 第11章 自主系统 | 第12章 图神经网络
第13章 计算与操作系统 | 第14章 数据结构与算法
第15章 生产级软件工程 | 第16章 SIMD与GPU编程
第17章 AI推理 | 第18章 ML系统设计
第19章 应用人工智能 | 第20章 前沿人工智能

翻译说明:
- 所有数学公式 $...$ / $$...$$、代码块、图片引用完整保留
- mkdocs.yml 配置中文导航 + language: zh
- README.md 已翻译为中文(兼 docs/index.md)
- docs/ 目录包含指向各章文件的 symlink
- 约 29,000 行中文内容,排除 .cache/ 构建缓存
2026-05-03 10:23:20 +08:00

110 lines
6.9 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 750 280" width="750" height="280" font-family="Arial, sans-serif">
<!-- Title -->
<text x="375" y="22" text-anchor="middle" font-size="14" font-weight="bold" fill="#333">Temporal Compression Strategies</text>
<defs>
<marker id="tArr" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto">
<path d="M0,0 L8,3 L0,6 Z" fill="#666"/>
</marker>
</defs>
<!-- ========= Row 1: Factorised ========= -->
<rect x="10" y="40" width="730" height="100" rx="8" fill="#3498db" fill-opacity="0.03" stroke="#3498db" stroke-width="1" stroke-dasharray="4,2"/>
<text x="50" y="58" font-size="11" font-weight="bold" fill="#3498db">Factorised</text>
<!-- Frames -->
<g transform="translate(25, 66)">
<rect x="0" y="0" width="32" height="24" rx="2" fill="#3498db" opacity="0.5" stroke="#3498db" stroke-width="0.8"/>
<rect x="36" y="0" width="32" height="24" rx="2" fill="#3498db" opacity="0.5" stroke="#3498db" stroke-width="0.8"/>
<rect x="72" y="0" width="32" height="24" rx="2" fill="#3498db" opacity="0.5" stroke="#3498db" stroke-width="0.8"/>
<rect x="108" y="0" width="32" height="24" rx="2" fill="#3498db" opacity="0.5" stroke="#3498db" stroke-width="0.8"/>
<text x="4" y="16" font-size="7" fill="white">F₁</text>
<text x="40" y="16" font-size="7" fill="white">F₂</text>
<text x="76" y="16" font-size="7" fill="white">F₃</text>
<text x="112" y="16" font-size="7" fill="white">F₄</text>
</g>
<text x="96" y="106" text-anchor="middle" font-size="8" fill="#666">Frames</text>
<!-- Arrow -->
<line x1="168" y1="80" x2="198" y2="80" stroke="#666" stroke-width="1.5" marker-end="url(#tArr)"/>
<!-- Spatial Encoder -->
<rect x="206" y="60" width="120" height="48" rx="8" fill="#3498db" fill-opacity="0.12" stroke="#3498db" stroke-width="1.5"/>
<text x="266" y="80" text-anchor="middle" font-size="10" font-weight="bold" fill="#3498db">Spatial Encoder</text>
<text x="266" y="94" text-anchor="middle" font-size="8" fill="#666">(each frame independently)</text>
<!-- Arrow -->
<line x1="334" y1="80" x2="360" y2="80" stroke="#666" stroke-width="1.5" marker-end="url(#tArr)"/>
<!-- Spatial tokens per frame -->
<g transform="translate(368, 65)">
<rect x="0" y="0" width="24" height="30" rx="2" fill="#9b59b6" fill-opacity="0.2" stroke="#9b59b6" stroke-width="0.8"/>
<rect x="28" y="0" width="24" height="30" rx="2" fill="#9b59b6" fill-opacity="0.2" stroke="#9b59b6" stroke-width="0.8"/>
<rect x="56" y="0" width="24" height="30" rx="2" fill="#9b59b6" fill-opacity="0.2" stroke="#9b59b6" stroke-width="0.8"/>
<rect x="84" y="0" width="24" height="30" rx="2" fill="#9b59b6" fill-opacity="0.2" stroke="#9b59b6" stroke-width="0.8"/>
<text x="12" y="19" text-anchor="middle" font-size="6" fill="#9b59b6">s₁</text>
<text x="40" y="19" text-anchor="middle" font-size="6" fill="#9b59b6">s₂</text>
<text x="68" y="19" text-anchor="middle" font-size="6" fill="#9b59b6">s₃</text>
<text x="96" y="19" text-anchor="middle" font-size="6" fill="#9b59b6">s₄</text>
</g>
<text x="423" y="110" text-anchor="middle" font-size="8" fill="#9b59b6">spatial tokens/frame</text>
<!-- Arrow -->
<line x1="480" y1="80" x2="510" y2="80" stroke="#666" stroke-width="1.5" marker-end="url(#tArr)"/>
<!-- Temporal Encoder -->
<rect x="518" y="60" width="120" height="48" rx="8" fill="#f39c12" fill-opacity="0.12" stroke="#f39c12" stroke-width="1.5"/>
<text x="578" y="78" text-anchor="middle" font-size="10" font-weight="bold" fill="#f39c12">Temporal Encoder</text>
<text x="578" y="94" text-anchor="middle" font-size="8" fill="#666">(compress across time)</text>
<!-- Arrow -->
<line x1="646" y1="80" x2="672" y2="80" stroke="#666" stroke-width="1.5" marker-end="url(#tArr)"/>
<!-- Compressed tokens -->
<rect x="680" y="66" width="46" height="30" rx="4" fill="#27ae60" fill-opacity="0.15" stroke="#27ae60" stroke-width="1.2"/>
<text x="703" y="78" text-anchor="middle" font-size="7" fill="#27ae60" font-weight="bold">compressed</text>
<text x="703" y="88" text-anchor="middle" font-size="7" fill="#27ae60" font-weight="bold">tokens</text>
<!-- ========= Row 2: Joint ========= -->
<rect x="10" y="150" width="730" height="90" rx="8" fill="#e74c3c" fill-opacity="0.03" stroke="#e74c3c" stroke-width="1" stroke-dasharray="4,2"/>
<text x="50" y="170" font-size="11" font-weight="bold" fill="#e74c3c">Joint</text>
<!-- Frames -->
<g transform="translate(25, 178)">
<rect x="0" y="0" width="32" height="24" rx="2" fill="#e74c3c" opacity="0.4" stroke="#e74c3c" stroke-width="0.8"/>
<rect x="36" y="0" width="32" height="24" rx="2" fill="#e74c3c" opacity="0.4" stroke="#e74c3c" stroke-width="0.8"/>
<rect x="72" y="0" width="32" height="24" rx="2" fill="#e74c3c" opacity="0.4" stroke="#e74c3c" stroke-width="0.8"/>
<rect x="108" y="0" width="32" height="24" rx="2" fill="#e74c3c" opacity="0.4" stroke="#e74c3c" stroke-width="0.8"/>
<text x="4" y="16" font-size="7" fill="white">F₁</text>
<text x="40" y="16" font-size="7" fill="white">F₂</text>
<text x="76" y="16" font-size="7" fill="white">F₃</text>
<text x="112" y="16" font-size="7" fill="white">F₄</text>
</g>
<text x="96" y="218" text-anchor="middle" font-size="8" fill="#666">Frames</text>
<!-- Arrow -->
<line x1="168" y1="192" x2="256" y2="192" stroke="#666" stroke-width="1.5" marker-end="url(#tArr)"/>
<!-- 3D Spatiotemporal Encoder -->
<rect x="264" y="170" width="190" height="48" rx="8" fill="#e74c3c" fill-opacity="0.12" stroke="#e74c3c" stroke-width="1.5"/>
<text x="359" y="190" text-anchor="middle" font-size="10" font-weight="bold" fill="#e74c3c">3D Spatiotemporal Encoder</text>
<text x="359" y="206" text-anchor="middle" font-size="8" fill="#666">(single pass, space + time jointly)</text>
<!-- Arrow -->
<line x1="462" y1="192" x2="672" y2="192" stroke="#666" stroke-width="1.5" marker-end="url(#tArr)"/>
<!-- Compressed tokens -->
<rect x="680" y="178" width="46" height="30" rx="4" fill="#27ae60" fill-opacity="0.15" stroke="#27ae60" stroke-width="1.2"/>
<text x="703" y="190" text-anchor="middle" font-size="7" fill="#27ae60" font-weight="bold">compressed</text>
<text x="703" y="200" text-anchor="middle" font-size="7" fill="#27ae60" font-weight="bold">tokens</text>
<!-- Trade-off annotations -->
<g transform="translate(80, 250)">
<rect x="0" y="0" width="250" height="22" rx="4" fill="#3498db" fill-opacity="0.06" stroke="#3498db" stroke-width="0.6"/>
<text x="125" y="14" text-anchor="middle" font-size="9" fill="#3498db">Factorised: simpler, reuses 2D encoders</text>
</g>
<g transform="translate(380, 250)">
<rect x="0" y="0" width="250" height="22" rx="4" fill="#e74c3c" fill-opacity="0.06" stroke="#e74c3c" stroke-width="0.6"/>
<text x="125" y="14" text-anchor="middle" font-size="9" fill="#e74c3c">Joint: more efficient, captures motion better</text>
</g>
</svg>