桑桑学院plus
|   首 页   |   动漫厅  |   F1征文  |   原创馆  |   影音室  |   文学院   |


特色栏目
银英分院
CLAMP分院
言采其莫

相关栏目
学院会堂
学院新闻
每月之星
投稿细则
学院站务


小议VR技术与Matrix问题若干


利用VR技术训练太空人

  记得上《多媒体技术》课的时候,课本上有这么一句话:虚拟现实(Virtual Reality)是多媒体的终极形式。当时几位师兄正在研究VRML和Direct3D,所以对于VR的认识仅仅还是局限于第一视角三维立体影像的程度,看见把三维的家具在虚拟的房间里拉来拉去,就觉得很了不起了。后来看到介绍材质模拟装置和力反馈装置的资料,才知道自己的见识是如此之肤浅,不过进一步发散思维所能够想到的VR最多也就类似飞行模拟器,或者是反恐特训虚拟空间。
  直到有一天看到这样一条新闻:通过电击视觉神经,盲人可以“看见”色彩。大致内容是,美国科学家通过电击盲人的视觉神经,使无法看见任何东西的盲人感受到了与往常不一样的视觉感受。据某些曾经能够看见的盲人试验者称,通过电击后,感觉“看见”了色彩。
  这确实是一个值得幸喜的消息,如果我们可以了解究竟该用如何的信号刺激视觉神经,使目标的脑海里出现需要的画面,那么奥贝斯坦的那种电子义眼(注:参见《银河英雄传说》)就可以变成现实了。但当时我就提出了一种可能:如果摄像头出了问题,那么使用者所看到的东西不就是不正确的了吗?比如说雪花噪音之类的。另一位师兄进一步地指出:如果故意投射虚假的视觉刺激,那么你如何来分辨这是真实世界的反映,还是虚拟技术制造出来的空间?大家突然一愣,根本无法分辨出真假的空间,如果控制这个投射源的是电脑的话,不就是最终极效果的VR吗?
  这种直接作用于神经的方法,完全可以从视觉神经扩展到听觉、触觉、嗅觉神经等等方面,或者干脆更加直接地作用于大脑皮层相关神经反射信息处理区域。我们知道,大脑受损或者使用神经类相关药物,人往往会产生幻觉,包括幻听、幻视、幻嗅等等。那么理论上来说,只要能够掌握外界刺激对应于某种幻觉的“剂量”,就可以真实的再现我们所需要创造的虚拟世界。作为从事多媒体研究的研究生而言,这种终极效果的VR是我们追求的梦想,但是若真的产生了这样的技术,恐怕其伦理学层面的影响会大大超过该技术的科学价值。

  那么实际上这种终极效果的VR究竟可不可行呢?
  近几十年来,科学技术的发展要比我们的想象快得多。1999年末,CCTV实话实说节目里主持人让观众想象下个世纪科学技术会有什么发展,当时观众有的说计算机远程教育,有的说计算机远程医疗……看电视的我则极端地郁闷,因为他们所幻想的这些技术,根本就是已经有了的技术,甚至是相当成熟的技术,完全不需要等到这个世纪来实现。所以我无法预言哪天电子神经义眼能够成为和现在的义肢一样普遍的医疗器材,不过就我目前的看法是,近几十年应该是不可能的。
  计算机图形识别技术,随着算法的改进和计算机速度的增加,近些年已经有了相当大的进步:电脑可以在连续播放的录像里,自动分离出人物的动作,或者是识别出录像中所有的文字(包括路牌、广告、汽车的牌照等);可以根据照片,自动识别出坦克、飞机的型号;甚至是进行形状、材质相似度匹配等。但是让电脑识别这些东西,所需要输入的图形数据信号和需要送给人类视觉神经的信号是完全不同的。就仿佛是两个不兼容的系统要进行互联,但其中的一个系统却不曾提供接口和说明,大家只能用最原始的试商法来猜测这些接口的意义;更不消去说,这接口的数量大约是在G甚至T这个数量级。即便排除了这个海量的障碍,还有一个更糟糕的问题接踵而来:每个人的神经系统都是不完全一样的,每个人的电阻也是不同的,而神经中所传输的生物电电流大小、电压高低、频率等等也不尽相同。因此即便得到了某人准确的视觉信号输入规范,但还是可能别人无法使用;就好像同样的信息交给不同的系统处理,需要输入不同的密钥一样,我们又该如何快速有效地计算出这种密钥?

  既然终极VR是人和计算机的直接对话,那么在做进一步探讨前,有必要对两个术语做一番定义。这两个术语就是“输入(Input)”和“输出(Output)”。
  按照一般的解释,凡是给计算机信息的,叫“输入”;由计算机给出的信息,叫“输出”。但在上述案例中,显然我们更容易将电击视觉神经,让大脑产生幻觉的行为,叫做“输入”,这其实是一个参考对象不同的原因。也就是说,在这种类型的VR中,电脑的输入是人的输出,人的输入是电脑的输出。为了方便期间,本文仍然使用传统的以计算机为参考对象的方法,将上段的叙述理解成是解决了VR的输出问题,那么输入又该怎么解决呢?

