概述
激活函数用来决定一个神经元的最终的输出。譬如对一个细胞来说,理想的输出是0和1。但是如果真实的输出是0.85的话,这个时候用来决定输出是0还是1的函数就叫激活函数(从另一个角度来看,有些激活函数有点像数字信号处理里面的将连续信号离散化)。
激活函数或者位于网络的尾部,用于调整输出,或者位于Layer之间。本文介绍激活函数用于Dense Layer的情况。
图片来自:
https://cdn-images-1.medium.com/max/1400/0*44z992IXd9rqyIWk.png
Dense layer
Dense Layer的功能由下面的函数来描述:
output = activation(dot(input, kernel) + bias
这里的kernel不是过滤器的内核,而是weights matrix。所以kernel的大小,应该和输入的大小一致。
从这个公式看,Dense 层解决的是多元一次方程的求解问题。如果输入是1,则是y = kx +b。
tfjs-examples/getting-started:
async function run() {
// Create a simple model.
const model = tf.sequential();
model.add(tf.layers.dense({units: 1, inputShape: [1]}));
// Prepare the model for training: Specify the loss and the optimizer.
model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});
/* 38.2320556640625
// Generate some synthetic data for training. (y = 2x - 1)
const xs = tf.tensor2d([-1, 0, 1, 2, 3, 4],