能跟你聊DOTA的神经对话模型:Meena&DialoGPT

提到对话机器人或者聊天机器人,国内的朋友可能先想到的是微软小冰或者苹果Siri。这两个机器人由于需要完成一些功能性的任务,都采用了模块化设计,虽然神经网络在其中起到了重要作用,但输出结果并不是从输入语句“端到端”产生的。而且用过的朋友都知道,他们的聊天能力并不是很令人满意。 今天介绍的神经对话模型则是一步到位,将对话历史作为输入,让模型直接生成下一轮的回复。学术一点说,神经对话模型本质上是在解决文本生成的问题。相比于很多聊天机器人(包括我们的晴天一号)目前使用的语料库+检索算法的架构,生成式(包括改写等等)算法能给对话带来更多的可能性和趣味性。最近,得益于大规模预训练语言模型,文本生成任务得到了长足的发展。本文的主角就代表了目前神经对话模型的最高水平,分别是19年十一月由微软发布的DialoGPT和20年一月谷歌发布的Meena。 在开始正文之前,先展示一段机器人生成的对话,让大家对技术现状有个直观感受。 模型 两篇论文都没有在模型方面有什么重大的创新,他们使用的都是如下图所示基于Transformer的seq2seq模型。这里大致介绍一下所谓seq2seq模型的工作原理。每生成一个单词的过程如下:将对话的历史信息输入进编码器(左下角inputs),模型已经生成的当前轮结果输入解码器(右下角outputs,没错,outputs是也用来input的~),然后模型将会综合两者信息输出它预测的下一个词(上方output)。而生成一句完整的回复只需要将刚才新生成的词拼接到当前轮已有结果的后面(图中shifted right的含义),重复上述过程直到模型输出句子结束符。 DialoGPT采用的是标准的GPT-2模型,也就是上图模型的加大号版本;而Meena采用的是去年Google通过神经网络结构搜索(NAS)方法得到的进化版transformer模型(Evolved Transformer)。Meena由1个ET编码器和13个ET解码器构成,ET解码器和标准Transformer解码器的对比如下图所示,两者似乎差别不大,论文注脚说一个ET Decoder Block大概是标准Transformer Decoder Block的两倍深。 虽然Meena和DialoGPT都是Transformer模块搭建的模型,但两者规模的差别非常巨大。Meena使用了极其巨大的隐层规模(2560 hidden size,32 attention heads),总参数量达到了惊人的2.6B。相比之下微软的模型就克制很多,最大规模的DialoGPT参数量为762M,表现最好的模型参数量是345M。作为参照,目前地表最强——google的T5模型参数量是11B,BERT large则只有340M。 数据 数据则是两篇论文提升performance的重中之重,特别是对于模型大小比较正常的DialoGPT来说。 DialoGPT论文里明确说数据是从Reddit上搞下来的。通过解析Reddit上的讨论帖,可以获得“树状”的对话数据,然后把每一条从根节点到叶节点的路径拎出来都能获得一个完整的对话。假设一个对话共说了K轮,每次取出当前轮作为标签,之前轮的对话作为输入,总共可以获得K-1条训练数据。Meena的数据来自于public domain social media conversations,他也是从树状对话中获得的数据,我猜测这些对话的形式应该和reddit这种论坛比较相似。 他们的数据量都是非常之巨大的,DialoGPT的总session数是147116725(147M),总词数是1.8B。再来看Meena,他们的总训练数据量是867M,总词数是40B,存成文本文件是341GB。这里可以对比一下之前的模型,BERT的训练数据是16GB,GPT-2的训练数据是40GB,曾经的数据狂魔Roberta是160GB。谷歌再次定义了什么叫大力出奇迹。我在维基百科看到人的平均阅读速度是每分钟200词,按这样的速度1 Billion单词需要一个人不眠不休阅读大概347天。从这个角度看,目前的训练数据量似乎又显得比较合理了。 两篇论文都提到要对数据做非常大刀阔斧的清洗,例如删掉太长或太短的、重复词语多的、含有URL的、不含有常见词的等等。总之,要保证数据质量足够高。 顺便提一下,DialoGPT尝试了从预训练模型迁移和从对话数据集从头训练两种方式。结果是迁移的表现明显好于从头训练。我认为这个现象非常的合理,使用预训练模型就好比教一个学过好几年语文的小朋友在网上聊天,这应该好过一个从小就只通过网络聊天学语文的小朋友。但Meena好像采用的是从头训练的模式,也许他们预训练一把能得到更好的结果。 由于使用了极大的模型和数据集,两个模型都是使用了豪华的硬件来进行训练。DialoGPT使用16个V100,而Meena则使用了2048个TPU v3核训练了30天。512个v2 TPU组成的POD三年协议价是12万美元一个月,v3应该更贵,所以你如果想复现这个模型,至少要花费48万美元。有钱真好:) 解码方式 解码是生成式任务里很重要的一个部分。因为正如前面介绍的,生成模型在推理时每一个时间步只会生成下一个词,而且后面的结果会依赖前面的结果,所以就需要一个好的解码策略来保证这一个个token最后能组成高质量的句子。去年有不少关于解码的工作,希望让机器人产生更有意义、有个性的回复。 DialoGPT没有采用什么独特的解码方式,而是使用了常见的Beam Search(集束搜索),只在最后用了一个较为新颖的重排序算法来从集束搜索得到的TOP K个结果中选出最佳的那个。在排序时,他们用一个训练好的“反向模型”来由生成的回复倒推输入。选用使输入语句概率最大的那个输出作为最终的输出。由于采用了Beam Search,它的解码过程应该是比较耗时的。 Meena比较有意思,作者们表示由于模型的Perplexity(困惑度)够低,完全不需要使用集束搜索。而是采用非常简洁的采样+重排就可以得到好的句子。 困惑度p可以理解为,如果每个时间步都根据语言模型计算的概率分布随机挑词,那么平均情况下,挑多少个词才能挑到正确的那个。 –知乎用户TimsonShi 所谓采样,就是在每一步都根据输出层得到的概率分布,随机选一个输出token,直到得出一个完整的句子。重复采用过程N次,得能到N个句子,最后将这N句话根据归一化后的句子概率排序,选出最优的。需要注意的是他们的输出层并不是对Vocabulary的简单Softmax,而是像知识蒸馏里一样增加了采样温度,即 $$p_i=\frac{\exp(z_j/T)}{\sum_j{\exp(z_j/T)}}$$ 作者们发现T的大小会影响生成结果。T小的时候,倾向于使用常规词汇,而T大的时候倾向于使用与上下文相关的词汇。论文使用的T为0.88,N为20。他们的结果显示这种采样的效果相比于集束搜索确实有很大的改进。下面一个是集束搜索的结果,另一个是采样,采样很好地避免了集束搜索生成结果丰富性差的弊端。 能得到这么好的结果有一个重要前提,就是模型的困惑度也就是perplexity够低。Meena的困惑度有多低呢,它是10.2,相比较之下DialoGPT的困惑度大约是15。 评价指标与结果 对评价指标的选择,两篇论文有很多共同点。他们都已经从BLEU这种考量词级别重合度的离散客观指标进化到了直接跟对话质量相关的抽象指标。从这一点也可以感觉出这个领域已经进入了相对成熟的阶段。DialoGPT使用人工评价的方式,评价模型的relevance,informativeness和how human-like。而Meena则用综合sensibleness和specificity的称为SSA的指标对机器人进行评价。所谓SSA就是对sensibleness和specificity的简单平均,A对应就是average。 Sensibleness我认为基本对应relevance,是指机器人能否得出符合上下文的有意义回答。但有意义是不够的,正如文章所说,一个只会回答“I don’t know”这类万金油句子的机器人说的话也是符合上下文的,但其实并不好。 Specificity对应infomativeness,是另一个维度,它评估机器人是否能给出有具体信息的答案。例如当人问”你喜欢电影吗”的时候你可以回答“我不知道/这很难说”,但一个更令人满意的回答可能是”当然,我特别喜欢科幻电影”。 我们来看一下Meena论文里的结果,因为他们为了比较,在相同的评测体系下把DialoGPT也测了。在Meena论文的评价指标下Meena的水平相当高,人类的SSA大概是0.82,Meena是0.78,已经相当接近。其他的对手在Meena面前基本抬不起头来,DialoGPT 0.51,Cleverbot 0.44。他们还评估了小冰和Mitsuku这两个著名的模块化机器人(非端到端的神经对话模型),SSA分别是0.36和0.56。文中还特别提到小冰的Specificity很差,只有0.19,这和我的使用感受是一致的。小冰感觉总是在扯淡,很难说出有意义的东西来。 SSA体系虽好,但完全依赖人工评价。Meena论文还评估了perplexity和SSA的相关度。结果如上图所示,横坐标是困惑度,纵坐标是SSA,Perplexity和SSA呈现非常明显的负相关关系,相关度大概是0.94。这就是说在训练模型的时候只需要评估混乱度基本就能知道最终的效果。这个结论我觉得非常重要,它无疑给广大神经对话模型研究人员带来了一个福音,毕竟人工评价实在太麻烦也太贵了。这下好了,以后大家奔着降低perplexity去就好了。 对话样例 在这一小节再放几张对话小样,从图中可以看出,这些模型的表现都很好,回答不仅流畅还符合一些常识。当然,我们在前面的文章里也讲过,这种隐含知识不太好控制。但只要语料够优秀,效果看起来是非常棒的。 后记 DialoGPT去年年底就发布了,而且微软大方地提供了预训练好的模型,他们也成为了这个领域当时的SOTA,但没想到这么快就被谷歌超越了。今年初看到谷歌连续放出Meena和REALM的时候还是蛮激动的,一个在类人闲聊上获得突破,另一个大幅提高了外挂知识库的利用水平。Twitter上针对这两篇论文也充满了乐观的论调,甚至有人预测2021年我们就能看到AGI了。这两年的技术发展确实让我们对文本数据的利用水平有了质的飞越,虽然不知道AGI如何,中文房间我感觉很快就会造好了。 另外也感慨Quoc V. Le带领的团队最近势头真猛。谷歌海量算力给了他们无限的空间,已经有在CV(例如去年的EfficientNet已经红遍Kaggle社区了)、NLP等领域遍地开花之势。如果中文房间真的盖好了,门牌上应该写的是1600 Amphitheatre Parkway, Mountain View, CA, U.S.吧。 参考阅读 DialoGPT: http://arxiv....

