神经网络是什么?权重、隐藏层与非线性计算的作用
用手写数字分类解释神经网络的输入、层与输出,说明权重怎样学习,区分网络结构与训练数据,并列出判断结果是否可信的方法。
先理解这个概念
神经网络是一类由多层计算单元连接而成的机器学习模型,通过权重和激活函数把输入转换为输出。训练用数据调整参数,使结果更符合任务目标。它借用了神经元的比喻,但不等同于真实大脑,也不是所有人工智能的唯一实现。网络层数或参数增加,不能单独证明实际问题解决得更好。
从像素输入到分类输出理解计算
以手写数字图片为例,输入可以是像素数值,输出可以是各数字类别的分数。中间层逐步变换这些数值,非线性激活让网络表示比简单直线关系更复杂的模式。这是说明结构的例子,没有在此训练数字识别器。
每条连接可以具有可训练权重,有些计算单元还使用偏置。参数决定输入怎样影响后续计算,模型结构则规定这些计算如何连接。只拿到一张网络示意图,无法得知实际学到了哪些参数,也不能由图形复杂程度判断精度。
训练通过损失与梯度调整参数
训练时先比较预测与目标标签,计算损失,再通过反向传播获得参数对损失的影响,交给优化器更新。不同损失和任务设置会改变训练目标。网络能够输出一个数字,不代表已经训练完成,更不代表这个数字可靠。
如果训练图片总带有某种背景,网络可能依赖背景线索而不是数字形状。在训练样本上表现好,也可能在新图片上失败。为检查这种问题,应保留没有参与训练的数据,并加入不同拍摄条件,观察具体错例。
与深度学习及规则程序分别比较
深度学习通常指使用多层神经网络的方法,神经网络本身还可以有较浅的结构。规则程序则由开发者明确写出判断条件。真实应用可能把两者组合:模型识别图片,规则检查输出是否在允许范围,再决定后续处理。
评估时应说明输入形式和错误代价,例如识别不清时是否允许拒答。不能把一个分类分数直接解释为真实世界正确率,概率校准还需单独验证。本文依据教学资料解释基本机制,不提供某种结构的实际成绩或产品推荐。
核对来源
以下资料用于核对概念和方法。文中的示例与测试范围分别注明,实际使用时请核对所用工具的版本。