| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 深度学习理论总结(2) -> 正文阅读 |
|
[人工智能]深度学习理论总结(2) |
1.卷积神经网络概念????????卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一 。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariant classification),因此也被称为“平移不变人工神经网络(Shift-Invariant Artificial Neural Networks, SIANN)”?。对卷积神经网络的研究始于二十世纪80至90年代,时间延迟网络和LeNet-5是最早出现的卷积神经网络;在二十一世纪后,随着深度学习理论的提出和数值计算设备的改进,卷积神经网络得到了快速发展,并被应用于计算机视觉、自然语言处理等领域。卷积神经网络仿造生物的视知觉(visual perception)机制构建,可以进行监督学习和非监督学习,其隐含层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够以较小的计算量对格点化(grid-like topology)特征,例如像素和音频进行学习、有稳定的效果且对数据没有额外的特征工程(feature engineering)要求?。 2.卷积神经网络基本内容? ? ? ? 卷积神经网络可以用来对对象进行边缘检测,检测分为垂直边缘检测与水平边缘检测,检测需要建立过滤器与原图像进行卷积运算。 ?具体如图 ? ? ? ? 其中矩阵(1 0 -1 1 0 -1 1 0 -1)被称为过滤器,该矩阵用来进行垂直边缘检测;一般用矩阵(111 000 -1-1-1)来检测水平边缘。但这样卷积后图像会缩小并且对图像角落的检测信息会不足,因此需要用padding(填充)来减小缺点的影响,即在输入层外设置p圈0加入计算,p为需要增加的层数,p=(f-1)/2,过滤器为f*f的矩阵。同时我们也可以用步长s来缩小图像输出的大小,一般卷积层步长s为1,如输出过大可增加步长来减小输出,具体计算公式为(n+2p-f)/s+1,输入矩阵为n*n。 3.3D卷积? ? ? ? 3D卷积与2D卷积的区别是将输入变成了立方体n*n*nc,nc为输入的通道数,这里输入的通道数与过滤器的通道数必须要相等否则将无法进行卷积。计算时要将过滤器矩阵覆盖在原矩阵上进行元素的依次相乘,并且如果要检测图像的红色通道垂直边缘则将过滤器第一层设为(1 0 -1 1 0 -1 1 0 -1)其余全为0,如检测图像的垂直边缘则将过滤器全层设为(1 0 -1 1 0 -1 1 0 -1)。 4.池化层与全连接层????????池化层夹在连续的卷积层中间, 用于压缩数据和参数的量,减小过拟合。简而言之,如果输入是图像的话,那么池化层的最主要作用就是压缩图像。全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。由于其全相连的特性,一般全连接层的参数也是最多的。具体见图
?5.残差块与残差网络? ? ? ? 残差块主要的作用是减少优化的困难,使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题。残差网络的特点是容易优化,并且能够通过增加相当的深度来提高准确率。同时可以加快卷积计算的运行。具体内容如图 6.对象检测????????对象检测是卷积神经网络的重要应用之一,首先我们需要确定一个图片,以左上角为原点建立向下的直角坐标系,将图片的右下角设为(1,1),同时我们需要设一个边界框,长为bw,宽为bh,框的中心坐标为(bx,by),从而通过边界框的滑动进行对象的检测。具体如图 ?????????算法的构建主要步骤为: ? ? ? ? ? ? ? ? 1.创建标签训练集X 、Y(其中将x输入至卷积神经网络得到输出y,整体为XY) ? ? ? ? ? ? ? ? 2.选定一个特定大小的窗口 ? ? ? ? ? ? ? ? 3.输入卷积网络 ? ? ? ? ? ? ? ? 4.判断方框内是否有对象并输出 ? ? ? ? ? ? ? ? 5.滑动边界框向右到下一个区域重复上述操作 ? ? ? ? ? ? ? ? 6.将边界框适当扩大重复上述操作 ? ? ? ? 该算法为滑动窗口目标检测算法,误差较小,但可能会由于s过大使得得到的存在对象窗口减小或者由于窗口的粗粒度影响了性能与计算成本。 7.YoLo算法? ? ? ? 通俗来讲YoLo算法就是将图片分为n*n的网格,针对每个网格都会得到一个训练标签y,如果有对象则对象中心所在的网格y将输出存在对象,bw、bh、bx、by为对象相对于网格大小,整体依旧是左上角(0,0),右下角(1,1)。 ? ? ? ? YoLo算法的好处是在速度快的同时,还可以利用图片的全局信息做预测,同时具有更好的泛化性能。当下有许多的卷积网络均在使用YoLo算法的基础上进行优化处理,得到的效果也比滑动窗口目标检测算法要好。 8.小总结? ? ? ? 以上是我在吴恩达老师的卷积神经网络的学习总结。吴恩达老师的深度学习课程讲的内容相对来讲比较好理解,我比较推荐大家能去以此作为基础来进行学习。在此我仅做了相对重要的内容的总结,还有很多的细节我并没有提到,在此深表歉意,同时如果有任何问题还请各位大佬提出,我将尽快修正。 ???????? ???????? ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 18:49:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |