如何在添加一个输入变量时最佳地重新训练神经网络及模糊度与颜色的关联探讨
神经网络重新训练的问题提出与解决方案
在神经网络应用中,当我们已经有一个预训练好的神经网络用于描述某个量 $y$ 与 $n$ 个输入量 $x_1, \cdots, x_n$ 的关系,记为 $F(x_1, \cdots, x_n)$。但现在希望网络能考虑一个额外的输入量 $x_{n + 1}$ 时,直接的做法是添加这个输入并重新训练整个网络的所有权重。然而,这种方法耗时很长。
为了加快这个过程,我们可以采用以下步骤:
1. 训练一个具有 $n$ 个中间神经元的浅层神经网络,用于描述差值 $Y^{(p)} = y^{(p)} - F(x_1^{(p)}, \cdots, x_n^{(p)})$ 与所有输入 $x_1^{(p)}, \cdots, x_n^{(p)}, x_{n + 1}^{(p)}$ 的关系。将训练好的浅层神经网络应用于输入 $x_1, \cdots, x_n, x_{n + 1}$ 的结果记为 $S(x_1, \cdots, x_n, x_{n + 1})$。
2. 作为重新训练后的神经网络,计算 $F(x_1, \cdots, x_n) + S(x_1, \cdots, x_n, x_{n + 1})$ 的值。具体操作是:
- 将浅层网络的输出神经元添加到原始网络的倒数第二层。
- 将连接这个新神经元到原始网络输出层的权重设置为 1。
从理论分析来看,这种方法是合理的。因为训练时间大致与需要确定的参数数量成正比,直接重新训练需要确定 $n^3$ 个参数,而采用上述方法只需要确定 $n^2$ 个参数。
进一步思考,我们可以采用更简化的重新训练方
超级会员免费看
订阅专栏 解锁全文


被折叠的 条评论
为什么被折叠?



