zoukankan      html  css  js  c++  java
  • 深度神经网络

    隐藏层(hidden layer)

    为什么叫隐藏层?因为是黑盒角色;输入层输入到"黑盒",将会得到进行运算,最后数据到输出层。隐藏层是深度学习一个基本概念。

    输入层是原始数据样本,注意每个原始样本的滑窗范围(也叫感受视野,local receptive fields,也被称之为卷积核,还常被称之为filter,和"深度"意思一致)对应着隐藏层一个节点,这个映射过程是通过将输入数据*权重weight获得的,所以在窗口滑动的过程,么给窗口其实都是对应一个隐藏层节点,或者说每个隐藏层节点对应要给原始数据的滑窗。

    隐藏层边长公式:(W-K)/S + 1

    有的时候,为了控制隐藏层的分布,在原始数据的四周填充0,假设填充P行,这个行为叫padding,那么边长公式:(W - K + 2P)/S + 1,特别的S=1,P= (K-1)/2,可以保证输入输出层的分布(shape)是一样的。可以使用0填充的卷积称之为"泛卷积",不能使用0来填充的卷积称之为"严格卷积"。

    参数共享(shared weight)

    参数共享说的是卷积核是所有的隐藏层都是一样的,就是共享权重,截距成为共享偏移(shared bias),输入层通过卷积核到隐藏层被称之为"特征映射",在深度学习里面,每个输入层的窗口以及隐藏层的元素都是一个"特征"。

    那么多个特征图呢?例如图片会有RGB三个通道,卷积核是三个还是一个呢?需要三个,每个通道(深度)应该有自己的卷积核。

    池化层

    池化层的目的就是减少特征,对于池化层的节点可以理解为上一层(隐藏层)的特征,或者说特征的特征;

    线性计算

    y = W.T * x + b;注意W.T是在前面;因为输入层转到隐藏层,样本的数量是要发生变化的;所以一定是X在后面,因为根据矩阵计算规则,取乘数的行数,被乘数的列数。

    矩阵默认是列向量;比如numpy.zeros(5),返回的是列向量(5,);

    反向传播的节点

    Affine,sofmaxWithLoss等等其实都是计算图的一个节点,和前面介绍的加法,减法等一样;但是加减乘除必须要两个数据进行操作,对于其他的一些操作比如转换类,那么只需要一个参数就可以了,主要看业务的需要;

    LSVRC

    Large Scale Visual Recognition Challenge(LSVRC ,大规模视觉认知挑战赛)

  • 相关阅读:
    优秀大数据GitHub项目一览
    自定义组件-BreadcrumbTreeView 的使用
    IOS中的属性列表----Property List
    即时通讯之smack客户端配置
    Android studio 使用问题汇总
    触摸事件UITouch的应用
    Android界面设计之对话框——定制Toast、AlertDialog
    android_orm框架之greenDAO(一)
    火速提升Android仿真器的运行速度 ——仿真器Genymotion
    Android 中的缓存机制与实现
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/11256820.html
Copyright © 2011-2022 走看看