• 1.jpg

    深度学习在自然语言处理中的应用 | 原创精选

    作者:钟翰廷 [list] [*][b]简介[/b][/*] [/list]       本文为对 2016 年 12 月 10 日集智俱乐部公开活动「深度学习与自然语言处理」进行的总结。       活动主讲人是自然语言处理领域的知名学者吕正东,他先后在 MSRA 和华为诺亚方舟实验室担任过研究员,在顶级会议、期刊上发表过 40 余篇论文,并长期担任一些会议、期刊的审稿人。微博上的「鲁东东胖」就是他啦,最近他创办了一家人工智能公司,正在进行招聘。   [list] [*][b]深度学习在自然语言处理中的应用[/b][/*] [/list]       自然语言处理(Natural Language Processing, NLP)是人工智能中的一个重要分支,从人工智能这个领域刚发展起来的时候就一直是一个重要的研究方向,到现在也发展出了很多的细分领域和非常多的方法,大致上来说,我们可以认为是在 2013 年的时候,伴随着 word2vec 这个 word embedding 的开源工具的出现,正式地将深度学习引进了 NLP 的研究中 —— 当然要认真考据的话,word embedding 的思想早在上世纪 80 年代的时候就已经初露端倪1,用神经网络来建模语言的工作也可以追溯到现为 IDL 科学家的徐伟在 2001 年的工作2以及 2003 年 Bengio 在 JMLR 上发表的著名论文《A Neural Probabilistic Language Model》,大家去了解 word2vec/word embedding 的时候经常会见到的一张经典的模型图(见图1)就来自 Bengio 的这篇论文。 [attach]3762[/attach]       从不那么严格的大众的角度来看,可以说 word2vec 的出现是深度学习进入 NLP 领域的一个标志性事件,其中的 word embedding 思想带来了更好的文本的表示方法,也催生了各种在更高层级做 embedding 的工作,比如 sentence embedding,比如知识图谱中实体和关系的 embedding(TransE/TransR等);而 sequence to sequence 思想的提出以及 attention 机制的出现,则在机器翻译(Machine Translation, MT)领域产生了重要的作用。当然除此以外,CNN 和 GAN 乃至强化学习等最开始并不是用于 NLP 的方法,也被引入到 NLP 领域当中,并且取得了不错的结果。      总得来说,深度学习给 NLP 研究带来的新方法可以列举如下: [quote] 1、以 embedding 为代表的表示学习 2、sequence to sequence 模型/encoder-decoder 框架 3、注意力机制(Attention Mechanism) 4、记忆网络(Memory Network) [/quote] 在 embedding 思想出现前,在各种 NLP 处理中都是用一个离散的值来表示每个词的,这种表示方法称为 one-hot 表示,是一种难以扩展、难以表达语义的方法。embedding 将一个词表示为多维空间中的一个连续实数向量,能在一定程度上反映语义乃至上下位关系。word embedding 的价值不在于它能得出的「男人 - 女人 = 国王 - 王后」这种类比关系,而在于它作为 NLP 中基本处理单元的一个基础表示,可以用来构建更高层级文本单元(句子、段落、篇章)的表示(见图2),用来支撑更为复杂的上层操作如文本分类、机器翻译。 [attach]3766[/attach] 这种思想还能拓展到其他领域如知识图谱(见图3)、复杂系统中。 [attach]3765[/attach]       当然 word embedding 称不上完美,它还做不到完美地表达语义,但不用对这些问题太过刻薄纠结。我非常同意吕正东老师以及很多 NLP 学者的观点: word embedding 的效果在语言学层面还有尚待改进的地步,在留意这些问题的同时,还应该积极地去使用它去推动更复杂的 NLP 的研究和应用。       sequence to sequence 或说 encoder-decoder 框架最初是在机器翻译中提出来的,以机器翻译为例,其基本思想是: [quote] 1、将输入的句子经过一个 RNN 生成一个能反映句子语义的向量,类似计算 sentence embedding 的过程 2、用另一个 RNN ,从输入句子的向量表达中解码出另一个句子 [/quote] 第一个过程称之为 encoding,第二个过程称之为 decoding,整个模型非常的简单优雅,不需要词对齐,不需要额外的语言模型,输入英语,直接得到法语,这样便成了一个端到端(end-to-end)的模型,如图4所示。 [attach]3764[/attach]       之所以称其为「框架」而不是模型,在于它提出了一种通用的、可扩展的模型设计方式,其中的 encoder 和 decoder 都可以换成其他类型的神经网络结构,从而被广泛应用到不同的领域中,比如语音识别、OCR、自动驾驶、机器翻译、对话、image caption……而在 encoder-decoder 的基础上,为了改进机器翻译系统,attention 机制又被提了出来。       attention 是一种在根据模型内部状态动态聚焦于输入或输出不同部分的一种机制,比如说做机器翻译时在不同时刻关注源语言文本中不同的词,如图5所示。 [attach]3767[/attach] 在 image caption 任务中,要为一张图片生成描述性文字,在这里,attention 会根据当前要生成的词去聚焦于图片的不同区域,见图6。 [attach]3763[/attach]       memory network 则是一种附带额外存储结构的神经网络模型,通过这个额外的存储结构来记忆更丰富的信息,使得模型具有更强的表达能力和学习能力。在这之中,对这个存储结构中信息的访问,使用的就是 attention 机制;相应的,在机器翻译和 image caption 这些任务中使用 encoder-decoder 模型时,也可以把 encoder 产生的输入的表达当作是 memory,attention 机制是在这个 memory 上挑选合适的内容。总之,在相关的场景中,我们可以认为 memory 是一个可以容纳有用信息的数据结构,而 attention 则是操作这个数据结构的一种方式,这也是这次活动中最主要讨论的内容。       从应用上来说,深度学习给以下 NLP 任务带来了比较大的推动作用: [quote] ​​机器翻译 对话系统(Dialogue/Chatbot/Question Answering) 自动推理 [/quote]       当然,这其中最受关注的就是机器翻译和对话系统了,毕竟语言的最终目的是用于进行交流,机器翻译能够让原来语言不同的两个人能够互相交流,而对话系统则能让人和机器以人类熟悉的方式进行交流,备受关注都是理所当然的。机器翻译在 NLP 领域中一直都是比较重要的一个方向,从应用意义上来说是一件能极大提高人类交流效率的事情,从学术意义上来说是一个数据相对充足且定义相对良好的研究问题,在神经机器翻译(Neural Machine Translation, NMT)突破前,就已经有基于统计学方法的统计机器翻译(Statistical Machine Translation, SMT)并且得到广泛应用。随着 encoder-decoder 框架和 attention 机制的提出,NMT 已经大幅超越了传统 SMT,并且在翻译问题上对 attention 机制的改进仍然在继续。       谈到 NMT,当然离不开 Google 的翻译系统,图7就是 Google 神经机器翻译系统(Google Neural Machine Translation, GNMT) 的模型结构,看起来有点复杂,其实就是 encoder-decoder 结构:左侧框图是 encoder 部分,右侧框图是 decoder 部分,它们之间靠 attention 机制联系起来。 [attach]3768[/attach]       Google 在 NMT 方面的翻译效果,一方面固然来源于新的方法,另一方面也在于 Google 庞大的数据积累和强大的工程能力。数据是深度学习中很重要的成分,我在 Quora 上看到有人用「without data, it's nothing」来评论 NLP 的 Python 工具包 NLTK,在深度学习这块,我觉得也可以这样讲 —— 当然这么讲是强调数据的重要性,并不是说深度学习就不重要了,「巧妇难为无米之炊 」,要做好一桌可口的饭菜,原材料、烹饪工具和厨艺是缺一不可的。       在对话方面,我们现在已经可以很简单地使用基于 encoder-decoder 的模型来得到一个用于对话的生成模型,在处理单轮对话和某些特定领域的多轮对话上取得不错的结果。最简单的办法,是将 encoder-decoder 框架用到对话领域,仿照机器翻译的方法,将对话看作是一个翻译问题,根据用户的话语来生成对应的回应。区别于传统的基于检索和基于规则、模板的方法,生成模型可以完全是数据驱动的, 在有足够丰富数据的情况下 ,可以几乎不需要人工介入学习过程内部。图8是一个例子。 [attach]3770[/attach]       但我们能看出来,对话和翻译本质上是两个不同的事情,翻译是在两个不同语言但具有相同语义的文本之间做转换,对话则不是这样的,它是一个持续的过程,我们会希望它能记忆上下文、能识别实体、能辨别细微的感情等等等等。再加上在对话这个领域,数据的积累还不够,健全的评价标准还有待建立和完善。按照吕老师的看法,对话是比翻译复杂一到两个量级的任务,在真正得到突破前,可能还需要一定时间去提高我们对对话这个任务的认识。基本上来说,这两年在对话任务上所做的工作,也经常使用 encoder-decoder 框架,attention 机制基本也是标配,在多轮对话需要处理上下文时则还会使用如 memory network 之类带额外存储结构的模型来记忆上下文。除此以外,学术界还尝试了很多其他方法来用在对话任务上,比如整合知识图谱来提供精确的回答,比如应用强化学习来让优化对话结果3(见图9)。 [attach]3769[/attach]       在另外一个应用「自动推理」上,按我的看法,可以分为两部分。我们谈推理的时候,可以是在谈形式逻辑的推理,也可以是自然语言层面的事实、因果、关系的推理,形式逻辑的推理可以用来做定理证明、类比归纳等各种事情,也是人工智能中的一个重要研究领域,这一块的定义是比较明确的;而自然语言推理则很难给出一个公认的定义,对此吕老师的观点是,如果我们在处理一个 NLP 任务时,需要对输入进行多遍处理,那么这个 NLP 任务就可以被认为是一个自然语言推理的任务。比如说 Facebook AI Research(FAIR) 用 memory network 在 bAbI 数据集(见图10)做的问答4,就可以认为是一个推理过程。 [attach]3771[/attach] bAbI 数据集是 FAIR 设计的用来考察对话系统个方面能力的一个数据集,包含了十几种从易到难的推理任务,此后有不少做对话或者推理的工作都通过这个数据集来评判模型的表达能力,比如 15 年 8 月香港中文大学 Baolin Peng 的 Neural Reasoner5,图11是 Neural Reasoner 的模型结构,很显然也可以看作是一个 encoder-decoder 的模型。 [attach]3772[/attach]       不管是形式逻辑的推理,还是自然语言推理,它都是在一定的知识基础上去做推理的,特别是自然语言推理,对于何谓知识何谓推理,都得是在一个具体的场景下才能界定清楚。据吕老师讲,他创立的「深度好奇」就是尝试将自然语言推理的技术应用到法律领域上,比如去做法律条文的理解和推断,想一想还是蛮酷的。  [list] [*][b]可微数据结构(Differentiable Data-structure)[/b][/*] [/list]       吕老师提出一个新的概念「可微数据结构」,其实并不是一个新的东西,而是对已有的各种模型中具有相同性质的模块或成分的一个统称。前面我们提到了 attention 和 memory network 两个重要的技术,讲到在 NMT 中 attention 其实就是在 encoder 输出的 hidden state 序列上根据当前要计算的输出选取有用的信息,这里这个 hidden state 序列在性质上和 memory network 或者神经元图灵机(Neural Turing Machine, NTM)6增加的那个额外的存储结构其实是一样的,它们都保留了历史输入的信息并在输出时被反复读取,并且都是以一种模糊、可微的操作来进行处理。回过头来看 LSTM 的 cell state 也是这样的,forget gate 和 input gate 对它进行读写,output gate 则根据 cell state 得到输出。NMT 中的 hidden state 序列、memory network 和 NTM 中的额外存储结构,这就是吕老师称之为可微数据结构的事物 —— 当然,我个人觉得 LSTM 中的 cell state 也算。       LSTM 中的 cell state 的操作相对还是比较简单,但毫无疑问它是现在这些 memory 一类思想的起源 —— 当然更早还可以追溯到 Hopfield Network,这里就不展开了 —— 我们不妨先从 LSTM 来讨论一下可微数据结构。首先的一点也是最关键的一点,作为一个「数据结构」,它提供了更强的信息存储能力,然后极大地增强了神经网络模型的表达能力和学习能力。LSTM 为什么能大幅地缓解 RNN 的梯度下降问题,提高长程依赖能力?从优化角度来说,是因为其中类似 residual network 中 skip connection 的 constant error flow,使得梯度不再是指数级衰减的,但只有 constant error flow 也不行呀,一味地记住过去的信息不加区分显然也不是合理的,而 forget gate 和 input gate 就起到了对过去信息选择性增强和丢弃的作用。这是我对可微数据结构的认识,它不仅能存储可用的信息,还能在此基础上用来做对信息的筛选,我们说得很多的 attention 机制,其实就是起这个作用的。       当然,既然说,那么对这个数据结构的操作,还必须是连续可微的才行。这个限制是为了保证这个数据结构和神经网络模型整合在一起时,不会破坏模型整体可微的的特性,我们都知道,现在大部分的神经网络模型,基本上都是用误差反向传播算法来进行训练的。       对于可微数据结构,其实我更习惯叫它 memory,虽然是个容易和认知科学、心理学、物理学等各个领域中类似概念混淆的词。一图胜千言,神经元图灵机的结构示意图可以当作是对可微数据结构的一个普适的描述,如图12所示。 [attach]3773[/attach]       我们可以按照其持续作用时间,将可微数据结构或说 memory 粗略地划分成短期记忆(Short Term Memory,STM)、中间记忆(Intermediate Memory)和长期记忆(Long Term Memory, LTM),我们可以在感性上把它们和心理学上的瞬时记忆、工作记忆和长期记忆类比,当然其中的对应是否合理就不是本篇要讨论的内容了。encoder-decoder 模型中 encoder 产生的 hidden state 序列,是我们所说的短期记忆;而在问答中,模型会在 memory 中存储前几轮对话的信息,这个信息我们可以叫做中间记忆;而在一些基于知识图谱的推理问答任务中,还需要从知识图谱中进行知识的查找和推导,这个知识图谱,我们也可以将其视为 memory,这种独立于具体输入的信息,则叫做长期记忆。如图13所示。 [attach]3776[/attach] 当然,也可以从结构上来对可微数据结构来分类,比如有像 NTM 中 memory 一样固定大小的 memory,也有像 Neural Stack Machine 这样大小可扩展的 memory7(见图14),再复杂一点的还有像 Deep Memory 这样的层次化的 memory8(见图15)。使用什么样结构的 memory ,当然也要视具体任务而定。 [attach]3774[/attach] [attach]3778[/attach]       借鉴计算机概念,我们可以说读写操作的基础是寻址操作,对可微数据结构的寻址是模糊的,我们称之为 soft addressing;而计算机寻址最后得到的是一个精确的地址值,我们称之为 hard addressing。所谓 soft addressing,得到的不是一个精确的地址,而是得到在所有地址上的权重,其中权重高的地址中的数据就是对当前计算更有价值的信息。我们前面说得很多的 attention,本质上就是一种寻址操作,对应的也有所谓 soft attention 和 hard attention。       我们可以用 Python 代码来进一步解释一下 soft/hard addressing 的区别。假设我们有一个列表 [attach]3775[/attach] 以读取操作为例,所谓hard addressing,是直接按下标来取一个元素 [attach]3777[/attach] 所谓 soft addressing,是先计算出一个权重向量,再按这个权重向量去计算 [attach]3779[/attach]        当然,上面的寻址都是随机产生的,实际我们在做 attention 的时候是,一般来说,寻址可以分为按内容寻址和按地址寻址,在大部分场景中,我们使用按内容寻址的方式来对可微数据结构进行读写。需要注意的是,在做 soft addressing/attention 的时候,模型要学习的是「计算权重的函数」即上面代码中的 gen_weights 方法,而不是 soft_addresses 所代表的「每个时刻实际的权重」,以 NMT 为例,decoder 在每个 time step 时计算 attention 时用 decoder 的 hidden state 和 encoder 的 hidden state 做內积然后经过一个非线性变换得到 attention 权重,这里的这个非线性变换的参数就是学习到的,见图16。在可微性得到保证的前提下,学习到的寻址方法应当是能增大更有用信息的权重、降低无关信息权重的。 [attach]3781[/attach] 和 word embedding 的意义近似,可微数据结构和寻址方法的存在,可以作为更高层级操作的基础构成,想想图灵机吧,在纸带和读写头的基础上所产生出来的复杂计算,和这个是可以类比的。       最开始在 NMT 中提出来的 attention 方法,只是对 encoder 的 hidden state 序列进行读操作,今年的 NMT 工作在为了解决 under-translation 和 over-translation 的问题,也开始提出了一些更复杂的 attention 方法,比如将 encoder 的 hidden state 存起来,然后每次不仅去读它们,还会去修改它们9,这对 NMT 的结果有显著提高。图17是一个应用了改进的 attention 方法的模型。 [attach]3780[/attach]       我们前面说可微数据结构对提高神经网络模型的表达能力和学习能力有很大的增强作用,但须知有一利必有一弊,在具体的场景下,该选择什么粒度的 memory 表示、该如何对其进行读写操作、该如何用这些基本操作来表达更复杂操作,都是需要去思考的;再比如 attention 计算的复杂度和 memory 的大小是正相关的,那么具体场景下,肯定是要在表达能力和训练效率之间折衷;另外可微性的要求也是对模型设计和训练的一个挑战,因此也有用 hard attention 加强化学习来设计模型的。    [list] [*][b]语言学习的范式[/b][/*] [/list]       这里说的「语言学习」,当然是指机器的「语言学习」。首先来看看我们人类的学习过程:我们会有老师或父母教我们字词和语法,这帮助我们学会最基本的表达和理解,这可以算作是监督学习;在有一定的词汇量并掌握基本语法后,我们可以通过大量阅读来更好地理解语言的使用,这是无监督学习;同时我们的学习过程是通过不停地试错来进行的,环境会给予我们各种反馈,比如说你说了一句在用词和语法方面都很糟糕的奇怪的语句,别人会表达出不理解或诧异,因此也可以将我们的学习过程视作强化学习;此外我们可以在掌握常识后基于常识来去对我们未接触过的语言现象或者知识进行快速的掌握,这是基于解释的学习,和最近的 zero-shot 学习类似?       对于机器的「语言学习」范式,吕老师从不同的方面对其进行了划分:  1、学习过程是 end-to-end 还是 step-by-step 的; [quote] 所谓端到端,是指整个学习过程直接从最后的输出中得到反馈来进行调整,而 step-by-step 则要对显式地对学习过程中的中间步骤进行调整。以机器翻译为例,神经机器翻译是端到端的,在 encoder-decoder 框架下,输入一个语言,直接去学习另外一个语言的输出,中间过程我们不用做人工干涉;而在统计机器翻译里,我们要得到两个语言之间的语言单元(词或短语)的翻译统计,要统计两个语言各自的词语搭配频率(语言模型),最后还要学习对齐过程,这些都是分开进行的,只不过最后组合在一起而已。 [/quote]  2、学习目标是连续可微的还是离散的;  3、学习过程中接受的 supervision,是来自人类的标注,还是来自环境的反馈;  4、是监督学习还是强化学习;         2、3、4 讲的都是更高层级的对比,我们主要关心的还是 end-to-end 和 step-by-step 的对比。对于大部分问题,如果允许的话,我们都会希望整个学习过程是端到端的,喂进去一头猪,出来一堆火腿肠,这样多好!       NLP 的学习任务,我们基本上可以将它们划分三个层级,即语法(syntax)、语义(semantics)和语用(pragmatics),如图18所示。 [attach]3782[/attach]       语用对应着真实的、具体的任务场景,从中我们可以得到反馈信息,这反馈信息向下层传递,调整整个学习过程(见图19),根据这个我们可以为很多 NLP 任务设计端到端的模型,比如基于 encoder-decoder 的 NMT 和单轮对话,都算是比较成功的案例,以及在复杂情况下的多轮对话,也有通过设计更复杂的模型来做到了端到端的学习,这个前文已经提过了。 [attach]3783[/attach]       但我们前面也说过了,端到端的学习过程当然是很好的,但它也有一些问题,它对模型设计的要求会比较高,如果模型设计地不好,导致信息在模型中间传递时出现问题,那么这个模型很可能就不能有效地学习。吕老师提到一个例子,给定一个俄罗斯方块的图像,最后要学习一个模型,预测其中俄罗斯方块类型的数量是偶数还是奇数,设计了一个端到端的模型如图20所示。 [attach]3784[/attach]       看起来是很简单的问题,但是结果非常差,是一个失败的例子。对于这种端到端失败的情况,可能的原因有两个,一个是路径很长(比如说模型很深),另外一个是信息在某一层的时候传递很困难。       再就是,从我们自身的角度出发,人类的学习过程并不是端到端的,我们一味地在机器的语言学习过程中追求端到端地方式,未必是正确的。       针对这些问题,吕老师提出,所谓语言学习的新范式,应该是 [quote] [list] [*]监督学习与强化学习的结合 如果我们能放下对「端到端」的执念,应用强化学习的思想来让机器进行语言学习,我们前文提到的模型设计的困难会减轻很多。[/*] [*]更具有可解释性的学习[/*] [*]前文中我们提到的基于解释的学习[/*] [*]无监督学习和其他方法的结合[/*] [/list] [/quote]   [list] [*][b]脚注:[/b][/*] [/list] 1、Elman, Jeffrey L. "Finding structure in time." Cognitive science 14.2 (1990): 179-211. 2、Xu, Wei, and Alexander I. Rudnicky. "Can artificial neural networks learn language models?." (2000). 3、Li, Jiwei, et al. "Deep Reinforcement Learning for Dialogue Generation." arXiv preprint arXiv:1606.01541 (2016). 4、Weston, Jason, et al. "Towards ai-complete question answering: A set of prerequisite toy tasks." arXiv preprint arXiv:1502.05698 (2015). 5、Peng, Baolin, et al. "Towards neural network-based reasoning." arXiv preprint arXiv:1508.05508 (2015). 6、[size=13]Graves, Alex, Greg Wayne, and Ivo Danihelka. "Neural turing machines." arXiv preprint arXiv:1410.5401 (2014).[/size] 7、Grefenstette, Edward, et al. "Learning to transduce with unbounded memory." Advances in Neural Information Processing Systems. 2015. 8、Meng, Fandong, et al. "A Deep Memory-based Architecture for Sequence-to-Sequence Learning." arXiv preprint arXiv:1506.06442 (2015). 9、Meng, Fandong, et al. "Interactive Attention for Neural Machine Translation." arXiv preprint arXiv:1610.05011 (2016).

    seanzhang 2017-06-23 23:43

  • 1.jpg

    关于深度神经网络压缩(上) | “小声嘟囔”专栏

    [attach]3704[/attach] [list] [*][b]背景[/b][/*] [/list]       这几年来,深度学习的迅猛发展,使得计算机视觉、自然语言处理等一系列领域的state-of-art算法性能都有了跨越式的进展。然而深度学习算法虽然在学术界已经一统江湖,但在工业界却还没得到非常广泛的应用,其中一个原因就是深度学习网络的模型庞大、计算量巨大,一个CNN网络的权重文件动辄数百兆,做科研可以堆机器堆显卡跑,但要放到实际产品中,这是是无法接受的。即使现在手机性能已经非常高了,但是在app中塞入上百兆的权重也是一个很糟糕的选择;另一方面,在一些嵌入式的平台上,存储计算资源都十分有限,深度学习算法的移植更加困难。所以深度学习模型的压缩,是非常重要的一个问题。       本文就对网络压缩这一方向比较好的几篇论文做个简单介绍。  [list] [*][b]Deep Compression[/b][/*] [/list]       第一篇文章是Deep Compression[1],Stanford的Song Han的这篇文章,获得了ICLR2016 的 best paper。文章其实非常好懂,如下图所示,主要流程分三个阶段,一是对网络剪枝,让连接数量减少;第二是通过共享权重和权重进行索引编码来减小权重数量和存储空间;第三是用霍夫曼编码的方式来编码第二阶段的权重和索引,这样可以进一步压缩空间。 [attach]3703[/attach]       1-网络剪枝       如图 1所示,剪枝需要三个步骤,首先是训练一个普通的神经网络;然后我们选择一个阈值,将权重小于阈值的连接剪开,这样就得到一个稀疏连接的网络了(图 2);剪枝后网络性能肯定会下降一些,所以最后我们对这个稀疏网络进行再训练,将性能提上去。对AlexNet,剪枝可以减少9倍的参数,对VGG-16网络,剪枝能减少13倍参数数量。 [attach]3707[/attach]       这一步里面还有一个稀疏网络权重表达的技巧,一般来说表达一个稀疏数组是(index, value)这样成对的值来表示,对应于我们的权重数组就是一个index,一个weight,数组比较大,所以index至少得是整型(int)的,一个index需要32个bit,文章巧妙地采用了相对索引来表达(图 3),也就是每次存储原先前后两个index的差值,这个值我们可以用比较小的数据类型来存,比如途中用3bit(0-8),当然差值超过8时要补上一个0,这样index的字节数就得到了压缩。实际上卷积层用8bit(0-255)存的,全连接层用5bit(0-32)存的。 [attach]3706[/attach]       2-权重共享       如图 4所示,假设我们的权重是4*4的,一共16个浮点数值,我们可以用K均值聚类的方法,把它们按大小的相近程度聚类成4类,也就是图中的4种颜色块。聚成4类后,我们只需要保存4个浮点型的权值就可以了,然后每个点存一个类别index就可以了,这个index也是很小的(4类只需要2bit)。       另一个问题是进行权重共享后,权重如何更新,图 4中下半部分也展示了,就是先还是后项传播时一样计算梯度gradient,然后把同一类别点的梯度累加起来,用这个累加得到的梯度就可以对每个类的权值进行更新了,当然要乘上学习率lr。 [attach]3709[/attach]       3-霍夫曼编码       霍夫曼编码是一种常用的无损编码技术,主要的思想是按照符号的概率来进行变长编码,就是出现概率大的符号,我编码短一些,出现概率小的符号编码长一些,这样整体就变小了       下图是对AlexNet中的权值和索引值做了一个统计,可以看到分布都是非常不均匀的,这种是非常适合霍夫曼编码的,实验表明,用霍夫曼编码这些权值能进一步减少20%-30%的权重文件大小。 [attach]3710[/attach]       最后,看一下图 6,用deep compression的压缩效果,在几种主流网络上都达到了40倍左右的压缩率,而且精度完全没有降低,甚至还提高了一点点。 [attach]3708[/attach] [list] [*][b]SqueezeNet[/b][/*] [/list]       第二篇是SqueezeNet[2],这篇文章的思路是从网络结构的设计入手,通过设计更小的卷积核来减少模型的参数个数。事实上,这些年来,不论是最早的Alexnet,还是最新的152层残差网络,基本上用的都是3*3大小的卷积核了,感觉已经没法再小了,再小就没有邻域卷积效果了,但SqueezeNet发现其实还可以再压一压。       SqueezeNet采用以下三个原则继续压缩网络:           1) 采用1*1的卷积核替换3*3的卷积核,当然不是全部替代,而是替换一部分,显然用1*1的卷积核替换3*3的卷积核;           2) 减小输入3*3卷积核图像的通道数量,比如某一个3*3卷积层输入图像是20个通道的,输出图像是n个通道,那么卷积核需要20*3*3*n个参数,现在如果我把这个输入图像先用1*1的卷积核变成5通道的,再送入3*3的卷积层,参数就能减少很多。           3) 尽量延后降采样操作(降采样包括pooling 和卷积时的stride),因为过早降采样实际上是丢掉了一些信息,后面的输出特征值会变小,通过延后stride、pooling来提高网络精度是何凯明、孙剑[3]研究过的。       可以看出,前两个原则是为了尽可能减少网络参数,第三个原则是在限定的参数下,尽可能提高网络性能。具体而言,文章用一个称为“fire”的基础结构(图 7)去替换传统网络结构中的3*3卷积核,fire模块是一个两层结构,先是一层squeeze层由3个1*1的卷积核组成,然后是一个expand层,由4个1*1的卷积核和4个3*3的卷积核组成。Squeeze层卷积核数量比expand层少,正是为了将图像通道数变少,这样expand层即使有一些3*3的核,参数数量也不会很多,这是原则2的应用。       在不损失精度的情况下,文章将AlexNet原先240M的参数压缩到了4.8M,压缩了50倍,如果再用上Deep Compression的方法对权重值进行压缩,可以进一步压缩到0.47M,整整压缩510倍,这两个方法组合起来真是厉害啊! [attach]3705[/attach]       篇幅不少了,就先说到这儿吧,后面还想分享一下Binarynet[4]和XNOR-net[5]两篇文章,敬请期待。  参考文献 [quote] [1]. Han S, Mao H, Dally W J. Deep compression: Compressing deep neural network with pruning, trained quantization and huffman coding[J]. CoRR, abs/1510.00149, 2015, 2 [2]. Iandola F N, Moskewicz M W, Ashraf K, et al. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and< 1MB model size[J]. arXiv preprint arXiv:1602.07360, 2016. [3]. He K, Sun J. Convolutional neural networks at constrained time cost[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 5353-5360. [4]. Courbariaux M, Bengio Y. Binarynet: Training deep neural networks with weights and activations constrained to+ 1 or-1[J]. arXiv preprint arXiv:1602.02830, 2016. [5]. Rastegari M, Ordonez V, Redmon J, et al. XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks[J]. arXiv preprint arXiv:1603.05279, 2016. [/quote]

    seanzhang 2017-06-23 21:56

  • 1.jpg

    张江:他让我知道一个人的愿力有多强大 | 原创精选

    作者:王雪娟 [list] [*][b]写在前面的第一点废话...[/b][/*] [/list]       我是一个时间管理很严苛的人,所以,通常是不会出现拖稿的症状,因为,我会比被拖的人还焦虑。       但是,2016年我却硬生生拖了两件事儿,一件是要为集智俱乐部创始人张江写一篇文字,这件事拖了一年;一件是要为导师做一个电影票房模型,这件事拖了半年。       自私的人就是这样,当自己的大事儿尘埃落定了之后,才有闲才、闲时、闲情为别人办事,所以,如果站在他人的立场,我是不愿意与我这样的人结交的。 [list] [*][b]写在前面的第二点废话...[/b][/*] [/list]       今年年初的时候,抱着极大的兴趣,说,我要写写张江(其实,当面我都叫他张江老师或者老大,但写文字,总觉得加上尊称、加上名号显得啰嗦、虚伪又无趣)。那时候,从他喜好的音乐、电影、书籍,他从初中、高中、大学、研究生、博士直到创建集智俱乐部的故事,以及他的亲情、友情、爱情、革命之情,再有他的学术建树、人生理想一并谈过,还构架了非常恢宏的撰写他自传的体系,但随着一年的消磨,这些对话不在以线性的关系让我产生对人物的敏感,而成为了混沌一体的印象派的感官。       我倒突然觉得,挺好。因为张江本是个善于文字之人,自己已经幅员万里又笔力细密的叙述了他生平的点点滴滴,而这样细致入微的自传风格,恐怕我在步其后尘只有邯郸学步之嫌,且无任何补充进益之能。所以,干脆放弃了编年体的、章回体的、线索性的、传统式的专辑方式,姑且心不为形所役地用我一个旁观者的姿态、旁观者的眼光、旁观者的判断,来读读张江这样一位人物,不讲逻辑,不讲线索,从心所欲,浪漫笔法。       对,这应该是个好方向。因为,[b]他所在建立的一个学术体系叫做“观察者理论”[/b],我所猜想的大概的意思是,主体会因为观察者的观察而产生某种流变。那么,不妨试试,在这样一篇他为主体,我为观察者的文章,尤其是在其问世之后,是否会对作为主体的张江造成怎样的影响?又是否能成为他有实际感悟的案例呢?  [list] [*][b]终于开始进入正题...[/b][/*] [/list]       张江生于1978年2月10日,按照二十八星宿的宿命论,他是娄宿,西方白虎第2宿,星宿批语是“[b]坚定耐劳的绵雨[/b]”。 [attach]3695[/attach]       这个批语,跟我心相中的张江非常贴近。[b]集智俱乐部成立于2003年,至今13年[/b]。对于一个以兴趣为磁石的团体而言,坚持走过十余年的历史,决非易事。在很长的一段时间以来,甚至在很长的一段时间以后,张江都会是这个团体的灵魂人物,换言之,若非他坚定的、耐力地坚持着做这个社团,集智俱乐部可能方生方死的团体一样,早已不复存在了。 [b]      所以,在他身上,我最先看到的,是一个人愿力之伟大。[/b]       在诺大的北京,集智俱乐部于我而言,是一个非常特别的存在。最先拉我入伙集智的王硕,诨号“传销硕”,因为他经常逮到人就开始滔滔不绝地宣扬集智大法好,他跟我说过,以前其实他的个性很内向,所以,到底是什么神秘力量改变了这个少年的一生?       张倩也是,她能够放下稳定的、高薪的职位,全心全意扑到集智俱乐部的运营管理。我说,这样的放下,好难得。她说,因为她坚信着其中的意义与价值,因为这是她生命价值最好的成全。       还有一个仅有一面之缘,我甚至忘了名字的朋友。有个周末,他特地大早从天津赶来北京,就是为了与我们见见面、聊聊天。       你会发现,[b]集智俱乐部里的人都很有个性,但是又非常神奇的千人一面:都是那样单纯、天真、热情、极致、专注、理想主义的人[/b]。张江跟我说过,集智的愿景是[b]思考这个复杂世界的本质[/b]。惊讶的是,我却真心相信,这个复杂的世界恐怕的确要靠足够简单的人才能看懂。 [attach]3700[/attach]       而这,就是张江强大的愿力。他用他科普的文章、频繁的宣讲、主动的整合,等等等等绵绵细雨又风雨砥砺的践行,把他的理想、观念、态度包括自己的人品一应向外输出,成为一个持续不灭的发光体,一个力量渐增的磁石,终于,年复一年,集智的确有了越来越庞大而稳定的拥趸。  [list] [*][b]不知道神是乐观主义或者悲观主义?[/b][/*] [/list]       不知道张江看到这篇文章会不会觉得我倒行逆施,又是谈星宿,又是谈鬼神,跟中国现在科学与宗教分裂的状态完全背道而驰。但一来我认为他个性温婉、包容,二来我觉得他兴趣广泛,涉猎丰富,于是也会兼容观察者的自带属性。       无论听张江的讲座,看张江的文章,你都能明显感觉到一种十分乐观主义的色彩,他对科学技术的理解是乐观的,他对人类发展命运的未来是乐观的,包括他对集智发展前景也是乐观的。这种乐观主义的气息,甚至弥漫了我所认识的几乎所有集智人。       那么,什么是乐观主义,什么又是悲观主义呢?其实,乐观与悲观,跟信仰没太大区别,都是对未知事物的信念。相信事物会向好处发展的信念叫做乐观主义,怀疑事物会向坏处发展的态度叫做悲观主义。       记得第一次参加集智俱乐部的活动时,是集智一本谈人工智能的新书问世的发布会。当时,有人问了一个几乎谈到人工智能就必定会问的问题,说,你们认为,人工智能和人未来的关系会是怎样的?人工智能会控制人类么? [attach]3696[/attach]       他和其他几个集中核心成员是怎么回答的呢?他们说,科幻中经常为了戏剧性的冲突,而去塑造一场旷世的人与人工智能你死我亡的末日之战,然而发生在现实生活中技术与人类的关系是怎样的呢?大部分的技术都自然地嵌入到了人类生活中,彼此消融,并非对抗。       不但是面对人工智能,在很多问题上你都能看到张江的乐观主义态度。彼时的我很好奇,人为什么形成了悲观或者乐观的思维定向呢?对的,我认为这是思维定向,因为这个每个问题都存在有让你悲观和让你乐观的理由,但是你会根据自己的乐观或者悲观的信仰更偏向性的选择汲取一方面的信息,所以,这跟理性是没有绝对关系的,悲观主义里也有理性派,乐观主义里也有理性派。       所以,我就问了张江,为什么你的思想中,会有这么浓重的乐观主义色彩?他说,大概跟他的生长环境是相关的吧。张江成长在一个非常温暖的大家庭,几乎每个周六都会有家庭聚会,而且彼此关系融洽、能量正面,因此在他心理就埋下了比较深的,事物都能正向发展的影子。       其实,家庭环境的确构成了人看待世界眼光的色温。在张江的例子之后,我又或深或浅的剖析了自己以及身边的一些朋友,的确正向的家庭环境、成长环境几乎就会“惯”出乐观主义者,而负面的、压抑的、纷扰的却能够让人更有悲观主义的联想。 [attach]3698[/attach]       张江乐观主义的成因还有另外一条,就是他人生经历过一段灰暗,而他却从中破茧而出、羽化重生,这件事儿让他相信,一切都有乐观的理由。用他的话说,就是当打碎了困境又重拾信仰之时,你便获得了积极的理由。听起来,非常像一个平凡人蜕变成英雄的故事。 [list] [*][b]你的人生也可能在最灰暗处彻底改变...[/b][/*] [/list]       一个人面对困难的姿态,决定了他会成为怎样格局的人。       张江并不是一路高歌猛进的学霸。中考失利,是在父亲的帮助之下才进入了北京市重点的日坛中学。特别在刚进高中的时候,还是当时班级的倒数一二名的位置,多年前的张江是自卑的。进入大学之后,他也跟许多如今的大学生一样,迷惘、混沌、懵懂,不喜欢自己的专业。       然而,这时候他遇见了人生中最重要的一个贵人,恩师贺仲雄。他是在一门选修课上遇见这个影响他一生的老师的,觉得他的课有趣、新颖、冲击。而为了更亲近贺老师,他主动地会去帮贺老师做点闲杂的小事儿,所以也顺理成章地成为了贺家师门的子弟。后来,在贺老师的教导下,他在本科就发表了9篇论文,可以说是风云人物一般的存在,也因此顺利保研。其实,有时候人和人的差别,或者自己命运的差别,无非就是是否抓住重要的节点。       但是,其实从大四开始,张江就进入了人生中最长的一段低谷期了。彼时,他有一位高二就开始交往的女友,但父亲却因为反对早恋,非常强烈的干涉、阻挠,当时,张江父亲的工作不顺,因此也更加剧了父子之间这场因为早恋而引爆的矛盾,外显温和但骨子强硬的张江甚至选择跟父亲决裂。后来,大姑劝他,为了父亲的尊严以及父子关系,还是应该放弃与女方的感情。于是种种合力之下,他多年的感情告吹了,父子的关系也留下了伤疤。       感情是一个方面,事业又是另一重困扰。在张江读研的2000年,国内对学术并没有现如今的尊重与推崇,甚至是被人鄙视的。而当时的张江并没有形成自己独立的、完整的世界观,于是也人云亦云的认为自己正在做一件毫无意义,浪费生命的事儿。当时的他,一面想着工作,一面选择读研,这种心理偏向与事实选择的矛盾,让他更活在了自己编织的一局窘境之中。       于是,内忧外患的他,跌落到了人生的灰色空间里。这个灰色空间,大概就是人性最好的试炼,有些人从此困顿期间万劫不复,有些人却因此脱胎换骨,恍如新生。性格决定命运,或许在这样的灰色空间中的抉择就更尤为明显吧。  [list] [*][b]那么,他是怎么做的呢?[/b][/*] [/list]       张江的父亲对他有一套严苛的甚至几分高压的教育,因此少年时代的他一直按照父亲的规训活成一个规规矩矩的好学生。然而,这一套来自父亲成功学的规训却也成为他貌似乖巧却内在野性灵魂的巨大囚笼。       终于,在灰色空间时期里的张江,决定打破这个金丝囚笼。他开始寻求反叛,寻求突围,原本规规矩矩的他突然迷恋起那种很脏、很乱、很丑、很撕裂的音乐,这些“脏乱差”的音符、节奏就像一抡一抡的大锤,将张江原本被人构建的完美、规整、和谐却未必属于他的世界观通盘尽毁。在一片荒芜之后,他,终于成为自己心灵疆域的君主,得以重建另一片家园。 [attach]3697[/attach] 幸运的是,这时候他遇见了一本影响他人生脉络的书,叫做《复杂》。他疯狂的迷恋这本书中的一切,就像得到属于他命运的《圣经》。他细密地研究了书中涉及的种种人物以及延伸出来的各种模型,甚至对那些只有畅想还没有模型的概念,他就自己兴奋的完成了从理念到模型的践行。他就像各种宗教里的先知一样,并不满足于自己的开悟,而是要把这些理念推广出去。[b]于是,就在2003年创建了集智俱乐部的网站,而这,就是这个至今13年故事的开端。[/b] [b]     [/b]这么叙述下来,真的有几分宗教先哲的意味。遭遇低迷-幡然顿悟-布道传教。所以,从某种角度上来说,张江也发散着某种圣洁的光环。       我非常愿意详述这个故事,正式在于,我多么希望有更多的人在历经灰色空间之时能够有这样命运的转折。如果有更多的人能够因此变得更加开悟、更加豁达、更知天命,我想,世界的华光一定更加向上、向善。 [list] [*][b]我喜欢的张江的样子...[/b][/*] [/list] [attach]3699[/attach]       他很善于倾听与学习,即使面对的小辈。半年前我刚结束《全球综艺游戏库》的工作半程,终于有时间能够跟他单独小聚,我们就在他学校北京师范大学附近聊天,本来是想做一些有关于这篇文章的访问,聊着聊着就说起了我的项目,以及之前的一些成绩。我是一个并不太懂得收放的人,所以聊得高兴就不带任何虚掩地称赞起自己的了得了,其实也就是半桶水。但张江竟然能从这半桶水的小后辈身上听取到可取之处,非常真挚的说,你有非常犀利的挑选项目的眼光。       后来他还邀请我一起跟他做一个集智的游戏方面的沙龙活动,我作为其中的一名主讲人。但是彼时的我状态极其不好,整个人处于神经紧张的状态,那是一次极其慌乱甚至失败的演讲,所以内心一直对张江以及主策划罗三水深表歉意,但另一方面却无比的感谢他们,因为正式那次失败的演讲,让我在之后自己的主场的演讲里表现成功。但,集智的人,对你从来不会苛责,不会要求,大概就是有这样的核心人物。       然而,正是在那次沙龙上,我对张江第一次这么彻底的刮目相看。他做了一个非常打动人心的演讲。是用一个类似两个世界的科幻故事的形式讲了游戏以及众包协作的理念,妙趣横生,脑洞大开。       这是我最佩服张江的一点,这也是他能做科学布道者的一点。他能将复杂的理念通过最清晰、简明甚至故事化的语言变得不设门槛,所以能让科学打破高高的围墙成为公共知识的领域。他的身上有非常明显的跨界的痕迹,一个同时拥有极强文学天赋与理科思辨两套思维体系的结合。所以,又想再次质疑一下中国的教育体制,为啥非要文理分科呢?兼具文理双才的人很多时候才能集大成啊!  [list] [*][b]后记[/b][/*] [/list]       我问,你最希望的集智是怎样的?       张江说,就像12、13年的那个样子吧,能有几个老朋友,能常常聚在一起,能深入地探讨一些我们都关心的问题,就这样,就够理想了。 [attach]3701[/attach]

    seanzhang 2017-06-23 21:39

  • 1.jpg

    机器崛起之赛博格的诞生与演化 | 笔记

    作者: 王晓、张棋 [attach]3684[/attach] [list] [*]导语[/*] [/list] 在学术界对控制论的研究范畴、应用范畴等问题进行讨论时,美国政府和企业界已经极大地推动了控制论在军事和工业生产中的应用。本篇文章带领我们从以下几个方面了解Cyborg是如何从Cybernetics衍生而出且逐步演化的。 1.第一次工业革命和第二次工业革命分别指什么?自动化如何导致了“机器换人”的就业危机? 2.机器与有机体以新型方式进行交互的设想是在什么背景下产生的?机器可以获得“生命”吗?机器是否能够获得智能,以及时能够超越人类? 3.如果思考的机器是一个简化的大脑,那么真实的大脑难道不是一台复杂的机器吗?大脑是有思维的,机器呢?机器和机器相连,会引发怎样的反应? [list] [*]自动化[/*] [/list] 在学术界对控制论的研究范畴、应用范畴等问题进行讨论时,美国政府和企业界已经极大地推动了控制论在军事和工业生产中的应用。前者催生了大陆级别的高空放射炮塔SAGE,后者引发了“自动化工厂不招人”的严峻就业问题。 维纳在其《控制论》一书的序言中就曾经写道:“第一次工业革命,通过引入机械装置导致了人类手臂的贬值”。他相信:“第二次工业革命,同样会引起人类大脑的贬值,至少会引起人类大脑在更简单更常规化的决策方面的贬值”。维纳警告公众:“非常明显,自动化将造成失业的情况,与之相比,30年代的大萧条将不值一提”。当时,美国工人阶级已经对自动化可能引起的“机器换人”情况十分关注,甚至在肯尼迪的国务院记者发布会上也引起了激烈讨论。 [attach]3685[/attach] 1963年,维纳决定对自动化引发了一些精神与技术的后果进行盘点[2],在这次盘点中,他严厉地批判了那些认为“除非预先输入,否则机器不会产生任何输出”的人的观点,并明确强调“我的观点是,机器能够并肯定会超越它们的设计者的某些局限性,并且当机器实现时,他们可能即是高效的又是危险的。很可能出现这种情况,原则上,我们并不能制造出我们永远都不了解其行为因素的机器。但这绝不意味着,我们能用比操作机器所需要的更少时间去理解机器的行为因素,甚至用数年或几代的时间也不行。”尽管今天,我们已经可以制造出不了解其行为因素的机器(如应用神经网络、深度学习等机制的机器)。 同一时期,文学与科学交相辉映。在这个特殊的时代,产生了大量影响深远的文学和影视作品。关于机器智能是否能够超越人类智能、机器人与人类将保持怎样关系的话题,最早的讨论出现于1920年出版的《罗素姆万能机器人(Rossum’s Universal Robots)》,这部小说讲述了一个制造机器人的“人造人”工厂中的故事,小说的结局是机器人对其制造者发起反抗并最终消灭了人类。  在1950年的秋天,这一剧目走上了MIT戏剧院皮博迪剧场的舞台。排演之前,维纳走上台,在人声鼎沸中展示了他称之为“帕尔米亚”的趋光机器人,并用它来展示神经震颤的两种状态:帕金森症和意向性颤抖。这成功引起了美国军方的注意,但军方的关注点却完全不同,恰是维纳的反面,因为在他们看来,机器人不会生病、不会请假、不会闹脾气。 [attach]3681[/attach] 库尔特•冯内古特发表于1952年的《自动钢琴(Player Piano)》也是这一时期的代表作(不知道大家有没有关注《西部世界》这部剧集,每一集的开头都有一架钢琴在自动演奏,应该是对这部小说的致敬),它描述了在机器人替代大部分脑力劳动后,人类幡然醒悟并进行了了一场失败的与机器人对抗的起义的故事。1955年,弗兰克·莱利的《赛博和福尔摩斯大法官(The Cyber and Justice Holmes)》则探讨了未来的法院系统,智能高效的机器取代了人类法官。但完美的理性行为并不是一切,道德与情感同样重要,小说的结局是最新型的赛博法官因被要求计算梦的重要性而崩溃。因为机器人在会比人类更快、更精确地完成任务,而且不会生病、不会罢工、不会酗酒,它极大程度上会成为定制化的优秀员工。这甚至引起了获得诺贝尔文学奖的波特兰·罗素的反思:“Are Human Beings Necessary?” 1968年亚瑟·克拉克的《2001: 太空漫游(2001: A Space Odyssey)》则是描述机器获得意识与智能的里程碑式著作,在这部小说中,人类战胜了机器。 在这样的历史背景下,自然而然的出现了一些新的反思:当机器接管之后,人类会灭亡吗?英国星际航行协会前主席、曾被授予卡林加奖的亚瑟·克拉克对于这个问题进行了深入的探讨,他指出,生物进化,已经让位于一个更为快速的过程,技术进化。“直白而残酷地说,机器将会接管一切”。发表在《花花公子》杂志上的这篇文章用一棵展示了生物进化过程的进化树阐明了这一故事:从微生物到鱼类,恐龙,猴子,尼安德特人,现代人类,最后是机器。用他的话说,“因为没有个体会长存于世;那么我们为什么会期盼我们的种族能够永远延续下去呢?” [attach]3680[/attach] 此时,美苏冷战已接近巅峰,时任苏联领导人的尼基塔•赫鲁晓夫已经多次在公开场合发表言论“自动化很好,它是我们用来打败你们这些资本家的手段。”美国政党也毫不示弱,亚利桑那州的一名共和党人巴里•戈德华特强调:“只有通过(自动化)增加每工时的产出工作量,我们才能建立有效的防御来抵抗苏联的侵略力量”。这是因为,二战带给参战各国的一个十分重要的教训是“具有领先生产能力的国家将会赢得战争。”但是这对于美苏冷战期间对太空和深海等极端环境的探索却毫无用处。 因此,新的思考出现了,“可否借助自动化改变人类的身体,使其更好的探索极端环境,拓展国家疆土?”由此,控制论的新产物出现了——赛博格。 [list] [*]有机体[/*] [/list] 机器与有机体以新型方式进行交互的设想可以追溯到20世纪40年代,但直到60年代早期才得到蓬勃发展。美苏之间的军备竞争,极大地推进了这一进程。其目的是:借助控制论的手段,扩展甚至改造人类身体,使其适应太空、深海、高温等等特殊环境。 当时的设想是,机器与有机体组成的有机机器可以通过两种方式来实现。第一种是用螺栓把机器部件连接到现存的生物有机体上(例如假肢),这一改造产生的是半机械人;另一种方式是创造没有有机械的活体机器。这是一种独立的装置,完全没有生物组织,却可以被赋予生物的特性(长生不老,指日可待!)。但是当把一种非常重要的属性—生命—赋予机器时,却引发了更多可怕的问题:机器何时能够以及是否活过来,机器何时能够超越人类?这两个问题,引发了今天我们所仰望的一众人工智能大神的思考,在这个名单中我们能看到:冯•诺依曼[3]、维纳、麦卡锡[4]、摩尔等等。  [attach]3683[/attach] 60年代,最重要的驱动赛博格诞生的一个重要因素在于:随着飞行机器的飞行高度和速度越来越高,飞行员面临着许多未知的生理和心理问题。人类身体能承受多大的重力加速度?低座舱压力会对大脑活动产生什么样的影响?特别是1957年,苏联发射了人造地球卫星1号(斯波尼克),这也是世界上的一颗人造卫星,在美国引发了极大的震惊和恐慌(老大的位置受到了强烈的威胁)。要进行太空旅行,首先要解决的最为基本和核心的问题,就是“如何改造人体以适应外太空环境”了。  在这样一种背景下,Cyborg正式被提了出来,其全称是Cybernetic Organisms,生控体系统。由克罗兰州立医院的两位医生—克莱恩斯和克莱恩—所创造,他们的文章《Cyborg and Space》后来发表在了1960年9月份的《宇航学》杂志上。在该篇文章中,他们提供了史上第一个赛博格的照片:一只在尾部皮肤下植入了渗透泵的220克重的实验白鼠。随后,《生活》杂志对两位医生进行了采访,并使用了一张内容为两个密封着嘴巴、背着废料罐在月球上工作的赛博格作为配图。 赛博格不仅在太空中有显著的作用,地球上也是如此。军方,对这一概念尤其感兴趣。GE的一位工程师,拉尔夫•莫舍尔由此开启了他拉军方项目建造空军、海军、陆军用赛博格的非凡之路。 为解决新型超远程轰炸机B-72核动力飞机的机载核反应堆的地面维护工作,GE研发了所谓的机械手(Manipulator)。但这一项目中,由于没有考虑机器的“触觉”,导致了闭环反馈的丢失。随后,莫舍尔同时融合机器的触觉和反馈属性,研发了“多面手(Handy Man)”。这是一种跟随式控制,人们需要穿上“甲胄”(一个穿戴式的外骨骼主控台)才能实施控制。 [attach]3682[/attach] 1961年,时任美国总统的约翰•肯尼迪终止了空军的核动力轰炸机项目,但是他也升级了越南战争。此时,美军陆军正在越南的森林、沼泽和稻田中经历着新的意想不到战术问题。这使得陆军急于寻找一种适用于在丛林中作战的大型行走机器。 GE承诺要为这一难题寻找一个出路:适用于丛林作战的大型行走机器,创造一种“人与机器互利共生”的局面。结果是在1964年研制了一台步行机(Pedipulator)。这看上去就像是《星球大战》中双足机器人的原型(丛林中行走的Pedipulator有木有C-3PO的赶脚~)。 [attach]3686[/attach] 而美国国防部门却担心,在森林环境中战斗时,使用非常简单的方式就能把双足机器人击倒,但是要机器人依靠自己的力量站起来,却很麻烦。因此,陆军决定,资助研发一台重心低、负重多的四足行走机器——行走卡车(Walking Truck)。  而当时的主要想法是联合机器与人类,充分发挥两者的最优性能。但此次的研发,仍然没有打动美国陆军。 [attach]3687[/attach] 后来,在研发和设备的过程中为了服务拟建的远程轰炸机上的飞行核反应堆,GE为空军制造了“Beetle”,大甲虫。再后来,GE雄心壮志地试图把所有最先进的技术和功能融合到一台外骨骼机器上,然而,最终却只制造出了一只有着9个关节的“拳头”(心塞塞)…… [attach]3689[/attach] 尽管莫舍尔和GE公司一而再再而三的失败了,但莫舍尔并未放弃。当把人嵌入在机器内部时,不可避免地会导致密切的人-机交互问题,两者即是相互辅助的,又是相互限制的。但是,“没有理由要求操作员必须在机器内部”,两者是可以分离,无人系统,即将登上历史舞台。 首先出现的是美国飞歌公司(Philco Corporation)研制的双目头盔显示器。 [attach]3688[/attach] 1960年,莫顿提交了一款VR设备的专利申请文件,这是第一款便携式的头戴设备,专利文件上的描述是 “用于个人使用的立体电视设备”。尽管这款设计来自于50多年前,但可以看出与Oculus Rift、Google Cardboard之间有着很多相似之处。 在当时技术的快速发展之中,赛博格已经让整个社会为之“心驰神往”。1960年,D. S. 哈拉斯出版社第一本关于赛博格主题的完整著作《赛博格》。他提出,经过数百万年的演化,人类的进化终于可以掌握在自己手中了,人类——可以被自身改造,不管是器官的缺失还是基因的缺陷,都能被修复。每个人,都可以成为一个赛博格。 既然控制论可以扩展人的体能,那么人的智能呢?机器智能是否能够超过人类智能?机器与人无异,那么人是否就是一台机器?而在这些问题的思考的驱动下,产生了全球联网的计算机网络的愿景,以及超级智能机的构想。 在这个时期的美国,存在着两种极端的情绪,一种是核战、越战所带来的恐惧,这种恐惧不仅仅是害怕战争,还害怕诞生毁灭人类的力量的军工联合体机制,以及背后的技术官僚主义思想;另一种是登月、计算机等新发明的出现,各种各样的新技术、新发明以及新思想相互碰撞,进步与向前的情绪。这些情绪也导致了该时期特殊的文化发展。许多关于机器、关于赛博格、关于机器智能的电影亦深刻反映了这一现实。 [attach]3691[/attach] [list] [*]文化[/*] [/list] 如果思考的机器是一个简化的大脑,那么它的逆向问题实际是在问:难道真实的大脑不就是一台复杂的机器吗?瞬间,人类的思维,变成了某种可以进行描述、分析和计算的东西[5],成为了一种人们可以理解的东西。 那接下来,我们延伸一下这个问题,如果思维是一种通过闭环反馈进行自我调整的控制论系统,还有哪些也是?这一想法随即产生了一种精神上的和半宗教的吸引力,而且这种吸引力很快远远超越了人们对于自动化或者对于“机器替人”的恐惧。20世纪70年代,在两位尤其著名的“心理学家”的推动下,控制论开始如病毒一般传播开来。 其中一位便是创立了大名鼎鼎的达基山教(科学教)的L. 罗恩•哈伯德,他认为“善于分析的思维不仅仅是一台运行良好的计算机,更是一台完美的计算机。”如果人类有任何不完美或者错误的行为,那是因为引入了“错误的数据”(嗯嗯,是的,都是数据的错,都是数据的错)。哈伯德随后将该观点扩展成了一本书《戴尼提》,该书被翻译成了65种语言,销售超过2000万册! 另外一个帮助传播了控制论思想的心理学家,是马克斯韦尔•马尔茨。用原书作者的话来说“如果说真的有人推广了控制论理论的话,那肯定是这位与胸部打交道的医生(Doctor),而不是与数字打交道的博士们(Doctor)。”为什么?这个医生到底做了什么?这位医生写了一本《心理控制论》,书中吹嘘到:“这位医生非凡地发现”将帮助读者“逃离生活中无趣、单调的日常”,甚至“让你看起来更年轻,感觉更健康,并且能够更加成功!”(厉害了,Word哥)。如果从销量来判断马尔茨“处方”的有效性,那它肯定是起作用了,到现在,这本书共销售了3000万册之多!  马尔茨是一位著名的整形医生,在他的工作经历中,他发现,整形手术不仅可以改变一个人的行为和性格,甚至改变一个人的才华和他/她的未来!当改变一个人鼻子的形状时,他改变的是其“内在的自我”。受到闭环反馈和控制论这些新科学的启发,马尔茨开始将身体看成是一台储藏着人类思维的机器。而通过手术改变机器,他将同时改变人类的思维。一时间,控制论在人民大众之间刮起了一阵狂热的旋风。  但这样的言论,引发了社会学家、心理学家甚至嬉皮士们的大量关注的同时,却使得控制论作为一门严肃的学术事业发展到了顶峰。一种新的亚文化出现了——反主流文化,赛博朋克(Cyberpunk)也出现了,这一切的开始,要始于斯图亚特•布兰德。  [attach]3690[/attach] 布兰德是《全球概览(Whole Earth Catalog)》杂志的创始人。我们知道苹果创始人乔布斯有一句名言“Stay Hungry, Stay Foolish”,这句话正是布兰德所创。尽管《全球概览》这本杂志只存在了两年,产生的影响却是不可估量。这是一个纸质的工具检索目录,每个人都可以介绍他推荐的工具,二人们由于彼此之间相互供应工具而成为了整本书所有提供工具的人组成的网络的一个节点。在其增刊中“不知名读者写给不知名读者的信件”,在读者体验、读者评论和社区其他输入的帮助下纠正和更新刊物信息(用户反馈)。全球概览及其增刊以及返土归田运动社区整体,形成了一种学习机制。正是在这一基础之上,两年后,布兰德创建了世界上第一个在线社区WELL。而这些工作,进一步促进了在线搜索、用户推荐、社会网络的出现。对比“封面”的风格,我们可以看到,当下最火的社交工具——微信,一定程度上就像是全球概览。不同的是,《全球概览》连接的是工具,微信连接的是人。 [attach]3692[/attach] 尽管《全球概览》非常成功,但布兰德却发现还少了点什么,少了什么呢?“控制论的整体系统思想与宗教的整体系统思想在概念上的统一”。1972年,贝特森出版的《朝向心智生态学》将控制论由推动了一个台阶的同时,也解决布兰德提出的新问题。  同时,这也导致了大家对人与机器、系统与环境、虚拟和现实概念的再次思考。贝特森指出:个体思维是内在的,但不仅仅存在于机体内部。它也内在于体外的通道和信息中;并且存在一个更大的思维,而个人思维只是其子系统。那么机器有思维吗?机器与机器会有思维交互吗?人与机器组成的系统内部,会产生怎样的思维?机器的思维联通之后,会产生怎样的后果?以迷幻剂为对比,布兰德对这一新出现的人机交互方式——游戏,进行了阐明。 [attach]3694[/attach] 纵观计算机从军用普及到民用的过程,反主流文化主义和黑客起到了非常大的作用。20世纪60~70年代,人们往往将计算机看成是集中控制的化身(得益于SAGE),随后美国许多大学的技术人员发明了分时技术,打破了大公司对大型机的垄断,逐渐使得个人用计算机成为可能。 在布兰德对历史的解读中,黑客曾带来了计算机发展的三次浪潮。 [quote] 1. 第一次浪潮:20世纪60年代至70年代早期,起源于大学及其新崛起的计算机科学系,这些技术人员们发明了分时技术,战胜了大公司的利益,让更多的人获得了访问SAGE这类超级计算机的途径; 2. 第二次浪潮:20世纪70年代,通过将个人计算机推向市场,完全推翻并颠覆了大型机。代表人物是乔布斯和沃茨尼亚克(苹果公司的两位创始人),两人最开始的时候通过开发并销售一种可以免费拨打电话的盗用电话线路设备来磨练自己的技能。 3. 第三次浪潮:20世纪80年代早期的“社区”黑客们,借助反主流文化的浪潮,得到了极大地发展。当科技遇到了朋克,计算机突然变酷了! [/quote] [attach]3693[/attach] 两个斯蒂夫:乔布斯与沃兹尼亚克    [list] [*]参考文献[/*] [/list] 1.王飞跃, 社会计算还是社会化计算:兼忆社会计算一词的起源,http://blog.sciencenet.cn/blog-2374-514254.html?from=groupmessage . 2.Wiener N. Some moral and technical consequences of automation. Science, 1960, 131(3410): 1355-1358. 3.在此基础上,提出了“自复制自动机”的理论。 4.1956年麦卡锡提出的人工智能的概念,即是“制造智能机器的科学与工程(the science and engineering of making intelligent machines)” 5.王飞跃, “面向计算社会的计算素质培养: 计算思维与计算文化”, 工业和信息化教育, 2013, No. 6, pp. 4–8. 6.王飞跃, “面向赛博空间的战争组织与行动: 关于平行军事体系的讨论”, 军事运筹与系统科学, 2012, Vol. 26, No. 3, pp. 5-10. 7.Quoted in Douglas Waller and Mark Thompson, “Onward Cyber Soldiers”, Time 146, No. 8, pp: 38-45. 8.王晓公开讲座——机器崛起:从Cybernetics 到Cyborg

    Revo 2017-06-23 19:42

  • 1.jpg

    机器崛起之Cybernetics的军事起源 | 笔记

    作者:王晓、张棋 [attach]3666[/attach] [list] [*][b]导语[/b][/*] [/list] 注:本文是根据中国科学院自动化研究所复杂系统管理与控制国家重点实验室助理研究员王晓博士于4月23日世界读书日在集智分享的报告整理而成,辅助记录整理者为集智志愿者张棋,全文约1.5万字 [attach]3672[/attach] 今天的分享者是集智计算社会科学群[1]的群主并且是中国社会计算交叉学科第一位博士毕业生——王晓。虽是一名女博士,但却是一位十分甜美可亲的女神姐姐。王博士今天分享的主题是“机器崛起:从Cybernetics到Cyborg”。整个讲座以王博士的译作《机器崛起》的目录为主线,以生动真实的故事,带我们回顾历史并联系当下,了解“赛博这个事物”是如何连接了战争机器、计算机网络、社会媒体、无所不在的监视和虚拟现实的。 在报告之前,王晓博士首先介绍了自己的研究,她讲到,在跟随自己的导师王飞跃教授进行课题研究时,曾经非常困惑:为什么导师的研究课题跨度会如此之大,从非常“硬科学”的智能机器、机器人,跨到了最“软科学”的社会计算?而翻译完这本书,她明白了,这确实是一脉相承的,至于为什么,大家看完这本书就知道啦(当然看完这次报告的实录,也会明白的)文末有视频链接~ 本篇文章分为三大部分: 机器崛起(一):Cybernetics的军事起源  机器崛起(二):从Cybernetics到Cyborg (见本次推送副推一) 机器崛起(三):机器内部空间的探索——互联、开放、隐私与信息安全(见本次推送副推二)   [list] [*][b]前言[/b][/*] [/list] 既然我们要谈控制论(Cybernetics),需要考虑的一个十分关键的问题便是,“赛博cyber”是什么?这个想法来自何处?我们生活在一个被技术定义的时代,当我们在收发电子邮件、乘坐飞机或是阅读俄罗斯黑客新闻的时候,我们很少思考这些塑造我们现代世界各种事物的起源。王博士在讲座中由“控制论的历史”说起,汇集了不同年段技术的历史: 从发明雷达、二战的中的“无线炮弹”到无人驾驶, 从人工智能、 虚拟现实,再到目前大家担心的网络安全和赛博战。跨越智能科学与技术70年的发展,干货满满~ 这本译著的英文原版《Rise of The Machines》一经发售便得到了众多媒体的广泛报道,是《麻省理工技术评论》、《君子》、《财富》杂志评定的2016年最佳书籍之一,并入选“2017年度最激动人心之科学著作”的决选名单。现在就让我们跟着王晓博士的步伐,一起来看看讲座的精华吧~                                                                    [attach]3668[/attach]                                                                                   [list] [*][b]战争中的控制与通讯[/b][/*] [/list] 战争是推动科学技术发展最为有效的手段之一。我们今天关注的许多科学问题,使用并研发推广的众多技术,许多都起源于二战。维纳发表的跨时代巨著——《控制论》,亦不例外。控制论的两个核心思想:闭环反馈和人机交互,都起源于二战中维纳要解决的一个重要问题——地对空的防御问题。 1940年8月8日,希特勒发布了著名的元首17号令,下令纳粹空军“在可能的最短时间内集中一切力量战胜英国空军”。这是历史上首次,一个国家仅仅采用空中作战的军事行动去摧毁另外一个顽强抵抗的国家。同年10月15日和16日,德军向伦敦派出了235架轰炸机;英国的地面防空体系不堪一击,用了8326枚炮弹,仅仅击毁2架德机、损伤2架德机。这种“几乎无效”的地对空防御情况,将在仅仅4年之后,得到彻底的改变。 [attach]3667[/attach] 在这种希特勒下令德国空军全面攻击英国的情况下,英国不得不把许多的基础科研项目迁移美国,而将自己国家的精力专注于战争中的即时生产。1940年8月,时任英国航空研究委员会主席的亨瑞•狄泽德爵士与时任美国国防研究委员会(NDRC)主席的范内瓦•布什在华盛顿特区的宇宙俱乐部开心地约了一顿饭,使得布什领导的NDRC获得了对于英国伯明翰大学研发的多腔磁控管微波研究的主导权。随后,该技术被转移到MIT,其辐射实验室在1940年10月成立,在利用多腔磁控管技术下,MIT辐射实验室的研究和技术人员们不仅发明了雷达,他们同时想到:使用反馈回来的雷达脉冲,我们就能控制榴炮弹的发射了!于是XT-1车载微波雷达,即SCR-584,光荣地在MIT的辐射实验室诞生了,这使得盟军的感知侦测能力极大地得到了提高。 [attach]3671[/attach] 但新的问题又来了,当感知能力提高后,如何优化地面武器的射击控制?在武器来袭的时候,人的操作使非常慢的。当时如果要射击一个目标要进行以下步骤,通信质量严重地限制了射击的精度: [attach]3669[/attach] 复杂的步骤会让误差加大,由此射击的准度也由此变差。在炮手利用获得的数据设置炮弹引信过程中,又衍生了一个新的问题——如何设置精确的引信时间。在这里就不得不提到开环控制和闭环控制。二战之前是没有闭环控制的,只有开环射击。闭环控制作为一种实时交互过程,射出炮弹后会有反馈。而开环则是打出炮弹后,不管有没有射击到目标,整个过程就此结束。我们可以做这样一种形象的描述,如果说开环是“单相思”,那么闭环控制就是“两情相悦”。既然多腔磁控管可以是感知的关键,那么可否把它装到炮弹中呢?沿着这一思路,克服了研发过程中遇到的重重问题,终于研制出了可变时间引信(variable-time fuse) 或简称“VT引信”。这是一种带有感知功能的炮弹(被它盯上了,可就像是狗皮膏药,甩也甩不掉),战后更是被《巴尔迪摩太阳报》报道“作为一种秘密武器,无限炮弹的重要性仅仅次于原子弹。”就这样,精准射击问题也得到了有效解决。 [attach]3670[/attach] 备注:V-T引信可看做一个微型无线电台,包括一个发射器,一架天线和一个接收器,这些都安装在炮弹的弹头处。当一个155mm的炮弹离开炮口时,微型无线电台打开并开始发射连续波。当炮弹在高空中接近德国轰炸机,发出的无线电波会被反射回来。炮弹感知接收到返回的无线电波并放大,放大后的电波传递到一个微型的气闸流管(开关),引爆炸弹。   在艰苦的技术突破后,我们即将解决地对空的追踪射击问题啦!1944年6月13日凌晨,德国首次使用V-1导弹轰炸伦敦,此时他们不知道的是,海峡彼岸已经准备好了应对的秘密武器——VT引信,它将无情且“不为人知”地把靠近的V-1导弹撕碎在空中。1944年7月第4周,79%穿过英吉利海峡的V-1导弹都被击落了;8月V-1导弹对伦敦的最后一次进攻,105枚导弹只有3枚抵达伦敦。这是一场前所未有的战争,几乎无人干涉,全部由机器人—VT机器人和V-1机器人—完成,由此揭开了机器与机器对抗的序幕。 其实,在二战中,布什领导的NDRC部门资助了许多项目,这几乎反映了当时的控制系统世界。其中有60多个的项目,都是关于地对空防御问题的解决。维纳的项目也在其中。诺伯特·维纳 (Norbert Wiener),十八岁从哈佛大学哲学系获得博士学位,思想翱翔于九天之上的天才(头脑极度发达,动手能力此处不做评价)。他的研究项目是“预测处在飞行压力之下的驾驶员飞行行为”,而金额只有可怜的2,325 美元(当时NRDC每个项目的平均资助额是145000美元)! 尽管最后,这个项目失败了,但维纳的控制论的基本思想已然形成:控制、反馈与人-机交互。用作者的话来说:维纳没能改变二战的形态,但二战却为维纳打磨了一件利器。但令人无奈的是,VT机器人之所以能够打败V-1机器人,正是因为V-1机器人没有考虑维纳研究的那个问题(如果德军研发人员中注意到维纳的研究,也许二战的结果就要改变啦),也是处在压力之下的所有飞行员都会采取的一种做法,采取躲避行为:一条游走的随机路线。   [list] [*][b]控制论[/b][/*] [/list] 众所周知,二战是人类空前的一次灾难,给整个世界带来了无法磨灭的印记。特别是在科学家们帮助美国政府研发了有史以来最具毁灭性的武器之后,政府没有与科学家们进行任何沟通,直接在太平洋上空投放了这一核武器,这引发了科学家们的强烈不满。  当时的情况是,一方面,V-1导弹、V-2导弹与原子弹的相继研发成功并投入战场,造成了大量伤亡,越来越多的人开始反思战争并反抗军国主义;另一方面:40年代末,军事力量上的技术奇迹开始渗透到工业和私营经济中。50年代,随着汽车和普通电话机成为人们生活中必不可少的一种控制论设备,公众需要有人来解释这些新技术以及它们出现的目的。正是这时,维纳的《控制论(Cybernetics)》 “顺天时而生”。 维纳的“控制论”包括三个核心思想:                                                         控制论 =  控制 + 反馈 + 人机交互  [quote] 1. 控制是指系统能够与环境交互进而塑造环境的能力; 2. 反馈描述了一种“使用机器过去的性能表现调整未来行为的一种属性”; 3. 人机交互,使得人与机器共同组成了一个整体,一个“伺服系统”。 [/quote] 在大众看来,控制和反馈,也许有些抽象、理论化且难以理解,但是第三个思想,“人机交互”,却激发了丰富的想象:机器是否能活过来?机器能否获得智能?既然机器能够扩展人的体能(例如,雷达是人们眼睛的扩展)之后,是否在智能上也会超过人类?既然能用人的思想来理解机器(拟人化的机器),那能不能用机器的思想来理解人呢(机械化的人体)?这些所有的问题,衍生了整个的控制论学科群。 [attach]3673[/attach] 在上图中,维纳与冯•诺依曼的合作,启发了后者关于“自复制自动机”的研究;维纳、麦卡洛克与皮茨的合作,促生了世界上第一个神经元模型;同时,这一学科也启发了其他学科的专家从闭环的角度理解手头的工作。当科学家们在探讨控制论的研究范围和研究重点时,一个名为Ross Ashby(上图右上角)的医生已经“撸起袖子”制造了世界第一台机械大脑——“同态调节器”。它用4个前英国皇家空军的炸弹控制开关齿轮装置为底座,外观套有4个立方铝盒。唯一可见的运动部件是4个小磁针,像指南针一样在每个铝盒顶部安装着的一个小水槽内摆动。该机器的设计主旨为保持4个电磁元器件处于稳定状态,使得铝盒上方水槽中心位置的磁针一直保持在中间位置。Ashby是一位神经病医生(所以说,疯子和天才往往只有一线之差),他之所以会制造这台机械大脑,也是为了借此研究并解释,为什么人的精神会出问题,不得不佩服歪果仁敢想敢干的能力。那这台机械大脑所具有的是一个人类才有的基本特征:具有目标-搜索行为,但却没有具体的目标。阿什比坚信,“任何机器,不管是多么了无生机,都可以用负反馈来展现其生命特征”。引发了新的对于大脑与环境或系统与环境的关系与影响,将控制论的研究推进了几十年。想想今日之脑科学研究、类脑研究、人机交互等研究的生物大脑与其身体形状的关系等许多问题,似乎都与控制论中关于系统与环境的探讨一脉相承。 在阿什比对控制论的推动,维纳对军事力量以及“按钮战争”的反思,对美国的军事也产生了新的影响。维纳最担心的,是“按钮战争”的爆发,当人类把诸如原子弹的核爆炸武器的投放权移交给机器人时,人类会给机器人下达一则“命令”或“口令”,这正像是神话故事中魔法学徒对魔法扫帚或者渔夫对阿拉丁神灯所念的“咒语”。在神话故事中,这样的“任性”口令最终都引发了一些不好的结局;那么在真实世界中,人类是否也会将自身置于尴尬甚至无法挽回的境地?                              [attach]3677[/attach] [list] [*][b]自动化[/b][/*] [/list] 在学术界对控制论的研究范畴、应用范畴等问题进行讨论时,美国政府和企业界已经极大地推动了控制论在军事和工业生产中的应用。前者催生了大陆级别的高空放射炮塔SAGE,后者引发了“自动化工厂不招人”的严峻就业问题。 维纳在其《控制论》一书的序言中就曾经写道:“第一次工业革命,通过引入机械装置导致了人类手臂的贬值”。他相信:“第二次工业革命,同样会引起人类大脑的贬值,至少会引起人类大脑在更简单更常规化的决策方面的贬值”。维纳警告公众:“非常明显,自动化将造成失业的情况,与之相比,30年代的大萧条将不值一提”。当时,美国工人阶级已经对自动化可能引起的“机器换人”情况十分关注,甚至在肯尼迪的国务院记者发布会上也引起了激烈讨论。 [attach]3676[/attach] 1963年,维纳决定对自动化引发了一些精神与技术的后果进行盘点[2],在这次盘点中,他严厉地批判了那些认为“除非预先输入,否则机器不会产生任何输出”的人的观点,并明确强调“我的观点是,机器能够并肯定会超越它们的设计者的某些局限性,并且当机器实现时,他们可能即是高效的又是危险的。很可能出现这种情况,原则上,我们并不能制造出我们永远都不了解其行为因素的机器。但这绝不意味着,我们能用比操作机器所需要的更少时间去理解机器的行为因素,甚至用数年或几代的时间也不行。”尽管今天,我们已经可以制造出不了解其行为因素的机器(如应用神经网络、深度学习等机制的机器)。 同一时期,文学与科学交相辉映。在这个特殊的时代,产生了大量影响深远的文学和影视作品。关于机器智能是否能够超越人类智能、机器人与人类将保持怎样关系的话题,最早的讨论出现于1920年出版的《罗素姆万能机器人(Rossum’s Universal Robots)》,这部小说讲述了一个制造机器人的“人造人”工厂中的故事,小说的结局是机器人对其制造者发起反抗并最终消灭了人类。  在1950年的秋天,这一剧目走上了MIT戏剧院皮博迪剧场的舞台。排演之前,维纳走上台,在人声鼎沸中展示了他称之为“帕尔米亚”的趋光机器人,并用它来展示神经震颤的两种状态:帕金森症和意向性颤抖。这成功引起了美国军方的注意,但军方的关注点却完全不同,恰是维纳的反面,因为在他们看来,机器人不会生病、不会请假、不会闹脾气。 [attach]3674[/attach] 库尔特•冯内古特发表于1952年的《自动钢琴(Player Piano)》也是这一时期的代表作(不知道大家有没有关注《西部世界》这部剧集,每一集的开头都有一架钢琴在自动演奏,应该是对这部小说的致敬),它描述了在机器人替代大部分脑力劳动后,人类幡然醒悟并进行了了一场失败的与机器人对抗的起义的故事。1955年,弗兰克·莱利的《赛博和福尔摩斯大法官(The Cyber and )》则探讨了未来的法院系统,智能高效的机器取代了人类法官。但完美的理性行为并不是一切,道德与情感同样重要,小说的结局是最新型的赛博法官因被要求计算梦的重要性而崩溃。因为机器人在会比人类更快、更精确地完成任务,而且不会生病、不会罢工、不会酗酒,它极大程度上会成为定制化的优秀员工。这甚至引起了获得诺贝尔文学奖的波特兰·罗素的反思:“Are Human Beings Necessary?” 1968年亚瑟·克拉克的《2001: 太空漫游(2001: A Space Odyssey)》则是描述机器获得意识与智能的里程碑式著作,在这部小说中,人类战胜了机器。 在这样的历史背景下,自然而然的出现了一些新的反思:当机器接管之后,人类会灭亡吗?英国星际航行协会前主席、曾被授予卡林加奖的亚瑟·克拉克对于这个问题进行了深入的探讨,他指出,生物进化,已经让位于一个更为快速的过程,技术进化。“直白而残酷地说,机器将会接管一切”。发表在《花花公子》杂志上的这篇文章用一棵展示了生物进化过程的进化树阐明了这一故事:从微生物到鱼类,恐龙,猴子,尼安德特人,现代人类,最后是机器。用他的话说,“因为没有个体会长存于世;那么我们为什么会期盼我们的种族能够永远延续下去呢?” [attach]3675[/attach] [list] [*][b]参考文献[/b][/*] [/list] 1.王飞跃, 社会计算还是社会化计算:兼忆社会计算一词的起源,http://blog.sciencenet.cn/blog-2374-514254.html?from=groupmessage 2.Wiener N. Some moral and technical consequences of automation. Science, 1960, 131(3410): 1355-1358. 3. 在此基础上,提出了“自复制自动机”的理论。 4.1956年麦卡锡提出的人工智能的概念,即是“制造智能机器的科学与工程(the science and engineering of making intelligent machines)” 5.王飞跃, “面向计算社会的计算素质培养: 计算思维与计算文化”, 工业和信息化教育, 2013, No. 6, pp. 4–8. 6.王飞跃, “面向赛博空间的战争组织与行动: 关于平行军事体系的讨论”, 军事运筹与系统科学, 2012, Vol. 26, No. 3, pp. 5-10. 7.Quoted in Douglas Waller and Mark Thompson, “Onward Cyber Soldiers”, Time 146, No. 8, pp: 38-45. 8.王晓公开讲座——机器崛起:从Cybernetics 到Cyborg    

    Revo 2017-06-23 19:03

  • 屏幕快照_2017-06-12_上午10.45_.34_.png

    《GAN的原理与应用专题》笔记

    作者 网小鱼 [b]一、什么是GAN[/b] 框架简述:        GAN全称是Generative Adversarial Nets,中文叫做“生成对抗网络”。在GAN中有2个网络,一个网络用于生成数据,叫做“生成器”。另一个网络用于判别生成数据是否接近于真实,叫做“判别器”。 下图展示了最简单的GAN的结构以及工作原理。 [attach]3642[/attach] [attach]3638[/attach] [attach]3640[/attach] [attach]3641[/attach] [attach]3639[/attach]         模型中最左侧的随机向量是为了让生成器产生不同的输出,而增加的扰动项。这些扰动决定了生成器可以生成不同的仿真作品。之后我们会看到这些向量产生的输出会有一些插值和加减法等方面的特性。       这个图示是最简单的GAN框架,在实际应用中还可以把“生成器的输入-输出”作为判别器的输入,这样就可以做到生成符合某些条件的任务内容。例如根据文字内容生成符合描述的图片。 [b]价值函数 Value Function[/b] GAN的训练是价值函数最大化和最小化的交替游戏: [attach]3643[/attach] 其中Pdata是真实数据,Pz是生成数据。       当我们训练判别器D时,我们希望真实数据的判别值越大越好。同时我们希望对生成数据的判别值越小越好,所以也是越大越好。训练中使用梯度上升,使价值函数的值越来越高。       同理,当我们要训练生成器G时,就希望价值函数的值越小越好,即使用梯度下降来训练生成器的参数。   [b]理论推导 Theoretical reults[/b] 理论推到基于3个假设:     1.训练时间是无限的     2.(生成器和判别器)模型的能力是无限的     3.直接更新生成器的分布 基于以上假设GAN可以得出以下结论: [attach]3644[/attach] 即不论初始值如何,GAN最终都必然会达到均衡。   [b]GAN相对其他生成模型的优势[/b]       GAN可以生成非常清晰的图片,而传统的生成模型生成的图片通常比较模糊。   [b]二、DCGAN    (使用深度卷积的GAN)[/b]       顾名思义,DCGAN就是采用深度卷积的生成对抗网络。英文全称是deep convolutional generative adversarial networks。       DCGAN是第一个把Batch normalization引入到GAN的网络架构,并且使用了Adam等方法,增强了网络的稳定性。 [attach]3645[/attach]       上图是DCGAN生成器的网络结构。 [attach]3646[/attach]       上图是CDGAN论文中提到的“插值”。最左侧一列是由最上面一副随机扰动图片逐渐生成的图片(最下面是最终结果)。最右侧是另一个随机扰动。中间的列是两边的随机扰动向量的中间值(插值),可以看到在生成器的结果随着随机向量的渐变,生成结果也像是在连续的产生变化。说明生成器生成内容是光滑的。 [attach]3647[/attach]       上图是CDGAN论文中的向量加减法,生成器可以把输入向量作为生成目标的某些特征值。例如:戴眼镜的男人 – 男人 + 女人 = 戴眼镜的女人。图片最下面一行是图片本身直接叠加产生的效果,可以看到简单叠加并不能取得很好的效果。说明生成器对特征运算起到了决定性的作用。   [b]三、GAN的一些训练技巧[/b]      该部分内容引自论文《Improved Techniques for Training GANs》。      原始GAN的训练是非常不稳定的,缺乏一个很好的评价标准。我们只能用肉眼观察当前生成的图像是否像真实数据。针对这些问题该论文提出了一些训练技巧。这篇论文还把GAN引入了半监督学习中。 [attach]3648[/attach] 技巧1:特征匹配 从判别器的中间层中取出一些节点作为特征,对特征进行L2正则化监督。 [attach]3649[/attach] 技巧2:最小批次判别 在最小批次的训练内容中尽量引入更多的训练集的特征。 [attach]3650[/attach] 以上是论文中提到的其他优化技巧。不过这些技巧没有其他论文跟进。 [attach]3651[/attach] 使用GAN可以生成很多和真实数据极其相似的数据,把这些数据也作为训练数据,就可以增加已经标记的数据集大小。所以GAN可以看作是一个半监督学习的支持方法,可以一定程度上弥补现实中训练集不足的问题。   [b]四、理论突破:WGAN[/b] [b]WGAN的优点:[/b]     1.    进一步提升了训练的稳定性。不需要精心设置G和D一轮一轮的更新。不需要精心设置复杂的网络结构。(原始GAN的价值函数的梯度很可能是0,就没法得到更新。WGAN提出了新的价值函数解决这个问题。)     2.    几乎解决了mode collapse问题。mode collapse是说生成器生成的内容过于雷同,缺少变化。     3.    提供了具有意义的价值函数,可以判断判别器和生成器是否已经收敛。(原始GAN中如果D的效果不好,我们不知道是G生成的好,还是D判别的不好)     4.    提供了理论公式(不过很难理解)。 [b]过度解决方案Transitional solution:[/b]     1.    在判别器输入中加入噪声,使优化分布成为可能。     2.    随着真实分布和生成分布的距离越来越小,对噪声进行退火,使噪声越来越小直至消除噪声。 [b]Wasserstein Distance(论文提出了新的距离定义)[/b] [attach]3652[/attach] 把真实数据和生成数据的分布的最小距离的期望叫做Wasserstein距离。 如果右上图中AB是真实数据,CD是生成数据,则他们的W距离=θ 。 WGAN [attach]3653[/attach] WGAN采用“W距离”作为训练的价值函数。 [attach]3654[/attach] 当移除BN后DCGAN无法正常工作,而WGAN仍然可以生成很好的图片。所以WGAN可以使用更简单的网络结构。 [attach]3655[/attach] 上图展示了WGAN变了DCGAN中的mode collapse问题。避免经常生成雷同的图片。  

    Alex 2017-06-12 10:47

  • QQ图片20170530183414.jpg

    在中文语言理解中,该被重视的传统分析任务|学习笔记

    文/黄安然       自然语言处理技术的发展势不可挡,但是,自然语言理解相对于视觉和语音识别而言,是目前深度学习中做的还差强人意的地方。自然语言理解本身有很多困难点,如何使用最新的技术找到最新的模型来解决这些困难点,是我们今天所要讨论的话题。 [attach]3622[/attach] [b] 一、自然语言处理(NLP)与自然语言理解(NLU)的区别[/b]       无论是NLP,还是NLU,不能把以前传统的处理方法都抛弃,这些传统的处理方式,今天再度回顾,依然有可借鉴的学习之处。比如,当我们使用一些分词工具的时候,思考分词技术的原理,能帮助我们去突破自然语言的瓶颈。那么,什么是自然语言处理,什么又是自然语言理解呢? [attach]3623[/attach] [b]什么是NLP,什么是NLU?[/b] [b]      NLP (Natural Language Processing) [/b]是人工智能(AI)的一个子领域。       自然语言是人类智慧的结晶,自然语言处理是人工智能中最为困难的问题之一,而对自然语言处理的研究也是充满魅力和挑战的。 一般来说,NLP 流程分为: [quote] 1.)分词(只针对中文,英文等西方字母语言已经用空格做好分词了):将文章按词组分开 2.)词法分析:对于英文,有词头、词根、词尾的拆分,名词、动词、形容词、副词、介词的定性,多种词意的选择。比如DIAMOND,有菱形、棒球场、钻石3个含义,要根据应用选择正确的意思。 3.)语法分析:通过语法树或其他算法,分析主语、谓语、宾语、定语、状语、补语等句子元素。 4.)语义分析:通过选择词的正确含义,在正确句法的指导下,将句子的正确含义表达出来。方法主要有语义文法、格文法。 [/quote] [b]      自然语言理解(Natural Language Understanding,NLU)[/b]技术,涵盖领域非常广泛,包括句子检测,分词,词性标注,句法分析,文本分类/聚类,文字角度,信息抽取/自动摘要,机器翻译,自动问答,文本生成等多个领域。 NLP与NLU的领域如此相似,那么二者之间的区别又是什么呢?       自然语言处理做不到人类对自然语言的理解,“处理”和“理解”是天差地别的两个概念。“处理”好比控制眼睛、耳朵、舌头的神经,他们将接收的信息转化成大脑可以理解的内部信息,或者反过来,他们的功能就是这么多。而“理解”则是大脑皮层负责语言理解那部分,多少亿的脑细胞共同完成的功能。一个人因为其自身家庭背景、受教育程度、接触现实中长期形成的条件反射刺激、特殊的强列刺激、当时的心理状况,这么多的因素都会影响和改变“理解”的功能,所以,“理解”是更加深奥的东西,其技术的攻破仍需一代工程师的不懈努力。 [b]二、深度学习技术加速了自然语言技术的发展[/b]       深度学习在自然语言处理领域的进展非常迅速。三年前人们还认为深度学习对语言这种非自然信号并不有效,通过这几年的发展,深度学习方法已经在自然语言处理的很多任务上都取得了很大的进展,并超越了传统统计学习的方法。那么,如今的深度学习网络又有哪些呢? [b]深度学习网络百花齐放![/b]       目前,深度学习网络包括深度信念网络、卷积神经网络、递归神经网络。深度信念网络是一种概率生成模型,卷积神经网络是为识别二维形状而特殊设计的一个多层感知器,递归神经网络又分时间递归网络和结构递归网络。时间递归神经网络的神经元间连接构成有向图,而结构递归神经网络利用相似的神经网络结构递归构造更为复杂的深度网络。这些深度学习网络共同促进了机器的发展。 [attach]3624[/attach] [b]LSTM,让语言在深度学习领域“热起来”![/b]       LSTM网络(Long Short Term 网络),是一种递归神经网络,其核心技术在于长短期记忆。关键在于细胞状态,在我们 LSTM 中的第一步是决定我们会从细胞状态中丢弃什么信息,下一步是确定什么样的新信息被存放在细胞状态中,最终,我们需要确定输出什么值。LSTM适合于处理和预测时间序列中间隔和延迟非常长的重要事件。 [attach]3625[/attach]   [b]图像与文字融合——抽象的机器翻译[/b] 一些比较有趣的机器翻译包括: [quote] 1.)把文字转化成图像, 2.)把视频通过机器翻译整理出文档 3.)读懂图片当中的内容,形成一个大纲。 4.)对于一篇长篇文章,使用机器翻译,提出摘要。 [/quote]       翻译不仅仅是语种的翻译,更是信息源的翻译。每一位做医生的都要写病例,每一位大学生都要写论文,无论是病历还是论文,都是一种具备特殊格式的文体,这是一件很繁琐的事情,解决人类的繁琐,是人工智能的宗旨。但人工智能并不能帮你写论文或病历,但它可以帮你把病历或论文转化成符合该文体的格式。 [attach]3626[/attach]   [b]深度学习下语言翻译的局限性[/b] [attach]3627[/attach]      机器学习在语言翻译的领域,目前还是做得不够完善。比如“松下问童子”。   [b]中文文字的复杂性[/b]       中文的复杂性,不单单是汉字数量过于庞大,更在于结构复杂而导致的上下文语境理解的认知差距。目前深度学习所能解决的只是小规模的上下文理解,可是我们生活中的语言运用所涉及到的上下文,其中篇幅量可是非常之庞大的。   [b]形文字的魅力,中文字型的自描述性[/b]       象形文字中的汉字自带语境,比如草字,因为有艹,所以人们自然联想到植物,这是基于人类使用这些汉字之后,自然而形成的上下文语境理解。   [b]三、中文自然语义理解的基石——中文分词[/b]       中文为什么复杂,是因为语言基数过大,英文仅仅是26个字母的随机组合,日语也只有五十音。然而中文的数量,却是如此的庞大。 [attach]3628[/attach]   [b]常规分词工具的局限性[/b]       目前人们常使用的分词工具,它所依据的分词词库还是来源于80年代的人民日报,因为语言本身是有发展的,同一个字,在不同的时代可能代表着不同的意思。如果能够利用语言自身的特性,根据上下文,去理解语义的话,这将是一种非常好的开拓思路。   [b]分词难题举例[/b] [attach]3629[/attach]       在上述图片的分词案列中,很容易出现分词失误,其原因有二,一是在该分词的部分连接着一个常见的词语,如果没有较为庞大的语境理解,很容易理解错误。二是中国成语四个字的不同排列组合,也会导致信息表达的不同。   [b]网络用语的同音错字如何进行词性标注[/b] [attach]3630[/attach]       对于一些故意写错的网络用语,采用反向法,根据字的读音,先找出错误的,再根据错误的上下文语境的理解,进行修正。       对于一些故意写错的字形,将其转化为图片进行理解。   [b]词向量对分词的重要意义[/b]       中文分词是很多中文自然语言处理任务的第一步,引入词向量能够带来分词准确率的显著提升。目前词向量已经是自然语言技术里的一个标配了,词向量是一个很有趣的技术,比如说,你可以问它,张惠妹之于阿妹,那么周杰伦之于什么?它就会回答,周董。词向量可以让语言在几百万维度里压缩成几百维,这时候,我们就会发现,原来所认为的复杂的问题,就会变得很简单。但若,分词分错了,那就万劫不复了。 [attach]3631[/attach] [b]早期的分词方法[/b] [attach]3632[/attach] 早期的分词方法以字典为词库,进行分词,根据中文的语法规则,具有重要意思的字总是会被放在后面,所以,字向量的技术发展到可以根据后一个字,推测前一个字了。 利用BNES的最大优化。中文分词,就是给一个汉语句子作为输入,以“BEMS”组成的序列串作为输出,然后再进行切词,进而得到输入句子的划分。其中,B代表该字是词语中的起始字,M代表是词语中的中间字,E代表是词语中的结束字,S则代表是单字成词。 例如:给个句子 [quote] 小明硕士毕业于中国科学院计算所 得到BEMS组成的序列为 BEBEBMEBEBMEBES 因为句尾只可能是E或者S,所以得到切词方式为 BE/BE/BME/BE/BME/BE/S 进而得到中文句子的切词方式为 小明/硕士/毕业于/中国/科学院/计算/所 [/quote]   [b]汉字形音结构对语意理解的帮助[/b]       中文汉字语言的语义是随着时代的发展而发展的,很多网络新词,由于其诙谐有趣,而被大量使用,有时候,估计两代人之间的沟通,都需要机器翻译才能相互理解了。例如,下文就是网络中常见的一些语句,这些语句,对中文语言的理解,就产生了某些威胁。 [attach]3633[/attach]   [b]使用中文字部首建立中文文字向量[/b] [attach]3634[/attach]   [b]将汉字作为小图像处理的新方法尝试[/b]      根据偏旁对汉字进行上下文理解,即将汉字作为小图像进行处理,这样,就很容易识别同形错字了。 [attach]3635[/attach]   [b]使用模糊语法规则处理电商评价[/b]       电商平台的用户评论标签化,对于用户而言,是非常省时省力的事情,但是,如何从那么多的评论当中,高精准得抽离出有用的标签,这是一件不容易的事情。通过自然语言处理技术,这个问题就好解决多了,只要解决词性问题,就可化繁为简。 [attach]3636[/attach]   [b]依存关系是关键[/b]       弃序列关系为树状关系,再提取依存关系特征,这将使问题变得更清晰。 [attach]3637[/attach]  

    Alex 2017-06-09 13:40

  • AI 资讯/业界动态 2017/06/01

    [list] [*]论文:[url=https://arxiv.org/pdf/1705.10998.pdf]The Atari Grand Challenge Dataset[/url],公开了 2600 个雅达利游戏录像,可用做增强学习,数据集地址 [url]http://atarigrandchallenge.com/data[/url][/*] [*]两篇用 GAN 来做自然语言生成的论文: [list] [*][url=https://arxiv.org/abs/1705.10929]Adversarial Generation of Natural Language[/url][/*] [*][url=https://arxiv.org/abs/1705.11001]Adversarial Ranking for Language Generatio [/url][/*] [/list] [/*] [*]两篇分析 word embedding 性质的论文: [list] [*][url=https://arxiv.org/abs/1705.11168]Are distributional representations ready for the real world? Evaluating word vectors for grounded perceptual meaning[/url][/*] [*][url=https://arxiv.org/abs/1705.10900]Does the Geometry of Word Embeddings Help Document Classification? A Case Study on Persistent Homology Based Representation [/url][/*] [/list] [/*] [*]论文:[url=https://arxiv.org/abs/1705.11160]Learning When to Attend for Neural Machine Translation[/url],腾讯 AI 实验室的论文,对 NMT 中的注意力机制进行改进[/*] [*]论文:[url=https://arxiv.org/abs/1705.11040]End-to-end Differentiable Proving[/url],可微定理证明[/*] [*]论文:[url=https://arxiv.org/abs/1705.10142]Kronecker Recurrent Units[/url],结合 Kronecker 矩阵分解,来减少 RNN 中的参数数量,解决梯度消失和梯度爆炸的问题[/*] [/list]

    不系舟 2017-06-01 09:43

  • darknet_twitter.png

    AI 资讯/业界动态 2017/05/26

    [list] [*]百度发布深度语音合成系统 Deep Voice 的第二个版本,可生成上百种口音的逼真人声[/*] [/list]            论文地址:[url]https://arxiv.org/abs/1705.08947[/url]   [list] [*]基于 CNN 的开源图像工具 DarkNet 开放 Twitter 帐号,只要发推给它带上图片,它会对图片内容进行识别[/*] [/list]               [attach]3608[/attach]             DarkNet 的 Twitter 帐号: https://twitter.com/DarknetForever             DarkNet 的项目地址:[url]https://github.com/pjreddie/darknet[/url]  [list] [*]Alpha GO: 08:30 配对赛和团队赛开始[/*] [/list]   [list] [*]fontjoy: 将 embedding 思想应用到字体上,字体的 embedding 之间可以做算术运算[/*] [/list]               [attach]3607[/attach]             字体向量地址:https://github.com/Jack000/fontjoy             字体向量可视化:http://fontjoy.com/projector/

    不系舟 2017-05-26 09:29

  • AI资讯-2017/5/24

    发布者 不系舟      - 华东理工大学:Computer Vision-Based Food Calorie Estimation: Dataset, Method, And Experiment        发布了一个用于食物卡路里计算的数据集,包含了食物的图像,以及食物的体积和质量信息,不过数据集有点小,才 2978 张。      - 中科大:Learning to Associate Words and Images Using a Large-scale Graph        提出无监督方法,学习 12306 验证码和提示文本之间的关联关系,并声称成功解决 12306 的验证码问题      - Google: Pixcolor: Pixel Recursive Colorization]        提出了一个方法,对给定的灰度图像进行上色,能自动产生多张不同的彩色图像,相比以前的方法,生成结果更具有多样性,并且在「视觉图灵测试(Visual Turing Test)」中被认为是更可信的      - UIzard:pix2code: Generating Code from a Graphical User Interface Screenshot        论文使用深度学习的方法,学习软件的 GUI 截图和对应的界面设计代码的映射关系,并可以用这个代码来生成真正的软件界面      - 亚马逊剑桥研究院&谢菲尔德大学:Living Together: Mind and Machine Intelligence        对机器智能和人类智能的一些讨论      - Facebook 人工智能研究院:Poincaré Embeddings for Learning Hierarchical Representations        论文提出在双曲空间中学习 embedding 来得到对数据中的层级结构进行更好的建模

    ingchuang 2017-05-24 09:56

  • 屏幕快照_2017-04-20_下午3.29_.22_.png

    自然语言理解在金融领域的应用 | 尹相志

    [attach]3577[/attach]  [b]中文理解与金融业[/b] 如今的人工智能已经在各个子领域中取得了突飞猛进的发展。现在的AI可以听、说、读、写,但是在自然语言的理解方面仍然存在着很大的不足。 [attach]3581[/attach] 自然语言处理 特别是,对于中文的处理恐怕是人类智力仅剩的堡垒之一。处理中文尤其困难是因为: 1.中文是世界上少数的几个需要分词的语言; 2.中文的字符(汉字)数量超多(20928); 3.能够依赖上下文产生相反的语义; 4.无需约定俗成就可以创造出新的文字。 比如,你们知道用中文表达「快递很快」有多少种表达方式吗?答案是3600多种讲法。  [attach]3586[/attach] 汉语表达的多样性 金融业是比较保守的行业,除非你的技术真的能解决它的痛点问题,否则它将不会采纳新的技术。那么金融的痛点问题都有哪些呢? 现在的金融从业人员正在阅读大量的合同、文本、网页等信息,从中提炼出重要的关键信息。而这些文本大多非常冗长难读,令人非常伤脑筋,而且还可能犯错误。下面,就让我们来看看这张图: [attach]3582[/attach] 金融行业冗长的文本信息 这样一段长长的冗余文字实际上就想表达这样的实体关系: [quote] 华夏幸福基业股份有限公司-->(父子公司)-->廊坊京御房地产开发有限公司 廊坊京御房地产开发有限公司-->(父子公司)-->廊坊市圣斌房地产开发有限公司 华能贵诚-->(向...增资)-->廊坊圣斌 华夏幸福-->(向...提供担保)-->京御地产 华夏幸福-->(向...提供担保)-->廊坊圣斌 [/quote] 实际上,实体-关系识别是金融行业中的最典型应用,如下列问题:法金授信、二级市场分析、个资掩码、授信照会、投资研究。 [b]我们的技术可以透过自然语言整理知识图谱,而知识图谱再透过自然语言进行推理,这将会是人工智能的下一波增长点…… [/b] [attach]3580[/attach] 另外,利用Seq2Seq模型,我们可以利用自动对话数据理解或猜测出用户的「意图」(Intent),并同时识别「实体」(Entity)和产生「行动」(Action)。  [attach]3584[/attach] 词向量技术在金融中的应用 下面,我们展示我们利用词向量(Word2Vec)技术来自动而快速地生成实体列表和商务规则。 [attach]3578[/attach] 利用词向量技术来自动而快速地生成实体列表和商务规则  词向量技术是近年来发展出来的一种深度学习技术,它可以通过扫描文本而自动将每个单词嵌入到一个高维空间中,使得每个单词出现的位置都和它的上下文有关,相似的词可以得到相似的空间向量。另外,更有意思的是,词向量不仅能够表达实体单词,还能表达实体之间的关系,例如著名的公式:[b]男人-女人=国王-王后[/b],这里面的差向量就是男女关系这个向量。所以,利用词向量可以进行一定的类比思维。再比如右侧的图中,左侧的实体是国家,右侧的实体是城市,直线对应的是首都关系。 在我们的例子中,我们将词向量技术用于枚举出所有的币种。我们通过扫描大量的文本,可以得到每个单词的词向量,那么我们怎么把所有的货币的名称跳出来呢?答案很简单就是利用如下这个cos距离的公式,我们只要将与美元的距离+英镑的距离和最小的那些词向量所对应的实体列举出来就可以了。  [attach]3579[/attach] 这样,我们便可以枚举出如下的所有币种了: [attach]3593[/attach] 然而,利用这种方法无法排除歧义词的问题。 [attach]3583[/attach] 我们的解决方案是引入第三个词。这里有两种方法,一种是语义增强,一种是语义消岐。采用下面的两个公式分别能够做到这两点: [attach]3585[/attach] 这样就可以得到我们希望要的结果了。但是这里的冰棒和雪糕还是有点怪怪的。 [attach]3583[/attach] [b]Brain of things公开比赛[/b] 下面,我想介绍一下我们华院数据今年的公开比赛:Brain of things,我们会在这里提前两天公开我们的赛题。在去年的比赛中,我们制定了比较变态的赛题,真的很难,但是大家答得都很好。 比如,我们的初赛试题是图像理解,这不是普通的识别,你要能够认出这张剪纸是一只狗,这是一只装扮成长颈鹿的狗,所以机器要对图像进行深层理解。  在复赛实体中,我们要对货架上的货品进行自动计数,进行盘点,这意味着你的程序要能够对20几种产品进行识别。当然,复赛还包括行车记录仪的应用。  [attach]3591[/attach] 而我们去年决赛的题目是看图理解,并用中文回答问题,这在全世界都是首例。这个题目超难,但还是有人给出了非常令人吃惊的成绩。 [attach]3594[/attach] 那么,下面我们来公布我们今年的题目,今年的初赛题目是寻找K线之王,就是让机器直接看K线图,从而判断出是否发生了上涨下跌、k线背离、阻力位、支撑位等。你注意,在这里我们不能简单地用卷积神经网络来做,因为不能够有权值共享。 我们的复赛题目是判断新闻中的蝴蝶效应,即评估出市场消息对股价影响的程度。也就是输入一段文字以及图片,判断出次日、第三日的涨跌幅,这样当出现一条消息之后,我们就可以用机器来做预判,而不必引起不必要的恐慌。 扫描二维码即可观看现场讲座的录播视频哦 [attach]3587[/attach] 尹相志:自然语言理解在金融领域中的应用 [b]进一步学习的课程[/b] 1、有关知识图谱(实体关系提取),推荐课程: [attach]3589[/attach] 张江:知识图谱与表示学习 2、有关词向量技术,推荐课程: [attach]3588[/attach] 李嫣然:Word2Vec: 词向量技术的基础与模型  [attach]3592[/attach] 谷伟伟:浅谈Word2Vec: 自然语言的基石 

    Alex 2017-04-20 15:52

  • 屏幕快照_2017-04-20_下午3.04_.57_.png

    华院首席科学家:中文或是人类面对人工智能的最后壁垒

    [quote] “语言可能是人类面对人工智能最后的壁垒,尤其是中文。” [/quote]   在3月18日集智俱乐部在中央财经大学学术会堂举办的公开讲座上,华院数据首席数据科学家尹相志结合NLU(Natural Language Understanding,自然语言理解)在金融领域的应用之处侃侃而谈。在阿尔法狗在围棋领域击败人类之后,人类又一引以为傲的智慧壁垒被攻破,那么究竟有没有一个领域是人工智能暂时无法企及人类的?尹相志给出的答案是中文。 NLP(Natural Language Processing,自然语言处理)是人工智能的一个子领域,也是人工智能中最为困难的问题之一,“语言本身就是一种特殊的数据,它本身就覆盖着意义,我们需要提取的是语言的意义,而不是语言的符号形式。” [b]而NLU将通过对自然语言的理解,实现极佳的人机交互体验,将人类从无聊、繁琐但必要的事务性工作中解脱出来。[/b] [attach]3562[/attach] 尹相志在集智俱乐部的公开讲座 [b]新时代的“孔乙己之问”: 形容「物流很快」有几种说法?[/b] 金融从业者每天一早就要读报表、新闻,写出晨报或纪要;而一个医生每天也要对病房、病人的情况进行记录,并进行分析。这些“繁琐但必要”的工作,正是NLU的用武之地。 “人工智能首先替代的不是体力劳动。”[b]尹相志说。人工智能将首先攻陷重复劳动较多、毛利率较高的行业,例如金融、医疗。[/b] 传统的NLU技术往往采用穷举法,在尹相志看来,这一招对于神秘莫测、巨量词汇的中文不管用。 “想想看,在电商网站的评论中,形容「物流很快」有几种说法?”尹相志的这个提问,让人想起了鲁迅《孔乙己》中的「孔乙己之问」:茴香豆的茴有几种写法? 这两个问题的不同点是,「孔乙己之问」相对封闭,可以通过穷举法轻松回答,而由于中文词汇的多义性,“尹相志之问”则几乎不可能通过穷举法回答,“我们分析,形容「物流很快」至少有3600种说法,比如「第二天就到了」「物流很给力」「给快递点赞」等等,这就给NLU技术提出了很高的考验。” [attach]3567[/attach] 汉语表达的多样性 [b]金融业NLU应用痛点: 实体/关系识别[/b] [b]“对于人工智能,最难的就是理解语言中不同代词的具体所指。”[/b]尹相志举例说,在一段文字中,可能出现多个「公司」的单词,那么人工智能就要判断这些「公司」分别是什么公司,而它们之间又是什么关系,这样才能真正理解一段文字。 尹相志说,在金融业的法金授信、二级市场分析、个人资料掩码、授信照会、投资研究等实际工作中,都可以由NLU对实体、关系进行识别。同样的工作如果由人工来做,难免出现疏漏、错误,并且会产生高昂的时间和工资成本。 [attach]3565[/attach] 活动现场照片 [b]词向量:NLU的华丽杀招[/b] [b]NLU的核心命题,在于将语言符号数字化。[/b]因此,人们利用计算机工具,将词变成了“词向量”,这种方法把每个词表示为一个很长的向量。这个向量的维度是词表大小,其中绝大多数元素为 0,只有一个维度的值为 1,然后透过深度学习将高达数百维度的超大向量压缩至200~300维,这样高度压缩的结构就是词向量,这个维度就代表了当前的词。通过阅读“词向量”,人工智能可以把语言“可视化”。 [b]“透过自然语言整理知识图谱,知识图谱再透过自然语言进行推理,是人工智能的下一波增长点。”[/b]尹相志预测。 除了语义模拟之外,尹相志还举例介绍了如何利用词向量快速生成实体列表与商务规则。为了消灭歧义,可引入语义增强、语义消歧两种手段。 [attach]3563[/attach] [attach]3564[/attach] 词向量的应用 [attach]3566[/attach] [attach]3569[/attach] 词向量的应用: 语义增强和语义消歧 [attach]3573[/attach] 词向量的应用: 语义增强和语义消歧 [b]Brain of Things 2017竞赛题剧透: 人工智能竟然要做这些事[/b] 辨别玩具狗和真狗、识别行车记录仪场景、识别超市货架……在2016年的Brain of Things竞赛中,人工智能大显神威,让人看到了机器深度学习的更大潜力。 今年,人工智能又要在比赛中面对怎样脑洞大开的题目?尹相志剧透了初赛和复赛的题目,并且“友情提示”:这些题目都很难。 [quote] 一、 K线图智能视觉特征理解 赛事提供历史K线图和对应的K线图评论,参赛者需通过训练使计算机自动撰写对应的K线评论。详细数据集内容与评比规则后续将与大赛报名一起发布。 二、市场消息股价影响评估 赛事提供过往宏观、行业等消息和个股的行情、资讯、公告、重大事项等消息,参赛者需要通过训练使计算机可以评估市场消息对于股价的影响。详细数据集内容与评比规则后续将与大赛报名一起发布。 三、泛金融领域商业模式赛 智能投顾、风险控制、定价、欺诈检测、企业和个人征信、财富管理、智能助手、区块链、消费金融、供应链金融等大数据和人工智能在金融领域的创新应用等科技金融领域,提交商业计划化书,商业计划书需含有可操作商业模式和具体实施路径。 [/quote] 想想看,要是AI能较好地完成这些任务,炒股还用愁吗?让我们期待AI的精彩表现吧。 [b]“声称可以识别90%以上自然语言的技术, 很可能是忽悠你的”[/b] 在答问环节中,尹相志承认,目前人对于人脑和电脑的学习机制都没有完全研究透彻,人工智能也就很难真的完全理解人类自然语言,“声称可以识别90%以上中文自然语言的技术,恐怕是要小心他在忽悠你了。”[b]只有谦卑的面对技术成未成熟的现实,才有可能向前进步,如何辨别真技术和假忽悠,将成为技术成熟的重要关键。[/b] 尹相志认为,技术的产业化应用一定要非常谨慎,反复的失败尝试,会影响投资者和公众的信心。不过,尹相志确信,未来随着算法的完善,NLU的准确率和应用性将越来越强。 [attach]3568[/attach] 扫描二维码即可观看现场讲座录播视频哦 [attach]3571[/attach] 尹相志:自然语言理解在金融领域中的应用 [quote] 进一步学习的课程 [/quote] 1、有关知识图谱(实体关系提取),推荐课程: 张江:知识图谱与表示学习 [attach]3572[/attach] 2、有关词向量技术,推荐课程: [attach]3570[/attach] 李嫣然:Word2Vec: 词向量技术的基础与模型  [attach]3576[/attach] 谷伟伟:浅谈Word2Vec: 自然语言的基石 

    Alex 2017-04-20 15:19

  • 屏幕快照_2017-04-20_下午2.32_.21_.png

    图片翻译机——GAN的神奇功效

    你听说过GAN可以将白马“转化”为斑马,可以积木“转化”为建筑,可以把线条“转化”为猫咪、鞋子、挎包,可以把白天转化为黑夜…… 这些都是在基于GAN的框架下实现的图片翻译,这就是pix2pix这篇论文([url]https://arxiv.org/abs/1611.07004),真的非常值得一读。本文就来给大家讲述一下它背后的原理。[/url]    原文作者: Christopher Hesse ——2017/2/19 原文链接:[url]https://affinelayer.com/pixsrv/index.html[/url]   让我们先来看一些例子: [b]建筑立面标签到建筑的转换[/b] 本模型使用“建筑立面标签和建筑立面数据集”训练。在面对一大片空白时,它往往不知道怎么做,但是如果你提供足够的窗户位置信息给它,它往往能产生相当不错的结果。 [attach]3560[/attach] 绘制代表“墙”颜色的矩形可以擦除已绘制的对象。我不知道在“建筑立面”中,不同部分的专业术语应该怎么说,所以我就猜着来了。 [b]轮廓到猫的转换[/b] 这个模型是使用了大约2000张猫的图片,以及对应的自动生成的轮廓图片来训练的。 [attach]3546[/attach] 它可以生成一些“类似猫”的物体,有一些生成的图片蛮恐怖的。我印象最深的是这一张“ cat-beholder(怪化猫)”。 [attach]3547[/attach] 一些图片看起来着实让人心里发毛,很容易注意到,在生成的动物不太对劲时,眼睛是最诡异的部分。我想是因为“轮廓识别”功能并不是很好用,在很多时候,它识别不到图片中猫的眼睛。导致使用图片训练模型的时候,效果并不是那么的好。 [b]轮廓到鞋子的转换[/b] 本模型使用5000张左右的“鞋子图片”和对应自动生成的轮廓图片来训练,这些图片来自于Zappos。如果你真的非常擅长画鞋子的轮廓,你可以尝试设计一些新的款式。记住这个模型是使用真实的鞋子图片来训练的,所以如果你能画出鞋子的3D轮廓,模型将表现的更好。 [attach]3558[/attach] [b]轮廓到手提包的转换[/b] 和前面的那个类似,本模型是通过137000张来自亚马逊的手提包图片,以及根据这些图片自动生成的轮廓图来训练的。如果你在这里绘制的是一只鞋而不是一个手提包,你将获得一只有诡异纹理的鞋子。 [attach]3553[/attach] [b] pix2pix的工作原理 [/b] pix2pix使用了一种被称为条件生成对抗网络(cGAN)的技术来学习从输入图像到输出图像的映射。整个网络由两部分构成:生成器和辨别器。生成器将一些图像变换应用到了输入图片上以得到输出图像。辨别器的任务是比较输入图像和一个未知的图像(要么是要翻译的目标图像,要么是从生成器生成的图像)并猜出来它是不是由生成器生成的。 一个例子是我们输入一张黑白图,而目标则是彩色的图,例如: [attach]3550[/attach] 生成器就是要学习如何将黑白图上色: [attach]3548[/attach] 辨别器的任务则是比较生成器给的染色和训练数据中实际的染色方案,并指出它们是否有区别。 [attach]3549[/attach] 为什么要费劲这么做呢?因为我们用辨别器的损失函数可以自动学习得到一个生成器,而不需要指定生成器如何工作的细节,这种想法真的非常赞!手动地编码这种转换将会被训练神经网络所取代,那么为什么我们不连损失函数也让机器自动学出来呢?别想太多了!如果真这样了,那么你就可以一边歇着睡大觉了。 下面,就让我们来详细看看这两部分:生成器网络和判别器网络。 [b]生成器:[/b] [attach]3551[/attach] 生成器的任务就是将输入的图像转换成目标图像。在pix2pix中,这是用一种编码-解码器架构来实现的,如图: 这里面,很多的立方体表达了卷积神经网络的参数张量,下面的数字则是张量的维度。在这个例子中,输入图像是256*256大小3种颜色通道的图像(红、绿、蓝通道,对于黑白图,这三个通道的数值相等),而输出则相同。 生成器接收输入,并将它用一系列编码器(卷积+激活函数)简化成更小的表示(representation)。这样做的基本想法是我们用最终的编码层可以得到一种对数据更高层次(抽象)的表达。解码器层呢主要做了相反的操作(反卷积deconvolution+激活函数),并将编码层的动作反过来。 [attach]3552[/attach] 为了提高这种图像到图像转换的效率,作者用了一种称为U-Net的方法而不是编码-解码器方法。它们本来是一回事,但是U-Net引入了所谓的“跳跃链接”,以便将编码器层和解码器层直接相连,如图: [attach]3555[/attach] 这种跳跃链接可以为网络提供一种省略编码/解码部分的选择,从而当网络真的用不到它们的时候,处理效率就会很快了。 当然,在我们的图示里,我们省略了很多东西,例如一开始的batch norm层,以及中间的dropout单元等。 [b]辨别器:[/b] 辨别器的工作就是要区分输入的图片是由生成器生成的还是我们想要的目标图。结构如下图: [attach]3554[/attach] 这个结构看起来很像生成器的编码器部分的网络,但是它们工作起来的作用却不太一样。辨别器的输出是一个30*30的图像,每一个像素都是0~1的数值,代表了这一部分与目标图像比起来有多像。在pix2pix的执行中,这30*30图像中的每一个像素都对应了输入图像的70*70个块(patch,这些patch会有很多重叠,因为输入图像大小是256*256)。这种架构称为“PatchGAN”。 [b]训练:[/b] 训练这个网络需要两步,训练判别器和训练生成器。 要训练判别器,首先要让生成器生成一张输出图片。然后让判别器检查“输入/目标图像对”和“输入/输出图像对”,并计算出两者的“真实程度”。 根据“输入/目标图像对”和“输入/输出图像对”的分类误差,调整判别器的权重值。 [attach]3557[/attach] 根据判别器的输出调整和生成图片与真实图片的误差,调整生成器的权重值。 [attach]3556[/attach] 在这里有个聪明的小花招,当你使用判别器来训练你的生成器的时候,实际上你在通过判别器来计算梯度。这意味着判别器同时也会得到改变,你正在训练生成器来打败判别器。 原理就是随着判别器变的更好,生成器也变的更强大。 如果判别器可以很好的工作,同时生成器通过梯度下降,也将映射函数学习的很好,你就可以生成足以乱真的输出了。 “pix2pix-tensorflow”实现“pix2pix”的算法思想是基于“GAN”的,所以模型都是使用成对的图片来训练的,比如使用:“建筑立面标签图片”和“建筑立面图片”。训练后就可以通过你的“输入图片”来生成“回应图片”。 这些预训练的模型都可以在GitHub上讲数据集的部分找到(https://github.com/affinelayer/pix2pix-tensorflow)。这些模型都可以使用“pix2pix.py”,在训练结束后导出来。猫的轮廓图片是使用“Holistically-Nested”(https://github.com/s9xie/hed)的轮廓检测程序来实现的,这个功能已经添加到“process.py”中了,并且所有的依赖包都添加到Docker的镜像中去了(https://hub.docker.com/r/affinelayer/pix2pix-tensorflow/)。 pix2pix-tensorflow是pix2pix的Tensorflow实现。所有的代码都能在gitHub上找到,如果你想在自己的计算机上尝试它,我在这里会给你一些建议。 pix2pix-tensorflow使用的数据格式跟 pix2pix 的格式一样,包含并排显示的输入图像和预期的输出图像。例如: [attach]3561[/attach] pix2pix 的论文中已经包含了一些可用的数据集。可以使用 tools/download-dataset.py 脚本来下载这些数据集。 facades 是一个最小最简单的数据集,一般可以从这里开始。 为了对结对图像进行常规训练,你需要指定包含训练图像的目录,以及目标训练目录。目录的参数是 AtoB 或者 BtoA。 python pix2pix.py --mode train --output_dir facades_train --max_epochs 200 --input_dir facades/train --which_direction BtoA 测试是通过参数 --mode test 来进行的。你应该使用 --checkpoint 指定检查点,这个需要指向 output_dir 目录,该目录是你之前用 --mode train 参数创建的: python pix2pix.py --mode test --output_dir facades_test --input_dir facades/val --checkpoint facades_train 测试模式将会自行加载一些检查点的配置参数,因此你无需指定 which_direction 参数。 测试运行完毕将输出一个 HTML 文件,位于 facades_test/index.html ,该文件显示 input/output/target 图像集合: 有关GAN的更多内容请观看如下课程: 【[url]http://campus.swarma.org/gpac=8】[/url] [attach]3559[/attach]  

    Alex 2017-04-20 14:42

  • 屏幕快照_2017-04-20_下午2.02_.22_.png

    深入浅出解读GAN!

    也许你已经被对抗生成网络、对偶学习等高大上的概念吸引,也许你正沉浸在pix2pix这个好玩的程序之中。那么,你不想知道究竟什么是GAN吗?它的工作原理又是什么?它会向哪个方向深入发展? 事实上,GAN并不仅仅能够生成各种新鲜有趣的图片,它也是一整套机器学习框架,甚至于一种寓意深刻的思想方法。   我们知道,现在的机器学习擅长的是对图片、语音、文本等进行分类,我输入给神经网络一张图片,它就可以输出一个数,告诉我这个图片是猫还是狗。现在,科学家们希望把这个过程反过来,也就是我输入一个数,神经网络则给我一张图片。这就是所谓的生成过程。 在GAN出现之前,人们已经找到了一些生成图片、语言等的方法,比如自编码器(AutoEncoder),或者反卷积神经网络(De-convolution)等。但是,这些生成方法得到的图片结果却总是效果不佳,而且训练也很慢。于是,Ian Goodfellow就提出了一种全新的方法,它创造性地把深度学习的一体问题转化为了一个二体问题。也就是说,本来我想得到的是一个生成器(一体),但是GAN方法却同时训练了两个神经网络(二体):一个是生成器,一个是判别器。令人意想不到的是,将两个网络一起训练不仅没有增加我们的负担,反而会同时将生成器和判别器一起训练好。 具体的,我们可以把GAN的思想表示成如下框图: [attach]3544[/attach] 其中生成网络专门为了造假,生成各种伪造的人脸,而辨别网络则专门负责甄别输入的图是真实的人脸还是伪造的赝品。这两个网络一起训练。这样,生成网络和辨别网络二者之间就构成了一种零和博弈关系。 令人意想不到的是,正是这样一个二体关系的引入却能大大提升生成器造假的水平。而另一方面,人们发现,这样训练出来的辨别网络居然也能比通常表现更好。 从另一个角度说,GAN的出现以及流行标志着深度学习已经由单体年代进入了多体年代,越来越多的博弈关系的引入将会被引入深度学习框架之中。例如,现在已经有了的Teacher-student架构,以及对偶学习架构实际上都在用二体来训练神经网络。 继续学习课程...... 为了将GAN的思想和技术阐述的更详细。集智AI学园推出了系列课程专门讲解各种GAN。你将聆听到三位女生为您解读这些最前沿的技术。 1、深度学习新星——生成对抗网络 [attach]3542[/attach] 首先,让我们来听听北大的姑娘尉方音给我们介绍GAN的工作原理是什么,以及目前比较流行的集中对原始GAN的扩展。 【http://campus.swarma.org/gcou=10128】 课程内容包括: 生成对抗网络原理介绍 一些有趣的GANs发展方向 生成对抗网络在实践中的训练技巧 WGAN——GANs的原理突破 2、深度生成对抗网络(DCGAN)的解读与应用  接下来,秀外慧中的90后美女讲师文雷将向我们详细解读Radford & Luke Metz,  Chintala: Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks 这篇经典文献。 【http://campus.swarma.org/gcou=10142】 [attach]3543[/attach] 课程内容包括: 传统生成对抗网络(GAN)的工作原理与缺陷 DCGAN的优势总览 DCGAN的改进点 DCGAN的实验与应用 DCGAN总结与未来研究方向 3、GAN与改进型的GANs 最后,如果你想获得理论上的提升,就请听一听中科院理论物理所的甄慧玲博士为我们讲解的这堂课。你将会看到,计算机科学家、物理学家和数学家是如何从不同的视角来看待GAN的。 【http://campus.swarma.org/gcou=10130】 [attach]3545[/attach] 课程内容包括: 1、GAN结构上的改进 模式正则化生成式对抗网络(Mode Regularized GAN) 边界寻找生成式对抗网络(Boundary-Seeking GAN) 最大似然增强的离散生成对抗网络(Maximum Likelihood Augmented Discreted GAN) 最小二乘生成式对抗网络(Least Squares GAN) Wasserstein GAN 2、GAN计算上的改进(正则化、耦合) 能量生成对抗网络(Energy-based GAN) 概率估计深度生成模型(Deep Generative Models with Probability Estimation) 3、我们正在研究并推荐的方法 基于能量模型的变分训练(From variational training of energy-based models)              从给定目标分布中抽取样本进行概率推理(Draw sample from given target distributions for probabilistic inference) 4、工程学的换位思考——数学辩证法还是物理辩证法?

    Alex 2017-04-20 14:05

  • 屏幕快照_2017-04-20_下午1.29_.46_.png

    对偶学习的生成对抗网络 (DualGAN)

      [attach]3529[/attach]对抗生成网络(GAN)和对偶学习(Dual Learning),都是在无监督学习领域大放异彩的研究方向。虽然两者一个来自于图片识别,一个来自于机器翻译,但是两者在巧妙的算法设计思想上有着相当大的相似性。如果将GAN与Dual Learning结合起来,那便产生了非常有趣的“图到图的翻译(Image to Image Translation,详见本期推文《图到图的翻译》)”。前些日子在AI圈风靡一时的“Facades”,可以根据用户绘制的建筑标签生成“真正的”建筑图片,其原理就是图片和图片标签之间的相互“翻译”。   近年来,[b]生成对抗网络(Generative Adversarial Networks, GAN)[/b]成为了人工智能领域最为炙手可热的研究方向。GAN 的想法最早由 Ian Goodfellow 在 2014 年提出。GAN 用对抗的方法,同时训练了一个「生成模型(G)」与一个「判别模型(D)」,在学习的过程中,生成模型的优化目标是尽可能地去生成伪造的数据,从而获得真实数据的统计分布规律;而判别模型则用于判别给出的一个输入数据到底来源于真实数据还是生成模型。最终,当一个判别模型无法准确分辨生成模型所生成的数据是否为伪造时,此时我们认为判别模型与生成模型都已经提高到了较高的水平,生成模型所生成的数据足以模仿真实世界中的数据。因此,当我们使用 GAN 来「识别」图片时,我们不但识别了图片的内容,还可以生成各种不同内容的图片。费曼曾经说过:“What I cannot create, I do not understand.”生成模型为人工智能的研究提供了一种“create” 的可能性,因而引起了广泛的关注。 值得注意的是,生成模型所生成的结果并非是凭空来产生,更多的时候,很多图像处理和计算机视觉的问题都可以被看成是一种「图片翻译」的问题,例如一张人脸的照片以及与之对应的一张素描之间的相互转换就可以看成是从一张图片「翻译」为另外一张图片。事实上,更一般的,边界探测,图像分割,图片的风格化和抽象化等等都可以被视为是这样一种「翻译」问题。 而说到「翻译」,我们很容易会想到其在自然语言处理领域中的一些应用。近年来在机器翻译领域也有许多有意思的新进展。其中一种新的做法是对偶学习(dual learning),这种学习的方式为解决无监督学习中遇到的困难提供了新的思路。简要介绍一下这种学习方法的基本思路:假如现在小明只能讲中文, Alice 只会讲英文,他们两个人虽然都不懂对方的语言,但是他们希望能够可以中英文之间的两个翻译模型(中译英,英译中)。怎样可以实现他们的这个目的呢?首先,对于一个英文的句子,Alice 先用翻译工具将其翻译为中文,由于她并不懂中文,于是她直接把句子发给了小明;但小明又不懂英文,于是小明只能按照中文的语言习惯判断这个句子是否通顺,这可以帮助小明判断这个「英译中」的系统是否做得很好,随后,小明把他修改过的句子再用「中译英」的系统翻译成英文,并把英文句子发给 Alice。Alice 虽然不懂中文,但她能比较经过这一大圈的翻译之后,得到的新句子与最初的版本是否相似。这一信息可以帮助判断是否两个翻译模型都表现良好。随着「对偶学习」过程的持续进行,未标注的数据也得到了充分的利用,利用这些信息,可以帮助提高对偶任务中的两个翻译模型。这种对偶学习的想法为进一步改进现有的翻译模型提出了崭新的思路。 [attach]3528[/attach] 如果把这种对偶学习的方法也用到基于 GAN 的图片的「翻译」上,会得到怎样的效果呢?这会是一个非常有趣的问题。不久前,我的本科同学易子立(@Maoren Liu)和他的合作者们借用了对偶学习的思路,设计了一种名为对偶 GAN(DualGAN)的算法。说来有趣的是,我今年年初在写电子书《人工智能是怎样设计的》时,当时也与易子立讨论过电子书有关内容的选择和组织,在组织里面的内容时,考虑到这两种算法表现出的无监督特性,我有意地将对偶学习和 GAN 的介绍相邻排列在一起。 如果说原来的 GAN 是将图片的「识别」问题扩展为「生成」和「判别」两个问题,那么 DualGAN 算法就是将基本的 GAN 再进一步扩展为两个相互耦合的的 GAN,其中存在着两个生成器和两个判别器。以素描与照片之间的相互「翻译」为例进行说明,其中第一个生成器   可以将素描(U)翻译为照片(V),  所完成的任务正是我们最终想要完成的目的,与这个生成器对应的有一个判别器  。与此同时,构建与之对偶的另一个生成器  ,将照片转换为素描,与这个生成器所对应的同样有一个判别器  。 在这样的基本框架下,接下来我们来考虑怎样利用对偶学习的思路训练 GAN。首先我们介绍「生成」的思路,通过生成器   可以对素描图片 u 进行翻译,最终得到类似照片的图片,其中包含的噪声为 z,翻译的结果即为   ,把这个翻译的结果扔给另一个专门用于生成素描图片的生成器  ,得到的结果   即为对原有的素描图片的一次重构,这里的 z' 同样是噪声。接下来考虑与这一过程对偶的一个过程,首先将照片 v 用生成器  翻译为素描图   ,然后再用生成器   对生成的素描图进行翻译,得到  。 接下来介绍「判别」的思路,与生成器   对应的判别器   判断一张图片是否像一张照片,而与生成器   对应的判别器   则判断一张图片是否像一张素描图。对应于上面提到的对偶的生成过程,系统最终希望最小化重构误差,即希望最小化在两次迭代后得到的结果与原始图片之间的误差  和  。 根据这一基本思路,我们就可以真的来对图片做各种处理了。下面了展示这一算法得到的一些结果。这些相关结果分别与真实情况(ground truth)和其它算法得到的结果进行了比较,可以发现这一算法的确有着不错的表现。 (1)日景图片与夜景图片之间的转换 [attach]3532[/attach] (2)图片和图片标签之间的相互「翻译」:对图片加标签和通过图片标签重建图片 [attach]3537[/attach] [attach]3534[/attach] (3)素描与照片之间的相互「翻译」 [attach]3533[/attach] [attach]3530[/attach] (4)地图与卫星图片之间的相互「翻译」 [attach]3531[/attach] [attach]3535[/attach] 然而,还有一些情况,我们仅仅只能进行一些「翻译」,而无法找到正确的结果(ground truth)进行比较,例如图片风格的改变就属于这一类问题,然而这些问题本身就是一种没有正确答案的问题。这些问题尤为重要,因为这些问题涉及到真正的无监督学习。尽管「风格」的转换本身无法找到很好的度量方式,然而在某些特殊的问题上,仍然有一些检测的方法,例如用 AMT 材质感知测试,可以对图片中物品的材质进行一些「客观的」检验,这可以作为衡量「翻译」效果的一种度量。在这些应用方面,DualGAN 有着明显比 GAN 更好的无监督学习表现。 (5)中国画—油画之间的翻译 [attach]3538[/attach] (6)金属、石头、木料、皮革、织物等材质之间的转换 [attach]3539[/attach] 这种基于对偶学习的 GAN 为图片与图片之间的「翻译」提供了新的思路,尤为重要的是,通过将 GAN 进一步进行扩充,这种方法把无监督学习的性质利用到了极致,因而在理论上具有很重要的意义。尽管这一算法目前的表现仍然有有待提高,然而与其它 GAN 的变形算法相比,例如与条件 GAN(conditional GAN, cGAN)相比,DualGAN 即使是面对完全没有加标签的数据,也可以产生足以与之相比的表现,这暗示了无监督学习的巨大潜力。考虑到 cGAN 等算法的训练需要引入大量的人工标签,DualGAN 等无监督学习的算法很可能可以大大降低加标签的成本,在进一步提高稳定性之后,值得相信其在未来有着重要的应用前景。 这篇论文的思路与最近很火的工作 Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks 非常类似,但其实是独立的、来源于不同出发点的工作。在看到那个工作的有关介绍后,我觉得应该特别有必要站出来介绍一下易子立的这个工作。 目前,这篇关于 DualGAN 算法的论文已经投稿到 ICCV 会议 原论文的 arXiv 地址为:https://arxiv.org/abs/1704.02510 这个项目的程序可以到以下 GitHub 链接获取: https://github.com/duxingren14/DualGAN 有关GAN的更多内容请观看如下课程: 【[url]http://campus.swarma.org/gpac=8】[/url] [attach]3536[/attach]  

    Alex 2017-04-20 13:40

  • 屏幕快照_2017-04-20_上午11.12_.18_.png

    社会传染动力学:阈值模型及其扩展

    本文回顾了社会传染的经典模型之一阈值模型的相关内容,并且根据近年来在线服务产品采纳行为传播的实证研究讨论了阈值模型的局限性。在此基础上,介绍了一个新的模型,该模型在传统的阈值模型中引入两个新的机制,从而成功地解释了现实生活中社会传播的现象。   [attach]3523[/attach] [b]作者简介[/b] 阮中远 浙江工业大学计算机学院讲师。 2013年6月博士毕业于华东师范大学理论物理研究所。 2013年-2015年在匈牙利布达佩斯技术与经济大学和中欧大学从事博士后研究,主要研究方向为复杂网络上的动力学行为,包括流行病传播,信息传播,人类行为动力学等。 以第一作者在国际权威期刊上发表多篇学术论文,包括Physical Review Letters, Scientific Reports, Physical Review E等。目前主持国家自然科学基金一项。 [b]阈值模型的研究历史[/b] 社会传染现象在现实生活中随处可见。例如信息的传播,新产品、新技术或新药物的普及,恐慌情绪的蔓延,又或者是经济市场中泡沫的产生与破灭等等。这些看似风马牛不相及的现象之间,却有一些共同的性质:它们都是从少数个体的行为“变异”开始(这些个体由于各种原因,例如公共信息的影响等,采纳了与周围人群不一样的行为),然后通过人群之间的相互作用,达到该行为的大规模流行(转变为集体行为)。 这类社会现象在20世纪中期开始引起社会经济学家们的关注,直至今日仍然是一个研究热点。科学家们提出了各种不同的模型来解释这类传染现象,其中一个非常经典模型是“阈值模型”[1]。这一模型由Granovetter在上世纪70年代末提出。Granovetter假定个体做出某个决定的一部分原因取决于周围有多少个体作出了相同的决定[2]。这是因为在真实社会系统中,决策者往往缺乏全局信息,又或者他们对所掌握的信息处理能力有限,导致他们习惯于观察周围人的决策来决定自己的行为。另一方面,除了这种外部因素,诸如个体习惯、爱好、宗教信仰等内在因素也会影响个体的决策。为此Granovetter引入了一个 “阈值”的概念,他假定个体从一个行为状态转变到另一个行为状态时存在一定的阈值。这一阈值由个体的内在因素决定:对于不同背景的人来说,其值是不一样的。因此个体做决策是外在刺激与内在因素相互博弈的结果——当外在刺激的程度超过个体的阈值时,个体就从一个状态转变到另一个状态。 Watts最早彻底地研究了阈值模型的物理特性,并发展了一套优雅的方法来解析该模型[1]。他假定社会网络中的节点只有两种状态:0(非活跃态)或1(活跃态)。一个0态的节点会转变为1态,如果他的邻居节点中处在1态的人数比例超过了该节点的阈值,即 m/k≥ϕ ,其中k为个体的邻居节点数,m为邻居中处于1态的节点数目,ϕ为个体的阈值。在初始阶段,Watts假定所有节点都处于0态,除了一个随机选取的节点处于1态(微小扰动)。Watts发现,网络平均度 z 和个体平均阈值ϕ是影响整个动力学行为的两个重要的参数。如图1所示,在平均度z和阈值ϕ组成的参数空间中存在两个区域:在虚线包围的内部,我们可以观测到全局级联现象,也就是说绝大部分节点都能在极短时间内转变为1态;而在虚线外部,则不可能观测到全局级联现象,此时只有少数节点转变为1态(当总节点数趋于无穷时,所占比例趋于0)。我们还可以发现,当平均度从很小变到很大(固定ϕ),系统会经历两个不同的相变过程。其原因在于,当平均度很小时,网络是支离破碎的,因此任何初始扰动都无法大规模地传播;而当平均度很大时,阈值条件难以满足(此时需要更多处于1态的邻居数量),导致全局传播也不可能(同样当ϕ很大时也是如此)。一般来说,该级联窗口的下边界由网络的拓扑性质决定。例如对于ER随机网来说,网络中开始出现大的连接集团的相变点是在平均度z=1处,这与图1所展示的结果一致。而级联窗口的上边界则比较复杂,这实际上是由动力学过程决定的,但Watts同样巧妙地将其转换为一个静态可求解的渗流问题。 Watts将网络中的节点分为3类: [quote] 创新者,这类节点的阈值ϕ=0(由于外部影响自发转变为1态,在Watts模型中初始时刻只有一个创新者)。 脆弱的节点,这类节点的阈值满足0<ϕ≤1/k,即当邻居节点中有一个处于1态时,该节点就会转变为1态。 稳定的节点,即那些ϕ>1/k的节点。这样,能否引发全局级联传播的条件就等价于是否存在一个大的(跟系统大小相当)连通集团,这个集团全由脆弱的节点所组成。这是因为该集团中的任一节点转变为1态,都会继而引起集团中所有其他节点转变为1态(这些节点均满足ϕ≤1/k)。转换之后的静态结构问题可通过生成函数的方法进行解析求解,图1显示理论结果与数值模拟基本吻合(其中虚线是理论解析结果,点是模拟结果)。 [/quote] [attach]3524[/attach] 图1:阈值模型的相图,对应于ER随机网。 (z,ϕ)参数空间被分隔为两部分:在虚线包围的内部,我们可以观测到全局级联传播现象;而在虚线外部,不可能观测到全局级联传播现象。Watts称由虚线围成的区域为“级联窗口”。(图引自文献[1])。 [b]阈值模型的新突破[/b] 阈值模型尝试从微观角度(个体之间的相互作用)来解释集体行为涌现的原因。该模型中个体与其邻居之间有着一种社会加强作用(比如当个体发现周围有足够多的朋友采纳某种新产品时,他才有可能会采取同样的行为)。它不像生物系统中流行病的传播,在那里个体之间的相互作用是独立的,这意味着任意一个扰动都能引发全局的集体行为(例如初始时有一个个体行为变异,最终会引起网络中所有的节点都发生状态改变)。这显然与现实世界是相悖的。真实的复杂系统展现了一种Watts称之为“鲁棒而又脆弱”的特性:一个社会系统对于绝大多数的初始扰动(如新思想、新产品的出现等)都是稳定的(鲁棒性),但突然之间某些微小扰动可能会展现出巨大的、系统层面的宏观效应,即全局级联传播(脆弱性)。阈值模型能够成功解释这种现象,因此深受研究者们的青睐。然而随着近年来计算机科学及大数据领域的飞速发展,人们在一些在线实证数据中发现真实社会系统会表现出某些阈值模型无法解释的现象。例如除了快速的级联传播过程,社会系统有时候也可能会展现出极其缓慢的传播过程[4]。图2比较了几种常见的在线服务产品采纳行为的传播速度,其中纵坐标表示某一产品累计采纳的年最大相对增长率[4]。可以看出,与传统的阈值模型相比,真实的在线服务产品的采纳行为的传播速度要慢得多。 [attach]3525[/attach] 图2:几种不同在线服务产品的累计采纳年最大相对增长率 (其中红色杠条对应阈值模型的预测结果) 传统的阈值模型只关注能否发生全局级联传播的条件,而一旦发生级联效应,网络中的大部分节点便会在极短的时间内转变为1态。为了解释这种缓慢传播的现象,我们需要在传统阈值模型中引入一些新的机制。从在线服务产品采纳行为的传播过程中可以发现,有两个基本的特征在之前有关阈值模型的研究中都被忽略了:i. 随机自发采纳过程。一些个体由于受到外部因素的影响会自发转变为1态,而这种外部因素的作用是随机的,它在任一时刻都可能影响某些节点的状态。ii. 在整个传播过程中,存在一些“免疫”的节点,他们可能出于各种原因(如对某一公司的厌恶等)而始终拒绝接受某个产品,即不受周围邻居节点的影响。Ruan等人研究了在这两种新的机制作用下社会传染的动力学行为[3]。在新的模型中,网络中的节点以比例r随机处于免疫态。这类节点不直接参与传播过程(因为他们不受其他节点的影响),但却起到阻碍作用(因为当个体周围存在免疫态节点时,阈值条件更难满足)。另一方面,每一时间步网络中处在0态的节点会以一定概率p自发转变为1态。这类创新者的出现可能会引发局部的级联效应,从而促进全局传播的发生。 [attach]3526[/attach] 图3:不同参数下的级联窗口的比较。 (a)和(b) r=0,不同的p值对级联窗口的影响; (a),(c)和(d) p=0,不同的r值对级联窗口的影响。 为了清楚地说明两种机制在社会传播过程中所起的作用,我们分别加以考虑。首先固定r=0而变化p值(即只考虑自发采纳过程的影响)。此时若p=0则回到经典的阈值模型。而当p>0(无论多小),对于t→∞,系统始终拥有单一的终态(全部节点都转变为1态)。为了方便比较,我们需要选取一个适当的时间窗口。图3a和b展示了t=100时,不同p值下级联窗口的大小。可以看出,p的增加使得全局级联传播的发生变得更加容易。其次我们固定p=0而变化r值(即只考虑免疫态节点的影响)。此时随着免疫比例r的增加,级联窗口不断缩小(见图3a,c和d),意味着全局级联传播更不容易发生。 [attach]3527[/attach] 图4:不同参数下1态节点的相对密度随时间的演化曲线 其中p=5×〖10〗^(-4)。 接下来我们考虑r,p>0的一般情形。此时在不同的免疫态比例下,系统从初态到终态(终态是单一的,即ρ/(1-r)→1)的演化过程会展现出极为不同的动力学特性。不失一般性,我们取p=5×〖10〗^(-4),观察不同r值对传播动力学的影响。图4展示了1态节点的相对密度随时间的演化关系。可以看出,当r较小时,系统中1态节点的数目很快达到稳态;而当r较大时,1态节点的增长速度变得缓慢,需要很长时间才能到达稳态。这是因为当r较小时,随着创新者数量的增加,绝大多数个体都能被周围邻居所“诱发”转变为1态(通过满足阈值条件),这是一个快速的级联行为(因为个体一旦满足阈值条件,就立马转变其状态)。而当r较大时,节点很难满足阈值条件,几乎无法被周围邻居所“诱发”。此时随机自发转变机制占主导因素。由于自发转变是一个极其缓慢的过程(因为p一般来说很小),因此1态节点的数目相应地变化很慢。 进一步地,我们可以找到一个临界值r_c来区分快速传播与慢速传播的区域,即当r<r_c时,“诱发”机制占主导地位,系统能发生快速的级联传播;而当r>r_c时,自发转变机制占主导地位,此时传播行为变得缓慢。从图4可以观察到,这一转变过程是极其平缓的。我们可以通过几个不同的方法来确定r_c的值:例如通过观察稳态后创新者的比例随r的变化关系,或者ρ(t)演化曲线由凹变凸的转变,又或者是稳态时“诱导”集团的分布随r的变化关系等[3]。以ER随机网为例,当取参数z=7,ϕ=0.2,p=0.0005,N=〖10〗^4时(N为网络大小),可以得到r_c≈0.74。值得一提的是,随着免疫态比例r的增加,系统还会经历一个渗流变化的过程:即存在一个阈值r_,当r>r_时,由0态节点组成的集团会变得支离破碎,无法形成一个巨大的集团(因而无法实现全局级联传播,传播速度缓慢)。由渗流理论可知,r_=1-1/z=0.857(当网络中的节点以比例r随机处在免疫态时,有效平均度为z-zr,此时相变点在z-zr=1处)。r_c=0.74<r_意味着即使网络中存在由0态节点组成的巨大的集团,传播也可能是缓慢的(即缓慢传播不是单纯由网络拓扑结构变化引起的)。 参考文献 [1] D. J. Watts, A simple model of global cascades on random networks, Proc. Natl. Acad. Sci. USA 99, 5766 (2002). [2] M. Granovetter and R. Soong, Threshold models of diffusion and collective behavior, J. Math. Sociol 9, 165 (1983). [3] Z. Ruan, G. Iniguez, M. Karsai, and J. Kertesz, Kinetics of social contagion, Phys. Rev. Lett. 115, 218702 (2015). [4] M. Karsai, G. Iniguez, R. Kikas, K. Kaski and J. Kertesz, Local cascades induced global contagion: How heterogeneous thresholds, exogenous effects, and unconcerned behavior govern online adoption spreading. Sci. Rep. 6, 27178 (2016).

    Alex 2017-04-20 11:10