Files
astro-jiao77.cn/src/pages/report/Geo-Layout-Transformer/index.astro
2025-10-01 09:51:06 +08:00

606 lines
33 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
/**
* Geo-Layout Transformer 技术报告
* 一个用于物理设计分析的统一、自监督基础模型
*/
import BaseLayout from '../../../layouts/BaseLayout.astro';
import Header from '../../../components/Header.astro';
import Footer from '../../../components/Footer.astro';
import ReportSection from '../../../components/report/ReportSection.astro';
import GlassTable from '../../../components/common/GlassTable.astro';
import Container from '../../../components/Container.astro';
import AnimatedElement from '../../../components/AnimatedElement.astro';
import ReportSidebar from '../../../components/report/ReportSidebar.astro';
// 导入动画时序计算工具
import {
getSectionBaseDelay
} from '../../../scripts/animation-timing';
// 定义各章节的基础延迟时间
const SECTION_DELAYS = {
HERO: 200,
VISION: getSectionBaseDelay(0),
CHALLENGES: getSectionBaseDelay(1),
FEASIBILITY: getSectionBaseDelay(2),
ARCHITECTURE: getSectionBaseDelay(3),
ROADMAP: getSectionBaseDelay(4),
CONTRIBUTION: getSectionBaseDelay(5),
};
// 技术对比表数据
const techComparisonData = {
headers: ["技术范式", "核心思想", "主要缺点"],
rows: [
[
{ content: "基于规则/启发式", strong: true, style: "primary" as const },
"由专家定义一套详尽的几何规则(如宽度、间距),使用算法进行模式匹配和验证。",
{ content: "规则集复杂、维护困难;无法发现未知模式;在新工艺节点上开发周期长;误报率高。", style: "error" as const }
],
[
{ content: "经典机器学习", strong: true, style: "primary" as const },
"手动设计特征如密度、平行线长度然后使用SVM、决策树等模型进行分类或回归。",
{ content: "特征工程是瓶颈,依赖专家知识;特征表达能力有限,难以捕捉复杂的空间关系。", style: "error" as const }
],
[
{ content: "早期深度学习 (CNN)", strong: true, style: "primary" as const },
"将版图栅格化为图像使用卷积神经网络CNN提取特征进行热点检测等任务。",
{ content: "忽略了版图的矢量特性;对旋转/镜像敏感;需要大量标注数据;上下文感知能力有限。", style: "error" as const }
],
[
{ content: "Geo-Layout Transformer (本项目)", strong: true, style: "primary" as const },
{ content: "将版图建模为几何图用GNN学习局部结构用Transformer学习全局上下文。通过自监督学习理解版图\"语法\"。", strong: true, style: "success" as const },
{ content: "数据表征更自然;分层学习局部与全局信息;极大减少对标注数据的依赖;构建可扩展的统一基础模型。", strong: true, style: "success" as const }
]
]
};
// 报告配置
const reportConfig = {
title: "Geo-Layout Transformer",
subtitle: "一个用于物理设计分析的统一、自监督基础模型。",
description: "Geo-Layout Transformer 技术报告 - 基于GNN和Transformer的集成电路版图分析模型",
date: "2025年",
type: "技术报告",
actionText: "开始探索 ↓",
actionLink: "#vision"
};
---
<BaseLayout
title={`${reportConfig.title} - Jiao77`}
description={reportConfig.description}
type="report"
>
<Header
pageTitle="Geo-Layout Transformer"
showPageTitle={true}
description={reportConfig.subtitle}
/>
<main class="report-main">
<div class="report-layout container mx-auto px-4">
<ReportSidebar title="报告目录" toggleLabel="目录" />
<div class="report-content" data-report-content>
<!-- 报告标题区域 -->
<section id="intro" class="report-header scroll-mt-16">
<AnimatedElement animation="fadeInUp" delay={SECTION_DELAYS.HERO} trigger="load">
<Container
variant="glass"
size="full"
padding="xl"
className="text-center mb-12 mt-24"
>
<h1 class="text-4xl md:text-5xl font-bold mb-4" style="color: #2c4a6b;">
{reportConfig.title}
</h1>
<p class="text-xl text-gray-700 mb-8 max-w-3xl mx-auto">
{reportConfig.subtitle}
</p>
<a
href={reportConfig.actionLink}
class="inline-flex items-center gap-2 px-8 py-3 text-white font-semibold rounded-full hover:shadow-lg transform hover:-translate-y-0.5 transition-all duration-300"
style="background: linear-gradient(135deg, #2c4a6b, #5b778e);"
>
{reportConfig.actionText}
</a>
</Container>
</AnimatedElement>
</section>
<!-- 项目愿景 -->
<AnimatedElement animation="fadeInUp" delay={SECTION_DELAYS.VISION} trigger="scroll">
<section id="vision">
<ReportSection
title="🎯 项目愿景"
subtitle="推动EDA物理设计领域范式转变"
level={2}
>
<p class="text-lg text-gray-600 mb-6">
旨在推动EDA物理设计领域范式转变构建一个能理解半导体版图深层次"设计语言"的统一基础模型。
</p>
<div style="background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(15px); border: 1px solid rgba(255, 255, 255, 0.2); border-left: 4px solid #2c4a6b; border-radius: 1rem; padding: 1.5rem;">
<h3 class="text-2xl font-bold mb-3" style="color: #2c4a6b;">统一的"版图理解引擎"</h3>
<p class="text-gray-700 mb-4">
我们致力于从目前分散的、任务特定的工具,演进为一个集中的、可复用的"版图理解引擎"。通过利用新颖的 <strong style="color: #2c4a6b;">图神经网络GNN+ Transformer</strong> 混合架构,并在海量未标记的 GDSII 数据上进行预训练,该模型经过微调后,能够出色地完成各种关键的后端分析任务,从而加速设计周期,并突破 PPA功耗、性能、面积的极限。
</p>
<div class="grid grid-cols-1 md:grid-cols-3 gap-3 text-sm mt-6">
<div class="p-3 rounded-lg border-l-2" style="background: rgba(91, 119, 142, 0.05); border-color: #2c4a6b;">
<strong class="block mb-1" style="color: #2c4a6b;">高精度连通性验证</strong>
通过理解拓扑结构检测开路/短路。
</div>
<div class="p-3 rounded-lg border-l-2" style="background: rgba(91, 119, 142, 0.05); border-color: #2c4a6b;">
<strong class="block mb-1" style="color: #2c4a6b;">结构化版图匹配</strong>
实现IP复用和设计相似性搜索。
</div>
<div class="p-3 rounded-lg border-l-2" style="background: rgba(91, 119, 142, 0.05); border-color: #2c4a6b;">
<strong class="block mb-1" style="color: #2c4a6b;">预测性热点检测</strong>
高准率识别可制造性问题。
</div>
</div>
</div>
</ReportSection>
</section>
</AnimatedElement>
<!-- 核心挑战与技术思路 -->
<AnimatedElement animation="fadeInUp" delay={SECTION_DELAYS.CHALLENGES} trigger="scroll">
<section id="challenges">
<ReportSection
title="🧗 核心挑战与技术思路"
subtitle="传统方法的瓶颈与新技术路径"
level={2}
>
<p class="text-lg text-gray-600 mb-8">
传统的版图分析方法正面临瓶颈。理解这些困境是探索新技术路径的起点。
</p>
<!-- 当前困境 -->
<div class="mb-12">
<h3 class="text-2xl font-bold text-center mb-6 text-#2c4a6b">当前面临的困境</h3>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<Container variant="glass" padding="lg" className="border-l-4 border-red-600">
<h4 class="font-bold text-xl mb-2 text-red-700">数据稀缺与高昂成本</h4>
<p class="text-gray-600">监督学习方法需要大量精确标注的数据如DRC热点其获取过程不仅耗时还需昂贵的商业EDA工具和专家经验成为AI应用的最大障碍。</p>
</Container>
<Container variant="glass" padding="lg" className="border-l-4 border-red-600">
<h4 class="font-bold text-xl mb-2 text-red-700">几何复杂性与不变性</h4>
<p class="text-gray-600">版图是矢量数据具有严格的几何约束并需对旋转、镜像等变换保持不变性。标准CNNs为处理像素图像而生难以有效捕捉这种结构化信息。</p>
</Container>
<Container variant="glass" padding="lg" className="border-l-4 border-red-600">
<h4 class="font-bold text-xl mb-2 text-red-700">缺乏上下文理解</h4>
<p class="text-gray-600">无论是基于规则还是基于像素块的分析,都局限于局部视野,无法理解跨越多个区域的长程依赖关系,导致对设计意图的理解出现偏差。</p>
</Container>
<Container variant="glass" padding="lg" className="border-l-4 border-red-600">
<h4 class="font-bold text-xl mb-2 text-red-700">可扩展性与维护难题</h4>
<p class="text-gray-600">随着工艺节点演进,设计规则变得愈发复杂,硬编码的规则集变得臃肿且难以维护。同时,全芯片分析对计算资源的需求呈指数级增长。</p>
</Container>
</div>
</div>
<!-- 技术演进对比表 -->
<div class="mb-12">
<h3 class="text-2xl font-bold text-center mb-8" style="color: #2c4a6b;">技术方法的演进与对比</h3>
<GlassTable
headers={techComparisonData.headers}
rows={techComparisonData.rows}
bordered={true}
/>
</div>
<!-- 本报告思路与优势 -->
<Container variant="glass" padding="lg" className="border-l-4 border-green-600">
<h3 class="text-2xl font-bold text-green-700 mb-3">范式转变:从像素到图,从监督到自监督</h3>
<p class="text-gray-700 mb-4">
Geo-Layout Transformer的核心思想是采用一种更符合版图数据本质的表征方式并利用自监督学习来克服数据瓶颈从而构建一个真正"理解"物理设计的基础模型。
</p>
<ul class="space-y-3 text-gray-600">
<li class="flex items-start gap-2">
<i class="fas fa-check-circle text-green-600 mt-1"></i>
<div><strong style="color: #2c4a6b;" class="">数据原生的图表征:</strong> 我们不将版图视为像素网格,而是其本来的样子——一个由多边形(节点)及其空间关系(边)构成的复杂图。这种表征方式保留了全部的几何和拓扑信息。</div>
</li>
<li class="flex items-start gap-2">
<i class="fas fa-check-circle text-green-600 mt-1"></i>
<div><strong style="color: #2c4a6b;" class="">分层式理解架构:</strong> GNN作为局部专家精准编码每个小区域内的设计规则和几何构型。Transformer作为全局架构师通过自注意力机制将局部信息整合理解芯片级的长程依赖和宏观布局。</div>
</li>
<li class="flex items-start gap-2">
<i class="fas fa-check-circle text-green-600 mt-1"></i>
<div><strong style="color: #2c4a6b;" class="">自监督学习驱动:</strong> 模型首先在海量未标记的GDS数据上进行预训练通过"掩码版图建模"等任务学习通用的版图知识。这使其能够掌握设计的内在"语法",极大降低了对下游任务标注数据的需求。</div>
</li>
<li class="flex items-start gap-2">
<i class="fas fa-check-circle text-green-600 mt-1"></i>
<div><strong style="color: #2c4a6b;" class="">统一与可扩展:</strong> 我们旨在构建一个统一的基础模型,而非多个"头痛医头"的孤立工具。经过预训练的模型,只需通过简单的微调就能高效适应连通性检查、热点检测、版图匹配等多种任务,实现了知识的复用和快速迭代。</div>
</li>
</ul>
</Container>
</ReportSection>
</section>
</AnimatedElement>
<!-- 可行性讨论 -->
<AnimatedElement animation="fadeInUp" delay={SECTION_DELAYS.FEASIBILITY} trigger="scroll">
<section id="feasibility">
<ReportSection
title="🛠️ 可行性讨论"
subtitle="基于成熟研究的技术路线"
level={2}
>
<p class="text-lg text-gray-600 mb-8">
本项目的技术路线并非凭空创造,而是将学术界已验证的先进模型应用于版图分析领域,具有坚实的理论和实践基础。
</p>
<div class="space-y-8">
<Container variant="glass" padding="lg" className="border-l-4 border-#2c4a6b">
<h3 class="text-2xl font-bold text-#2c4a6b mb-3">1. 基于成熟研究的版图数据表征</h3>
<p class="text-gray-700 mb-4">
将版图的矢量几何信息转换为图结构是应用图神经网络GNN的前提。这一思路借鉴了GNN在社交网络、分子结构等领域处理非欧几里得数据的成功经验。
</p>
<ul class="space-y-2 text-gray-600">
<li class="flex items-start gap-2">
<i class="fas fa-tools text-#2c4a6b mt-1"></i>
<div><strong style="color: #2c4a6b;" class="">工具支持:</strong> 正如技术路线图中所述,强大的开源库 <strong style="color: #2c4a6b;" class="">KLayout</strong> 提供了高效的Python API能够精确地进行区域查询和几何运算为"Patch-to-Graph"的转换流程提供了工程上的可行性保障。</div>
</li>
<li class="flex items-start gap-2">
<i class="fas fa-project-diagram text-#2c4a6b mt-1"></i>
<div><strong style="color: #2c4a6b;" class="">方法论:</strong> 将版图中的多边形和通孔定义为<strong style="color: #2c4a6b;" class="">节点</strong>,将它们之间的物理邻接和重叠关系定义为<strong style="color: #2c4a6b;" class="">边</strong>这种方法论是GNN应用的经典范式。节点的特征如形状、面积、层信息和边的特征如距离、重叠类型可以被有效编码为模型提供丰富的输入信息。</div>
</li>
</ul>
</Container>
<Container variant="glass" padding="lg" className="border-l-4 border-#2c4a6b">
<h3 class="text-2xl font-bold text-#2c4a6b mb-3">2. 借鉴主流的混合模型架构</h3>
<p class="text-gray-700 mb-3">
"GNN编码器 + Transformer"的混合架构是近年来处理复杂结构化数据如代码、知识图谱的SOTAState-of-the-Art方案。我们将其引入版图分析领域以同时捕捉局部和全局信息。
</p>
<ul class="space-y-3 text-gray-600">
<li class="flex items-start gap-2">
<i class="fas fa-search-location text-#2c4a6b mt-1"></i>
<div><strong style="color: #2c4a6b;" class="">局部特征提取:</strong> GNN如图注意力网络-GAT已被证明在学习节点邻域内的复杂关系方面非常强大。在版图上这意味着GNN可以像一个微观的DRC规则检查器一样学习到特定区域内的几何约束和拓扑关系。</div>
</li>
<li class="flex items-start gap-2">
<i class="fas fa-globe text-#2c4a6b mt-1"></i>
<div><strong style="color: #2c4a6b;" class="">全局上下文建模:</strong> Transformer的自注意力机制能够捕捉序列中的长程依赖。在我们的方案中它将各个版图区块Patch的GNN编码视为一个序列从而学习到芯片级的宏观模式如标准单元阵列的排布、总线的走向等这是传统方法难以企及的。</div>
</li>
<li class="flex items-start gap-2">
<i class="fas fa-code text-#2c4a6b mt-1"></i>
<div><strong style="color: #2c4a6b;" class="">已有实现:</strong> <strong style="color: #2c4a6b;" class="">PyTorch Geometric (PyG)</strong> 和PyTorch内置的 <strong style="color: #2c4a6b;" class="">Transformer</strong> 模块使得构建这种混合模型变得直接且高效,无需从零开始实现底层算法。</div>
</li>
</ul>
</Container>
<Container variant="glass" padding="lg" className="bg-green-50 border-l-4 border-green-500">
<p class="font-semibold text-green-800">
<strong style="color: #2c4a6b;" class="">结论:</strong>本项目的可行性建立在对成熟研究成果的创新性应用之上。我们并非在发明全新的深度学习算法而是搭建了一座桥梁将GNN和Transformer等强大工具的能力引入到集成电路物理设计这一高度专业化的领域以解决传统方法难以应对的挑战。
</p>
</Container>
</div>
</ReportSection>
</section>
</AnimatedElement>
<!-- 核心架构 -->
<AnimatedElement animation="fadeInUp" delay={SECTION_DELAYS.ARCHITECTURE} trigger="scroll">
<section id="architecture">
<ReportSection
title="🔬 核心架构"
subtitle="借鉴 Vision Transformer 的分块处理思想"
level={2}
>
<p class="text-lg text-gray-600 mb-8">
该架构借鉴了Vision Transformer (ViT) 的思想将版图数据分块处理并通过Transformer捕捉全局依赖关系。
</p>
<div class="grid grid-cols-1 lg:grid-cols-3 gap-8 items-start">
<!-- 主流程 -->
<div class="lg:col-span-2">
<Container variant="glass" padding="lg">
<h2 class="text-xl font-bold text-center text-gray-700 mb-6">模型主体流程</h2>
<div class="flex flex-col items-center space-y-4">
<!-- Step 1 -->
<div class="arch-box w-full max-w-sm">
<h3 class="font-semibold text-gray-700">1. 输入版图 (GDSII)</h3>
<div class="mt-2 h-32 w-full bg-gray-800 rounded-lg p-2 relative overflow-hidden" style="background-image: radial-gradient(#475569 1px, transparent 1px); background-size: 1rem 1rem;">
<div class="absolute bg-sky-500/80" style="left: 5%; top: 10%; width: 90%; height: 10%;"></div>
<div class="absolute bg-sky-500/80" style="left: 5%; top: 80%; width: 90%; height: 10%;"></div>
<div class="absolute bg-emerald-400/80" style="left: 10%; top: 25%; width: 70%; height: 8%;"></div>
<div class="absolute bg-emerald-400/80" style="left: 20%; top: 55%; width: 50%; height: 8%;"></div>
</div>
</div>
<div class="text-3xl text-gray-400">↓</div>
<!-- Step 2 -->
<div class="arch-box w-full max-w-sm">
<h3 class="font-semibold text-gray-700">2. 版图分块 (Patch) 与图构建</h3>
<div class="mt-2 flex justify-around items-center h-24">
<div class="w-20 h-20 bg-gray-100 rounded-lg p-1 grid grid-cols-3 grid-rows-3 gap-0.5">
<div class="bg-gray-200"></div><div class="bg-gray-200"></div><div class="bg-gray-200"></div>
<div class="bg-gray-200"></div>
<div class="bg-blue-400 border-2 border-blue-600 animate-pulse"></div>
<div class="bg-gray-200"></div>
<div class="bg-gray-200"></div><div class="bg-gray-200"></div><div class="bg-gray-200"></div>
</div>
<div class="text-2xl text-gray-400 mx-2">→</div>
<div class="w-20 h-20 bg-gray-100 rounded-lg relative" id="graph-container"></div>
</div>
</div>
<div class="text-3xl text-gray-400">↓</div>
<!-- Step 3 -->
<div class="arch-box w-full max-w-sm bg-blue-50 border-blue-200">
<h3 class="font-semibold text-blue-800">3. GNN Patch 编码器</h3>
<p class="text-sm text-blue-600">为每个 Patch 图生成嵌入向量</p>
</div>
<div class="text-3xl text-gray-400">↓</div>
<!-- Step 4 -->
<div class="arch-box w-full max-w-md">
<h3 class="font-semibold text-gray-700">4. Patch 嵌入 + 2D 位置编码</h3>
<div class="mt-2 flex items-center justify-center space-x-1 h-16">
<div class="flex flex-col items-center">
<div class="w-10 h-10 bg-purple-200 rounded-md"></div>
<span class="text-xs mt-1 text-gray-500">[CLS]</span>
</div>
<div class="flex flex-col items-center">
<div class="w-10 h-10 bg-emerald-200 rounded-md"></div>
<span class="text-xs mt-1 text-gray-500">Patch 1</span>
</div>
<div class="flex flex-col items-center">
<div class="w-10 h-10 bg-emerald-200 rounded-md"></div>
<span class="text-xs mt-1 text-gray-500">Patch 2</span>
</div>
<div class="text-gray-500">...</div>
<div class="flex flex-col items-center">
<div class="w-10 h-10 bg-emerald-200 rounded-md"></div>
<span class="text-xs mt-1 text-gray-500">Patch N</span>
</div>
</div>
</div>
<div class="text-3xl text-gray-400">↓</div>
<!-- Step 5 -->
<div class="arch-box w-full max-w-md bg-green-50 border-green-200">
<h3 class="font-semibold text-green-800">5. Transformer Encoder</h3>
<p class="text-sm text-green-600">学习 Patch 间的全局依赖关系</p>
</div>
<div class="text-3xl text-gray-400">↓</div>
<!-- Step 6 -->
<div class="arch-box w-full max-w-sm bg-amber-50 border-amber-200">
<h3 class="font-semibold text-amber-800">6. 任务特定头 (MLP Head)</h3>
</div>
<div class="text-3xl text-gray-400">↓</div>
<!-- Step 7 -->
<div class="arch-box w-full max-w-sm">
<h3 class="font-semibold text-gray-700">7. 任务输出</h3>
<div class="mt-2 space-y-1 text-sm text-gray-500">
<p>热点检测: [热点, 非热点]</p>
<p>连通性验证: [开路, 正常]</p>
<p>版图匹配: [相似度得分]</p>
</div>
</div>
</div>
</Container>
</div>
<!-- Transformer详解 -->
<div class="lg:col-span-1">
<Container variant="glass" padding="lg" className="sticky top-8">
<h2 class="text-xl font-bold text-center text-gray-700 mb-6">Transformer Encoder 详解</h2>
<div class="flex flex-col items-center space-y-3">
<div class="w-full text-center">
<span class="text-gray-500 font-medium">嵌入的 Patches</span>
</div>
<div class="text-2xl text-gray-400">↓</div>
<div class="w-full border-2 border-gray-300 rounded-xl p-4 bg-gray-50 relative">
<span class="absolute top-2 right-3 font-bold text-gray-400">L x</span>
<div class="flex flex-col items-center space-y-3">
<div class="arch-box w-full !p-2">Norm</div>
<div class="arch-box w-full !p-2 bg-green-100 border-green-200 text-green-800">多头自注意力</div>
<div class="w-8 h-8 rounded-full border-2 border-gray-400 flex items-center justify-center text-gray-500 text-xl font-light">+</div>
<div class="arch-box w-full !p-2">Norm</div>
<div class="arch-box w-full !p-2 bg-blue-100 border-blue-200 text-blue-800">MLP</div>
<div class="w-8 h-8 rounded-full border-2 border-gray-400 flex items-center justify-center text-gray-500 text-xl font-light">+</div>
</div>
</div>
<div class="text-2xl text-gray-400">↓</div>
<div class="w-full text-center">
<span class="text-gray-500 font-medium">输出</span>
</div>
</div>
</Container>
</div>
</div>
</ReportSection>
</section>
</AnimatedElement>
<!-- 技术路线图 -->
<AnimatedElement animation="fadeInUp" delay={SECTION_DELAYS.ROADMAP} trigger="scroll">
<section id="roadmap">
<ReportSection
title="🗺️ 技术路线图"
subtitle="从基础环境到模型优化的五个阶段"
level={2}
>
<p class="text-lg text-gray-600 mb-8">
项目分为五个主要阶段,从基础环境搭建到模型的迭代优化。
</p>
<div class="space-y-6">
<Container variant="glass" padding="lg" className="border-l-4 border-#2c4a6b">
<h3 class="text-2xl font-bold mb-3 text-#2c4a6b">阶段一:环境搭建与工具选型</h3>
<p class="text-gray-700">选择合适的工具能事半功倍。核心技术栈包括 Python, KLayout, PyTorch, 和 PyTorch Geometric (PyG)。</p>
</Container>
<Container variant="glass" padding="lg" className="border-l-4 border-#2c4a6b">
<h3 class="text-2xl font-bold mb-3 text-#2c4a6b">阶段二:数据预处理与表征</h3>
<p class="text-gray-700">整个项目中最关键、工作量最大的部分。将GDS版图数据划分为"Patch"并为每个Patch构建几何图表示定义节点几何图形和边空间关系。</p>
</Container>
<Container variant="glass" padding="lg" className="border-l-4 border-#2c4a6b">
<h3 class="text-2xl font-bold mb-3 text-#2c4a6b">阶段三:模型架构设计</h3>
<p class="text-gray-700">模型分为两部分使用GNN作为"Patch编码器"将图编码为向量,然后将向量序列输入"全局Transformer"以学习全局依赖关系。</p>
</Container>
<Container variant="glass" padding="lg" className="border-l-4 border-#2c4a6b">
<h3 class="text-2xl font-bold mb-3 text-#2c4a6b">阶段四:训练与评估</h3>
<p class="text-gray-700">使用二元交叉熵或Focal Loss等损失函数通过Adam/AdamW优化器进行训练。通过精确率、召回率、F1-Score等指标评估模型性能。</p>
</Container>
<Container variant="glass" padding="lg" className="border-l-4 border-#2c4a6b">
<h3 class="text-2xl font-bold mb-3 text-#2c4a6b">阶段五:迭代与优化</h3>
<p class="text-gray-700">在基础模型跑通后探索多尺度Patch、层级化表征、自监督学习和模型可解释性等高级主题。</p>
</Container>
</div>
</ReportSection>
</section>
</AnimatedElement>
<!-- 发展路线与贡献 -->
<AnimatedElement animation="fadeInUp" delay={SECTION_DELAYS.CONTRIBUTION} trigger="scroll">
<section id="contribution">
<ReportSection
title="🤝 发展路线与贡献"
subtitle="欢迎参与项目建设"
level={2}
>
<p class="text-lg text-gray-600 mb-8">
这是一个宏伟的项目,我们欢迎任何形式的贡献。欢迎随时提出 Issue 或提交 Pull Request。
</p>
<Container variant="glass" padding="lg" className="border-l-4 border-#2c4a6b">
<h3 class="text-2xl font-bold mb-4 text-#2c4a6b">未来发展路线图</h3>
<ul class="space-y-3 text-gray-700">
<li class="flex items-start gap-2">
<i class="fas fa-arrow-right text-#2c4a6b mt-1"></i>
<div><strong style="color: #2c4a6b;" class="">更先进的自监督任务:</strong> 探索对比学习和其他 SSL 方法。</div>
</li>
<li class="flex items-start gap-2">
<i class="fas fa-arrow-right text-#2c4a6b mt-1"></i>
<div><strong style="color: #2c4a6b;" class="">模型可解释性:</strong> 实现可视化注意力图的工具,以理解模型的决策过程。</div>
</li>
<li class="flex items-start gap-2">
<i class="fas fa-arrow-right text-#2c4a6b mt-1"></i>
<div><strong style="color: #2c4a6b;" class="">全芯片可扩展性:</strong> 集成图分割技术(如 Cluster-GCN来处理芯片规模的设计。</div>
</li>
<li class="flex items-start gap-2">
<i class="fas fa-arrow-right text-#2c4a6b mt-1"></i>
<div><strong style="color: #2c4a6b;" class="">生成式设计:</strong> 在生成式框架中使用学习到的表示来合成"构建即正确"的版图。</div>
</li>
</ul>
</Container>
</ReportSection>
</section>
</AnimatedElement>
</div>
</div>
</main>
<Footer />
</BaseLayout>
<style>
/* 报告布局样式 */
.report-layout {
display: flex;
flex-direction: column;
gap: 2.5rem;
position: relative;
width: 100%;
}
.report-content {
position: relative;
width: 100%;
min-width: 0;
margin: 0 auto;
}
.mx-auto {
margin-left: auto;
margin-right: auto;
}
.px-4 {
padding-left: 1rem;
padding-right: 1rem;
}
/* 架构图样式 */
.arch-box {
background-color: white;
border: 1px solid #e2e8f0;
border-radius: 0.75rem;
padding: 1rem 1.5rem;
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
text-align: center;
transition: all 0.3s ease;
}
.arch-box:hover {
transform: translateY(-2px);
box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -2px rgb(0 0 0 / 0.1);
}
/* 图节点和边样式 */
:global(.graph-node) {
width: 12px;
height: 12px;
background-color: #60a5fa;
border-radius: 50%;
position: absolute;
}
:global(.graph-edge) {
position: absolute;
background-color: #94a3b8;
height: 1.5px;
transform-origin: left center;
}
/* 表格样式 */
table {
border-collapse: collapse;
}
th, td {
text-align: left;
vertical-align: top;
}
tbody tr {
transition: background-color 0.2s ease;
}
.container {
max-width: 1200px;
width: 100%;
}
/* 响应式调整 */
@media (max-width: 1024px) {
.lg\\:col-span-2 {
grid-column: span 1;
}
.lg\\:col-span-1 {
grid-column: span 1;
}
}
</style>
<script>
import { initGraphVisualizer } from '../../../scripts/graph-visualizer';
// 初始化图可视化
initGraphVisualizer();
</script>