Python之Tensorflow

1. 这是什么?

TensorFlow™是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现。

——百度百科

TensorFlow 是由 Google Brain 团队为深度神经网络(DNN)开发的功能强大的开源软件库,

Tensorflow是一种计算图模型,即用图的形式来表示运算过程的一种模型。

 

2.受欢迎的原因

开源深度学习库 TensorFlow 允许将深度神经网络的计算部署到任意数量的 CPU 或 GPU 的服务器、PC 或移动设备上,且只利用一个 TensorFlow API。

 

3.自编码器

3.1 什么是自编码器

自编码器是前馈非循环神经网络,是一种无监督机器学习方法,具有非常好的提取数据特征的能力,

 

自动编码机也被称为 diabolo 网络或 autoassociator。

 

自动编码机的目标是重构一样的输入。

可以将自动编码机看作由两个网络组成,第一个网络是一个编码器,负责接收输入 x,并将输入通过函数 h 变换为信号 y:

第二个网络将编码的信号 y 作为其输入,通过函数f得到重构的信号 r:

定义误差 e 为原始输入 x 与重构信号 r 之差,e=x–r,网络训练的目标是减少均方误差(MSE),同 MLP 一样,误差被反向传播回隐藏层。

 

3.2 自编码器的应用

根据隐藏层的大小,自动编码机分为

欠完备自动编码机(隐藏层神经元数量小于输入层神经元数量)和

过完备自动编码机(隐藏层神经元数量大于输入层神经元数量)。

而根据对损失函数的约束条件,又可以分为:

稀疏自动编码机去噪自动编码机卷积自动编码机

 

 

4.Tensorflow基本单位

TensorFlow 使用 张量 (Tensor)作为数据的基本单位。

TensorFlow 的张量在概念上等同于多维数组,我们可以使用它来描述数学中的标量(0 维数组)、向量(1 维数组)、矩阵(2 维数组)等各种量,

示例如下:

# 定义一个随机数(标量)
random_float = tf.random.uniform(shape=())

# 定义一个有2个元素的零向量
zero_vector = tf.zeros(shape=(2))

# 定义两个2×2的常量矩阵
A = tf.constant([[1., 2.], [3., 4.]])
B = tf.constant([[5., 6.], [7., 8.]])

 

Refenrence

  1. http://c.biancheng.net/view/1958.html

  2. 李锡涵 https://tf.wiki/zh_hans/basic/models.html

 

posted @ 2021-01-31 14:45  立木读数  阅读(39)  评论(0)    收藏  举报