10年后的计算机会是怎样的?

640?wx_fmt=jpeg

作者:孙鹏(剑桥大学计算机系博士)

来源:新原理研究所


上个世纪三十年代,邱奇图灵共同提出了通用计算机的概念[1]。在接下来的十多年里,因为战争需要下的国家推动,计算机得以很快从理论发展成为实体。在众多成果中以图灵提出的Pilot ACE计算机以及冯诺依曼提出的存储式计算机最为突出。


战争之后,虽然Pilot ACE计算机运行效率更高,但存储式计算机以其更出色的可编程性获得了更多计算机科学家的青睐。计算机便以此为基础开始了近一个世纪的高速发展。


640?wx_fmt=jpeg


八十年代初的大众万万想不到十年后如此大块头的计算机能够被放到书桌上并快速普及到每个人的家里。


九十年代的大众万万想不到十年后计算机可以成为我们连接世界的窗口。


千禧年的大众万万想不到十年后计算机也能被握在手里,并且拥有超乎想象的计算能力。


十年前的大众万万想不到如今的计算机拥有我们无法匹敌的“学习”能力,并在很多方面的表现超过了我们最顶尖的专家。


那么十年之后的什么是我们今天想不到的呢?或者我们应该怎么想象十年后的我们才靠谱呢?


《自然》期刊在2014年刊登了一篇Igor Markov的文章《计算的基本极限的极限》(Limits on Fundamental Limits to Computation) [2]。我们将以此文为基础并综合各方面论文,探讨计算机的极限以及面对这些极限计算机科学家们所采取的措施。希望这些探讨能让大家在脑海中勾勒出十年后的一个大概的轮廓。


在对这些问题探讨之前,我们先对计算机的工作原理做个简单的介绍。几十年计算机从不同方向上的发展将整个生态大概分出了四层,如下图所示。我们将越靠近用户的层级叫做高层,越靠近计算机硬件本身的层级叫做低层。从高到低,整个生态大概可以被分为应用层、编译层、架构层和电路层。其中应用和编译层被归纳为软件层,而架构和电路层被归纳为硬件层


640?wx_fmt=jpeg



640?wx_fmt=png

应用层


在应用层面上,实际的问题被分类成为各种复杂度。需要说明的是计算机只能解决很少一类的问题,即是用有限内存能解决的问题。这类问题被归类成为PSPACE问题,如下图所示。


640?wx_fmt=jpeg


值得注意的是这个归类只考虑了有限内存,并没有考虑完成它所需要的时间。在此基础上,各种问题又以解决它所需的时间归纳为各种其他复杂度问题,大致包括:


  • P类复杂度问题必须在多项式时间 t=nc 内停止并输出正确的结果,其中n是输入的长度,c是常数。

    例子:一个数是质数吗?

  • NP类复杂度问题只要给出一个解,经典计算机就能够快速验证给出的解是否正确的所有问题。

    例子:想象一个有边和节点的图形,例如Facebook的社交网络图,其中节点是个人,如果两个人建立好友关系,两个节点就被一条边连接。小团体(Clique)是整个图形的一个子集,其中每一个人都是其他人的朋友,也就是其中任意两个节点彼此连接。有人或许会问:存在20个人的小团体吗?50个人呢?100个人呢?寻找这样的小团体是图论领域的一个“NP完全”(NP-complete)问题,NP完全意味着这是NP类问题中最复杂的一种。然而,如果给出了一个潜在的答案,比如说50个节点可以或不可以形成一个小团体,那么问题就迎刃而解了。

  • NPC类问题是指在多项式时间内,如果所有NP类问题都能被转化为另一个NP问题,那么这个转化后的NP类问题就称为NP完全问题。NP完全问题满足两个条件:1. 本身是NP类问题。2. 所有NP类问题都能规约到该问题。

    例子:给一个整数集合,证明是否存在一个非空子集,使得该集合内的数字和为0。

  • BQP类问题是指在多项式时间内,量子计算机能够轻易解决,且错误机率小于1/3的所有问题。

    例子:确定一个整数的质因数。


640?wx_fmt=png

编译层


程序员在算法的指导下将问题的解决方案写成程序。程序通过编译层里的编译器被翻译成机器能懂的二进制代码。


640?wx_fmt=jpeg


编译器在翻译程序的同时也会进行一系列的优化,比如将程序并行,使得程序能够尽可能快得在硬件上面运行。如下图所示,如果程序员希望计算机做煮饭、洗衣及扫地三项工作,编译器会先研究可用硬件,发现三件工作的独立性(煮饭可以用电饭煲、洗衣可以用洗衣机、扫地可以用吸尘器),并对三项任务进行并行优化后翻译成二进制代码。


