0. 写在前面
“匹配”这类任务有着很广泛的应用场景,例如NLP中的文本匹配,推荐领域的物品召回等任务。由此,学术界和工业界提出了很多不同的方法和模型来解决匹配问题,并致力于效果提升。本篇文章介绍一种经典的网络模型Siamese Network(孪生神经网络),该模型能够处理但不局限于“匹配”问题,下面一起来看下。
个人心得:
- Siamese Network中,两个输入共享编码层(嵌入层);
- 通过调整Siamese Network的特征变换层及损失函数,能够使其适用于不同的任务。
Wikipedia:
https://en.wikipedia.org/wiki/Siamese_neural_network
1. 模型架构
Siamese Network的模型架构如图所示。可以看出,该模型的设计思路非常符合“匹配”的直观感受,即将输入pair通过特征变换后进行交叉得到分值(eg. 相似度)。

整个模型可以分为三步:
- 将输入pair送入编码器,得到编码后的向量化表示。需要注意的是,在Siamese Network中,输入pair是共用编码器参数的,不论在训练还是在测试过程中,编码器只有一套,所有输入共用。
- 向量特征组合和交叉。这一步的目的是为了让模型能够学习输入pair的“匹配”特征,得到交叉后的特征向量;
- 将上一步特征向量送入特征映射层,并设计损失函数,使得模型能够完成指定任务。
2. Siamese Network 之文本匹配示例
本节我们以NLP文本匹配任务为例介绍Siamese Network的设计思路。针对文本匹配的S
孪生神经网络:SiameseNetwork详解与文本匹配应用

本文深入解析SiameseNetwork的基本架构,演示如何应用于文本匹配任务,展示了其编码共享、特征交互和自适应学习的特点。
最低0.47元/天 解锁文章
1117

被折叠的 条评论
为什么被折叠?



