微软的神经网络:深度学习能走得「更深」

简介:

计算机视觉现已走进了我们的日常生活。Facebook可以识别你上传到的照片中的人脸。Google Photos应用可以识别狗、生日派对、墓地等多种事物和场景,这种能力能帮你检索相册中的照片。Twitter则可以在没有人类监管者的情况下识别鉴定色情图片。

以上的「视觉」能力都源于人工智能一个高效率的被称为「深度学习」的分支。尽管这项技术在近几年得到了人们的大肆吹捧,但微软研究院的一项新实验却显示这一切才刚刚开始;深度学习可以走得「更深」。

计算机视觉的革命已经进行了相当长的时间。2012年时我们终于迎来了一个关键转折点,来自多伦多大学的人工智能研究者赢得了一个名为ImageNet的比赛。ImageNet是一个机器图像识别比赛——看谁的技术能更好更准确地识别猫、汽车或云朵。2012年,多伦多大学的团队(包含研究者Alex Krizhevsky和Geoff Hinton教授)凭借深度神经网络登顶大赛冠军。这项技术可以通过检查大量图片的内容而学习识别图像,而不再像之前那样通过人类费力地手工编码来实现。

多伦多大学的胜利昭示了深度学习的未来。自那时起,互联网巨头(包括Facebook、谷歌、Twitter和微软)都开始使用类似的技术打造能与人类匹敌甚至超越人类的计算机视觉系统。微软研究部门负责人Peter Lee说:「我们不能说我们的系统能像人类一样『看见』东西,但我们可以说在非常具体、范围窄的任务中,我们可以通过学习做到和人类一样好。」

粗略地说,神经网络使用硬件和软件搭建出了类似于人类的神经元网络。这个想法可以追溯到上世纪80年代,但直到2012年,Krizhevsky和Hinton才开始发明在图形处理器(GPU)上运行神经网络的技术。GPU原本是为游戏和其它高性能图像软件设计的专用处理芯片,但事实证明,它们也非常适合驱动神经网络的那些数学。谷歌、Facebook、Twitter、微软和其它许多公司现在都使用GPU驱动的人工智能来处理图像识别等多种任务,包括互联网搜索和安全应用等。Krizhevsky和Hinton加入了谷歌。

现在,ImageNet最新赢家又指出了计算机视觉发展的下一步可能——更大范围的人工智能。上个月,来自微软的一个研究团队使用一种被称为「深度残留网络」(deep residual network)的新技术夺得了ImageNet的桂冠。从这项技术的名称中我们看不出什么;据他们描述,他们设计了一个远比典型设计复杂的神经网络——这个网络能够进行多达152层的复杂数学运算,而典型设计一般只有六七层。这预示着未来几年,微软这样的公司将能使用GPU和其它专用芯片的庞大集群来极大提升包括图像识别在内的各种各样的人工智能服务,包括识别语音甚至理解人类自然表达的口语。

换句话说,深度学习目前还远没有达到实力的极限。Lee说:「我们才刚刚在这个巨大的设计空间中起步,以找出下一步的方向。」

神经元层

深度神经网络是按层排布的,每一层都运行着不同的数学运算(即:算法)。一层的输出又会成为下一层的输入。举例说,如果一个神经网络是专为图像识别设计的,那么其有一层是用于搜索图像中的一组特定的特征(如:图片的边缘、角度、形状、纹理等),后面的运算层则用于搜索其它特征。这些层是神经网络「深度」的关键。「一般而言,如果你让这些网络更深,那么它们的学习能力也就越强。」北卡罗来纳大学研究者Alex Berg说,他帮助监督了ImageNet的比赛。

目前典型的神经网络设计一般包含六七层,部分可以达到20到30层,但由Jian Sun领导的微软团队则实现了152层!本质上这个神经网络在图像识别上能表现得更好,因为它能够监测识别更多的特征。Lee说:「还有非常多的微妙的特征可以学习。」

据Lee和一些非微软的研究者介绍,过去这种非常深的神经网络是不可能实现的。部分原因是当数学信号从一层传输到另一层时,信号会被稀释并逐渐消失。Lee解释说,微软建造的神经网络可以在不需要某些层时跳过它们,信号只传递给有需要的层,从而解决了这一问题。Lee说:「当进行这样的跳过时,我们可以更进一步地保证信号的强度。事实证明这种方法给计算精度带来了很大的有益影响。」

Berg说和之前的系统相比,这一方法有显著的差异,而他相信其它公司和研究者也会进行跟进。

深度的困难

另一个问题是建造这样的大型神经网络是极其困难的。为了确定每一层的工作模式以及与其它层的通信方式,需要将不同的特定算法部署到每一层上,但这却是一个极其艰难的任务。但微软在这里也有技巧。他们设计了一个能够帮助他们建造这些网络的计算系统。

