直观理解神经网络最后一层全连接+Softmax
花书+吴恩达深度学习(一)前馈神经网络(多层感知机 MLP)
如何理解softmax
【AI数学】Batch-Normalization详细解析
我的的博客
一句话:FNN=MLP=n*dense=n*relu(Wx+b)
Feedforward Neural Network
FNN FFN?傻傻分不清楚
前馈神经网络(feedforward neural network),又称作深度前馈网络(deep feedforward network)、多层感知机(multilayer perceptron,MLP)
每一个神经元由一个线性拟合和一个非线性激活函数组成
不同层之间就是全连接
我们的任务就是找到权值和偏置这些参数的值,使得输出的东西让我们满意,达到我们的要求。
我的理解是 输入经过一层(放大),然后在经过一层(缩小)
层的选择 还有 都有,和同学讨论,谷歌的transformer实现用的卷积,听说是卷积快一些。
MLP
多层感知器(MLP,Multilayer Perceptron)是一种前馈人工神经网络模型
也叫人工神经网络(ANN,Artificial Neural Network)
除了输入输出层,它中间可以有多个隐层,最简单的MLP只含一个隐层,即三层的结构
多层感知机层与层之间是全连接的(全连接的意思就是:上一层的任何一个神经元与下一层的所有神经元都有连接)
全连接层 dense
全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。由于其全相连的特性,一般全连接层的参数也是最多的。
全连接层将权重矩阵与输入向量相乘再加上偏置
一维全连接层
二维全连接层
dense( inputs, units, activation=None, use_bias=True, kernel_initializer=None, bias_initializer=tf.zeros_initializer(), kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, trainable=True, name=None, reuse=None ) # inputs: 输入数据,2维tensor. # units: 该层的神经单元结点数。 # activation: 激活函数. # use_bias: Boolean型,是否使用偏置项. # kernel_initializer: 卷积核的初始化器. # bias_initializer: 偏置项的初始化器,默认初始化为0. # kernel_regularizer: 卷积核化的正则化,可选. # bias_regularizer: 偏置项的正则化,可选. # activity_regularizer: 输出的正则化函数. # trainable: Boolean型,表明该层的参数是否参与训练。如果为真则变量加入到图集合中GraphKeys.TRAINABLE_VARIABLES (see tf.Variable). # name: 层的名字. # reuse: Boolean型, 是否重复使用参数. # 全连接层执行操作 outputs = activation(inputs.kernel + bias) # 如果执行结果不想进行激活操作,则设置activation=None。