3D虚拟互动的CAVE MAN系统

  当然,我们仍然可以使用力反馈装置、眼球跟踪器、语音识别等系统来完成输入的工作,这些也是我们目前VR常用的输入方式。但对于懒惰的IT人员来说,连程序都希望能够自动生成,这些人机界面显然还是不能令人满意。事实上我的一位师兄就曾经想过,如果可以有一个装置,戴在脑袋上,我想到什么,它就直接变成文字记录下来,那该多好啊,写论文就不用那么辛辛苦苦地输入了,而画出来的图片也能更加符合想象中的要求。
  这个想法初听上去似乎并非完全不可行,因为我们起码还是可以通过仪器测量出脑电波的波形、频率什么的。理论上讲,我们只要能够将这些脑电波所表示的内容分析出来,就可以完成这个构想,不过实际上的情况要复杂得多。若假设人脑和电脑处理信息的方式是一样的话,那么人的大脑应该是一台超级高速的并行计算机,在同一个时刻,它要发出维持生命本身的一些神经指令;处理由眼、耳、鼻、舌、皮肤等感应器官得到的外界刺激信息;并且及时将这些刺激信息转化为可理解的信息与已有的知识库比对、检索、存储……脑电波就是将这些工作所产生的电波叠加后一起反应出来的结果,因此虽然分析波形图是计算机的强项,但真正要把脑电波的内容解读出来也是非常困难的。举一个不太确切的例子,就好比我们在音乐会上录制到了大量的音乐,可以分析出频率,却不知道究竟有多少件乐器参加了录音,而且也不知道这些乐器的单独音谱,到最后也不知道哪些频段是哪种乐器发出的,更不消说去分析出某件乐器的乐谱了。实际上,人类对自身的研究也同样是非常浅薄的,人脑复杂的信息处理方式是科学家一直头痛的课题,《神经网络学》是计算机系的一门选修课程,而那位天才的师兄也坦言自己的这个设想太过超前。不过一想到如果真的我们想什么都能够被直接探测到的话,岂不是一点隐私都没有了?

  相对于“输入”和“输出”,虚拟感觉控制装置的技术倒已经是非常成熟了。在视觉方面无论是飞行模拟系统,还是现在流行的CS(Counter-Strike,一个第一视觉三维射击游戏),计算机所模拟出来的环境已经和真实的世界相差无几,电影《Final Fantasy》中的虚拟女主角一开始还被观众当作了真人。即便在三维动画方面可能还存在某些不尽如人意的地方,但老练的电影拍摄与剪辑手法,足可以弥补这方面的不足。听觉方面,超高还原度的数码音频压缩标准早已在我们熟悉的CD唱机、家庭影院设备中所使用。虽然说嗅觉、触觉等感觉处理方面还欠缺足够的数据库样本,但已经有了模拟的样机,其采样、编辑、合成、还原等技术在实验室中发展得很快,只等什么时候可以降低成本与商业用途相结合。加上成熟的AI(人工智能)理论构建的逻辑框架,现在的VR虚拟空间其实已经和现实生活非常的接近。可能若不是因为目前“粗糙”的人机界面,大家恐怕早就陷入“假做真时真亦假”的陷阱里了。

  有了“输入”、“处理”和“输出”,那么这终极VR效果会是怎么样的?
  我相信大家一定会联想到一部里程碑似的科幻电影:《Matrix》。
  和大多数有看没懂的观众不同,似乎当时我们实验室(多媒体技术研究室)的每位研究生看了《Matirx》的反应都是赞美,是认同,是对Wachowski兄弟以其极端的想象力营造了一个完全可能的终极VR世界的创举的叹服,那时候流行的话是:这才是真正的VR,这才是真正的多媒体!从这点上来看,我们确实是缺乏哲学精神的技术崇拜者。不过也正因为我们是简单从技术角度出发的,所以该片中有几个不曾看到网络上有提出的问题还是打算拿出来和诸位方家探讨。

