Zhao Li https://livc.io 2017-08-15T04:02:13+00:00 livc@outlook.com 汉字屋论证与人工智能哲学 https://livc.io/192 2017-07-03T00:00:00+00:00 Zhao Li https://livc.io/192 1950 年图灵提出了著名的“图灵测试”,成为“人工智能之父”,以图灵为原型的电影《模仿游戏》也被搬上荧幕。“图灵测试“是人工智能哲学方面第一个严肃的提案,因为”智能“这一概念并没有一个明确的定义。

图灵去世两年后,在 1956 年美国达特矛斯学院的会议上,麦卡锡提出了“人工智能”这一概念。与会的几位元老(麦卡锡、马文·闵斯基司马贺(赫伯特·西蒙)、艾伦·纽厄尔)之后全部获得图灵奖,其中司马贺同时获得了图灵奖和诺贝尔经济学奖,闵斯基对哲学也非常有研究。会议上讨论的内容有自然语言处理、人工神经元网络、计算理论以及机器的创造性等非常前沿的课题。这些人随后在各个高校内建立起研究中心,引领着人工智能几十年的研究方向。


“人工智能”命名者 麦卡锡

美国社会涌现出很多在多个学科都很有造诣的学者,比如丹尼尔·丹尼特,既是哲学家又是认知学家,对计算机也非常有研究。这类学者在交叉学科之间的贡献使得美国社会的研究非常有活力。在我的读书笔记《硅谷之谜》中也介绍了跨界人才对美国社会的影响力。然而国内社会对此的宽容和认识还远远不够,比如前几天在听罗永浩和罗振宇的访谈节目,期间罗永浩就提起他在创业初期,很多人质疑“一个当老师的怎么可能做好手机?”其实学会欣赏和接受跨界、跨学科人才,并努力成为全才、通才,会对很多研究和思想带来启发。

话题稍扯远了,那么人工智能是怎么和哲学产生关系的?图灵的问题“机器会思考吗”的答案是什么?为什么人工智能科学需要哲学的参与?

这就要从“智能”的定义说起。

人工智能与哲学

定义分歧

什么是”智能“?

在“图灵测试”被提出后,对于”智能“有两种比较普遍的认识。

第一种可以理解为“白盒派”,他们认为“智能”就是对于所有可能的情况,都有应对的方法。这有点像诸葛亮交给赵云的三个锦囊,告诉他什么时候打开第几个,整体看起来类似一个流程图。

第二种对“智能”的理解为“黑盒派”,他们认为人工智能需要模拟人工大脑,因此可以不管人脑在想什么,把输入和输出的映射关系对应好就可以了。

因此,人工智能学科对于“智能”的定义还是有比较大的分歧的,这种分歧几乎和哲学有的一拼,因为哲学里也确实存在着“哲学应该研究什么”的重大分歧。这是人工智能可以和哲学交流的一个重要道理。

见仁见智

在物理等自然学科中,我们可以通过做实验来验证一个猜想是否正确,一个概念是否存在。比如“以太理论”通过实验被科学界抛弃,伽利略比萨斜塔实验验证自由落体等等。在这些学科中,可以通过一个大家都信服的实验证据来证明某一个假设是错的。然而在人工智能学科中,不做实验只做试验,从这一点上看它更像是工科,而不是理科。

一个人工智能系统是否智能,是否满足人们需求,这是一个仁者见仁智者见智的问题,是一个社会学标准和人类学标准的事情,并没有客观的标准或绝对的答案。这里面的思辨成分和哲学很像。举个例子,最近看见有人在群里问“百度的内容推荐也挺不错的为啥干不过头条?”,但是他可能不知道百度首页在内网几乎天天被骂……

尚未成熟

人工智能这门学科至今也才只有六十岁,它的发展还很不成熟,各路研究彼此竞争,各有优势,这在一定程度上又扩大了哲学在其中的表演舞台。因为如果一个学科非常成熟,大家没有什么内部争论,那么哲学家插话的机会很少。只要他们乱了,哲学家就会浑水摸鱼,乱中取胜。

与“图灵测试”的家喻户晓相比,哲学家塞尔提出的“汉字屋实验”倒是了解的人比较少。他认为既是计算机通过了图灵测试,也是依然没有智能的,不管你是真比我强还是看起来比我强,我依然有理由认为你没有我强。这样他自认为一劳永逸地终结了这个话题,然而很多人纷纷跳出来反驳他的论证。

在了解汉字屋实验之间,我们需要先了解一个概念前提,就是强 AI 和弱 AI 的区分。

强人工智能与弱人工智能

  • 强人工智能:计算机不仅仅是人们用来研究心灵的一种工具,被恰当编程的计算机本身就是一个心灵,具有心智。如果直观上认为计算机只是个工具,那是因为它没有被恰当地编程,只要它被恰当地编程,那么它就具有心智。
  • 弱人工智能:计算机只能模拟人类的心智,本身并不是人类心智的组成部分。

塞尔认为弱 AI 是正确的,强 AI 是错的

那么他的论证框架是什么呢?他的大前提是:每一种真正的心灵或智能都必须有能力在符号与对象之间建立起一种语义关系。比如知道红色是红色,绿色是绿色,水是那种能喝的东西。小前提是这种符号和对象之间的语义关系无法通过任何一台被恰当编程的计算机所获取。结论:计算机本身不可能具有真正的心灵,因此强 AI 无法实现。

塞尔的汉字屋实验就是用来证明小前提是对的。汉字屋实验是一个“思想实验”,是通过使用想象力去进行的实验,所做的都是在现实中无法做到或未做到的实验。著名的思想实验是爱因斯坦的“双生子佯谬”和莱布尼茨的“磨坊论证”。

