FoolsGold 기법
From IT Wiki
인공지능 연합 학습 등의 과정에서 발생할 수 있는 중독 공격을 방지하기 위해 데이터의 유사도를 기준으로 악의적 데이터와 정상 정보를 구분하는 기법
이름의 유래
Fool's Gold 알고리즘의 이름은 'Fool's Gold'라는 영어 표현에서 유래하였다. 이 표현은 현실에서는 가치가 없지만 비전문가나 경험이 부족한 사람들이 그것을 가치 있는 것으로 오인하는 것을 나타낸다.
알고리즘의 명칭에서 이 용어를 사용하면, 알고리즘이 부적절하게 혹은 잘못된 결과를 내놓는데도 불구하고, 비전문가나 무지한 사용자가 그 결과를 신뢰하는 상황을 의미한다. 이는 마치 진짜 금이 아니라 황금빛 돌이나 광물인 'Fool's Gold'가 가치 있는 금이라고 착각되는 상황을 비유한 것이다.
기본 아이디어
FoolsGold의 아이디어는 클라이언트들이 전송하는 제한된 정보만으로도, 정직한 클라이언트와 시빌 간 구분이 가능하다는 인사이트로부터 시작된다. 다시 말해 그레디언트 업데이트의 양상을 통해 둘 간의 구분이 가능하다는 말이다. 이러한 인사이트를 가지고 각 클라이언트의 학습률을 각 반복(라운드)마다 수정해줌으로써, 지속적으로 유사해 보이는 그레디언트 업데이트를 제안하는 클라이언트의 영향력을 줄일 수 있다.
목표
- 시스템이 공격받지 않을 때, 기존 연합 학습 방법의 성능을 보존할 수 있어야 한다.
- 유사한 방향을 향하는 클라이언트(아마 시빌일 것)의 기여도를 평가 절하할 수 있어야 한다.
- 중독 공격을 가하는 시빌의 수가 증가하더라도 강인해야 한다.
- 정직한 업데이트와 시빌의 업데이트를 구분할 수 있어야 한다.
- “네트워크 참여자 중 정직한 클라이언트의 수 또는 시빌의 수가 얼마 이상 되어야 한다.”와 같은 외부 가정에 의존하지 않아야 한다.
알고리즘
참고 문헌
- https://medium.com/curg/인공지능에도-시빌-공격이-있다-43449be6885f