機器學習筆記 Keras Conv2D函式

2021-10-11 07:36:28 字數 2606 閱讀 5995

keras的conv2d類有很多引數,哪些是重要的?應該保留哪些預設值?

tensorflow.keras.layers.conv2d(filters, kernel_size, strides=(1, 1),

padding='valid', data_format=none, dilation_rate=(1, 1),

activation=none, use_bias=true, kernel_initializer='glorot_uniform',

bias_initializer='zeros', kernel_regularizer=none,

bias_regularizer=none, activity_regularizer=none,

kernel_constraint=none, bias_constraint=none)

您可能需要根據(1)資料集的複雜性和(2)神經網路的深度來調整確切的值,建議您從[32,64,128]範圍內的過濾器開始,然後逐漸增加最多為[256、512、1024]。

示例:這是設計cnn架構的常見做法。 

model.add(conv2d(32, (3, 3), padding="same", activation="relu"))

model.add(maxpooling2d(pool_size=(2, 2)))

...model.add(conv2d(64, (3, 3), padding="same", activation="relu"))

model.add(maxpooling2d(pool_size=(2, 2)))

...model.add(conv2d(128, (3, 3), padding="same", activation="relu"))

model.add(maxpooling2d(pool_size=(2, 2)))

...model.add(activation("softmax"))

首先必須是乙個奇數整數,何時使用多大的尺寸?如果輸入影象大於128×128,則可以選擇使用大於3的核心大小來(1)學習更大的空間過濾器(2)幫助減小體積。如果影象小於128×128,則考慮使用1×1和3×3。

1×1 ,

3×3 ,

5×5 ,和

7×7

其他網路(例如vggnet)專門使用(3 

* 3)的過濾器。更先進的網路體系結構,如resnet和squeezenet設計的結構,是在網路內部,區域性採用不同的尺度(區域性特徵1×1 ,3×3 ,和5×5 ),然後結合輸出。

組合輸出。

通常預設引數是(1 ,

1 )但是有時可能會將其增加到(2 ,

2 )以幫助減小輸出的大小(因為濾波器的步長較大)。

padding引數接收兩個值,valid 或 same,預設值為

valid,一般通常將其設定為same,然後通過以下兩種方法之一來減小體積的空間尺寸:1、最大池化 2、交叉卷積

可選值是channels_last 或者 

keras作為高階框架,支援多個深度學習後端。因此,它包括對「最後乙個channels和「第乙個channels」排序的支援。

使用此引數的一般情況:

您正在使用更高解析度的影象,但是細粒度的細節仍然很重要

您正在使用較少的引數構建網路

允許您提供乙個字串,該字串指定要在執行卷積後應用的啟用函式的名稱。

model.add(conv2d(32, (3, 3), activation="relu"))

# 等同於

model.add(conv2d(32, (3, 3)))

model.add(activation("relu"))

引數控制是否將偏移量新增到卷積層。

當使用大型資料集和深度神經網路時,通常必須使用正則化。通常,遇到應用l1或l2正則化的情況—如果發現過擬合的跡象,在網路上使用l2正則化。應用的正則化量是需要針對自己的資料集進行調整的超引數,0.0001-0.001區間是乙個比較適合的初始值。

from tensorflow.keras.regularizers import l2

...model.add(conv2d(32, (3, 3), activation="relu"),

kernel_regularizer=l2(0.0005))

一般為預設值

機器學習學習筆記

2.機器學習書籍 機器學習tom,這個是老經典,就是翻譯欠佳 prml,這個書正版的超貴,但是比較新且系統,可以通過其他途徑搞個副本。3.自己動手編碼實現2 3種經典演算法,比如svm,lr,bpnn等。4.了解spark上目前支援的機器學習方法的用途和用法,這個在日常工作中會用到。知道的多一點,方...

機器學習 學習筆記

關於梯度下降演算法的優化與 會有三種方法優化梯度下降演算法 1.共軛梯度下降法 conjugate 2.變尺度法 bfgs 3.限制變尺度法 l bfgs 這些方法的好處是 1.不用選擇學習速率 2.收斂的速度快,執行效率高 但是她們的缺點在於 實現她們的方法太複雜,所以我們就可以使用語言的內建庫函...

機器學習 學習筆記

監督學習 我們的學習演算法使用的資料是給出正確答案的資料,然後我們執行學習演算法,出更多的正確答案。理解為像深度需學習類似,利用訓練樣本訓練處學習模型,然後用測試樣本對學習到的模型進行檢測,輸出 結果。無監督學習 可以理解為對於學習演算法所使用的資料集並沒有給出正確答案,學習演算法就是要對這資料集進...