汉字屋实验

汉字屋实验的初始条件是,一个对汉语一窍不通,只说英语的人关在一间只有一个开口的封闭房间中。房间里有一本用英文写成的规则书,指示该如何处理收到的汉语讯息及如何以汉语相应地回复,比如说写着“收到‘你吃了吗’的卡片就把 899 号卡片递回去,899 号卡片上写着‘我吃过了,那你呢’”。房外的人不断向房间内递进用中文写成的问题。房内的人便按照规则书的说明,查找到合适的指示,将相应的中文字符组合成对问题的解答,并将答案递出房间。

最后,汉字屋外面的人分辨不出屋内的人是否真的懂汉语。那么屋内的人算不算真的懂汉语了呢?

塞尔认为显然屋内的人不懂汉语。尽管房里的人可以以假乱真,让房外的人以为他确确实实说汉语,但是他却压根不懂汉语,因为他不可能通过完成这种输入和输出的传递工作理解任何一个汉语词汇。所以就算将来计算机真的聪明到这个地步了,它也不可能具有智能。

塞尔预设,汉字屋系统和计算机系统有一个很强的对应关系。在上述过程中,房外人的角色相当于程序员,房中人相当于计算机,而规则书则相当于计算机程序:每当房外人给出一个输入,房内的人便依照手册给出一个答复(输出)。而正如房中人不可能通过手册理解中文一样,计算机也不可能通过程序来获得理解力。既然计算机没有理解能力,所谓“计算机有智能”便更无从谈起了。计算机即使能够恰当地应答所有的人类语言提出的问题,它也没有办法真正地理解人类的语言。

塞尔的汉字屋实验从某种程度上是图灵测试的衍生版本,图灵认为计算机能否通过图灵测试是计算机是否具有智能的关键指标,而塞尔的观点相反,他认为即使通过了关于汉语的汉字屋实验,计算机依然没有智能。

但是这个论证并没有说服大多数的哲学家,那么大家是怎么反驳他的呢?

1. 他心应答

他心应答:假如我要判断你塞尔这个人懂不懂英语,如果按照汉字屋的论证,我不是你,我怎么知道你是否真的懂英语?你给我的只是那些看似懂英语的表现,有一种可能你根本不懂英语,在你脑中有一个小人接受了这些信息,按照一个手册(规则书)知道应该把哪些英文输出,让我误以为你懂英文。

按照这个思路,可以用汉字屋论证去怀疑身边任何一个人是否懂任何一种语言,这和塞尔论证的初衷是不一样的。塞尔论证的初衷是为了显示人和机器不一样,人比机器要高明,但是这个论证实际上把人也给灭掉了,因此论证失败。

正因为我们没有人愿意接受这样一种很疯狂的观点,认为人本身都是不懂任何语言的,所以我们用来捍卫人的标准也可以用来捍卫机器:既然我们判断人是否懂英语的标准是判断是不是有一个恰当的输入输出关系,那么我们用来判断机器是否懂语言的标准也应该是这样。

2.以偏概全

第二种思路认为,我承认汉字屋中的人是不懂汉语的,但是类比的计算机系统不仅仅只屋内的人,还包括了规则书,和规则书上的文字等等,这些构成了一个系统,整个系统是懂汉语的。按照这个思路,塞尔犯了“以偏概全”的问题,不能因为整个系统中的一个成员不懂汉语就推出整个系统不懂汉语。

上述两种思路都首先认可了塞尔所说的汉字屋系统的有效性,及汉字屋系统和计算机系统之间的同构关系,整个论证才得以进行,然后加以辩驳。但有的人认为,塞尔在很根本的问题上就开始错了。

3.自我矛盾

塞尔原始设想中有三个预设:

  1. 汉字屋系统与计算机系统之间是同构的。
  2. 即使整个汉字屋系统能够通过汉语测试,汉字屋中的人也不懂汉语。
  3. 我们不能从系统的外部行为特征中判断其内部是否具有智能。

实际上,这三点之间存在矛盾,我们可以使用反证法来论证:

  1. 汉字屋系统和计算机系统之间存在着实质性的可类比关系。
  2. 汉字屋论证的有效性,必须以 1 为必要前提。
  3. 汉字屋论证的一个核心目标是,一个系统在外部行为上具有语言智能,并不能代表其真的具有智能(即我们不能从系统的外部行为特征中判断其内部是否具有智能)。
  4. 由于1,汉字屋中规则书对应于计算机系统中的程序。
  5. 假设系统硬件条件不变的情况下,AI 系统智能程度的高下关键在于如何编写程序,不执行任何程序的纯硬件没有任何智能。
  6. 由于 4 和 5 ,整个汉字屋系统通过汉语测试的能力的高下取决于规则书的编制水平,而屋中的人本身是谈不上智能的,他必须要执行某种程序才能体现出这种程序的智能。
  7. 即使整个汉字屋系统能够通过汉语测试,汉字屋中的人也不懂汉语。

那么为何认为 7 是正确的呢?逻辑上只有两种可能性(关键的一步):

8A :屋内的人具有某种内部思考能力,以确定自己不懂汉语。这是塞尔会认为 7 的第一个道理。

8B:我们可以从屋内人的外部行为中确定他不懂汉语。

8A 和 8B 分别是从内外两个视角分析,因此含盖了所有可能性。

9.若 8A 是真的,那和 6 矛盾,因为屋内人的内部思考能力的存在就等于说他可以执行一个独立于规则书的程序。

10.若 8B 是真的,则和 3 矛盾。

11.因此塞尔没有理由说明 7 是正确的,这导致了整个汉字屋论证的崩溃。