March 2, 2020 · 1 min · Yuanhao

大江大海1949

大江大海1949 {: .align-caption style=“text-align:center;font-size:smaller”} 就是上面的这本书,在大陆是买不到,甚至搜不到的。书商也很精明,在封面上印着“全球畅销经典作品,至今未能在中国大陆出版”来增加你对它的好奇心。其实早在多年前我就读过几页电子版,这次去台湾又在诚品书店遇见,便买了一本纸质书。 书是从讲述龙应台他们家如何辗转入台开始,通过描绘不同人物的故事和生平来展现那个特殊历史时期,更重要的可能是如书的扉页中写的 向所有被时代践踏、侮辱、伤害的人 致敬 断断续续花了一个月才读完全书,一些人和事已经记不清楚了,但有几点确实给我比较强烈的冲击。 其一是历史的残酷。不管是从台湾山区被征到东南亚成为狱卒的青年,还是从河南一路往南逃亡的少年,抑或在内战中被自己的同胞兄弟杀死的军人。身处那个时代的人们在历史的巨浪面前,真的就如蝼蚁一般,没有选择的权利,只能随波逐流。但反过来思考,历史往往又是被几个人左右。不管是日军将领,还是国共两党的高层,因为他们的诉求和命令,成千上万的平民百姓便被无故卷入到历史的漩涡中。高层虽然也是成王败寇,但在这个过程中最受伤的还是底层百姓,因为底层往往就只有你死我活的残酷争斗,生死关头,哪还管什么对错,可能连人类的尊严都可以置之不理了。 但历史又有公正的一面,我觉得龙应台的这本书对待这个问题却不够坦诚。书里有许多对解放军的描述,例如让手无寸铁的民兵打头阵与国民党军作战,有一些表述让我这个大陆人读起来不太舒服。我以前对解放战争时期我军如何能以弱胜强还不太清楚,但看了这本海峡对面的书我更加确定,胜利正是因为人民站在解放军这边,因为我党描绘的蓝图更加能打动民众的心。 与残酷的历史形成鲜明对比的当然是人的光辉,这也是龙应台一向擅长的部分。印象最深的是那五千个逃亡的少年和他们的老师,一路风餐露宿却还靠一本《古文观止》传承文化,我是真的为我们民族身上的这种韧性感动了。还有那些为了自己的理想信念甘愿付出生命的人,那些身处邪恶阵营却保有良知的人等等。我也相信不管再黑暗的时代,都会有点点温暖人心的光,而这些星星之火,终可燎原。 最后说一点稍不切题的内容。虽然身处和平年代,但中国大地上这几年涌起的浪潮其实也不小。就拿最简单的房子来做例子。多少人因为早买房、多买房甚至炒房就积累了大量的财富。而这些巨量的财富对于后来者来说就变成了沉重的负担。试想你的房子在一年之内暴涨了几百万,你又怎么还会把心思放在只能带来微薄收入的工作上呢。听说是最近北京的房价跌了,几个月的时间财富就能缩水上百万。但不管是涨价还是跌价,刺激太多,人总会变得狂躁,人生的悲欢也容易被放大,甚至扭曲。

September 1, 2017 · 1 min · Yuanhao

台湾游记之感悟