Jian Sun解释说,研究人员可以识别一些可能有用的大型神经网络部署方式,然后该计算系统可以在一系列的可能性上对此进行循环计算,直到确定出最佳选择。「大部分情况下,经过一些尝试后,研究人员会学到一些东西,然后反思,又开始为下一次尝试做新的决定。你可以将其看作是『人工辅助搜索』。」

据深度学习创业公司Skymind的首席研究专家Adam Gibson介绍,类似的做法现在越来越普遍。这被称为「超参数优化」(hyper parameter optimization)。他说:「人们可以让一群机器跑起来,一次运行10个模型,然后找出最好的那个使用就行了。他们可以输入一些基本参数——基于直觉确定——然后机器在此基础上确定什么才是最好的解决方案。」Gibson指出,去年Twitter收购的一家公司Whetlab就提供了类似的「优化」神经网络的方法。

「硬件问题」

正如Peter Lee和Jian Sun所说的那样,这样的方法并不完全是「暴力破解」的问题。「如果有非常非常多的计算资源,人们可以想象制造一个巨大的『自然选择』配置,其中的进化力量可以通过一个巨大的可能性空间帮助引导暴力破解搜索,」Lee说,「但目前世界上还没有这样的可用计算资源……目前而言,我们还仍然只能依赖那些非常聪明的研究者,比如Jian。」

但Lee同时也说,多亏了新技术和充满GPU的计算机数据中心,深度学习获得了巨大的可能应用领域。这家公司的任务中很大一部分都只是获取用来探索这些可能性的时间和计算资源。「这项工作极大地扩张了设计空间。就科学研究而言,覆盖的领域已经在指数式扩张了。」Lee说,而这也已经突破了图像识别的范畴,进入到了语音识别、自然语言理解等其它任务中。

Lee解释说,也正因为覆盖的领域越来越多,微软在提高其GPU集群的运算能力的同时也在探索使用其它的专用处理器,其中包括FPGA——一种能针对特定任务(如深度学习)编程的芯片。「另外我们的研究者还在探索实验一些更具实验性的硬件平台,」他说。而且这项工作已经在全世界的技术和人工智能领域掀起了波澜。去年夏天,英特尔完成了其历史上最大的并购案,收购了专注FPGA的Altera。

Gibson说,事实上深度学习或多或少已经变成了一个「硬件问题」。是的,我们仍然需要顶级研究者来引导神经网络的创造;但渐渐地,对新方法的寻找变成了在更强大的硬件组合上寻找暴力破解算法的问题。Gibson指出,尽管这些深度神经网络工作效果非常好,但我们并不清楚它们为什么能工作;其中诀窍只在于找到能得到最佳结果的复杂算法组合。而更多更好的硬件可以缩短这条路径。

最终,有能力建立最强大的硬件网络的公司将顺理成章地领先。现在也只有谷歌、Facebook和微软了。那些擅长利用深度学习的公司只会越过越好。

本文转自d1net(转载)

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
1月前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能与图像识别:基于深度学习的卷积神经网络
人工智能与图像识别:基于深度学习的卷积神经网络
34 0
|
12天前
|
机器学习/深度学习 算法 PyTorch
【动手学深度学习】深入浅出深度学习之线性神经网络
【动手学深度学习】深入浅出深度学习之线性神经网络
54 9
|
1天前
|
机器学习/深度学习 传感器 数据可视化
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
13 1
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
|
6天前
|
机器学习/深度学习 数据可视化 测试技术
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
19 0
|
7天前
|
机器学习/深度学习 API 算法框架/工具
R语言深度学习:用keras神经网络回归模型预测时间序列数据
R语言深度学习:用keras神经网络回归模型预测时间序列数据
16 0
|
7天前
|
机器学习/深度学习 数据采集 TensorFlow
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
23 0
|
13天前
|
机器学习/深度学习 自然语言处理 算法
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
python实现深度学习模型(如:卷积神经网络)。
【2月更文挑战第14天】【2月更文挑战第38篇】实现深度学习模型(如:卷积神经网络)。
|
2月前
|
机器学习/深度学习 自然语言处理 大数据
深度学习中的卷积神经网络优化技术探析
【2月更文挑战第4天】在深度学习领域,卷积神经网络(CNN)一直扮演着重要角色,但其训练和推理过程中存在许多挑战。本文将从优化角度出发,探讨卷积神经网络中的权重初始化、损失函数设计、学习率调整等优化技术,旨在为深度学习爱好者提供一些实用的技术感悟和分享。
22 3
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
深度学习入门:Python 与神经网络
深度学习是机器学习的一个分支,它涉及使用多层神经网络来处理和学习数据。在 Python 中,有许多流行的深度学习库和框架可以帮助我们轻松地构建和训练神经网络模型。在本文中,我们将介绍深度学习的基本概念,并使用 Python 中的 TensorFlow 和 Keras 库来构建一个简单的神经网络模型。