全连接层的数学表述可以参见Maples丶丶的《详解神经网络的前向传播和反向传播(从头推导)》的“前向传播”一节。
为了容易理解,我还是从经典的波士顿房价谈起。波士顿房价的详细内容请参见https://www.paddlepaddle.org.cn/documentation/docs/zh/beginners_guide/basics/fit_a_line/README.cn.html
简化一下,假设房价y与犯罪率x1、教育资源x2、建设时间x3、收入水平x4这四个因素线性相关:
则 y = a1*x1 + a2*x2 + a3*x3 + a4*x4 + b
我通过建立 Paddle Fluid 的全连接层fc,就是根据大量的房价的调研数据,即把已知大量的 y 与 x1、x2、x3、x4对应关系的数据告诉FC,FC通过学习求出a1、a2、a3、a4、b。通过一段的学习后,即使给FC一组为见过的x1、x2、x3、x4,FC也能预测出y。
常量 b 由 fc 的 bias_attr 参数指定。为了简化,我使用了默认值None,表示该参数由 param_attr 参数决定。而 param_attr 也使用了默认值None,意味着a1、a2、a3、a4采用Xavier初始化方式以及偏置参数 b = 0。
所谓全连接层是指每个输入节点都与每个输出节点相连。这里只有一个输出节点,