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)的更多相关文章

  1. 跟我学算法-图像识别之图像分类(下)(GoogleNet网络, ResNet残差网络, ResNext网络, CNN设计准则)

    1.GoogleNet 网络: Inception V1 - Inception V2 - Inception V3 - Inception V4 1. Inception v1 split - me ...

  2. 深度学习、图像识别入门,从VGG16卷积神经网络开始

    刚开始接触深度学习.卷积神经网络的时候非常懵逼,不知道从何入手,我觉得应该有一个进阶的过程,也就是说,理应有一些基本概念作为奠基石,让你有底气去完全理解一个庞大的卷积神经网络: 本文思路: 一.我认为 ...

  3. 1132: 零起点学算法39——多组测试数据(a+b)

    1132: 零起点学算法39--多组测试数据(a+b) Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: ...

  4. 第四讲_图像识别之图像分类Image Classification

    第四讲_图像识别之图像分类Image Classification 目录 图片分类 性能指标:top1,top5 ILSVRC:每种任务数据集不一样 imageNet:根据WorldNet组织的图片集 ...

  5. 0算法基础学算法 搜索篇第二讲 BFS广度优先搜索的思想

    dfs前置知识: 递归链接:0基础算法基础学算法 第六弹 递归 - 球君 - 博客园 (cnblogs.com) dfs深度优先搜索:0基础学算法 搜索篇第一讲 深度优先搜索 - 球君 - 博客园 ( ...

  6. 《OD学算法》排序

    参考 http://www.cnblogs.com/kkun/archive/2011/11/23/2260312.html http://blog.csdn.net/wuxinyicomeon/ar ...

  7. 1164: 零起点学算法71——C语言合法标识符(存在问题)

    1164: 零起点学算法71——C语言合法标识符 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 10 ...

  8. 1163: 零起点学算法70——Yes,I can!

    1163: 零起点学算法70--Yes,I can! Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: ...

  9. 1147: 零起点学算法54——Fibonacc

    1147: 零起点学算法54--Fibonacc Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 20 ...

随机推荐

  1. javascript---关于字符串和数组的方法

    在学习javascript过程中,遇到过很多关于数组和字符串的一些操作.之前也总结了不少方法,可是一遇到自己用的时候,就忘了.不是忘了方法叫什么名,就是忘了方法的参数有什么,返回的是什么? 现在就再次 ...

  2. 【hive】cube和rollup函数

    cube 数据立方体(Data Cube),是多维模型的一个形象的说法.(关于多维模型这里不讲述,在数据仓库设计过程中还挺重要的,有兴趣自行查阅) 立方体其本身只有三维,但多维模型不仅限于三维模型,可 ...

  3. 【git】提交到github不显示贡献小绿点问题的解决

    问题描述: 最近一直在用github来写博客,但是今天发现github上的contributions记录并没有我的提交记录. 经过一番百度和自行捣鼓发现了问题所在. 原因: 最近实习,公司给配电脑.原 ...

  4. 64位Ubuntu系统安装OpenCV 2.4.x+ffmpeg 完美解决方案

    http://www.bfcat.com/index.php/2012/09/64bits-ubuntu-opencv-2-4-x-ffmpeg/

  5. 利用Sonar定制自定义JS扫描规则(二)——自定义JS扫描规则

    在上一篇blog中,我们将sonar几个需要的环境都搭建好了,包括sonar的服务器,sonar runner,sonar的javascript插件.现在我们就来讲如何自定义JS扫描规则. 实际上有3 ...

  6. linux提权辅助工具(二):linux-exploit-suggester-2.pl

    来自:https://github.com/jondonas/linux-exploit-suggester-2/blob/master/linux-exploit-suggester-2.pl #! ...

  7. [置顶] Unity2d引入新功能SpriteAtlas,Sprite新的图集方式

    孙广东  2017.8.3 http://blog.csdn.NET/u010019717 在Unity 2017.1.0f3中引入了 SpriteAtlas 官方文档:  https://docs. ...

  8. 分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0(使用 .NET Core 3.0 Desktop API Analyzer )

    今年五月的 Build 大会上,微软说 .NET Core 3.0 将带来 WPF / Windows Forms 这些桌面应用的支持.当然,是通过 Windows 兼容包(Windows Compa ...

  9. 【java多线程】java的线程池分析

    (一)线程池的拒绝策略 --->拒绝策略的接口java.util.concurrent.RejectedExecutionHandler --->终止策略(默认):java.util.co ...

  10. hasura graphql subscriptions 使用

      subscriptions graphql 的一项实时数据推送的功能,还是很方便的,自己在直接使用subscriptions-transport-ws npm 包 的时候运行一直有错误(主要是依赖 ...