写在前面:
我一直是一个非常懒散的人,没有计划,得过且过,所以导致学很多东西都非常浅显,当然我本来也不是一个很深刻的人。说来惭愧,title是算法工程师却一直不懂深度学习,这一直是我心中的痛,想最近抽空学习深度学习。作为最近的大热,深度学习的入门门槛非常低,因为现在的框架已经做得非常完整了,而且很多开源代码下下来跑跑数据就可以说我跑过模型了,但是我一直对深度学习的内部机理感到迷茫,所以这个领域对我来说像是一个刚炖熟没有切开的猪脚,无从下手。也跟着视频看了几集,总是觉得没有参透,但又不知道是哪里的问题。所以我有个大胆的想法,我希望用一些非常基础的库去实现一些深度学习中常见的算法和网络,这可能是一个系列,也可能只有这一篇。
正文:
本文主要针对前后向传播算法,实现了一个3层的全连接网络,代码我放在了github上。
本文的神经网络结构如下图所示:
网络共有3层,输入层,隐藏层和输出层,每两层之间的节点是全连接的,输入层和隐藏层之间的各个连接的权重由矩阵wi表示,隐藏层和输出层之间的权重关系由wo表示,激活函数