首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每天十分钟机器学习之二十五:神经网络的前向传播过程

之前关于神经网络的讲解还是一个铺垫作用,从今天开始进入关键部分,讲解神经网络的关节工作机制和原理,涉及两个经常被大家提及的概念:前向传播和反向传播。

前向传播大家应该不会陌生了,在之前讲解神经网络的矩阵理解和代价函数推导过程中都已经或多或少涉及了。为了帮助大家更好的理解这两个概念,在神经网络的剩下两讲中分别对前向传播和反向传播的理论做一个详细的描述,今天这一讲是前向传播。

为了说的更简单易懂,我查阅了很多资料,最终找到了一个猜数字的游戏,借用这个例子大家理解一下前向传播和反向传播。

先看第一个猜数字的例子:小黄帽代表输出层节点,左侧接受输入信号,右侧产生输出结果,小蓝猫则代表了误差,指导参数往更优的方向调整。由于小蓝猫可以直接将误差反馈给小黄帽,同时只有一个参数矩阵和小黄帽直接相连,所以可以直接通过误差进行参数优化(实纵线),迭代几轮,误差会降低到最小。

大家感受一下第一个例子,这其实就是没有隐藏层的神经网络。

再看第二个例子:模拟带有一个隐层的三层神经网络,其中小女孩代表隐藏层节点,小黄帽依然代表输出层节点,小女孩左侧接受输入信号,经过隐层节点产生输出结果,小蓝猫代表了误差,指导参数往更优的方向调整。

由于小蓝猫可以直接将误差反馈给小黄帽,所以与小黄帽直接相连的左侧参数矩阵可以直接通过误差进行参数优化(实纵线);而与小女孩直接相连的左侧参数矩阵由于不能得到小蓝猫的直接反馈而不能直接被优化(虚棕线)。但由于反向传播算法使得小蓝猫的反馈可以被传递到小女孩那进而产生间接误差,所以与小女孩直接相连的左侧权重矩阵可以通过间接误差得到权重更新,迭代几轮,误差会降低到最小。

上边的例子很直观的反映了前向和反向传播,接下来就详细的介绍这两个流程,本讲先说前向传播,先统一一下数学标记。

前向传播:如何将输入层的信号传输至隐藏层呢,以隐藏层节点c为例,站在节点c上往后看(输入层的方向),可以看到有两个箭头指向节点c,因此a,b节点的信息将传递给c,同时每个箭头有一定的权重,因此对于c节点来说,输入信号为:

同理,节点d的输入信号为:

由于计算机善于做带有循环的任务,因此我们可以用矩阵相乘来表示:

所以,隐藏层节点经过非线性变换后的输出表示如下:

同理,输出层的输入信号表示为权重矩阵乘以上一层的输出:

同样,输出层节点经过非线性映射后的最终输出表示为:

输入信号在权重矩阵们的帮助下,得到每一层的输出,最终到达输出层。可见,权重矩阵在前向传播信号的过程中扮演着运输兵的作用,起到承上启下的功能。

祝您的机器学习之旅愉快!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181224G126P900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券