深度学习卷积神经网络学习小结

news2024/9/21 19:48:17

—————————————————————————————————————————————
学习小结:
1)深度学习综述;(2)对卷积神经网络(CNN)的认识;(3)minist数据集训练及测试;

—————————————————————————————————————————————

前言

深度学习是机器学习领域一个新兴的研究方向,它通过模仿人脑结构,实现对复杂输入数据的高效处理,智能地学习不同的知识,而且能够有效地解决多类复杂的智能问题。实践表明,深度学习是一种高效的特征提取方法,它能够提取数据中更加抽象的特征,实现对数据更本质的刻画,同时深层模型具有更强的建模和推广能力。其代表了以使用深层神经网络实现数据拟合的一类机器学习方法,典型的深度学习模型有卷积神经网络(convolutional neural network)、DBN 和堆栈自编码网络(stacked auto-encoder network)模型等。下节主要将介绍卷积神经网络。其学习方法主要可以分为监督学习和无监督学习。监督与非监督是通过查看输入数据是否有标签,有标签则为监督学习,或者为无监督学习。
目前就深度学习的实际应用主要是在语音,图像,信息检索。现今的语音识别通过综合深度学习模型强大的判别训练和连续建模能力,对应的识别效果已经是非常理想;对于图像上的应用主要是在手写体字符识别,人脸识别,及图像识别和检索上,现今在深度学习的框架下这些方面均取得了较好的结果;对于信息检索也有大量的研究应用,通过深度学习的方法对文档建立索引,再从中检索信息。相信未来深度学习在更多的方向有着良好的应用,其将突破了传统机器学习方法的瓶颈,推动了人工智能领域的发展。

卷积神经网络(CNN)

卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。现在,CNN已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。
一般地,CNN的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。
在这里插入图片描述
图1 卷积神经网络概念示范图
图1为CNN的概念示范图,可知CNN结构可分为四个大层次:输入图像,多个卷积-下采样层,光栅化以及多层感知机。对输入图像进行归一化,按激活函数的不同,将输入图像归一化到不同区间,其后将其与下一层权重w做卷积得到各个卷积层,然后下采样得到各个下采样层,这些层的输出为Feature Map。接下来进行光栅化,将所有Feature Map每个像素依次展开,形成一个向量,最后的多层感知机为一个全连接网络,网络最后的分类器一般用激活函数Softmax。
CNN的训练过程包括训练前对权值的初始化,其中权值应用不同的小随机数来保证整个训练过程的成功,其后的两个阶段为向前传播阶段和向后传播阶段,前者通过输入计算出网络中最终的输出,后者通过对比实际输出与理想输出的差,再用反向传播算法更新各个量值,直到实际输出与理想输出的差满足我们期望了一个值。

Minist数据集训练及测试

这里在Minist数据集下进行LeNet模型的训练和测试,其中主要有两部分,首先对LeNet进行介绍,其次为在电脑上实现结果。
(1)LeNet模型介绍。
图2为原始的LeNet模型图,其是早期卷积神经网络中最有代表性的实验系统之一。LeNet除输入外还有有7层。首先设置输入图像大小32*32。各层介绍如下。
C1层是一个卷积层,由6个特征图(Feature Map)构成,每个Feature Map是通过一种卷积滤波器提取输入的一种特征,然后每个Feature Map有多个神经元。特征图中每个神经元与输入中5×5的邻域相连。特征图的大小为28×28。
**S2层是一个下采样层,**利用图像局部相关性的原理,对图像进行子抽样,可以减少数据处理量同时保留有用信息),有6个14×14的特征图。
C3层也是一个卷积层,它同样通过5×5的卷积核去卷积层S2,然后得到的特征图就只有10×10个神经元,但是它有16种不同的卷积核,所以就存在16个Feature Map了。
S4层是一个下采样层,由16个5×5大小的特征图构成。特征图中的每个单元与C3中相应特征图的2×2邻域相连接,跟C1和S2之间的连接一样。
C5层是一个卷积层,有120个特征图。每个单元与S4层的全部16个单元的5×5邻域相连。由于S4层特征图的大小也为5×5(同滤波器一样),故C5特征图的大小为1×1:这构成了S4和C5之间的全连接。之所以仍将C5标示为卷积层而非全连接层,是因为如果LeNet-5的输入变大,而其他的保持不变,那么此时特征图的维数就会比1×1大。
F6层是一个全连接层,有84个单元(之所以选这个数字的原因来自于输出层的设计),与C5层全相连。如同经典神经网络,F6层计算输入向量和权重向量之间的点积,再加上一个偏置。然后将其传递给sigmoid函数产生单元i的一个状态。
输出层由欧氏径向基函数(Euclidean Radial Basis Function)单元组成,应用有限。在多分类任务中,CNN的输出层一般都是Softmax回归模型,该模型输出图片属于某类别的概率。
图2 原始的LeNet模型图
图2 原始的LeNet模型图