1 Neo的身上为什么要有洞?
  根据上面的论述,我们可以认识到,只要直接作用于脑部神经,并扫描脑部活动,就可以达到信息交流的目的。那么为什么Neo身上会有那么多洞?这些洞是干什么用的?如果系统采用的是远端神经刺激法,那么这很好解释为什么要那么多孔,程序控制起来会比较方便,大大降低计算量:比如要给手握住的感觉,只要单独刺激手腕部的神经就可以了,而不需要复杂的载波合成后再去一起刺激中枢神经;而同时,也从这些洞截获运动等信息:比如大脑指挥说走,左脚的洞里感应器感应到神经指令,将其截获并解释,然后直接刺激腿部神经,说正在走。但我们在电影里也看到了,Neo和Morpheus等人接入Matrix的时候确实只需要插枕部的一个电缆就成了,也就是说,这些洞应该和神经系统没有关系才对。那这些洞是干什么用的?难道是用来吸收能量的吗?不是说Matrix实际是通过转换人类发出的热量来获得能源的吗?这样的话也用不着啊。

2 Matrix可以杀人吗?
  无论是《Matrix》还是《Matrix Reloaded》,结尾的时候,都有一个人死而复生。这就无可避免的需要回答一个问题:“Matrix是否真的能够杀人吗?”
  按理来说,Matrix和人类只有神经系统上的接触,因此其破坏的应该只有神经系统而已,比如说,变成植物人。但实际上,人类的神经系统是非常复杂的,它不但控制着人的思维,还担负着调节体内激素器官等工作。据个例子,当我们做运动的时候,神经系统会发出指令,让心脏快速跳动以搏出更多的血液,传输供运动所需的氧气;但如果神经系统在错误的时间发出这样的指令,我们的心脏同样会加快博动,我本人有时候就会感到这种因植物神经紊乱造成的心律不齐。
  若将该理论推广到Matrix,作为直接作用于人类中枢神经的系统,Matrix应该是完全可以模拟出类似的神经指令的,若让一个心脏不好的人长时间心律不齐,那么八成是会马上送命;或者指示人体分泌过多的胰岛素,也会致命。
  至于躺在Matrix规定的液体槽中人,方法就更多了,切断液体槽中的给养,使用接入口释放毒素,或者直接使用武器外伤致命。
  所以说Matrix是完全可以杀人的。