640?wx_fmt=jpeg


640?wx_fmt=png

架构层


至此,一个问题的解决方案通过软件开发及编译,进入到硬件层面执行。架构层指的是各个硬件单元的功能设计,如下图所示:



640?wx_fmt=jpeg


处理器处理来自存储器和输入/输出端的指令,存储器储存指令和数据,输入/输出端连接计算机用户。简单来说,程序以指令的形式被存在存储器中。处理器通过读取存储器中的指令来执行程序。与此同时,处理器也接受来自输入/输出端的指令,并给予相应的回复。这些硬件单元如何排列,各自完成怎样的工作,就是计算机架构师研究的问题。


640?wx_fmt=png

电路层


640?wx_fmt=jpeg


电路层指的是每个硬件单元最底层的硬件设计,通过各种集成电路来实现架构层所设计的功能。场效应晶体管所组成的开关电路是现代集成电路最主要的组成成分。


640?wx_fmt=jpeg


传统的开关电路由MOS场效应晶体管(MOSFET) 制成。MOSFET是具有漏极(Drain)、源极(Source)、栅极(Gate)和衬底(Substrate)的4端子器件。下图显示了其三维结构。


640?wx_fmt=jpeg


栅极和衬底之间由氧化层(二氧化硅)隔开。其工作原理就是在栅极施加一定的电压后,源极和漏极就会在场效应下联通,从而实现通路。若栅极上没有电压,则源极和漏极断开,实现断路。正是无数个这写通路和短路的组合实现了计算机二进制0和1的转换。


最近苹果和华为相继发布了7纳米制程工艺的芯片。这是个什么概念呢?首先,制程工艺是指集成电路制造时的精度。因为电流在通过栅极时会有损耗,而栅极长度(Length)决定了电流损耗的程度。栅极长度越小,损耗就越小。而上述提到的7nm的制程工艺就是这个栅极的长度。制程工艺越小,电流损耗就越小,所以能在降低功耗的同时提高性能。这也是近几十年计算机性能高速发展的原因。


在了解了计算机的运行原理后,我们可以从工程、功耗、时空概念、复杂理论及新兴技术这五个方面的探讨计算机的极限,以及面对这些极限计算机科学家们所采取的措施。


未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。


未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是图像变换

还是看OpenCV官方手册,我觉得这样可以同时学习如何使用函数和如何理解一些基本概念。 首先,这里的几何变换geometrical transformations是针对2D图像而言的,不改变图像内容而是将像素网格变形deform the pixel grid,映射到目标图…

MSRA20周年研究趋势文章|图像识别的未来:机遇与挑战并存

文/微软亚洲研究院 代季峰 林思德 郭百宁识别图像对人类来说是件极容易的事情,但是对机器而言,这也经历了漫长岁月。在计算机视觉领域,图像识别这几年的发展突飞猛进。例如,在 PASCAL VOC 物体检测基准测试中,检测器的…

吴恩达作业7:梯度下降优化算法

先说说BatchGD用整个训练样本进行训练得出损失值,SGD是只用一个训练样本训练就得出损失值,GD导致训练慢,SGD导致收敛到最小值不平滑,故引入Mini-batch GD,选取部分样本进行训练得出损失值, 普通梯度下降算…

什么是单应矩阵和本质矩阵

知乎上面的大牛还是很多,直接搜Homography或者单应矩阵就能得到很多大神的回答,可能回答中的一句话或者一个链接就够自己学习很久。 其实在之前研究双目视觉的时候就接触了对极几何,通过视觉就可以得到物体的远近信息,这也是特斯…

tensorflow实现反卷积

先看ogrid用法 from numpy import ogrid,repeat,newaxis from skimage import io import numpy as np size3 x,yogrid[:size,:size]#第一部分产生多行一列 第二部分产生一行多列 print(x) print(y) 打印结果: newaxis用法: """ newaxis…

寿命能推算吗?加州大学科学家提出“预测方法”

来源:中国科学报从古至今,从国内到国外,从炼丹术到现代科学,长生不老似乎一直是人类乐此不疲的追求。但若要延缓衰老,首先要弄清是什么造成了衰老。近日,加州大学洛杉矶分校(UCLA)生…

Deep Image Homography Estimation

在知乎问题:深度学习应用在哪些领域让你觉得「我去,这也能行!」?中遇到一篇提交在arXiv 2016(arXiv不是正式发表,只是可以证明原创性,提供时间戳的网站)的文章《Deep Image Homograp…

