theano卷积神经网络实现

参考文献

Convolutional Neural Networks (LeNet)


卷积是什么
    定义:在泛函分析中,卷积、旋积或摺积(英语:Convolution)是通过两个函数f 和g 生成第三个函数的一种数学算子,表征函数f 与g经过翻转和平      移的重叠部分的面积。
    公式:(简单理解,g对f在时间域上的连续影响之和)

    theano实现:theano.tensor.signal.conv2d
    (局部感知+权值共享-->减少参数-->计算机实现)

矩阵的卷积运算: o[m,n] = f[m,n]*g[m,n] = \sum_{u=-\infty}^{\infty} \sum_{v=-\infty}^{\infty} f[u,v] g[m-u,n-v].
规则:1.图像卷积运算通常使用3*3矩阵
         2.卷积核旋转180度,将卷积核中心对应输入矩阵的[0,0]元素,对重叠部分求和
         3.移动卷积核,分别对应输入矩阵的每个元素,进行求和,得到输出矩阵。
from theano.tensor.nnet import conv2d
卷积计算 conv2d(input,W)
卷积输出值 
h^k_{ij} = \tanh ( (W^k * x)_{ij} + b_k ).
 

池化
    池化层往往在卷积层后面,通过池化来降低卷积层输出的特征向量,同时改善结果(不易出现过拟合)。
       因为图像具有一种“静态性”的属性,这也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图像,一个很自        然的想法就是对不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值 (或最大值)来代表这个区域的特征。
    通过池化达到降维德目的
    theano实现:
from theano.tensor.signal import pool
        池化操作
pool_out=pool.pool_2d(input,maxpool_shape,ignore_border=True)
f=theano.function([input],pool_out)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值