神经网络原理
假设有某个商店每个商品前都有5组led格子,来实时显示商品价格,每组格子都有5*5个格子, 每一个格子里放了一个小灯,每个小灯都可独立地被打开或者关闭。 (格子变亮)或关闭(格子变黑),这样面板就可以用来显示十个数字符号。 显示5
这么多灯,显然我们是无法确定每个灯都会按照我们的要求亮或者灭的,为了解决这个问题,我们需要设计一个神经网络,它接收每组灯的状态作为输入,然后输出一个1或0来判定这组灯是否正确的显示了它要显示的数字。因此,神经网络需要有25个输入(每一个输入代表一组led格子中的一个格子),一个处理网络和一个输出。
一旦神经网络体系创建成功后,它必须接受训练来认出数字5。为此可用这样一种方法来完成:先把神经网的所有权重初始化为任意值。然后给它一系列的输入,在本例中,就是代表面板不同配置的输入。对每一种输入配置,我们检查它的输出是什么,并调整相应的权重。如果我们送给网络的输入不是5, 则我们知道网络应该输出一个0。因此每个非5字符时的网络权重应进行调节,使得它的输出趋向于0。当代表5的输入输送给网络时,则应把权重调整到使输出趋向于1。
把输出增加到10是很容易的,然后通过训练,就可以使网络能识别0到9 的所有数字。进一步增加输出,使网络能识别24个字母。对每个字母,网络都需要接受许多训练,使它认识此文字的各种不同的版本。到最后,网络不单能认识已经训练的笔迹,还显示了它有显著的归纳和推广能力。也就是说,如果所写文字换了一种笔迹,它和训练集中所有字迹都略有不同,网络仍然有很大几率来认出它。正是这种归纳推广能力,使得神经网络已经成为能够用于无数应用的一种无价的工具,从人脸识别、医学诊断,直到电脑游戏中的机器人。