如果你是学习者,请先做完每篇的练习题再来核对。这里收录了每题 20 分、每篇满分 100 分的评分要点,以及 Colab 作业的参考答案。参考答案中的数字可能因运行环境不同而略有差异。
答案 · 总和 = 1×0.8 + 0×(−0.5) = 0.8。因为 0.8 ≥ 0.5,所以输出 1。
配分 20 分 · 评分:计算过程 10 分,结果 10 分
答案 · 感知机只能用一条直线(一个平面)来划分。带状区域两侧需要两条边界,一条直线分不开。隐藏层可以造出多条边界再把它们组合起来。
配分 20 分 · 评分:“只有一条直线” 10 分,“需要两条边界” 10 分
答案 · 过拟合:模型把训练数据背下来了。对策:从“收集更多数据、减少隐藏神经元、提早停止训练”中任选两种。
配分 20 分 · 评分:诊断出过拟合 10 分,对策各 5 分
答案 · 固定:投射神经元 → Kenyon 细胞(随机稀疏连接)。学习:Kenyon 细胞 → 输出神经元(由多巴胺改变)。
配分 20 分 · 评分:各 10 分
答案 · 仅靠宽而稀疏的固定表示,只训练输出层就足以解决简单的图形问题。但由于表示本身无法改进,面对困难问题时会有局限。
配分 20 分 · 评分:“固定表示也足够” 10 分,提到局限 10 分
作业 · 在代码 1 中把 TOP(激活比例)从 0.08 改为 0.5,报告训练准确率和被激活的 Kenyon 细胞数量如何变化,并用两句话说明稀疏性为什么有用。
参考答案 · 把 TOP 提高到 0.5 后,一半的 Kenyon 细胞被激活,不同输入的编码大量重叠。玩具数据很简单,训练准确率可能依然很高,但激活的细胞从约 80 个增加到约 500 个,记忆之间容易混淆。稀疏编码对每个输入只使用少数互不重叠的细胞,因此能区分相似的气味,修改一段记忆时也较少干扰其他记忆。
评分要点 · 确认激活数量的变化(5) · 报告准确率(5) · 稀疏性的两个好处(减少重叠、减少干扰)(10)
作业 · 把代码 2 中 MLP 的隐藏层大小改为 8、64、512,用两个随机种子比较验证准确率。结合学习曲线(第 7 格)解释是否出现了过拟合。
参考答案 · 增大隐藏层后,训练损失下降得更快,但验证准确率并不上升,或随种子不同而波动。在 160 个示例数据(训练 96 个)上,512 个神经元的隐藏层很容易把训练数据背下来。在学习曲线上找出训练损失与验证准确率之间差距开始拉大的时刻,以此判断过拟合。
评分要点 · 三种大小 × 两个种子的结果表(8) · 学习曲线依据(6) · 结合数据量的解释(6)
答案 · 从蘑菇体提取出的记忆信号必须传到侧角的汇合神经元(PD2a1/b1),记忆才能转化为行为。
配分 20 分 · 评分:“蘑菇体 → 侧角” 10 分,“需要汇合神经元” 10 分
答案 · 温度本身就可能改变行为,所以必须分辨记忆分数下降是因为神经元被阻断,还是因为温度。
配分 20 分 · 评分:对照的目的 20 分
答案 · 0.2 + 0.6 × (−1.0) = −0.4(偏向回避)。阻断后为 0.2(只剩本能,偏向靠近)。
配分 20 分 · 评分:各 10 分
答案 · 因为这个神经元是共享层:它同时接收两条通路(蘑菇体的记忆信号、食物气味投射神经元的本能信号)并输出。
配分 20 分 · 评分:“共享”概念 20 分
答案 · 本能值全为 0,所有类别的分数都相同,模型总是选择第一个类别。0.09 就是测试数据中第一个类别所占的比例。
配分 20 分 · 评分:“分数变得相同” 10 分,“第一个类别的比例” 10 分
作业 · 在代码 1 中把 innate 值改为 [0.0, 0.5](本能偏向回避),用表格报告训练前、训练后和阻断后的结果如何变化,并比较本能与记忆同向和反向两种情况。
参考答案 · innate = [0.0, 0.5] 时,训练前本能分数就已指向“回避”。惩罚训练会在记忆一侧降低“靠近”分数,所以训练后仍是回避;阻断记忆输入后,仅靠本能也是回避。在原始设置(innate = [0.5, 0.0])下,阻断后会回到靠近。本能与记忆同向时,阻断后行为不变,记忆的贡献显现不出来;只有二者反向时,阻断实验才能揭示记忆的作用。
评分要点 · 三种情况的结果表(8) · 与原始设置的比较(6) · “只有反向时才会显现”的解释(6)
作业 · 在代码 2 的 MemoryInnate 中给 innate 赋值(例如给叉号类别 2.0),训练后阻断记忆输入。比较阻断前后的混淆矩阵,并说明本能如何牵引判断。
参考答案 · 给叉号类别的 innate 设为 2.0 后,训练过程中记忆通路会逆着这股牵引进行调整。阻断后只剩本能,大多数图形都会被判为叉号,混淆矩阵集中在叉号这一列。要指出:本能像一个不参与学习的偏置(bias),而记忆是叠加在它之上的修正。
评分要点 · 阻断前后的混淆矩阵(8) · 解释为何集中于叉号列(6) · 偏置 + 修正的解释(6)
答案 · 30 × 0.275 × 0.65 ≈ 5.36 mV。
配分 20 分 · 评分:公式 10 分,数值 10 分
答案 · 距阈值 7 mV。7 / 0.1575 ≈ 44.4 mV。增益为 1.0 时需要约 162 个突触同时作用,增益为 0.65 时需要约 249 个。
配分 20 分 · 评分:算出 7 mV 10 分,g 值 10 分
答案 · 运动之前的最后一步。苦味刹车(Scapula)阻断了进食指令通路。
配分 20 分 · 评分:“运动之前” 20 分
答案 · 仅 200 ms 内,每个时间步的脉冲数就膨胀到五倍,Kenyon 细胞以 39 Hz 被唤醒,由此产生的抑制甚至关掉了梳理指令神经元(失控)。
配分 20 分 · 评分:失控现象 10 分,梳理指令被关闭 10 分
答案 · 只学习约 4% 的连接就能答对不少,但由于无法学习表示本身,准确率低于 MLP。还应指出数据很少(测试 32 个),差异会有 ±0.1 的波动。
配分 20 分 · 评分:比例比较 10 分,局限与不确定性 10 分
作业 · 在代码 1 中把增益 0.65 改为 0.55 和 0.75,用表格报告发放的神经元数量和平均发放频率,并结合“调增益”一节中的失控现象,用两句话加以解释。
参考答案 · 降低增益(0.55)时,每个输入增加的电流变小,发放的神经元数量和平均发放频率都低于 0.65;提高增益(0.75)时则增加。即使在代码 1 的小型神经网络中,增益越大,通过反馈扩散的发放也增长得越快。在模组的雄性完整神经系统中,这种增长表现为失控(每个时间步的脉冲数增至五倍、Kenyon 细胞 39 Hz),因此选择了 0.65。
评分要点 · 三种增益的结果表(8) · 说明增长方向(6) · 与失控现象的联系(6)
作业 · 在代码 2 的 ConnectomeLIF 中,把抑制神经元的符号(−0.5)全部改为 +0.18(去掉抑制)后重新训练。用两个随机种子比较脉冲记录(第 8 格)和准确率,并说明抑制在神经网络中起什么作用。
参考答案 · 去掉抑制后,大部分隐藏神经元发放得更频繁、更均匀,脉冲记录变得密密麻麻。不同输入之间发放模式的差异变小,解码层可用于区分的信息减少,因此准确率下降,或随种子不同而波动。抑制通过限制活动,使模式变得稀疏且易于区分(与特别篇 1 中 Kenyon 细胞“前 8%”规则的作用相同)。
评分要点 · 脉冲记录比较(6) · 两个种子的准确率(6) · 对抑制作用的解释(8)