经典的全连接神经网络来包含四层网络:输入层、两个隐含层和输出层,将MNIST手写数字识别任务通过全连接神经网络表示,如下图所示。
    📃 全连接神经网络 - 图1
    MNIST手写数字识别任务的全连接神经网络结构图

    • 输入层:将数据输入给神经网络。在该任务中,输入层的尺度为28×28的像素值。
    • 隐含层:增加网络深度和复杂度,隐含层的节点数是可以调整的,节点数越多,神经网络表示能力越强,参数量也会增加。在该任务中,中间的两个隐含层为10×10的结构,通常隐含层会比输入层的尺寸小,以便对关键信息做抽象,激活函数使用常见的sigmoid函数。
    • 输出层:输出网络计算结果,输出层的节点数是固定的。如果是回归问题,节点数量为需要回归的数字数量。如果是分类问题,则是分类标签的数量。在该任务中,模型的输出是回归一个数字,输出层的尺寸为1。

    说明:
    隐含层引入非线性激活函数(比如sigmoid)是为了增加神经网络的非线性能力。
    举例来说,如果一个神经网络采用线性变换,有四个输入𝑥1~𝑥4,一个输出𝑦。假设第一层的变换是𝑧1=𝑥1−𝑥2和𝑧2=𝑥3+𝑥4,第二层的变换是𝑦=𝑧1+𝑧2,则将两层的变换展开后得到𝑦=𝑥1−𝑥2+𝑥3+𝑥4。也就是说,无论中间累积了多少层线性变换,原始输入和最终输出之间依然是线性关系。