神经网络之模块化视角(一)

本文深入探讨了卷积神经网络(CNN)的工作原理及其在模式识别领域的应用,如计算机视觉和语音识别。介绍了CNN如何利用相同神经元的多个拷贝学习特征,减少参数数量,以及卷积层和池化层如何帮助网络检测更高级别的抽象特征。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

  在过去几年中,深度神经网络已经导致各种模式识别问题的突破性结果,例如计算机视觉和语音识别。导致这些结果的基本组成部分之一是一种称为卷积神经网络的特殊神经网络

  在最基本的情况下,卷积神经网络可以被认为是一种使用相同神经元的许多相同拷贝的神经网络。这允许网络拥有大量神经元并表达计算大型模型,同时保持实际参数的数量 - 描述神经元行为方式的值 - 需要相当小的学习。
二维卷积神经网络

  这种具有相同神经元的多个拷贝的技巧大致类似于数学和计算机科学中的函数的抽象。编程时,我们编写一个函数并在很多地方使用它 - 不是在不同的地方编写相同的代码一百次使编程更快,并导致更少的错误。类似地,卷积神经网络可以学习一次神经元并在许多地方使用它,这使得学习模型和减少错误变得更容易。

卷积神经网络的结构

  假设您希望神经网络查看音频样本并预测人类是否在说话。如果有人说话,也许你想做更多的分析。

  您可以在不同的时间点获得音频样本。样品间隔均匀。

AI1024

  尝试使用神经网络对它们进行分类的最简单方法是将它们全部连接到完全连接的层。有许多不同的神经元,每个输入连接到每个神经元。

5201314

  更复杂的方法注意到在数据中查找的属性中的一种对称性。我们非常关心数据的本地属性:在给定时间内有多少声音?它们是增加还是减少?等等。

  我们关注所有时间点的相同属性。知道开始时的频率很有用,知道中间的频率很有用,最后知道频率也很有用。再次注意,这些是本地属性,因为我们只需要查看音频样本的小窗口以确定它们。

  所以,我们可以创建一组神经元,A,查看我们数据的小时段。2 A.查看所有这些细分,计算某些功能。然后,将该卷积层的输出馈送到完全连接的层F中。

6812086

  在上面的例子中,A只查看由两点组成的段,这是不现实的。通常,卷积层的窗口会大得多。

  在以下示例中,A看看,这也不现实 - 遗憾的是,想象A是很棘手的 连接到很多点。

66666

  卷积层的一个非常好的特性是它们是可组合的。您可以将一个卷积层的输出提供给另一个卷积层。通过每个层,网络可以检测更高级别,更抽象的功能。

  在下面的例子中,我们有一组新的神经元,B。乙 用于创建堆叠在前一个卷顶层上的另一个卷积层。

969696

  卷积层通常与池化层交织在一起。特别是,有一种称为最大池层的层非常受欢迎。
  通常,从高层次的角度来看,我们并不关心特征存在的精确时间点。如果频率的变化稍早或稍后发生,那么重要吗?
  最大池层在前一层的小块上占用最多的特征。输出告诉我们前一层的区域中是否存在某个要素,但不是精确位置。
  最大池层有点“缩小”。它们允许后来的卷积层处理更大的数据部分,因为池化层之后的小补丁对应于之前更大的补丁。它们还使我们对一些非常小的数据转换不变。

77777

  在我们之前的例子中,我们使用了1维卷积层。但是,卷积层也可以处理更高维数据。实际上,卷积神经网络最着名的成功是应用2D卷积神经网络来识别图像。

11111

在二维卷积层中,而不是看段,A 现在看看补丁。

  对于每个补丁,A将计算功能。例如,它可能学习检测边缘的存在。或者它可能学会检测纹理。或者两种颜色之间的对比。

88888

  在前面的例子中,我们将卷积层的输出馈送到完全连接的层。但我们也可以组成两个卷积层,就像我们在一维情况下所做的那样。

22222

  我们还可以在两个维度上进行最大池化。在这里,我们在一个小补丁上采用了最多的功能。

  这真正归结为,在考虑整个图像时,我们不关心边缘的精确位置,直到像素。它足以在几个像素内知道它的位置。

33333

  有时也使用三维卷积网络,用于诸如视频或体积数据(例如,3D医学扫描)之类的数据。但是,它们的使用并不是很广泛,而且难以想象。
  现在,我们先前说过A是一群神经元。我们应该更准确一点:A是什么 究竟?
  在传统的卷积层中,A 是一堆并行的神经元,它们都获得相同的输入并计算不同的特征。
  例如,在二维卷积层中,一个神经元可能检测到水平边缘,另一个神经元可能检测到垂直边缘,另一个可能检测到绿色 - 红色对比度。

444444

  也就是说,在最近的论文“网络中的网络”中,提出了一个新的“Mlpconv”层。在这个模型中,A将有多层神经元,最后一层输出该区域的更高级别的特征。在本文中,该模型取得了一些非常令人印象深刻的结果,为许多基准数据集设定了新的技术水平。

5555

  也就是说,就本文而言,我们将重点关注标准卷积层。我们已经足够考虑那里了!

我很佩服你的计算方法的优雅; 在真正数学的马匹上穿越这些领域一定很好,而我们这样的人必须徒劳无功地走上这条路。- 艾尔伯特爱因斯坦

神经网络之模块化视角(二)

注:本文系翻译

转载于:https://www.cnblogs.com/SXTAIStudy/p/10318465.html

### 多视角增广适用的神经网络 对于多视角增广的应用场景,卷积神经网络(CNNs)、图神经网络(GNNs),以及特定设计用于处理多模态数据的混合模型都是潜在的选择。 #### 卷积神经网络 (Convolutional Neural Networks, CNN) CNN 特别擅长于从图像中提取局部特征并保留空间次关系。通过使用不同的卷积核大小和形状,在多个尺度上捕获输入数据的空间模式变得可行。当应用于多视角增广时,可以利用旋转、翻转和其他几何变换来增加训练样本多样性,从而提高泛化能力[^1]。 ```python import torch.nn as nn class MultiViewCNN(nn.Module): def __init__(self): super(MultiViewCNN, self).__init__() self.conv_layer = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=(5, 5)) def forward(self, x): output = self.conv_layer(x) return output ``` #### 图神经网络 (Graph Neural Networks, GNN) 考虑到实际应用场景中的对象间可能存在复杂的连接关系,GNN 能够很好地建模这种非欧几里得结构的数据。它不仅能够学习节点自身的属性表示,还可以考虑相邻节点之间的相互作用。因此,在涉及复杂拓扑结构或多源异构信息融合的任务中表现优异[^2]。 ```python from torch_geometric.nn import GCNConv class MultiViewGNN(nn.Module): def __init__(self): super(MultiViewGNN, self).__init__() self.gcn_conv = GCNConv(in_channels=64, out_channels=64) def forward(self, data): edge_index, node_features = data.edge_index, data.x output = self.gcn_conv(node_features, edge_index) return output ``` #### 混合模型 为了充分利用不同类型的信息来源,有时会构建种集成多种子网路架构于体的框架。比如结合视觉感知模块与语义理解组件,或是将传统机器学习方法同深度学习相结合等方式实现更强大的功能特性。这类定制化的解决方案可以根据具体需求灵活调整内部组成部件及其参数配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值