注意,本文内容并不符合常规的教学资料,仅仅用于在五分钟内,从零开始了解整个深度学习概念。详细的深度学习还是需要通过正规的学习路径进行学习。
1、机器学习与深度学习
机器学习是一种实现人工智能的方法,深度学习是一种特殊的机器学习。
2、神经网络
神经网络就是由一堆的神经元组成的网络,其中第一层是输入层(对于图像识别来说就是图像),最后一层是输出层(就是预测的结果),中间的层叫隐藏层。
预测的结果可以是单个的(比如 输入图片是否是狗),也可以是多分类的(比如: 猫、狗、猴子)。
下图就是一个三层的神经网络(通常认为输入层是第0层,计算层数时只计算隐藏层和输出层),只有一个输出结果。
每个神经元都有一堆参数和一个激活函数构成,通过 (输入、参数)计算出 输出,并传递给下一层的神经元。
从输入层开始,输入图像/文本数据,逐层进行计算,最后得到预测结果,这个过程叫前向传播。
通过一个函数(损失函数)计算预测结果和实际结果的差异,并反馈给模型。模型根据差异,调整每一层的参数,努力使模型更加准确,这个过程叫反向传播。
模型不断的根据预测结果和正确结果修改每一层的参数,提高准确率的过程叫训练。
随着不断的学习,模型的准确率会越来越高,当模型的准确率合格后,我们就可以将模型部署到服务器上,进行预测,这个过程叫推理。
2、训练集、验证集和测试集
train_data,valid_data,test_data
学习的目的是为了考试的成绩更高,训练就是考前反复刷题(做题,然后核对答案),验证就是做模拟卷(拿一些没有做过的题,来验证你是否掌握了方法),测试就是最后参加考试。
如果我们直接拿刷过的题来出模拟考试卷,那么就达不到验证的目的,你可能仅仅是背下了答案。所以我们通常将题目划分成两个部分,一部分用于学习,一部分用于验证。
有的时候还会有测试集(不一定有),就是用训练好的模型来实际的进行预测,看看预测的效果如何。
3、其他概念
模型:也叫网络,就是神经网络的结构(有多少层、每层有几个神经元,每个神经元的激活函数是什么、每个神经元的参数是多少......)
过拟合:通过反复刷题,有人发现凡是出现了“首先”字样的题,都会选C。但是实际上并不是普遍、正确的规律。在过拟合的情况下,考生对手上已有的题倒背如流,但是做没有见过的题就错误很多。如果你的模型反复训练,对训练集的预测精度越来越高,但是验证的时候精度反而开始降低了,那就很可能是过拟合了。
欠拟合:连反复刷的题都基本做不对。
4、深度学习的基本流程
划分数据集为训练集和验证集——数据预处理——定义模型结构——反复训练模型——保存模型——使用模型进行推理(预测)