分类目录归档:未分类

SHAI 上海人工智能 5月22日聚会预告

上海 AI 聚会 ( SHAI )第三场将在5月22日进行。

地点:华山路888号创邑SPACE B1 会议室

时间:2021年5月22日 下午2:30 – 4:30 

主题:如何揭开 AI 神秘的面纱?

参加者:凡是愿意为了以AI的名义来聚会的人

参加方式:不需要报名,到时候直接过来就好,随时加入,随时离开。当然,也不保证一定有位置。

联系:可以加入如下活动快闪群,获得活动信息。本快闪群会在活动结束的当晚自动解散。

关于这个聚会的问答
5月15日活动回顾

这次聚会最有趣的就是请技术人员用最简单的方法向非技术的参加的朋友介绍人工智能算法是如何认识数字的。大家的各种尝试,基本上成功的不多。下一次继续挑战。

还有蛮多的时间讨论技术的壁垒的问题。既然人工智能的众多的模型,既不能让一个人比世界的最先进水平高多少,但也不会比这个水平低太多,一个新的技术就帮助大家把起点拉平,那么壁垒在哪里呢?以后会写文章来总结大家的讨论。

扩展阅读

好的工程师的 7 个加分项

在所有职位中,工程师这个职位是我们团队人数最多的,我希望尽量长的时间保持工程师占总人数的 2/3 的比例。工程师的工作描述反而是最简单的,因为我们的工程师不分前端工程师,或者后端工程师,或者硬件工程师等种类,甚至暂时不分高级工程师,初级工程师等,而只有一个职位,就是工程师。

为什么不分工程师类别的呢?

前端,后端,软件还是硬件,运维还是测试工程师,是任务的类别,而不是工程师的类别。当然做的事情是有类别的,每个人也有阶段性的专注,但是我们认为工程师本身的素质,是非常通用的,是没有边界的。

在工程能力上,通用的素质是 封装分层的世界观;

在基础能力上,好奇,有热情有钻研精神不断探索是通用的。

一个中文讲不清楚的人,英文讲起来也一定逻辑不清;一个话说不清楚的人呢,代码一定更加混乱;一个后端逻辑搞不清楚的人,前端也不见得好到哪里去。这些都是通用的,我们为什么在职位上分前后端呢?

是不是因为你们团队太小才不分?

是的。团队大了,不得不牺牲个人的好奇心,把人往螺丝钉的方向打磨,这样可以整体的效率最高,却不是最有趣,对于个人成长最好的方式。

我是不是在这个团队什么都得干,什么都干得不精呢?

是的。但这是选择题中间的一个选项,看你是不是希望做这个选择。

我们拿拼乐高为例。

有的工程师,更适合进入一个很大的系统,就如同进入一个乐高拼接工厂,在不断的分工中,他最终能够把一个城堡的进门的那个柱子的基座拼得比世界上任何人都好,都快。在找工作的时候,也比较容易在拼城堡的柱子的基座的工作中胜出,并且获得下一份工作。

有的工程师,就是从小玩乐高的。重复拼接一个乐高的一个部分不能让自己满足,更希望每天都有一套新的乐高拿过来玩玩,从星球大战系列到城市系列甚至哈利波特系列都试过。或许,这样的同学在大厂里面已经没有竞争力了,但是他在乎吗?

我们是一群选择后者的人。我们对于搭出来什么东西更加在意,对于希望到的那个点和脚下这个点中间的一切充满好奇。

具体做什么呢?

举一些例子吧,如果对于这些例子感兴趣,并且不介意在没有道路的荒原上探索的同学,应该是我们找的:

例子1: Visual Aided Speaker Detection。 就是如何通过画面上的人的嘴部的动作,以及声音的信息,判断到底谁在说话。不仅仅要判断谁的嘴在动,而且要判断动的嘴形和声音的波形是否一致,从而增加判断的准确度。

例子2: 电影的自动剪辑。如何通过对于一部电影和一个多小时的视频,对话,音乐等信息,根据历史上大量的预告片,做深度学习,找到最好的预告片。

