国联论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 778|回复: 0

人工智能基础知识

[复制链接]

1323

主题

1323

帖子

4036

积分

论坛元老

Rank: 8Rank: 8

积分
4036
发表于 2023-1-14 13:02:40 | 显示全部楼层 |阅读模式
声明:参考资料大体来源于基本操作的在线交互学习项目:《一个人工智能的诞生》,文章的内图像素材基本来自该项目,如有不妥将删除图片。项目链接:https://jibencaozuo.com/product/1

人工智能的核心就是分类,通过大量多维向量样本形成不同集合的数据,利用一个超平面将集合分开。超平面公式(线性函数)为f(x)=w_1 x_1+w_2 x_2+...+w_i x_i−b=0,wi为xi的权重,b为偏置项。

大脑由两部分组成一个是由神经元细胞体和树突组成的灰质,一个是由无数传递神经信号的轴突组成的白质。计算机的自动调整权重分类工作是由相互连接的神经网络组成,神经网络模型源于白质内大脑神经元的激活抑制。这就是神经hjfeyb.gq网络模型。

而神经网络分为四个部分:输入、权重、判断、输出。将数据输入神经网络模型,比较 ∑〖w_i x_i  〗 与 b 的大小,设定输出值y=0|1,如果与目标值Y不符则自动调整权重与偏置项,就以能简单分割二维向量的感知器模型为例,其自动调整的参数变化公式如下。

权重变化公式:w(i+1)=w_i+Δx,  Δx=(Y−y)∗x_i∗r(r:学习率)

偏置数变化公式:Δb=(Y−y)∗1∗r

这个公式可以自动根据数据的偏大偏小来调整,根据 x_i  的大小来决定移动的程度。但这种感知器的分类方法还存在缺陷,无法做到对重叠环绕的集合数据用一条直线或平面进行分离,所以接下来要做的就是对坐标系变化。

由于输入数据是一次数据,输入与输出的关系就是一次的,所以无法做到分割线与分割面弯曲,所以只能让坐标系变形以达到数据分类的目的。

在输入与输出中添加一个中间层,做一次线性变换与平移,x_1 和x_2 变换后为z_1 和z_2;初始权重w1和w4默认为1,w2和w3默认为0,再加上参数bi,变换公式为:

届时调整权重便可以调整坐标系,因为z代替了x成为了新的坐标点;但以上只是线性变换,无法满足我们的需求,所以还需要再做一次非线性变换,变换函数称为激活函数。激活函数让坐标系进行非线性的变化,且支持多维非线性变换。

上一章感知器的最后一层用到的就是最基本的激活函数:阶跃函数;公式为h1=step(z1),h2=step(z2),这样横纵坐标只有两个位置,如果z1<0,则横坐标h1=0,纵坐标也如此。

除此之外还有这些激活函数:

于是就有了两套中间层。

当二维数据无法在二维平面分开的话,就可以在中间层选择将数据升到三维,在三维坐标系中分离数据,对应添加N个因变量z。

感知器的基本运算依靠矩阵公式计算。比如RGB色彩运算就是依靠举证运行,输入向量分别代表单元色红、绿、蓝;矩阵第一列为红色、第二列为绿色、第三列为蓝色,颜色的输出依靠输入颜色依次与单元色矩阵的乘积和。

由于矩阵W可以看作是基向量,比如(0,1),(1,0),向量X可以看作是系数;矩阵一列为一个基向量,一行为一个坐标的一维基向量;换句话说,改变矩阵asikxa.gq就是在改变基向量,也就是改变坐标系。

我们以目标值Y与输出值y的一致性判断模型的误差率,让误差记作1,误差总数和的平均即为损失值Cost;由于数据的分类精度由感知器的各个权重与偏置值决定,整合起来组合成损失函数。

机器学习模型中通常变为:

在多个变量的多维空间中,调整误差到最小值就需要找到空间中的最低点,即将损失函数最小化;对此我tbndls.gq们需要对位置参量进行求导、求偏导数。

就以二维平面的二次方程举例,想要目前该点自动寻路至最低处,需要知道距离与方向。

方向判定:当前斜率为负x值变大,为正x值变小;

