关于搭建深度神经网络的理解
1.关于神经网络的初步理解
1.1 什么是神经网络?
神经网络可看做一个复合函数,输入一些数据,它便输出一些数据。
1.2 神经网络的基本构架
(1)单元/神经元
将单元看做一个盒子(函数),里面包含权重和偏置项,可以用线性函数y=mx+b来理解。将这个盒子两头打开,一头接收数据x,数据x首先进入盒子中,将权重m与数据x相乘,再向相乘的数据添加偏置项b,最后从另一头输出。然后使用激活函数将数据x的输出限制在一个范围内(多数情况下)。想象有多个这样的方程,从一个数据点传入数据,计算多个输出值,再传递到下一个单元。这样便组成了一个神经网络。
(2)连接/权重/参数
①是神经网络必须学习的数值
②权重:这些数字代表神经网络认为其在将权重与数据相乘之后应该添加的内容。它们经常出错,但神经网络随后也学习到最佳偏置项。
③超参数:将神经网络看作一台机器,那么改变机器行为的nob就是神经网络的超参数。超参数需要手动设置。
(3)偏置项
如果在写神经网络的代码的时候,要是把偏置项给漏掉了,那么神经网络很有可能变得很差,收敛很慢而且精度差,甚至可能陷入“僵死”状态无法收敛。因此,除非有非常确定的理由去掉偏置项b,否则不能忽略这个微小的数据。
2.深度神经网络模块的划分
(1)批量输入模块
(2)各种深度学习零件搭建的深度神经网络
(3)凸优化模块
3.深度神经网