例子3: 发明一套视频编辑语言,找到视频剪辑和导演和工程师人员之间的那个交汇点,可以让导演把自己的知识用一种视频编辑语言固化下来,并且帮助 AI 学习导演的风格并且完成自动剪辑

例子4: 高效的并行云端调度算法。有50000个视频,需要对其进行检索,包括内容分析,对话分析,人脸识别,动作识别,音乐节拍识别20几个维度,并且需要通过一套基于云服务器的调度算法,通过并行计算,把原本100个小时以上的时间压缩到10个小时以内。

等等等等

这些就是我们的日常,如果对于这些领域感兴趣,你可以联系我们了。注意:重点是感兴趣而不需要知道怎么做。我们探索的很多的领域,知道怎么做的人并不多。而如果给一定的时间,能够找到怎么做的人,还是可以找到的。

加分项?

有一些非常不科学,但是经过过去20年的经验,经常会和我们要找的人正相关的小细节,不妨在这里告诉大家一下。如果你是中间的任何一个,不妨提醒我们注意。

  1. 小学或者更早开始编程

  2. 自己写过一个完全自娱自乐的程序

  3. 搞过树莓派,Arduino, ESP-8266啥的

  4. 本科不是计算机相关专业但是喜欢写程序

  5. 自己写blog,公众号,或者录视频号

  6. 对于铁路,飞机,集装箱等等是怎么运作感兴趣的

  7. 因为另一半来上海所以开始找上海的机会的(不要问为什么,就是有这么一条)

工作时间是怎么样的?

我们不要求严格的工作时间,痛恨 996 的工作制,但我们同时认可 “ 做出足够牛的产品,让自己有足够快的成长需要付出超出常人的努力” 的价值观。

要求

招聘不写要求似乎是耍耍流氓,这是要求

  1. 工作地点在上海。暂时还没有支持远程办公的能力

  2. 对自己的学习能力有信心,愿意接受挑战

  3. 愿意在面试的时候写几行程序,不会很难,但是需要写,而且我们的面试题中间的代码部分从来是可以使用任意熟悉的编程语言

  4. 对技术有无法自拔的热爱

  5. 真的想清楚了,愿意一起在技术的领域玩耍,并且放弃所谓的程序员的职业阶梯

如何投递简历?参看这一篇文章:来一起工作,搞点好玩的,怎么样?

也可以加群咨询

技术领域那些唬人の名词 之 大数据

周六聚会里大家在畅谈人工智能之余,随便聊起了大数据

我不由感慨,这么多年了,大家依然用大数据这个词来唬人。

其实很多技术的基本原理很简单,但是有人就是喜欢用大的词,去描述自己也不懂的东西,从而彰显自己的高深。

大数据原本指数据

其实,大数据就是数据。数据再大也是数据。很多人分不清大数据和数据,把很多原本该用数据的地方,错用了大数据这个词。比如:“大数据表明。。。。” 其实应该写为 “数据表明。。。。”

而我们常说的大数据,其实不是数据,而是一种新的能力,可以处理很比一台计算机可以存储和处理的多得多的数据。这就跟油页岩革命,说到底不是油页岩这种物质的革命,而是把原本不能产油的油页岩变成可以开采的技术革命。

数据大到一定程度需要新的方法处理

小规模的数据,传统的方式就可以处理,比如说一个门店一天的销售数据,拿个Excel,数据就装进去了,做个求和,平均值,画个图什么的,方便得很。

但是,所有门店过去10年的销售数据就大了,,一个网站一天的访问日志更大,一个APP采集的所有数据就更加大,一个电商网站的所有的用户的点击数据大得不得了。Excel肯定是不够了,用传统的编程的方式也搞不定了。

用传统的方式搞不定,所以要用新的方法,这种方法以及相关的行业,就是我们常常用大数据这个词指代的。

Hadoop的诞生

这种技术最早的开源的项目叫做 Hadoop ,Hadoop 之于大数据行业就如同 Apache 服务器之于互联网行业, Elastic Search之于搜索一样。它们的共同点在于,它们的出现催生出一个行业的诞生,虽然它出现之前可以用复杂的方式实现,它之后还有很多不同的版本的软件迭代,但最初把一种思想大众化的,就是那一款开源软件。

