07 Introduction to TensorFlow
深度学习框架简介
1、大规模机器学习代码
2、计算梯度
3、开源标准化机器学习应用
4、多种算法、理念、抽象、编程语言等的融合
5、具有并行GPU接口
TensorFlow是什么?
1、使用数据流图的数值计算开源软件库
2、开始是由Google Brain团队开发的,用来进行机器学习研究
3、TensorFlow是一个表示机器学习和实现机器学习算法的接口
编程语言模型
中心思想:用图来表示数值计算
1、图节点是具有很多输入和输出的操作
2、图的边缘是在节点间流动的张量
图在哪里?
新的节点自动建立在底层节点上。
怎么运行图呢?
其中第一个run初始化了所有变量。第二个run中有两个概念:
fetches是一系列图节点返回节点输出。feeds是一个从placeholder到其输入值的映射。
怎样定义损失函数?
为labels使用placeholder定义,用labels和prediction进行损失函数节点的建立。
怎么计算梯度?
TensorFlow图节点具有梯度运算,利用BP算法进行关于参数的梯度计算。
创建train_step操作
简单方法:不利于封装。
什么是名称?
tf.variable_scope():提供简单的命名空间,避免冲突
tf.get_variable():在变量域创建变量(variables)
总结
1、建立图
a、前向传播/预测
b、优化(gradients and train_step operation)
2、初始化一个回话(session)
3、用session.run(train_step, feed_dict)训练
视觉回话(Visual Dialog):介绍一些应用
参考:
http://web.stanford.edu/class/cs224n/
http://www.hankcs.com/nlp/word-vector-representations-word2vec.html