Day7 Neural Network

关键词:神经网络、激活函数 Activiation Function、设置层数和神经元数

两层的神经网络

2-Layer NN

对于输入x,进行矩阵计算 w1 * x  

输入隐藏层:使用激活函数(Activation Function) h = max ( 0, s)  

输出层:s =  w2  * h 矩阵计算得到最终得分 

2层神经网络

第9行和第10行是Score Function,第11行是Loss Funciton,

14-17行,则是使用链式法则求解梯度,17行就用到了sigmoid函数的导数 h * (1 - h) 

生物神经网络简介

输入:树突:接受信号

计算:轴突释放的化学物质使该神经产生电位差形成电流传递信息

输出:神经末梢传递计算后的信号给其他神经元

生物神经元

生物神经元的特别之处

有很多不同的类型的神经元

树突可以执行复杂的非线性计算(我们目前算法中的单个神经元执行的都是线性运算)

突触所处理的不是单一的权重,它是一个复杂的非线性动力学系统

我们并不确定大脑是否使用 比率/ 概率 进行编码的

Biological Neurons

激活函数

具体的每一个函数的简介可参照该文>>

Activation Function

神经网络

神经网络是神经元互相连接构成的一个非循环的图(graph,有方向的),也就是说一些神经元的输出会作为其他神经元的输入。

环路是不允许的因为这会使得神经网络的前向传播陷入无止尽的循环中

神经网络的结构

全连接层(fully-connected layer)

表示的是相邻两层之间的神经元两两连接,同层的神经元则互不连接。如上图

命名习惯:平时说N层神经网络,是不把输入层计算在内的。一个单层神经网络表示的是输入层接输出层,没有隐含层的网络结构。

输出层:和神经网络其他的层不同,最后的输出层通常情况下没有activation function,这是因为最后一层的输出通常用来表示类别的score(特别是分类),score通常是实值的数。 

神经网络的大小:衡量某个神经网络有多大,通常有两种方法,1是神经元的数目,2是参数的数目,相比之下第二种更常用。比如说以上图为例: 

- 上图左的网络共包含(4+2=6)个神经元(不包括输入层),参数则有[3*4]+[4*2]=20个weights还有[4+2=6]个bias,也就是总共26个可学习的参数。

- 上图右的网络共包含(4+4+1=9)个神经元,参数则有[3*4]+[4*4]+[4*1]=12+16+4=32个weights还有[4+4+1=9]个bias,也就是总共41个可学习的参数。 

实际上,现在所有的卷积网络通常都包含亿级的参数,并且由10-20层网络组成(因此说是deep learning)。

前馈神经网络

前馈神经网络

如何设置神经网络的层数和神经元数?

如果是为了最终的准确性,那么越多越好。无论是增加层数、还是增加神经元数目,神经网络的性能都会有所提升。因为神经元可以协同作用表达出不同的函数来对数据进行表示。

比如:假设在二维空间中有一个二值的分类问题,我们可以训练3个不同的神经网络,每个神经网络都包含一个隐含层,但是隐含层中包含的神经元数目不一样(3个、6个、20个),分类器的分类效果如下图:

Different Neuron

上图结论:同样层数的情况下,神经元越多的神经网络对现有的数据拟合越好,因为它们更能够表达更加复杂的函数。

优点:可以对更复杂的数据进行分类

缺点:容易对训练数据过拟合(overfitting)。比如,

隐层包含20个神经元的图,它虽然把所有的数据都分对了,但把整个平面分成了红绿相间、相互脱节的小区域,看上去很不平滑。而3个神经元的图,它能够从大方向上去分类数据,而把一些被绿色点包围的红色点看成是异常值、噪声(outliers)。实际中这能够使得模型在测试数据上有更好的泛化能力。 

基于上述讨论,貌似当数据不太复杂的时候,可以选用小一点的神经网络来预防overfitting?

No!我们可以选择其他更好的方法来避免过拟合(比如L2正则化,dropout,增加噪声等)。实际中用这些方法避免过拟合,比减少神经元的个数要更好。

比如:可以观察不同的正则强度是如何控制20个隐含神经元的过拟合的,见下图

不同的正则强度

当λ(lambda) = 0.001 时(较小),生成的曲线弯曲程度很高,有过拟合的嫌疑。

λ = 0.01时,生成的分类曲线已经相对圆滑,已经基本可以划分红绿点,认为在绿色区域的是哪个红点属于噪音数据。

λ = 0.1时,生成的分类曲线已经相对很接近直线,相较于λ = 0.01时,认为红色区域中1个绿色点也是异常值了。

关于正则化,可以点击链接,进行简单回顾下,核心的表现形式如下:

Regularization

用λ(lambda)来约束权重系数w,让它尽可能简单。如果 λ 比较大,则说明我们更看重正则化损失,如果比较 小 ,就说明更看重数据损失。λ 过大了会造成欠拟合问题,过小会造成过拟合问题。

总结:不能因为担心过拟合就使用小一点的神经网络,相反如果你的计算机性能允许,你应该用大的神经网络,并通过一些正则化的方法来控制过拟合(over-fitting).

总结

向量(vector)运算会更加高效

NN Summary
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,444评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,421评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,363评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,460评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,502评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,511评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,280评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,736评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,014评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,190评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,848评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,531评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,159评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,411评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,067评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,078评论 2 352

推荐阅读更多精彩内容