京ICP备14002071号-1查看 »

×

简析人工神经网络

关闭
viewpoint-201700609-ZTZZ02-Cover原文标题:人工神经网络究竟是个什么鬼
原文作者:沉静Lily

很多专业术语,乍一听很唬人,人工神经网络(Artificial Neural Network,简称ANN)就属于这一类,你想啊,在人们的印象中,我们对人脑的结构都还根本没搞清,又冒出来一个人工神经网络,想到人脑的结构那么复杂,一听到神经元等等名词,让人第一反应就是不明觉厉,肃然起敬。

人工神经网络是用计算机来模拟大脑的结构,加之使用了一些生物学有关的名词,比如神经元等等,让人感觉它很高深莫测。其实除了借用几个生物学上的名词,并且做了些形象的比喻外,人工神经网络和人脑的关系真的不大,如果是学过图论的同学,看了以下的介绍就很容易理解它。人工神经网络本质上就是有向图,包括节点和用于连接节点的有向弧。人工神经网络的节点就称为神经元,而有向弧则是连接神经元的神经。当然,它是一种特殊的有向图,特殊之处体现在两点:第一,图中所有的节点都是分层的,同层节点之间互不连接,每一层节点是可以通过有向弧指向上一层节点,但不能越过上一层连接到上上层节点。第二,每一条弧上有一个值称为权重,根据这些值可以用一个非常简单的公式算出他们所指向节点的值。在人工神经网络中还使用了一些约定俗成的说法,比如说最下面一层节点被称为输入层,最上面一层节点被称为输出层,其他中间层因为对外不可见就被统称为隐含层。

听我这么一说,对于人工神经网络,你可能一下从原来的肃然起敬变成了不屑一顾。哦,原来就是这么个简单的东西,但是你可千万别小看它,因为就是这么一个简单的模型,用处却很大,因为无论是在计算机科学、医学还是在金融中,大多数与智能有点关系的问题都可以归结为一个在多维空间进行模式分类的问题,而人工神经网络所擅长的正是模式分类,它是一个分层的有向图,最底层输入层接受输入的信息,来自输入节点的数据按照各自输出弧的权重,根据公式进行线性加权,得到g,然后再做一次函数变换F(g),赋给第二层的节点,照此将数值向后传递到第三层节点…如此一层层传递,直到最后输出层,这时哪个节点的数值最大,输入的模式就被分在了哪一类。

简而言之,人工神经网络就是一个形式上非常简单但分类功能强大的工具。下面我就拿图像分类来说明,网络训练其实就是将大量类型不一的图像作为输入,使其输出时在归好类的情况下分别贴上不同的标签。比如现在我们要用神经网络学习识别猫和狗两种动物的图像,那么该神经网络将有两个输出节点,一个用于“猫”,另一个用于“狗”。“猫”和“狗”节点的工作基本上就是为包含各自动物的图片投票,最后,投出最多票数的节点可以被认为是答案。神经网络要经过一段时间的训练,如果一开始没成功,就再试,再试!在早期阶段,神经网络可能会以百分比的形式给出一对错误的答案,比如说20%的狗和80%的猫,在经典的使用标记的训练数据进行监督学习时,我们是有预期的输出结果的,也就是有标准答案!所以可以通过反向传播来进行系统调整,反向传播将反馈发送到上一层的节点,告诉他答案差了多少,然后该层再将反馈发到上一层…这样不断从后向前进行调整,以帮助每个神经元在随后的图像在网络中传递时更好的识别,这个过程反复的执行,直到最终以100%的正确率(或者可以接受的正确率)预测结果。这时,神经网络就已经训练好,可以开始真正识别图片中的猫了。

简而言之,人工神经网络就是一个形式上非常简单但分类功能强大的工具,我们可以把它看成是一种特殊的有向图。现在,你明白了吗?下次再有人和你说人工神经网络,你是不是既不会感觉神秘莫测、深感自卑,也不会不明究竟、不以为然了?

版权说明:ITHowBiz 睿·信科技每一位作者的艰辛付出与创作,我们均在文章开头备注了原标题和来源。如转载涉及版权等问题,请发送消息至公众号后台与我们联系,我们将在第一时间处理,非常感谢!
返回顶部