图灵访谈之四十八(2):女程序员特辑

赵丹(Diana):1973年生于天津,1996年毕业于厦门大学法律系,长期从事软件设计开发工作,现任天津海量信息技术有限公司首席架构师。业余时间爱好户外运动,曾攀登过5000米雪山,完成过北京马拉松全程。

enter image description here

最早接触编程是什么时候?

我上小学的时候,我爸爸的厂子里有一个计算室,他经常带我去那里玩。计算室里有两台Apple II,所以我经常趁人不在的时候摆弄机器,玩玩游戏什么的。所以我从小学5年级的时候就开始编程了,我经常用Apple II上自带的Basic写点程序。后来他们厂子又来了一台很小的可编程计算器,夏普的PC1500,上面也可以敲Basic程序,旁边还有一个小打印机,可以在小纸卷上打出程序执行结果,画出各种各样的图。更妙的是那个打印机还能打颜色:红的、蓝的、绿的、黑的,能画出漂亮的图。因为这个机器很小,所以我在家的时候也能玩。

后来是怎么成为一位码农的?

我大学学的是法律。毕业以后我在政府机关呆了两年,觉得太没意思了,所以经常在论坛上讨论各种技术问题,后来在论坛上的一位老大要招人,问我愿不愿意来,还好我还有一个高级程序员证,于是我流窜到北京来,在当时很大的一家互联网公司瀛海威找了一份工作。

99年的时候其实机会还挺好的,后来被一帮炒作概念的人给搞砸了。当时银海威和新浪、网易、搜狐都打算去美国上市。但是瀛海威比其他公司都复杂一点,它起步比较早,另外股东关系比较复杂。后来大股东把创始人和小股东都赶走了,找了一家香港做上市运作的公司来做上市之前的准备。这些香港人把瀛海威的概念包装到自己的公司上,在香港把自己公司的股票炒高了几倍。后来瀛海威自己也不搞技术,也不建设平台,倒是花了很多钱装修,在东方广场租了一层楼,场面上做得很大,没有任何实质的东西。当时我就感觉到这个公司太不靠谱了,于是就离开了。

后来我创业搞了一家小公司,当时我们本来是做电子商务的,但是为了补贴花销我们也接了一些开发的活儿。后来虽然电子商务的公司死掉了,但是我们开发这边还有项目在做。后来我又接了一些奇奇怪怪的项目,曾经想过把一些项目做成开源,扩大影响,但是因为我个人身体原因,精力跟不上了,还住了一段时间医院,所以也不能进行下去了,毕竟还是命重要啊。

于是我又变成了打工一族。这比一个人扛一个项目轻松太多了,给人打工是件很容易的事情,既不用哄客户,也不用催款,什么都不用担心。我现在仍然在一线开发,我总不能要求我们部门人人都要编程,然后自己什么都不干吧。但是我团队里的小孩子们现在都很给力,所以我现在也很省心。

你现在的工作内容是什么?

我是我们公司一个有点科研味道的部门Leader。我们做的是数据分析的一些相关技术,我们在网上抓文本,在文本里抽取一些结构化数据,然后再把这些数据添到分析化模型里面做分析,然后为客户生成分析报告。

对于现在的项目,我未来打算开源其中的一部分,开源是一个很好的形式。如果我们做的东西有水准,就会吸引有水准的人和我们一起做,这些人分布在世界各地,把这些人都招进来是不可能的。但是他们可以和我们一起工作,可以帮我们提意见,也会贡献很多思想。全世界想做这件事的人应该有很多。

你从什么时候开始觉得码农是个不人道的职业的?

我从中学的时候就觉得编程这件事太没有技术含量了,我就想,怎么会有人做这种傻事呢?这种事不应该由人来做,而应该相办法让它自动完成。当然那时候想法也不很系统,但是这个想法却一直留在我脑子里。现在仍然需要人来做很多重复的工作,而且这些事还很容易出错,这是主要的问题。“消灭码农”已经变成我人生中一个远大的目标了。当然,我有生之年也未必实现的了。

我的优势是会编程,还有资源在网上做实验,另外还有机会接触大量的资料。我现在做的和智能相关的工作主要还是分析语义。如果只有好的想法而没有做实验条件也是出不来成果的,所以依托这些资源,可能未来会有些成果。但是也不一定,因为要在科研方面出成果就要提出新的理论新的模型,但是作为公司来讲,关心的肯定的是要客户感受到效果。这完全就是两件事了。所以还是要等公司不太忙的时候我才真正有时间来做。