那 Hadoop 怎么处理那么大的数据呢?

这让我想起了一个故事,就是我第一次见到我的朋友阳萌的时候,他还在 Google 做实习生,他跟我讲了一个故事,大概的意思就是,他想知道最长的一个中文句子是什么?(具体的问题忘了,大概就是类似这样的一个问题)

这个问题对于小数据(就是一台电脑里面能装得下的数据),相对比较简单,就是这么个代码:

max_len = 0for sentence in sentences:   sent_len = len(sentence)   if sent_len > max_len:     max_len = len(sentences) print(max_len) 

基本的意思就是,把每个句子都拿出来,看一下长度,如果这个长度比已知的长,就把最长的长度改成这个长度,然后再看下一个句子,直到把所有的句子都看完。

对于几百行,哪怕几百万行,这么做都问题不大。但是,如果要在 Google 能搜索到的所有的句子上都跑一遍,那可是几万亿个句子都不止吧。这怎么搞?怎么存储这些数据?怎么跨计算机的处理这些数据?又怎么最终得到一个长度?

Google 牛的地方,就是有一整套基础架构,可以让哪怕一个实习生,轻松的完成这个任务。他在写程序的时候,代码跟上面差不多,但是在运行的时候,有一套架构把这段代码分布在几万台服务器上,然后日夜不停的跑几天,就可以把所有的数据都遍历一遍,最终找出结果。我当年非常敬仰 Google 这样的可以对其员工赋能的公司。

MapReduce

这种把工作分给几万台服务器的过程叫做 映射(Map),把每个服务器的结果都收集起来得到最终结果的过程叫做 化简(Reduce)。MapReduce 这个神器当年是 Google 独有的,所以才能处理那么大的搜索数据。Google 在 2004  年通过一篇论文把这个过程公开了。

后来,Hadoop 这样的开源工具诞生。它一下子让任何小公司都有了类似 Google 的能力, 而有这个能力就可以做很多以前做不了的事情。它帮助把海量的数据分布放在无数台计算机上,然后对于这些海量的数据用遍历的方法分布的运行类似的简单的操作,并且把结果从无数的电脑上收集回来,形成最终的结果。

可以处理远超过一台电脑存储和处理的数据的能力,叫做大数据能力;做这件事情的行业,叫做大数据行业 。。有了这种处理能力, 我们才能面对着海量的数据,问一些对于小数据很容易回答的问题。

现在这个时代,我们大多数的IT架构都在云上了,所以数据天然就会很大,几乎没有什么只靠一台电脑就可以处理得过来的数据,那么整个 IT 行业就变成是架构在 大数据 之上的行业。

周六我们所提及的所谓四大趋势,是 人工智能大数据云计算,和物联网。希望我们大多数的人都能真的哪怕最简单的了解这四样东西到底说的是啥,并且努力在自己真的了解之前不要过度使用这些名字。

注:本周六,继续上海人工智能聚会,这是第四次聚会。本次聚会的主题将会是:硬核的人工智能

这次希望最主要希望面向技术人员,大家围绕着最近大家使用过的惊为天人的模型进行讨论。比如我会希望分享 Wav2Lip 模型。希望技术的同学带着一些模型过来相互分享。时间是周六5月29日下午2点半到4点半,地点晚些在群里面公布。

延展阅读

面试题的背后藏着的问题是什么?

最近面试比较多,所以想跟大家分享这些面试题背后到底藏着什么,为什么会有这种看起来不着边际的面试题。

你的兴趣?

面试官真的对你的兴趣感兴趣吗?并不见得。如果因为你喜欢篮球,而他/她不喜欢篮球,而毙掉你,那肯定是不靠谱的面试官。但为什么问兴趣呢?

我一般对于一个人的了解会从这个角度去问问题。兴趣是什么都不重要,重要的是找到一个面试者号称自己真心喜欢的领域,然后努力去了解他/她在这个领域的深入程度

你喜欢篮球?

很好。是喜欢看篮球赛还是喜欢打篮球?

