美国人对待工作时间和中国人有个很大的区别就是:美国人中午是不休息的,吃过午饭之后就赶紧回去继续工作了。如果你注意看各个办公点的办公时间,你会发现通常都是09::00 – 17:00。所以在这边经常能看到,12点多了,有些学生匆匆忙忙赶去上课。实验室的工作时间也是符合这个工作习惯。这对于我们来说,刚开始是很不适应的,中午吃过饭往往都昏昏欲睡,可看到别人都精神抖擞的接着工作,你又不好意思倒头就睡,结果一下午都浑浑噩噩的。于是每天中午吃饭,两杯咖啡就成了我们的标配。还好美国食堂的饮料通常都是免费的。
实习进行了一个多月,大家的工作都开始慢慢深入。这个时候开始觉得自己的知识跟不上研究内容了,所以和导师经常的交流和讨论就成了我们的重要功课,如何有效的交流就成了我们经常思考的事情。除此以外,导师还会给我们推荐一些课程,我们要么就去泡图书馆找书自学,要么就在导师的介绍下上课。虽然纯英语教学在国内是非常难得的(刚开始去上课都比较兴奋),但实际上课上的内容我们也只能大概听懂,其余的全靠自己脑补和自学了。由于没有课程任务和小组任务,我们还是不能很好的融入美国人的课堂文化,不过能这样亲身体验一把,也是不虚此行了。
人在国外,很多事情都要注意,对于自己的人身安全要格外注意保护。在和外国人交往的过程中,既不能过于警惕,不利于和他人的交往,但也要紧抱“防人之心不可无”的心态,在国内养成的一些警惕和常识也不能因为“入乡随俗”的心态就随便丢弃掉。不管怎样,安全健康的学习和生活才是我们的目标。
李允恺
因为挑选的特征对眼睛扫描轨迹分类的作用不够理想,这个周我和导师一直在思考有什么新的特性可以提取。同时我也把我的疑惑说给了导师:“这些求均值,求极值的方法,初中生都知道,这些如此简单的特性真的对我们的工作有帮助吗?当初我在做图像分类的时候还用过SIFT描述子等等,可以很好的描述一个图像”。结果我的导师问我:“SIFT描述子是怎么计算的?”我一下哑口无言,对呀,即便是描述子,还不是求偏导等简单的特性组合得到的。不过导师还是说,因为我们确实不知道到底哪些特性能够有效,所以只能从简单的开始。
这时候二叉树的作用就凸显出来了。二叉树本身并不是一个理想的分类器,但它的特性在于每种特性的作用你都能够清晰的从二叉树寻路中看到,以此判断这种特性是否有用。这也是导师一直让我用二叉树而不是类似LVM这种理想分类器。不过二叉树也有一个弊端,因为二叉树本质上是把特性一个一个比较,如果特性本身就由很多的值组成,比如序列等等,那么这个特性在比较的过程中就不是作为整体进行比较的,就不能达到理想的比较效果了。
周五一大早就起来,导师约我8点15分就去实验室见他,这对于我这个已经习惯9点进实验室的人来说真是一种挑战。我把扫描轨迹和感兴趣点显示在不同种类的图片上,之后我们还有导师的另一个学生就一起研究这些轨迹有什么特点。这种直观的观察和判断有时候很容易发现什么样的特性更有价值,比如俯瞰图上眼睛扫描轨迹的长度平均要长一些,而街景图的轨迹更密集,兴趣点的注视时间更长些等等。导师说,对于图像而言,到中心距离差不多的数据要比相互间距离差不多的数据之间更相似,就提出把图像分成几个环形区域,分区域统计,以比较不同类型图片之间的模式是否不同。这又回到二叉树的限制上了,包含多个数据的特性不能被当成整体进行比较,随后讨论的重心就转移到如何对这些数据进行重新编码上,以使它以一个值的形式送入二叉树分类器。然而二叉树的计算是十进制的计算方式,如果编码方式不合适的话,很容易造成编码值的高地位的权重不同。讨论一直进行到11点,大概有了一个编码方式,而导师也跟她的学生开玩笑:“这家伙总觉得我们用的特性太简单,这次的比较复杂了吧?”然后又问我:“这回你满意了吧?”我只能呵呵一笑——不管搞什么特性还不是我敲代码!只是想敲得更有技术含量些罢了……
何梓奇
来这儿的时间已经过了整个实习的一小半了,我大多时间都是在办公室和导师,或是导师手下的博士生一起做研究、编程,这使得我有一种提前过上了博士研究生生活的感觉。不过,如果一次课堂学习的经历都没有体验的话,未免就太遗憾了。幸运的是,这周导师给我安排了两门课。一门是C++,一门是CUDA。选课工作是上网进行的,直接点击那门课程,填上自己的姓名,身份,和邮箱就可以了。选课的时候我还觉得疑惑,为什么还需要填自己的邮箱,直到上课的前一天,我的邮箱居然收到了信息平台的上课时间地点提醒通知,感觉挺有意思的。
C++大家可能比较熟悉,我就稍稍介绍一下CUDA.
CUDA(Compute Unified Device Architecture),显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。
由于是英伟达提出推行的,也就是说AMD的显卡是无法使用的。想到来美国之前换了一台电脑,旧电脑是AMD的显卡,而新电脑是英伟达的,顿觉有些庆幸。众所周知,两家显卡公司的支持群众都大有人在,也都对相互调侃乐此不疲。
我处理的文件图片都是三维的形式,故而使用GPU并行加速计算就很有必要,掌握CUDA也就势在必行了。同时BIP,BSQ,BIL文件的基本转换处理已经完成,接下来就要进入正题:根据切面细胞图片进行诊断!
范青君
这一周可谓是个多事之秋,没什么要紧的,都是一些琐事,却也让人心神不宁。国内也有许多麻烦事儿,比如选课,登分之类的,但却不是我要叙述的重点。我主要想提一下本周的一个“惊险时刻”。或许我之前没有提及,我的室友是个黑人,给我的感觉虽然不太爱学习,却为人热心,待人友善。但就在几天前的一个晚上,我和室友都在熟睡中,三四个警察却拿了备用钥匙打开门进来,打开了灯,拿起手电筒在我室友那侧翻箱倒柜。虽然灯光比较暗,但是警察腰上的手枪仍然清晰可见。我询问他们发生了什么事,其中一个白人警官轻描淡写地说他们在对我室友进行检查。当然,不用问也知道他们是做检查,不过由于气氛所迫,我没有追问,只是暗暗猜想有可能他们是在找毒品。好在他们搜了一阵没有搜出什么决定性的证物,也没有对我的物品进行检查(这一点还是比较人性化的),只好盘问了我室友一番就无奈地走了。事后我问室友他们是不是在找毒品,不料室友说有人诬陷他在校内贩毒。这个回答确实使我有些震惊,就凭他人的一面之词,警察就有权对一个人执行搜查?或者说举报者有什么决定性的证据?他又为什么要诬陷我室友?说实话我也不能肯定地说室友是被诬陷的,因为我也不知道他有没有贩毒。不过最后我放弃了思考,这些问题我可能这辈子都没法搞明白了。然而这使我养成了一个一回到寝室就搜一遍自己物品的习惯,如果哪一天警察在我这儿搜到了什么东西,我可真是有口难辩。
好在这周也并非全是坏事,周末我坐学姐的车去超市买东西,同去的还有一个哥伦比亚的学姐。她的母语是西班牙语,所以她说英语时我总是很不习惯。其实我倒也不反感,因为好不容易出一趟国,多了解了解异域文化也挺有意思。比如和她讨论讨论西班牙语和意大利语的异同就让人很愉快。另外,在超市里我发现了一些中国这边没见过的水果,比如树莓和黑莓。我还看到芦荟是和水果摆在一起卖的,只不过问了几个人都不知道这东西怎么吃……
张文杰
这一周我的主要任务就是完成数学模型的建立,导师在周四出差了,要在20号才回来,他给我布置的任务很轻松,只是说把模型完善,把问题简化,导师还是很能理解我在中国要完成课设的情况的。
上周我建的模型里有一个约束条件很麻烦,因为那个约束条件本身就是目标函数,那样的话会让目标函数在某些截断的边缘变得不可导。这次我把目标函数做了一点小的变化,把能量获得目标函数换成了满意度函数,因为电动汽车充电对应的效用转换成人的感觉后其实是一个有满意的上界的。说起来有点抽象,拿人对食物的需求程度作个比喻吧——假设人在极度饥渴的状态下,一杯牛奶对他来说的满意程度是100%,但是随着人的饥渴程度的减少,那么它对牛奶的需求程度也就随之减少,也就是经济学中的边际效用。
此外,我还希望能对模型中的扰动变量做一些优化。之前我把这个变量看成是-1到+1之间的平均分布,但是显然现实中扰动变量的概率分布和平均分布区别很大。不过我现在无法得知现实中的扰动变量的概率分布,所以我要在基于未知扰动变量的概率分布的前提下,对扰动变量进行处理。总体来说,虽然封闭形式的扰动变量表达式是未知的,但是我们还是可以将它看作是在某个已知概率分布上做的部分变异处理,如果是这样的话,我们就能对这个函数进行优化。
举例:电磁共振的电路简化图(如果介质改变(扰动变量),能量转换效率也会改变)
温晨曦
由于实验室和公司有一定合作关系,每一周我们都会帮公司做5个心脏起搏器的传递函数和在MRI中电压的测试。由于之前已经测试过很多遍,所以轻车熟路,只用了一天就全部测完了。下图是我和王庆岩学长一起测量心脏起搏器的传递函数时,我在记录数据的画面。
接下来几天一直在做另外一项研究,是之前冯石学长提出的用于快速计算传递函数的方法。其基本原理是用基函数(类似傅立叶变换中余弦和正弦函数)来拟合传递函数,再根据最后测量的电压结果来解各个基函数前的系数。在上周末冯石学长初步实现了这个想法,但是由于整个方程条件数很大,十分病态,所以只要测量结果稍微有一点误差,拟合出来的结果就非常差。由于冯石学长最近在忙毕业论文的事情,所以改良的任务就由我来承担。
我首先使用了超定方程来降低条件数,即是多测量几组电压,解出方程的最小二乘解。事实证明这个方法确实把条件数降低了一个数量级,但是由于条件数本身非常大,降低后的条件数仍然很大,无法在实际中利用。于是我又观察到了实验中选择的路径的线性相关性很大,容易导致最后方程的系数矩阵奇异,从而增大条件数。于是我花了两天的时间来研究路径选择的问题,最后成功通过选择路径再次把条件数降低。除此之外,在冯石学长的建议下,我还将原本选择的基函数通过Gram-Schmidt分解成正交向量,从而进一步提高了条件数,从而达到了一个可以实际应用的水平。
由于这个实验结果不错,报告给陈戟老师后他让我和学长写一篇文章,投到期刊。不过由于我的撰文经验实在太少,背景知识也不足,所以迟迟没有进展。最近又有了新的想法,正在尝试继续改进该方法,希望能达到更好的效果。