AIGC背后的技术分析 | 机器学习背后的微分入门

简介: 用更简单的方法帮助你理解感知器。

640.jpg


# 1、机器学习背后的微分入门



为了理解更深层次的原理,让我们再来讨论一下最简单的神经网络——感知器(perceptron)。感知器是由Frank Rosenblatt在1957年发明的,要想理解它,请参考图1。

640.png


■ 图1 感知器概念表示

图1中有两个圆,一个在左边,另一个在右边,有一条线连接着这两个圆。如果你把它映射到生物学术语上,可以将圆看作神经元(neurons),而这条线将是一个突触(synapse)。这条线有一个叫作权重(weight)的值,它描述了两个神经元之间连线的重要程度。

简言之,神经元是一种特殊的细胞,是人类神经系统中可以携带信号的一个基本单元。突触是两个神经元之间的连接。

左边的神经元称为输入神经元。你不需要计算它的值,而是为它提供一个值,假设我们给了它一个0.2的值。右边的神经元称为输出神经元,它的值取决于与它相连的神经元的值。在本例中,只有一个神经元连接到输出神经元,输出神经元的值是输入神经元的值和突触的值的乘积。

换言之,你将每个输入神经元乘以其各自的权重,并将这些乘积相加在一起,就可以得到输出神经元的值。假设权重的值为0.4,现在让我们根据输入i和权重w计算输出神经元o的值:

640.png


就是这样!现在让我们代入值并查看结果:

640.png


现在我们得到了一个输出值。但是一个神经网络并没有这么简单,除非你可以训练它提供你想要的输出。在本例中,假设我们希望神经网络做一个简单的任务: 对提供的输入取负。所以,在这个例子中,我们想得到输出-0.2,但我们却得到了0.08。

下表给出了变量最初的简化视图。

640.png


为了获得更好的输出,我们需要改变权重的值,以更接近预期的结果。那么我们该怎么做呢?我们需要用到一些微分的知识。别担心,你不需要知道任何高级的微分知识。

在我们弄清楚新的权重应该是什么之前,我们需要首先看看神经网络距离预期输出有多少偏差,这被称为损失函数或误差函数。在本例中,我们取期望输出和神经网络输出之间的平方差,假设预期输出z为

640.png


让我们来计算一下损失:

640.png


这就是说,神经网络的“不正确性”是0.0784。但这是如何帮助我们计算新权重的呢?答案是通过计算损失函数的导数,我们有了一个新的函数,它可以告诉我们如何更新权重以更接近期望的输出。你不需要担心该函数是如何工作的,你只需要知道

640.png


这就是说,神经网络的“不正确性”是0.0784。但这是如何帮助我们计算新权重的呢?答案是通过计算损失函数的导数,我们有了一个新的函数,它可以告诉我们如何更新权重以更接近期望的输出。你不需要担心该函数是如何工作的,你只需要知道

640.png


是损失函数对权重的导数,我们继续来计算一下。

640.png


计算结果如下:

640.png

现在我们得到了损失函数的导数值。我们应该如何使用它更新权重呢?

在这里,你需要明白一些事情: 你不能只更新权重,你必须通过一定的量调整权重,这被称为学习率(learning rate)。就像人类一样,如果学习率太高(一个学得太快的人),神经网络根本就不会学到很多内容;如果学习率太低,神经网络则需要太长时间进行学习。所以你需要一个很合适的学习率。在本例中,我们使用0.1的学习率:

640.png


计算结果如下:
好吧!让我们尝试用神经网络进行预测:

640.png


哇,我们比之前更接近期望输出了。我们想要的输出是-0.2,但我们得到的输出是0.08,我们的输出值0.08距离-0.2为0.28。然而,在我们通过微分运算进行处理后,我们得到的输出为0.07776。现在,这个新输出0.07776距离-0.2是0.27776。

下表给出了一次迭代后系统如何学得比以前更好的简化视图。

640.png


从另一个角度来看,让我们再次计算损失:

640.png


我们从0.078降到了0.077。现在,如果我们继续重复这个过程,我们应该会得到一个可接受的值。对于更大的数据集,我们可能需要重复成千上万次才能获得较好的结果。

此外,你只是根据一个训练样本计算了一个新的权重值。数据并不是很多,神经网络需要更多的数据进行学习。如果你想用更多的样本进行训练,那么一种方法就是对多个训练样本的损失进行平均。

目录
相关文章
|
1月前
|
机器学习/深度学习 自然语言处理 算法
探索机器学习中的自然语言处理技术
【2月更文挑战第16天】 在数字化和智能化的浪潮中,自然语言处理(NLP)技术已成为连接人类与机器沟通的重要桥梁。本文深入探讨了机器学习在自然语言处理中的应用,包括最新的模型架构、算法优化技巧及实际场景中的挑战和解决方案。通过逻辑严密的分析,我们将揭示如何有效利用机器学习提升NLP系统的性能,同时对未来发展趋势进行预测。
23 0
|
28天前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习中的自然语言处理技术
【2月更文挑战第31天】 随着人工智能的飞速发展,自然语言处理(NLP)技术在机器学习领域扮演着越来越重要的角色。本文旨在深入探讨NLP的关键技术,包括语言模型、词嵌入和深度学习方法,并分析这些技术如何相互协作,以实现更高效的文本分析和理解。通过案例研究和最新研究成果的介绍,我们展示了NLP在实际应用中的强大潜力,以及它如何推动人机交互和信息检索系统的革新。
18 0
|
1月前
|
机器学习/深度学习 算法 数据可视化
JAMA | 机器学习中的可解释性:SHAP分析图像复刻与解读
JAMA | 机器学习中的可解释性:SHAP分析图像复刻与解读
77 1
|
20天前
|
机器学习/深度学习 人工智能 运维
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)(二)
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)
53 1
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)(一)
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)
60 1
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能技术专题】「入门到精通系列教程」零基础带你进军人工智能领域的全流程技术体系和实战指南(LLM、AGI和AIGC都是什么)(一)
【人工智能技术专题】「入门到精通系列教程」零基础带你进军人工智能领域的全流程技术体系和实战指南(LLM、AGI和AIGC都是什么)
45 0
|
10天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【4月更文挑战第9天】本文介绍了使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先,简述了机器学习的基本概念和类型。接着,展示了如何安装Python和Scikit-learn,加载与处理数据,选择模型进行训练,以及评估模型性能。通过本文,读者可了解机器学习入门步骤,并借助Python和Scikit-learn开始实践。
|
30天前
|
人工智能 自然语言处理 Kubernetes
LLM 技术图谱(LLM Tech Map)& Kubernetes (K8s) 与AIGC的结合应用
LLM 技术图谱(LLM Tech Map)& Kubernetes (K8s) 与AIGC的结合应用
59 0
|
1月前
|
机器学习/深度学习 算法 数据可视化
机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?
机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?
29 1
|
1月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习】机器学习简单入门
【机器学习】机器学习简单入门
35 1