3 Matrix可以杀死Morpheus、Trinity这种革命者吗?
  根据我的分析,就算可能,也是完全可以避免的。
  因为首先Morpheus等革命者并不是躺在液体槽中的,而且使用的是自己的接插硬件,还有人在旁守护,那么不出意外的话,其肉体应该是不会受到外界伤害的。
  其次,Morpheus等人受过心灵压力训练,神经系统比一般人来得结实,忍耐受刺激程度应该比常人来得高,所以Matrix中一般的伤害对他们无用。
  再次,即便革命者在Matrix里受到了严重的损伤,也仅仅是精神上受到了巨大的恐吓,如果能够感悟到“菩提本无树,明净亦无台。”的境界,自然“无有恐怖,远离颠倒梦想,究竟涅磐。”这个,汗,又扯到宗教去了,打住打住,重新拉回来。显然,看过《Matrix》的观众会对此持有不同态度,第一、第二集里都有革命者在Matrix里被杀死的镜头,怎么能说不会死呢?让我们来分析一下实际上的情况。假设,革命者是被子弹击中要害死亡的,这也是电影里革命者主要的死亡方式,Neo和Trinity复活前也是被这种方式“杀死”的。按照一般的情况,VR模拟子弹击中身体,系统会刺激痛觉神经,产生疼痛的感觉,然后一般可能有三种情况:
    ①模拟重要脏器破裂,产生过多激素,导致体内循环混乱,停止该器官运作;
    ②模拟子弹损坏脑部,强行切断该VR系统的某些输入;
    ③模拟失血过多,控制神经减缓循环系统的工作。
  我们首先来看①,Neo和Trinity都是被子弹击中胸部“死亡”的。比较简单的方法是,让神经指挥心脏休克,由于缺氧,自然死亡。但我们知道如果某人的心脏若确实是被子弹打中,严重损伤,那么我们无能为力。但如果心脏完好无损,仅刚刚停止跳动,我们可以采用心肺复苏术来使心脏重新跳动。在这点上,被雷电击中甚至会有超过半小时心脏停跳的可能性,只要不停且不放弃地进行心肺复苏术,仍然可以被救活的。正如前面所述,革命者的肉体不会受到损伤,所以只要抢救及时,情况①其实并不能杀死他们。
  情况②似乎是没有在电影中出现,但我们可以想象,就仿佛你电脑的鼠标突然不起作用了,这虽然会带来很多麻烦,但并不能对你本身造成什么伤害。不过这其中有一个潜在危险:利用过高的电流强刺激脑部,使脑细胞大量死亡,同样最终会造成脑死亡。但这个问题我相信革命者和Matrix斗了那么多年了,不会不在接入口上装个电解电容吧。
  情况③就更可笑了,你压根没伤口,血液总量并没有减少,就算神经减缓循环系统工作,外面的人,不会给打针强心针吗?
  那么不是子弹,而是其他情况呢?比如被压成了肉饼,或者吸入致命毒气什么的。
  根据上面的论点,既然肉体不会受到损伤,只是受到了过度的惊吓,那么只要抢救及时,肯定能够救活的。

4 进入Matrix的是什么?
  猜想也能知道大家对于问题3的结论是很不满意的,因为在电影里,Matrix所杀死的,是人的精神,或者说灵魂,当这部分无法回到他的肉体的话,还是会死。
  这点上,我个人认为编剧是做得有违科学性的,这种方式明显是仿造灵魂出窍。而大家倒是试试看,灵魂哪那么容易出窍的,一个两个也就得了,所有的人都那么方便啊。
  好,为了和电影一致,假设要进Matrix非得灵魂出窍,接下去的讨论就直接涉及到灵魂究竟是什么的问题了。为了方便期间,我简单引用倪匡在卫斯理系列中使用过的定义:灵魂是一组存储着记忆的能量。根据《Matrix Reloaded》里的说法,每个在Matrix中的人都是一组程序,那么再把这个灵魂的定义加深一步,不单是具有记忆信息的能量,还包括控制和学习的程序;由于这个说法比较蛮符合OO(面向对象)的定义,那么我姑且把这组程序和信息的综合体称为一个Human对象(《Matrix Reloaded》agents的台词:...only human.)。这样就比较容易解释为什么进出Matrix会那么麻烦,进入Matrix,就是把这个Human对象的部分信息输入预备系统,预备系统对这个Human对象进行封装,标上符合Matrix标准的信息头,并添加一些附加信息,然后在Matrix系统的标准输入接口,或者后门输入接口将该对象输入。而脱离Matrix的过程则正好相反,是把在Human对象从Matrix系统中取出,并去除信息封装,重新输回到人脑中。
  不过这一点解释起来还是有点难度,因为我们可以看到Neo在Matrix中和人打架,Nebuchadnezzar中Neo的肉体仍然在不自觉地跟着起反应,这说明其意识并没有完全脱离肉体,那么一个人的大脑那么容易共存两种不同信息封装的Human对象吗?

