目录

1.神经元

2.Sigmoid 函数

3.MNIST 数据集

4.Softmax 函数与单层感知机

5.多层感知机

6.多层感知机的局限


1.神经元

深度学习的算法,基本都是一层一层的复杂的网络结构。我们把这种网络称之为“人工神经网络”,它是卷积神经网络的基础。

人工神经网络是由一个个神经元组成的,神经元是人工神经网络中最基础的计算单元。神经元接受前一层的输入,经过处理会有一个输出。就像下面这张图一样,接受输入(x1, x2, ...),然后输出 z:


z 的计算方式如下:

其中,x1,x2,...,xk 为输入;w1,w2,..,wk 为权重;b 为偏移项;δ 则为激活函数。

我们可以看出,一个神经元是由下面 5 部分组成的:

1.输入:x1,x2,...,xk。

2.权重:w1,w2,..,wk。权重的个数与神经元输入的个数相同。

3.偏移项:可省。

4.激活函数:一般都会有,根据实际问题也是可以省略的。

5.输出。

w1,w2,..,wk 与 b 是神经网络需要通过训练学习到的参数。

2.Sigmoid 函数

在神经元的部分,提到一般会由一个激活函数来输出。激活函数有很多种,不同的激活函数适用于不同的问题。
1.二分类问题我们一般采用 Sigmoid 函数,
2.多分类问题我们采用 Softmax 函数,
3.卷积神经网络的中间层一般会采用 relu 函数。

今天我们讲的神经元最基本的作用就是用于二分类问题,也就是说上文中的 δ,它在神经元中是一个 Sigmoid 函数作用是将神经元的输出转换为概率,为二分类问题提供概率依据。

Sigmoid 函数定义如下:

Sigmoid 函数是我们在机器学习与深度学习中经常使用的一种激活函数。通过图像我们不难发现:

当输入趋近于无穷大的时候,输出越接近于 1;

当输入趋近于无穷小的时候,输出越接近于 0。

所以 Sigmoid 函数经常被使用在二分类问题,它可以将 1 个数值转换为概率。当输出的概率大于 0.5 或者某一个自定的阈值时,我们就可以判断该类别为正例。

3.MNIST 数据集

我们现在需要利用神经元判断下面这张图片是否为手写数字 5:

因为每张图片是 28x28 像素的,所以我们将图片按行列展开(28*28像素=784个像素点,长度为 784 的向量)为 x1, x2,...,x784,输入的下标的范围是 1 到 784。将它们输入到以{w1, w2, ..., w784; b}为参数的神经元中。假设输出 z 为 20,经过 Sigmoid 函数我们会将 z 转换为概率,通过计算可得概率为 99%。如下图所示:

在判断的时候我们一般会以 50% 为阈值,但我们可以根据实际问题来设置不同的阈值。这里我们设定阈值为 50%,通过上图得出的 99% 明显高于这个值,因此,我们可以判断这张图片是数字 5。如此一来,就完成了一次神经元的推断过程。

其实到这里,你就已经了解了感知机的概念。没错,这一个小小的神经元就是最简单的一种感知机。神经元是模仿单个神经细胞的工作状态,单个神经细胞只有两种状态,激活时状态为是,未激活时状态为否,其实就是一个二分类问题。

但是,现在问题变了,变成我们需要自动识别出每张图片是属于哪一个数字了。这样只靠刚才讲过的单个神经元是无法完成的,因为神经元只能处理二分类的问题。遇到这种问题应该怎么办呢?

前人的研究结果表明,每个神经元是更加侧重于一种数字的识别。因此,我将刚才的感知机稍加修改,即可解决这样的一个多分类任务:

输入不变,我们仍然将一张 28x28 像素的图片转换为长度为 784 的向量。

我将神经元的个数由 1 变为了 10,这 10 个神经元只负责自己力所能及的任务,它们只判断输入的图片是否为自己对应的数字,也就是神经元 0 只负责学习输入的图片是否为 0,神经元 1 只负责学习输入的图片是否为 1,以此类推。

每个神经元接受输入后都会有一个输出(图中的 z0,...,z9),每个输出 z 都是神经元自己做出的判断:输入的图片是否为该神经元负责的类别。

接下来,我们汇总一下这 10 个神经元的判断,做一个最终的推断。我们可以把图中粉色的激活函数设置为 Softmax 函数,哪个神经元输出的数值最大,输入的图片就对应哪一类。

4.Softmax 函数与单层感知机

前文我提到,Sigmoid 函数是用来解决二分类的问题的,面对上面要识别输入的图片为哪个数字的时候,我们就需要使用 Softmax 函数,来解决这样一个多分类的问题。

神经元最终输出的 z 又可以叫作特征值。通常来说,特征值的用途不大,我们更希望获得到更有统计学意义的,每一个分类的概率。Softmax 函数可以将一组数值映射到[0,1]区间内,并且保证输出的和是 1,输出的数值可以看作“概率”。计算公式及举例如下图所示:

这样,我们将输出的 z0, z1, ..., z9 输入到 Softmax 激活函数后,可以获得一组概率值。通过判断哪个神经元输出的概率最大,就可以推断出输入图片所属的类别。

