美文网首页互联网科技Python语言与信息数据获取和机器学习
【白话AI】机器是如何模仿大脑学习的?(一)

【白话AI】机器是如何模仿大脑学习的?(一)

作者: Will卢东旭 | 来源:发表于2017-02-28 16:36 被阅读213次
    Neural Network

    联结学派(模仿大脑学习)的崛起

    在过去的十年里,由于在训练深度人工神经网络领域的技术性突破,机器学习的联结学派(模仿大脑学习)迅速崛起。深度人工神经网络不仅在包括图像识别和语音识别等传统机器学习算法的强势领域屡屡打破纪录,更令人兴奋的是他还在话题归类、语义分析、自然语言回答和语言翻译等,让工程师们头疼的任务上取得了非常令人瞩目的成绩。例如,谷歌2016年11月发布的多语言人工神经机器翻译模型(Neural Machine Translation Model)不仅在多个语言对上超过了现有的最好机器翻译模型,甚至在某些语言的翻译上取得与人类翻译近似的成绩。

    目前,这些最新的研究成果不仅仅是躺在某个学术库里的论文,他们已经被谷歌、微软、脸谱网(Facebook)等公司大规模的应用在与我们日常生活息息相关的各种领域。例如,当你在谷歌网上搜索的时候,后面的系统已经不是简单的网页排名+关键字匹配,而是由十几个人工智能系统同时在试图作答。这些系统把互联网上的信息建立成庞大的知识脑图,并利用这个脑图回答我们提出来的问题。超过70%的情况下,最后呈现在你面前的结果是由这些系统主动根据你的问题的理解做出的主动回答,而不再是简单的网页链接。虽然这个系统还有很多不完善的地方,但是我非常有理由相信未来人工智能能够对于人类的信息自动建立自己的理解,从而更从容的应付人类的复杂需求。

    不过,这个系统再复杂也是由人造的,下面我们一起来试着揭开深度学习的神秘面纱,看看她到底是怎么运作的。

    神经元

    老规矩,我们先从最简单的方面入手。

    神经元(neuron),又名神经原神经细胞(nerve cell),是神经系统的结构与功能单位之一。神经元能感知环境的变化,再将信息传递给其他的神经元,并指令集体做出反应。

    神经元

    相信大家都应该在高中生物课里见过这个图,这个是神经元(生物)的一个基本构造。它的基本工作原理是通过它的树突从其他的神经元获得信号输入,再经过轴突处理,最后通过突触把信号传递给其他的神经元。

    1943年,心理学家沃伦·麦卡洛克和数理逻辑学家沃尔特·皮茨基于这个最基本的大脑功能单位设计了最早的人工神经元的数学模型。这个数学模型的发表也标志了人工神经网络研究时代的开始。

    最早的人工神经元模型

    在这个模型中,信号只有两种:开(1)和关(0),当总的“开”的输入信号超过某个特定值时,这个人工神经元就输出“1”,否则就输出“0”。举个例子如果一个人工神经元的阈值是5,并且有10个输入联结,那么当这10个输入中超过5个为“1”的时候,这个人工神经元就会对联结在它后面的神经元输出“1”。这个简单的模型完整的用数学方式表达了神经元信号传递的方式——整合多个信号输入并转化为一个信号输出给其他神经元

    不过这个模型有个非常重要的缺陷——它是“死”的,也就是说一旦这个人工神经元存在了,它的工作方式就固定了。用上面的例子来说(假设阈值是生物机理,不可变),如果一个人工神经元输出“1”,那么它就会一直输出“1”,并不会因为其他因素而改变。理论上,如果我们大脑中都是这样的人工神经元的话,一旦我们大脑形成了某种认知以后,它就不会再通过后面的学习而提高这个认知。

    那么怎么改进这个模型来让它具有学习功能呢?在回答这个问题之前,让我们先来看看人脑是如何学习的。

    能学习的人工神经元

    1949年,唐纳德·赫布提出了非常有名的赫布定律(Hebb's Rule),这个定律描述了在人类学习时大脑中神经元的变化方式,从而奠定了我们关于人脑学习方式的基本认知。

    赫布定律: 我们可以假定,反射活动的持续与重复会导致神经元稳定性的持久性提升……当神经元A的轴突与神经元B很近并参与了对B的重复持续的兴奋时,这两个神经元或其中一个便会发生某些生长过程或代谢变化,致使A作为能使B兴奋的细胞之一,它的效能增强了。
    (来源:维基百科 link)

    说实话这个定理看不懂不能怪翻译。原文本身就是那种词都认识,可是就是不知道在说啥的感觉。我反而觉得赫布的另外一句话反而更具有启发性:如果一个神经元持续激活另一个神经元,前者的轴突将会生长出突触小体(如果已有,则会继续长大)和后者的胞体相连接。也就是说当我们反复同时刺激两个神经元,他们之间的联结就会获得增强,从而“记住”这个刺激。例如,当一个小孩的父母拿着一个苹果反复告诉他那是一个苹果的时候,这个小孩的大脑中相关的神经元之间的连接就通过这个反复刺激获得了增强,从而对苹果形成了记忆印痕,也就逐渐认识了苹果。

    受这个对于人脑学习方式的认知的启发,1956年弗兰克·罗森布拉特进一步改善了人工神经元设计,增加了类似于人脑的学习机制,这个模型叫做感知器(Perceptron)。

    感知器(Perceptron)

    可以看到这个模型与之前的模型唯一不同之处就是在每个输入信号上面都加了一个权重,用来反映两个人工神经元的联结程度。通过调整这个权重的数值的大小,这个模型就能模仿大脑的学习方式来控制一个人工神经元与另外一个人工神经元的联结。

    这个模型虽然看上去很简单,但是功能已经很强大。当时基于这个模型设计的人工神经网络已经可以做一些简单的英文识别功能。最新的人工神经元的设计虽然在细节上有很大不同,但是总体上还是基于这个模型的理念建立的。

    下面让我们看看基于这个简单的人工神经元(人工)模型,我们可以设计出怎样的机器学习模型。

    基于感知器的股票买卖系统

    我们可以简单的定义一个股票交易系统如下:

    目标:希望通过一只股票的基本面信息来判断是否买卖一只股票。
    输入信号
    1.股票当前价格
    2.公司市值
    3.市盈率(每股市价/每股盈利)
    4.市净率 (每股市价/每股净资产)
    输出信号:买或者卖(也就是图中的1和0)

    基于这个定义我们可以设计一个非常简单的单层人工神经网络(人工)如下:

    股票交易模型

    对应的公式为:

    • a = 股票价格 x 权重1 + 公司市值 x 权重2 + 市盈率 x 权重3 + 市净率 x 权重4
    • 假设阈值是(z)
    • 当 a 大于 z 的时候,买入股票,否则不买入。

    一开始的时候,这些权重值可以是一组很小的随机数字,用来表示这个人工神经网络对于股票交易一无所知。在我们不断的训练这个模型的过程中,我们不断的把这个模型做出的买卖判断的结果反馈给这个模型。如果买卖判断造成了盈利,这个模型会增加相应的权重值来“记住”这个结果,反之亦然。通过反复这个过程,这组权重值理论上就可以被调整到某一组最优值上,从而产生更高的收益。例如,假设市盈率+市净率和股票未来走势相关度很高,我们这个模型的权重3和权重4的绝对值就会比较高。这个过程我们就可以理解为这个人工神经网络学习到了市盈率+市净率和股票价格未来走势的关系。

    虽然对于当今的股票市场来说这个模型太过于简单,但是其实早期的股票交易模型在本质上并不比这个复杂多少。不难想象通过叠加这些基本的人工神经元并调整他们之间的数学关系(由线性改为非线性),我们应该可以创造出能够学习非常复杂的关系的人工神经网络,从而设计出一个真正的股票交易模型。

    可是当弗兰克·罗森布拉特发布了这个感知器的模型以后,尽管学术界对这个模型的潜力感到兴奋,但人工神经网络在当时并没有得到广泛的认可和应用。当时问题就出在了如何有效学习调整这些权重上,这个问题在复杂的、深度的人工神经网络上更具有挑战性。没有好的寻找最优权重值的方法,当时的联结学派就不能有效的训练一个人工神经网络,也就不能用具体例子证明人工神经网络确实能解决复杂问题。就这样联结学派销声匿迹了几十年,直到最近10年才在学习调整深度人工神经网络的权重问题上取得了突破性的进展,从而带动了我们在文章一开始提到的深度学习的迅速崛起。

    未完待续。。。(敬请期待:如何学习调整人工神经网络权重)

    首发公众号:


    思故是

    © 版权声明:本文首发自本人微信公共帐号:思故是(sikaoguwozai);无需授权即可转载,但转载时请务必注明作者 。

    相关文章

      网友评论

        本文标题:【白话AI】机器是如何模仿大脑学习的?(一)

        本文链接:https://www.haomeiwen.com/subject/idoawttx.html