1. 深度学习的本质是要理解什么是神经网络和神经元。
神经元:其实是一个数学模型:神经元在我看来其实是 一个 输入值 + 计算方式 + 输出值 。这样一个数学表达式。
一系列的神经元 连接在一起就组成了神经网络。
下图是一个典型的神经元模型:包含有3个输入,1个输出,以及2个计算功能。
注意: 深度学习中 所说的 连接 其实都是 一个 数学意义上的权值。
假设 输入1=a1,输入2=a2,输入3=a3; 权值1=w1,权值2=w2,权值3=w3;输出=z。
上图的神经元模型用数学表达式就是: z=g(a1*w1+a2*w2+a3*w3)。其实函数g()又叫 激活函数。如何理解呢?
a1*w1+a2*w2+a3*w3的结果始终都是线性的关系,为了引入非线性,强行在输出结果上套了一个这样的函数。
神经网络就是由这样的一系列的神经元,连接(通过权值)起来的。
这句话怎么理解呢?就说 在神经网络中,每一个神经元的 输入a 其实是上一个神经元 的输出z。
为什么这样的神经网络 就叫深度学习呢?因为这样的神经网络,其实是可以做预测的。什么叫预测呢?可以理解为 完成分类任务。
什么是分类任务:给出两张图片,经过这样的神经网络预测之后,可以知道,两张图片是不是相似,相似是一类,不相似是另外一类。
为什么这样的神经元组成神经网络后,就能做分类任务呢?
其实可以这样理解:设计好一个神经网络后,组成神经网络的 神经元 都会有一系列的 权值 是未知的。
我们用很多,带有 共性的 样本去训练网络,其实是在用 这个共性来 求解 神经网络中每一个神经元的 权值。这样就完成了 一个 函数集 到 准确函数的 过程。
所以一句话理解就是:制造一个神经网络 就是在 定义一个函数集合。而训练一个神经网络 就是在 这个函数集合中找到 唯一一个函数。这个函数代表了 训练样本的 共性特征。这种共性特征 称为 目标。
这样的话,给定一个未参与训练的样本,通过 函数 计算,就能得到一个结果,而这个结果肯定会趋近于你想要的目标。从而完成分类任务。