这也引出感知机的另一种形态,单层感知机。

既然一个神经元不可以解决复杂的问题,那么我们可以集成多个神经元,让多个神经元共同解决复杂的问题。在这种新的形态下,感知机会增加 2 个新的特性:

1.可以进行多类别的分类;

2.集成了多个神经元,提升了模型整体性能。

请看下图,蓝色的圆圈就是我们刚才讲的神经元,因为单个神经元的学习能力有限,所以我们对神经元进行了扩充。每个神经元各司其职,只处理自己的事情,合并起来就可以处理更复杂的问题,简单来说就是人多力量大。

在这里我会再引入“层(Layer)”的概念。

一般来说 Layer1 为输入层,Layer3 为输出层,中间的 Layer2 为隐藏层。单层感知机里只有一个隐藏层,而在后面要学习的多层感知机,卷积神经网络,则会有多个隐藏层。

5.多层感知机

我们后续会学到卷积神经网络、时间递归神经网络等,这些都是神经网络的变种。最基本、最简单的神经网络结构就是我在这里要讲的多层感知机,只有理解了多层感知机才能更好地理解那些高级的神经网络。

多层感知机的思想仍然是模仿人的神经系统,将获得的信息一层层地传递下去,每一层做不同的抽象。多层感知机要求至少有两个隐藏层,所以我们对单层感知机稍做修改,即可获得多层感知机。

我们经常说的网络的深度,就是指网络中的隐藏层,即 Deep Learning 中的 Deep。你也许听过 DNN(Deep Neural Network),它其实指的就是多层感知机。

图中的小圆圈就是我们之前介绍的神经元,计算方式与神经元的计算完全相同。

我们再回到刚才识别一张图片是否为手写数字 5 的例子,这次我们有 2 个隐藏层。如下图所示:

输入仍然是 x1, x2, ..., x784,  代表第 k 层,由输入 i 到第 j 个神经元的权重,zki 为 k 层,第 i 个神经元的输出。

我们输入的图片,经过第一层获得输出 z11 与 z12,z11 与 z12 作为第二层的输入,得到第二层的输出 z21 与 z22,第二层的输出再作为第三层的输入,最后我们获得数组 z31。

z31 之后再加一个 Sigmoid 函数,将它转换为对应的概率,这个操作就和我之前讲的一样了。

6.多层感知机的局限

从神经元的角度介绍了感知机之后,我们再来从数学的角度上理解一下感知机。

从神经元的计算公式我们可以知道,神经元只能学习到线性的关系,但是在现实中,绝大多数问题都是复杂的非线性关系。

我们看看下面这个例子: 2 个输入(x1 与 x2),1 个神经元,激活函数为 Sigmoid,需要对右侧的 output 进行预测。output 一共有 2 个类别,黄色的点与蓝色的点,并且两类处于一种非线性关系。

我们可以发现,无论训练多少个 Epoch,我们的模型都无法把属于非线性关系的输出划分开来。这也就是单个神经元的局限性。

Epoch:在机器学习中,会有很多数据来帮助我们更新参数。所有数据都使用过一次,我们便称之为“一个 Epoch”。

我们一直说,我们的神经网络是模仿人类的思考过程,将信息层层传递下去,每一层负责抽象不同的信息,从而解决复杂的任务。这一行为的背后有一个数学解释,即:当我们有足够多个线性关系的时候,可以拟合出任意的非线性关系的。所以我们可以尝试增加神经元与层的个数来解决上面的问题,如下图所示:

如果我们无限的堆叠神经网络的层与任意增加神经元的个数,是不是就可以解决所有问题了?

非常遗憾,这是不可以的,神经网络的性能会大大的下降。当神经网络隐藏层的层数大于 2 时,网络的性能会随着层数的增加而降低。

在深度学习诞生之前,这些局限性导致多层感知机的发展一度停滞。

1.参数量膨胀:在多层感知机中,采用的是全连接的形式,每增加一层,将会来带数量级的参数增加。这非常容易导致过拟合,并且很难训练,会陷入局部的最优。

2.梯度消失:使用 Sigmoid 函数激活的时候,会产生梯度消失的问题,使参数无法更新。