总体印象 对台湾的总体印象是非常不错的,非常温馨。例如在台北,除了便利店和屈臣氏,最多的当属咖啡店、烘培坊和小吃店了,街道中洋溢着咖啡香、面包香和各种其他食物的气味。城市的规划也很合理,巷子多而不窄,行人走车都没有问题。沿街大多是骑楼,可以为行人遮阳挡雨,这在台湾真的非常重要。厦门中山路一带的老城区也是这种骑楼,但新建的房子却丢掉了这个优良的传统,大多一块地建一个小区或是一个独栋的写字楼。没有沿街的店面,更不要提骑楼了。城市成了一个个孤岛,哪里去找温馨的气氛? 另一处给我震撼很大的地方是花莲。在夜市恰逢他们的嘉年华,舞台非常酷炫,场地中有凳子,不需要票可以自由进出,组织也非常专业,现场秩序很好。虽然表演嘉宾一个都不认识,但现场观众和艺人都很嗨,互动很好,我们也被打动。这个嘉年华已经办了十五届了,已成为花莲的一张名片。但震撼我的并不是演出本身,而是当地政府在开展文化活动方面展现出来的活力和能力。里面没有太多政治的成分,真正能让当地甚至周边的居民乐意参与,并且喜闻乐见,玩嗨玩好。我觉得这种思路大陆官员基本上是没有的。更厉害的是花莲的人口只有三十多万,在大陆绝对算是一个小城了,而我们的小城中又有多少文化活动,群众的参与度又是多少? 花莲嘉年华现场 {: .align-caption style=“text-align:center;font-size:smaller”} 台湾公民的素质普遍较高,还常常能遇见一些动人的细节。例如在台湾,高铁或者景点中出售的盒饭、饮料和城市里的价格是一样的,除了兰屿等离岛会有一个公开的涨价幅度。这在大陆是不可想象的,甚至连铁道部这样的国家队都是迫于压力才推出15元的高铁盒饭。在台湾路边的奶茶店,自带杯子可以打八折;停车场几乎都有孕妇专用车位;不允许带宠物的商店会专门标注导盲犬可以入内等等。店员都很和气,谢谢常挂嘴边;民宿老板对游客也很信任,入住退房几乎都是自助的。还有一件事非常奇怪,台湾的路边垃圾桶实在太少了,但马路却很干净。花莲同住一间民宿的东北老大爷感叹“这里的文明程度大陆再过20年也赶不上”。 导盲犬贴纸 {: .align-caption style=“text-align:center;font-size:smaller”} 旅途中接触了一些台湾的年轻人,他们的一些选择在我看起来也挺有趣。例如在兰屿民宿有个从台北来打工换宿的小姑娘。跟老板联系好后自己一个人就来了,一待一个月,帮老板打扫卫生,接待住客,老板提供食宿;闲的时候就自己在岛上玩。她并不是一个特例,在岛上的饭店、民宿很多这样的年轻人。有些人干脆长期待在小镇,例如前面提到恒春的波波厨房,就是几个对美食有追求的年轻人一起经营的。近几年这种事情在大陆也越来越多,我觉得是好的趋势。我们还在各地遇到许多为了办一场活动筹款的小学和中学生,他们在大街上立着募捐箱,然后用自己的才艺表演吸引路人。在花莲的海边有一对小姐弟,打架子鼓,除了募捐他们的牌子上还写着Facebook粉丝达到多少时爸爸就会带他们去韩国,希望大家点赞。我觉得这些小朋友都好棒,他们这么小就敢于追逐自己的梦想,也用自己的实际行动积累资源,一步一步达成目标。这种自主、自立的精神我觉得在大陆是比较缺乏的。 小朋友们的募捐活动 {: .align-caption style=“text-align:center;font-size:smaller”} 食住行 说起台湾的美食,据说高晓松都控制不住自己,但整个体验下来并没有太多让我惊喜的地方。 先说夜市。我们去了各地的多个夜市,夜市卖的食物大多是煎炸烤的做法,烤肉、蚵仔煎、炸鱿鱼、炸鸡排、烤猪蹄等等。既不太符合我的饮食倾向,似乎大陆也见得多了,没什么新鲜感。还有一些比较有特色的例如大肠包小肠、鱼蛋、淡水阿给等等也没有特别打动我。我印象最深的是在花莲吃的春卷,当时铺位里是几个年轻人,一次做十来个,面饼一字排开,放上不同口味的馅料,卷饼手法娴熟。夜市、小吃店都不乏年轻经营者的身影,这好像和大陆有一些差别。 春卷 {: .align-caption style=“text-align:center;font-size:smaller”} 然后说日常餐饮,有米饭类几大金刚:肉燥饭,卤肉饭,封肉饭,排骨饭,可以搭配各类汤;还有各色牛肉面,担仔面,米线等等。街边店比较便宜,大概80台币以内就可以吃饱,但有字号的店铺就贵很多了。例如台北永康街的牛肉面卖130台币一碗,但我觉得除了肉多吃起来还没有街边65一碗的牛肉面好吃。 此行的住宿除了垦丁、兰屿和花莲是民宿外,其他都是旅馆,都是在agoda定的,平均下来每晚标间大概300左右。总体住宿体验还不错,但感觉agoda并没有提供最优惠的价格,若准备时间充足可多做功课对比一下各大订房平台。 行在台湾也是比较方便的。对于城市间转移,在西岸可以选择高铁,快速宽敞,东岸只能选择台铁。台铁有不同的车型,速度不同。需要注意的是高铁站往往离城区较远,一般还需要乘接驳车或打车。但我们在台中出了高铁站之后乘接驳车是免费的,令人感动。若在城市里,台北有发达的捷运系统,相当于地铁。台北地铁给我的印象实在太好了,车身比北京地铁宽至少百分之三十,车站也很宽敞漂亮。结合台北不到三百万的人口,你应该可以想象乘车体验有多好,即使在上下班高峰也丝毫没有拥挤的情况。公交车也类似,坐了几次公交基本都有座位,而且台北公交的座位实在太舒服了。打车比较贵,但体验很好,台湾的的士都保养的很棒,车体干净到发亮,都是皮座椅,不会像大陆一样包裹肮脏的布垫,中控台也不会安装各种毫无设计感的仪器。 在台南和高雄我们还体验了台湾的共享单车,既有政府运营的有桩车,也有类似ofo的OBike,体验都不错,非常适合用于除台北外的其他城市游览。有桩车虽然要在指定地点借还,但会提供车锁,非常人性化。说到这强烈建议到台湾之后买一张当地手机卡,例如租单车这种服务都是需要短信验证码的。 台南有桩共享单车,可变速,车头有车锁 {: .align-caption style=“text-align:center;font-size:smaller”} 在台湾唯一比较麻烦的是大部分消费都得用现金完成,便利店中只有全家可以用支付宝。游玩时请保证身上有足够的台币。 台湾与大陆 台湾毕竟只是个小岛,自身人口少,市场体量小。近些年随着大陆工业的发展,逐渐丧失原有优势,四小龙的经济活力已大不如前。小英上台以后陆客大量减少,旅游业又受到重创,我们在台湾十几天都没有遇到大规模的旅游团。从经济上来说,依靠大陆已经是她几乎唯一的选择。 在情感上可能岛内人民分歧比较大。兰屿的民宿老板刚见面就说自己祖籍南京,后来聊天又跟我们讲了更多家里的故事。他的父亲今年93岁了,直到前几年他奶奶去世,每年还去南京探母。他奶奶去世之后,父亲年纪也大了,走不动了,换他的三叔每年从南京飞到台湾探望他的父亲,他的三叔今年也有86岁了。老板说,大陆他陪父亲去过很多次,也是有感情的,“统一了最好”。他又指着他还年幼的儿子说,台湾已经没什么发展,有能力的年轻人都流向海外,若他儿子留在台湾,他更加希望两岸交好,“万一有一天真的打起来,难道我要看着我的儿子上前线跟大陆打吗?有什么好打?难道不可笑吗?”而对于没有现实顾虑的年轻人,似乎较少深入思考这些问题,当然也没有和他们深入地交流,印象很深的是有被问到过“你们真的认为台湾是中国的一部分吗?” 结语 十四天的台湾之行结束,我马上将参加工作,踏上新的人生旅程。在大陆天天讲发展,人人逐名利的背景下,台湾就像一个世外桃源。桃源之中虽无摄人心魄的壮美之景,但它却可以让人放松、平静。龙应台在《大江大海一九四九》的卷首写道 正因为,他们在跌倒流血的地方,重新低头播种,我们这一代,得以在和平中,天真而开阔地长大 抛开政治分歧不谈,台湾人民在这个弹丸小岛上辛勤耕耘的精神和对待生活认真的态度是值得我们学习的。衷心希望海峡两岸都越来越好。

August 21, 2017 · 1 min · Yuanhao

台湾游记之行程