12.总之,为了维护“屋中人也不懂汉语”这个步骤的有效性,我们要么否定汉字屋系统和计算机系统之间的类比的有效性,要么就要放弃整个论证的反行为主义目标。无论如何,这都会导致整个汉字屋论证的崩溃

因此,塞尔的汉字屋类比是不太成功的,他过多地把自己的直觉牵扯到了这个类比里面,没有看清楚这种类比是有缺陷性的。

那么,塞尔的汉字屋实验到底有没有驳倒了图灵测试呢?这个问题和其他许多哲学问题一样,仁者见仁,智者见智。总之,汉字屋实验吸引了世界上最优秀的哲学家们的讨论和思考,对推动哲学和人工智能科学的发展有着不可磨灭的贡献。

那么你的观点呢?

Reference

复旦大学公开课:人工智能哲学

]]>
Image Caption 评价标准——ROUGE https://livc.io/191 2017-06-18T00:00:00+00:00 Zhao Li https://livc.io/191 符号定义请参考 https://livc.io/190#符号定义

ROUGE

ROUGE 是用来评估文本摘要算法的标准集合。其中有三个评价标准分别是:

ROUGE-N

是第一个 ROUGE 标准,给定候选(candidate)句子,对于所有的参考(reference)摘要,它计算了一个简单的 -gram 召回:

其实它和 BLEU 挺像的,很好理解。

ROUGE-L

是基于最长公共子序列(LCS)的度量方法。LCS 是同时出现在两个句子中且顺序相同的一组词。将两个句子的 LCS 长度记为 通过计算 F-measure 来生成:

LCS 的召回率为:

准确率为:

其中, 一般设置为 1.2。由于使用 LCS 计算,不需要具体说明 -gram。

ROUGE-S

使用跳跃二元组(skip bi-gram),而不是 LCS 或 -gram。跳跃二元组是句子中的有序单词对。和 LCS 相似,单词对的两个单词可以不连续。比如说一个句子有 4 个单词,那么就会有个跳跃二元组。

这里同样使用精确度和召回率来计算 F-measure 分数,假如 是句子 的跳跃二元组数量,那么 计算为:

跳跃二元组能获取长句子的结构,实际计算时单词间长度最多为 4。

References

]]>
Image Caption 评价标准——BLEU https://livc.io/190 2017-06-12T00:00:00+00:00 Zhao Li https://livc.io/190 在 Image Caption 任务中,几种评价算法被用来度量预测结果(candidate caption)与 label (reference captions)的差异,这个系列主要介绍这几种评价标准。

符号定义

  • 为图像
  • candidate caption 为模型预测结果句子
  • reference captions 为训练图片的 label,也就是需要学习的句子(一幅图片被标注了多个句子)
  • 图像语句使用 -gram 来表示,一个 -gram 是一个或多个(其实就是 n 个)有序单词的集合,我们只谈论 -gram 从 1 个单词到 4 个单词的情况。
  • 为一个 -gram 在 reference caption 中出现的次数
  • 为一个 -gram 在 candidate caption 中出现的次数

BLEU

BLEU 是一种在机器翻译中度量 candidate 句子和 reference 句子间 -gram 的相关性的方法。我们先给出数学定义,然后根据一个例子来看看 BLEU 具体是如何工作的。

它计算整个语料库中 -gram 精度:

其中, 为这组 -gram 的索引,

引入惩罚值(brevity penalty)为:

其中, 为候选句子 的总长度, 为参考句子长度(当有多个参考句子时选择长度最接近候选句子长度的那个)。

最终计算 BLUE 分数,它实际上是 -gram 精度的加权几何平均:

其中, 并且对于所有的 是常量。

随着 的增加,BLEU 在语料库层级上的匹配效果较好,在句子层级上的匹配效果越来越差。因此 BLEU 在评估独立句子时表现糟糕。

接下来我们根据维基百科上的例子看一下 BLEU 是如何工作的,这个例子展示了糟糕的预测结果却得到了很高的一元组(unigram)精度分数。

表中第一行为预测结果,下面两行为训练集中的图片描述。候选句子的七个单词都出现在参考句子中,所以候选句子的一元组精度为

其中, 为候选句子中的单词出现在参考句子中的个数, 是候选句子的单词总数。所以可以看到,这是一个很完美的得分,但是实际的效果非常差。

BLEU 的修改非常直接,对于候选句子中的每个单词,算法计算它出现在每个参考句子中的最大次数, 。比如说,在上面的例子中,the 在参考句子 1 中出现了 2 次,在参考句子2 中出现了 1 次,所以

对于候选句子,记录每个单词的出现次数 ,比如对于 the,值为 7,那么 的值为 ,因此

实际上,使用单个单词(unigram)来比较并不理想,所以 BLEU 使用 -gram 来计算。

BLEU 在短句子上表现的精度非常高,假如上例中的候选句子为

the cat

而参考句子不变,那么。如果是二元组(bigram)结果同样为 1。

为了解决很短的句子产生很高的分数这个问题,BLEU 引入惩罚值(brevity penalty),即 。当 时,惩罚生效,具体计算如前面的的式子。

References

]]>
使用 command 命令暂时忽视 alias https://livc.io/189 2017-06-03T00:00:00+00:00 Zhao Li https://livc.io/189 我们经常会为某个命令设置 alias,比如我在 zsh 中设置了

alias diff="icdiff"

(icdiff 是一个加强版的 diff)

➜  which diff
diff: aliased to icdiff
➜  diff
Usage: icdiff [options] left_file right_file

Show differences between files in a two column view.

Options:
  --version             show program's version number and exit
