茉莉蜜茶only是阿里的前端程序媛,旨在做一些有意义的事情,Momomo[1]是她的掘金号,专栏文章质量也很高,感兴趣的童鞋关注下哦~
本文来自YouTube 上的一段 5 分钟的漫画版视频[2]。这段关于“什么是神经网络”的视频对神经网络的概念进行了有趣的介绍。我们将学习神经网络中存在的不同层,并了解这些层如何处理数据。我们将了解神经网络中使用的不同参数,如权重、偏差和激活函数。我们还将了解如何使用正向传播训练神经网络,然后使用反向传播方法调整网络中的误差。本视频还涵盖了一些流行的神经网络应用。现在,让我们直接开始学习什么是神经网络。
去年夏天,我们全家去了俄罗斯,尽管我们都不会俄语,但因为 Google 能将俄语实时翻译成英语,我们的出行没有遇到任何麻烦。
这只是神经网络的应用之一, 还应用于人脸识别、音乐创作等。
神经网络是深度学习的基础,深度学习是机器学习的一个子领域,其算法受人脑结构的启发而来。
神经网络通过对大量数据进行训练以识别这些数据中的特征,学习到的模型用来预测一组新的相似数据。
我们来构造一个区分正方形、圆形和三角形的神经网络,以了解神经网络是如何工作的。
神经网络由一层层神经元组成,这些神经元是网络的核心处理单元。首先,我们有一个输入层(Input Layer)来接收输入,输出层(Output Layer)是我们的预测的最终输出,在它们之间存在执行我们网络所需的大多数计算的隐含层(Hidden Layers)。
这是一个圆形图像,该图像由 28 x 28 像素组成,占 784 像素。每个像素作为输入馈送到第一层的每个神经元,这一层的神经元通过通道连接到下一层的神经元。这些通道中的每个通道都分配了一个称为权重(weight)的数值,将输入乘以相应的权重,并将它们的总和作为输入发送到隐藏层中的神经元。这些神经元都有一个称为偏差(bias)的数值与之关联,将偏差添加到输入总和中。然后将此值通过称为激活函数(Activation Function)的阈值函数传递,激活函数的输出结果确定特定神经元是否将被激活。激活的神经元通过通道将数据传输到下一层的神经元。
数据以这种方式通过网络传播,这称为前向传播(Forward Propagation)。
在输出层中,具有最高值的神经元触发并确定输出,这些值基本上是一个概率值。
当然,我们一看就知道这里的神经网络做出了错误的预测,那么神经网络如何解决呢?请注意,到这里我们的神经网络还没有接受训练。
在这个训练过程中,和输入一样将输出也馈送给神经网络。将预测输出与实际输出进行比较以得到预测中的误差,误差的大小表示错误程度,符号表示我们的预测值高于或低于预期,此处的箭头表示需要改变方向和幅度以减少误差。
然后,将此信息通过神经网络向后传输,这称为反向传播。向前传播和向后传播的循环是通过多次输入迭代执行的,在此过程中调整权重,一直持续到分配的权重使神经网络可以正确预测形状为止。
这里当预测为圆形的准确率达到 0.9 时, 大多数情况下,我们的训练过程就结束了。
您可能想知道这个训练过程需要花多长时间,说实话,神经网络可能要花费数小时甚至数月的时间。所以在选择使用神经网络来训练时,需要权衡一下所需要的训练时间。
让我们看一下神经网络的一些主要应用。
如今,智能手机上的摄像头可以根据人的面部表情来预测其年龄特征。这是神经网络的作用,首先把脸和背景区分开,然后把脸上的线条和斑点与可能的年龄联系起来。
训练神经网络以了解规律,例如高精度的预测降雨或股票的价格和趋势。
神经网络甚至可以学习音乐,并训练自己谱写一首新的曲子。
借助深度学习和神经网络,我们只迈出了一小步。
一些大公司已经预见了该领域的增长,Google,Amazon 和 Nvidia 等公司已经投资开发了支持实现神经网络的产品,例如库,预测模型和直观的GPU。
那么我们可以在多大程度上复制人类的大脑?得再等几年给出明确的答案。
所以这里有个问题要问你。下列哪项陈述不成立?
A、激活函数是阈值函数 B、在神经网络的每一层计算误差 C、前向和后向传播都发生在神经网络的训练过程中 D、大多数数据处理是在隐藏层中进行的
正确答案是选项 B。
说明:在神经网络中,模型中的误差总是在得到预测输出后计算,即在网络的输出层。将预测的输出与模型的实际输出进行比较。在网络中执行反向传播算法,并优化权值以减小模型中的误差。此过程重复多次以获得最终输出,使误差最小。
[1]Momomo: https://juejin.im/user/5df79a0cf265da33ed41225d
[2]YouTube 上的一段 5 分钟的漫画版视频: https://www.youtube.com/watch?v=6M5VXKLf4D4