tensorflow中的神经网络笔记
1、NN----神经网络
2、CNN卷积神经网络
CNN网络一共有5个层级结构:
- 输入层
- 卷积层
- 激活层
- 池化层
- 全连接FC层
一、输入层
与传统神经网络/机器学习一样,模型需要输入的进行预处理操作,
常见的输入层中预处理方式有:
- 去均值
- 归一化
- PCA/SVD降维等
1、去均值:各维度都减对应维度的均值,使得输入数据各个维度都中心化为0,进行去均值的原因是因为如果不去均值的话会容易拟合。
2、归一化:
一种是最值归一化,比如把最大值归一化成1,最小值归一化成-1;或把最大值归一化成1,最小值归一化成0。适用于本来就分布在有限范围内的数据。 另一种是均值方差归一化,一般是把均值归一化成0,方差归一化成1。适用于分布没有明显边界的情况。
3、PCA/白化
(1).PCA是指通过抛弃携带信息量较少的维度,保留主要的特征信息来对数据进行降维处理,思路上是使用少数几个有代表性、互不相关的特征来代替原先的大量的、存在一定相关性的特征,从而加速机器学习进程。(降维技术可单独讲)
PCA可用于特征提取,数据压缩,去噪声,降维等操作。
(2).白化的目的是去掉数据之间的相关联度和令方差均一化,由于图像中相邻像素之间具有很强的相关性,所以用于训练时很多输入是冗余的。这时候去相关的操作就可以采用白化操作,从而使得:
1.减少特征之间的相关性
2.特征具有相同的方差(协方差阵为1)
(3)举个白化的例子,如对于两个特征的关联分布如左图,可以看出特征组合点存在线性关系,此时我们进行白化后(特征向量的投影)可以变成右图的形式,无关联性。
而且白化因为进行了方差均一化,所以还可以提升训练速度。
二、卷积层
三、激励层
所谓激励,实际上是对卷积层的输出结果做一次非线性映射。
如果不用激励函数(其实就相当于激励函数是f(x)=x),这种情况下,每一层的输出都是上一层输入的线性函数。容易得出,无论有多少神经网络层,输出都是输入的线性组合,与没有隐层的效果是一样的,这就是最原始的感知机了。
常用的激励函数有:
Sigmoid函数
Tanh函数
ReLU
Leaky ReLU
ELU
Maxout
中间激励层建议:首先ReLU,因为迭代速度快,但是有可能效果不加。如果ReLU失效的情况下,考虑使用Leaky ReLU或者Maxout,此时一般情况都可以解决。Tanh函数在文本和音频处理有比较好的效果。分类网络的最后一层激活函数一般用(即预测函数):softmax函数,或者结合其他函数
四、池化层
池化(Pooling):也称为欠采样或下采样。主要用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。主要有:
- Max Pooling:最大池化
- Average Pooling:平均池化
关于池化的博客:https://blog.csdn.net/qq_41661809/article/details/96500250
虽然人不太容易分辨出池化后的特征图,但是没关系,机器还是可以识别的。
五、输出层(全连接层)
tensorflow中的神经网络笔记的更多相关文章
- Tensorflow中循环神经网络及其Wrappers
tf.nn.rnn_cell.LSTMCell 又名:tf.nn.rnn_cell.BasicLSTMCell.tf.contrib.rnn.LSTMCell 参见: tf.nn.rnn_cell.L ...
- tensorflow中使用mnist数据集训练全连接神经网络-学习笔记
tensorflow中使用mnist数据集训练全连接神经网络 ——学习曹健老师“人工智能实践:tensorflow笔记”的学习笔记, 感谢曹老师 前期准备:mnist数据集下载,并存入data目录: ...
- 在TensorFlow中基于lstm构建分词系统笔记
在TensorFlow中基于lstm构建分词系统笔记(一) https://www.jianshu.com/p/ccb805b9f014 前言 我打算基于lstm构建一个分词系统,通过这个例子来学习下 ...
- 在 TensorFlow 中实现文本分类的卷积神经网络
在TensorFlow中实现文本分类的卷积神经网络 Github提供了完整的代码: https://github.com/dennybritz/cnn-text-classification-tf 在 ...
- tensorflow CNN 卷积神经网络中的卷积层和池化层的代码和效果图
tensorflow CNN 卷积神经网络中的卷积层和池化层的代码和效果图 因为很多 demo 都比较复杂,专门抽出这两个函数,写的 demo. 更多教程:http://www.tensorflown ...
- 在TensorFlow中实现文本分类的卷积神经网络
在TensorFlow中实现文本分类的卷积神经网络 Github提供了完整的代码: https://github.com/dennybritz/cnn-text-classification-tf 在 ...
- Tensorflow中的padding操作
转载请注明出处:http://www.cnblogs.com/willnote/p/6746668.html 图示说明 用一个3x3的网格在一个28x28的图像上做切片并移动 移动到边缘上的时候,如果 ...
- 第二十二节,TensorFlow中的图片分类模型库slim的使用、数据集处理
Google在TensorFlow1.0,之后推出了一个叫slim的库,TF-slim是TensorFlow的一个新的轻量级的高级API接口.这个模块是在16年新推出的,其主要目的是来做所谓的“代码瘦 ...
- 第十四节,TensorFlow中的反卷积,反池化操作以及gradients的使用
反卷积是指,通过测量输出和已知输入重构未知输入的过程.在神经网络中,反卷积过程并不具备学习的能力,仅仅是用于可视化一个已经训练好的卷积神经网络,没有学习训练的过程.反卷积有着许多特别的应用,一般可以用 ...
随机推荐
- aforge视频录像,对界面进行重绘
由于项目需要,需要录像的时候在界面加多一个圆圈,并且一起录制下来. 只需要在NewFrame增加以下代码 private void videoSourcePlayer1_NewFrame(object ...
- 【LeetCode】加油站
[问题]在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升.你从其中 ...
- canvas绘制表盘时钟
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 关于 CDN 负载均衡 网页请求过程等
链接 1 [转]浅谈一个网页打开的全过程(涉及DNS.CDN.Nginx负载均衡等) https://www.cnblogs.com/xuan52rock/p/6845637.html 2 闲话 C ...
- Golang函数-不定参函数
Golang函数-不定参函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- netty权威指南学习笔记三——TCP粘包/拆包之粘包现象
TCP是个流协议,流没有一定界限.TCP底层不了解业务,他会根据TCP缓冲区的实际情况进行包划分,在业务上,一个业务完整的包,可能会被TCP底层拆分为多个包进行发送,也可能多个小包组合成一个大的数据包 ...
- JS - n次方计算
pow 方法返回底表达式的指定次幂. Math.pow(base, exponent) 参数base 必选项.表达式底的值. exponent 必选项.表达式的指数值.
- tomcat启动报错The JRE could not be found.Edit the server and change the JRE location
解决: 在Windows->Preferences->Server->Runtime Environments 选择Tomcat->Edit,在jre中选择相应的jdk版本,完 ...
- C语言小游戏: 2048.c
概要:2048.c是一个C语言编写的2048游戏,本文将详细分析它的源码和实现.C语言是一种经典实用的编程语言,本身也不复杂,但是学会C语言和能够编写实用的程序还是有一道鸿沟的.本文试图通过一个例子展 ...
- c++链接mysql5.7
1.单独安装mysql5.7 phpstudy安装的没有include和lib文件夹2.vs2013中右键属性 项目 - C/C++ - 常规 - 附加包含目录 里面添加 D:\**\include ...