当前位置: 首页 > news >正文

比较好的网站开发框架石家庄网站建设吧

比较好的网站开发框架,石家庄网站建设吧,创意型网站建设,企业网站用什么做文章目录目录1.CNN学习2.Keras深度学习框架目录 1.CNN学习 卷积神经网络CNN总结 从神经网络到卷积神经网络#xff08;CNN#xff09;我们知道神经网络的结构是这样的#xff1a; 那卷积神经网络跟它是什么关系呢#xff1f;其实卷积神经网络依旧是层级网络#xff0c;… 文章目录目录1.CNN学习2.Keras深度学习框架目录 1.CNN学习 卷积神经网络CNN总结 从神经网络到卷积神经网络CNN我们知道神经网络的结构是这样的 那卷积神经网络跟它是什么关系呢其实卷积神经网络依旧是层级网络只是层的功能和形式做了变化可以说是传统神经网络的一个改进。比如下图中就多了许多传统神经网络没有的层次。   卷积神经网络的层级结构      • 数据输入层/ Input layer  • 卷积计算层/ CONV layer  • ReLU激励层 / ReLU layer  • 池化层 / Pooling layer  • 全连接层 / FC layer   1.数据输入层该层要做的处理主要是对原始图像数据进行预处理其中包括  • 去均值把输入数据各个维度都中心化为0如下图所示其目的就是把样本的中心拉回到坐标系原点上。  • 归一化幅度归一化到同样的范围如下所示即减少各维度数据取值范围的差异而带来的干扰比如我们有两个维度的特征A和BA范围是0到10而B范围是0到10000如果直接使用这两个特征是有问题的好的做法就是归一化即A和B的数据都变为0到1的范围。  • PCA/白化用PCA降维白化是对数据各个特征轴上的幅度归一化   去均值与归一化效果图   去相关与白化效果图     2.卷积计算层这一层就是卷积神经网络最重要的一个层次也是“卷积神经网络”的名字来源。在这个卷积层有两个关键操作  • 局部关联。每个神经元看做一个滤波器(filter)  • 窗口(receptive field)滑动 filter对局部数据计算   先介绍卷积层遇到的几个名词  • 深度/depth解释见下图  • 步长/stride 窗口一次滑动的长度  • 填充值/zero-padding   填充值是什么呢以下图为例子比如有这么一个5*5的图片一个格子一个像素我们滑动窗口取2*2步长取2那么我们发现还剩下1个像素没法滑完那怎么办呢 那我们在原先的矩阵加了一层填充值使得变成6*6的矩阵那么窗口就可以刚好把所有像素遍历完。这就是填充值的作用。 卷积的计算注意下面蓝色矩阵周围有一圈灰色的框那些就是上面所说到的填充值 这里的蓝色矩阵就是输入的图像粉色矩阵就是卷积层的神经元这里表示了有两个神经元w0,w1。绿色矩阵就是经过卷积运算后的输出矩阵这里的步长设置为2。   蓝色的矩阵(输入图像)对粉色的矩阵filter进行矩阵内积计算并将三个内积运算的结果与偏置值b相加比如上面图的计算2-21-21-2-2 1 2 - 3 - 3 1 -3计算后的值就是绿框矩阵的一个元素。   下面的动态图形象地展示了卷积层的计算过程   参数共享机制  • 在卷积层中每个神经元连接数据窗的权重是固定的每个神经元只关注一个特性。神经元就是图像处理中的滤波器比如边缘检测专用的Sobel滤波器即卷积层的每个滤波器都会有自己所关注一个图像特征比如垂直边缘水平边缘颜色纹理等等这些所有神经元加起来就好比就是整张图像的特征提取器集合。  • 需要估算的权重个数减少: AlexNet 1亿 3.5w  • 一组固定的权重和不同窗口内数据做内积: 卷积   3.激励层把卷积层输出结果做非线性映射。 CNN采用的激励函数一般为ReLU(The Rectified Linear Unit/修正线性单元)它的特点是收敛快求梯度简单但较脆弱图像如下。   激励层的实践经验  ①不要用sigmoid不要用sigmoid不要用sigmoid  ② 首先试RELU因为快但要小心点  ③ 如果2失效请用Leaky ReLU或者Maxout  ④ 某些情况下tanh倒是有不错的结果但是很少 4.池化层池化层夹在连续的卷积层中间 用于压缩数据和参数的量减小过拟合。简而言之如果输入是图像的话那么池化层的最主要作用就是压缩图像。   这里再展开叙述池化层的具体作用。 1. 特征不变性也就是我们在图像处理中经常提到的特征的尺度不变性池化操作就是图像的resize平时一张狗的图像被缩小了一倍我们还能认出这是一张狗的照片这说明这张图像中仍保留着狗最重要的特征我们一看就能判断图像中画的是一只狗图像压缩时去掉的信息只是一些无关紧要的信息而留下的信息则是具有尺度不变性的特征是最能表达图像的特征。 2. 特征降维我们知道一幅图像含有的信息是很大的特征也很多但是有些信息对于我们做图像任务时没有太多用途或者有重复我们可以把这类冗余信息去除把最重要的特征抽取出来这也是池化操作的一大作用。 3. 在一定程度上防止过拟合更方便优化。 池化层用的方法有Max pooling 和 average pooling而实际用的较多的是Max pooling。 这里就说一下Max pooling其实思想非常简单。 对于每个2*2的窗口选出最大的数作为输出矩阵的相应元素的值比如输入矩阵第一个2*2窗口中最大的数是6那么输出矩阵的第一个元素就是6如此类推。 5.全连接层两层之间所有神经元都有权重连接通常全连接层在卷积神经网络尾部。也就是跟传统的神经网络神经元的连接方式是一样的 一般CNN结构依次为  1. INPUT  2. [[CONV - RELU]*N - POOL?]*M   3. [FC - RELU]*K  4. FC 卷积神经网络之训练算法  1. 同一般机器学习算法先定义Loss function衡量和实际结果之间差距。  2. 找到最小化损失函数的W和b CNN中用的算法是SGD随机梯度下降。 卷积神经网络之优缺点优点  • 共享卷积核对高维数据处理无压力  • 无需手动选取特征训练好权重即得特征分类效果好缺点  • 需要调参需要大样本量训练最好要GPU  • 物理含义不明确也就说我们并不知道没个卷积层到底提取到的是什么特征而且神经网络本身就是一种难以解释的“黑箱模型” 卷积神经网络之典型CNN  • LeNet这是最早用于数字识别的CNN  • AlexNet 2012 ILSVRC比赛远超第2名的CNN比  • LeNet更深用多层小卷积层叠加替换单大卷积层。  • ZF Net 2013 ILSVRC比赛冠军  • GoogLeNet 2014 ILSVRC比赛冠军  • VGGNet 2014 ILSVRC比赛中的模型图像识别略差于GoogLeNet但是在很多图像转化学习问题(比如object detection)上效果奇好 卷积神经网络之 fine-tuning何谓fine-tuningfine-tuning就是使用已用于其他目标、预训练好模型的权重或者部分权重作为初始值开始训练。 那为什么我们不用随机选取选几个数作为权重初始值原因很简单第一自己从头训练卷积神经网络容易出现问题第二fine-tuning能很快收敛到一个较理想的状态省时又省心。 那fine-tuning的具体做法是  • 复用相同层的权重新定义层取随机权重初始值  • 调大新定义层的的学习率调小复用层学习率 卷积神经网络的常用框架 Caffe  • 源于Berkeley的主流CV工具包支持C,python,matlab  • Model Zoo中有大量预训练好的模型供使用Torch  • Facebook用的卷积神经网络工具包  • 通过时域卷积的本地接口使用非常直观  • 定义新网络层简单TensorFlow  • Google的深度学习框架  • TensorBoard可视化很方便  • 数据和模型并行化好速度快   总结卷积网络在本质上是一种输入到输出的映射它能够学习大量的输入与输出之间的映射关系而不需要任何输入和输出之间的精确的数学表达式只要用已知的模式对卷积网络加以训练网络就具有输入输出对之间的映射能力。 CNN一个非常重要的特点就是头重脚轻越往输入权值越小越往输出权值越多呈现出一个倒三角的形态这就很好地避免了BP神经网络中反向传播的时候梯度损失得太快。 卷积神经网络CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于CNN的特征检测层通过训练数据进行学习所以在使用CNN时避免了显式的特征抽取而隐式地从训练数据中进行学习再者由于同一特征映射面上的神经元权值相同所以网络可以并行学习这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性其布局更接近于实际的生物神经网络权值共享降低了网络的复杂性特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度。   以下是我自己在学习CNN的时候遇到的一些困惑以及查阅一些资料后得到的一些答案。 第一个问题为什么不用BP神经网络去做呢1.全连接权值太多需要很多样本去训练计算困难  • 应对之道减少权值的尝试局部连接权值共享   卷积神经网络有两种神器可以降低参数数目。  第一种神器叫做局部感知野一般认为人对外界的认知是从局部到全局的而图像的空间联系也是局部的像素联系较为紧密而距离较远的像素相关性则较弱。因而每个神经元其实没有必要对全局图像进行感知只需要对局部进行感知然后在更高层将局部的信息综合起来就得到了全局的信息。  第二级神器即权值共享。   2.边缘过渡不平滑  • 应对之道采样窗口彼此重叠   第二个问题LeNet里的隐层的神经元个数怎么确定呢它和原图像也就是输入的大小神经元个数、滤波器的大小和滤波器在图像中的滑动步长都有关 LeNet-5共有7层不包含输入每层都包含可训练参数连接权重。输入图像为32*32大小。 例如我的图像是1000x1000像素而滤波器大小是10x10假设滤波器没有重叠也就是步长为10这样隐层的神经元个数就是(1000x1000 )/ (10x10)100x100个神经元了。 那重叠了怎么算比如上面图的C2中28*28是如何得来的这里的步长就是1窗口大小是5*5所以窗口滑动肯定发生了重叠。下图解释了28的由来。     第三个问题S2层是一个下采样层是干嘛用的为什么是下采样也就是上面所说的池化层只是叫法不同而已。这层利用图像局部相关性的原理对图像进行子抽样可以减少数据处理量同时保留有用信息相当于图像压缩。 2.Keras深度学习框架 Keras主要包括14个模块本文主要对Models、layers、Initializations、Activations、Objectives、Optimizers、Preprocessing、metrics共计8个模块分别展开介绍并通过一个简单的Bp神经网络说明各个模块的作用。  1. Model  包keras.models  这是Keras中最主要的一个模块用于对各个组件进行组装  eg: from keras.models import SequentialmodelSequential() #初始化模型model.add(...) #可使用add方法组装组件 2. layers  包keras.layers  该模块主要用于生成神经网络层包含多种类型如Core layers、Convolutional layers等  eg: from keras.layers import Dense #Dense表示Bp层model.add(Dense(input_dim3,output_dim5)) #加入隐含层 3. Initializations  包keras.initializations  该模块主要负责对模型参数权重进行初始化初始化方法包括uniform、lecun_uniform、normal、orthogonal、zero、glorot_normal、he_normal等  详细说明http://keras.io/initializations/  eg: model.add(Dense(input_dim3,output_dim5,inituniform)) #加入带初始化uniform的隐含层4. Activations  包keras.activations、keras.layers.advanced_activations新激活函数  该模块主要负责为神经层附加激活函数如linear、sigmoid、hard_sigmoid、tanh、softplus、relu、 softplus以及LeakyReLU等比较新的激活函数  详细说明http://keras.io/activations/  eg: model.add(Dense(input_dim3,output_dim5,activationsigmoid)) 加入带激活函数sigmoid的隐含层Equal to: model.add(Dense(input_dim3,output_dim5)) model.add(Activation(sigmoid)) 5. Objectives  包keras.objectives  该模块主要负责为神经网络附加损失函数即目标函数。如mean_squared_errormean_absolute_error squared_hingehingebinary_crossentropycategorical_crossentropy等其中binary_crossentropycategorical_crossentropy是指logloss  注目标函数的设定是在模型编译阶段  详细说明http://keras.io/objectives/  eg: model.compile(lossbinary_crossentropy, optimizersgd) #loss是指目标函数6. Optimizers  包keras.optimizers  该模块主要负责设定神经网络的优化方法如sgd。  注优化函数的设定是在模型编译阶段  详细说明http://keras.io/optimizers/  eg: model.compile(lossbinary_crossentropy, optimizersgd) #optimizer是指优化方法7. Preprocessing  包keras.preprocessing.(image\sequence\text)  数据预处理模块不过本人目前尚未用过  8. metrics  包keras.metrics  与sklearn中metrics包基本相同主要包含一些如binary_accuracy、mae、mse等的评价方法  eg: predictmodel.predict_classes(test_x) #输出预测结果keras.metrics.binary_accuracy(test_y,predict) #计算预测精度 9. Bp 神经网络的简单实现 from keras.models import Sequential #导入模型from keras.layers import Dense #导入bp层train_x,train_y #训练集test_x,text_y #测试集modelSequential() #初始化模型model.add(Dense(input_dim3,output_dim3,activationsigmoidinituniform))) #添加一个隐含层注只是第一个隐含层需指定input_dimmodel.add(Dense(1,activationsigmoid)) #添加输出层model.compile(lossbinary_crossentropy, optimizersgd) # 编译指定目标函数与优化方法model.fit(train_x,train_y ) # 模型训练model.evaluate(test_x,text_y ) #模型测试
http://www.sadfv.cn/news/144308/