乘着毕业,终于把期待了很久的台湾之行落地了。本来光哥想在台北看一场周日的话剧,因此我们把行程定成了14天。虽然话剧没看成,但是十四天给了我们充足的时间环岛。 第一天 7.4 我们是7月四日上午8点多厦门飞台北的飞机,但出门不顺,直到十一点多才起飞。到了台北已是下午一点,一路来到住所放下行李便开始执行我们半天的游玩计划。我们住台北车站,附近就有不少景点,当天下午是一路向西。首先步行来到了总督府(现总统府),卫兵不多,比较有意思的是有一个老人家庄严站在总统府前,面朝外侧举起自己的一只手像在向着空气演讲。 演讲老人 {: .align-caption style=“text-align:center;font-size:smaller”} 而后来到中正纪念堂,这真是个纪念“堂”,大堂里面就有一个蒋先生的雕塑,很空旷。在前面的自由广场上正巧遇到在训练的仪仗队,当时下着大雨,他们仍然照常训练。等雨渐小,我们就出发前往象山,看101大楼。后面101大楼的景色证明冒雨爬一小时的山是非常值得的,我也拍到了此行最满意的几张照片之一。晚上逛了逛诚品书店就回去休息了。 黄昏时的101大楼 {: .align-caption style=“text-align:center;font-size:smaller”} 第二天 7.5 今天基本是沿着捷运淡水线往北游览。第一站是士林官邸,这是此行印象比较深刻的人文景点。官邸内装潢朴素,家具也不算奢华,但在但在电子导览温柔的声音和蒋宋二人的故事衬托下显得格外温馨。宋美龄的化妆室可是“梦幻的粉色系”,即使贵为第一夫人也还有一颗少女心,颇为有趣。接着是台北故宫博物院,重点看了瓷器、玉器、书画展厅。特别是在瓷器展厅里真是感受到了精致的古代工艺品带来的震撼和冲击。可惜里面的空调实在太给力,中午又冷又饿的我们便没有再继续参观。 下午来到了淡水,周董的故乡。沿着老街走了一圈,比较普通。周董母校不让参观,只得在门外留个影,然后便去了旁边的真理大学、红毛城等景点,最后再走到著名的渔人码头,静静地看了看海,听了听歌。 渔人码头 {: .align-caption style=“text-align:center;font-size:smaller”} 晚上乘捷运回到市里,去逛了逛大稻埕以及繁华的西门町,最后回到酒店。 第三天 7.6 这天主要是往南,先去了龙山寺、国立台湾大学,然后去了个艺术村”宝藏岩“(基本工作室都没有开门,感觉略坑),接着去了康永街,吃了牛肉面和芒果冰,附近的师大也顺便逛了逛。基本没有什么特别出彩的景点。下午我们便从台北出发前往台中。 我们到台中酒店放下行李后就近逛了逛“逢甲夜市”。 第四天 7.7 这天游览台中,台中其实景点不多,游客来此多半是因为要去日月潭或清境农场。我们上午去了东海大学,这是一所教会大学,日式风格的校园特别漂亮,最出彩的当然是贝聿铭大师设计的这个路思义教堂。下午的时候我们买了个当地旅游项目,拼车前往高美湿地。湿地的卖点是“最美落日”,可惜当日下着小雨,云层厚重,我们无缘得见。 路思义教堂 {: .align-caption style=“text-align:center;font-size:smaller”} 晚上回到市区,我们便乘火车站前往嘉义。 第五天 7.8 最终我们在日月潭和阿里山中选择了后者,而到嘉义纯粹是为了去阿里山。阿里山其实就是个森林公园,原来日本人为了砍伐山中的林木资源修建了一条铁路,但由于我们功课做得不够,没提前买上火车票。公园里主要看一些“神木”即树龄很长的树木。是个亲友郊游的好去处,但从旅客的角度我觉得可玩性不高。 当晚我们从嘉义乘火车前往台南。晚上乘着去洗衣服夜游了一下古城 第六天 7.9 台湾的开始在台南 台南真是一个充满历史感的小城市。除了城市本身,我们恰好入住了一个极其古老的酒店,装潢、设施可以让你感觉时光倒流了四五十年,打开抽屉里面还放着《圣经》和星云大师写的《献给旅行者》;而酒店对面的电影院外墙海报居然是手绘的,这个电影院本身就像在一部老电影里。离开台南时光哥还专程去买了一张手绘的《爱乐之城》明信片。 电影院 {: .align-caption style=“text-align:center;font-size:smaller”} 台南的人文景观主要有赤坎楼、安平古堡、大天后宫、孔庙等等。整个城市遍布庙宇,偶尔还能看到教堂,估计宗教人口占很大比例。赤坎楼和安平古堡最初均为荷兰人所建,台湾在近代百余年先后受到荷兰、日本、美国的影响,加上本身原住民以及49年后涌入的外省人,也算是个多元文化交织的地区。 大半天台南就逛完了,下午我们又坐火车前往台湾第二大城市——高雄。 到高雄时还不到傍晚,我们走路到附近的六合夜市简单吃了点东西,又来到稍远一点的瑞丰夜市。然后去了小巨蛋,又去了”爱之河“,一通暴走后回到酒店。 第七天 7.10 高雄虽然是台湾第二大城市,但我们给他的分配的时间也只有大半个白天。上午我们往西子湾方向游览,先到了驳二艺术特区。这里有点像北京的七九八,是由海边仓库改建而成的,整片区域有许多有趣的雕塑,仓库内的展览我们并没有参观。离开驳二之后,我们去了附近的国立中山大学。这所学校依山傍海而建,房子几乎是红色的,配上绿树蓝天,画风非常鲜艳。学校的海景简直无敌,大陆的大学我去不过少,论景色几乎没有可与厦大相提并论的,今天在宝岛终于帮它找到了个对手。 中山大学 {: .align-caption style=“text-align:center;font-size:smaller”} 从高雄开始,我们开始领略到台湾湛蓝的海水。下午,我们坐出租车前往台湾最南端——垦丁。 到垦丁的民宿住下后,最重要的事就是租电动车。我们实际上住在恒春,是一个古城,离垦丁骑车还有二十分钟的路程。这片大区域景点分散,没有交通工具是根本不行的。 当天我们先去了猫鼻头公园,在山顶可以遥望垦丁大街,面朝大海的话眼前就是一片湛蓝。这种感觉真的有一种让你安定的力量,相比起来大陆浑浊海水的效果就要大打折扣了。从猫鼻头出来我们去了一个沙滩,台湾人民还是比较奔放,有不少比基尼MM,:P,也有一些传统水上项目比如摩托艇之类的。大约计算号时间,我们便前往台湾第二处适合看日落的地方,号称“全球十二大日落”的关山日落。虽然今天天气很好,但是天边的云朵又一次让我拍日落的想法落空了。 关山日落 {: .align-caption style=“text-align:center;font-size:smaller”} 晚上吃了伙计冬粉鸭,其实冬粉鸭是配角,主角是卤味。老伯切卤味的刀法了得,但感觉卤味比较一般。 第八天 7.11 这天主要在垦丁瞎逛,鹅銮鼻、龙磐公园、风吹沙之类的地方。清华的朋友们如果因为学校不让骑电动车而不爽可以来垦丁释放一下。我们骑了一整天,除了收获美景外,还收获了一双晒伤的膝盖。。就问你意不意外惊不惊喜? 下午还了车晚上就在恒春城里瞎逛,看到了跳高级广场舞的大妈们,路过了海角七号里阿嘉的家,然后去了一个叫波波厨房的文艺小店买了第二天的早餐。 第九天 7.12 这天的主要安排是前往光哥心心念念的离岛——兰屿。早上起来天气大好,我们的心情也大好。兰屿上住的是达悟族,因为捕捉飞鱼而著名,但七月其实飞鱼季已过。从垦丁后壁湖码头乘船到兰屿要两个多小时。我们在兰屿游玩后将直接乘船前往台东,这是一个效率最大化的旅行线路,船票是通过到垦丁的出租车司机提供的电话买到的,简直太巧了。由于船票买的晚,兰屿的住宿我们也没有提前订好。到了岛上第一件事就是找民宿,兰屿有个旅游网站叫兰色大门,我们在上面很快找到了住所,真的很幸运。民宿老板还提供了机车租赁、潜水、拼板舟体验等一系列活动的预定服务。岛上只能用现金交易,我们biaji花了1万多台币,好在有一个取款机。...

