浅谈神经网络(一)

到底什么是神经网络呢? 在陷入各种各样概念、名词、理论之前,请务必提醒自己,只有从整体上理解到底什么是神经网络,之后的深入学习才不至于迷失方向。

请看下面三张图:

图一图二图三

这三幅图跟就能很好的对神经网络进行一个整体的描述:神经网络就是一个黑箱,和人脑一样。

(1)我们给这个黑箱一些输入和输出,这个黑箱就能够自动去寻找这些输入和输出之前的关系,等以后我们再输入一些东西时,他们便能给出我们一些输出。 就跟人脑一样,我们不停的输入一些人,输出对应性别,等脑子慢慢学习和长大,以后再看到一些人,就能分辨他们的性别了。

(2)对于有些输入,不一定就会有输出,而是能够找到这些输入之间的关系。 就跟人脑一样,我们看人,输入各种各样的人,随着我们人脑的不停学习和训练,会自动把他们分为美、普通、丑等关系。(突然想到,小的时候不知道丑,等到长大了突然有一点感觉自己穿的好土好丑)

因此,叫做神经网络,还是很贴切的。 接下来是其他几点类比:

(1)人脑有聪明的,也有笨的,所以我们以后构造的神经网络也有聪明和笨之分,只有不断的训练,不断调整合适的参数,才能让我们设计的神经网络越来越聪明。

(2)人脑都有自己适合做的事情,比如有些人适合学理科,有些人适合学文科;有些人适合搞经济,有些人适合搞政治。 。 同样,各种各种的神经网络模型,也有自己适合做的事情,只有搞懂神经网络的基本原理,才能够根据自己的实际需要,选择合适的网络。 (突然想起前几天一个小时候的同学说的一句话:“TMD过了这么多年,我发现一点:我就根本不适合上学”)。

(3)人脑也有误判的时候,因此用神经网络,是无法做到100%准确的,因此对于要求有百分之百准确度的事情,不能用神经网络,需要建立精确的数学模型和公式来计算才行。

总之,就一句话,“神经网络就是一个神奇的黑箱”。 接下来,我们就一起去打开这个黑箱,看看他里面到底是怎么回事。

二、打开黑箱

刚刚打开黑箱,你可能惊呆了,里面都是一些什么乱七八糟的东西,完全不懂啊。 不用慌张,我们一点点的去分析。

神奇的造物主创造了人脑,于是有些人也试图去创造神经网络去模拟人脑。 假如是你要设计一个神经网络,你会怎么做呢? 如果你百思不得其解,那么好吧,我们一起来看看前辈门是怎么设计的吧。 这里的前辈们有很多,为了使大家既能 理解神经网络原理 ,又 能够实践操作 ,我把前辈们分成了两类: 数学家和程序员。 其中数学家设计了整体的思想,而程序员用程序实现了数学家所说的功能(以Matlab为例进行演示)。

我们看看前辈们是怎么设计的。

我们发现这个黑箱里面有很多 小圆球 ,如下图所示:

这些小圆球还有一个很好听的名字,叫做“神经元”,刚开始看你可能觉得这些小圆球乱七八糟排列,实际上如果你仔细看的话,他们之间的排列是有规则的,根据他们排列规则不同,神经网络结构大概分成如下几种:

(1)前馈型

这些小圆球一个接一个的排列,input表示输入信号,从前到后,一直到output输出,神经元和神经元之间没有信号的传输。 其中第一层是输入单元,第二层称为隐含层,第三层称为输出层(输入单元不是神经元,因此图中有2层神经元)。

例如BP神经网络和感知器神经网就是这么排列的。

(2 )反馈型

顾名思义,最后的输入信号不仅输出就完事了,还会把输出信号反馈回去,因此叫做反馈型神经网络。

例如:回归BP网络就属于这一种。

(3)层内有互相结合的

前面的结构,同一层神经元之间没有联系,而层内有互相结合的结构,层内神经元会互相有信息传输。