相关文章:

  • 深圳股票配资网站开发建设网站的价格
  • 深圳 网站建设培训班网上装修平台哪个最好
  • 网站开发建设属于什么费用网站体系优势
  • 设计灵感的网站莱芜定制网站建设公司
  • 北京高端网站建设入门企业管理官网登录入口
  • 西宁哪家网络公司做网站好广州网站设计素材
  • 网站开发字体选择怎么自己做APP网站
  • phpcms 手机网站模板wordpress 上传fttp
  • 抓好门户网站建设网站生成自助
  • 网站留言板html代码新竹网站
  • 网站流量查询 优帮云东莞营销网站建设报价
  • 朝阳区手机网站制作服务深圳装修网
  • 临汾推广型网站建设个人开发小程序多少钱
  • 什么样的网站容易做seo无锡网站建设优化
  • 网站中的搜索功能怎么做的重庆网站开发设计公司
  • 当建设部门网站河南建设厅网站
  • 做企业网站设计价格是多少山东seo网页优化外包
  • 网站建设方案对比报告产品设计方案格式模板
  • 求一个2023年没封的南通企业网站seo
  • 网站规划与网页设计案例图书大厦网站建设报告
  • 石家庄网站建设公司哪个好icp网站备案流程
  • 做设计不进设计公司网站wordpress连接数据库文件
  • 网站建设的服务怎么样wordpress 后台模板
  • 谷城做网站企业如何开展网络营销
  • 坪地网站建设如何wordpress图片下一篇
  • wordpress开启伪静态无法登陆2017织梦网站怎么做seo
  • 普陀网站建设比较实惠wordpress实现微信登录
  • 网站建设有什么优势排版设计网站
  • 电子商务网站设计html模板化学网站定制
  • 查看网站开发技术域名解析记录值填什么