August 21, 2017 · 1 min · Yuanhao

人类时代的谢幕?

去年看了《人类简史》,留下了很深的印象。今年初便买了续作《未来简史》,没想到在王者荣耀的干扰下五月底才看完。本书内容延续了前作的高质量,也给我带来了很大的冲击。想写这偏文章还因为一些巧合。一个是与这本书类似的话题居然不断地在其他地方被提起,包括锵锵三人行和前不久看的《攻壳机动队》。另一个是看完这本书的日期,2017年5月26号,是柯洁完败于AlphaGo的日子,天才少年的眼泪再一次给这本书的一些观点加上了生动的注脚。 按先后顺序先从《攻壳机动队》讲起吧。这部95年上映的电影被认为开启了包括《黑客帝国》在内的科幻新篇章。电影的高潮部分AI讲述自己的心路历程,并认为目前的自己和人类(还是生命?)唯一的差别只是它不会死亡。相呼应的是墙上的壁画,长长的进化树上人类雄踞顶端,充满了无上的优越感。如果有一天算法真的进化出了意识,它是否应该得到人类的尊重?又或者它们和人类是否真的有差别? 《未来简史》里作者的观点是明确的,没有差别。不是因为AI有多厉害,而是人类本身就是一堆生化算法的集合。你所谓的意识、思想只是一些生化反应的结果。你的行为、欲望也只是身体器官对这些生化反应的感受罢了。如果非要在人类的框架下讨论,作者又提出了“意识”和“智能”脱钩的观点。我们的算法,就像AlphaGo,已经在智能这方面超过人类,但可能他们没有人类的意识。然而意识真的重要吗?在数据足够多的情况下,智能可以比你更了解你的意识。如果能测量你紧张时上升的心率,愉悦时释放的多巴胺,你的所谓“意识”在智能面前清晰地就像一张流程图,不再有神秘感,也就不再显得神圣。又或者通过各种药物或者装置可以直接控制你的精神,喜怒哀乐全变成不同颜色的药丸。而这一切的确在伴随着传感器和生命科学的发展一步步变成现实。到那个时候,人类也许真的不再是这个世界上唯一的主角。 如果上面的场景还略显遥远的话,科技对人类内部造成的影响却已经真实地发生了。掌握资源的人可以更轻易地获得更多资源,其中一些甚至可以让他们摆脱一些看似“名中注定”的事情。例如锵锵三人行中讲到印度每年有大量的妇女为欧美的同类代孕。他们就像是一台台血肉机器,为大洋彼岸的人们生产另类的产品。想像一下如果有一类女性将来只能靠为另一类女性代孕活下去,这样的世界是你想要的吗? 不想要可能也无济于事了,“没有人知道刹车在哪里”。其实以上的问题已经完全超出个人的控制范围,除了静观其变我们也别无选择。但我还是很感谢作者,知道这些东西对我们有限的生命还是有一定的帮助。首先就是可以更豁达,当你意识到自己只是一些在运行的算法,对很多事应该可以想开一点吧。然后是方法论,昨天吃饭时盛哥说以后学会使用机器学习框架应该会像现在学会编程一样重要,在座各位都深以为然。应该尽早学会利用这些无意识的智能,它们一定可以在各个领域都大放异彩,而作为个人也能在竞争中保持主动。 历史开始于人创造神,历史终结于人成为神。 2017.5.29

May 29, 2017 · 1 min · Yuanhao

用makefile编译tensorflow

官方指南见 https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/makefile 前几天已经用bazel编译了一遍tensorflow,但是如果想在嵌入式平台例如树莓派上使用这个框架这条路可能行不通。因为受限于平台资源,可能无法用Bazel来编译(github已经有人成功了)。但已经有人提供了用makefile来进行编译的方案,可以编译出一个不含python绑定和gpu支持的静态库,非常适合在嵌入式平台使用。目前可用的目标平台有 iOS OS X (macOS) Android Raspberry-PI 准备工作 clone tensorflow repo到本地 以下所有的命令都应在在仓库的根目录下执行。首先执行tensorflow/contrib/makefile/download_dependencies.sh下载所需的依赖项。文件保存在tensorflow/contrib/makefile/downloads/目录下。如果是编译Linux版本,这步可以不执行,原因后面会提到。 编译Linux版本 安装必要的包sudo apt-get install autoconf automake libtool curl make g++ unzip zlib1g-dev git python 执行编译,运行tensorflow/contrib/makefile/build_all_linux.sh。整个编译的过程用了一小会儿。README里说需要先执行download_dependencies.sh,其实在这个脚本里会清空downloads文件夹并重新下载一遍。。 验证。执行以下命令下载inception模型 mkdir -p ~/graphs curl -o ~/graphs/inception.zip \ https://storage.googleapis.com/download.tensorflow.org/models/inception5h.zip \ && unzip ~/graphs/inception.zip -d ~/graphs/inception 再执行以下命令,注意graph=后面有引号! tensorflow/contrib/makefile/gen/bin/benchmark \ --graph="~/graphs/inception/tensorflow_inception_graph.pb" 应该就成功了,如果提示找不到网络的话自己检查一下路径。 在树莓派上编译 tensorflow/contrib/makefile/download_dependencies.sh #跟之前一样,下载依赖库 sudo apt-get install -y autoconf automake libtool gcc-4.8 g++-4.8 #安装编译工具 以下编译protobuffer cd tensorflow/contrib/makefile/downloads/protobuf/ ./autogen.sh ./configure make CXX=g++-4.8 sudo make install sudo ldconfig # refresh shared library cache,很重要 然后可以验证一下...

March 20, 2017 · 1 min · Yuanhao

编译安装Tensorflow

如果采用官方包安装Tensorflow的话,有许多针对平台的优化都没有打开,会导致性能下降。因此,最佳的安装Tensorflow的方法是从源码编译。整个过程大概如下。 安装Bazel 安装JDK8 $ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java8-installer 下载安装包的时候速度极慢,打开VPN快了许多。。 安装其他依赖项 sudo apt-get install python3-numpy python3-dev python3-pip python3-wheel 我还修改了系统的默认python到python3版本 ##配置安装Tensorflow 下载Tensorflow的git仓库 git clone https://github.com/tensorflow/tensorflow 进到目录里,checkout正确的版本 git checkout r1.0 生成编译配置 $ cd tensorflow # cd to the top-level directory created $ ./configure 编译pip文件 bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package 这步执行完后会生成一个脚本,用它可以生成whl包。执行 bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg 生成包,包存在/tmp/tensorflow_pkg里,包名是自动的。然后再用pip安装这个包 sudo pip install /tmp/tensorflow_pkg/***.whl 其中***就是生成的包名,到刚才的目录下看一下就知道了。 ##测试 既然tensorflow可以直接用pip方便地安装,为什么要千辛万苦编译呢?因为官方编译好的软件包为了提高通用性基本不可能发挥硬件的全部性能,很多优化开关都没有打开。而我们自己编译的版本则会根据硬件进行优化。为了测试性能差别,用以下简单的卷积网络在MNIST数据集上进行实验。 import tensorflow as tf import time def weight_variable(shape): initial = tf....

