A-Softmax的keras实现
参考文档:https://www.cnblogs.com/heguanyou/p/7503025.html
注:主体完成,调试中,先行记录,待续。。。已完成
注:我写的不是很好,因为模型搭建用到了batch_size这个参数,所以编译很慢;而且资料都说该方法很难收敛,比较难训练;推荐后续的改进版:
《AM : Additive Margin Softmax for Face Verification》
《AAM : Face Recognition via Centralized Coordinate Learning》
《ArcFace: ArcFace: Additive Angular Margin Loss for Deep Face Recognition》
具体的改进原理和物理解释参见:
人脸识别的LOSS(上)
人脸识别的LOSS(下)
其中,我实现了一下keras版本的《Additive Margin Softmax for Face Verification》地址:https://blog.csdn.net/yjy728/article/details/79730716
和A-Softmax的主要区别是对输入x也进行了归一化,且用加性margin:
ψ=cosθ+m ψ = c o s θ + m
替代了乘性margin: