keras中文文档笔记2——一些基本概念

来源:互联网 发布:苹果手机主题软件 编辑:程序博客网 时间:2024/05/17 18:18

一些基本概念

符号计算

符号主义计算步骤:

  • 定义各种变量;
  • 建立一个“计算图”,计算图规定了各个变量之间的计算关系;
  • 编译以确定其内部细节;
  • 把需要运算的输入放进去,形成数据流,输出值。

使用计算图的语言,如Theano,以难以调试而闻名。没有经验的开发者很难直观的感受到计算图到底在干些什么。
尽管很让人头痛,但大多数的深度学习框架使用的都是符号计算这一套方法,因为符号计算能够提供关键的计算优化、自动求导等功能

张量

张量可以看作是向量、矩阵的自然推广,我们用张量来表示广泛的数据类型。
0阶张量,即标量,也就是一个数。
1阶张量,也就是一个向量。
2阶张量,也就是一个矩阵。
3阶张量,我们可以称为一个立方体,具有3个颜色通道的彩色图片就是一个这样的立方体。
4阶张量……

data_format

彩色图片的表示:
Theano的表达形式是(100,3,16,32),即把通道维放在了前边,这种数据组织方式称为“channels_first”。
TensorFlow的表达形式是(100,16,32,3),即把通道维放在了最后,这种数据组织方式称为“channels_last”。

函数式模型

在Keras 0.x中,模型其实有两种,一种叫Sequential,称为序贯模型,也就是单输入单输出,一条路通到底,层与层之间只有相邻关系,跨层连接统统没有。这种模型编译快,操作简单。第二种模型称为Graph,即图模型,支持多输入多输出,层与层之间想怎么连怎么连,但是编译速度慢。Sequential其实是Graph的一个特殊情况。
在Keras1和Keras2中,图模型被移除,而增加了“functional model API”,这个东西,更加强调了Sequential是特殊情况这一点。一般的模型就称为Model,然后如果你要用简单的Sequential,那还有一个快捷方式Sequential。

batch

小批的梯度下降,这种方法把数据分为若干个批,按批来更新参数,这样,一个批中的一组数据共同决定了本次梯度的方向,下降起来就不容易跑偏,减少了随机性。另一方面因为批的样本数与整个数据集相比小了很多,计算量也不是很大。

epochs

epochs指的就是训练过程中数据将被“轮”多少次。

原创粉丝点击