跟我学算法-图像识别之图像分类(上)(基础神经网络, 卷积神经网络(CNN), AlexNet,NIN, VGG)
1.基础神经网络:
输入向量x,权重向量w, 偏置标量b, 激活函数sigmoid(增加非线性度)
优化手段: 梯度下降优化, BP向后传播(链式规则)
梯度下降优化:
1. 使用得目标函数是交叉熵 c = 1/nΣΣ[yj*lnaj^2 + (1-yj)*ln(1-aj^2)] yj表示得是样本标签, aj表示的是输出值
2.批量梯度下降:每次迭代一部分样本,进行参数跟新。
3. 随机梯度下降:每次迭代只选择单个样本
4. 梯度更新的方向:选择动量算法(momentum),思想是指数加权平均
2. 卷积神经网络(CNN)
CNN的基本层:
卷积层 - 卷积层和激活层
池化层 - (平均池化, 最大化池化)
全连接层(Fully - Connected layer)
批归一化层
CNN卷积层:
3D滤波器卷积核:
以扫描窗的方式对图像做卷积
每层含有多个核,每个核对应输出通道
提取局部特征
权重参数自学习
参数共享: 指的是这些参数用一个神经元来扫描一张图
(output number) 滤波器, 卷积核数量
核尺寸 (kernel size)
步长(stride)
零填充(zero padding)
卷积后的尺寸计算(W, H, D)
W = (W - size + 2*padding)/stride + 1
H = (H - size + 2*padding)/stride + 1
D = output number
对于输入的卷积,我们通常使用权值相加,即每个输出层与卷积核分别点乘。
卷积层中的非线性激活函数:
sigmoid, Relu
sigmoid : б(z)= 1 / (1+e^-z)
Relu : б(z)= max(0, x), 分段线性函数, 无饱和问题,明显减轻了梯度消失得问题,一定程度上可以提高通道得深度
CNN池化层
作用:特征融合,降维
特点: 无参数需要学习
超参数: 尺寸, 步长
计算类别: 最大化池化, 平均池化
CNN全连接层
作用: 推理器, 分类器
普通神经网络
全局感受野, 去除空间信息。
需要学习参数
等效于全局卷积
CNN-softmax: 指数归一化函数,将一个实数值向量压缩到(0, 1),使得所有元素和为1
б(Z) = e^zj / (Σe^zj)
最后一层是全连接层,为了得到1000类标签的概率
loss =Σ -yi * log(ai) ai表示的是预测的结果, yi表示的是当前的标签
图像像素中心化
(R,G,B)减去各自通道的均值
防过拟合,提高泛化能力
1.数据增强*10 (数据量增强)
256*256 提取中心和边缘,使得图片的维度变成224*224, 图片的数目*5
水平翻转 图片的数目*2
2. droupout
训练过程中,随机让一些神经元的输出设为0
3. weight decay 权重衰减(L2正则)
C = C0 + λ/2n * ΣW^2 λ表示衰减系数, n表示参数个数,ΣW^2表示参数的平均加和
3. AlexNet
五个卷积层 + 三个全连接层
进行了一次分组计算
新技术:
Relu非线性激活
MaxPooling 池化
Dropout regulation (dropout正则化)
局部相应归一化: 在某个位置上实现跨通道的归一化
输入图片 224*224*3, 第一层卷积的尺寸,11*11*3 *96 第二层卷积尺寸,256*5*5*48, 第三层卷积尺寸, 384*3*3*256,第四层卷积尺寸, 384*3*3*192, 第五层卷积,256*3*3*192
4.NIN
提出了1*1卷积的思想,一般有增加通道数的作用,也可用来降低,以此来使数据的特征更加的紧凑
提高CNN的局部感知区域
卷积层 -> 1*1卷积层 -> Max池化层,
5. VGG网络
思想是一个大卷积分解成多个小卷积核的过程
核分解:7*7 - 3个3*3的卷积核,每次卷积以后由relu连接
参数数量 49C2 - > 27C2
减少了参数,降低计算,增加深度,VGG的深度是16, alexNEt的深度为8
跟我学算法-图像识别之图像分类(上)(基础神经网络, 卷积神经网络(CNN), AlexNet,NIN, VGG)的更多相关文章
- 跟我学算法-图像识别之图像分类(下)(GoogleNet网络, ResNet残差网络, ResNext网络, CNN设计准则)
1.GoogleNet 网络: Inception V1 - Inception V2 - Inception V3 - Inception V4 1. Inception v1 split - me ...
- 深度学习、图像识别入门,从VGG16卷积神经网络开始
刚开始接触深度学习.卷积神经网络的时候非常懵逼,不知道从何入手,我觉得应该有一个进阶的过程,也就是说,理应有一些基本概念作为奠基石,让你有底气去完全理解一个庞大的卷积神经网络: 本文思路: 一.我认为 ...
- 1132: 零起点学算法39——多组测试数据(a+b)
1132: 零起点学算法39--多组测试数据(a+b) Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: ...
- 第四讲_图像识别之图像分类Image Classification
第四讲_图像识别之图像分类Image Classification 目录 图片分类 性能指标:top1,top5 ILSVRC:每种任务数据集不一样 imageNet:根据WorldNet组织的图片集 ...
- 0算法基础学算法 搜索篇第二讲 BFS广度优先搜索的思想
dfs前置知识: 递归链接:0基础算法基础学算法 第六弹 递归 - 球君 - 博客园 (cnblogs.com) dfs深度优先搜索:0基础学算法 搜索篇第一讲 深度优先搜索 - 球君 - 博客园 ( ...
- 《OD学算法》排序
参考 http://www.cnblogs.com/kkun/archive/2011/11/23/2260312.html http://blog.csdn.net/wuxinyicomeon/ar ...
- 1164: 零起点学算法71——C语言合法标识符(存在问题)
1164: 零起点学算法71——C语言合法标识符 Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 10 ...
- 1163: 零起点学算法70——Yes,I can!
1163: 零起点学算法70--Yes,I can! Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: ...
- 1147: 零起点学算法54——Fibonacc
1147: 零起点学算法54--Fibonacc Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 20 ...
随机推荐
- ssh 上传文件以及文件夹到linux服务器
闲来无事分享一篇,帮助到你的话,麻烦给老弟点个关注.经常会分享一些实用技能. 回归正题,现在服务器linux很多.是不是不会传文件?别急 下面就是方法: 一.上传文件到linux服务器 首先从你本地切 ...
- js预解析相关知识总结以及一些好玩的面试题
js预解析的题像在做智力题一样有意思~ 预解析 预解析:在解释这行代码之前发生的事情——变量的声明提前了,函数的声明提前 console.log(num) ——未定义Num,结果是报错 var num ...
- bzoj2843&&1180
题解: lct 和上一题差不多 这一题还要判断是否有链接 其实直接并查集判断就可以了 代码: #pragma GCC optimize(2) #include<bits/stdc++.h> ...
- [Tomcat无法启动]'Starting Tomcat v8.0 Server at localhost' has encountered a problem.
运行一个index.jsp,运行提示如下错误:点击服务器 解决办法1: 点击Tomcat服务器,将服务器里的web工程删除掉,再重新运行index.jsp. 解决办法2: 关闭Tomcat,最简单的方 ...
- mongodb配置数据库文件夹,创建服务
配置步骤 1.新建data文件夹,并在data下创建db及log文件夹 2.在mongodb安装目录下新增mongod.cfg文件,配置如下 systemLog: destination: fi ...
- 前端 —— SVG
0. 简介 SVG:可缩放矢量图形: SVG 是代码,通过浏览器的解析而渲染成一种图形: 可缩放矢量图形是基于可扩展标记语言(XML),以描述二维矢量图形的一种图形格式,由万维网联盟( World W ...
- ubuntu 11.04 Gnome 恢复默认的任务栏面板
在Ubuntu(实际是GNOME) 中,桌面上默认的任务栏菜单面板是上下两栏,上面(Panel) 是系统菜单和通知区域下面是窗口存放切换区域,那么作为ubuntu用户来说,你总会使系统用起来更顺手更美 ...
- 20155315 2016-2017-2 《Java程序设计》第八周学习总结
教材学习内容总结 第14章 NIO与NIO2 1.认识NIO NIO使用频道(Channel)来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区(Buffer)容量,在缓冲区中对感兴趣的数据区块进 ...
- python的pip源在windows和linux修改
windows和linux修改python的pip源 https://www.cnblogs.com/cwp-bg/p/8497075.html windows和linux修改python的pip源 ...
- LTE-Advanced(4G)主要技术学习:CA、CoMp、HetNet
CA:Carrier Aggregation,载波聚合 从LTE到LTE-Advanced演进过程中,更宽频谱的需求是影响演进的最重要因素,为此3GPP标准提出了载波聚合技术.简单地说,它可以将多个载 ...