Keras中的神经网络层组件简介

xiaoxiao2021-02-28  113

原文:http://blog.csdn.net/zzulp/article/details/76590712

1 简介

在对Keras的简单使用之后,本文对Keras提供的对各种层的抽象进行相对全面的概括,以对Keras有更全面的认识。

2 基础常用层

名称 作用 原型参数 Dense 实现全连接层 Dense(units,activation,use_bias=True, kernel_initializer=’glorot_uniform’, bias_initializer=’zeros’) Activation 对上层输出应用激活函数 Activation(activation) Dropout 对上层输出应用dropout以防止过拟合 Dropout(ratio) Flatten 对上层输出一维化 Flatten() Reahape 对上层输出reshape Reshape(target_shape) Permute 对输入的维度按照指定的顺序交换并重排数据 Permute(dims) RepeatVector 将输入重复若干次后进行输出 RepeatVector(n) Lambda 对输入施加TF/TH表达式后输出 Lambda(function, output_shape,arguments=None) Masking 屏蔽指定的序列值 Masking(mask_value=0.0)

PS1:Dense()参数说明

名称 说明 units 层中单元数,也是输出维度 activation 激活函数 use_bias 是否使用偏置 kernel_initializer 权值初始化方法 bias_initalizer 偏置初始化方法 kernel_regularizer 权值规范化方法 bias_regularizer 偏置规范化方法 activity_regularizer   kernel_constraints 权值约束 bias_constraints 偏置约束

PS2: 预置激活函数/初始化器/正则化器说明

激活函数 初始化器 正则化器 softmax Zeros 全0 l1 elu Ones 全1 l2 softplus Constant 常数 l1_l2 softsign RandomNormal 正态分布   relu RandomUniform 平均分布   tanh TruncatedNormal 无尾正态   sigmoid Orthogonal 正交矩阵   hard_sigmoid Identity 单位矩阵   linear glorot_normal     he_normal     he_uniform  

3 巻积层

名称 作用 原型参数 Conv1D 一维巻积层 Conv1D(filters, kernel_size, strides=1, padding=’valid’) Conv2D 二维巻积层 Conv2D(filters, kernel_size, strides=(1, 1), padding=’valid’)

参数说明:

名称 说明 filters 卷积核的数目(即输出的维度) kernel_size 卷积核的宽度和长度。如为单个整数,表示在各个空间维度的相同长度 strides 为卷积的步长。如为单个整数,则表示在各个空间维度的相同步长 padding 补0策略,为“valid”, “same” activation   data_format channels_first或channels_last之一,代表图像的通道维的位置,默认为channels_last use_bias   kernel_initializer   bias_initializer   kernel_regularizer   bias_regularizer   activity_regularizer   kernel_constraints   bias_constraints  

4 池化层

名称 作用 原型参数 MaxPooling2D 二维最大池化层 MaxPooling2D(pool_size=(2, 2), strides=None, padding=’valid’, data_format=None) AveragePooling2D 平均最大池化层 AveragePooling2D(pool_size=(2, 2), strides=None, padding=’valid’)

5 循环层

名称 作用 原型参数 SimpleRNN 全连接RNN网络 SimpleRNN(units, activation=’tanh’, use_bias=True, kernel_initializer=’glorot_uniform’, recurrent_initializer=’orthogonal’, bias_initializer=’zeros’,dropout=0.0, recurrent_dropout=0.0)) GRU 门限循环单元层 GRU(units, activation=’tanh’, recurrent_activation=’hard_sigmoid’, use_bias=True, kernel_initializer=’glorot_uniform’, recurrent_initializer=’orthogonal’, bias_initializer=’zeros’, dropout=0.0, recurrent_dropout=0.0) LSTM 长短期记忆模型层 LSTM(units, activation=’tanh’, recurrent_activation=’hard_sigmoid’, use_bias=True, kernel_initializer=’glorot_uniform’, recurrent_initializer=’orthogonal’, bias_initializer=’zeros’, unit_forget_bias=True, dropout=0.0, recurrent_dropout=0.0)

6 嵌入层

名称 作用 原型参数 Embedding 嵌入层将输入中的整数转换为向量,导致原维度+1 EmbeddingEmbedding(input_dim, output_dim, embeddings_initializer=’uniform’, embeddings_regularizer=None, activity_regularizer=None, embeddings_constraint=None, mask_zero=False, input_length=None)

参数说明:  input_dim: 字典长度,即输入数据最大下标+1  output_dim:全连接嵌入的维度  input_length:当输入序列的长度固定时,该值为其长度。如果要在该层后接Flatten层,然后接Dense层,则必须指定该参数,否则Dense层的输出维度无法自动推断。

7 局部连接层

名称 作用 原型参数 LocallyConnected2D 不进行权重共享的2维层 LocallyConnected2D(filters, kernel_size, strides=(1, 1), padding=’valid’)      

8 规范化层

名称 作用 原型参数 BatchNormalization 对批次数据进行规范化 BatchNormalization(axis=-1, momentum=0.99, epsilon=0.001, center=True, scale=True, beta_initializer=’zeros’, gamma_initializer=’ones’, moving_mean_initializer=’zeros’, moving_variance_initializer=’ones’)

9 噪声层

名称 作用 原型参数 GaussianNoise 为数据施加0均值,标准差为stddev的加性高斯噪声 GaussianNoise(stddev) GaussianDropout 为输入施加以1为均值,标准差为sqrt(rate/(1-rate)的乘性高斯噪声 GaussianDropout(rate)

10 高级激活层

名称 作用 原型参数 LeakyReLU ReLU激活的改进层 LeakyReLU(alpha=0.3) PReLU 参数化的ReLU   ELU 指数参数化ReLU   ThresholdedReLU 阀值化ReLU  

12 Wraaper层

名称 作用 原型参数 TimeDistributed   TimeDistributed(layer) Bidirectional 双向RNN包装器 Bidirectional(layer, merge_mode=’concat’, weights=None)
转载请注明原文地址: https://www.6miu.com/read-39429.html

最新回复(0)