Tensorflow(三) 神經網路

2021-09-23 20:54:09 字數 976 閱讀 4156

1、前饋傳播: y = (x*w1 + b1)*w2 + b2

import tensorflow as tf

x = tf.constant([0.9, 0.85], shape=[1,2])

w1 = tf.variable(tf.random_normal([2,3], stddev=1, seed=1), name='w1')

w2 = tf.variable(tf.random_normal([3,1], stddev=1, seed=1), name='w2')

b1 = tf.variable(tf.zeros([1,3]), name='b1')

b2 = tf.variable(tf.ones([1]), name='b2')

init_op = tf.global_variables_initializer()

a = tf.matmul(x, w1) + b1

y = tf.matmul(a, w2) + b2

with tf.session() as sess:

sess.run(init_op)

print(sess.run(y))

2、啟用函式

1)、目的:若將網路中的每個輸入加權得和,最後結果為一線性模型。若此時通過乙個非線性函式,則會弱化這種線性關係,可實現結果的去線性化。

2)、常用啟用函式:relu

3、損失函式:

1)、常用損失函式:交叉熵損失函式(cross entropy)

2)、softmax函式:

nn.softmax_cross_entropy_with_logits(_sentinel, labels, logits, dim, name)

nn.spars_softmax_cross_entropy_with_logits(_sentinel, labels, logits, dim, name)

Tensorflow 框架搭建神經網路(三)

神經網路的引數 是指神經元線上的權重 w,用變數表示,一般會先隨機生成這些引數。生成引數的方法是讓 w 等於 tf.variable,把生成的方式寫在括號裡。神經網路中常用的生成隨機數 陣列的函式有 tf.random normal 生成正態分佈隨機數 tf.truncated normal 生成去...

Tensorflow卷積神經網路

卷積神經網路 convolutional neural network,cnn 是一種前饋神經網路,在計算機視覺等領域被廣泛應用.本文將簡單介紹其原理並分析tensorflow官方提供的示例.關於神經網路與誤差反向傳播的原理可以參考作者的另一篇博文bp神經網路與python實現.卷積是影象處理中一種...

Tensorflow 深層神經網路

維基百科對深度學習的定義 一類通過多層非線性變換對高複雜性資料建模演算法的合集.tensorflow提供了7種不同的非線性啟用函式,常見的有tf.nn.relu,tf.sigmoid,tf.tanh.使用者也可以自己定義啟用函式.3.1.1 交叉熵 用途 刻畫兩個概率分布之間的距離,交叉熵h越小,兩...