tensorflow:双线性插值反卷积

首先生成333的黑色图片 """ 生成333黑色图像 """ def produce_image():size 3x, y ogrid[:size, :size] # 第一部分产生多行一列 第二部分产生一行多列z x yz z[:, :, newaxis] # 增加第三维# print(z)img repeat(z, 3, 2)/12 # 在第三…

腾讯医疗AI新突破:提出器官神经网络,全自动辅助头颈放疗规划 | 论文

来源:量子位腾讯医疗AI实验室又有新研究。这次跟美国加州大学合作,在国际权威期刊《Medical Physics》发表最新研究成果:《器官神经网络:深度学习用于快速和全自动整体头颈危及器官靶区勾画》AnatomyNet: Deep Learning for Fast …

视频制作中的绿幕与拜耳阵列

先来欣赏一些大片背后的特效。 现在国内的电影市场越来越大,做短视频的自媒体也越来越多,在他们的后期视频制作的片花中可以看到很多都在使用绿幕或者蓝幕,这是为什么呢? 首先肯定是为了抠图的方便。将主体部分抠出再将通过特效…

吴恩达作业8:三层神经网络实现手势数字的识别(基于tensorflow)

数据集的载入,随机产生mini-batch放在tf_utils.py,代码如下 import h5py import numpy as np import tensorflow as tf import mathdef load_dataset():train_dataset h5py.File(datasets/train_signs.h5, "r")train_set_x_orig np.array(train_datase…

基于visual Studio2013解决面试题之0307最后谁剩下

题目解决代码及点评/* n 个数字(0,1,…,n-1)形成一个圆圈,从数字 0 开始,每次从这个圆圈中删除第 m 个数字(第一个为当前数字本身,第二个为当前数字的下一个数字&…

谷歌、苹果等大佬亲自戳穿自动驾驶完美童话,技术、场景、安全牢笼实难突围!...

来源: 物联网智库摘要:自动驾驶普及不仅局限于自身技术和应用场景,而且与产业链各环节密切相关。一项科技从诞生到被人们所接受是一个循序渐进的过程,自动驾驶真正普及还任重而道远。2018年11月1日百度世界大会上,百度…

使用文件监控对象FileSystemWatcher实现数据同步

使用文件监控对象FileSystemWatcher实现数据同步 原文 使用文件监控对象FileSystemWatcher实现数据同步 最近在项目中有这么个需求,就是得去实时获取某个在无规律改变的文本文件中的内 容。首先想到的是用程序定期去访问这个文件,因为对实时性要求很高&a…

吴恩达作业11:残差网络实现手势数字的识别(基于 keras)+tensorbord显示loss值和acc值

一,残差网络实现手写数字识别 数据集地址:https://download.csdn.net/download/fanzonghao/10551018 首先来resnets_utils.py,里面有手势数字的数据集载入函数和随机产生mini-batch的函数,代码如下: import os import numpy as…

通过SVD求解单应矩阵

我们现在知道原则上4对匹配点对就可以唯一确定单应矩阵,但是在实际应用中我们无法保证两个视图严格满足使用条件(只有旋转变换;远景;平面场景),所以要使用拟合的方法求一个最优解。现在就来以SIFT算法源码为…

注意力机制(Attention)最新综述论文及相关源码

来源:专知注意力机制(Attention)起源于模仿人类的思维方式,后被广泛应用于机器翻译、情感分类、自动摘要、自动问答等、依存分析等机器学习应用中。专知编辑整理了Arxiv上一篇关于注意力机制在NLP中应用的综述《An Introductory Survey on Attention Mec…

橙子楼的猥琐大叔

故事要从暑假开始说起,那时我还在准备考研,每天往返于教室、宿舍和食堂,单调但不会无趣,常常会有故事发生,生活也很充实。 考研的一般都会在固定的教室有个自己的位子。 坐我正前面的是一个妹子,准确的说是…

Pycharm下安装Tensorflow

趁着帮师妹看Github上的一个项目,督促自己学习一下Python下训练神经网络的一整套流程。没想到在一开头就遇到了不少问题。首先是Pycharm中导入Github项目的问题,还有安装tensorflow的问题,之后又遇到了多种版本的Python共存的问题。在这里记录…

吴恩达作业9:卷积神经网络实现手势数字的识别(基于tensorflow)

数据集链接:https://download.csdn.net/download/fanzonghao/10551018 提供数据集代码放在cnn_utils.py里。 import math import numpy as np import h5py import matplotlib.pyplot as plt import tensorflow as tf from tensorflow.python.framework import ops…