1条回答 默认 最新
- 丨封尘绝念斩丨 2022-03-02 18:09关注
孪生神经网络(Siamese neural network),又名双生神经网络,是基于两个人工神经网络建立的耦合构架。孪生神经网络以两个样本为输入,其两个子网络各自接收一个输入,输出其嵌入高维度空间的表征,通过计算两个表征的距离,例如欧式距离,以比较两个样本的相似程度。
狭义的孪生神经网络由两个结构相同,且权重共享的神经网络拼接而成。广义的孪生神经网络,或伪孪生神经网络(pseudo-siamese network),可由任意两个神经网拼接而成。孪生神经网络通常具有深度结构,可由卷积神经网络、循环神经网络等组成,其权重可以由能量函数或分类损失优化。
孪生网络用于处理两个输入"比较类似"的情况。比如,两个句子或者词汇的语义相似度计算,指纹或人脸的比对识别等使用siamese network比较适合; 伪孪生神经网络适用于处理两个输入"有一定差别"的情况。如验证标题与正文的描述是否一致,或者文字是否描述了一幅图片,就应该使用伪孪生神经网络。
在监督学习范式下,孪生神经网络会最大化不同标签的表征,并最小化相同标签的表征。在自监督或非监督学习范式下,孪生神经网络可以最小化原输入和干扰输入(例如原始图像和该图像的裁减)间的表征。
孪生神经网络可以用于解决类别很多(或者说不确定),然而训练样本的类别数较少的分类任务,即可以进行小样本(one-shot learning),且不容易被错误样本干扰,因此可用于对容错率要求严格的模式识别问题,例如人像识别、指纹识别、目标追踪等。
孪生网络亦可以完成类别数目固定,且每类下的样本数也较多(比如ImageNet)的分类任务。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 2
悬赏问题
- ¥15 shape_predictor_68_face_landmarks.dat
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 对于相关问题的求解与代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料
- ¥15 使用R语言marginaleffects包进行边际效应图绘制