最近在学习tf的神经网络算法,十多年没有学习过数学了,本来高中数学的基础,已经彻底还给数学老师了。所以我把各种函数、公式和推导当做黑盒子来用,理解他们能做到什么效果,至于他们是如何做到的,暂时不去深究,最多知道哪个公式的效果会比哪个更适合哪个场合。

BP网络应该是最入门级的算法了。

我对BP网络的简单的理解

    #用伪代码描述下大概如此
    # 单层BP
x = tf.placeholder(tf.float32,[None,256])
y = tf.placeholder(tf.float32,[None,10])

w = tf.Variable(tf.random_normal([256,10]))
b = tf.Variable(tf.zeros([10]))

pred = tf.nn.softmax(tf.multiply(w,x)+b)
loss = tf.reduce_sum(-pred*tf.log(y))
op = tf.train.GradientDescentOptimizer(0.001).minimize(loss)
多层网络
x = tf.placeholder(tf.float32,[None,256])
y = tf.placeholder(tf.float32,[None,10])

w1 = tf.Variable(tf.random_normal([256,1024]))
b1 = tf.Variable(tf.zeros([1024]))

x1 = tf.nn.relu(tf.multiply(w1,x)+b1)

w2 = tf.Variable(tf.random_normal(1024,10))
b2 = tf.Variable(tf.zeros([10]))
pred = tf.nn.softmax(tf.multiply(w2,x1)+b2)
loss = -tf.reduce_sum(pred*tf.log(y))
op = tf.train.GradientDescentOptimizer(0.001).minimize(loss)

去掉了所有的训练过程,也没有应用到具体的场景,尽可能把模型描绘一下,自己的理解,理解的不对请大家指正。

相关文章:

  • 2021-07-03
  • 2021-11-25
  • 2021-11-15
  • 2021-11-27
  • 2021-07-24
  • 2021-08-29
  • 2021-05-28
  • 2021-11-15
猜你喜欢
  • 2021-10-11
  • 2021-10-19
  • 2022-03-11
  • 2022-12-23
  • 2021-07-10
  • 2021-12-11
  • 2022-02-27
相关资源
相似解决方案