【keras】学习笔记(一)基本概念

原文查阅“keras中文文档

一、符号计算(拼管子)

keras底层库使用theano或TensorFlow,这两个库也成为keras后端。

符号主义的计算:

(1)定义各种变量,建立一个“计算图”,计算图规定变量之间的计算关系。

(2)编译、确定内部细节(此时计算图只是空壳子,没有任何实际数据。只有把运算输入放进去、方能在整个模型中形成数据流,形成输出值)。

二、张量(tensor)

张量:表示广泛的数据类型。

0阶张量:规模最小,即标量;

1阶张量:(向量),把一些有序的数排列起来;

2阶张量:(矩阵),继续把一组向量有序排列起来;

3阶张量:(例如3颜色通道的彩色图片的立方体),把矩阵摞起来。

.......

张量的阶数/轴:axis,

例如:[[1,2],[3,4]]:沿着第0个轴,看到[1,2]、[3,4]两个向量;

                              沿着第1个轴,看到[1,3]、[2,4]两个向量。

三、data_format

如何表示一组彩色图片的问题:

(1)'th'模式:即Theano模式,把100张RGB三通道的16*32的彩色图表示为(100,3,16,32),Caffe同;

(2)TensorFlow模式:表示为(100,16,32,3),即把通道维数放在了最后,“channel_last”。

四、函数式模型

(1)序贯模型(Sequential)单输入单输出。

一条路通到底,层与层之间只有相邻关系,跨层没有连接。

(2)图模型(Graph)支持多输入多输出。

层之间自由连接。

在keras1、2中,移除图模型,增加“functional model API”

五、batch

深度学习的优化算法:即梯度下降。参数更新的两种方式:

(1)遍历全部数据集,计算一次损失函数:即批梯度下降

(2)每看一个数据就计算一下损失函数,求梯度更新参数:即随机梯度下降

(3)折中方法:分成若干批,按照批来更新参数,mini-batch gradient decent:即小批的梯度下降。基本上目前的梯度下降都是基于mini-batch,即经常出现的batch_size。

PS:keras中的优化器SGD:stochastic gradient descent,基于mini-batch。

六、epochs

训练过程中,数据将被轮多少次。


2018/05/18


















猜你喜欢

转载自blog.csdn.net/u011511601/article/details/80343548