walegahaha 2020-10-06
人工智能席卷了世界,所谓的“机器学习算法”已经渗透到现代技术各个可能的层面,它已成为义务而不是创新。有些人可能会争论,我们今天使用的机器学习算法是否足够自主到可以称为真正的AI,这个争论过于宽泛,并不是本文的重点。
在这篇文章中,我试图探索神经网络与人类思维之间的深刻复杂性和深层关系。
当你开始在谷歌上输入时,浏览器怎么就已经猜到你在找什么呢?移动相机又如何在我们称为照片的微小像素海洋中识别人脸呢?像Alexa、Siri或Google Home这样的虚拟助理如何实现复杂的任务,例如安排会议、获取天气信息、阅读睡前故事等呢?
所有这些问题的答案正是机器学习,更具体地说,是神经网络。
什么是神经网络?
本节意在告诉完全不了解深度学习的人什么是基本的神经网络。虽然实际涉及的数学更复杂,但这里的重点不是神经网络的工作方式,而是试图理解他们与人类思维的联系。
神经元
神经元是神经网络中最简单的单位。神经元所做的是从上一层中的所有神经元接收输入值(此案例中神经元y的上一层用蓝色表示,如x1, x2 , x3等等),并将每个输入值与来自输入值的神经元相关的权重相乘。所以这里x1与w1相乘,x2与w2相乘等以此类推,所有这些乘法都是在神经元y内部增加的。
y=x1.w1 + x2*w2 +x3*w3……xm.wm
然后使用激活函数如Sigmoid、tanH、ReLU等将该求和值转换为输出值。那么这些激活函数又是什么呢?下面举个sigmoid激活函数的例子。
Sigmoid激活函数
Sigmoid激活函数将任何输入值(本案例中求和y即是Sigmoid函数的输入值)转换为0至1范围内的值。就这么简单,添加输入值和各自的权重到激活函数中就好啦。你的神经元就会给你一个输出值。
简单的神经网络
这和神经网络一样简单。如你所见,这里的每个灰色圆圈都是一个神经元,这个神经网络有三层:输入层、隐藏层和输出层。
现在,神经网络学会了自行处理任务,但它们是如何学习的呢?当然是通过数据。我们将在下一节中讨论更多关于从数据中学习的内容,但我们现在知道了,数据通过输入层输入到神经网络,在中间层进行处理,然后由输出层输出。
将图像分类为猫和狗的神经网络
例如,如果你想让一个神经网络从图像中识别猫和狗,那么猫和狗的标签图像(标签图像意味着我们给神经网络一个正确的答案)就会输入到神经网络,进行处理,神经层猜测它是猫还是狗。现在,由于它有了图像答案,便以这种方式调整不同神经元之间的权重,来提高准确度。
人类思维——一个巨型神经网络
你有没有观察过蹒跚学步的孩子玩耍?他们总是如此好奇,渴望与周围的世界互动。幼儿的大脑就像简单而未经训练的神经网络,他们一出生就开始学习。由于神经网络在早期阶段非常简单,所以幼儿最早学的都是完成非常基本的任务,如行动、吃饭和爬行等等。
当一个初学走路的孩子拿着一个球时,他会观察它的重量、形状、握着它的感觉与皮肤周围的变化等。这一观察是他最初的部分学习过程,事实上也是在帮助他学习。幼儿玩球训练了他的大脑,为下次的活动做好准备。
图源:unsplash
现在,当他看到一个球,他就记得它是什么,拿着球和丢球的感觉如何。当孩子玩球次数越来越多,训练就形成了。青少年几乎是玩耍和投掷球的专家,尽管人们可能会认为投球是一项非常简单的任务,但你为之所经历的学习,无论如何都不是捷径。
正如前文所述,孩子的大脑就像一个简单的神经网络,实现基本的任务,如走路、吃饭、说话等。随着孩子的成长,他学会了更复杂的过程,如手和眼睛协调,说话流利,吃饭不洒等。
有训练神经网络经验的人认为,训练一个简单的网络相对容易,但随着增加更多神经层,让数据和终端输出更加复杂,学习速度就会减慢。童年是学习一项新技能的最佳时机,因为与成年人相比,他们的神经网络更简单,大脑没有受过训练,因此更容易将神经元弯曲到你的意愿上。
当孩子长大后,随着任务变得复杂,学习也变得困难。例如,解决棘手的问题、做出决策和判断就是复杂任务,即便我们成年人也没有停止学习和发展。大脑一直在学习,那么这种学习到底是如何发生的呢?
答案是——大脑重塑自己。就像神经网络中神经元之间的权重和连接发生变化一样,大脑也改变了数十亿神经元的连接,为了让复杂的神经网络不仅保留之前接受的训练,还能在此基础上再接再厉,提升最终过程的复杂性。
正如你在阅读这篇文章的时候,你大脑中的每个神经元都在改变自己,改变它与数十亿其他神经元的联系,在你自出生以来获得的经验的基础上增加经验。这就是学习的方式。每次你在学习,大脑都会重塑自己,这个过程就像训练神经网络一样。
数据就是一切
如今对科技巨头来说,没有什么比基于消费者的数据更重要。原因在于数据驱动“机器学习算法”。数据训练神经网络,没有数据就不可能学习。你一定遇到过下面这种验证码:
图源:unsplash
答对这个验证码可能对你来说小菜一碟,但让一个孩子来做,他可能答对但速度很慢。事实上,每次你在网络上回答这样的验证码,都可以帮助训练机器人或神经网络。你实际上是在帮助准备数据,训练真正为你服务的模型。可以说,你已经训练了大量重要的模型。
就像我们为人为制造的模型准备的数据是最重要的一样,人类的头脑也是一个贪婪的网络,在你生活的每个瞬间获取大量的数据。数据在建设你,帮助你学习,把你变成智能机器。这就带我们进入了人类大脑学习周围数据的最终层面,即输入层或者五官感觉。
五种感官
神经网络有一个输入层,数据通过它理解和处理的模型形式进入网中。然后数据传递到隐藏层进行训练,权重发生变化,最后输出层给出了一个预测,无论区分出它是猫还是狗,还是根据学过的单词完成一个句子。
由于我们把人类思维比作一个巨大的神经网络,只有当这个网络也有一个输入层时,它才是清楚的。视觉、听觉、触觉、味觉和嗅觉五种感官构成了输入层到大脑中。
视觉是所有五种感觉中最重要的,因为最大的数据变化就来自于这种感觉。训练神经网络最好的数据集合要包含不同类型的数据和示例,而不止是一种数据。只有一种数据会导致模型过度拟合,这意味着当数据源于经受训练过的同类,可能会给出正确的结果,但是当数据偏离训练数据规范时,精确度便受到威胁。
生活中大多数重要的学习过程中,眼睛是最活跃的。从走路到吃饭,从学习骑自行车到弹钢琴,从与他人互动到电脑上打字,几乎每一项任务都需要我们的眼睛。
听觉也很重要,这在以前更为明显,那时人类不得不在荒野中寻找食物,耳朵都集中在猎物发出的声音上,他们的生存取决于这种感官。
触觉也是人类最珍贵的感官之一。它使我们的手远离烫炉,防止把沸腾的牛奶喂给婴儿,让人类接触想要触碰的对象。
虽然嗅觉和味觉对人类神经网络的主要学习贡献不大,但它们有自身价值。这些感官有利于在生活成长和学习过程中探索趣味。闻到鲜花的芳香,品尝美酒的醇厚,以及感受美好的生活,都是通过嗅觉和味觉来实现的。
现在,我们已经了解了输入层、数据和发生所有处理过程的神经网络。再举个例子,把所有的拼图块放在一起,看看更大的画面,即模式识别。
模式识别
以学习阅读为例。眼睛是这里最重要的感官。孩子们学会阅读要先学习字母,反复看字母,尝试发音并写出来。每次读、说、写都在训练头脑,提高准确性,直到写出完整的字母表。
在神经网络受到相对简单的训练后,孩子会把单词串在一起,现在听觉起主要的作用。当他提到这些作品时,就在这些单词中开启识别模式,26个字母如何不同组合成大量的单词,形成英语。
这种模式识别非常重要,可帮助孩子识别人脸、动物或玩具。成年人的模式识别变得非常强大,他们接受了大量训练,处理海量数据帮助他们识别周围的模式。根据经验预测是否会下雨,根据记忆和经验预测事件结果都是模式识别。福尔摩斯发现商队里的莫里亚蒂教授,是因为他的袖子上有粉笔灰尘,这也是模式识别。