python - 需要实现与连体网络非常相似的深度学习架构
问题描述
我必须实现这个网络:
类似于具有对比损失的孪生网络。我的问题是S1
/ F1
。论文这样说:
“
F1
并且S1
是我们用来分别学习面部和语音模态的单位归一化嵌入的神经网络。在图 1 中,我们描述了训练F1
和S1
测试例程。它们由 2D 卷积层(紫色)、最大-池化层(黄色)和全连接层(绿色)。所有层之间使用 ReLU 非线性。最后一层是单位归一化层(蓝色)。对于面部和语音模态,F1
返回S1
250 维单位归一化嵌入”。
我的问题是:
- 如何将 2D 卷积层(紫色)应用于具有形状的输入
(number of videos, number of frames, features)
? - 最后一层是什么?批量规范?
F.normalize
?
解决方案
我将回答您的两个问题,而不会过多介绍:
如果您使用的是 CNN,您的输入中很可能包含空间信息,即您的输入是二维多通道张量
(*, channels, height, width)
,而不是特征向量(*, features)
。如果您不保留二维,您根本无法对输入应用卷积(至少是 2D 卷积)。最后一层被描述为“单元标准化”层。这仅仅是使向量的范数单位(等于1)的操作。您可以通过将所述向量除以其范数来做到这一点。
推荐阅读
- laravel - 按流派 id 生成建议
- r - 结合来自不同来源的定时数据
- sql - SQL 需要第一次服务的日期
- python - 将重量传感器数据获取到 csv 文件时出现问题
- c++ - 如何创建多文件 C++ 项目
- reactjs - React-Native 组件willunmont - 正确使用
- javascript - 未能实现 st_distance_sphere
- javascript - 使用 Jenkins 进行端到端测试的正确方法
- vue.js - vue-router — 未捕获(承诺)错误:通过导航守卫从“/login”重定向到“/”
- unity3d - GameObject.Find() 的替代品;