머신 러닝에서 데이터 유출이란 무엇인가요?

작성자

Tim Mucci

IBM Writer

Gather

머신 러닝에서 데이터 유출이란 무엇인가요?

머신 러닝의 데이터 유출은 모델이 학습할 때 예측 시점에 사용할 수 없는 정보를 사용할 때 발생합니다. 유출이 발생하면 예측 모델은 사용 사례에 배포될 때까지 정확하게 보이다가 부정확한 결과가 나오면서 의사 결정과 잘못된 인사이트를 초래할 수 있습니다.

예측 모델링의 목표는 모델 훈련 중에 사용할 수 없는 실제 미래 데이터에 대해 정확한 예측을 할 수 있는 머신 러닝 모델을 만드는 것입니다. 부정확한 결과를 방지하려면 학습된 것과 동일한 데이터에서 모델을 평가해서는 안 됩니다. 따라서 데이터 과학자는 일반적으로 사용 가능한 데이터를 두 개의 세트로 나눕니다. 하나는 모델을 훈련시키기 위한 것이고, 다른 하나는 모델이 보이지 않는 데이터에서 얼마나 잘 수행되는지 확인하기 위한 것입니다.

전문가가 전하는 최신 AI 트렌드

가장 중요하고 흥미로운 AI 뉴스에 대한 선별된 인사이트를 확인하세요. 주간 Think 뉴스레터를 구독하세요. IBM 개인정보 보호정책을 참조하세요.

감사합니다! 구독이 완료되었습니다.

구독은 영어로 제공됩니다. 모든 뉴스레터에는 구독 취소 링크가 있습니다. 여기에서 구독을 관리하거나 취소할 수 있습니다. 자세한 정보는 IBM 개인정보 보호정책을 참조하세요.

데이터 유출의 예 및 유형

데이터 유출은 학습 데이터 세트 외부의 데이터를 사용하여 모델을 생성할 때 발생하지만, 모델이 예측에 사용될 때는 이 미래 데이터를 사용할 수 없습니다. 이 모델은 테스트 및 검증에서 좋은 성능을 보이지만, 프로덕션에서 사용하면 완전히 부정확해집니다.

유출에는 대상 유출과 학습-테스트 오염의 두 가지 유형이 있습니다.

대상 유출: 모델에는 모델을 사용하여 예측할 때 사용할 수 없는 데이터가 포함됩니다.

실제 예측 중에 사용할 수 없는 정보를 사용하면 모델이 훈련 및 검증 데이터에서는 매우 우수한 성능을 보이지만, 프로덕션에서는 성능이 좋지 않은 과적합이 발생합니다.

학습-테스트 오염: 학습 데이터와 검증 데이터가 모두 모델을 생성하는 데 사용되는 경우, 종종 부적절한 분할이나 전처리로 인해 발생합니다.

대상 유출 예시

예를 들어, 신용카드 사기를 예측하기 위해 만들어진 모델을 상상해 보세요. 이 문제는 모델이 불완전한 데이터를 기반으로 신뢰할 수 있는 미래 예측을 해야 하는 에측 애플리케이션에서 우려를 일으킵니다. 원시 데이터 세트에는 고객, 거래 금액, 위치, 사기 탐지 여부 및 지불 거절 접수 여부에 대한 정보가 포함됩니다.

모델을 훈련할 때 사기 탐지 및 지불 거절 열에 true 또는 false 값이 입력됩니다. 현실 세계에서 지불 거절은 일반적으로 사기가 감지된 후에 시작되므로 감지 시점에는 이 정보를 사용할 수 없습니다.

이 정보로 모델을 학습시키면 지불 거절이 있는 거래는 거의 항상 사기라는 티칭이 이루어집니다. 검증 중에 학습에서 사기와 지불 거절 간의 관계가 강하기 때문에 모델은 높은 정확도를 나타냅니다. 그러나 배치 시 지불 거절 정보를 사용할 수 없으며, 모델은 실제로 성과가 떨어집니다.

학습-테스트 오염 예시

데이터 과학자가 주택 크기, 침실 수 및 이웃과 같은 기능을 기반으로 주택 가격을 예측하는 모델을 구축한다고 상상해 보세요. 숫자 특징(예: 주택 크기 및 연식)을 표준화하여 모두 동일한 규모를 갖도록 하는 것은 일반적인 전처리 단계이며, 이는 많은 머신 러닝 알고리즘에 유용합니다.

