Xiaobo Wang*, Shuo Wang*, Cheng Chi, Shifeng Zhang, Tao Mei
이는 얼굴 인식에 대한 손실 기능 검색의 공식 구현입니다. ICML 2020에서 승인되었습니다.
얼굴 인식에서 마진 기반(예: 각도, 가산, 가산 각도 마진) 소프트맥스 손실 함수 설계는 식별 기능을 학습하는 데 중요한 역할을 합니다. 그러나 이러한 손으로 만든 경험적 방법은 대규모 설계 공간을 탐색하는 데 많은 노력이 필요하기 때문에 차선책입니다. 먼저 특징 식별을 강화하는 핵심은 실제로 소프트맥스 확률을 줄이는 방법임을 분석합니다. 그런 다음 현재 마진 기반 소프트맥스 손실에 대한 통합 공식을 설계합니다. 이에 따라 우리는 새로운 검색 공간을 정의하고 보상 기반 검색 방법을 개발하여 자동으로 최상의 후보를 얻습니다. 다양한 얼굴 인식 벤치마크에 대한 실험 결과는 최첨단 대안에 비해 우리 방법의 효율성을 입증했습니다.
검색 공간의 효율성을 검증하려면 간단히 Random-Softmax를 선택하면 됩니다. train.sh에서 do_search=1로 설정할 수 있습니다. 무작위 소프트맥스를 사용하여 네트워크를 훈련하면 아래와 같은 결과를 얻습니다.
Pytorch 1.1 이상이 필요합니다.
현재 구현에서는 lmdb를 사용하여 교육 이미지를 압축합니다. lmdb의 형식은 주로 Caffe에서 가져왔습니다. 그리고 다음과 같이 자신만의 caffe.proto 파일을 작성할 수 있습니다.
syntax = "proto2";
message Datum {
//the acutal image data, in bytes.
optional bytes data=1;
}
lmdb 외에도 lmdb를 설명하는 텍스트 파일이 있어야 합니다. 텍스트 파일의 각 줄에는 공백으로 구분된 2개의 필드가 포함되어 있습니다. 텍스트 파일의 줄은 다음과 같습니다.
lmdb_key label
./train.sh
./train.sh를 사용할 수 있습니다. train.sh를 실행하기 전에 자체 train_source_lmdb 및 train_source_file을 제공해야 합니다. 더 많은 사용법을 원하시면
python main . py - h