Tensorflow2.0学习笔记(知识储备)
前言
学习任何一项技能时,首先要有对它的初步认识,这篇文章用极短的篇幅介绍了tensorflow和学习tensorflow要储备的基本知识,帮助快速入门。
一、Tensorflow是什么?
Tensorflow是一种用图的方式来表示运算过程的一种模型。它不单独地运行单一的复杂计算,而是先用图来描述一系列可交互的计算操作,然后全部一起在python之外运行。
Tensorflow基本功能:
- 使用 graph 来表示计算任务。
- 再被称之为 Session 的上下文中执行图。
- 使用 tensor 表示数据。
- 通过 Variable 维护状态。
- 使用 feed 或 fetch 可以为任意的操作赋值或者从中获取数据。
二、神经网络
神经网络的传播都是形如Y=WX+b的矩阵运算;为了给矩阵运算加入非线性,需要在隐藏层中加入激活层;输出层结果需要经过Softmax层处理为概率值,并通过交叉熵损失来量化当前网络的优劣。
神经网络工作方式:
- 确定输入和输出。
- 找到一种或多种方法,可以从输入得到输出。
- 找到一组已知答案的数据集,用来训练模型,估算w(权重)和b(阈值)。
- 一旦新的数据产生,输入模型,就可以得到结果,同时对w和b进行校正。
神经网络框图
Softmax回归模型
图片来源于网络
简单来说,神经网络的过程就是正向传播得到Loss值,再把Loss值反向传播,并对神经网络的参数进行更新。其中反向传播正是神经网络的要点所在。
反向传播:我们使用反向传播的目标是更新网络中的每个权重,使它们使实际输出更接近目标输出,从而最大限度地减少每个输出神经元和整个网络的误差。
三、Python
Python语言是Tensorflow学习中最为基础的部分,由于我之前学过,所以这次没有做相关笔记(详见我过去的微博——Python学习周记)。