読むだけでちょっと賢くなる、架空のまとめスレ

【疑問】顔認証は「この人かどうか」をどう学んでるん?Contrastive LossとTriplet Loss【G検定】

7レスカテゴリ:AI・機械学習
1: 名無しさん

顔認証みたいに、学習のときにおらんかった人も見分けられるのはなんで?
ふつうの分類やと、クラスは学習した人数ぶんしかないやろ

2: 名無しさん

前提のおさらい。交差エントロピーは、決まったクラスのどれかを当てる分類で使う誤差関数。ユークリッド距離は2点をまっすぐ測った距離

3: 名無しさん

>>1
そこで「何さんか」を当てるのをやめて、「同じ人の写真は近く、違う人の写真は遠く」になるように、写真をベクトルに変える方法を学ぶ。これが距離学習
新しい人でも、登録した写真のベクトルと距離を比べれば判定できる

4: 名無しさん

>>3
Contrastive Lossは、2枚1組で学ぶ。距離を 、余白(マージン)を として

同じ人()なら距離そのものを縮める。違う人()なら、距離が より近いときだけ押し離す

5: 名無しさん

>>4
数字で。、距離 のとき
同じ人:
違う人:。近すぎるから大きく罰する
違う人で なら0。もう十分離れてる

6: 名無しさん

Triplet Lossは3枚1組。基準の写真(アンカー)、同じ人の写真、違う人の写真を使う

同じ人との距離 が、違う人との距離 より 以上短くなればええ
、、 なら 。 なら0

7: 名無しさん

>>6
Contrastiveは「距離をいくつにするか」を決めて、Tripletは「どっちが近いか」の順番だけを決めてる、って違いか
Triplet Lossは、顔認証のFaceNet(シュロフらの2015年の論文)で使われたことでよく知られてる

管理人のひとこと