그러나 데이터 과학자가 전체 데이터 세트를 학습 데이터와 테스트 데이터로 나누기 전에 표준화를 적용한다고 가정해 보겠습니다. 이 경우 모델은 훈련 중에 테스트 세트의 정보를 간접적으로 "보게" 됩니다. 결과적으로 테스트 세트의 정보가 전처리 단계에서 사용되었기 때문에 테스트 데이터에 대한 모델의 성능이 인위적으로 부풀려진 것처럼 보일 수 있습니다. 이렇게 하면 모델이 테스트 세트에서 더 쉽게 잘 수행되지만 잠재적으로 보이지 않는 새로운 데이터로 일반화하는 기능은 떨어질 수 있습니다.

확장, 대치 또는 특징 선택과 같은 전처리 단계는 분할하기 전에 전체 데이터 세트에 맞추는 것이 아니라 학습 데이터에만 맞춘 다음 검증 세트에 적용해야 합니다. 확장 또는 정규화와 같은 트랜스포머를 잘못 적용하면 특히 신경망 모델에서 학습-테스트 오염이 발생할 수 있습니다. 이처럼 부적절하게 실행된 전처리 단계가 전체 데이터 세트에 대해 수행되면 예측이 편향되고 모델 성능을 제대로 파악하지 못하게 됩니다.

AI 아카데미

고객 서비스에 AI 활용

생성형 AI를 활용하여 더 원활한 경험으로 고객을 만족시키고 셀프 서비스, 인간 상담원, 컨택 센터 운영이라는 세 가지 핵심 영역에서 조직의 생산성을 높이는 방법을 알아보세요.

데이터 유출 원인

데이터 유출은 많은 시간과 수백만 달러의 비용을 잡아먹는 실수가 될 수 있으며, 머신 러닝의 유출은 다양한 요인으로 인해 발생합니다. 몇 가지 일반적인 원인은 다음과 같습니다.

미래 정보 포함: 실제 시나리오에서 예측 시점에 사용할 수 없는 정보를 사용하는 경우.

부적절한 기능 선택: 대상과 상관 관계가 있지만 인과 관계가 없는 기능 선택. 그러면 모델이 실제 예측에서는 액세스할 수 없는 정보를 활용하는 방법을 학습합니다.

외부 데이터 오염: 외부 데이터 세트를 훈련 데이터와 병합하면 외부 데이터에는 대상 변수에 대한 직간접적 정보가 포함될 수 있으므로 편향된 또는 부정확한 예측이 발생할 수 있습니다.

데이터 전처리 오류: 데이터를 학습 및 검증 세트로 나누기 전에 크기를 조정하거나 전체 데이터 세트의 정보를 이용하여 누락된 값을 채우면 잘못된 데이터 분할이 발생합니다. 이는 광범위한 전처리가 필요한 딥 러닝 모델에서 특히 문제가 될 수 있으므로 학습 데이터와 테스트 데이터가 혼합되지 않도록 하는 것이 중요합니다.

잘못된 교차 검증: 데이터 세트에 교차 검증을 수행할 때 미래의 데이터 포인트가 포함되면 모델은 접근해서는 안 될 정보에 접근하게 되어 지나치게 낙관적인 평가가 도출됩니다.

정규화: 특징 크기 조정 또는 정규화와 같은 데이터 변환을 학습 데이터와 테스트 데이터에 별도로 적용하는 것이 아니라 함께 잘못 적용하면 데이터 유출이 발생합니다.

검증 및 프로세스 변경 유출: 검증 수행 방법을 변경하면 학습 세트에 새로운 정보가 허용되어 유출이 발생할 수 있습니다. 모델을 조정한 후 교차 검증을 다시 실행하거나 데이터를 다시 분할하여 프로세스를 중간에 조정하면 실수로 학습 프로세스에 정보가 유출될 수 있습니다.

데이터 유출이 머신 러닝 모델에 미치는 영향

데이터 유출은 예측 모델링을 위한 머신 러닝 알고리즘을 훈련할 때 흔히 만나게 되는 함정입니다. 국립의학도서관의 연구1에 따르면, 머신 러닝 방법이 적용된 17개 과학 분야에서 최소 294개의 과학 논문이 데이터 유출의 영향을 받아 성능이 지나치게 낙관적인 것으로 나타났습니다.

예일대학교의 연구2에 따르면, 데이터 유출은 유출된 정보가 노이즈를 발생시키거나 비현실적인 패턴을 생성하는지에 여부에 따라 신경 영상 기반 모델의 성능 지표를 늘리거나 줄일 수 있는 것으로 나타났습니다. 이러한 모델은 질병을 진단하여 치료법을 식별하고 신경과학자가 뇌와 신체 사이의 관계를 더 잘 이해하는 데 사용됩니다.

머신 러닝 모델의 데이터 유출은 다양한 분야와 데이터 유형에 걸쳐 다양한 영향을 미칠 수 있으며, 가장 일반적인 영향은 다음과 같습니다.