怎么样,是不是很赞赏前辈们,竟然能够想到这么个办法,这些小球(神经元)互相连接,就能干很多很多复杂的事情,可是这些小球到底是个什么东西呢,接下来,就进入本文的重点,让我们深入小球内部看看是怎么个回事。

三、打开小圆球(神经元)

每一个神经元的结构,如下图所示:(请注意,接下来就要有各种公式符号等等,始终记住,神经网络是一个黑箱,里面有很多小球(神经元)连接,他们一层一层的排列,有了各种各样的结构方式)

上面一个图就是神经元的内部结构图,虽然它不是一个球,但是你可以想象它外部是有一层圆圆的外壳,包裹着它就好。 我们一点点看看他都有那些东西。

(1)输入:inputs表示的x1,x2,...,xm表示的是输入信号,这些输入信号输入进各个神经元的∑函数进行一个求和,我们看到他们并是直接相加的,而是每个输入都乘以了一个系数W之后再相加的,这些W称为权重,或者叫权值,或者叫做Weight。

(2)bias:我们看到进入∑符号的不仅有输入乘以Weight,还有一个Bias,他的输入是1,权值是W0,所以也可以看成是一个固定输入为1,权重为W0的一个输入信号。 在其他一些书里面,bias的值会有bi符号表示,或者别的,总之是一个意思。 还要注意的是,这个bias有很多名字,什么阈值、threshold,偏置等等都是一个意思。

(3)激活函数:前面的输入和bias经过∑求和之后,就会通过一个函数进行处理,进而输出结果,这个函数就叫做激活函数,也就Activation Function,也叫传递函数,也就Transfer Function,也叫TF,总之这些名称都是一回事。

怎么样,就是这么一个一个的神经元,就组成了一个神奇的神经网络,这个魔法的黑箱,就能干很多事情。

那么问题来了,我们可以改变那些东西,进而完成我们各种各样的问题解决呢?

我们能改动的,无非是下面几个东西:

1、各神经元的权值

2、bias,广义上,也是权值

3、激活函数

4、神经网络的层数

5、各层神经元的个数

6、神经网络的连接结构

7、输入输出的格式和质量

后续再谈......

实验证明大脑利用同一个学习算法实现了听觉、视觉等等所有的功能,这也是神经网络算法美好的愿景。

时间: 2024-12-26 23:37:03

浅谈神经网络(一)的相关文章

浅谈神经网络中的bias

1.什么是bias? 偏置单元(bias unit),在有些资料里也称为偏置项(bias term)或者截距项(intercept term),它其实就是函数的截距,与线性方程 y=wx+b 中的 b 的意义是一致的.在 y=wx+b中,b表示函数在y轴上的截距,控制着函数偏离原点的距离,其实在神经网络中的偏置单元也是类似的作用. 因此,神经网络的参数也可以表示为:(W, b),其中W表示参数矩阵,b表示偏置项或截距项. 2.bias的计算方式? 神经网络结构中对偏置单元的计算处理方式有两种, 

浅谈神经网络(二)

神经网络中可以改变的有: 1.各神经元的权值 2.bias,广义上,也是权值 3.激活函数 4.神经网络的层数 5.各层神经元的个数 6.神经网络的连接结构 7.输入输出的格式和质量 下面我们一项一项进行说明,如何改变这些参数 一.权值 权值的改变分为 有监督的学习 和 无监督的学习 1.有监督的学习Supervised Learning 给定许多样本(包含输入与输出),将输入数据通过神经网络后,产生的实际输出和期望输出进行比较,通过差值逐步调整各神经元的权值和bias,两个问题: (1)期望输

浅谈神经网络中的激活函数

