2019-02-28 | Reinforcement Learning | UNLOCK

Tensorflow学习

神经网络基本定义

神经网络是一种数学模型,是存在于计算机的神经系统,由大量的神经元相连接并进行计算,在外界信息的基础上,改变内部的结构,常用来对输入和输出间复杂的关系进行建模。

一个神经网络系统,它由很多层构成。输入层就是负责接收信息,比如说一只猫的图片。输出层就是计算机对这个输入信息的认知,它是不是猫。隐藏层就是对输入信息的加工处理。

训练网络前,需要先定义一个代价函数,常见的代价函数包括回归问题的方差以及分类时候的交叉熵。

Tensorflow基本知识点

  • Tensorflow对函数自动求导以及分布式计算

  • Tensorflow用图来表示计算任务,图中的节点被称为operation,缩写成op。

  • 图必须在会话(Session)里被启动,会话(Session)将图的op分发到CPU或GPU之类的设备上,同时提供执行op的方法,这些方法执行后,将产生的张量(tensor)返回。

过程 : 建图—>启动图—>运行取值

placeholder :给节点输入数据,和feed_dict 绑定使用。

1
2
3
4
5
6
7
8
import tensorflow as tf

input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
ouput = tf.mul(input1, input2)

with tf.Session() as sess:
print(sess.run(ouput, feed_dict={input1: [7.], input2: [2.]}))

激励函数在预测层,判断哪些值要被送到预测结果那里

dropout 指在深度学习网络的训练过程中,按照一定的概率将一部分神经网络单元暂时从网络中丢弃,相当于从原始的网络中找到一个更瘦的网络。

参考链接https://www.jianshu.com/p/6766fbcd43b9

https://www.jianshu.com/p/e112012a4b2d

评论加载中