5 革命者的程序员是傻瓜吗?
  假如上面问题的答案是肯定的,那么我们可以继续将这个问题衍生开来。如果一个Human对象在Matrix里遭到了攻击,导致程序出错,那么Human对象便无法正确地脱离Matrix系统,人就醒不过来;如果该程序被攻击至无法运行,则Human对象被Matrix系统卸载、清空,那么此人也就魂飞魄散,脑死亡了。
  似乎这样就可以很好地诠释了上面问题3所无法解决的情况:Matrix仍然可以杀死革命者。事实上,我就是这样来理解Matrix VR系统工作原理的,只不过这样的理解会引出更深刻的一个问题:既然是这样的原理,为什么革命者不从程序根本上去解决这个问题,反而刻意去练习拳脚之类的功夫呢?
  如同游戏修改器一样,我只要在革命者的Human对象进行Matrix封装的时候,加入Agents的信息头不就成了?到时候还不是如入无人之境,永远满血,光打不死。或者,我对Human对象进行重新编码,新编写控制程序,使之称为能够破坏Matrix的系统安全性的木马,我通过远程改写Matrix程序,岂不是一劳永逸。再不然,我来个病毒作战,就仿佛Agent Smith一样,不断复制自己,制造恐慌,不过这就属于恐怖分子的作风了。总之,只要找出Matrix系统的流程方式,就一定有办法通过程序的手段来攻克它,“世界上没有攻不破的系统,唯一的问题是会留下电子足迹。”(所以我在问题3中说,杀死革命者是可能的,但也是完全可以避免的。)
  不过只要光看Link操作Nebuchadnezzar上的计算机我就知道革命者的程序员肯定是傻瓜,在TG级单位运算量的电脑面前,居然采用字符型操作系统,连个图形菜单都没有(图形处理需要一定的运算量,但对于这种控制神经系统的计算机来说,图形处理所占的运算量只是九牛一毛),如此差的人机界面,操作员如何能够及时处理各项事宜(有研究证据表明,人对图形的反应要比纯文本快得多),连看都来不及看,输给Matrix也是完全正常的。
  (这里可能会有观众问,Matrix似乎用的也是同样的操作系统啊。没错,因为对于计算机来说,内部码是最快的运算方式,而人类则不是这样。)

  我相信,对于大部分朋友来说,这些问题只是钻牛角尖的傻问题,但我之所以把这些罗列出来,其实是想说明,《Matrix》并不像大家所想的那样仅仅是一部娱乐大众、满嘴哲学说教的电影;如果排除了某些不合理因素,它完全可以是VR技术的预言,是确实可行的技术展望。我坚信无论是刺激神经产生幻觉也好,脑电波分析也好,这些技术难关必定会被攻克,终极VR技术终将会成为人类生活中不可或缺的一部分。无论你是害怕也好,渴望也好,因为从人类做出第一个轮子开始,就注定了不会放弃对更新科学技术的追求!不过就从这点来看,似乎又回到了宿命论的理论范畴。

完稿于2003年11月5日深夜,而此时《Matrix Revolution》正在全球首映。

 

PS:MTX病毒

  我中过一次MTX病毒病毒(这个病毒就是一个号称Matrix的组织写的),感觉确实是很强的病毒呀。偷偷地利用邮件感染你的系统,然后在所有可以复制自己的地方都复制一份(个人认为,这和Agent Smith很像)。还允许你的杀毒软件更新病毒库,只不过即便是最新的病毒库,只要你的系统已经被感染了该病毒,就始终不会弹出该病毒的警告(我当初是升级了Norton,却死活查不出毒,明明我连文件都找到了)。多么优雅深沉的virus-worm木马啊,那时候,若不是我无聊去看有多少线程在走,根本就不会发现。
  连接是该病毒的详细说明,我感染的应该是某个变种,后来用外部的杀毒软件一查,所有的exe和dll统统感染了该病毒,如果杀掉病毒的话,杀毒软件不保证这些被感染文件能够继续运行。最后只能将系统铲掉重装。只不过现在有时候拿出备份盘选到某个文件的时候,norton会跳出该病毒警报,想起来,还有点甜蜜(汗)。
  VirusList.com::I-Worm.MTX

 

版权声明
本网站的图片、文本版权属于作品版权人所有,排版样式由学院拥有,请在转载前征求原作者的同意!多谢