[神經網絡]keras中的層
全連接層:Dense
Activation層:對一個層的輸出添加激活函數
Dropout層:每次更新參數的時候隨機斷開一定百分比(b)的輸入神經元連接,用於防止過擬合
Flatten層:用來將輸入“壓平”,即把多維的輸入一維化,常用在從卷積層到全連接層的過渡。
Reshape層:用來將輸入shape轉換爲特定的shape
Permute層:將輸入的維度按照給定模式進行重排,例如,當需要將RNN和CNN網絡連接時,可能會用到該層。
RepeatVector層:RepeatVector層將輸入重複n次
Merge層:Merge層根據給定的模式,將一個張量列表中的若干張量合併爲一個單獨的張量
Lambda層:本函數用以對上一層的輸出施以任何Theano/TensorFlow表達式
ActivityRegularizer層:經過本層的數據不會有任何變化,但會基於其激活值更新損失函數值
Masking層:使用給定的值對輸入的序列信號進行“屏蔽”,用以定位需要跳過的時間步。
- 實例參考keras文檔,有詳細的說明
Highway層:Highway層建立全連接的Highway網絡,這是LSTM在前饋神經網絡中的推廣
MaxoutDense層:參數尚不理解,具體參考文獻和文檔。
Convolution
Convolution2D層:二維卷積層對二維輸入進行滑動窗卷積
AtrousConvolution2D層:該層對二維輸入進行Atrous卷積,也即膨脹卷積或帶孔洞的卷積。
- Convolution1D, AtrousConvolution1D,Convolution3D同
SeparableConvolution2D層:該層是對2D輸入的可分離卷積。可分離卷積首先按深度方向進行卷積(對每個輸入通道分別卷積),然後逐點進行卷積,將上一步的卷積結果混合到輸出通道中。
Deconvolution2D層:該層是卷積操作的轉置(反捲積)。需要反捲積的情況通常發生在用戶想要對一個普通卷積的結果做反方向的變換。例如,將具有該卷積層輸出shape的tensor轉換爲具有該卷積層輸入shape的tensor。
Cropping1D層:在時間軸(axis1)上對1D輸入(即時間序列)進行裁剪
Cropping2D層:對2D輸入(圖像)進行裁剪,將在空域維度,即寬和高的方向上裁剪
Cropping3D層:對2D輸入(圖像)進行裁剪
UpSampling1/2/3D層:不明所以
ZeroPadding1D層:對1D輸入的首尾端(如時域序列)填充0,以控制卷積以後向量的長度
ZeroPadding2D層:對2D輸入(如圖片)的邊界填充0,以控制卷積以後特徵圖的大小
ZeroPadding3D層:將數據的三個維度上填充0
Pooling
MaxPooling1D層:對時域1D信號進行最大值池化
MaxPooling2D層:爲空域信號施加最大值池化
MaxPooling3D層:爲3D信號(空域或時空域)施加最大值池化
AveragePooling1/2/3D層
GlobalMaxPooling1/2D層
GlobalAveragePooling1/2D層
LocallyConnceted
- LocallyConnected1/2D層:和 Convolution1/2D工作方式類似,唯一不同的是不進行權值共享。
Recurrent
Recurrent層:這是遞歸層的抽象類,不能實例化,請使用它的子類:LSTM/SimpleRNN
SimpleRNN層:全連接RNN網絡,RNN的輸出會被回饋到輸入
GRU層:門限遞歸單元(詳見參考文獻)
LSTM層:Keras長短期記憶模型,關於此算法的詳情,請參考 本教程
Embedding
- Embedding層:嵌入層將正整數(下標)轉換爲具有固定大小的向量,如[[4],[20]]->[[0.25,0.1],[0.6,-0.2]],Embedding層只能作爲模型的第一層
Advanced Activation
LeakyReLU層:LeakyRelU是修正線性單元(Rectified Linear Unit,ReLU)的特殊版本,當不激活時,LeakyReLU仍然會有非零輸出值,從而獲得一個小梯度,避免ReLU可能出現的神經元“死亡”現象。
PReLU層:該層爲參數化的ReLU(Parametric ReLU)
ELU層:ELU層是指數線性單元(Exponential Linera Unit)
ParametricSoftplus層:該層是參數化的Softplus
ThresholdedReLU層:該層是帶有門限的ReLU
SReLU層:該層是S形的ReLU
BatchNormalization
- BatchNormalization層:該層在每個batch上將前一層的激活值重新規範化,即使得其輸出數據的均值接近0,其標準差接近1,具體請參考BN算法。
Noise
GaussianNoise層:爲層的輸入施加0均值,標準差爲sigma的加性高斯噪聲。
GaussianDropout層:爲層的輸入施加以1爲均值,標準差爲sqrt(p/(1-p)的乘性高斯噪聲
Wrapper
TimeDistributed包裝器:該包裝器可以把一個層應用到輸入的每一個時間步上
Bidirectional包裝器:雙向RNN包裝器