神经网络在近几年十分火热,它是一种非常强大的人工智能模型。
预测方式
从“神经网络”的名字就可以知道,它借鉴了生物学的知识,实际上人工神经网络借鉴了生物神经结构。
神经网络可以视为一个满足拓扑排序的无环有向图,这张图可以按层铺开,最低的一层表示输入,入度为0,而最高的一层为输出,出度为0。两个神经元之间的边具有特定的权。
除去输入神经元和输出神经元,图中每一个神经元都连接着上一层所有神经元,同时也连接到下一层所有的神经元。每一个神经元直接获取输入或者从上一层获取输入,这些输入首先加权,然后求和,最后通过激活函数,产生本神经元的输出,如果还存在下一层神经元,那么输出会继续传递下去。
通过不断地进行以上步骤,神经网络便能够将原始输入逐层传递,最终在输出层得到输出,完成预测。
优化函数
我们可以看出神经网络层次越多,网络越复杂,直接求解几乎不可能,因此我们直接采用随机梯度下降的方法。
也正是因此,神经网络的优化函数很简单,f=y'-y。y’代表预测值,y代表真实值。我们训练的目标便是,不断调整神经元之间的权值使得f=y’-y最小。
训练方式
科学家们发明出一套反向自动微分的方法用于学习,它通过两次遍历神经网络进行梯度下降,第一次正向遍历,是从输入层到输入层,计算预测值,进而得到误差值,第二次反向遍历,从输入层到输出层,将误差的影响从输出层传递回输入层,并且在过程中,对神经元间的权值进行调整,以实现梯度下降。