喜欢看?那么跟我讲讲最近看的一场比赛吧?跟我讲讲你最喜欢的篮球明星的一生?

喜欢打篮球,好,对于一个初学篮球的人,你觉得他怎么入门?

顺着一个对方最熟悉的领域,面试官可以轻松的了解一个人对于他最喜欢的领域的熟悉程度,钻研程度,从而可以推论他/她在其他的领域的风格和深入程度。

兴趣爱好是一个相对比较独立的空间,较少受外界环境影响,更容易看出一个人在自然状态下的风格。如果对于自己喜欢的东西都一知半解,对于自己必须去了解的东西的熟悉程度可想而知。

你最拿手的是什么技术?

对于技术领域也一样,没有经验的面试官会准备一些自己熟悉的领域的题,然后一股脑的像考试一样扔出来,看对方能答对几道?

这对被面试者不公平,也很难真的考察出一个人能力。这样的结果,不仅对于被面试者,就算是对于面试官来说,都是一个碰运气的过程,就看被面试者和面试官的能力的交集有多大了。

而有经验的面试官会问对方最熟悉,最擅长的领域是哪一个?然后在对方最熟悉的领域开始探索。比如,

哦。你对前端熟悉。那最熟悉的是什么框架?
Vue.js 。
好的。我对Vue并不熟悉,但你能不能跟我介绍一下这个框架?

经常从面试者最熟悉的领域开始,你可以把他宣称的掌握程度和实际表现的程度之间做一个比值,然后用这个比值对简历以及前面面试中谈及的能力做同比的增加或者减少,就会更加趋向于这个人的真实水平。

毕竟,熟练掌握,精通,或者入门,这些词在不同的人脑子里的定义是完全不一样的。我曾经也遇到过多次简历里面提及对于一些领域是入门水平的,稍微问一下,才发现已经有了相当深入的了解,那对于他的精通的领域,可以加上一个比一般的精通更精通的系数。

把自己闪光的地方呈现出来是面试者的职责,而在众多不起眼的词汇后面的那块宝玉,也是面试者的职责

跟我描述一下你的大学校园的构造?

据说这是拉哥常用的一道面试题。如果一个人可以用寥寥数语描述得清学校的建筑的方位,基本上算是话说得清楚,会从对方角度考虑问题;如果讲了半天,一会儿“这边”,一会儿“那边”的,听来听去,也无法在脑子里面建构出来一张地图,那就基本上合作上会有问题。

人的能力完全相通。中文说不明白,英文也说不明白。学校讲不清楚,更复杂抽象的东西更讲不清楚。一个人真正的能力不在于最难的部分是否掌握,还在于是否能给一个不太懂的人讲清楚一件事情。

上海有多少辆出租车?

这是过去十几年最经典的一道发散题了,基本上成了各大公司的标配问题。这种问题的答案其实完全不重要,重要的是你能走过几个岔路口。

第一个岔路口,就是回答不知道的。很多人直接放弃,直接拒绝,甚至会被激怒,认为这样的问题毫无道理,完全不可答。如果选择放弃,我对这个人也放弃了。

第二个岔路口,就是有思路和没有思路的区别。有的人就说是 1 百万辆。为什么?不知道,感觉吧、或许吧、应该吧。。。。没有过程,没有逻辑,没有解决问题的方法,就是一个字:“蒙”。基本上也没戏。

第三个岔路口,是推理的过程是否基本合理。比如对于一些常识性的数量级是否有大的出入?比如上海市的人口到底是百万级还是千万级还是亿级。在错了一个数量级也问题不大,最主要看当有一些提醒的时候的反应。是否会做些修正?

第四个岔路口,就是是否会多个角度的判断,用不同的方验证结果,或者对于已经做出的判断进一步修正。是否能在完全没有更多的信息的情况下,通过自身迭代,不断达到更靠谱一点的结果。

总之,这样的题,没有人会关注最终的那个数字,而是作为一个游戏一样,看一个人是如何思维的,如何想问题,如何估计,如何在没有成熟的条件的前提下解决问题的。这个过程更重要。这种类型的题根本不需要准备,也无从准备,从天上有多少飞机,到中国有多少辆挖土机,基本上任何问题都可以问,也任何问题都可以拿来分析和回答。

