人脑模拟
深度学习背后的主要原因是人工智能应该从人脑中汲取灵感。此观点引出了“神经网络”这一术语。人 脑中 包含 数 十亿个神经元,它 们 之间有 数 万个 连 接。很多情况下,深度学习算法和人脑相似,因为人脑和深度学习模型都拥有大量的编译单元(神经元),这些编译单元(神经元)在独立的情况下都不太智能,但是当他们相互作用时就会变得智能。我认为人们需要了解到深度学习正在使得很多幕后的事物变得更好。深度学习已经应用于谷歌搜索和图像搜索,你可以通过它搜索像“拥抱”这样的词语以获得相应的图像。
神经元
神经网络的基本构建模块是人工神经元,它模仿了人类大脑的神经元。这些神经元是简单、强大的计算单元,拥有加权输入信号并且使用激活函数产生输出信号。这些神经元分布在神经网络的几个层中。inputs 输入 outputs 输出 weights 权值 activation 激活
人工神经网络的工作原理是什么?
深度学习由人工神经网络构成,该网络模拟了人脑中类似的网络。当数据穿过这个人工网络时,每一层都会处理这个数据的一方面,过滤掉异常值,辨认出熟悉的实体,并产生最终输出。input layer 输入层 hidden layer 输出层 output layer 输出层
激活函数
激活函数就是求和加权的输入到神经元的输出的映射。之所以称之为激活函数或传递函数是因为它控制着激活神经元的初始值和输出信号的强度。用数学表示为:反向传播
在网络中,我们将预测值与预期输出值相比较,并使用函数计算其误差。然后,这个误差会传回这个网络,每次传回一个层,权重也会根据其导致的误差值进行更新。这个聪明的数学法是 反向传播算法 。这个步骤会在训练数据的所有样本中反复进行,整个训练数据集的网络更新一轮称为一个时期。一个网络可受训练数十、数百或数千个时期。prediction error 预测误差
代价函数和梯度下降
代价函数度量了神经网络对给定的训练输入和预期输出“有多好”。该函数可能取决于权重、偏差等属性。 代价函数是单值的,并不是一个向量,因为它从整体上评估神经网络的性能。在运用梯度下降最优算法时,权重在每个时期后都会得到增量式地更新。兼容代价函数用数学表述为差值平方和:target 目标值 output 输出值
权重更新的大小和方向是由在代价梯度的反向上采取步骤计算出的。其中 η 是学习率
其中Δ w 是包含每个权重系数w的权重更新的向量,其计算方式如下:target 目标值 output 输出值
图表中会考虑到单系数的代价函数
i 的值将从相连接的神经元所对应的输入值和权重中计算出来。
i = (2 * 1) + (3 * 1) → i = 5
同样地,j = (2 * -1) + (3 * 1) → j = 1
K = (5 * 2) + (1 * -1) → k = 9
Python中的多层感知器问题的解决
激活函数的使用
为了使神经网络达到其最大预测能力,我们需要在隐含层应用一个激活函数,以捕捉非线性。我们通过将值代入方程式的方式来在输入层和输出层应用激活函数。 这里我们使用整流线性激活(ReLU):用Keras开发第一个神经网络
关于Keras:
Keras 是一个高级神经网络的应用程序编程接口,由Python编写,能够搭建在 TensorFlow , CNTK , 或 Theano 上。 使用PIP在设备上安装Keras,并且运行下列指令。