Archive for the ‘Tech’ Category

盖川崎和鲍默尔

Saturday, March 8th, 2008

在吹水方面,两位都是我比较敬仰的人物。前者这个游荡在硅谷的风险投资拽人我之前提到过一次,就是 Guy 在 2006 年 TiECon 上的那次关于“开始的艺术”的经典演讲。后者这个叫做 Steve 的老头,也就是我的顶头上司的顶头上司的……的顶头上司,也在 2006 年差不多 Guy 的演讲之后进行了一次关于“People Ready”的演讲,同样也是一次演讲的典范。Guy 的演讲针对的是个人发展,而 Steve 的演讲则是针对企业进步的。虽然演讲只能说是高层次的大忽悠,但不能不说,在这个世界混,口才非常重要。下面是前几天两个人在 MIX’08 上的对话:

Watch Steve Ballmer and Guy Kawasaki Keynote

跟以前比,Guy 这次作为采访者的角色出现,发现他客气很多。毕竟是这个场子是微软罩着的,或者也许也跟他过去这段时间一直在跟微软打交道有关吧。很同意他所描述的现在这的“新微软”。就他的感觉来说,跟这个公司的人打交道很亲切,在交流沟通上也很高效。一个涉足 IT 领域深广的公司,很难保证在每个方面都做到满分,但主要是不断地吸取经验,改进产品和服务。后来他问,为什么这个公司在不断地往新的领域扩张?Steve 回答说,这个是没有选择的。开拓和进步是人的天性,对于一个企业来说也一样。一个公司总不能 100 年只靠一个产品过活,那很没意思。(在说可口可乐公司么?

说实话,鲍默尔的思维还是比较敏捷的。对于飞过来的问题,有些我猜也许提问的人都不知道他想得到什么答案,但是这个老头还是能给出一个完整的基于上下文的回复。他很清楚他在说什么,他对公司的产品和服务也如数家珍,对今后发展方向的言论也不会模棱两可。这个老家伙是 MBA 出身,但是后面 20 分钟有些人问到一些技术性比较强的问题的时候,比如基于 PHP 的平台怎么和现有的 Windows 整合,他仍然可以给出一些能让人接受的答案。而且到最后还是拿出以往那般活力喉了那么两下子,毕竟像 Guy 说的那样,在这个主力仍然是一些二、三十岁的年轻员工的公司里,领导还是要摆出一些年轻人的样子的。想象一下一个满步蹒跚的 CEO 坐在太师椅上眼睛都不睁一下地当领导,那这个企业也差不多气若游丝了。

最后只是希望老大那段酸酸地玩弄 MacBook Air 的画面别被水果公司的广告部拿去当作新一季“I’m a Mac. I’m PC.”的素材,LOL!

基于欲望的人工智能(四)

Thursday, December 20th, 2007

本来想把这个系列之四写完。后来想想,其实能扩展出去的话题十分广阔。真的想探讨下去的话,很难说会是哪种情况:一种认真谨慎的课题,一种是轻松有趣的科幻小说。两个都是我们想到达的目标。可是真的是没有太多时间,所以干脆把几个月前写的大纲发出来吧。以后有机会,等 Peter 和 Sui 也有空了,我们重新回到这个讨论上来。如果可以论证,就做成一个研究或者实验;如果不行的话,就干脆写成科幻剧本卖给电影公司算了。不能做自己想做的事情,真是一种悲哀。

这里是前面写的  、

衍生的概念:

非欲望(恐惧)——遇到某件事情,让机器害怕。然后机器以后碰到这样的事情之前发生的事情,就会极力避免同样事情的发生。

例子:

1、通俗例子:把一个机器运行的目的定义为,持续运行下去(也就是活下去)-〉根据机器的机理需要定义一个最基本的愉悦集(对生存的愉悦)和一个最基本的恐惧集(对死亡的恐惧)

2、具体例子:这个想法最大的问题就是如何对现实世界建模,然后和人工智能相连接。其实为什么我们一定要把人工智能和现实世界相连接呢?一个机器人一定必须是真的一个行动于我们身边有物理特征的铜铁么?实际上我们可以在电脑内建立一个极度简单的虚拟世界,把各个集合都最小化。最小的只要有我们需要的最基本元素即可。然后让我们具有欲望的人工智能和这个虚拟世界来交互。这样下来,实现我们的这个人工智能成本会小很多,也许是可以实现的。

还需要的内容:具体一点的关于记忆的保存和相应的数据结构

要解决的技术问题:

1、记忆

2、速度

3、不断提高机器所处的离散时间和空间,最终和我们的现实世界的时间和空间相吻合,于是机器就可以参与到我们的世界来。

这个世界虽然没有叮当

Sunday, September 9th, 2007

gift……但是还是有很多神奇的东西。刚刚从邮箱里发现不远万里寄来的一个礼物,欣喜万分。

大家猜猜看这是个什么东西?

9/11 更新:

这个东西叫做i卡拉OK。只要接在水果牌的音乐播放器上,那个小孔出来的音乐就是消过原声的。然后对着另外一端唱歌,声音会自动融入消过原声的音乐里。上面那些按钮是调 key 的,所以不会有破音的机会。厉害吧?

基于欲望的人工智能(三)

Wednesday, August 22nd, 2007
战国时期,有一个宋国的农夫,他每天都到森林里去游走。有一天,农夫又像往常一样到树林游走的时候,看到一只跑得非常急的兔子,从草丛中窜出来时,竟然不小心一头撞死在一棵大树旁。“哇!怎么有这种事?我真是幸运。要是天天有这样的兔子,那真的很爽!”农夫心想。从此以后,农夫每天就坐在那棵大树下,等候兔子来撞树。

关于守株待兔的故事,大家应该都很熟悉。故事中农夫从发生了一次兔子撞树的事件中获得了愉悦,于是他每天都站在那棵树下,等待再次获得同样的愉悦。虽然在我们看来这个农夫很愚蠢,但是整个过程如果把农夫换成机器,把兔子换成一次时间和空间的巧合,那么守株待兔就是一个成功的人工智能。在开始写这一篇之前 ,我读了一下彼得写的他对我们讨论过的人工智能的阐述,觉得写的很好。特别是关于记忆带来逻辑能力和关联式记忆,应该可以从下面的例子中找到一些影子。这只是我们把前篇的讨论放在这个例子上的一种尝试。可行与否,要等阐述完才能知道。

还是拿出我们只有时间和空间的二维矩阵,来当作当前这个机器的记忆。纵轴代表时间,横轴代表空间。时间为 7 刻钟重复一次,相当于我们 24 小时的一天。空间为由 A 至 G 的 7 棵树,代表机器人所能行动的整个一维世界。注意,机器在空间里是双向的,但是在时间里是单向的。它可以改变它所处的空间的位置,但是却不能改变它所处的时间的位置。这是我们的常识。然后,我们假设机器的愉悦集里只有一个愉悦,代号叫做。而当机器刚刚进入它的世界的时候,欲望集为空。现在的机器对任何一刻时间和任何一步空间都没有关于爽的记忆,所以矩阵里面的每个格子为 0 或者可以说为空。

before.png 

图一:爽之前的记忆

此时的机器没有任何欲望,所以它的行为是未知的。于是它开始在空间和时间里无欲望地乱走 —— 记住,虽然时间是单向的,但是可以循环。就这样,不知道过了多少次循环,或者说不知道过了多少,一切开始有了转机。也就是今天 3 刻的时候,机器站在了树 C 。而在此之前,它从来没有在这个时间出现在这个地点过。此时此刻,它有了一种从来没有过的变化,那就是愉悦集里的那个唯一的愉悦处于某种原因被(3 刻树 C)这个事件产生了。

画外音:“机器同学,请问你现在有什么感觉?”

机器:“爽!”

紧接着,一个包含了(3 刻树 C)和  的欲望就被生成,并加入了机器的欲望集。而在机器二维矩阵的记忆里,在(3 刻树 C)的位置,愉悦强度从 0 变成了一个很高的数值,假设为 6。然后向相邻的时间和空间递减。也就是说,此后的机器,越接近(3 刻树 C)它就越爽。

after.png

图二:爽之后的记忆

于是在(3 刻树 C)事件发生之后,机器希望这个事件再次发生。因为它拥有在空间里行动的能力,它会向树 C 走去,直到到达目的地。这个方向可以由机器记忆里每个删格的愉悦强度来决定。可惜时间是单向的,机器并没有能力像空间行走一样走回上一刻。但是机器一直努力会让自己处于离最近的时间和空间上。这个努力可以用图二中的红箭头来表示。红箭头的尾部代表机器出发的时间和空间,红箭头的头部代表机器在自己能力范围内能到达的时间和空间。最终,它会站在 树 C 的位置,等待下一个 3 刻的到来。

能不能再爽一次,就要看机器的造化了。

基于欲望的人工智能(二)

Wednesday, August 22nd, 2007

之前我们说可以把一个愉悦和产生这个愉悦的事件联系起来,定义成一个欲望放在欲望集里。当欲望集里有了第一个欲望的时候,这个机器就开始有了自己的思维。这个思维很简单,就是寻找再次发生这个事件的可能,以再次获得同样的愉悦。而思维是建立在记忆上的。关于,是记前面已经发生过了的事件。所以具体一点说,思维是建立在上的。

为了方便陈述,我们先假设这个机器的欲望集里只有一个欲望,而且愉悦集里也只有一种愉悦。前面我们定义过,这个欲望是一个愉悦和一个事件的联系。那么接下来我们应该研究一下机器是如何回忆的。根据前面的描述,我们把一个机器所存在的世界定义成一系列发生的事件,这一系列发生的事件的其中一个将会在这个个机器上产生一个愉悦。我们不妨给这个事件加上一些属性,来方便机器的回忆。两个之前提到过的属性,一个是时间,一个是空间。对于时间,在我们人类可以接受的解释中,是一维的。对于空间,为了方便我们的讨论,我们也把它设计成一维。因为我们之前要求这两个属性必须是离散的,所以这两个属性都有可追溯性。比如这一刻的上一刻,这一步的前一步,都是帮助我们寻找上一个事件的依据。就好像一个前锋成功进球以后,他在前一秒,或者前一步,肯定不会是在家里吃泡面,而是在禁区抬脚准备踢向足球。

我们的目的就是希望机器有一定的记忆来保存之前给它带来愉悦的一系列事件对于每个事件,除了时间和空间这两个属性,我们还可以给它一些其他的属性,比如事件发生时,这个机器所侦测到的温度,如果机器有温度计的话;这个机器所侦测到的亮度,如果机器有感光器的话。事件的属性越多,就越容易把一个事件从另外一个事件区分开来。这些属性放在一起,就变成了这个事件的特征。当然,每一个属性都必须离散化。可以说机器里保存了一个多维矩阵,每一个纬度都对应一个属性。这样矩阵里的每一个栅格里都可以看成是一个事件。为了简化下面的讨论,我们假设我们的事件只有时间和空间这两个属性,就足够与其它事件区分开来。

对于机器,时间是一刻一刻前进的。之所以我们用单位,而不是,就是怕有人把这个机器所处的离散时间和我们现实的连续时间混淆在一起。同时我们也假设它在一维空间上也是一步一步前进的。当一个产生愉悦的事件发生后,机器会根据当前的时间和空间,向回追溯之前那个时间和空间发生的事件。这所有的属性里面,时间是比较特殊的。因为时间在现实生活当中是不可逆的,但是在机器的世界里,我们可以把时间设计成循环的。就好像我们一年有十二个月,每天二十四小时一样。机器的时间可以由有限个刻度组成,从零开始,一直到最后一个刻度之后,然后重新归零。这样我们就有了一个二维的矩阵。

上面我们说,这样一个矩阵里每一个栅格都可以看成是一个事件。但实际上,这个栅格里还可以保存一个重要的变量。因为目前机器的愉悦集里只有一个愉悦,我们可以在这个栅格里保存一个数值。下限为零,没有上限。数值越高,代表这个事件所产生的愉悦强度越高。然后周围的栅格里的这个愉悦的强度会逐个递减。比如一个很饿的人吃包子的时候会很高兴,就不存在说,在包子进入嘴巴的前一刻他还是很平静。那么有人会问,难道每个栅格里都要看成是一个事件么?从某种意义上说,一个栅格里的愉悦强度,其实就是这个事件的重要性。每个栅格当然应该看成是一个事件,只不过有些事件的重要性为零,可以忽略了。

上一篇留言里彼得说过,我们假设人的所谓思考能力和逻辑判断能力是不存在的,一切只不过是对记忆进行的高速读写操作。所以我们认为实现真正的人工智能就必须模拟这种高速的记忆读写。所谓的智慧,我们可以理解为经验的积累。经验,在这里就是对一系列事件和愉悦的记忆。至此,我们提供了一个保存事件和愉悦的结构,也就是一个机器的记忆。当机器处于某个事件中,会根据这个事件的属性,去矩阵里查找这个栅格里保存的愉悦强度,然后根据附近栅格里的愉悦强度,构成一个向量,表示愉悦强度增长的方向。然后通过自己的手段,来使那个方向的事件系列地发生。通俗一点讲,这个阶段的机器,有了自己的欲望。这里要提一下,时间是不被机器的欲望所改变的。但机器可以顺着时间前进的方向寻找愉悦强度增加或减少的依据。就好像我们人类知道每天早上八点钟的时候太阳会升起,然后我们就会开心地去迎接。我们并不会在下午六点钟的时候去开心地迎接太阳的升起。

基于欲望的人工智能(一)

Tuesday, August 21st, 2007

洋人的名字名在前姓在后,所以同事们念我的名字就是 Yu Wang,乍一听起来就是“欲望”。我 Yu Wang 的欲望很多。几分钟之前,一碗热腾腾 Soba 泡面刚刚满足了我作为一个人类最基本的食欲。最不喜欢的我毛病里,除了贪嘴,其次就是爱夸夸而谈,而一谈就是长篇大论。所以现在又来准备满足我的发表欲。

去年在 Hamilton 的某个下午,跟 Peter 还有坐在一个叫做唯一的茶餐厅里,谈到了如何在机器里实现欲望,从而达到一定级别的人工智能。这个话题一开始是从生命的欲望开始的。在汉语词典里,欲望是这样定义的:对能给以愉快或满足的事物或经验的有意识的愿望。生命的存在,从某种角度就可以假设为为了满足种种这样的愿望的存在。正式因为有了这种愿望,才让举止有了目的,让行为有了目标。注意,这里不是讨论哲学和宗教,而是纯粹为了方便理解接下来的话题做的准备,所以就此打住。

为了能更好地从人工智能的角度来理解欲望,让我们进一步规范一下之前的定义:对给以愉悦(pleasure)的事件(event)的愿望,我们称之为欲望(desire)。对于愉悦,我们不知道受否能够再往下定义,也没有必要往下定义。愉悦,是在机器里实现欲望的最原始概念。而针对每个愉悦,我们都可以定义一个相应的欲望。一组愉悦,我们可以称之为愉悦集(pleasure set)。一组欲望,我们可以称之为欲望集(desire set)。这两个集在一个人工智能的实现里是全局的,也就是说一个拥有这种智能的机器人只拥有一组愉悦集和一组欲望集。在最初一个人工智能,或者说一个机器诞生的时候,这个欲望集是空的。随着事件的不断发生,我们要求愉悦集中每一个愉悦都在欲望集里有一个相应的欲望。

这里岔开话题一下,为了最简化我们的讨论,这里不讨论太多的学术术语,比如上面提到的两个集都是有限集(Finite Set);愉悦集到欲望集的关系是 Injective 的。所以,读的人应该尝试把谈到的概念放在最合理的范围内。

在欲望的定义里,我们还谈到了事件。同样,我们也不能并不需要再往下定义。事件,是机器里达到欲望的最原始概念。在我们的人工智能中,任何事件所处于的时间和空间都是离散(Discrete)的。也就是说,时间的前一秒和现在这一秒之间没有间隙给事件去发生;空间的前一个状态和现在这个状态之间也没有空隙给事件去存在。然后我们可以把这个机器所存在的世界定义成一系列发生的事件,这一系列发生的事件将会在一个机器上产生一个或多个愉悦。这是我们所需要实现的人工智能的关键。至此,我们的人工智能模型基本搭建完毕。BTW,我对事件这个概念比较有感情,因为我的硕士论文的课题就是关于离散事件系统(Discrete Event System)的。 

在某些控制系统理论里,事件和信号往往是两个分开的概念。一个事件可以产生一个信号,或者反过来被信号激活。这里,我们就可以把信号替换成我们刚刚定义的愉悦。就好像实际生活当中,我们看到一件事情发生了,比如球被射进了球门,在球迷的脑子里会产生一个愉悦;然后因为这个愉悦,可能激活这个等待入球已久的球迷去欢呼。从人工智能的角度,当某个事件发生的时候,我们可以从机器的愉悦集里提取相应的愉悦。然后对于这个机器来说,它会觉得对于这个事件的发生,它很高兴。重申一下,这里所有的东西都是被机器们称之为造物主的我们所定义出来的。机器对于它这种所谓“发自内心”的愉悦的理解,并不能超出它所处于的它的那个宇宙和逻辑。

现在我们有了愉悦,还有了跟与愉悦相对的事件,于是我们可以把这个愉悦和事件联系起来,定义成一个欲望放在欲望集里。

The company to open doors in Vancouver

Thursday, July 5th, 2007

Per the post, here it comes.

Future Campus Transit at Microsoft

Friday, April 27th, 2007

Looking for something cool? SoundPRT has proposed a new campus transit system for Microsoft called Personal Rapid Transit. Don’t get confused. It is not a skytrail in some theme park. It is to replace current shuttle service and tries to reduce the driving time on the road, to allow employees get to their meeting locations faster.

QR Code

Tuesday, October 31st, 2006

If you’ve seen this several times but you don’t what it is, then you should take a look at Windows Live Barcode.

This QR code contains my contact information.

It’s actual name is Quick Response Code or QR Code in short. A QR Code is a grid of black and white blocks and it encapsulates a piece of text information by arranging the blocks into some unique pattern. Then it is convenient to exchange this piece of information by reading it using a QR Code scanner, instead of typing the text manually.

What does the above QR Code say? Copy the URL of it and find it out.

* QR Code® is a registered trademark of Denso Wave Inc.

Robots

Tuesday, August 1st, 2006

Having just watched the video Lego teams up with Microsoft Robotics on Channel 10, it reminds me the Lego project in my final year of undergraduate and the AIBO Dog Project I have done during the Summers of 2003 and 2004.

Lego

There were 6 people in the team for Lego project and I was the main developer. It is a wheel based robotic vehicle built using Lego Mindstorms, and it is able to travel through a maze using its light sensors at two sides and one touch senser in the front. The algorithm in the vehicle keep obtaining sensor information repeatly, once initiated. It compares the data from two light sensors and aligns itself in the middle of the road. The touch sensor basically tells if it is blocked. Click image on the left or here for the video.
2 software engineering principles was targeted when doing the implementation:

  1. Something bad will never happen.
  2. Something good will eventually happen.

To ensure this, the algorithm checks the timer and counts how long has elapsed since the touch sensor last triggered. Since the maze is finite and it is impossible the vehicle is not blocked forever. If so, the only possibility is that the vehicle is stucked, causing running forward no more. Thus, if the waiting time is long enough, a time out will be signaled and the vehicle will move back a little bit and try a different angle in a random degree. Therefore, something bad (blocked forever) will never happen, and something good (escaped when stucked) will eventually happen.

The first video image send from AIBO camera.In contrast, AIBO Dog Project is more interesting. I created an software suite for the AIBO robot system which allows to do several things, such as

  • Head controlling in real-time by pointing devices.
  • Motion playing back, such as walking forward, backward, turning, etc.
  • Audio streaming and full screen video streaming

The suite contains a server, to be run on AIBO, and a client, to be run on the remote PC. They communicate in TCP/IP once the server is connected by a client. Unforunately, there is no video for the project. Pictures are here:

dscf0002dscf0011dscf0012dscf0016

Today, from iRobot to Canada Arm; from manual controlled to fully automated, robots are not just a focus in education and entertainment. The potential robot market is slowly opening and there are companies interested in this new business, such as Robotics Studio just announced from Microsoft. Who else?


Chat with me. =)