人工智能核心神经网络——神经网络训练过程

人工智能
后台-插件-广告管理-内容页头部广告(手机)

到目前例子为止,都是围绕图像分类问题,在这里的标签就是对应图像类别相关数据。而训练样本,就是若干个带有标签的原始数据。由若干训练样本组成的集合叫训练集。

神经网络通过训练样本不断学习并调整参数,进而提高自身判断的能力,这个过程叫神经网络的训练过程

如图,就是由4个训练样本组成的训练集

 

将训练样本1(鸟人)的特征变量作为输出传入初始单层神经网络(权重为随机产生)

计算得到如图

 

(机器视鸟人与其它动物一律平等…)

(1 x 0.2)+(1 x 0.3)+(1 x 0.1)+(0 x 0.4)=0.6

最后训练样本1经过单层神经网络输出结果y=1,我们将其值和训练样本1的标签Y=0进行比较,发现Y –y=0-1=-1 不等于0(存在差异),说明结果错误。因此需要对神经网络参数进行调整。

机器的权重参数的调整好像我们玩过的猜数字游戏:a,b两人玩猜数字游戏,a手中有一个数字牌(1-10内的任意数字)让b猜。b先乱猜,然后a根据b猜的数字比较数字牌的值反馈(不是说大就是说小了)给b。与猜字游戏的反馈误差修正机制类似,权重参数调整具体如下:

⑴该训练样本标签值与计算该样本的神经网络输出结果的差,标记为△y 即

△y = Y - y

本例(判断鸟人),就是

△y= Y - y=0 - 1= -1

⑵用一个设定的训练率(这里就用s=0.1)来计算每一个权重需要调整的值(用△w表示),计算公式为 △w=s x △y x x (x为各特征变量)

本例(判断鸟人)就是

① △w1 = s x △y x x1 = 0.1 x (-1) x 1=-0.1

② △w2 = s x △y x x2 = 0.1 x (-1) x 1=-0.1

③ △w3 = s x △y x x3 = 0.1 x (-1) x 1=-0.1

④ △w4 = s x △y x x4 = 0.1 x (-1) x 0=0

⑶用各权重调整值对应各个权重进行修正(各旧的权重与各调整值之和),即

w = w + △w

本例(判断鸟人)各个新权重就是

① w1 = w1 + △w1 = 0.2 + (-0.1) =0.1

② w2 = w2+ △w2 = 0.3 + (-0.1) =0.2

③ w3 = w3 + △w3 = 0.1 + (-0.1) =0

④ w4 = w4 + △w4 = 0.4 + (0) =0.4

ps:值也有可能为0或负值(看成拖后腿)

经过训练样本1的训练后,原来的神经网络中的w1 由0.2 调整为0.1,w2由0.3 调整为0.2,w3由0.1 调整为0,w40.4不变,新的神经网络如图

 

(1 x 0.1)+(1 x 0.2)+(1 x 0)+(0 x 0.4)=0.3

得到判断是0.3>0.5 为假(错误)值即为0 。

同理,将训练样本2输入神经网络,训练样本2的标签Y=1与该次计算结果( (1 x0.1)+(1 x0.2)+(0 x0)+(1 x0.4)=0.7 )比较Y-y=0(没有差异),说明结果正确,因此不对神经网络参数进行调整。如图

 

将训练样本3输入神经网络(1 x 0.1)+(0 x 0.2)+(1 x 0)+(0 x 0.4)=0.1。0.1>0.5? 假命题。所以y=0。训练样本3的标签Y=0与该次计算结果比较Y-y=0(没有差异),说明结果正确,因此也不对神经网络参数进行调整。如图

 

人眼望过去样本4和样本3同一动物,特征变量一样结果肯定一致。机器仍按照流程判断。

至此,4个训练样本都用完了,初始的神经网络经过样本训练后得到了新神经网络。当然,是个人看过去肯定有漏洞不完善,但是对于机器和4个样本来说是准确的,只要训练样本够多机器的判别能力越准确。

总结一下神经网络的训练过程

A. 权重参数初始化(随机)神经网络。

B. 给神经网络输入一个训练样本。

C. 训练样本标签值与对应训练样本计算的判别结果的差异。(若有差异进行D步骤,否则跳出该训练样本进入到下一个训练样本)。

D. 将有差异反向传递给前面的神经元进行权重修正,这一过程就是人工智能领域的误差反向传播技术。

E. 不断根据反向传播过来的误差,对前神经元的权重进行修正。

F. 不断重复B—E过程直到训练样本走完

下一篇简单介绍如何评价神经网络的好坏。

后台-插件-广告管理-内容页尾部广告(手机)
标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。