……

如果想暂时忽略 alias,使用系统自带的 diff,则可以在前面加上 command 命令:

command diff --help
Usage: diff [OPTION]... FILES
Compare files line by line.

  -i  --ignore-case  Ignore case differences in file contents.
  --ignore-file-name-case  Ignore case when comparing file names.
……

Reference

  • https://www.cyberciti.biz/faq/ignore-shell-aliases-functions-when-running-command/
]]>
【MacOS+Zsh】如何快捷地在终端打开当前 Finder 目录 https://livc.io/188 2017-05-27T00:00:00+00:00 Zhao Li https://livc.io/188 首先添加 zsh 插件 osx,如图:

然后 source ~/.zshrc 重启下 shell,

最后输入命令 cdf,这时终端会切换到当前 Finder 的路径。

]]>
终端中获取文件完整路径的方法 https://livc.io/187 2017-05-23T00:00:00+00:00 Zhao Li https://livc.io/187 1. pwd

这种方法适用于 bash,不适用 zsh,其他 shell 没有试过。

bash-3.2$ pwd file.txt
/Users/baidu/Desktop/file.txt

pwd 输出结果是该文件的路径,但并不包含这个文件名。

Linux 上可以使用 readlink

➜  readlink -f file.txt
/Users/baidu/Desktop/file.txt

在 Mac OS 上需要

➜  brew install coreutils
➜  greadlink -f file.txt
/Users/baidu/Desktop/file.txt

3. realpath

➜  realpath file.txt
/Users/baidu/Desktop/file.txt

vim 中显示绝对路径

先按 1,再按 ctrl + g。

References

  • https://stackoverflow.com/questions/3915040/bash-fish-command-to-print-absolute-path-to-a-file
  • https://stackoverflow.com/questions/5265702/how-to-get-full-path-of-a-file
]]>
硅谷之谜,这篇文章就够了 https://livc.io/186 2017-05-10T00:00:00+00:00 Zhao Li https://livc.io/186 硅谷孕育出很多伟大的公司,吴军在《硅谷之谜》中深度剖析了硅谷成功的秘诀。读后发现,书中内容实属冗余过多,很多相同的内容在不同章节翻来覆去地重复介绍,因此本文在对此书标注的基础上,直接回答“硅谷之谜”到底是什么。

宛若似真的分析

很多媒体在分析硅谷时都做了一定的取舍和缩放,因此目前有很多关于硅谷流行的各种说法,它们有的有道理但并不完备;有些则与事实完全相反。

气候说

硅谷地区属于地中海式气候,只有旱季和雨季,四季如春,非常舒适宜居。全球只有五个面积不大的地区具有这种气候,它们总共只占地球陆地面积的 2%。

好天气会让人舒畅,但光用气候来解释硅谷的成功显然缺乏说服力。在美国,气候好的地区如弗罗里达、夏威夷的发达程度远远低于气候恶劣的纽约地区和新英格兰地区,与硅谷气候相差无几的加州南部洛杉矶和圣迭戈地区,也有很多好大学但并未出现硅谷。

因此,宜人的气候有利于吸引人才移民,但对于新产业的发展,气候的重要性或许并没有想象的那么大。

斯坦福之说

“斯坦福之说”认为,硅谷是靠斯坦福大学不断孵化新公司而维持繁荣的。但从硅谷诞生(20 世纪 50 年代)之后的相当长的一段时间里,斯坦福(及其毕业生)对硅谷工业的贡献并没有那么大,甚至比不上他的邻居伯克利。直到硅谷的第二个发展阶段(20 世纪 80 年代之后),大量与互联网有关的公司涌现出来(思科、Google、SnapChat 等),在这 20 多年里,斯坦福人对硅谷神话的延续起到了至关重要的作用。

斯坦福对早期硅谷的形成真正有帮助的是提供了硅谷发展所需要的土地。二者关系更多的是相辅相成,与其说是斯坦福造就了硅谷,不如说是硅谷造就了斯坦福,因为斯坦福的腾飞是在硅谷成立之后。

同时,波士顿周边地区也是好大学的聚集地,但并没有产生高效率的科技园。

风险投资说

从风险投资的起源和早期发展来看,美国东部的风险投资比硅谷发展更早,规模更大,硅谷只是早期风险投资人看中的多个地区之一。

事实上,倒是硅谷的崛起帮助了风险投资事业的发展,因为很多海外风投公司在硅谷的成就远远超过了本土(如日本软银和俄罗斯的 DST),同时在其他地区各种早期投资都没有像在硅谷那样催生出伟大的公司。

政府扶持说

在美国,政府权力有限,各级政府官员之间没有任命和汇报的关系,州长不是总统任命的,不必向总统汇报和负责。这种情况下,联邦政府管不了地方的事情,而地方政府又太小,只能管管城市规划和学区建设。没有政府的干预,美国商业行为主要靠“看不见的手”来规范。

我们来看看科技公司与当地政府的关系:

税收是否减免?

在美国公司营业税收要交给产生营业额所在地,而不是总部所在地,因此 Google 2013 年在世界各地交税 23 亿美元,只有很少一部分交给了加州各级政府,几乎没有直接交给山景城的税。

政府是否资金支持?

美国联邦政府有少量扶持新技术的资金,但都是投给短期看不到收益的长线项目(如新材料和生物研究)。与此同时,政府支持搞的一些科研成果会免费给社会使用,这些技术开放给全美国甚至是全世界,并没有对硅谷给予刻意的帮助。

知识产权保护说

“知识产权保护说”认为,对专利的保护是硅谷能够不断创新的原因。

