R-CNNs
在图像识别领域,卷积神经网络(CNN)不仅可以识别出图像中的物体,还能检测出这些物体的边界框。如果我们使用传统的CNN进行对象检测,一种方法是在图像上覆盖一层栅格,然后处理每个栅格单元来检测对象的边界框。然而,这种方法存在一个问题,那就是图像中的物体形状和大小各异,且可能位于图像的任何位置。因此,如果我们使用固定大小的栅格单元,那么在某些情况下可能无法得到理想的结果。为了解决这个问题,我们可能需要使用不同大小的栅格单元来检测不同大小和形状的物体,但这将极大地增加计算资源的消耗。
为了解决上述问题,Girshick等人提出了基于区域的卷积神经网络(R-CNN)。这种网络结构使用选择性搜索算法从图像中提取大约2000个区域建议。这些区域建议是通过生成大量的候选区域,然后将这些区域递归地合并成更大的区域得到的。然而,由于选择性搜索算法内部没有使用实际的学习形式,因此可能会产生不正确的区域建议。
Fast R-CNN是R-CNN的一个改进版本,它由R-CNN的原作者提出。与R-CNN类似,Fast R-CNN也是通过将输入图像送入卷积神经网络生成一个卷积特征图,然后使用这个特征图和选择性搜索算法生成区域建议。但是,Fast R-CNN比R-CNN更快,因为它只需要对图像进行一次卷积操作。具体来说,Fast R-CNN首先将整个输入图像送入卷积神经网络生成一个卷积特征图,然后使用这个特征图和选择性搜索算法生成区域建议。这样,Fast R-CNN只需要对图像进行一次卷积操作,而不需要像R-CNN那样对每一个区域建议都进行卷积操作。
尽管Fast R-CNN比R-CNN更快,但两者都依赖于耗时的选择性搜索算法。因此,Faster R-CNN被提出,它是一种全新的方法,其中网络学习区域建议而不使用选择性搜索算法。Faster R-CNN的工作原理与Fast R-CNN类似,都是先将输入图像送入卷积神经网络生成一个卷积特征图,然后使用这个特征图生成区域建议。但是,不同于Fast R-CNN的是,Faster R-CNN使用一个单独的网络来预测区域建议,而不是使用选择性搜索算法。这使得Faster R-CNN比R-CNN和Fast R-CNN都要快得多,足以用于实时对象检测。在许多研究中,Faster R-CNN被用于生成输入图像的描述性呈现。
RNNs
递归神经网络(RNNs)是一种具有内部记忆的人工神经网络。这些网络的特点是对每个输入数据执行相同的操作,当前输入数据的输出取决于之前步骤的计算结果。在计算输出后,输出会被反馈到网络中。在推理时,RNN使用当前输入和上一步学习到的输出。与前馈神经网络相比,RNN使用其内部记忆(也称为内部状态)来处理一系列输入。这个特性使得RNN能够处理人类手写或语音识别等任务。换句话说,RNN可以用于那些输入之间存在某种关联且不是独立的应用。然而,这些网络容易出现“梯度消失”、难以训练和无法处理长序列等问题。如果序列过长,RNN网络可能会丢失序列开头的部分信息。
LSTMs and GRUs
长短期记忆网络(LSTM)是一种先进的循环神经网络(RNN)架构,专门设计用来克服传统RNN在处理长序列数据时面临的长期依赖问题。LSTM通过引入复杂的“门”机制,能够更加有效地捕获和存储长时间跨度内的信息,这对于许多自然语言处理、时间序列分析以及语音识别等任务至关重要。LSTM的关键特性在于其内部结构,它由三个主要组成部分构成:输入门、遗忘门和输出门。这些门控制信息的流入、保留和流出,使得网络能够在必要时记住信息,或者在不再需要时忘记信息。这种机制允许LSTM在处理序列数据时保持长期的记忆,从而在模型的后续部分引用前面的信息。尽管LSTM在很多领域都取得了显著的成功,但它也有一些局限性。例如,LSTM的复杂结构意味着它需要更多的计算资源和存储空间。此外,LSTM在建模句子或文本的层次结构方面可能不如某些其他模型,如Transformer架构,后者通过自注意力机制能够更好地捕捉不同位置之间的关系。
为了解决LSTM的一些限制,研究人员提出了门控循环单元(GRU)。GRU是LSTM的一个变体,它通过减少门的数量来简化模型结构,这使得GRU比LSTM更容易训练,并且在处理较小或较不频繁的数据集时可能表现得更好。然而,GRU通常在捕获非常长期的依赖关系方面不如LSTM强大。在实际应用中,选择使用LSTM还是GRU或其他类型的RNN取决于具体任务的需求、可用的计算资源以及数据的性质。例如,在图像描述任务中,LSTM通常用作“编码器-解码器”框架的一部分,以生成描述图像内容的文本。
总的来说,LSTM和GRU都是强大的工具,它们在深度学习领域有着广泛的应用。不过,随着研究的不断深入,新的模型和技术也在不断出现,为处理序列数据提供了更多的可能性。
ResNet
残差神经网络,即ResNet,被用于目标检测。这些网络的结构受到大脑皮层中锥体细胞的启发,并使用滑动连接来连接多个层。通常情况下,ResNet通过两个或三个跳跃连接来实现。ResNet是通过堆叠在彼此之上的“残差块”来构建的,例如,ResNet-50由包含50个残差块的层组成。与没有跳过连接和残留块的简单网络结构相比,这种结构的优化被证明更容易和更快。一些研究工作使用ResNet来检测对象并生成图像表示。