深度学习在训练什么,什么是模型

深度学习是机器学习的一个分支,它主要通过使用称为神经网络的复杂结构来学习数据的表征。在深度学习中,"训练"和"模型"是两个核心概念。

训练

在深度学习中,"训练"是指用数据来训练一个神经网络。这个过程涉及以下几个步骤:

  1. 输入数据: 这些数据可以是图片、文本、声音或其他任何形式的信息。对于不同类型的问题,输入数据的形式会有所不同。

  2. 标签: 在监督学习中,每个输入数据通常都会有一个对应的标签,这个标签是我们想要模型预测的目标。

  3. 学习过程: 在这个过程中,神经网络通过调整其内部参数(通常是权重和偏置)来尝试正确地预测输入数据的标签。

  4. 损失函数: 用于衡量模型的预测结果和实际标签之间的差异。训练的目标是最小化这个损失函数。

  5. 优化算法: 如梯度下降,用于调整网络参数以最小化损失函数。

  6. 迭代过程: 整个训练过程是迭代的,通常需要多次遍历训练数据集,这些遍历称为"epoch"。

模型

在深度学习中,"模型"指的是从输入数据到输出预测的映射。这个映射是通过神经网络的多层结构来实现的,每层都进行特定的数学运算。模型的具体特点包括:

  1. 结构: 如层数、每层的类型(全连接层、卷积层、循环层等)和大小。

  2. 参数: 神经网络的权重和偏置,这些在训练过程中学习和调整。

  3. 激活函数: 如ReLU、Sigmoid等,它们决定了神经元的输出。

  4. 输出: 根据问题的类型(分类、回归等),输出可以是一个类别、一个值或者一系列值。

总的来说,深度学习的训练过程是指用数据来调整模型的参数,以便模型能够准确地从输入数据中预测出结果。而模型本身是指这个从输入到输出的映射及其内部结构和参数。

解释一:

深度学习中大概有如下步骤: 
确定模型----训练模型----使用模型。
模型简单说可以理解为函数。
确定模型是说自己认为这些数据的特征符合哪个函数。
训练模型就是用已有的数据,通过一些方法(最优化或者其他方法)确定函数的参数,参数确定后的函数就是训练的结果,使用模型就是把新的数据代入函数求值。

解释二:

你可以把机器想象成一个小孩子,你带小孩去公园。公园里有很多人在遛狗。

简单起见,咱们先考虑二元分类问题。你告诉小孩这个动物是狗,那个也是狗。但突然一只猫跑过来,你告诉他,这个不是狗。久而久之,小孩就会产生认知模式。这个学习过程,
就叫“训练”。所形成的认知模式,就是”模型“。

训练之后。这时,再跑过来一个动物时,你问小孩,这个是狗吧?他会回答,是/否。这个就叫,预测

一个模型中,有很多参数。有些参数,可以通过训练获得,比如logistic模型中的权重。但有些参数,通过训练无法获得,被称为”超参数“,比如学习率等。这需要靠经验,过着grid search的方法去寻找。

上面这个例子,是有人告诉小孩,样本的正确分类,这叫有督管学习

还有无督管学习,比如小孩自发性对动物的相似性进行辨识和分类。


链接:https://www.zhihu.com/question/29271217/answer/83272460

解释三:

假设现在我们要开发一个识别鸟类的计算机程序。我们已经收集了很多鸟类样本数据,比如下面这样:

这个识别鸟类的程序要完成的功能:输入一只鸟的“体重”、“翼展”、“有/无脚蹼”、“后背颜色”,输出这只鸟的种类。

换句话说,这是一个分类系统。

怎么让计算机帮助我们对鸟类进行分类?这就需要使用机器学习的方法。机器学习可以让计算机从已有的数据(上面收集的已经有分类信息的鸟类样本数据)中学习出新的知识(如何对鸟进行分类)。

那么什么是训练?在这个例子里,训练指的就是利用收集的鸟类样本数据让计算机学习如何对鸟类进行分类这一过程。

已有类别信息的鸟类样本数据集合,称为训练数据集、训练集。训练的目的是让计算机程序知道“如何进行分类”。

至于“训练的是什么”、“参数是什么”,这依赖于我们所选取的“模型”。训练的结果简单来说就是得到一组模型的参数,最后使用采用这些参数的模型来完成我们的分类任务。

再举一个简单例子说明“模型”和“模型的参数”。

假设现在我们收集了一些二维平面上的点:红色的点记为A类,绿色的点记为B类,这些点的坐标和类别信息都是已知的。现在任务是,给出一个新的点的坐标,判断它是A类还是B类。

简单观察一下数据,好像我们可以用一条平行于 y 轴的直线把 A 类点和 B 类点分开。大概是这个样子:

我们希望找到这样一条直线 x = k,直线左边绝大多数点都是 A 类,直线右边绝大多数点都是 B 类。

于是我们的分类器模型就是 x = k 这样的直线,k 就是我们的模型参数。

训练的过程就是利用已有的数据点确定参数 k 的过程。假设我们的训练结果是 k = k_0 ,那么我们就可以用 x = k_0 这条直线作为分类器对新的点进行分类了。

当然实际应用中的模型可能要复杂的多,模型参数也不会只有一个 k 这么简单。

链接:https://www.zhihu.com/question/29271217/answer/44134218

如何训练模型:

首先得定义一个损失函数,加入输入样本,根据前向传播得到预测试。跟真实样本比较,得到损失值,接着采用反向传播,更新权值(参数),来回不断地迭代,直到损失函数很小,准确率达到理想值即可。这时的参数就是模型需要的参数。即构建了理想的模型。

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
深度学习训练模型是指使用深度神经网络对大量数据进行训练,以学习数据中的模式和特征,并用于解决各种机器学习和人工智能任务的过程。训练模型的目标是通过调整模型的参数,使其能够准确地预测或分类新的未见过的数据。 在深度学习中,训练模型通常包括以下几个步骤: 1. 数据准备:收集和准备用于训练的数据集,包括对数据进行清洗、标注和划分等操作。 2. 模型选择:选择适合任务的深度神经网络模型,如卷积神经网络(CNN)、循环神经网络(RNN)或变换器(Transformer)等。 3. 模型构建:根据选择的模型架构,在编程框架中构建模型,并定义模型的层次结构和参数。 4. 损失函数定义:选择适当的损失函数来衡量模型预测结果与真实标签之间的差异,常见的损失函数包括均方误差(MSE)和交叉熵损失(Cross-Entropy)等。 5. 参数优化:使用反向传播算法和优化器来更新模型参数,以最小化损失函数。常用的优化算法包括梯度下降法(Gradient Descent)和Adam优化器等。 6. 模型训练:将准备好的数据输入模型中,通过多次迭代训练,不断调整模型参数,使其逐渐适应数据的特征和模式。 7. 模型评估:使用验证集或测试集对训练好的模型进行评估,计算模型在新数据上的准确率、精确率、召回率等指标。 8. 模型调优:根据评估结果,对模型进行调优,如调整超参数、增加正则化等,以提高模型的性能和泛化能力。 9. 模型应用:将训练好的模型用于实际应用中,对新的未知数据进行预测或分类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

稻壳特筑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值