3 ms·
But now explain to me the difference between Bob's face and another humans face without referencing what another humans face looks like, or the difference betwe
by greycol 6y ago
But now explain to me the difference between Bob's face and another humans face without referencing what another humans face looks like, or the difference between bob's face in front of a white wall vs a blue sky.
Basically to train an ML system you'll need pictures of bob and pictures of not bob.
If the pictures of not Bob don't include any humans then there's a good chance that every human face gets classified as Bob because they look a lot more like Bob than an airplane. If the pictures of human faces are only white people and Bob is black then it's quite possible all black faces you show the system after training get classified as Bob.
- kgin 6y agoSo the problem is mostly when deciding whether a face is likely one of the faces already in the system or if it is a new face that hasn’t been added yet?
- greycol 6y agoSo the problem is it's hard to give a definitive answer because there are many different types of facial recognition systems. ML systems have a phase when you are training the algorithm. When you are adding data in this phase you are altering the algorithm rather than adding data to compare against. For facial recognition it might be learning things like distance between eyes is useful for distinguishing faces, that the wall behind a person is not good for distinguishing people, etc. If this stage of the process goes badly then you may end up with it assuming common characteristics are important than they are. When you add faces after training you are usually not altering the algorithm (some ml techniques do continue learning but there are challenges in this approach too), you are just adding faces the algorithm is generating outputs for. So for a naive face lock algorithm on a phone you may have your trained algorithm that compares two pictures of faces and puts out a number based on how certain the faces are the same person. So all that's happening when the user is 'training' face lock is the adding of a bunch of pictures of their face, then when you go to unlock the unlock algorithm just compares the image from the camera to all of the stored images and if any match closely enough it unlocks. Now let's consider the naive law enforcement approach with a similar algorithm. We'll go with the hypothetical: You load in a bunch of outstanding warrants and whenever your body camera captures an image that matches the image in a warrant it will ding and you can go to the cruiser and pull up the warrant for further scrutiny. If the facial recognition software say placed a large importance on whether a person had an epicanthic fold (because it was enough to be a distinguishing feature in the training data set) then if one warantee was of asian descent and had a big nose then all it might take for others of the same descent to have a high match with that person is to have a big nose, even if their other features are distinctly different. Adding more pictures of the wanted man wouldn't actually help this it would infact make it more likely that more asians would be held up while the warrant was checked by a human. Now you can be smarter about your logic around the output from your ML algorithm but to actually get better output to base your logic on you actually need to train the ML better in the first place (or retrain it). That requires data, good data for what your trying to classify, actually figuring out what that data should contain and making sure it contains it is a huge task in itself. A publicly available corpus may not be as robust as required for this training and there is little incentive for private companies to share robust data as this can be considered the secret sauce in their offerings as well as being a barrier to entry to competitors.