새 데이터에 대한 불량한 일반화: 현실을 나타내지 않는 정보로 모델을 학습하면 모델이 보이지 않는 데이터로 일반화하는 데 어려움을 겪습니다. 새로운 데이터에 대한 예측은 부정확하고 신뢰성이 떨어질 수 있습니다.

편향된 의사 결정: 유출된 데이터의 편향으로 인해 모델 동작이 왜곡되어 불공정하고 현실 세계의 상황과 동떨어진 의사 결정을 내리게 될 위험이 있습니다.

신뢰할 수 없는 통찰력 및 결과: 데이터 유출은 모델에서 파생된 통찰력의 신뢰성을 손상시켜 사용자가 결과를 불신하게 만듭니다.

과장된 성능 지표: 머신 러닝 모델의 유출로 인해 모델이 높은 정확도와 정밀도를 잘못 나타내는 경우가 많습니다.

리소스 낭비: 모델을 훈련한 후 데이터 유출을 찾아 수정하려면 시간과 비용이 많이 듭니다. 데이터 유출을 수정하려면 계산 비용이 많이 드는 모델을 처음부터 다시 학습시키고, 데이터 전처리부터 재학습까지 전체 모델 파이프라인을 재작업해야 합니다. 이는 인적 노력과 계산 비용 측면에서 리소스 집약적일 수 있습니다.

신뢰 상실: 신뢰할 수 없는 모델은 결국 데이터 과학 팀과 전체 분석 프로세스에 대한 불신으로 이어집니다.

법률 및 규정 준수 위험: 예측 분석에서 데이터가 유출되면 법률 및 규제 위험이 발생할 수 있습니다. 민감한 정보가 오용되면 처벌 및 평판 손상이 발생할 수 있습니다.

머신 러닝에서 데이터 유출 감지

데이터 유출을 감지하려면 조직은 모델이 어떻게 준비되고 처리되는지 알고 있어야 하며, 머신 러닝 모델의 무결성을 검증하기 위한 엄격한 전략이 필요합니다. 다음은 모델 구축 및 데이터 유출 감지와 관련하여 염두에 두어야 할 몇 가지 모범 사례입니다.

준비: 데이터를 적절하게 분할하고 전처리 단계는 학습 데이터 세트에만 적용해야 합니다. 모든 기능을 검토하여 예측 중에 미래 또는 사용할 수 없는 정보를 나타내지 않는지 확인합니다.

검색: 모델이 학습된 후 유출을 나타낼 수 있는 의심스러운 패턴을 조사합니다. 특징 중요도 및 모델 동작을 검토하여 비현실적인 관계를 감지합니다.

테스트: 실제 데이터로 제한된 모델을 테스트합니다. 실제 시나리오에서 성능을 모니터링합니다. 성능이 크게 떨어지면 학습 중에 유출이 발생했을 수 있습니다.

다음은 유출을 감지할 수 있는 몇 가지 일반적인 위험 신호입니다.

비정상적으로 높은 성능: 모델이 특히 검증 데이터에서 예상보다 상당히 높은 정확도, 정밀도 또는 재현율을 보이는 경우, 데이터 유출이 발생했을 수 있습니다.

훈련 및 테스트 성능 간의 불일치: 훈련 세트와 테스트 세트의 성능 간에 큰 차이가 있다면 유출로 인해 모델이 과적합되었을 수 있다는 신호입니다.

일관성 없는 교차 검증 결과: 교차 검증 폴드에 따른 성능이 크게 다르거나 비정상적으로 높은 경우, 학습-테스트 유출이나 부적절한 분할이 원인일 수 있습니다.

예기치 않은 모델 동작: 모델이 논리적으로 의미가 없는 기능에 크게 의존하는 경우 유출이 발생했을 수 있습니다.

적절한 평가 기법

다양한 방법으로 데이터 유출을 최소화할 수 있으며, 모델 무결성을 보호하기 위해 여러 도구가 사용됩니다. 교차 검증, 특히 시계열 또는 계층화된 k-fold는 모델을 올바르게 평가하고 잠재적인 유출을 강조 표시하는 데 도움이 됩니다. LLM(대규모 언어 모델)에서 추론 중 나중에 접할 수 있는 데이터를 사용하여 모델을 학습시키는 일을 피하려면 교차 검증과 엄격한 데이터 처리가 필수적입니다. 이로 인해 새로운 입력에 응답하는 능력이 저하될 수 있습니다. 학습 중 손대지 않은 별도의 홀드아웃 세트를 사용하면 유출에 대한 보호가 강화됩니다.