大家还喜欢用什么有趣的面试题呢?

SHAI 上海人工智能 5月29日聚会预告

上海 AI 聚会 ( SHAI )第三场将在5月29日进行。

地点:上海徐汇区番禺路951号交大书院二楼

时间:2021年5月29日 下午2:30 – 4:30 

主题:Show Me the Code 专场

参加者:这一次侧重于人工智能的技术的领域(甚至是代码领域),非常欢迎上海的技术领域的朋友参加。欢迎大家展示比较有心得的代码或者模型。也欢迎非技术的朋友围观。

抛砖引玉,我想这次继续上一次我们对于人工智能到底是怎么认识0-9是个数字的问题,给大家看一些代码(其实不多,和新的也就7-8行而已),跑一个演示。也希望有其他的参与者可以来跟大家做一些人工智能的普及工作。

参加方式:不需要报名,到时候直接过来就好,随时加入,随时离开。当然,也不保证一定有位置。

联系:可以加入如下活动快闪群,获得活动信息。本快闪群会在活动结束的当晚公布下一次的活动群,并且本群自动解散。

场地:

感谢交大书院的支持,本次聚会的场地开始有了阶梯的作为以及投影仪。如果大家有什么需要展示的,欢迎带笔记本电脑过来。

关于这个聚会的问答
5月22日活动回顾

扩展阅读

我喜欢编程,喜欢写作,还喜欢画画

为了庆祝周五,发几幅去年画的钢笔画,轻松一下。

维璟中心的星巴克。

长乐路常熟路口的咖啡馆,那天,大雨漂泊。。。

即将拆掉的小南门。

书影楼的仓库。在小南门即将拆除的街区里面藏着一片明清建筑,我在里面找到了一个仓库一样堆着杂物的地方一边躲雨一边画画,雨还从屋顶的瓦的细小缝隙里面飘到空气里,落在画本上。

虹桥火车站附近圆圆的楼

香港蜗居里面乱得不得了的角落

一位朋友在一个关于香港住房拥挤的文章里面看到了如下的照片,然后挑战我能不能画出来。我正好开始学习完全依赖眼睛而忽略脑子的状态画画,结果居然给画出来了。尤其喜欢我黑得那么纯粹的锅和里面的反光的油。

拼在一起就是这样的了:

编程,写作,画画三件事情实在太像了。

Paul Graham所写的《黑客与画家》这本书基本上就在描述这三者的相似之处。用他的话来说,在所有的不同种类的人中间,这两种人是最相像的:他们都是造者 ( Maker )。

这的确解释了为什么我会同时喜欢这三件看似不相关的事情。

尤其是当绘画,编程,还有写作中间都会百试不爽的进入心流状态,就是思维彻底消失,只有觉知在的状态,我是相当的享受的。

注:《黑客和画家》

http://www.paulgraham.com/hp.html

我总算知道为什么出租车把我放错了地方

这件事已经过去两年了,我也憋在家里快两年了。

但我忽然想起来,我错怪了那个古巴的出租车司机。

曾经,某个晚上,我打车从哈瓦那的旧城到新城。

目的地在 E 街 (Calle E) 上。 

我操着临时抱佛脚的西班牙语,跟不懂英文的出租车司机说,

我要到 Calle E 去。
¿Quiero ir a la calle E, por favor?

结果出租车司机一溜烟的把我拉到了 街 ( Calle I ) 就扔下了。

当我在凄风冷雨中,搞清楚我要去的 E街 还在 500米 之外的时候,心里把司机数落了好多遍。

这件事情算是旅途中众多的小惊诧中不算很大的一件,很快就忘记了。直到几天前,忽然恍然大悟,原来我错怪他了,是我自己的问题。我的西班牙语发音错了。而这个错误又来自于如此有趣的巧合。

原来,西班牙语的字母发音和汉语拼音一样(更准确的说是汉语拼音使用的是拉丁发音方案),字母 E 发作 e (就如同 “哀” 一样), 而字母 I 发作 yi (如同 “衣” 一样)。