硅谷非常重视包括专利权在内的各种知识产权,但是从专利数量上硅谷并没有特别之处。事实上,强调保护专利和强调创新是两回事,当一个公司必须依靠专利来维持自身的市场地位时,恰恰说明它在竞争中已经落伍了。

在整个美国,对知识产权的保护并非硅谷的特质,也不是让硅谷长盛不衰的决定性因素。

那么“硅谷之谜”到底是什么?

1. 叛逆和宽容

硅谷起源很大程度上是靠一家叫做仙童的半导体公司,它被称为世界半导体公司之母。这个公司八个创始人都是从前雇主那里叛逃出来的(史称“八叛徒”),这些人和员工们继续着这种叛逆行为,派生出近百家公司,包括著名的英特尔,这构成了整个硅谷的初始产业。

思科允许员工在公司内创办小公司,这些人仍在公司里上班,使用着公司资源,但思科的身份从雇主变成了投资人,如果小公司死掉了就当一个项目做砸了;如果成功了思科就有机会把它们买回来。这种做法从整体和长远上来看,保证了员工的创造力,同时如果成功的话思科作为投资方也会受益。

与美国其他地区相比,加州竞业协议的限制很小。除此之外,为了鼓励员工的叛逆行为,促进整个地区的技术进步,加州政府禁止公司之间私下里达成互相不挖角的君子协议。硅谷风险投资家的信条就是不断从现有的公司中孕育出新的公司,因此他暗地甚至公开地支持着种种叛逆行为。

硅谷人知道只有这样才能在现有公司基础上孕育出更加优秀的公司,技术升级的新企业,资本市场反而更看好。

硅谷的宽容同样体现在对失败的宽容上。在硅谷,风险投资人根据不完全统计发现,创业成功概率最高的是第三次创业者,因为这些人有足够多的随机应变的经验,同时还没有染上习惯性失败的毛病。扎克伯格经常在公司里讲“如果你没有遇到失败,说明你跑得还不够快”,这既是对尝试新东西的鼓励,也是对失败的宽容。

2. 多元文化

旧金山湾区人口经过了四次殖民和移民。硅谷虽然从领土主权上来讲属于美国,但是从商业、移民来源、做事的方法等诸多方面来看,它更应该看作是全世界的硅谷,而不仅仅是美国的硅谷。硅谷实际上是全世界创造力的浓缩,并不完全代表美国。

2002 年吴军加入 Google 时,全公司工程师很少,但却支持了 70 多种语言的搜索,并且在 20 多个国家有了广告收入。当时 Google 立下规矩:任何产品和服务,在推出英语版本的 6 个月内,必须开发出支持主要亚洲语言和欧洲语言的国际版。如果 6 个月内做不出来怎么办?答案很简单:推迟英语版的面世时间,抓紧时间先开发国际版。

吴军认为,如果中国想打造一个硅谷,最好的方法就是给 100 万印度人、100 万犹太人发绿卡。

3. 拒绝平庸

吴军在《浪潮之巅》中介绍 IT 产业的规律性时提出了一个 70-20-10 定律:在全球经济日趋一体化的今天,IT 行业非常容易做到赢者通吃。通常,一个行业的领头羊要吃掉 70% 甚至更多的市场份额或利润,第二名吃掉 20% 左右,其他所有公司吃掉余下 10%。在硅谷,大家认可“死亡是一个公司对社会的最后一次贡献”这样一种看法,也认可“淘汰掉不合适的人对双方都是解脱”这样一个概念

硅谷那些好学区的地段(比如帕洛阿图、库帕蒂诺和萨拉托加),房价是周边房价的两三倍,因此那些住在好学区、收入又不是很高的家庭,会选择在孩子念完高中后,卖掉当地的房子,找一个学区稍差的地段生活。这样就为更年轻、收入更高的人腾出了硅谷最好的位置,这是生活成本倒逼的自然结果。最终,一流的人才住在最好的地方,二流的人才有地方住,三流的只好离开硅谷

4. 工程师文化