March 10, 2017 · 2 min · Yuanhao

2016总结

不知不觉又到了新的一年,上午帮老师做总结ppt的时候借机回顾了一下自己这一年。感觉还是值得写下来。 坏的开头 今年从刚开始就很艰难,刚开学到实验室就赶紧把行走的论文改完,2月19号改投到了JMR。然后22号在本该合家团圆的元宵佳节就发生了非常令人沮丧的事情。那种无力感是不曾体会过的,真的太难受了。希望它的影响能早点消退,大家都能回到正常的生活轨道上去。经历了这件事,除了让我对自己的看法有了很大的改变,我对我们民族的一些东西也变得反感。大家都给自己和别人背负太多的东西,真的好累。 两篇论文 三四月份开始整人机交互的论文,承蒙组里各位照顾,很快就做好了实验。文章是在ICRA拒稿的基础上改的,git仓库里4月6号是第一次commit,4月16号的commit message写的是submit,应该就是那几天提交的论文。于此同时一边为了项目验收在设计传感器,画电路板。 五月底的时候两篇论文相继回来了审稿意见,都比较正面,但都有个别比较刁钻的审稿人问题。没办法,两篇论文同时修改,JMR的回稿日期是5月24日,我居然六月5日就交了修改稿。Sensors是五月22日回的稿,七月5日提交的修改稿。这里最感谢的是付老师,好几个晚上都和我讨论到十一点多了,帮我出主意,给我提意见。那段时间过得也确实比较苦逼,不过有一次我很晚回宿舍的时候回头望了一眼李兆基,几乎每个房间的灯都还是亮的。有的时候真的想不明白为什么大家都这么忙,我们到底在忙些什么?七月22和七月29两篇论文相继被接收,也算给这个忙碌的学期画上了比较完美的句号。不过比较对不住跟着我做毕设的本科生。在他答辩前我们也没整出一个稳定的传感器。 实习 大概在二三月份的时候,我在水木上看到英特尔招机器人实习生的广告,就去面了一下。但跟老师商量后他不建议我学期中去实习,也就没去了。后来临近暑假觉得还是实习下比较好,便又开始折腾。记得投了微软、阿里、腾讯,年轻的我做在线笔试都不敢用搜索引擎,更逗的是迷之自信居然投MSRA的研究岗。 MSRA和腾讯都挂了,阿里进了面试,映像也比较深刻。第一轮电面聊得还比较欢,问我一学机械的干嘛投产品,我大概回答他感觉技术会被刷,还问我一些关于笔试的问题等等。到了第二面,画风突变,问我最喜欢什么app,为什么,它哪里还可以改进还有三年后希望自己变什么样之类的。好多题是一面问过的,但这位面试官直接跟我说觉得我不适合做产品经理。后面想想其实不是我不适合,只是我真的没有准备。什么app怎么好该怎么改我只能捡了个熟悉的微信扯了扯。互联网节奏这么快,你没有任何准备别人自然也不会给你任何机会。包括前面的微软,我在笔试前都没刷过题,而且居然还用c++,只拿130分也是应该的。 虽然没拿到offer,但这些失败以及面试官的意见倒真的让我开始思考自己想做什么。清华机械真真是通识教育,念到研究生,什么都会一点但什么都不专精,而且学校项目和实际市场脱节比较严重。再加上我对机械的兴趣本来就不大,在仔细思考之后将方向定在了: 控制算法 机器学习 传感器 三个方向中1、3对应比较传统的制造业。2主要对应互联网企业。 找工作 找工作真的是今年比较重要的一件事了,但真的蛮幸苦的。由于有去互联网的想法,所以我比身边的同学早许多就开始了。八月份的时候通过100offer去了一家创业公司面试,技术总监是个清华电机系毕业的师兄,也让我第一次有机会近距离跟技术大牛过招。那次从简单的语言问题聊到算法甚至聊到波士顿动力的机器人,一场面试下来感觉自己真的好弱,要走的路还很长。最后由于我没法去实习他们也没给我offer,不过师兄的一句“你想做AI为什么不用Python”倒是点醒了我,于是开始了leetcode上python刷题之旅。 虽说前面已经梳理了自己的方向,但真的到投简历的时候还是会有“什么都想要,什么都感觉不错”的心理。看了下我的记录,我最后大概投了快40份简历,涵盖的领域远比之前的3个多。这也导致参加了好多好多笔试面试,占用了大量的时间。 拿到的第一个正式offer也是100offer推荐的阿里系创业公司天壤,AI岗,工资超过25w。电面的时候和创始人聊得蛮欢的,面完十分钟就给我发了offer。有了第一个offer就会比较有信心,吹水的时候也更煞有介事。但考虑以我目前的状态可能还不太适合去创业公司,就给回绝了。要是某天突然看到这个公司变得巨牛逼不知道会不会后悔,哈哈。第二个offer应该是海康威视,终面之后加面了总监。总监说我是个图像领域的新兵,给special不太合适,把我推给了机器人部门,还给了我一张名片,说后期可以再联系他,若有机会可以给我发SP。之后机器人部门面试比较顺利,待遇比天壤还高一些,可惜岗位在杭州,和我去一线城市的定位不符,最后也没去。后来还面了恒生电子,明知道他在杭州,却还是去面了,搞不懂自己怎么想的。 面试体验最好的是微软,每一轮的面试官都很nice,会引导你解决他们给出的问题,甚至跟你一起review你的代码,帮你找问题。说真的,这才是模拟真正的工作状态:怎么跟人沟通,寻求别人帮助,一起解决问题。当时面了整整一天,中午饭很好吃。下午是AA面,见到了互联网工程院院长王永东博士。大叔气质真的很好,很有气场。出的题是HMM相关的,刚好项目里学过,解得比较轻松。最后也顺利拿到微软的offer,不过是在苏州,因此也拒了。但就在前几天上海HR打电话说有当地云计算的位置,无奈已经涉及毁约,也就没有去了。错过微软还是蛮可惜的。 微软午饭 后来有一波汽车行业的offer,主机厂、供应商、研究院都有。最后综合考虑决定去上汽做AI,风险其实挺大,看命了。。 经历这次找工作我感觉知道自己想干什么实在太重要了,特别是能力强的人,最后比的基本就是方向和耐力了。还有就是你想在哪,一线城市固然好,但紧抱着不放也确实是没有必要了。不过比较神奇的是本科班同学们这波找工作没有一个留在北京,嗯,把北京留给博士们吧。 在线课程和志愿者 其实很早就有上在线课程了,一开始在清华自己的学堂在线上过几门,去年开始接触Coursera,上了吴恩达老师的Machine Learning。今年大概暑假的时候感觉要充充电,上了宾大GRASP实验室开的几门机器人课程。包括Estimation and Learning,Perception,Computational Motion Planning和Mobility。其中和实验室最贴近的是Mobility,不得不佩服他们的研究水平,很多应该知道的东西我们真的不知道。和我项目最接近的是Estimation and Learning,只可惜讲得比较粗浅。内容最扎实的是Perception,视频贼多,作业也挺花时间。在年底的时候又上了Hinton教授主讲的Neural Networks for Machine Learning。这课真的好,比较全面地介绍了神经网络这门科学。也不得不佩服Hinton教授,一直坚持自己的研究,从ANN的低谷一直坚持到了最近深度学习爆发,一举又成为引领潮流的人物。所以,还是那句话,方向和坚持真的太重要了。 终身学习从我还小的时候就开始讲了,但真正做的人并不是很多。在线教育平台上已经有非常多优质的资源,涵盖面也很广,是非常值得尝试的。 在上机器人系列课程的时候发现没有中文字幕,于是就起了翻译的念头。先是打入中文翻译者社区GTC,然后找到了愿意合作的LC,就开始翻译起来。所以暑假期间基本把自己安排满了,实习、刷题、上课、翻译,还得做实验室的项目。说来也巧,LC也是清华校友,居然还是学机器人的,辈分颇大,目前人在加州做IT行业。除了合作翻译,他还给了我一些职业建议,也是一位非常nice的人。 最终我几乎自己翻译完了Estimation and Learning,后来还当了Perception的组长,招募了一些志愿者一起翻译。这种和世界各地的朋友通过网络协作是从来没有经历过的,感觉很奇妙。可惜后来找工作忙起来又碰上GTC换翻译平台翻译就暂停了,寒假我会争取把Perception弄完的。 奖学金 从没想到自己能拿国奖,不过国庆节收到申请邮件时付老师建议一定要试一试。于是就开始整理材料,有两篇论文打底,加上研一两学期的助教和一次学术会议,东拼西凑还真有点东西。初选的时候排在所里第三,一共三个名额,可能性还挺大的。 答辩的时侯我讲了一些自己上在线课和翻译的事情,没想到老师们都还挺感兴趣,问我感觉国外的课和清华的有什么差别。不留情面地讲,清华有的课实在是太水了,特别是研究生阶段,对教学没有足够的重视,学到的知识太少,做得project太多,作业设计也缺乏参与感。近几年引进的老师越来越多,希望可以带回来优秀的课程设计模式,别把这些好苗子都白瞎了。 答辩之后的最后成绩居然变成了第二名,顺利拿到了国家奖学金,金额可观,名声也好。付出了就会有回报,这句话真是不假,就看你能不能坚持到回报到来的那一天了。 略显混乱的年末 忙完国奖的事就到十月底了,工作也基本定了,寻思着该回到实验室搞搞项目的事情,于是从英特尔离职(九月以后就去的非常少了)。实验室这边有了做SLAM的新任务,还有之前的工作要继续推进,老师也把新招到的本科生派给了我。 为了上海户口求稳,十二月和黄丝一起专程去天津参加了计算机二级考试。报的c++,感觉对自己比较有用。之前都是瞎写,半吊子水平,这次乘着这个机会好好翻了一下《C++ Premier》,还是学到了一些东西的。刚查了成绩,89,差一分优秀,随他去吧。 还有就是这个网站咯,其实从八月份就开始写了,后来忙起来又断了。十一月写了一些,到了十二月底临近元旦放假又来了兴致,咔咔咔连写了好几天,终于基本像个样子。 一些杂事 被超哥等人带入了德扑大门,他们打得挺大的,一群人拿着钱猜手中的两张牌比对手大还是小,一个冲动甚至可以押上几百上千,这种纯粹的赌博的确是一种全新的体验。但打多了感觉这个游戏不太和我胃口,我不明白这样有什么意义,说输钱也很开心我是不相信的,但你赢了就有人要输,应该是个零和的游戏。而且真的会有一种无所谓的感觉,不再珍惜你的钱,感觉这样挺可怕的。真想娱乐和吴老师光头他们打打一毛钱的娱乐局就好了。 统计了一下今年只看了大概25部影视作品。其中比较出彩的是三部电视剧:《信号》,《黑镜》和《西部世界》。书倒是看了几本,《三体》,《人类简史》,《必然》和《思维的形状》都挺不错的。还能静下心来读书是挺值得骄傲的事情。 今年比较遗憾的是基本哪都没去,五一国庆都回家了。倒是去了好几次天津,感觉天津其实还是很不错的。可能是因为来自南方的缘故,感觉一条海河让这座城市有了灵气。 海河沿岸 写在最后 不知不觉写了好长,就这样吧。 2017,希望家人朋友一切都好。

