本文来自 YouTube 上的一段 5 分钟漫画版视频,有趣且简单的介绍了什么是深度学习, 包括深度学习的应用、深度学习与机器学习和人工智能的不同之处、什么是神经网络以及如何训练它们来识别手写的数字。最后介绍了深度学习的一些流行应用。
Google 如何在短短几秒钟内将整个网页翻译成不同的语言,或者你的手机图库如何根据它们的位置对图片进行分组? 这些都是深度学习的结果。
深度学习是机器学习的一个子集,而机器学习又是人工智能的一个子集。
人工智能是一种使机器能够模仿人类行为的技术,机器学习是一种通过使用数据训练的算法来实现 AI 的技术,最后深度学习是一种受人脑结构(生物神经网络)启发的机器学习。这种结构在深度学习领域称为人工神经网络。
让我们来更好地理解深度学习,以及它与机器学习的区别。
假设我们有一个可以区分西红柿和樱桃的机器,如果使用机器学习完成,则必须告诉机器可以区分两者的特征。这些特征可能是大小(Size)和茎的类别(Type of Stem)。
如果使用深度学习,神经网络可以提取特征,而不需要人工干预。
当然,这种特性需要拥有大量的数据来训练我们的机器。现在让我们来深入研究神经网络的工作原理。
在这里,我们有三个学生,他们每人在一张纸上写下数字 9, 但他们写的并不完全一样。人类的大脑可以很容易地识别数字,但是计算机如何识别它们? 使用深度学习可以实现。
每个数字以 28x28 像素的图像形式显示,总计 784 像素。
这是一个经过训练可识别手写数字的神经网络,神经元是神经网络中最基本的的核心实体,是进行信息处理的地方,784 个像素中的每个像素都被送到神经网络第一层的神经元,这形成了输入层,输入层仅接受输入,不进行函数处理。
另一端是输出层,输入层与输出层之间的一层神经元称为隐含层。隐含层与输出层的神经元都是拥有激活函数的功能神经元。
输入层神经元接收到 784 个输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值(每个神经元都有一个阈值称为偏差 Bias)进行比较,然后通过激活函数(Activation Function)处理以产生神经元的输出,激活函数的结果决定了神经元是否被激活。
神经网络的学习过程,就是根据训练数据来调整神经元之间的“连接权”(connection weight)以及每个功能神经元的阈值。换言之,神经网络学到的东西,蕴含在连接权与阈值中。
那么深度学习有哪些应用呢?
在客服行业:当大多数人与客服代理交谈时,交谈看起来是那么真实,他们甚至没有意识到这实际上是个机器人。
在医疗行业,神经网络可检测癌细胞并分析 MRI 图像以提供详细结果。
像科幻小说一样的自动驾驶汽车现在已经成为现实。苹果、特斯拉和日产一些公司在研发自动驾驶汽车。
深度学习的范围很广,但也面临着一些局限性。
第一个局限性便是数据。虽然深度学习是处理非结构化数据的最有效方法,但神经网络需要大量的数据来训练。
假设我们拥有大量的样本数据,但并不是每台机器都有处理这些数据的能力,这给我们带来了第二个限制:计算能力。通常简称“算力”。
训练神经网络需要成千上万的图形处理单元。与 CPU 相比,GPU 当然更贵。
最后就是训练时间,深度神经网络需要几个小时甚至几个月的训练,时间随着网络中数据量和层数的增加而增加。
一些流行的深度学习框架,包括 Tensorflow、Pytorch、Caffe、DL4J 和 Microsoft cognitive toolkit。
我们对深度学习和人工智能在未来的应用只看到了表面,未来会充满惊喜。
Horse 技术正在为盲人开发一种使用深度学习的设备,用计算机视觉向用户描述世界,整体复制人类的思维。
所以给你一个小测验, 神经网络的正确工作顺序排序:
答案:
说明:在神经网络中,一层中的每个神经元都与相应层中的其他神经元相连。这些连接具有随机权重。计算输入的加权和,并以偏置形式添加一个附加输入(w * x + b)。其结果被输入到激活函数。基于特定的阈值,只有那些超过阈值的神经元才会被激活。