在美国工程师和律师医生一样属于专业人士,社会地位高,很受尊敬,相反地方官员并没什么权力,而且人人都可以竞选。(想到了月饼厂。。。

工程师文化主要体现在工程师在硅谷很多公司地位很高,遇到问题后工程师知道如何快速解决问题,并具有极强的学习能力,靠人为积累起来的经验对今后工作的指导意义,远不如掌握更新的信息收集和处理技术来得有效,与其让权威告诉你该怎么做,不如掌握最新技术后自己分析。

在工程师文化背后,有两个深层的含义。首先,资本变得相对次要,甚至生产资料也不像原来那么重要,而人的创造力则成为商业成功最重要的因素。第二个,拥有专业知识的工程师本身被当作基层管理者,公司这样看待他们,工程师们就这样看待自己,这是后信息时代的特点。

5. 不迷信权威

硅谷有很多取得巨大成功的跨界人才,比如马克思学习物理学出身,创立过航天、汽车、太阳能三个公司,都与专业无关。如果他们处在“你又不是学某某专业的”的舆论环境下,恐怕难以做出贡献。

其实全世界真正搞科学的人都明白,科学是一个方法,一个过程,而非一个结论。一个结论是否正确,不能看它是由谁说出来的,而是要看它是怎样做到的。只是硅谷人比其他地区的人更懂得这个道理。

硅谷公司从录取开始就显出出对权威和经验的淡漠。在 Google,不管面试者名气多大,水平多高,过不了面试也是白搭。比如 homebrew 的作者因为不会翻转二叉树而被 Google 拒绝

结束语

硅谷是无法复制的,也完全没有必要复制,但硅谷的经验值得 IT 行业各级从业人员学习借鉴。只有真正领悟硅谷的这些精髓之后,再结合各地区的具体情况探寻创新之路,才有可能超越硅谷。

]]>
名画百幅赏析(三) https://livc.io/185 2017-04-23T00:00:00+00:00 Zhao Li https://livc.io/185
  • 17 世纪写实主义艺术赏析
  • 18 世纪艺术赏析
  • 19 世纪古典主义艺术赏析
  • 19 世纪浪漫主义艺术赏析
  • 19 世纪写实主义艺术赏析
  • 17 世纪写实主义艺术赏析

    17 世纪艺术的主流是巴洛克艺术,它是为宫廷、教会服务的,而 17 世纪的写实主义艺术不是,但二者也有一些交叉的地方。

    卡拉瓦乔主张,“艺术至高无上的原则是真实,而不是美”,人们称之艺术主张为:无情的真实,艺术风格叫做“卡拉瓦乔主义”。


    卡拉瓦乔 《水果篮》

    苹果上的小伤疤,叶子上的小虫眼,还有竹篮,都像真实的事物一样。

    委拉斯凯兹是著名的写实艺术家,他的《教皇英诺森十世》不光形象逼真,更主要的是表现出了教皇的灵魂,从法袍到钻石戒指,表现出了他的奢侈。他皱着眉头、斜着眼睛、收起嘴巴,生动地表现了教皇的阴险毒辣。


    委拉斯凯兹 《教皇英诺森十世》

    侏儒是宫廷中被取笑的小人物,委拉斯凯兹以巨大的同情心去淡化、掩盖侏儒的缺陷:让侏儒面对观众坐着,腿短被淡化了;两手放在腿上,手短也被淡化了。

    他强化了侏儒的眼睛,眼睛是智慧正直的,也是悲哀无奈的。


    委拉斯凯兹 《侏儒赛巴斯蒂安》

    委拉斯凯兹也是第一次表现穷人的艺术家,这具有重大的意义。

    《煎鸡蛋的妇人》中,一缕强光从左侧射入,使器皿更有质感,让人物(穷人)显得光辉。


    委拉斯凯兹 《煎鸡蛋的妇人》

    伦勃朗是一名荷兰画家,他的《戴金盔的男子》非常有质感,好像如果拿手去敲一敲,就会“当当当当”地响起来。

    所以说,17 世纪的求真写实达到了很高的高度。这时也产生一个疑问,艺术一定要追求真实吗?

    荷兰绘画盛行集体肖像画,这也是其特征之一,画家往往设计一个情节,让所有人都在这个情节故事中,伦勃朗的《杜普教授的解剖课》就是这样。

    18 世纪艺术赏析

    17 世纪艺术的主流是巴洛克艺术,而 18 世纪是洛可可艺术。

    与“巴洛克”一样,“洛可可”也是“螺旋的贝壳”、“怪异的”的意思,也是一个贬义词。他们的共同点是,都反对文艺复兴的艺术风格,反对对称,稳定,而主张用绚丽繁复的曲线和光线的阴暗去表现动态、紧张、亢奋、激情。

    他们的区别涉及到路易十四和路易十五的区别。从 14 世纪到 17 世纪,欧洲的艺术中心在意大利,18 世纪开始转移到法国。17 世纪在路易十四的统治下,他自称太阳王,追求胜利、宏大、攻击,巴洛克艺术是为路易十四服务的。18 世纪的路易十五对此毫无兴趣,他追求谈情说爱、跳舞喝酒。

    因此可以说,巴洛克艺术像个男人,是雄健宏大的;洛可可艺术像个女人,是萎靡的、柔弱的。也可以说,洛可可艺术是巴洛克艺术像萎靡方向的发展。

    布歇是路易十五时期的宫廷首席画家,他曾画过八幅《蓬帕杜夫人》(路易十五的情妇)。

    狄安娜是古希腊的猎神,过去的画家往往把她表现为一个像男孩一样矫健的女孩,但这不符合路易十五的审美需要,他要求把狄安娜表现为一个美的、贵妇的形象,因此布歇特意在其大腿上放了一串珍珠项链。


    布歇 《浴后的狄安娜》

    弗拉戈纳尔是 17 世纪另一位重要的画家,他是布歇的学生。他们两人绘画的区别是,布歇作品题材多数是希腊神话,而弗拉戈纳尔作品虽有不少希腊神话,但大多是现实贵族的一些腐朽生活。


    弗拉戈纳尔 《荡秋千》

    男爵希望在画上看到情妇的下体,弗拉戈纳尔设计了一个情节,让情妇秋千荡到最高的位置时,突然把鞋子踢起来,裙子也同时扬起来了,这样满足了男爵的下流要求。


    弗拉戈纳尔 《偷吻》

    舞会上男人和女人远离舞会现场偷偷接吻,女人神色非常慌张害怕被自己的丈夫看见,但是其实她的丈夫也在角落做着同样的事情。因此,洛可可艺术表现了贵族腐化堕落的生活。

    然而 18 世纪的艺术并不都是这样,夏尔丹表现了下层人民健康向上的情感。

    狄德罗曾说,

    读别人的画,我们需要一双训练过的眼睛,看夏尔丹的画,我只需要保持自然给我的眼睛,好好地使用它就够了。

    《铜水箱》表现了铜水箱的主人是个勤劳的农民,是个道德清白、积极向上、不会腐化堕落的人。


    夏尔丹 《铜水箱》

    虽然 18 世纪的主流是洛可可艺术,但写实主义的非主流艺术依然在发展,而且表现穷人的艺术自从 17 世纪产生之后,一直绵延不断。

    19 世纪古典主义艺术赏析

    西方人认为艺术发展的高潮有三个时期:

    • 古希腊
    • 文艺复兴
    • 19 世纪

    在 19 世纪,各种艺术流派都登上了历史舞台,主要有

    1. 古典主义
    2. 浪漫主义
    3. 写实主义
    4. 印象主义

    本节主要介绍古典主义。

    18 世纪末,欧洲社会革命高潮到来,无论是巴洛克艺术还是洛可可艺术,都不符合革命的需要。革命需要英雄坚强的意志情怀,19 世纪的古典主义中,出现的古罗马的英雄实际上是,穿着古罗马服装的资产阶级革命者

    马克思的一段话深刻地揭示了 19 世纪古典主义的实质:

    不管资产阶级怎样缺少英雄气概,它的诞生却需要英雄行为、自我牺牲、恐怖、内战和民族斗争的。在罗马共和国的高度严格的传统中,资产阶级的斗士们找到了为了不让自己看见自己的斗争的资产阶级狭隘内容,为了要把自己的热情保持在伟大历史悲剧的高度上所必需的理想,艺术形式和幻想。

    古典主义最根本的主张:

    1. 以古希腊罗马的艺术为最高标准
    2. 以古希腊罗马的故事为题材

    19 世纪最杰出的古典主义艺术家是达维特,有一次他批评学生画女人的脚趾画的不对,理由是“不符合古希腊罗马妇女脚趾那种高贵的样子”,学生争辩道“模特的脚趾就这样的,所以这样画。”达维特说即使模特是这样也不能这么画,要根据古罗马妇女高贵的脚趾来矫正模特脚趾的缺陷。由此可见达维特是坚定的古典主义者。


    达维特 《荷拉斯兄弟之誓》

    荷拉斯兄弟之誓》是达维特最著名的作品,这是一个古罗马的故事。古罗马有个城邦背叛古罗马,因此古罗马要消灭它,但二者有通婚的关系,城邦说与其千军万马地打仗,不如双方都只出三个人,失败的一方就算作失败,古罗马同意了。古罗马一个家族出了三个儿子,父亲将三把剑给三个儿子,但城邦出的三个人中有一个是这父亲未过门的女婿,所以要么儿子死,要么女婿死,对于女儿来说,要么哥哥弟弟死,要么丈夫死。

    所以父亲给剑时激昂慷慨,画面另一侧妻子女儿在悲悲戚戚地哭泣,画面以柱子为分界线,左侧表示道德理性国家利益;右侧表现的是情感个人家庭。画家要求人们以国家利益至上、理性至上、道德至上,勇敢地参加法国大革命。

    古典主义绘画的特点是,强调绘画的道德教育作用。英国的学院派绘画也强调这点。

    英国贺加斯的套画(连环画)《时髦婚姻》,批判了英国上流社会腐朽的婚姻关系。

    19 世纪浪漫主义艺术赏析

    所谓浪漫主义,就是按照理想的面貌反映社会,是和古典主义相反的艺术手法。

    古典主义中,画面中出现的是英雄豪杰正面人物美的人物。古典主义认为,艺术只能表现美,不能表现丑。浪漫主义认为,艺术既可以表现美,有可以表现丑

    热里柯的《艾普森的赛马》对后人有重要的影响,这幅画非常简单,几匹马在飞奔,漂浮在空中。一开始没有人有异议,大家都认为马就是这样跑的。


    《艾普森的赛马》

    半个世纪以后,有人用照相机拍下了马奔跑的过程,发现实际上,当马飞奔起来离开地面时,是前腿往后收,后腿往前提,四条腿在马肚子下面腾空了,而不是画中那样前腿往前,后腿往后。

    当有人按照真实的奔马画画时,人们都认为这不是真实的奔马。但是相机已经证明了马是这样跑的,但是为什么不能这么画呢?西方在这个问题上陷入了困顿。

    19 世纪,西方人放弃了艺术的真实;20 世纪,西方的绘画干脆不要艺术的真实,认为艺术的真实是不对的。

    在中国,徐悲鸿的奔马也和照片不一致。那它是真实的还是虚假的?

    这里涉及到了对艺术真实的定义,到底该怎么下。


    西方人认为艺术的真实是,对事物形貌色彩的真实反映,这实际上是哲学真理的定义。而艺术是给人看的,所以艺术的真实应该是,人看起来的真实形象

    杜甫有句诗,“月是故乡明”,理论上来说是不可能故乡的月亮更亮,但在艺术上是可以的,杜甫感觉到,家乡的月亮更加明亮。“黄河之水天上来”,李白感觉到汹涌澎湃的黄河水从天上而来,从地理来说是错误的,从艺术上来说是真实的。

    所以西方没有解决的问题,在中国得到了解决,中国提出“不求形似”、“意到笔不到”,就是艺术的真实。

    浪漫主义旗手德拉克罗瓦《自由引导人民》中,人民起义的战场出现了一位半裸的希腊女神,举着发过三色旗,拿着枪,号召人们前进,这是理想,是按照理想的面貌反映社会。


    德拉克罗瓦 《自由引导人民》

    19 世纪写实主义艺术赏析

    古典主义:按照古希腊罗马的面貌反映生活。

    浪漫主义:按照理想的面貌来反映生活。

    而写实主义的基本原则是,按照生活的本来面貌反映生活

    写实主义和现实主义是一个概念,文学上多用“现实主义”,而在造型艺术上,多用“写实主义”。

    19 世纪的写实主义与 17 世纪的写实主义基本观点是一致的,区别是,17 世纪的倾向于客观的反映,艺术家的的主观态度并不明显,比如水果篮等;在 19 世纪时不仅是客观的反映生活,同时也表达的艺术家的主观态度,所以 19 世纪写实主义也称“批判的写实主义”。

    库尔贝是 19 世纪最著名的写实主义艺术家,巴黎公社失败后,库尔贝在狱中画了很多反映巴黎公社的艺术作品。


    库尔贝 《您好,库尔贝》

    我的艺术是反映我所处的时代的思想、风俗和面貌,我要创造的艺术,这就是我的艺术主张。 ——库尔贝

    与库尔贝相反,米勒不喜欢革命和政治,但只要真实地反映了生活,他就必然对其有尖锐的批判性。


    米勒 《拾穗》

    有人说,画中远远的地平线上有造反派的红旗,和 1793 年的断头台,因为如果法国农民像这么贫困,那么最后的结局就是造反派的红旗和 1793 年的断头台。

    ]]>
    Learn to Rank 入门 https://livc.io/184 2017-03-29T00:00:00+00:00 Zhao Li https://livc.io/184 Learn to Rank(LTR)是使用机器学习技术解决排序问题的方法。

    排序是信息检索(IR)的核心问题,比如文件检索,协同过滤,关键词提取,情感分析等,本文以文件检索为例进行讲解。

    文件检索并不是一个狭小的领域,其实,网页、邮件、论文、书和新闻都属于文件检索中的例子。

    机器学习框架组件

    在许多机器学习的研究中,需要注意以下几个关键组件(key components):

    输入空间(input space)

    包含了我们要研究的对象:通常,我们通过提取出的特征向量表达某个对象。

    输出空间(output space)

    包含了与输入对象相关的学习目标:在机器学习中,对于输出空间有两种相关但不同的定义。

    1. 极度依赖应用的任务输出空间:例如,在回归问题中,输出空间是实数 ;在分类问题中,输出空间是离散类别
    2. 帮助学习过程的输出空间:这与任务的输出空间不同,例如,使用回归算法解决分类问题时,这种情况下有助于学习过程的输出空间是实数,而不是离散的类别。

    假设空间(hypothesis space)

    定义了从输入空间到输出空间的映射类别:这些函数处理输入对象的特征向量,然后根据输出空间的格式预测。

    损失函数(loss function)

    LTR 方法

    根据上述四个组件,可以把 LTR 的方法分为三类:

    • The pointwise approach
    • The pairwise approach
    • The listwise approach

    不同的方法定义了不同的输入和输出空间,使用了不同的假设和不同的损失函数。

    The pointwise approach

    输入空间

    每个文档的特征向量

    输出空间

    query 与每个文档的相关度

    假设空间

    包括了使用文档的特征向量作为输入,预测相关度的函数,基于这个函数,我们可以排序所有文档。

    损失函数

    不同的 pointwise 算法中,排序被建模为回归、分类、有序回归问题,因此对应的损失函数也有所不同。

    需要注意的是:

    1. pointwise 不考虑文档和文档之间的内在依赖关系,因此在损失函数中,最终的排序列表中每个文件的位置是不可视的。
    2. pointwise 没有使用不同文档都对同一 query 有关联这一特性。

    因此一般来说,pointwise 有一定的局限性。

    The pairwise approach

    输入空间

    被表示为特征向量的文件对(pair of documents)。

    输出空间

    每对文档的 pairwise 偏好值(1 或 -1)。比如一个 pair 是(文件A,文件B),那么 A 的 label(rank) 大于 B 的 label,可以视为 +1,反之 -1。

    假设空间

    以每对文件(两个变量)作为输入,输出他们的相对顺序的函数 h(可能是排序算法或评分函数)。

    损失函数

    损失函数度量了 h 和 label 的差异。

    The listwise approach

    输入空间

    与 query 整个文件组(group of documents)

    输出空间

    1. 对于一个 query,所有文件与其的相关度。
    2. 所有文件排好序的列表(或排列)。

    假设空间

    操作所有文件的包含多个变量的函数 h,预测他们的相关度或排列。

    损失函数

    与输出空间对应,有两种损失函数。

    1. label 是 y 时,损失函数通常基于广泛使用的信息检索评估方法或近似值的偏差。
    2. label 是排好序的序列时,损失函数度量输出的排序后的列表和样本 label。

    listwise 的优点是,对于同一 query,损失函数能天然考虑到文件的在列表中的位置。

    经过实验,以 LETOR 作为 benchmark 数据集,listwise 表现的效果最好。

    Reference

    Liu, Tie-Yan. “Learning to rank for information retrieval.” Foundations and Trends® in Information Retrieval 3.3 (2009): 225-331.

    ]]>
    如何在容器内使用 Host 代理 https://livc.io/183 2017-03-22T00:00:00+00:00 Zhao Li https://livc.io/183 现在 Docker 的应用场景越来越多,在容器内 git clone 也是一个很头痛的问题,这篇文章给出了在容器内使用本机代理的方法。

    设置本机 ss 监听端口为 0.0.0.0

    我使用的 ShadowsocksX-NG,可以直接在偏好中修改。

    启动容器

    通过docker run --net=host启动容器,使容器与 host 共享网络。

    配置 .gitconfig

    这里需要填 host 的 内网 ip,可以通过 ifconfig | grep "inet " | grep -v 127.0.0.1 查询,Mac 直接打开网络偏好也能看到内网 ip。

    [http]
            proxy = socks5://172.20.162.149:1080
    [https]
            proxy = socks5://172.20.162.149:1080
    

    接下来可以愉快地 git clone 啦!

    至此,我们完成了在容器内使用 host 代理的配置,如果配置 proxychains4 等工具,也是一样的道理。

    ]]>