节点倍增:复制模型R识别处于生长状态的节点。新增节点的嵌入向量定义为其父节点嵌入向量的平均值。
连接与剪枝:权重模型W基于节点对的嵌入向量更新连接强度。
剪枝机制:若启用剪枝,权重低于阈值P的边缘将被移除,从而优化拓扑结构。
目标评估:发育完成后,将生成的图作为策略网络进行任务评估(如CartPole的平衡时长),计算适应度(Fitness)。
第三,数学特性与优化策略。
黑盒优化:由于发育过程(如节点增加、剪枝)包含非连续操作,研究者采用了CMA-ES(协方差矩阵自适应进化策略)进行参数优化。
参数量恒定:无论最终生成的神经网络规模多大,NDP自身的参数量是恒定的(由三个小型MLP的权重决定),这实现了极高的信息压缩比。
激活函数转换:在发育阶段,节点状态是n维向量;但在推理阶段,节点执行标量运算(),初始激活值设为零。
“......差不多就是这样。“
陈林把沈妍的问题讲解完了。
侧头看了一眼。
沈妍还在盯着屏幕思考。
好看的眉头微蹙。
长长的睫毛轻轻颤动。
陈林不经意向下瞄了一眼。
两人的小腿不知道什么时候贴在了一起。
初春时节,春寒料峭,两个人都穿着长裤,陈林倒是早就察觉了。
但是沈妍似乎完全没有在意。
从刚才开始就一直保持着这个姿势。
全神贯注地听陈林讲解。
陈林也没有刻意躲开。
反正又不是什么大不了的事。
“我大概理解了。“
沈妍的声音把陈林的注意力拉了回来。
她转过头。
目光和陈林对上。
距离很近。
近到陈林能看清她眼睛里自己的倒影。
还有那若有若无的淡淡香味。
清幽的那种。
和云清家里闻到的完全不一样。
“但是有一个地方我还是不太明白。“
沈妍没有注意到陈林的走神。
她指着屏幕上的某一行公式:
“这里的梯度回传。“
“你在文档里写的是用PPO进行优化。“
“但PPO本身是一个强化学习算法。“
“它和我们现在要做的监督学习任务......“
“怎么结合起来?“
陈林收回心神。
看向她指的那行公式。
“这是一个好问题。“
他说:
“传统的PPO确实主要用在强化学习场景里。“
“但我们可以把NDP的发育过程本身看作一个'决策序列'。“
他拿起旁边的笔。
在草稿纸上画了一个简单的示意图。
“你看。“
“每一步发育,都是一个决策。“
“比如'这个节点要不要复制'、'这条边的权重是多少'......“
“这些都可以看作是'动作'。“
沈妍若有所思地点了点头。
“所以......“
她顺着陈林的思路往下想:
“发育完成后模型的表现,就是'奖励'?“
“没错。“
陈林赞许地看了她一眼:
“你理解得很快。“
沈妍的耳尖微微泛红。
但表情依然认真。
“那PPO的优势函数怎么定义?“
她继续追问:
“传统的PPO用GAE(广义优势估计)。“
“但在NDP的场景下......“
“似乎不太适用?“
陈林笑了笑。
这正是他在文档里重点阐述的创新点之一。
“所以我改进了一下。“
他在草稿纸上写下一个新的公式。
“传统的GAE需要对每一步的奖励进行估计。“
“但NDP的发育过程是离散的,而且每一步的贡献很难单独量化。“
“所以我换了一种思路。“
他指着公式:
“不再试图估计每一步的贡献。“
“而是把整个发育过程看作一个整体。“
“用最终的模型表现作为唯一的奖励信号。“
“然后用一种类似于'信用分配'的机制,把这个奖励回传给每一步的决策。“
沈妍盯着那个公式看了好一会儿。
眼睛越来越亮。
“我懂了!“
她的语气里带着几分兴奋:
“这有点像......把NDP的整个发育过程当作一个RNN来处理?“
“每一步的'隐状态'就是当前网络的拓扑结构和节点嵌入。“
“最后一步的输出就是最终生成的模型。“
“然后用BPTT(时间反向传播)的思路来更新参数!“
陈林听到这话。
微微有些惊讶。
沈妍的理解能力确实很强。
她虽然不是计算机专业的。
但这几个月自学下来,进步非常快。
刚才那个类比,甚至连陈林自己都没有想到过。
但仔细一想,确实很贴切。
“可以这么理解。“
陈林点了点头:
“虽然实现细节上有一些区别。“
“但核心思路是一样的。“
沈妍满意地点了点头。
她把陈林刚才的讲解记到自己的笔记本上。
字迹工整,一丝不苟。
第三百零七章 约会
沈妍写完最后一个公式,合上了笔记本。
陈林也站起身来,伸了个懒腰。
两个人贴在一起的小腿自然而然地分开了。
陈林活动了一下肩膀。
低头看了沈妍一眼。
她正在整理笔记本和笔。
一丝不苟的样子。
陈林忽然开口了。