众里寻他千百度 蓦然回首 那人却在 灯火阑珊处
梯度计算:梯度即方向导数,判断函数在某点的变化趋势,沿着梯度正方向,函数值变大,反之变小。在机器学习中,我们通常使用一个代价函数来评估模型的预测值和实际值的不一致程度,代价函数是一个非负函数,我们可以使用梯度下降法求解使得代价函数局部最小W和b,即求解出模型。TF内置了梯度自动计算过程,通过正向执行数据流图从输入得到输出,从输出到输入反向计算梯度,不断修改W和b的值,再正向执行数据流图,依次往复,直到代价函数满足要求为止,具体方法如下:假如数据流图中张量C依赖于张量I,当TF需要计算张量C的梯度时,先找出张量I到张量C的正向路径,再计算出张量C到张量I反向路径,针对反向路径上的每个Op节点,新增一个对应的梯度节点,梯度节点的输入包括:反向路径上已经计算出的梯度、正向路径上Op节点的输入和输出。
参考文献:
TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. 2015.
TensorFlow: A System for Large-Scale Machine Learning. 2016.
未名小宇宙,一直在您身边,欢迎关注!
领取专属 10元无门槛券
私享最新 技术干货