为什么可以用计算图完整表达神经网络?

之所以有这样的疑问,是因为计算图是正向传播和反向传播的载体,不理解它,就没有办法理解神经网络是如何工作的。

以下为我的一点粗浅认知。

因为神经网络整体实质就是一个函数,只不过是个复杂的函数罢了,下面化繁为简,描述一下。
以目标检测用到的神经网络为例,抽象成:
y = F ( a , x ) y=F(a,x) y=F(a,x)

  • y是最终预测的结果;
  • a是输入的样本,因为样本是数据化后的一组向量,在计算过程中也不会被改变,本质是常数,所以用a表示
  • x是自变量,它才是重点,它是一个总体的代称,而不是一个具体的单一的自变量,是包含了无数组(w,b)的自变量包
  • F(a,x)是整个神经网络所有层汇总在一起的计算过程,从a作为输入开始,到产出结果y为止,中间对a进行了逐layer的、每个layer中又逐nueron的子运算

所以,可见:

  • 计算过程都是可以以nueron为单位拆解成一个个子运算的,而每个nueron实质上就是一个子函数
  • 每个nueron接受上层layer中若干nueron传进来的数(它们的计算结果),并产出自己的结果
  • 每个子函数可以继续拆解下去,直到拆成以单个运算符和两个操作数(涉及引入中间变量)就可以表示的计算过程,简称为一个计算节点(node)
  • 经过上面的大而小、小而再小的拆解,F(a,x)就可以用计算图来精确描述了

后记:前向传播计算出每个node的结果和最终损失,反向传播计算出最终损失对每个node的偏导数,这些偏导数又构成了梯度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值