FoolsGold 기법

IT 위키

인공지능 연합 학습 등의 과정에서 발생할 수 있는 중독 공격을 방지하기 위해 데이터의 유사도를 기준으로 악의적 데이터와 정상 정보를 구분하는 기법

이름의 유래[편집 | 원본 편집]

Fool's Gold 알고리즘의 이름은 'Fool's Gold'라는 영어 표현에서 유래하였다. 이 표현은 현실에서는 가치가 없지만 비전문가나 경험이 부족한 사람들이 그것을 가치 있는 것으로 오인하는 것을 나타낸다.

알고리즘의 명칭에서 이 용어를 사용하면, 알고리즘이 부적절하게 혹은 잘못된 결과를 내놓는데도 불구하고, 비전문가나 무지한 사용자가 그 결과를 신뢰하는 상황을 의미한다. 이는 마치 진짜 금이 아니라 황금빛 돌이나 광물인 'Fool's Gold'가 가치 있는 금이라고 착각되는 상황을 비유한 것이다.

기본 아이디어[편집 | 원본 편집]

FoolsGold의 아이디어는 클라이언트들이 전송하는 제한된 정보만으로도, 정직한 클라이언트와 시빌 간 구분이 가능하다는 인사이트로부터 시작된다. 다시 말해 그레디언트 업데이트의 양상을 통해 둘 간의 구분이 가능하다는 말이다. 이러한 인사이트를 가지고 각 클라이언트의 학습률을 각 반복(라운드)마다 수정해줌으로써, 지속적으로 유사해 보이는 그레디언트 업데이트를 제안하는 클라이언트의 영향력을 줄일 수 있다.

시빌 업데이트 예시.png

목표

  1. 시스템이 공격받지 않을 때, 기존 연합 학습 방법의 성능을 보존할 수 있어야 한다.
  2. 유사한 방향을 향하는 클라이언트(아마 시빌일 것)의 기여도를 평가 절하할 수 있어야 한다.
  3. 중독 공격을 가하는 시빌의 수가 증가하더라도 강인해야 한다.
  4. 정직한 업데이트와 시빌의 업데이트를 구분할 수 있어야 한다.
  5. “네트워크 참여자 중 정직한 클라이언트의 수 또는 시빌의 수가 얼마 이상 되어야 한다.”와 같은 외부 가정에 의존하지 않아야 한다.

알고리즘[편집 | 원본 편집]

FoolsGold 알고리즘.png

참고 문헌[편집 | 원본 편집]

  • https://medium.com/curg/인공지능에도-시빌-공격이-있다-43449be6885f