理解神经网络、深度学习及谷歌云机器学习工具
1. 神经网络基础
1.1 卷积层
卷积层对输入数据执行卷积操作,以过滤信息并生成特征图。过滤器作为滑动窗口扫描整个图像,自动识别图像中的特征。例如,一个 3x3 的过滤器(也称为核 K)扫描整个图像 I 并生成特征图 I*K,其元素来自 I 和 K 的乘积。如 1x1 + 0x0 + 1x0 + 0x1 + 1x1 + 0x0 + 1x1 + 0x1 + 1x1 = 4。卷积过程提取图像特征,但生成的特征图数据量仍然很大,不利于神经网络训练,因此需要进行数据压缩。
1.2 池化层
池化层接收卷积层的输出(特征图),并使用过滤器对其进行压缩。根据计算函数的不同,可分为最大池化和平均池化。例如,一个 2x2 的过滤器补丁扫描特征图,最大池化取扫描窗口中的最大值,如 max(15, 8, 20, 9) = 20;平均池化取平均值,如 average(15, 8, 20, 9) = 13。池化层的过滤器总是小于特征图。
1.3 全连接层
卷积和池化层之后,需要将结果展平并传递给一个全连接神经网络(MLP)进行分类。最终结果通过 softmax 激活函数激活,得到对图像的理解。
1.4 循环神经网络(RNN)
RNN 广泛应用于时间序列分析,如自然语言处理(NLP)。传统的前馈神经网络(如 CNN)中的节点只考虑当前输入,不记忆先前的输入,因此无法处理需要先前输入的时间序列数据。RNN 通过引入隐藏状态来解决这个问题,隐藏状态可以记住序列的一些信息。RNN 的输出作为下一步的输入,使用循环结构来保留信息,使神经网络能够处理输入序列