深度神经网络(DNN)前向传播

215 阅读2分钟
原文链接: zhuanlan.zhihu.com

这篇文章是我的所有关于深度神经网络,卷积神经网络内容的入口。内容通俗易懂、老少皆宜,各位只要耐心读下去,应该会对这部分内容有一个很好的理解。

一、神经与神经的连接

这是神经与神经在神经网络中最最基本的关系,给一个神经赋值后相应的会在另一个神经元有输出。输入输出之间有函数关系 f(x) 。例如我们取 f(x) = w\cdot x+b ,则输入 x=1 有输出 f(x=1)=w+b

二、神经网络

我们像搭积木一样把这一根根神经连接起来,就形成了神经网络。

神经网络简化模型

深度神经网络无非就是层数多一点,节点多一点。但无论怎样,最左面的就叫输入层,最右面的叫输出层,中间的不管多少层,都叫隐藏层。不同层的节点之间,可能拥有不同的 f(\cdot) 关系,具体 f(\cdot) 有哪些我们后面慢慢说,但至少 f(\cdot) 是已知的。

三、DNN前向传播

一个简单地神经网络

f^{1}(x)=w_{ij}x_j+b_{ij}(i=1,2,3,4;j=1,2,3)

a_1=w_{11}{\cdot}x_1+w_{12}{\cdot}x_2+w_{13}{\cdot}x_3+b_1

a_2=w_{21}{\cdot}x_1+w_{22}{\cdot}x_2+w_{23}{\cdot}x_3+b_2

a_3=w_{31}{\cdot}x_1+w_{32}{\cdot}x_2+w_{33}{\cdot}x_3+b_3

a_4=w_{41}{\cdot}x_1+w_{42}{\cdot}x_2+w_{43}{\cdot}x_3+b_4

用矩阵的方式表达上面的式子,为 a=WX+b

其中 W \in R^{4\times3} , X_{3 \times 1}=(x_1,x_2,x_3)^{T} , b_{i}=\sum_{j=1}^{3}{b_{ij}} , b_{4 \times 1}=(b_1,b_2,b_3,b_4)

网络的输出 yf^2(\cdot) 有关,但 f^2(\cdot) 已知,慢慢去算就好了。( f^l(\cdot) 代表第L层的传递函数。)


那么到现在为止,我们可以通过设定输入x,扔进一个结构已知的神经网络中,然后得到一个我们希望看到的输出y。如果有一个牛人已经告诉你这个满足你要求的神经网络中的 f^l(\cdot) 以及节点的个数,你完全可以根据网络结构,推导出网络的输出。以满足日常的使用要求。


DNN的前向传递到此为止,下一节我们聊一下如何得到能按照我们期望的输入输出工作的神经网络,即DNN反向传播与网络参数的确定。