02 | 从神经元说起:结构篇相关推荐

  1. 福利 | 从生物学到神经元:人工神经网络 ( ANN ) 简介

    文末有数据派THU福利哦 [ 导读 ] 我们从鸟类那里得到启发,学会了飞翔,从牛蒡那里得到启发,发明了魔术贴,还有很多其他的发明都是被自然所启发.这么说来看看大脑的组成,并期望因此而得到启发来构建智能 ...

  2. 09 | 自编码器:让模型拥有属于自己的表达和语言

    欢迎来到深度学习的第 9 讲,自编码器 (AutoEncoder) 的学习.上一讲我带你了解了 RNN 和 LSTM,它们是在处理序列数据时非常有用的神经网络.我在<03 | AI 术语:让你变 ...

  3. 04 | 函数与优化方法:模型的自我学习(上)

    目录 一.损失函数.代价函数和目标函数 损失函数与代价函数 目标函数 常用损失函数 1.0-1 损失函数 2.平方损失函数 3.均方误差损失函数 4.交叉熵损失函数 5.Softmax 损失函数 二. ...

  4. 机器学习系列之神经网络入门基础知识

    01 | 人类神经系统原理 生物神经元间的信号通过突触来传递.通过它,一个神经元内传送的冲击信号将在下一个神经元内引起响应,使下一个神经元兴奋,或阻止下一个神经元兴奋.人体内有上百亿个神经细胞,这些神 ...

  5. 神经网络中的神经元常见激活函数绘制

    近年来,神经网络方法在多个领域表现出优于传统算法的特点,其使用神经元的组合来提取数据中的深度特征,在非线性任务中表现出优越的性能. 神经元的非线性,主要是通过其激活函数f(x),将wx+b进行非线性化 ...

  6. 一秒看遍10万神经元的「绚丽烟花」,AI究竟向大脑学什么?|北大陈良怡专访...

    作者:梦佳 大脑是人类进化的高级产物,重量约1.5公斤,占体重2%,功耗约20瓦,占全身功耗20%,当前人类对大脑的认识还不足5%,尚无完整的脑谱图可供参考. 毫无疑问,如何洞察生物大脑内的一切是走向 ...

  7. 前沿 | 历时十二年!曼彻斯特百万级神经元的类脑超算终开启

    具有百万处理器内核的「脉冲神经网络架构」或 SpiNNaker,每秒能完成约 200 兆次运算. 来源:机器之心 摘要:这台世界最大的神经形态超级计算机由曼彻斯特大学计算机科学学院设计和制造,它被设计 ...

  8. 人造神经元成功操纵植物,让捕蝇草强行闭合,脑机接口新思路打开丨Nature子刊...

    博雯 发自 凹非寺 量子位 | 公众号 QbitAI 每日一问:机械义肢什么时候普及? 二次元中里常用的解决方法是将神经与硬件设备(包括各种电缆)相连,以达到控制的目的,当然了,我们现在的科技水平还做 ...

  9. MIT科学家首次发现只对歌唱有反应的神经元,对,只能人声带伴奏的那种歌

    博雯 发自 凹非寺 量子位 | 公众号 QbitAI 寻找技能专精的神经元,一直是神经科学领域一个永恒的课题. 就拿"声音感知"来说,虽然对声音进行广泛感知的大脑区域早已确认,但人 ...

  10. 这个新型AI电子器件没有硅!北航32岁教授共同一作,能模拟大脑神经元,还登上了Science...

    明敏 发自 凹非寺 量子位 | 公众号 QbitAI 用钙钛矿取代硅研制电子器件,居然还能被用来完成AI计算??? 众所周知,钙钛矿作为一种重要的材料,掺杂后主要用于生产SCI及博士论文(手动狗头). ...

最新文章

  1. 在线作图丨绘制一个含饼图的组内网络分析图(Network Analysis)
  2. word里实现在方框中打勾和打叉
  3. Python基础教程:format 格式化字符串用法
  4. c语言文件指针ab命令,C语言试题,~库(完整版~).doc
  5. kafka python框架_为什么选择R而不是Python做ETL
  6. 统计list里面相同元素个数_Array篇easy难度之求相同元素个数
  7. stat在python中_stat模块接口
  8. 吴功宜计算机网络教程ppt,计算机网络 吴功宜 编著ppt课件.ppt
  9. 花书+吴恩达深度学习(二二)自编码器(欠完备,DAE,CAE,PSD)
  10. 关于ABAP事件的一张图
  11. 【语音合成】基于matlab重叠相加法的信号分帧与还原【含Matlab源码 568期】
  12. java 无锁并发_高并发情况下怎样尽量实现无锁编程
  13. OppoR17被查找手机锁死问题解锁
  14. 【那些年,我们一起追的女孩】第十一章
  15. WPJAM「网址导航」:最轻便快捷的WordPress网址导航插件
  16. 第一个项目的大概流程
  17. [ Ubuntu ] shell脚本编程丨日积月累丨1. 循环执行命令n次
  18. Android Studio编写Xposed模块
  19. 北斗网络同步时钟与GPS卫星时钟同步设备的区别
  20. matlab怎么读取指定坐标的RGB值

热门文章

  1. FCC认证和3C认证区别
  2. [Python人工智能] 十九.Keras搭建循环神经网络分类案例及RNN原理详解
  3. PHP按符号截取字符串的指定部分
  4. 病毒木马查杀实战第011篇:QQ盗号木马之专杀工具的编写
  5. WIN7下建行捷德U盾支付
  6. 德保罗大学计算机专业,德保罗大学计算机、信息与网络安全研究生语言及申请要求-费用-课程设置...
  7. 联机带AI版3D桌球游戏源码
  8. 灵境(元宇宙) 赋能传统产业创新的理论方法与架构模式
  9. 边缘计算研究热点地图
  10. typecho添加html5视频播放器,DPlayer-Typecho视频播放插件