???????激活函数是神经网络中一个重要的环节,本文将介绍为什么神经网络网络要利用激活函数,几种常用的激活函数(逻辑函数Sigmoid.双曲正切函数tanh.线性整流函数(ReLU),神经网络中的梯度消失问题和ReLU如何避免梯度消失. 1 用激活函数的原因 ???????如果神经网络没有进行可以提取非线性特征的卷积操作,而且该神经网络也不用激活函数,那么这个神经网络第i层输出只有Wxi+b.这样此神经网络不论有多少层,第i层的输出都是一个关于第i层输入xi的线性组合,相当于此时多层神经网络退

【转载】浅谈深度学习(Deep Learning)的基本思想和方法

浅谈深度学习(Deep Learning)的基本思想和方法 分类: 机器学习 信息抽取 Deep Learning2013-01-07 22:18 25010人阅读 评论(11) 收藏 举报 深度学习(Deep Learning),又叫Unsupervised Feature Learning或者Feature Learning,是目前非常热的一个研究主题. 本文将主要介绍Deep Learning的基本思想和常用的方法. 一. 什么是Deep Learning? 实际生活中,人们为了解决一个问

浅谈深度学习中潜藏的稀疏表达

浅谈深度学习中潜藏的稀疏表达 “王杨卢骆当时体,轻薄为文哂未休. 尔曹身与名俱灭,不废江河万古流.” — 唐 杜甫<戏为六绝句>(其二) [不要为我为啥放这首在开头,千人千面千理解吧] 深度学习:概述和一孔之见 深度学习(DL),或说深度神经网络(DNN), 作为传统机器学习中神经网络(NN).感知机(perceptron)模型的扩展延伸,正掀起铺天盖地的热潮.DNN火箭般的研究速度,在短短数年内带来了能“读懂”照片内容的图像识别系统,能和人对话到毫无PS痕迹的语音助手,能击败围棋世界冠军.引

【转载】李航博士的《浅谈我对机器学习的理解》 机器学习与自然语言处理

李航博士的<浅谈我对机器学习的理解> 机器学习与自然语言处理 [日期:2015-01-14] 来源:新浪长微博  作者: 李航 [字体:大 中 小] 算算时间,从开始到现在,做机器学习算法也将近八个月了.虽然还没有达到融会贯通的地步,但至少在熟悉了算法的流程后,我在算法的选择和创造能力上有了不小的提升.实话说,机器学习很难,非常难,要做到完全了解算法的流程.特点.实现方法,并在正确的数据面前选择正确的方法再进行优化得到最优效果,我觉得没有个八年十年的刻苦钻研是不可能的事情.其实整个人工智能范畴

浅谈 Attention 机制的理解

什么是注意力机制? 注意力机制模仿了生物观察行为的内部过程,即一种将内部经验和外部感觉对齐从而增加部分区域的观察精细度的机制.例如人的视觉在处理一张图片时,会通过快速扫描全局图像,获得需要重点关注的目标区域,也就是注意力焦点.然后对这一区域投入更多的注意力资源,以获得更多所需要关注的目标的细节信息,并抑制其它无用信息. 图片来源:深度学习中的注意力机制,其中红色区域表示更关注的区域. Encoder-Decoder 框架 目前大多数的注意力模型都是依附在 Encoder-Decoder 框架下,

.net中对象序列化技术浅谈

.net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数 据.例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象.反之,反序列化根据流重新构造对象.此外还可以将对象序列化后保存到本地,再次运行的时候可以从本地文件 中“恢复”对象到序列化之前的状态.在.net中有提供了几种序列化的方式:二进制序列化

浅谈——页面静态化

现在互联网发展越来越迅速,对网站的性能要求越来越高,也就是如何应对高并发量.像12306需要应付上亿人同时来抢票,淘宝双十一--所以,如何提高网站的性能,是做网站都需要考虑的. 首先网站性能优化的方面有很多:1,使用缓存,最传统的一级二级缓存:2,将服务和数据库分开,使用不同的服务器,分工更加明确,效率更加高:3,分布式,提供多台服务器,利用反向代理服务器nginx进行反向代理,将请求分散开来:4,数据库的读写分离,不同的数据库,将读操作和写操作分开,并实时同步即可:5,分布式缓存,使用memc