距离判断:距离的步长需要考虑斜率,当此时的斜率变小步长减小,反之增大,二者呈正比关系;不过仅仅将移动距离等于斜率有时会遇到大的梯度就“下不去了”,所以还要乘上一个比例,这个比例称为步长;步长与二维分割线自动调整的学习率作用一致,统称学习率。

三维或更高维的寻路以此类推,将向量分nwwcgc.gqeaurcd.gq为多坐标的基向量,计算各方向的求导以及向量积寻求最短捷径。

具体的求导计算:

先设置模型中的初始参量和激活函数,注意最后一层的输出函数不能为阶跃函数,毕竟除了原点的导数外其他点的导数均为0,无法求导做梯度下降。

输入样本数值,开始正向运算,运算只有求和、求积和激活函数运算,难度不大;最后求出损失值Cost,可以每计算一次求一次,也可以随机记录,以上运算称为前向传播。

接下来开始反向传播,根据Cost逆推出参量需要自动改变的值。目的便是求出误差值C对所有参数的偏导数,运用链式法则求复合函数的导数。

比如C对b3的偏导数为:

而链式法则的计算公式为:

最后算出参数的偏导数,求平均乘上步长更新参数。

介绍一些样本训练的基本概念

学习率

学习率对机器深度学习的效率有着重大影响,通常学习率过大,调整产生的分类可能性大,但是机器学习参数变化过快往往无法收敛;学习率过小分类速度降低,也可能无法摆脱错误分类的趋势。

过拟合

一般来对于越复杂的分类就要使用更多层和更多维的模型进行分类,但太复杂的模型和过多的训练可能会导致过拟合;过拟合的现象是训练集测试准确率高,但是实际测试集准确率低,分类集合过于狭隘,无法分类出没出现过的情况。

而“泛化”是过拟合的反义词,在wcnjvp.gq训练集测试和测试集准确率都高,对分类物的潜在本质和边界把握得恰到好处;控制过拟合的方法一般由提高训练样本的数量和多样性,以及控制训练次数。

梯度消失

当模型结构过于复杂,会出现前几层参数无法再改变的情况,方法是简化学习模型。这是一个数学问题,训练迭代时神经网络模型的权重更新值与误差函数的偏导数成比例,容易导致梯度值消失,无法得到有效更新。Sigmoid函数最容易导致梯度消失,可以换成线性整流lzkgaj.gq函数ReLU等。

而“梯度爆炸”的意思是当神经网络很深时,梯度呈指数级增长,最后到输入时,梯度将会非常大,我们会得到一个非常大的权重更新,这就是梯度爆炸的问题,在循环神经网络中最为常见。

隐藏层:通常卷积神经网络除了输入层和输出层之外还有四个基本的神经元ipiaba.gq层,在三层神经网络中,这基层被称为隐藏层;通过层层分解与抽象分类,最终的目的就是为了更好的线性划分不同类型的数据。深度神经网络(DDN)则是带有两个或多个隐含层的神经网络。

多分类

将实例分配至多类别中的一种,初始方法是在输出层添加与分类数相等得神经元,对数据做判断;取神经元中的最大值做输出端口,输出值为1,进行多个二元分类则能形成多重分类。

Softmax函数可用于完成多分类任务。一般情况取最大值经常会导致小分值的饥饿,变化不连续;而在输出层加上Softmax可以使分类更加稳定准确,雨露均沾。

随机梯度下降

我们上述所做的都是批量梯度下降,在每次迭代时反向传播使用所有样本,这种梯度下降方式对于大数据集不友好,会明显拖延训练速度,降低内存利用率。而随机梯度下降是每次迭代使用一个样本来对参数进行更新,使得训练速度加快。

批尺寸:随机梯度下降中,决定权重更新的频率,选择每次根据几个样本来更新数据;Batch_Size = 1,即在线学习,经常难以达到收敛。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:以上所展示的信息由会员自行发布,内容的真实性、准确性和合法性由发布者负责。国联论坛对此不承担任何责任。

QQ|Archiver|手机版|小黑屋|国联商务网

GMT+8, 2024-11-26 08:18 , Processed in 0.096273 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表