作者:禅与计算机程序设计艺术
1.简介
TensorFlow是Google开源的机器学习框架,可以方便地构建深度学习模型。本文将用一个实际例子,带领读者快速上手TensorFlow,构建一个两层神经网络模型进行图像分类任务。
2.基本概念、术语说明
2.1 Tensor
计算机的运算能力主要靠存储器,而机器学习往往需要对海量数据进行处理,因此计算所需的数据量更大。数据集一般由多维数组组成,称之为张量(tensor)。对于矩阵乘法来说,两个矩阵对应元素相乘,两个张量对应元素逐元素相乘。
2.2 Deep Learning Model
深度学习模型由多个层次构成,每层都具有学习特征的能力,通过不同层次组合的方式,可以实现复杂的功能。典型的深度学习模型包括卷积神经网络(CNN)、循环神经网络(RNN)、自编码网络(AutoEncoder)、深度置信网络(DBN)等。其中,卷积神经网络(Convolutional Neural Network,CNN)在图像识别领域非常流行,但由于其计算代价高,应用场景受限于CPU。循环神经网络(Recurrent Neural Network,RNN)常用于文本分析领域,能够捕获序列数据中的长时依赖关系,但其难以并行化训练。
2.3 TensorFlow
TensorFlow是一个开源的机器学习框架,通过声明式接口定义计算图