(2)首先生成mnist-train-lmdb/ 和 mnist-test-lmdb/,把数据转化成lmdb格式,终端结果如图3所示。
在这里插入图片描述
图3 数据转化
然后训练网络,图4为训练网络的部分终端显示结果。
在这里插入图片描述
图4 训练网络部分结果
最后测试,在数据都训练好后,进行测试,结果如图5所示
在这里插入图片描述
图5 测试结果

总结

通过此次专题加深了对深度学习的认识,对于深度学习的发展有比较详细了解,尤其是知道了其中的CNN整个过程是如何进行。通过查找资料对各个过程中的名词也有了一定的理解认识,同时认识到两个阶段中参量是如何变化。对Minist的实现,加深了整个CNN过程在程序上是如何实现的了解。接下来将对Minist数据库测试与训练的各个步骤进行学习,尤其是弄懂其训练过程及学习过程是如何进行的。对整个CNN过程从理论上进行学习了解,并通过阅读相关文献了解深度学习具体到应用中是如何实现的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/480584.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言中函数宏的三种封装方式详解

目录 ​编辑 1. 函数宏介绍 3. do{...}while(0) 方式 4. ({}) 方式 5. 总结 1. 函数宏介绍 函数宏,即包含多条语句的宏定义,其通常为某一被频繁调用的功能的语句封装,且不想通过函数方式封装来降低额外的弹栈压栈开销。 函数宏本质上为…

Winform从入门到精通(37)—FolderBrowserDialog(史上最全)

文章目录 前言1、Name2、Description3、RootFolder4、SelectedPath5、ShowNewFolderButton前言 当需要获取一个可以通过用户自由选择路径的时候,这时候就需要FolderBrowserDialog控件 1、Name 获取FolderBrowserDialog对象 2、Description 用于指示对话框的描述,如下: …

leetcode刷题(10)二叉树(4)

各位朋友们,大家五一劳动节快乐啊,在这里祝大家假期玩得愉快!但是在玩耍的期间不要忘记了敲代码哦。今天我为大家分享的是二叉树的第四篇,废话不多说,我们一起来看看吧。 文章目录 二叉树的最近公共祖先题目要求做题思…

Stable Diffusion Controlnet V1.1 的14种基础标志用法

用于ControlNet和其他基于注入的SD控件的WebUI扩展。 针对 AUTOMATIC1111 的 Stable Diffusion web UI 网络用户界面的扩展,它可以让网络界面在原始的 Stable Diffusion 模型中添加 ControlNet 条件来生成图像。这种添加是实时的,不需要进行合并。 Con…

【openAI】Whisper如何高效语音转文字(详细教程)

文章目录 前言一、准备二、使用Whisper进行语音转文字三.Whisper转换结果分析总结 前言 语音转文字在许多不同领域都有着广泛的应用。以下是一些例子: 1.字幕制作:语音转文字可以帮助视频制作者快速制作字幕,这在影视行业和网络视频领域非常…

【软件下载】换新电脑记录下下载的软件时所需地址

1.idea https://www.jetbrains.com/zh-cn/idea/download/other.html 2.oracle官方(下载jdk时找的) https://www.oracle.com/ 3.jdk8 https://www.oracle.com/java/technologies/downloads/ 下拉找到jdk8 切换windows (需要注册个oracle账…

TabError: inconsistent use of tabs and spaces in indentation