现有计算机的计算模型有什么问题吗?

现在的计算机模型可能只适合解决一部分问题,而面对另外一些问题好像就不太痛快。比如现在的计算机适合完成某些事情,像数值计算,而涉及另外一些逻辑不很清楚、模糊的判断和决策的计算则不太适合。但是现在很多人在搞的统计学习,就让这些问题的处理成为可能。所以如果把计算机的体系结构改一改,它就会变得很善于处理另一类问题。比如Google搞的超大规模神经网络,现在可以识别猫脸。这些计算需要一万多台计算机,如果换成神经元芯片的计算机,可能一台就够。

很多计算模型,比如多层次的无监督学习就能识别出各种东西,Google可以识别猫脸,那它识别花盆也没问题。但是现在仍然只是停留在识别层面上,也就是只能把一堆像素变成视觉形象,而这些只是感觉层面上的第一步。第二步就是需要有一个综合,就是不同物体之间有什么关系,这步就没有做到。第三步就是识别出的关系所构建出的场景间的互动。接下来我们还要进行抽象的思考。比如我可以用语言描述现在咱们所处的场景,这些语言变成了形式化的符号。在描述的过程中需要进行很多抽象思维。如果能做到这个层次的话,智能就差不多了。也就是说,现在使用的很多识别模型不是分层学习,也不是规则引擎,每一步要用到很多分析工具才能把它说清楚。这些东西都需要自动组合起来,每次组合的方式都不一样,各个输出对应的输入都是什么?它们是如何自动组合起来的?这时候需要的是一种驱动机制。也就是说怎么样“一着急”就把它们组合起来了。

你认为突破性的研究成果缺乏的是什么?

现在最需要的是各个领域的人才跨学科的合作。搞神经外科的人会觉得搞心理学的是一帮神棍,说的都不靠谱。搞心理的又说你们(搞神经外科的人)只能解决零件的问题,整体装出来是什么样你们都不知道。心理现象肯定有神经机制来支持,问题是怎么融汇贯通,神经的什么动作会演变成心理上的某些感觉。

研究神经科学、脑科学、心理学,还有研究计算机、传感器的人,如果这些专家能够综合在一起,要实现人工智能其实没有想象中的那么困难。比如人类在胚胎状态从器官最初的几个细胞,如何生长成一个复杂的器官——眼,然后眼睛如何把视觉信号传递到脑中,如何形成场景的印象。这些过程其实都已经有人研究过了。现在最缺乏的应该就是学科的综合。

你说过现在的计算模型是男性思维的产物,你认为女程序员数量少是什么原因?

现代的科学知识体系是男性科学家为主导开创出來的,后人逐渐丰富,变成一个完整的体系。过去基本都是男性来做这件事,女性突破性思维比较少。这主要是因为男性的思维方式比较容易在男性主导的世界获得认同。女性也会有各种各样的想法,男的可能搞不懂女性在说什么,可能会觉得:这个没用,这不是瞎胡闹吗?在以前信息的传播很受限制,思想要是不写下来就没人知道,而男性总是优先获得受教育的机会。而思想被记录下来的成本很高,所以只有主流社会认可的东西才会被记录下来、传播开。所以在这样的社会条件下,女性的思想是很难传播和留存的。而现在就没有这个障碍了。但是要想把这些都纠正过来,就需要很长的过程。女性参与进来之后就会制造适合女性的工具、知识体系,以及思维方法,然后才会有慢慢的改变。

你觉得需要鼓励更多女性加入程序员的行列吗?

程序员这种职业无关乎男女,但是至少不需要干重体力劳动,女生可以胜任。我们的部门女多男少。因为男性的社会压力比较大,要求待遇也比较急迫,目的比较功利。但是涉及研究的话,思维要开阔一点,不能成天想着这些事,相比之下女生更放得开。

另外,从计算机发展的角度来说,由于男性思维的局限性,他们能想到的大多数已经都有人想到过了,有一些东西可能只有女性才能想到。因为这行女生比较少,所以还没人想到,这也是女程序员的机会。


更多精彩,加入图灵访谈微信!