AI 시스템 구축: 기술
ㅁ 기술
1. Federated Learning
ㅇ 정의:
– 데이터가 각 클라이언트(디바이스, 기관)에 분산되어 있는 상태에서 원본 데이터를 중앙 서버로 모으지 않고, 각 클라이언트에서 학습한 모델 파라미터(가중치)만 중앙 서버로 전송하여 통합 학습하는 방식.
ㅇ 특징:
– 데이터 프라이버시 보호 강화.
– 통신량은 모델 파라미터 전송에 한정.
– 중앙 서버에서 모델 집계(Aggregation) 수행.
– 클라이언트 간 데이터 분포가 상이(Non-IID)할 경우 성능 저하 가능.
ㅇ 적합한 경우:
– 개인정보 보호가 중요한 의료, 금융 데이터 학습.
– 네트워크 대역폭이 제한된 환경에서의 분산 학습.
ㅇ 시험 함정:
– 데이터가 중앙 서버에 모이지 않는다는 점을 ‘데이터가 전혀 이동하지 않는다’로 오해하면 안 됨(모델 파라미터는 이동).
– 연합 학습과 단순 분산 학습을 혼동.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “연합 학습은 원본 데이터를 공유하지 않고 모델 파라미터만 중앙 서버로 전송한다.”
– X: “연합 학습에서는 데이터와 모델 파라미터 모두 중앙 서버로 전송한다.”
1.1 FedAvg (Federated Averaging)
ㅇ 정의:
– 각 클라이언트에서 학습된 모델의 가중치를 평균하여 중앙 서버에서 통합하는 알고리즘.
ㅇ 특징:
– 구현이 간단하고 효율적.
– 데이터 양이나 품질에 따라 가중 평균 가능.
ㅇ 적합한 경우:
– 클라이언트 간 데이터 크기가 유사하거나, 단순 평균으로도 성능이 유지되는 경우.
ㅇ 시험 함정:
– 단순 평균과 가중 평균의 차이를 혼동.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “FedAvg는 각 클라이언트 모델 가중치의 평균을 취해 통합한다.”
– X: “FedAvg는 데이터 샘플을 중앙 서버로 모아 학습한다.”
================================
2. Split Learning
ㅇ 정의:
– 모델을 여러 부분으로 분할하여, 앞부분은 클라이언트에서, 뒷부분은 서버에서 학습하는 방식.
ㅇ 특징:
– 클라이언트는 중간 활성화 값(Intermediate Activation)만 서버로 전송.
– 데이터 프라이버시 보호 가능.
– 서버와 클라이언트 간 실시간 통신 필요.
ㅇ 적합한 경우:
– 클라이언트의 연산 능력이 제한적이지만 데이터 보안이 중요한 경우.
ㅇ 시험 함정:
– Split Learning이 반드시 Federated Learning보다 통신량이 적은 것은 아님.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “Split Learning은 모델을 분할하여 일부는 클라이언트, 일부는 서버에서 학습한다.”
– X: “Split Learning은 클라이언트가 전체 모델을 학습하고 서버는 결과만 받는다.”
================================
3. Federated Analytics
ㅇ 정의:
– 원본 데이터를 중앙 서버로 전송하지 않고, 분산된 데이터에서 통계 분석이나 집계 작업을 수행하는 기술.
ㅇ 특징:
– 데이터 프라이버시 보호.
– 모델 학습이 아닌 데이터 분석에 초점.
– 집계 결과만 중앙 서버에 전달.
ㅇ 적합한 경우:
– 개인정보 보호가 필요한 환경에서 통계 분석.
ㅇ 시험 함정:
– Federated Learning과 혼동(분석 vs 학습의 차이).
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “Federated Analytics는 분산된 데이터에서 통계나 집계를 수행한다.”
– X: “Federated Analytics는 모델 학습을 위해 데이터와 파라미터를 모두 전송한다.”
================================
4. Homomorphic Encryption
ㅇ 정의:
– 암호화된 상태에서 연산이 가능하도록 하는 암호 기술.
ㅇ 특징:
– 암호 해제 없이 데이터 연산 가능.
– 연합 학습, 프라이버시 보호 분석에서 활용.
– 연산 속도가 느리고 계산 비용이 높음.
ㅇ 적합한 경우:
– 민감 데이터의 보안 연산.
– 클라우드 환경에서 데이터 노출 없이 처리.
ㅇ 시험 함정:
– 암호화된 데이터는 연산 불가능하다고 단정짓는 오류.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “동형암호는 암호화된 데이터에 대해 연산을 수행할 수 있다.”
– X: “동형암호는 반드시 복호화 후에만 연산이 가능하다.”
ㅁ 추가 학습 내용
추가 학습 정리
1. Federated Learning 변형 기법과 Non-IID 데이터 처리 전략
– FedProx: 클라이언트별 데이터 분포 차이를 완화하기 위해 손실 함수에 정규화 항을 추가하여 로컬 업데이트 편차를 줄이는 방법.
– FedNova: 클라이언트별 학습 속도와 데이터량 불균형을 보정하여 전역 모델 업데이트의 편향을 줄이는 방법.
– Non-IID 데이터 처리 전략: 데이터 샘플링 재조정, 클러스터 기반 학습, 데이터 증강, 지식 증류를 통한 전역 모델 보정 등이 있음.
2. Split Learning 보안 취약점과 방지 기법
– 취약점: 중간 활성화 값(intermediate activation)으로부터 원본 입력 데이터가 역추론될 가능성이 있음.
– 방지 기법: 중간 계층에 노이즈 추가, 암호화된 전송, 중간 표현 난독화, 차등 프라이버시 적용, 랜덤 드롭아웃 적용 등이 있음.
3. Federated Analytics에서 차등 프라이버시 적용 사례
– 사용자별 데이터 분석 시, 집계 결과에 노이즈를 주입하여 개별 정보 노출을 방지.
– 예: 모바일 사용 패턴 분석, 추천 시스템 개선, 서비스 품질 모니터링에서 개인 데이터 보호를 위해 사용.
4. Homomorphic Encryption 종류와 성능 차이
– 부분 동형암호(Partially Homomorphic Encryption, PHE): 덧셈 또는 곱셈 중 하나만 암호 상태에서 연산 가능. 연산 속도가 빠르지만 기능 제한.
– 전방위 동형암호(Fully Homomorphic Encryption, FHE): 덧셈과 곱셈 모두 암호 상태에서 가능. 기능은 완전하지만 연산량이 많아 속도가 느림.
5. 연합 학습, 분산 학습, 중앙 집중 학습 비교 표
연합 학습: 데이터는 로컬에 두고 모델 파라미터만 교환. 데이터 프라이버시 보호에 유리. 통신 비용이 크고 Non-IID 데이터 처리 필요.
분산 학습: 데이터가 여러 서버에 분할 저장되지만 중앙 서버 또는 동기화 메커니즘으로 학습. 네트워크 환경과 동기화 지연이 성능에 영향.
중앙 집중 학습: 모든 데이터를 중앙 서버에 모아 학습. 구현이 단순하고 성능 최적화 용이하지만 프라이버시와 보안 위험이 큼.
6. 실제 산업 적용 사례와 시험 응용 시나리오
– 구글 키보드(Gboard) 제안 기능: 사용자의 입력 데이터를 로컬에서 학습하고, 모델 업데이트만 서버로 전송하여 예측 정확도 개선.
– 병원 간 의료 데이터 분석: 환자 데이터는 병원 내부에 보관하고, 모델 파라미터만 공유하여 공동 연구 및 진단 모델 개발.
– 시험 응용 시나리오: 개인정보 보호가 중요한 환경에서의 AI 모델 학습, 통신 제약 환경에서의 모델 업데이트, 서로 다른 기관 간 협력 학습 구조 설계.