給初學者 開始構建你的神經網路模型

2021-10-05 03:03:20 字數 1372 閱讀 1983

分兩步構建乙個神經網路模型:

第一步,配置模型的層。人工神經網路基本的構建塊就是層,每個層包含乙個或多個ltu,也叫線性閾值單元。ltu是乙個人工神經單元,輸入和輸出都是數字,並且每個輸入的連線都有乙個對應的權重。ltu會加權求和所有的輸入,然後根據求值結果應用乙個訊號函式。下面使用keras.sequential類配置層:

model = keras.sequential(

[ keras.layers.flatten(input_shape=(28

,28))

, keras.layers.dense(

128, activation=

'relu'),

keras.layers.dense(10)

])

大部分深度學習模型都是由一系列的簡單的層串聯在一起組成的。這些層都有一些引數需要在模型的訓練過程中學習和優化。

我們來解釋上面的模型,該模型包含三層:

第一層是 keras.layers.flatten(平坦層),作用是把輸入的資料轉換成乙個一維陣列,flatten,就是使之平坦的意思。這層沒有引數需要學習,只是重構資料。這層接受的資料必須是28x28的二維陣列。

第二和第三是稠密層 keras.layers.dense。dense層是一種全連線層,和前邊的輸入、後邊的輸出全部連線。這種層往往用於分析輸入資料,提取輸入資料之間的聯絡。第乙個dense層有128個nodes(神經元 neurons),並且使用修正線性單元(relu)作為啟用函式;第二個dense層(也即最後一層)包含10個nodes,每個node將輸出乙個評估值,顯示輸入資料應該歸為那個類別。

第二步,編輯模型(compile model)

在模型開始訓練之前,我們要對模型做必要的設定,這就是compile model,設定往往包括如下內容:

1、新增損失函式loss。loss用來衡量訓練期間模型的精確度。我們要盡可能讓這個函式最小化,從而保證模型向著正確的方向發展。

2、新增優化器optimizer。optimizer定義了,根據輸入資料和loss,模型該怎樣改進和優化。

3、度量器metrics 。metrics 監視訓練和測試過程。往往用accuracy精度來描述。下面是配置**:

model.

compile

(optimizer=

'adam'

, loss=tf.keras.losses.sparsecategoricalcrossentropy(from_logits=

true),

metrics=

['accuracy'

])

至此,神經網路模型構建完畢。接下來就是訓練,**,等等。

給初學者的建議

一名初學者,首先要找一本好的入門書籍 平台裡有推薦 把程式結構 資料型別,陣列 函式和結構體 這幾個部分了解 了之後,就可以 寫 程式了。千萬不要把書看的太細緻,那樣的話會覺得程式設計太繁瑣,不要背參考書式的學習。就像乙個小孩要學說話,他需要模仿和試錯,不斷的矯正,最終會很好的表達,如果一開始讓他把...

給初學者的建議

在網上看到一篇很好的文章。對於一些初學者,我覺得它很有幫助。現在把它 過來。希望大家都能從中體會到什麼。如果作者看到,原諒我把它 過來,因為它很經典。2.初學者請不要看太多太多的書那會誤人子弟的,先找本系統的學,很多人用了很久都是只對部分功能熟悉而已,不系統還是不夠的。3.看幫助,不要因為很難而自己...

給ios初學者的建議

不管你是培訓的還是在上學的或者是自學的!你選擇了這條路就要認真的對待你所學的,別出來找工作什麼都不會!首先,第一點 把你的obj c語言基礎打好,在學習obj c之前最好學一下c c 除此之外最好各課都要設計了解些,xml,json,mysql,html,js!我碰到乙個連json和xml是什麼都不...