网站外部优化的4大重点,信阳网站公司,开通微信公众号要收费吗,千野网站建设激活函数#xff08;activation function#xff09;运行时激活神经网络中某一部分神经元#xff0c;将激活信息向后传入下一层的神经网络。神经网络之所以能解决非线性问题#xff08;如语音、图像识别#xff09;#xff0c;本质上就是激活函数加入了非线性因素#x… 激活函数activation function运行时激活神经网络中某一部分神经元将激活信息向后传入下一层的神经网络。神经网络之所以能解决非线性问题如语音、图像识别本质上就是激活函数加入了非线性因素弥补了线性模型的表达力把“激活的神经元的特征”通过函数保留并映射到下一层。 因为神经网络的数学基础是处处可微的所以选取的激活函数要能保证数据输入与输出也是可微的。那么激活函数在 TensorFlow 中是如何表达的呢激活函数不会更改输入数据的维度也就是输入和输出的维度是相同的。TensorFlow 中有如下激活函数它们定义在 tensorflow-1.1.0/tensorflow/python/ops/nn.py 文件中这里包括平滑非线性的激活函数如 sigmoid、tanh、elu、softplus 和 softsign也包括连续但不是处处可微的函数 relu、relu6、crelu 和 relu_x以及随机正则化函数 dropout #4激活函数的使用
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf# fake data
x np.linspace(-5, 5, 200) #产生-5至5之间200个点
y_relu tf.nn.relu(x)#定义relu激活函数输入数据点
y_sigmoid tf.nn.sigmoid(x)#定义sigmod激活函数输入数据点
y_tanh tf.nn.tanh(x)#定义tanh激活函数输入数据点
y_softplus tf.nn.softplus(x)#定义softplus输入数据点
sess tf.Session()#创建session
y_relu, y_sigmoid, y_tanh, y_softplus sess.run([y_relu, y_sigmoid, y_tanh, y_softplus])#生成激活函数#绘制relu的图像
plt.figure(1, figsize(8, 6))
plt.subplot(221)
plt.plot(x, y_relu, cred, labelrelu)
plt.ylim((-1, 5))
plt.legend(locbest)#绘制sigmoid的图像
plt.subplot(222)
plt.plot(x, y_sigmoid, cred, labelsigmoid)
plt.ylim((-0.2, 1.2))
plt.legend(locbest)#绘制tanh的图像
plt.subplot(223)
plt.plot(x, y_tanh, cred, labeltanh)
plt.ylim((-1.2, 1.2))
plt.legend(locbest)#绘制softplus的图像
plt.subplot(224)
plt.plot(x, y_softplus, cred, labelsoftplus)
plt.ylim((-0.2, 6))
plt.legend(locbest)plt.show()
输出结果