RamonDijkstra / AI-FACT

FACT
0 stars 0 forks source link

Inversion attacks #3

Closed WardPennink closed 3 years ago

WardPennink commented 3 years ago

Hoi @deZakelijke ,

Momenteel zijn wij bezig met het implementeren van de inversion attacks. De tweede inversion attack hebben wij zo opgezet dat we een U-net trainen met zowel normale afbeeldingen als met encoded features en vervolgens vergelijken wij het resultaat van de reconstructed images op basis van de MSE loss.

Echter, bij het implementeren van inversion attack 1 lopen wij tegen wat problemen aan. Wij begrijpen niet helemaal hoe deze attack opgezet moet worden. Gebaseerd op het stukje 'Attacks' onderaan pagina 7 van de paper vatten wij het op dat beide inversion attacks met een U-net geïmplementeerd zouden moeten worden. Maar als wij vervolgens de uitleg van inversion attack 1 bekijken onderaan pagina 5, lijkt het alsof wij het attacker model moeten trainen om de meest waarschijnlijke rotatie theta te predicten. Dit zou niet mogelijk zijn met het U-net omdat dat een image output geeft. Is het het idee dat we voor de inversion attack 1 de U-net de encoded feature als input geven met als label de originele image, zodat het model impliciet leert wat voor rotatie daar aan vooraf is gegaan? Dit voelt als valsspelen, omdat we het model trainen met een originele image die de attacker niet zou hebben. Is dit inderdaad hoe de inversion attack 1 werkt of missen wij iets?

deZakelijke commented 3 years ago

Het is inderdaad een beetje raar, maar ik denk wel dat dat klopt. Ze willen laten zie dat als de situatie optimaal is voor de attacker, hun model nog steeds bescherming geeft. Het is sowieso al een flinke aanname dat de attacker weet dat het een complex getal is dat geroteert moet worden om de originele data te krijgen.

WardPennink commented 3 years ago

Hi @deZakelijke , Thanks! Op basis van de tekst die staat onder het kopje 'Evaluation metrics' lijkt het toch weer anders beschreven te worden, namelijk dat de eerste inversion attack expliciet de angle moet predicten. Er staat daar dat één van de measures van de inversion attack bestaat uit 'the average error of the estimation about the rotated angle theta*'. Dit zou dan toch betekenen dat we geen U-net moeten gebruiken voor die eerste inversion attack, maar alleen een nieuwe discriminator moeten trainen voor de encoder GAN of iets dergelijks..? Wij zouden niet weten hoe we met een U-net de angle kunnen predicten, omdat het idee van de U-net is dat je een image-size output krijgt. Lijkt het jou het beste om toch de eerdere aanpak met U-net te volgen of het te implementeren met een GAN?

deZakelijke commented 3 years ago

Ik denk dat de U-net wordt gebruikt om a* te 'decoden' en de discriminator om de angle te bepalen. De terminologie van discriminator is dan niet helemaal correct, maar ze zeggen wel expliciet dat de discriminator de angle moet bepalen.