January 1, 2017 · 1 min · Yuanhao

山西游记

感觉上大学以来国庆五一几乎没有出去游玩过,顶天了也就是回趟家,只不过家离北京可是有两千多公里。其实之前不出去玩除了本身上没有足够兴趣,还有一个重要原因也是不太愿意花家里钱。上研究生后这两个情况都有了些变化,一方面是认识到行万里路的重要性,另一个也是多了些收入,有了些闲钱。正好杨刚来北方也想出去走走,我们就决定借着假期小游一发。可惜计划得有点晚,只能选个近点的地方,看了一圈也就山西最符合要求,花了一个晚上买好车票住宿,就等着三号出发了。 我们是十月三号上午出发,先乘高铁去平遥。无奈买的是站票,一路都在盯着哪有空闲的位子,最后所幸坐在车厢尾部的小旮旯里,还好路程不长,将就一下也就过去了。一下高铁可傻了眼,这雾霾比北京还吓人!出了火车站准备乘公交去古城,又傻眼一回,车子全是一样的路线编号,可路线却不同。一开始上错了车,票钱也退不了,也只好作罢,乖乖坐另一辆去。坐在公车上看平遥县,真是有些破败,路上没几辆好车,路边楼房都灰头土脸,窗户上门上都贴着大大的广告字,更添了几分土气。接近古城,交通也开始混乱起来各种大巴小车挤在路上,路口的交通灯只是一通乱闪,也没见人听它的。下了车就去找酒店,算是个民宿,房间很小,床也很小,总之条件一般。午饭点了个特色小吃“碗秃”,这东西其实有点像家里的米果,没吃出什么特别的。下午就是逛古城了,古城里人可是极多的,和人一样多的是满地卖的沙棘汁、牛肉和王老吉。平遥的牛肉我之前没怎么听说过,但肯定是很有名的,粉粉的一大块就堆在桌上卖。晚饭时我们特意点了一盘,味道不是很重,可能是吃惯了家里做法,觉着没有我们那的牛肉巴好吃。平遥可以说是个金融之城,早年间票号开遍了全国,城里自然也有了和票号配套的镖局等等。听几个导游说平遥的票号当时可是富可敌国的,但这些大财主显然不太懂生活,房子都不大,也没有亭台楼阁园林假山。相比之下还是官老爷比较气派,平遥县衙面积比这些个票号都大,里面有大院子、小花园,住着肯定比那些小院舒服多了。还有一处比较好的古建是平遥文庙,房子很高,视野很好,院子里面绿树成荫,很有一些静谧的感觉。有个什么楼里还藏着某位状元的殿试答卷,答的内容我们是无心细看了,不过一卷蝇头小楷可真是赏心悦目。吃过晚饭天就黑了,屋檐下的红灯笼都亮了起来。相比白天,游客的年龄好像也小了些,多了些靓丽的身影。平遥的这些古街真是有些被过度开发了,光是卖非洲鼓或是陶笛的店铺就都不止一处,还有大量什么上海香皂啊,手绘明信片啊之类的看似文艺的店铺。就像我朋友圈里写的,这样古街真的到处都是了,没有任何特色,也不会想来第二次。不过平遥还是留下了个遗憾——我们居然没有登上保存完好的城楼去看一看。 第二天一早,我们就坐上了前往乔家大院的班车。乔家大院就在某条很宽的公路边上,路边就立着巨大的牌坊,告诉你已经来到了这个因为电视剧被全中国熟知的地方。从外面看整个院子俨然一座小城堡,可以感受到乔氏家族往日的兴盛。这个院子和平遥那些票号不太一样,首先面积就大了许多。一大家族应该每个男子都有自家的一个小院子,还有私塾、花园等配套公共设施。房屋也比较气派,有一些小高层,雕梁画栋很是精美,不过房檐下也和平遥似的都挂着大大的红灯笼。院子虽大,但建筑风格其实也挺重复的,光看房子一定会略感无聊。所以在房间里布置有一些展览,介绍婚丧嫁娶各种风俗,但也没什么新鲜感。《乔家大院》这部电视剧我没看过,猜想应该是讲晋商的故事,从平遥和这里的确可以隐约感受到晋商当年开拓进取最终纵横全国的辉煌。 从大院出来接近中午,略作等待之后我们就上了一辆大巴,奔赴我们的第三站,太原。太原是山西的省府,可我们刚进入太原地界却首先感受到一丝肃杀——好几个楼盘没有完工就拆了脚手架赤裸裸地呆立在街边,应该是烂尾了。但随着车逐渐进入市区,景象也渐渐有所改观。当我们从汽车站坐上公交一路向北穿过太原市,车窗外已经丝毫没有之前荒凉的氛围,大量的楼盘密密麻麻一直延伸到视野尽头,还有很多工地正热火朝天施着工。到酒店安顿好后,我们也不想闲着,打个车就往晋祠去了。路上还问了问的哥太原的房子多贵好不好卖,大概最贵的房子也超过一万了,而且的哥对楼市乐观的很,他说太原房子不愁卖,大家有钱爱买房。到了晋祠有点晚了,差点就被忽悠坐车,好在我们坚定信念可以赶在停止售票前走到正门口。晋祠离市区真的是极远,但是这真是一个很大的公园,绿化非常好,一下子就和之前的景区拉开了距离。晋祠里面古建很多,什么鱼梁飞沼,圣母殿据杨说都是大名鼎鼎的建筑。院内还有参天的古树,据说树龄已过两千年,一眼名为“不老泉”的泉水也充满了故事。整个晋祠感觉非常的幽静,总给我一种照片里日本的感觉。虽然门票贵路途远,但却实值得一游。晚上还暴走逛了逛太原著名的商圈柳巷,我们的杨同学还饶有兴致地考察了IDo的专卖店,看到十几万的钻戒后默默立下攒钱的宏愿~路上碰见一个老头孤零零地站在路边演奏《歌唱祖国》,小提琴声悠扬婉转,穿过喧闹的街道飘进耳里,又适逢国庆,还真能激起一些平静的爱国情怀。 在山西的第三天一早,我们就坐上绿皮火车前往大同。大同是总哥主场,他国庆又正好回家,我们也就有机会感受了一次总哥无微不至的地主之谊。总哥大中午带着美味的猪肉脯、蟹黄瓜子和矿泉水来接站,一下火车又带我们品尝了大同名食东方刀削面,为我们下午的云冈石窟之旅打下了坚实的基础。大同的物价是令人感动的,出租车七块起步,刀削面不到十块,让我这个北京穷学生都有了点大款的感觉~打的来到云冈石窟,在大门口顺便报名了第二天的恒山一日游,就往里走了。景区的前奏是一堆今人建造的庙宇、步道、佛塔等等。快快地掠过它们,我们就来到了真真正正北魏时期的云冈石窟。不得不说,云冈石窟给我的震撼是巨大的,特别是其中的几个保存完好五六窟和昙曜五窟。五六窟内满壁都是小佛像,还有彩绘,置身其中让你有一种特别强烈的神圣、净化的感觉。杨也感叹,若是坏人来此该直接吓得跪在地上把。与五六窟的精美、规模大不同,昙曜五窟则是以大取胜。十六窟主像释迦摩尼高13.5米,幸亏之前埋藏与山石之下,成了整个云冈石窟唯一保有眼珠的佛像。北魏真的是一个很遥远的朝代了,对于我这个历史盲更是几乎等于一片空白,此前也没关注过造像艺术,但石窟里这些带着异域风情的佛真的太美了。参观之前没做功课,以为石窟是信徒们自发雕凿的,让我对这些菩萨更加肃然起敬。脑海中总是浮现出虔诚的善男信女在一斧一锤雕凿信仰,即使在荒凉的山丘风餐露宿也毫不畏惧的画面。但是后来才了解到这原来是皇家工程,从全国各地征召能工巧匠才完成这个宏伟的工程,不知背后有多少背井离乡妻离子散的故事,不免唏嘘一番。差点忘了说,晚上总哥请我们去了一家比较有特色的餐馆,我们三人还喝了点小酒,气氛很棒。很有意思的是这个参观点菜是可以点半份的,这还是我头一次见,对这个设计真的是要点无数个赞!不仅避免浪费食物又可以帮客人省下不必要的开支,太人性化了! 六号其实是正式旅行的最后一天,原本计划是恒山和悬空寺。上午游览的是恒山,恒山主峰高2601米,山上多寺庙道观,但景致并没有什么特别的地方。从山腰停车场爬上去再下来大概花了两个多小时,其实并不是很困难,如果各位有机会去不妨也用脚走,不要坐缆车。下山就在路边小摊吃了浑源县著名的凉粉,食物还不错,不过小摊的卫生条件实在是比较堪忧。比较逗的一件事是同团的一位虔诚的老人家跟家人走丢了,上演了一出真实版的“爸爸去哪儿”,我们一车人也只好等着,最终也没等到他,就前往悬空寺去了。在爬恒山的时候就想,这五岳也算是开了个头,希望能早日把剩下的四个也游历一下。悬空寺在国庆假期之初就出现了落石伤人的情况,因此整个假期都关闭了,只能在下面远观,挺遗憾的。不过整个寺庙确实精奇,也难怪李白会写“危楼高百尺,手可摘星辰”。回到大同在住所附近品尝了一下凯鸽涮羊肉,再次被美味的食物和温柔的物价感动到。 其实说真的,越往北对山西的印象越好,没有裸露的黄土,没有糟糕的空气,也看不见想象里脏兮兮的煤矿。大同周边就连一座座石头山都在人工覆盖的土壤上种上了树木,回北京的高速路旁边也都有成片的树林和荒草滩,风机和五颜六色的树叶还将景致装点得有了些许姿色。说来也讽刺,越往北京空气越糟,在六环就已经置身乌烟瘴气之中。刚到大同总哥就夸家乡好,在短暂体验后证实他说得是事实。总的来说这次的行程还是偏紧凑,准备也不是特别充分,但好在好友结伴又在他乡有同学照应,还是非常愉快的。

October 23, 2015 · 1 min · Yuanhao

美国游记——上

时代广场 {: .align-caption style=“text-align:center;font-size:smaller”} 图片加强版请戳:http://user.qzone.qq.com/297542513/blog/1438659227 7.25 今天我的美国东部游就正式开始了,上午师兄把我拉到机场,出发前往纽约。冶哥打了辆uber来接我,不一会便回到了他的住所。他住在jessry,其实和纽约都不是一个州,但和曼哈顿只隔着一条Hudson River,打开窗就能看见曼哈顿摩天大楼构筑的迷人的天际线。房间虽小,租金不少,900美金在北京也能住到一个至少40平的房子了吧~ 刚到泽西感觉这里超级像厦门,植物很热带,不过人可比厦门少多了。放好行李我们就前往一个叫聚缘(还是福忘了,美国中餐馆超多叫类似名字的)轩的中餐馆吃午饭,居然能吃到空心菜真是感动得我眼泪掉下来。吃饱喝足之后也懒得休息,就出发前往大纽约了!路上有个地方在搞活动,音响震天,一帮黑哥黑姐载歌载舞,烧烤摊青烟缕缕,散发出诱人的香味,简直让你感觉回到了中国= = ...

August 18, 2015 · 1 min · Yuanhao