체인의정석

사내 강의 정리) 프라이버시 보장 AI 학습을 위한 Security 방법론 본문

빅데이터&인공지능/인공지능

사내 강의 정리) 프라이버시 보장 AI 학습을 위한 Security 방법론

체인의정석 2024. 8. 8. 12:17
728x90
반응형

강연자 : 씨피랩스 이정혁 리더님

AI 학습시 발생할 수 있는 프라이버시 이슈

분류 & 특징

AI 학습 : AI 학습은 학습 대상에게 입력을 주고 특정 문제에 대해서 풀게 해주는 과정

신경망 : 각각의 입력 데이터와 가중치가 곱해진 형태로 활성함수에 들어가서 output으로 나오는 과정

Deep Learning 구조

가중치를 어떻게 적용하는지에 따라서 차이점이 적용된다.

입력과 가중치에 따라서 출력이 달라진다.


분류 문제 & 예측

실제 정답과 도출한 값의 차이를 보면서 가중치 조정


가중치들을 계산한 만큼 조정하는 과정 => 학습

서버에서 개인데이터가 올라가다 보면은 서버가 탈취되었을 때 데이터에 대한 프라이버시 이슈 발생

이런 문제를 해결하고자 여러 방법론이 나오게 된다.

 

그 중 하나가 연합학습

연학학습은 학습을 개개인이 진행을 하고 개인데이틑 사용자가 직접 학습 후 갱신된 모델 중앙 서버에 업로드

=>
자신의 데이터는 주지 않고 자신이 직접 학습을 하고 학습 결과만 서버에 공유

하지만 이렇게 가중치만 공유를 한다고 해도 프라이버시 유출이 가능하다.

학습이 입력과 가중치의 곱에 활성함수를 계속해서 적용하는 과정의 반복이다.

문제는 여기에 대한 함수가 one way function이 아닌경우가 많아서 데이터 복구가 가능할 수도 있다.

Gradient Inversion Attack => 더미 데이터로부터 가중치가 나오는데 가중치의 차이를 보면서 지속적으로 계속 나의 가중치가 다른 사람의 가중치 처럼 나오도록 input을 바꾸어가는 형태가 가능하다.

이런 공격을 방지하고자 fedarated Learning을 수행.

이에 따라 가중치에서도 노이즈를 포함하게 된다.

각각의 노이즈를 포함하여 AI서버에 공유를 하되.

AI서버에서 가중치를 합산했을 때는 노이즈가 제거되도록 함.

 

랜덤 노이즈는 사전에 디피헬만 키 공유 프로토콜을 사용하여 생성된다.

*디피헬만 키 공유란? => mod 연산에서 값이 클때의 복잡성을 이용하여 공유 시크릿을 만드는 것.

문제는 키 개수가 많아지면 통신 비용이 증가하고 만약 누락이 있을 경우에는 랜덤 노이즈가 제대로 안될 수도 있다.

이에 따라 누락되는 케이스에 대한 설계가 필요하다. => 이에 따라서 MPC를 사용하여 해결한다.

 

정리 - 연합학습의 한계점

연합학습은 유저가 AI를 학습하고 서버에 학습을 공유하는것.

연산 비용이 높기 때문에 유저 디바이스의 GPU 리소스 필요

AI 학습, 비밀 공유, MPC 수행등이 모두 필요

커뮤니케이션을 계속하다보니 모델 업데이트 중 지연 발생 가능

데이터의 양이나 유저 데이터의 종류가 다를 수도 있다.

데이터 분포 차이 -> 일반화 또는 성능 영향

데이터 불균형 => 오버피팅 초래

유저가 제대로 학습을 수행했는가에 대한 검증은 어렵다. 이를 위한 검증을 위해서는 서버가 직접 검증을 할 수 밖에 없다.

신뢰도 문제가 있을 수 잏다.

=> 성능차이가 결국은 중앙화 서버에서의 성능이 더 좋다.

그렇다면 유저에게 학습을 맡기는 것이 아니라 직접적으로 보존할 수는 없을까?

 

방안 -
1. Differential Privacy => 쿼리 결과에 노이즈를 주는 것. 노이즈를 많이 끼면 프라이버시는 높아지지만 데이터의 정확성은 떨어진다.

*평균이라고 치면 어떤 데이터는 빼주고 더해주는 형태로 노이즈를 끼는데 데이터의 평균 값은 그대로 나오지만 각각의 데이터는 노이즈가 낀 형태가 되는 것.

DB에 결과를 요청했을 때 평균 값을 내주는 출력 값이 동일한 결과를 보여주면 안되냐?

DB에 특정한 데이터를 추가하더라도 동일한 출력이 있으면 괜찮지 않은가?

DB를 2개에 요청했을 때 같은 output이 있다면 차이가 없는 것이다.

같은 질문을 해서 데이터베이스의 차이를 보고 차이를 계산

질문을 할 때도 진짜 질문이 아니라 가짜 질문을 보냄.

 

Encryption VS Differential privacy

공격자가 암호화를 맘대로 할 수 있는 상황에서도

임의의 암호문은 찍는것 이상의 확률을 낼 수 없을 때 안전하다고 한다.

 

=> 동형 암호화

암호화 끼리 연산을 한 후에 복호화를 하는것.

암호문들을 가지고 신경망을 수행할 때 입력에 대한 암호화를 진행하고 암호문 * 상수 값(가중치)

 

 

728x90
반응형
Comments