导论
1956年夏季首次提出“人工智能”这一术语,科学家们尝试了各种方法来实现它。这些方法包括专家系统,决策树、归纳逻辑、聚类等等,但这些都是假智能。直到人工神经网络技术的出现,才让机器拥有了“真智能”。为什么说之前的方法都是假智能呢?因为我们人类能清清楚楚地知道它们内部的分析过程,它们只是一个大型的复杂的程序而已;而人工神经网络则不同,它的内部是一个黑盒子,就像我们人类的大脑一样,我们不知道它内部的分析过程,我们不知道它是如何识别出人脸的,也不知道它是如何打败围棋世界冠军的。我们只是为它构造了一个躯壳而已,就像人类一样,我们只是生出了一个小孩而已,他脑子里是如何想的我们并不知道!
人工神经网络正是模仿了上面的网络结构。下面是一个人工神经网络的构造图。每一个圆代表着一个神经元,他们连接起来构成了一个网络。
大脑的结构越简单,那么智商就越低。单细胞生物是智商最低的了。人工神经网络也是一样的,网络越复杂它就越强大,所以我们需要深度神经网络。这里的深度是指层数多,层数越多那么构造的神经网络就越复杂。
训练深度神经网络的过程就叫做深度学习,网络构建好了后,我们只需要负责不停地将训练数据输入到神经网络中,它内部就会自己不停地发生变化不停地学习。
基本判断—逻辑回归
打比方说我们想要训练一个深度神经网络来识别猫。我们只需要不停地将猫的图片输入到神经网络中去。训练成功后,我们任意拿来一张新的图片,它都能判断出里面是否有猫。但我们并不知道他的分析过程是怎样的,它是如何判断里面是否有猫的。
待输入的数据是一张图像。为了存储图像,计算机要存储三个独立的矩阵三个矩阵分别与此图像的红色、绿色和蓝色相对应,如果图像的大小是64 * 64个像素所以3个64 * 64大小的矩阵在计算机中就代表了这张图像,矩阵里面的数值就对应于图像的红绿蓝强度值。我们一般把上面那3个矩阵转化成1个向量x,那么这个向量x的总维数就是64 * 64 * 3,结果是12288。在人工智能领域中,每一个输入到神经网络的数据都被叫做一个特征,那么上面的这张图像中就有12288个特征。
神经网络是如何根据这些数据进行预测的呢?我们将一张图片输入到神经网络中,神经网络是如何预测这张图中是否有猫的呢??这个预测的过程其实只是基于一个简单的公式,称为逻辑回归:z = dot(w,x) + b,
- z = dot(w,x)+b
- dot()函数表示将w和x进行向量相乘
- x代表输入特征向量
- w代表权重,对应每个输入特征
- z是预测结果
- 公式展开后就变成了z = (x1 * w1 + x2 * w2 + x3 * w3) + b
- 激活函数:在实际的神经网络中,我们不能直接用逻辑回归。必须要在逻辑回归外面再套上一个函数。这个函数我们就称它为激活函数。激活函数非常非常重要,如果没有它,那么神经网络的智商永远高不起来。而且激活函数又分好多种。
- sigmoid
它的一个用途——把z映射到[0,1]之间,不仅便于神经网络进行计算,也便于我们人类进行理解
- sigmoid
损失函数
那么神经网络自己如何判断预测结果是 否准确呢?这一步是非常重要的,因为只有 知道自己预测结果是否准确,才能够对自身 进行调整,好让结果越来越准确,这就是学习的过程。
我们人类学习也应该遵循这个道理,如果一个人一直不停的学 但是不验证 自己的学习成果,那么有可能学的方向或学 习方法都是错的,不停地学但是结果却都白 学了。