Keras模型简介
Keras的初始构建块是一个模型,最简单的模型称为序列。Keras序列模型是一个神经网络层的线性管道(一个堆栈)。
from keras.models import Sequential
model = Sequential()
model.add(Dense(12, input_dim=8, kernel_initializer='random_uniform',bias_initializer='zeros')))
上述代码定义了一个12个人工神经元单层网络,需要8个输入变量(特征值),每个神经元用具体的权重初始化。
构成模块的第二种方式是通过functional API,在那里可以定义复杂的模型,例如有向无环图、具有共享层的模型或多输出模型。
常规的全连接层
keras.layers.core.Dense(units, activation=None, use_bias=True, kernel_initializer='glorot_uniform')
预先定义的RNN
keras.layers.recurrent.Recurrent(return_sequences=False, go_backwards=False, stateful=
keras.layers.recurrent.SimpleRNN(units, activation='tanh', use_bias=True, kernel_initializer=
keras.layers.recurrent.GRU(units, activation='tanh', recurrent_activation='hard_sigmoid'
keras.layers.recurrent.LSTM(units, activation='tanh', recurrent_activation='hard_sigmoid'
卷积和池化层
ConvNets是一种使用卷积和池化操作的神经网络,它基于抽象的渐进层次逐步学习相当复杂的模型。这种渐进抽象的学习类似于在人类大脑中进化了数百万年的视觉模型。几年前,人们把它叫做深度3-5层,现在已经上升到100-200。