특징 중요도는 모델이 예측 중에 사용할 수 없는 데이터에 의존하는지 여부를 보여줄 수 있습니다. 데이터 시각화 및 모델 예측은 유출을 나타내는 패턴이나 이상 현상을 노출할 수 있습니다. 또한 도메인 전문가는 모델을 면밀히 조사하여 모델이 비현실적이거나 사용할 수 없는 데이터를 사용하고 있는지 식별함으로써 문제가 있는 특징을 발견하할 수 있도록 도와야 합니다.

머신 러닝에서 데이터 유출 방지

조직은 데이터 유출을 방지하기 위해 신중한 데이터 처리와 체계적인 평가에 참여해야 합니다. 다음은 몇 가지 필수 관행입니다.

데이터 전처리: 데이터 집합 간 정보 유출을 방지하기 위해 학습 및 테스트 집합에 대해 별도로 확장이나 누락된 값 입력과 같은 전처리 단계를 적용합니다. 학습 및 테스트 세트에 대해 확장, 인코딩 및 대치와 같은 전처리를 별도로 수행하고 가능한 경우 파이프라인을 자동화합니다.

적절한 데이터 분할: 학습 세트와 테스트 세트를 올바르게 분할합니다. 신중하게 계획된 학습/테스트 분할은 테스트 세트의 정보가 학습 단계로 유출되지 않도록 보호합니다. 시간 종속 데이터의 경우 향후 데이터가 학습 프로세스에 유입되지 않도록 시간순으로 분할합니다. 유출을 확인하려면 실제 데이터를 대표하는 학습 중에 사용되지 않는 별도의 고유한 검증 세트를 유지 관리합니다.

교차 검증: k-fold 교차 검증을 사용하여 데이터의 여러 하위 집합에서 모델을 테스트하면 잠재적인 유출을 포착하고 일반화를 개선하는 데 도움이 됩니다.

특징 엔지니어링: 향후 데이터를 도입하는 특징을 만들지 마세요. 파생된 특징을 검토하여 예측 시간에 사용할 수 있는 특징만 반영하는지 확인하세요. 특징 관련성을 정기적으로 평가하여 적절한지 확인하고 예측 시 사용할 수 없는 정보를 도입하지 마세요.

시간 기반 검증: 시계열 데이터의 경우 시간 기반 검증을 사용하여 실제 성능을 모방하세요. 이를 통해 과거 데이터를 사용하여 미래 결과를 예측하고 향후 데이터 유출을 방지할 수 있습니다. 학습 중 향후 데이터로부터의 유출을 방지하기 위해 롤링 윈도우 검증 또는 워크포워드 검증과 같은 방법을 사용하여 시계열 데이터를 주의해서 처리하세요.

정기적인 모델 평가: 학습 및 테스트 중에 성능을 지속적으로 모니터링하여 유출을 나타내는 예상치 못한 변화를 감지해야 합니다.

데이터 손실 방지를 위한 데이터 유출

데이터 유출의 또 다른 정의는 머신 러닝과는 관련이 없으며, 데이터 보안 관점에서 의도하지 않은 데이터 노출을 의미합니다. 데이터 손실 방지(DLP)의 데이터 유출은 민감한 정보가 의도치 않게 승인받지 않은 당사자에게 노출될 때 발생합니다. 예를 들어, 잘못 구성된 클라우드 스토리지 서버를 사용하면 개인 식별 정보(PII) 및 영업 비밀에 쉽게 액세스할 수 있습니다.

데이터 유출의 가장 일반적인 매개체는 직원이 노트북을 분실하거나 이메일 및 메시징 플랫폼을 통해 민감한 정보를 공유하는 것과 같은 인적 오류에서 비롯됩니다. 해커는 노출된 데이터를 사용하여 신원 도용을 저지르거나 신용카드 정보를 훔치거나 다크 웹에서 데이터를 판매할 수 있습니다.

관련 솔루션
IBM watsonx.ai

AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.

watsonx.ai에 대해 알아보기
인공 지능 솔루션

업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.

AI 솔루션 살펴보기
AI 컨설팅 및 서비스

AI 추가를 통해 중요한 워크플로와 운영을 혁신함으로써 경험, 실시간 의사 결정 및 비즈니스 가치를 극대화합니다.

AI 서비스 살펴보기
다음 단계 안내

AI 개발 라이프사이클 전반에 걸친 기능에 원스톱으로 액세스하세요. 사용자 친화적인 인터페이스, 워크플로, 업계 표준 API 및 SDK에 대한 액세스를 통해 강력한 AI 솔루션을 제작할 수 있습니다.

watsonx.ai 살펴보기 라이브 데모 예약하기