于是,我就闹笑话了,字母 EI 的发音,和英语的正好反过来了。我想去 Calle E( 尬耶哀),被我读成了 Calle I (尬耶衣),出租车司机根据我标准的西班牙语,把我送到了 Calle I 。

好巧。

我也知道我为什么想起这事儿来。

是因为,我思念旅行了。

文章推荐

推荐Mellisa的这一篇:我的思考 – 面对不确定性(2),提及的“目标内化”的方法论很有道理。同时推荐四位背景相似的清华女生的公众号:

有很多安静但深刻的思考。

输出是最好的学习

我很喜欢发现什么有趣的事情就写出来,而且好为人师,动不动就拉人过来,“我给你出一道题!” 然后看着对方抓耳挠腮的,再手舞足蹈的跟人家讲一遍,以至于和我比较亲近的人都对我避之不及,生怕被抓住当学生。

最近不久,在留言里面我学到了一个概念,叫做费曼学习法,原来提的就是这种通过输出增强学习的方式。怪不得,我这么喜欢显摆无用的知识,仅仅是因为这样可以帮助自己理解,不知不觉的学习变快。

我喜欢写blog,或者其他形式的文章的原因,也是因为,只有当自己准备写出来的时候,就如同疏通一个管道,当思路走到一个地方,才发现那里其实是个结,并不通畅,但是为了行文可以继续,就需要停一下,把那个结打开。输出是一个测试个过程,梳理自己脑子里的阻塞环节

这有点像画画。当我看到一幅景物的时候,无论我们看多久,多胸有成竹的感觉自己已经观察的够仔细,一旦落笔,就发现原来自己从来没有真的把注意力放在那个局部:两片叶子到底是如何连接在一起的,枝叉到底怎么交织的。这个时候你再去观察,再画,从而把这个细节上打一个对勾,这才是真的看到了。否则,这个信息或许存在于视网膜上,却从来没有被神经网络的任何的卷积核做特征提取,从而不出现在神经网络的中后层中。(这句话如果没有学过神经网络,可以忽略)

费曼学习法还提到了,不要用大词儿。这个太重要了。

很多人喜欢用高深的词掩盖自己的不懂,并且用更多的难懂的词去解释这个词,直到询问的人放弃。知道一个概念的名字,和了解一个概念是有本质区别的。尤其在新词,大词,抽象词满天飞的时候,大家似乎并不在乎一个词到底,到底,到底是什么意思,但这居然不会影响大家使用。这倒也很奇妙。就如前几天说到的大数据一样(技术领域那些唬人的名词 之 大数据)。词就像积木,小词就是小一点的积木。当我们演练给一个8岁的孩子讲明白的时候,再也不能把自己的无知藏在大词儿之下,只好把这个概念打开了,用更小的积木去拼起来。

所以,我一直把自己当作自己的第一读者,甚至不介意是唯一读者。当一篇文章诞生的时候,其实它的作用就已经达到了。如果恰巧还有第二人看到并且受点帮助,那属于额外的意外之喜。

延展阅读

6月5日周六的人工智能聚会继续举行

王建硕 

瓦力的花园。自言自语的地方。
公众号    

上海 AI 聚会 ( SHAI )第五场将在6月5日进行。

地点:上海徐汇区番禺路951号交大书院二楼

时间:2021年6月5日 下午2:30 – 4:30 

主题:人工智能领域的需求分享

参加者:任何对人工智能感兴趣的朋友多欢迎参加,也欢迎转发给朋友。

参加方式:不需要报名,到时候直接过来就好,随时加入,随时离开。当然,也不保证一定有位置。

联系:可以加入如下活动快闪群,获得活动信息。本快闪群会在活动结束的当晚公布下一次的活动群,并且本群自动解散。

场地:

感谢交大书院的支持,本次聚会的场地开始有了阶梯的作为以及投影仪。如果大家有什么需要展示的,欢迎带笔记本电脑过来。

关于这个聚会的问答
5月29日活动回顾

扩展阅读