[译]TF-api(2) tf.nn.lrn

tf.nn.lrn

Args:

input: A Tensor. Must be one of the following types: float32, half. 4-D.

input是一个4D的tensor,类型必须为float。

depth_radius: An optional int. Defaults to 5.0-D. Half-width of the 1-D normalization window.

一个类型为int的标量,表示囊括的kernel的范围。详情见下面解释

bias: An optional float. Defaults to 1.An offset (usually positive to avoid dividing by 0).

偏置,没什么好解释的

alpha: An optional float. Defaults to 1.A scale factor, usually positive.

乘积系数,是在计算完囊括范围内的kernel的激活值之和之后再对其进行乘积

beta: An optional float. Defaults to 0.5. An exponent.

指数系数。

name: A name for the operation (optional).

Returns: A Tensor. Has the same type as input.


LRN是normalization的一种,normalizaiton的目的是抑制,抑制神经元的输出。而LRN的设计借鉴了神经生物学中的一个概念,叫做“侧抑制”。

侧抑制: 相近的神经元彼此之间发生的抑制作用,即在某个神经元受到刺激而产生兴奋时,再刺激相近的神经元,则后者所发生的兴奋对前者产生的抑制作用。也就是说,侧抑制是指相邻的感受器之间能够互相抑制的现象。

LRN对局部神经元的活动创建竞争机制,使得响应比较大的值相对更大,比较小的值就会更小。提高了模型的泛化能力。下面展示公式:

bix,y=aix,y/(k+αj=max(0,in/2)min(N1,i+n/2)(aix,y)2)β

上述公式中 N 表示kernel的数量,i表示第 i 个kernel,而aix,y表示第 i 个kernel卷积出来后在图片(x,y)位置上的值。 bix,y 表示经过lrn后的值。 k,n,α,β 表示超参数,对应api里, bias=k,depth_radius=n,alpha=α,beta=β

从公式和历史由来可以看出,LRN是对channel做计算的。

还有一个tf.nn.local\_response\_normalization(),这个api会指向tf.nn.lrn()


举例:
这个就没什么好举例子的。


争议:
2015年 Very Deep Convolutional Networks for Large-Scale Image Recognition.这篇文章提到LRN基本没什么用,反而还增加了计算时间。

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值