-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgen_proposal.js
More file actions
633 lines (585 loc) · 35.6 KB
/
Copy pathgen_proposal.js
File metadata and controls
633 lines (585 loc) · 35.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
const {
Document, Packer, Paragraph, TextRun, AlignmentType, BorderStyle,
Table, TableRow, TableCell, WidthType, VerticalAlign, HeightRule
} = require('docx');
const fs = require('fs');
const margin = { top: 1440, right: 1800, bottom: 1440, left: 1800 };
const F_HEAD = { font: "黑体", size: 28, bold: true };
const F_BODY = { font: "宋体", size: 24 };
const F_BOLD = { font: "宋体", size: 24, bold: true };
const F_TABLE = { font: "宋体", size: 22 };
const F_TBOLD = { font: "宋体", size: 22, bold: true };
const F_EN = { font: "Times New Roman", size: 24 };
const F_EN_REF = { font: "Times New Roman", size: 22 };
const F_CN_REF = { font: "宋体", size: 22 };
function H(text) {
return new Paragraph({
spacing: { before: 400, after: 160 },
children: [new TextRun({ text, ...F_HEAD })]
});
}
function subH(text) {
return new Paragraph({
spacing: { before: 240, after: 120 },
children: [new TextRun({ text, font: "黑体", size: 24, bold: true })]
});
}
function P(text, indent = true) {
return new Paragraph({
spacing: { before: 0, after: 120 },
indent: indent ? { firstLine: 480 } : undefined,
children: [new TextRun({ text, ...F_BODY })]
});
}
// 带行内引用格式的段落(混合runs)
function Pmixed(runs) {
return new Paragraph({
spacing: { before: 0, after: 120 },
indent: { firstLine: 480 },
children: runs.map(r => {
if (r.sup) {
return new TextRun({ text: r.text, font: r.en ? "Times New Roman" : "宋体",
size: r.en ? 20 : 20, superScript: true });
}
return new TextRun({ text: r.text, font: r.en ? "Times New Roman" : "宋体", size: 24 });
})
});
}
function refEntry(num, text, isEn) {
return new Paragraph({
spacing: { before: 0, after: 100 },
indent: { left: 360, hanging: 360 },
children: [
new TextRun({ text: `[${num}]`, ...(isEn ? F_EN_REF : F_CN_REF), bold: true }),
new TextRun({ text: " " + text, ...(isEn ? F_EN_REF : F_CN_REF) })
]
});
}
function divider() {
return new Paragraph({
spacing: { before: 200, after: 0 },
border: { bottom: { style: BorderStyle.SINGLE, size: 4, color: "AAAAAA" } },
children: [new TextRun({ text: "" })]
});
}
function cellText(text, opts = {}) {
return new Paragraph({
spacing: { before: 60, after: 60 },
indent: opts.noIndent ? undefined : undefined,
children: [new TextRun({ text, ...(opts.bold ? F_TBOLD : F_TABLE) })]
});
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 内容节点
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
const nodes = [];
// ── 封面信息表 ──────────────────────────────────────────────
nodes.push(new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { before: 0, after: 400 },
children: [new TextRun({ text: "毕业论文开题报告", font: "黑体", size: 48, bold: true })]
}));
const infoRows = [
["论文题目", "基于深度学习的脑功能网络分类方法研究"],
["学生姓名", "于昊"],
["学 号", "2221380008"],
["所在学院", "信息学院"],
["专 业", "人工智能"],
["指导教师", "邹爱笑(讲师)"],
["填报日期", "2026年4月2日"],
];
nodes.push(new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: infoRows.map(([k, v]) => new TableRow({
height: { value: 480, rule: HeightRule.ATLEAST },
children: [
new TableCell({
width: { size: 22, type: WidthType.PERCENTAGE },
verticalAlign: VerticalAlign.CENTER,
children: [cellText(k, { bold: true })]
}),
new TableCell({
width: { size: 78, type: WidthType.PERCENTAGE },
verticalAlign: VerticalAlign.CENTER,
children: [cellText(v)]
})
]
}))
}));
nodes.push(new Paragraph({ spacing: { before: 0, after: 600 }, children: [new TextRun("")] }));
// ══════════════════════════════════════════════════════════
// 一、选题的目的及意义
// ══════════════════════════════════════════════════════════
nodes.push(H("一、选题的目的及意义"));
nodes.push(divider());
nodes.push(subH("(一)选题的目的"));
nodes.push(P(
"精神分裂症(Schizophrenia,SCZ)是一种严重影响患者认知、情感和行为的慢性精神障碍,全球患病率约为1%,也是导致长期残疾的主要疾病之一。" +
"目前临床诊断主要依赖精神科医生对患者症状的主观评估,缺乏客观、可量化的生物标志物,易受医生经验水平和主观判断的影响," +
"导致诊断结果差异较大,漏诊和误诊情况时有发生。因此,开发基于客观神经影像数据的辅助诊断方法具有重要的科学价值和临床意义。"
));
nodes.push(P(
"静息态功能磁共振成像(rs-fMRI)通过测量大脑在静息状态下血氧水平依赖(BOLD)信号的时序变化,能够无创地反映大脑功能活动及区域间的协同模式," +
"即脑功能连接。研究表明,精神分裂症患者在默认模式网络(DMN)、额顶网络等关键功能网络上存在系统性的连接异常," +
"这为基于rs-fMRI的客观辅助诊断提供了神经生物学依据。"
));
nodes.push(P(
"本课题的研究目的是:以公开脑影像数据集COBRE为基础,设计并实现一种多尺度循环神经网络模型(MsRNN)," +
"直接从感兴趣区域(ROI)的BOLD时序信号出发,通过多尺度一维卷积自动提取局部时序特征," +
"结合双向门控循环单元(Bi-GRU)捕获长程时序依赖,并引入空间-时间双重注意力机制实现特征的自适应加权," +
"最终实现对精神分裂症患者与健康对照(HC)的高精度自动分类。"
));
nodes.push(subH("(二)选题的理论意义"));
nodes.push(P(
"在理论层面,本课题具有以下三方面的学术意义:"
));
nodes.push(P(
"第一,拓展序列建模方法在神经影像领域的应用边界。传统方法通常将fMRI时序压缩为静态功能连接矩阵后再进行分类," +
"不可避免地丢失了时序动态信息。本文将ROI时序信号作为原始输入,通过端到端深度学习框架直接挖掘时序模式," +
"验证了序列建模范式在脑疾病分类中的理论可行性,为神经影像时序分析研究提供新的方法论参考。"
));
nodes.push(P(
"第二,探索多尺度特征融合策略在生物信号分类中的有效性。BOLD信号在不同时间粒度上携带不同类别的神经活动信息。" +
"本文通过并行设置核尺寸为3、5、9的一维卷积滤波器,分别捕获约6秒、10秒和18秒时间窗口内的局部模式," +
"并以特征拼接方式融合多尺度信息,丰富了生物时序信号多粒度表征学习的理论研究。"
));
nodes.push(P(
"第三,为注意力机制的神经科学解释性研究提供实证。本文分别在ROI通道维度和时间步维度引入可学习的注意力权重," +
"注意力分析结果与精神分裂症神经生物学文献(DMN连接异常)高度吻合,表明数据驱动的注意力机制能够发现具有神经科学意义的功能网络," +
"为深度学习模型可解释性研究提供了方法论范本。"
));
nodes.push(subH("(三)选题的现实意义"));
nodes.push(P(
"在现实层面,本课题的研究成果具有多维度的应用价值:"
));
nodes.push(P(
"第一,辅助临床诊断,降低漏诊率。精神分裂症的早期诊断对于改善患者预后、减少疾病进展至关重要。" +
"本模型以非侵入性rs-fMRI扫描数据为输入,能够在数分钟内给出定量分类结果," +
"可作为精神科医生临床决策的客观依据,尤其在基层医疗机构缺乏经验丰富的精神科专家时,具有较高的替代和补充价值。"
));
nodes.push(P(
"第二,推动'AI+医疗影像'产业的发展。目前国内智能医疗影像市场正处于快速成长阶段," +
"针对脑功能性疾病的智能诊断工具尚属空白领域。本研究形成的技术方案,可直接对接MRI设备厂商或医疗信息系统," +
"为开发具有自主知识产权的脑疾病辅助诊断软件提供核心算法支撑。"
));
nodes.push(P(
"第三,降低医疗资源消耗。无客观标准的反复问诊与量表评估耗费大量医疗资源," +
"基于影像的智能辅助系统可缩短诊断周期、减少不必要的重复检查,对于缓解我国精神科医疗资源紧张状况具有现实意义。"
));
// ══════════════════════════════════════════════════════════
// 二、国内外研究现状分析
// ══════════════════════════════════════════════════════════
nodes.push(H("二、国内外研究现状分析"));
nodes.push(divider());
nodes.push(subH("(一)国内研究现状"));
nodes.push(Pmixed([
{ text: "近年来,国内学者在脑功能网络分析与精神疾病分类领域取得了一定进展。" },
]));
nodes.push(Pmixed([
{ text: "在功能连接分析层面,陈炜等" },
{ text: "[1]", sup: true }, { text: "对基于静息态fMRI的功能连接矩阵提取方法进行了系统梳理," },
{ text: "比较了皮尔逊相关、偏相关和小波相干等不同连接度量的适用场景,为后续特征提取工作奠定了方法论基础。" },
]));
nodes.push(Pmixed([
{ text: "在精神疾病分类层面,李志良等" },
{ text: "[2]", sup: true }, { text: "综合评述了支持向量机(SVM)、随机森林等传统机器学习方法在精神分裂症静息态fMRI辅助诊断中的应用," },
{ text: "指出这类方法依赖人工特征工程,泛化能力受特征构造质量的影响较大。" },
]));
nodes.push(Pmixed([
{ text: "在脑网络异常研究层面,赵雪儿等" },
{ text: "[3]", sup: true }, { text: "利用独立成分分析(ICA)识别出精神分裂症患者DMN内部的异常功能连接," },
{ text: "发现内侧前额叶皮层与后扣带回之间的连接强度与阳性症状量表(PANSS)评分显著负相关," },
{ text: "为后续脑区级可解释性分析提供了神经科学依据。" },
]));
nodes.push(P(
"总体而言,国内在该领域的研究多以传统机器学习方法和功能连接特征工程为主," +
"利用端到端深度学习直接对BOLD时序信号进行建模的工作较少,且现有深度学习研究较少关注模型的可解释性。" +
"本课题聚焦于上述不足,提出面向BOLD时序的端到端多尺度循环神经网络方案。"
));
nodes.push(subH("(二)国外研究现状"));
nodes.push(subH("1. 传统机器学习方法"));
nodes.push(Pmixed([
{ text: "基于神经影像的脑疾病分类研究兴起于2010年代初。Ecker等" },
{ text: "[4]", sup: true },
{ text: "在50余名受试者规模的孤独症数据集上,以VBM灰质概率图为特征结合线性SVM," },
{ text: "实现了87%的个体层面分类准确率,被视为该领域的奠基性工作。" },
{ text: "Arbabshirani等" },
{ text: "[5]", sup: true },
{ text: "随后对262篇相关研究开展大规模系统综述,发现各研究平均报告准确率约73%," },
{ text: "但同时指出小样本偏倚、交叉验证程序不当等严重影响结果可靠性的方法论问题," },
{ text: "呼吁更严谨的实验设计规范。" },
]));
nodes.push(subH("2. 图神经网络方法"));
nodes.push(Pmixed([
{ text: "为保留脑网络的拓扑结构,研究者将功能连接矩阵建模为图并引入图神经网络(GNN)。" },
{ text: "Ktena等" },
{ text: "[6]", sup: true },
{ text: "在ABIDE数据集上应用谱图卷积网络(GCNN)结合孪生度量学习,准确率达70.4%," },
{ text: "验证了图结构可以自然保留脑网络拓扑信息。" },
{ text: "Kawahara等" },
{ text: "[7]", sup: true },
{ text: "提出BrainNetCNN,设计面向连接矩阵的边到边(E2E)、边到节点(E2N)和节点到图(N2G)" },
{ text: "三类专用卷积层,在新生儿神经发育预测任务上优于多种传统方法," },
{ text: "为连接矩阵直接输入深度网络提供了经典参考框架。" },
]));
nodes.push(subH("3. 循环神经网络方法"));
nodes.push(Pmixed([
{ text: "Dvornek等" },
{ text: "[8]", sup: true },
{ text: "率先将长短时记忆网络(LSTM)直接应用于ROI时序信号进行孤独症分类," },
{ text: "在经过质量控制的ABIDE子集上以留一法交叉验证取得68.5%准确率," },
{ text: "证明端到端时序建模能够提取与静态功能连接互补的信息。" },
{ text: "Karim等" },
{ text: "[11]", sup: true },
{ text: "在35个标准UEA基准数据集上提出MLSTM-FCN,将多尺度卷积的FCN分支与LSTM分支并行组合," },
{ text: "两分支的协同一致优于任一单独分支,为本课题多尺度卷积与循环模型融合的设计提供了直接启示。" },
]));
nodes.push(subH("4. 核心支撑技术"));
nodes.push(Pmixed([
{ text: "在模型架构层面,门控循环单元(GRU)由Cho等" },
{ text: "[9]", sup: true },
{ text: "提出,以双门控机制(更新门与重置门)在减少参数量的同时保持了与LSTM相当的序列建模能力," },
{ text: "在数据稀缺的神经影像场景下具有显著优势。注意力机制由Bahdanau等" },
{ text: "[10]", sup: true },
{ text: "在神经机器翻译任务中提出,通过对编码器所有隐藏状态计算加权和,使模型在生成输出时能够动态聚焦于输入序列的关键位置," },
{ text: "已被广泛应用于时序分类领域。" },
]));
nodes.push(Pmixed([
{ text: "在脑图谱层面,Schaefer等" },
{ text: "[12]", sup: true },
{ text: "提出融合局部梯度边界估计与全局网络归属的大脑皮层分区方案(Schaefer 2018图谱)," },
{ text: "提供了100–1,000个ROI的多尺度分区文件,以更高的区域内信号均质性支持后续时序分类任务。" },
]));
nodes.push(Pmixed([
{ text: "在fMRI质量控制层面,Power等" },
{ text: "[15]", sup: true },
{ text: "系统性地证明了受试者头动与功能连接之间的虚假相关,提出帧位移(FD)和DVARS两种量化指标," },
{ text: "相关清洗方法已成为rs-fMRI预处理的标准规范。" },
{ text: "Biswal等" },
{ text: "[16]", sup: true },
{ text: "发起《千名功能连接组项目》,建立开放数据共享范式,推动了COBRE、ABIDE、ADHD200等公开基准数据集的形成," },
{ text: "为本课题提供了数据基础。精神分裂症神经科学层面,Whitfield-Gabrieli和Ford" },
{ text: "[13]", sup: true },
{ text: "综述了DMN在精神分裂症和抑郁症中的系统性异常,揭示了SCZ患者中mPFC-PCC连接改变的神经生物学机制," },
{ text: "为本文注意力权重的可解释性分析提供了理论依据。" },
]));
nodes.push(subH("(三)文献评述"));
nodes.push(P(
"综合国内外研究现状,现有工作可归纳为三类技术路线:(1)静态连接特征+传统机器学习(SVM、随机森林等)," +
"方法成熟、可解释性强,但依赖人工特征设计,无法挖掘时序动态信息;" +
"(2)连接矩阵+图神经网络(BrainNetCNN、GCNN等),保留了脑网络拓扑结构," +
"但图构建引入额外超参数,且仍以静态连接为核心表示;" +
"(3)ROI时序+循环神经网络(LSTM、GRU等),能够端到端地学习时序模式,但单纯的循环模型在局部特征提取能力上存在不足。"
));
nodes.push(P(
"现有研究存在以下共性不足:第一,多数方法在时序建模中采用单一时间尺度的感受野," +
"无法同时捕获不同粒度的局部时序模式;第二,缺乏显式的注意力机制对脑区间和时序维度进行差异化加权;" +
"第三,样本量普遍较小(多数不足100例),跨数据集泛化能力未得到充分验证;" +
"第四,深度学习模型的可解释性不足,分类结果难以与神经科学知识对接。"
));
nodes.push(P(
"针对上述不足,本课题提出MsRNN模型:在ROI时序端到端建模的基础上,引入多尺度一维卷积(k=3/5/9)" +
"捕获不同粒度的局部模式,以Bi-GRU建模双向长程依赖,并设计空间注意力和时间注意力池化实现可解释的特征加权。" +
"同时以COBRE、ABIDE、ADHD200、UCLA多数据集进行跨域泛化评估,并与多个基线方法进行公平对比," +
"在方法设计和实验规范两个层面均进行了系统性改进。"
));
// ══════════════════════════════════════════════════════════
// 三、参考文献
// ══════════════════════════════════════════════════════════
nodes.push(H("三、参考文献"));
nodes.push(divider());
nodes.push(new Paragraph({ spacing: { before: 80, after: 80 }, children: [new TextRun("")] }));
// 中文参考文献 [1]~[3]
nodes.push(refEntry(1,
"陈炜, 汪源源. 功能性磁共振成像脑功能网络分析方法综述[J]. 电子与信息学报, 2018, 40(4): 985-994.",
false
));
nodes.push(refEntry(2,
"李志良, 王颖, 张文. 基于机器学习的精神分裂症静息态fMRI辅助诊断综述[J]. 计算机应用研究, 2019, 36(8): 2241-2247.",
false
));
nodes.push(refEntry(3,
"赵雪儿, 范青, 仇剑崟, 等. 精神分裂症患者默认网络内功能连接异常[J]. 中国神经精神疾病杂志, 2016, 42(3): 157-162.",
false
));
// 英文参考文献 [4]~[16]
nodes.push(refEntry(4,
"ECKER C, ROCHA-REGO V, JOHNSTON P, et al. Investigating the predictive value of whole-brain structural MR scans in autism: a pattern classification approach[J]. NeuroImage, 2010, 49(1): 44-56.",
true
));
nodes.push(refEntry(5,
"ARBABSHIRANI M R, PLIS S, SUI J, et al. Single subject prediction of brain disorders in neuroimaging: promises and pitfalls[J]. NeuroImage, 2017, 145: 137-165.",
true
));
nodes.push(refEntry(6,
"KTENA S I, PARISOT S, FERRANTE E, et al. Metric learning with spectral graph convolutions on brain connectivity networks[J]. NeuroImage, 2018, 169: 431-442.",
true
));
nodes.push(refEntry(7,
"KAWAHARA J, BROWN C J, MILLER S P, et al. BrainNetCNN: convolutional neural networks for brain networks; towards predicting neurodevelopment[J]. NeuroImage, 2017, 146: 1038-1049.",
true
));
nodes.push(refEntry(8,
"DVORNEK N C, VENTOLA P, PELPHREY K A, et al. Identifying autism from resting-state fMRI using long short-term memory networks[C]//Machine Learning in Medical Imaging. Springer, 2017: 362-370.",
true
));
nodes.push(refEntry(9,
"CHO K, VAN MERRIËNBOER B, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[C]//Proceedings of EMNLP. 2014: 1724-1734.",
true
));
nodes.push(refEntry(10,
"BAHDANAU D, CHO K, BENGIO Y. Neural machine translation by jointly learning to align and translate[C]//International Conference on Learning Representations (ICLR). 2015.",
true
));
nodes.push(refEntry(11,
"KARIM F, MAJUMDAR S, DARABI H, et al. Multivariate LSTM-FCNs for time series classification[J]. Neural Networks, 2019, 116: 237-245.",
true
));
nodes.push(refEntry(12,
"SCHAEFER A, KONG R, GORDON E M, et al. Local-global parcellation of the human cerebral cortex from intrinsic functional connectivity MRI[J]. Cerebral Cortex, 2018, 28(9): 3095-3114.",
true
));
nodes.push(refEntry(13,
"WHITFIELD-GABRIELI S, FORD J M. Default mode network activity and connectivity in psychopathology[J]. Annual Review of Clinical Psychology, 2012, 8: 49-76.",
true
));
nodes.push(refEntry(14,
"PEDREGOSA F, VAROQUAUX G, GRAMFORT A, et al. Scikit-learn: machine learning in Python[J]. Journal of Machine Learning Research, 2011, 12: 2825-2830.",
true
));
nodes.push(refEntry(15,
"POWER J D, BARNES K A, SNYDER A Z, et al. Spurious but systematic correlations in functional connectivity MRI networks arise from subject motion[J]. NeuroImage, 2012, 59(3): 2142-2154.",
true
));
nodes.push(refEntry(16,
"BISWAL B B, MENNES M, ZUO X N, et al. Toward discovery science of human brain function[J]. Proceedings of the National Academy of Sciences, 2010, 107(10): 4734-4739.",
true
));
// ══════════════════════════════════════════════════════════
// 四、研究的主要内容、拟解决的重点难点以及创新之处
// ══════════════════════════════════════════════════════════
nodes.push(H("四、研究的主要内容、拟解决的重点难点以及创新之处"));
nodes.push(divider());
nodes.push(subH("(一)研究的主要内容"));
nodes.push(P(
"本研究以基于深度学习的脑功能网络分类方法为核心,研究的主要内容包括以下五个方面:"
));
const contents = [
["(1)数据集准备与预处理。",
"以COBRE公开数据集作为主要实验数据集(74名健康对照与72名精神分裂症患者)," +
"采用Schaefer 2018图谱(200 ROI,7网络划分)提取150个时间步的ROI时序信号," +
"经6参数刚体头动回归、带通滤波(0.01–0.1 Hz)等标准预处理步骤," +
"最终在分类器中使用150×200维度的时序张量作为模型输入。"],
["(2)MsRNN模型的设计与实现。",
"设计多尺度循环神经网络(MsRNN),包含四个主要模块:" +
"多尺度一维卷积模块(并行三种核尺寸k=3/5/9,输出特征维度各64,拼接后为192维);" +
"空间注意力模块(对192个特征通道进行加权);" +
"双向GRU序列编码模块(2层,隐藏单元数128,双向拼接输出512维);" +
"时间注意力池化模块(对150个时间步进行加权聚合)和全连接分类层。" +
"全模型约953,316个参数,使用PyTorch实现。"],
["(3)模型训练与分层五折交叉验证。",
"采用分层五折交叉验证评估模型性能,以保持每折中SCZ与HC样本比例均衡。" +
"优化器使用Adam(学习率1×10⁻³,权重衰减1×10⁻⁴),使用标签平滑交叉熵损失函数," +
"训练100个轮次,以验证集AUC为早停监控指标,报告准确率(ACC)、F1分数和AUC三类指标。"],
["(4)基线对比与消融实验。",
"与SVM-RBF、SVM-Linear、逻辑回归、随机森林四种传统基线方法进行公平对比;" +
"同时设计消融实验,分别移除多尺度卷积(替换为单一k=5的卷积层)、空间注意力模块、" +
"时间注意力模块和双向改为单向GRU,量化各组件的独立贡献。"],
["(5)跨数据集泛化评估与可解释性分析。",
"在ABIDE、ADHD200和UCLA三个独立数据集上评估COBRE训练模型的零样本跨集泛化能力," +
"分析域偏移对分类性能的影响。同时利用空间注意力权重热图和Grad-CAM梯度激活图," +
"识别对分类贡献最大的脑区,与文献报道的精神分裂症神经影像研究结论进行对比验证。"],
];
contents.forEach(([title, body]) => {
nodes.push(new Paragraph({
spacing: { before: 120, after: 60 },
indent: { firstLine: 480 },
children: [
new TextRun({ text: title, ...F_BOLD }),
new TextRun({ text: body, ...F_BODY })
]
}));
});
nodes.push(subH("(二)拟解决的重点难点"));
const difficulties = [
["重点难点一:小样本深度学习的过拟合控制。",
"COBRE数据集仅有146名受试者(平均每折训练集约117例),而MsRNN包含近百万参数," +
"过拟合风险极高。拟综合采用标签平滑(ε=0.1)、权重衰减(L2正则化)、Dropout(p=0.3)" +
"以及早停策略,并通过消融实验确认正则化方案的效果。"],
["重点难点二:多尺度特征融合与模块间梯度协调。",
"并行多尺度卷积分支的特征尺度和梯度量级存在差异,直接拼接可能导致某些分支主导特征学习。" +
"拟在每个卷积分支后引入批归一化(BatchNorm)对特征分布进行规范化," +
"并通过学习率预热(warm-up)缓解训练初期梯度爆炸问题。"],
["重点难点三:注意力机制的稳定训练。",
"空间注意力和时间注意力的参数量相对较少,若学习率与主干网络相同可能陷入平坦区。" +
"拟采用分组参数学习率(注意力模块使用1.5倍主干学习率)并监控注意力权重分布的熵值," +
"防止注意力坍塌(all weights uniform)或过度集中于单一位置的退化现象。"],
["重点难点四:跨站点域偏移的量化评估。",
"不同fMRI采集中心使用的扫描仪型号、重复时间(TR)、分辨率和预处理协议存在差异," +
"导致BOLD信号的信噪比和功率谱特性不一致。拟通过记录各数据集的采集元信息," +
"分析各类协议差异与跨集性能下降之间的相关性,明确域偏移的主要来源。"],
];
difficulties.forEach(([title, body]) => {
nodes.push(new Paragraph({
spacing: { before: 120, after: 60 },
indent: { firstLine: 480 },
children: [
new TextRun({ text: title, ...F_BOLD }),
new TextRun({ text: body, ...F_BODY })
]
}));
});
nodes.push(subH("(三)创新之处"));
const innovations = [
"创新点一:提出多尺度一维卷积与双向门控循环单元相串联的端到端时序建模框架。" +
"区别于现有方法将卷积分支与循环分支并联的设计,本文将多尺度卷积置于Bi-GRU上游," +
"使循环单元直接处理多粒度局部特征,实现局部-全局时序信息的层次化提取。",
"创新点二:在同一模型中引入空间维度和时间维度双重注意力机制。" +
"空间注意力对200个ROI通道进行差异化加权,时间注意力对150个时间步进行自适应聚合," +
"两者协同实现了\"哪些脑区在哪些时刻携带关键判别信息\"的精细建模," +
"并为模型输出提供了脑区层面的可解释性证据。",
"创新点三:开展系统性跨数据集零样本泛化实验。" +
"在COBRE数据集训练后,直接在ABIDE、ADHD200、UCLA三个独立数据集进行推理," +
"定量刻画了训练域与目标域之间的性能差距与域偏移特征," +
"揭示了当前神经影像分类模型的泛化边界,为后续领域自适应研究提供了基准参考。",
];
innovations.forEach(text => {
nodes.push(P(text));
});
// ══════════════════════════════════════════════════════════
// 五、研究方法和技术路线
// ══════════════════════════════════════════════════════════
nodes.push(H("五、研究方法和技术路线"));
nodes.push(divider());
nodes.push(subH("(一)研究方法"));
const methods = [
["文献研究法:",
"系统梳理静息态fMRI分析、深度学习序列建模、图神经网络和注意力机制等相关领域的最新研究进展," +
"在充分了解现有技术路线优缺点的基础上确定本文的研究方向。"],
["实验研究法:",
"基于公开数据集设计受控实验,以分层五折交叉验证为核心评估协议," +
"对所提模型进行全面的性能评估,包括基线对比实验、消融实验和跨数据集泛化实验," +
"以实验数据量化各技术方案的效果。"],
["对比分析法:",
"将MsRNN与SVM-RBF、SVM-Linear、逻辑回归、随机森林四类传统基线在完全相同数据切分下进行公平对比," +
"分析不同方法在准确率、F1分数和AUC三维指标上的差异及其原因。"],
["可解释性分析法:",
"利用注意力权重可视化和Grad-CAM梯度激活图方法,对模型学习到的判别性脑区进行定性分析," +
"并与已有神经科学文献进行交叉验证,评估模型的神经科学合理性。"],
];
methods.forEach(([title, body]) => {
nodes.push(new Paragraph({
spacing: { before: 100, after: 60 },
indent: { firstLine: 480 },
children: [
new TextRun({ text: title, ...F_BOLD }),
new TextRun({ text: body, ...F_BODY })
]
}));
});
nodes.push(subH("(二)技术路线"));
const techLines = [
"① 数据准备\n COBRE数据集 → Schaefer 2018图谱(200 ROI)提取BOLD时序 → 标准预处理(头动回归 + 带通滤波)→ 构建150×200时序张量",
"② 特征提取(多尺度一维卷积)\n 并行三路Conv1D(k=3, k=5, k=9)→ BatchNorm + ReLU → 拼接(192维特征图)",
"③ 空间注意力\n 192维通道注意力权重 → 加权特征图(150×192)",
"④ 时序建模(双向GRU)\n 2层Bi-GRU(各向128隐藏单元)→ 输出(150×512)",
"⑤ 时间注意力池化\n 150时间步注意力分数 → softmax归一化 → 加权求和(512维语义向量)",
"⑥ 分类输出\n Dropout → FC(512→2)→ Softmax → 二分类结果(HC/SCZ)",
"⑦ 评估体系\n 分层五折交叉验证(ACC/F1/AUC)→ 基线对比 → 消融实验 → 跨数据集泛化(ABIDE/ADHD200/UCLA)",
"⑧ 可解释性分析\n 空间注意力权重热图 → 关键ROI识别 → Grad-CAM激活图 → 与DMN神经科学文献对比",
];
techLines.forEach(line => {
nodes.push(new Paragraph({
spacing: { before: 100, after: 60 },
indent: { left: 480 },
children: line.split("\n").flatMap((l, i) => [
...(i > 0 ? [new TextRun({ text: "\n", break: 1 })] : []),
new TextRun({ text: l, font: "宋体", size: 22 })
])
}));
});
// ══════════════════════════════════════════════════════════
// 六、写作进度安排
// ══════════════════════════════════════════════════════════
nodes.push(H("六、写作进度安排"));
nodes.push(divider());
nodes.push(new Paragraph({ spacing: { before: 80, after: 80 }, children: [new TextRun("")] }));
const schedule = [
["第一阶段", "2025年11月 – 12月", "文献调研与方案设计",
"系统阅读脑功能网络分类领域国内外核心文献,分析各类方法的优缺点;\n" +
"确定研究方向,初步设计MsRNN模型架构;\n撰写开题报告并通过导师审核。"],
["第二阶段", "2026年1月 – 2月", "数据处理与模型实现",
"完成COBRE、ABIDE、ADHD200、UCLA四个数据集的下载、预处理和时序特征提取;\n" +
"基于PyTorch实现MsRNN模型,完成单次训练流程调试并验证收敛性。"],
["第三阶段", "2026年2月 – 3月", "模型训练与实验评估",
"完成分层五折交叉验证实验,记录ACC/F1/AUC;\n" +
"实现四种传统基线方法并开展公平对比;\n" +
"执行消融实验,量化各模块的独立贡献;\n完成跨数据集零样本泛化实验。"],
["第四阶段", "2026年3月", "可解释性分析与结果整理",
"完成注意力权重可视化与Grad-CAM实现;\n" +
"整理实验数据,绘制所有结果图表;\n" +
"对分类结果进行神经科学层面的解释与讨论。"],
["第五阶段", "2026年3月末 – 4月", "论文撰写与修改",
"按章节顺序完成论文初稿撰写(摘要、绪论、相关工作、方法、实验、结论);\n" +
"提交导师审阅,根据反馈进行多轮修改与完善;\n" +
"按学院格式要求进行排版和参考文献核对。"],
["第六阶段", "2026年5月", "定稿与答辩准备",
"完成论文终稿定稿并提交查重;\n" +
"整理答辩PPT,准备演示实验系统;\n参加毕业论文答辩。"],
];
nodes.push(new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: [
new TableRow({
children: [
new TableCell({ children: [cellText("阶段", { bold: true })], width: { size: 10, type: WidthType.PERCENTAGE } }),
new TableCell({ children: [cellText("时间", { bold: true })], width: { size: 18, type: WidthType.PERCENTAGE } }),
new TableCell({ children: [cellText("主要任务", { bold: true })], width: { size: 20, type: WidthType.PERCENTAGE } }),
new TableCell({ children: [cellText("具体内容", { bold: true })], width: { size: 52, type: WidthType.PERCENTAGE } }),
]
}),
...schedule.map(([stage, time, task, detail]) => new TableRow({
height: { value: 600, rule: HeightRule.ATLEAST },
children: [
new TableCell({ verticalAlign: VerticalAlign.CENTER, children: [cellText(stage)] }),
new TableCell({ verticalAlign: VerticalAlign.CENTER, children: [cellText(time)] }),
new TableCell({ verticalAlign: VerticalAlign.CENTER, children: [cellText(task)] }),
new TableCell({
verticalAlign: VerticalAlign.CENTER,
children: detail.split("\n").map(line =>
new Paragraph({ spacing: { before: 40, after: 40 }, children: [new TextRun({ text: line.trim(), ...F_TABLE })] })
)
})
]
}))
]
}));
nodes.push(new Paragraph({ spacing: { before: 600, after: 0 }, children: [new TextRun("")] }));
nodes.push(new Paragraph({
alignment: AlignmentType.RIGHT,
spacing: { before: 200, after: 0 },
children: [new TextRun({ text: "学生签名:___________ 指导教师签名:___________", ...F_BODY })]
}));
nodes.push(new Paragraph({
alignment: AlignmentType.RIGHT,
spacing: { before: 160, after: 0 },
children: [new TextRun({ text: "填报日期:2026年4月2日", ...F_BODY })]
}));
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 生成文件
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
const doc = new Document({
sections: [{
properties: {
page: {
size: { width: 11906, height: 16838 },
margin
}
},
children: nodes
}]
});
Packer.toBuffer(doc).then(buf => {
fs.writeFileSync("开题报告.docx", buf);
console.log("开题报告.docx 已生成");
});