标签:数学 定义 二层 假设 tput cnn 复杂 结构 不同
请注意本文的神经网络的结构略不同于以往的神经网络。在这里,只有点与点的连线上会有激活函数,一个节点本身是不会有运算的。
看了网上大部分文章和3B1B的视频,BP算法用到的就是链式法则。但由于数学家喜欢把一件事情复杂化,程序员喜欢用矩乘来优化复杂度,BP算法就看上去有些难以理解。
最近看了CNN,自己难以写出像样的代码,就尝试结构化了神经网络。
定义神经网络为:
一个有l层的DAG,第一层为输入层,共size_input个点。第二层为输出层,共size_output个点。
连边的顺序为从第l层的点连向第l+1层的点。
每条边定义三个函数(这里假设我们需要调整的参数是一元的):f(x,k),dx(x,k),dk(x,k),分别是输入的函数、f(x,k)关于输入x的导数、f(x,k)关于参数k的导数。
边的输出作用传到另一个点上时使用加法。当第l层的所有输出都算完了,计算下一层输出。直到达到输出层。
以上图为例,第一个节点的输入为x=2,在f(x,k)的作用下变为x:=2*2+1=5。
标签:数学 定义 二层 假设 tput cnn 复杂 结构 不同
原文地址:https://www.cnblogs.com/GreenDuck/p/12521051.html