错误原因是tab制表符和空格混用了。从其他地方复制源码容易出现此错误 解决办法:把处于同级缩进的所有缩进修改统一 比较流行的几个编辑器都能标识tab和空格,比如我用的vscode 用鼠标框选不知道是tab还是空格的部分。 若是空格则显示为上图73行所示的点…

自动化运维工具一Ansible Roles实战

目录 一、Ansible Roles概述 1.1.roles官方的目录结构 1.2.Ansible Roles依赖关系 二、Ansible Roles案例实战 2.1.Ansible Roles NFS服务 2.2 Roles Memcached 2.3 Roles-rsync服务 一、Ansible Roles概述 之前介绍了 Playbook 的使用方法,对于批量任务的部…

C++程序设计——常见C++11新特性

一、列表初始化 1.C98中{}的初始化问题 在C98中,允许使用花括号{}对数组元素进行统一的列表初始化值设定,比如: 但是对于一些自定义类型,就无法使用这样的方式进行初始化了,比如: 就无法通过编译&#xff…

HIT-CSAPP实验二gdb和edb的配置

笔者只是根据自己的电脑进行环境的配置,不一定适配所有的电脑,也不是万能的方法,如果读者使用本人的方法没有配置成功本人深表抱歉。 gdb的使用 通过网上查阅一些资料获得 gdb查看内存和寄存器以及中断设置(转)_gdb…

关于安装PicGo后启动无界面问题

关于安装PicGo后启动无界面问题 其实我遇到的这个也不算是问题,也挺无语的。 最近为了搭建图床,需要使用PicGo,第一次搭建图床也是第一次使用PicGo。在安装了PicGo后发现启动不了,查看后台发现PicGo在运行着,但是没有界…

数据结构与算法九 树进阶

一 平衡树 之前我们学习过二叉查找树,发现它的查询效率比单纯的链表和数组的查询效率要高很多,大部分情况下,确实是这样的,但不幸的是,在最坏情况下,二叉查找树的性能还是很糟糕。 例如我们依次往二叉查找…

User Experience Design and Information Architecture

💥(1) What is IA (Information Architecture)? Definition of four sentences I. Information Architecture is "The structure design of shared informaiton environments-共享信息环境的结构设计" II. Information Architecture is "The sy…

ChatGPT提示词工程(三):Summarizing概括总结

目录 一、说明二、安装环境三、概括总结(Summarizing)1. 简单地概括总结,只有字数限制2. 概括总结需要关注的某些点 四、用“提取”代替“总结”(Try "extract" instead of "summarize")五、概括总…

Mysql第二章 多表查询的操作

这里写自定义目录标题 一 外连接与内连接的概念sql99语法实现 默认是内连接sql99语法实现左外连接,把没有部门的员工也查出来sql99语法实现右外连接,把没有人的部门查出来sql99语法实现满外连接,mysql不支持这样写mysql中如果要实现满外连接的…

生成对抗网络原理

GAN的原理 GAN是在2014年由Ian Goodfellow等人提出的,发表在论文“Generative Adversarial Networks”中。 GAN的主要灵感来源于博弈论中零和博弈的思想,应用到深度学习神经网络上来说,就是通过生成网络G(Generator)和…

系统架构设计

高性能 客户端内部缓存客户端到服务器之间缓存:CDN,网络专线数据库前加缓存Sessioin等信息共享NoSQL数据库分片,读写分离web层无关态集群负载均衡GeoDNS 就近原则,边缘计算存储异步,解耦,削峰:消息队列离线…

MySQL学习笔记第五天

第06章多表查询 多表查询概述: 多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段&#xff0…

第二十章 渲染管线

渲染管线是计算机图形中最基础最核心的部分,它是将3D场景显示到2D平面的技术过程。在DirectX课程中,我们就介绍了渲染管线,分为固定渲染管线和可编程渲染管线(Shader)。但是在DirectX 10版本之后统一了渲染架构&#x…

【Java】面试常问知识点(Java基础)

JVM java 栈:线程私有,生命周期和线程,每个方法在执行的同时都会创建一个 栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等信息。方法的执行就对应着栈帧在虚拟机栈中入栈和出栈的过程;栈…