IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 尝试不用图,只用字说清楚人工智能的基础原理 -> 正文阅读

[人工智能]尝试不用图,只用字说清楚人工智能的基础原理

一个神经元,有多个输入,一个输出。令输入是x1,x2,x3,输出是y。
y=sigmoid(wx+wx+wx+b)
w是权重,b是偏移量。
小括号里的部分对3个x进行“加权求和”。
sigmoid函数是众多激励函数中最古老的一个,它的特点是,把负无穷到正无穷之间的值,映射到0到1之间。这么设计是为了模拟真实的神经元,上述3个x的值属于0到1的区间,加权求和之后,超出区间了。这时,用sigmoid函数“压缩”,让y回到0到1的区间。
假设有2个这样的神经元,输入是x1,x2,x3,输出是y1,y2,它们构成一个3×2全连接。这样的神经元网络叫做全连接神经元网络。
y=sigmoid(wx+wx+wx+b)
y=sigmoid(wx+wx+wx+b)
学习中,遇到了线性代数,用矩阵乘法和矩阵加法可以简化描述上述方程组。注意只是简化描述,而不是简化,运算量不减,只是描述起来方便了。
还有一个词,叫深度学习,它所对应的是更深的网络:有多个隐藏层。
从现在开始,用大写的X代替3个小写的x。输入是X,它通过全连接输出H1,H1再输出H2,……如此多层,直至输出Y。这便是有多个隐藏层的全连接神经元网络,深度学习的前两个字:深度,指的就是层数多。
不管大X有几个小x,不管整个网络有几层,它都是一个函数F。这个函数F可以叫做执行函数,是以后干活要用的函数。例如手写数字识别的任务,输入一个图,它有几百个小x,每个x是一个像素,其值不是0到255,而是0到1。有10个小y,对应0到9这10个数字,哪个输出点亮了,就说明该神经元网络识别出了哪个数字。
至此,神经元网络搭建完成了,但它还不能工作。因为有许多参数,{w,b},还没有确定。

以上是“深度”,以下说“学习”。
用梯度下降法进行学习,并需要构造一个损失函数L,它的输入是F的参数,是许多w,b的集合,{w,b}。因为有多个w,b参数,所以它是一个高维函数!
输出是什么呢?输出是一个一维量,可以理解为现在的状态和理想状态之间的“距离”。用梯度下降法求这个距离的最小值,对应的{w,b}就是最优的参数集。
什么是理想状态呢?就是训练样本中的Y。训练样本由许多(X,Y)组成,对于一组{w,b},用执行函数F计算X对应的Y,这个Y应该用Y’表示,因为它和训练样本里的Y不同。
本例中,大Y由2个小y组成,计算Y和Y’的距离,用公式(y’-y)2+(y’-y)2,这计算了一个训练样本,有N个训练样本,就计算N次,并求和。所得到值,即损失函数L的输出。
说到这里,仅构造了损失函数L,还没有开始梯度下降。要想了解梯度,可以用一元函数来过渡。对于一元函数来说,梯度就是斜率。我们要解的那个损失函数L有几百上千个输入的{w,b},暂时忘了它,用一元函数来说明。

在x-y平面上有一个不规则的一元函数,求它的最小值。先给一个随机的x,求得函数在x处的斜率(以后这个概念要用梯度来代替)。如果斜率为正,说明最小值在左边,应该将x减去一个值;如果斜率为负,说明应该让x变大一点。
新的x对应更小的y,重复上述过程,直至斜率接近0,此时对应一个局部最小值。为了找到更好的局部最小值,可以将上述过程重复多次,每次都以不同的随机值开始。
总之,最后我们找到了求不规则函数局部最小值的方法。把斜率换成梯度,就可以求高维不规则函数的局部最小值了。
将梯度下降法应用于损失函数L,求出最小值对应的{w,b},这是我们想要的。把它给执行函数F,F就能工作了。

估算一下训练的运算量。
设执行函数F有A个参数,大约需要A次运算,以完成一次F的执行。在训练过程中,需要大量重复执行F。
损失函数L的输入值个数等于A,这是个A元函数。计算A元函数的梯度,需要几次运算呢?需要在每一个维度上都计算一次F,运算量约是A2。设有B个训练样本,则计算损失函数L时,还需要3B次运算。训练一次需要A2+3B次运算,设训练C次,则总的运算量是C(A2+3B),时间复杂度约是3次方。
A是神经元网络的复杂度
B是训练样本的个数
C是训练的次数

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-06 13:50:16  更:2022-02-06 13:52:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 20:33:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码