Developer/IT 도서

머신러닝 리스크 관리 with 파이썬

cepiloth 2024. 6. 22. 18:40
728x90
반응형

책 소개


 머신러닝을 공부를 하거나 실제 직종에 있는 사람들에게는 필독서라고 생각이 듭니다. 모델을 만들면서 느꼈던 데이터 수집 및 정제, 모델에 리스크를 어떻게 해결할 것인지 이책에서는 모델의 위험관리와 보안 등 신뢰할 수 있는 안전한 머신러닝을 개발하기 위한 방법을 알 수 있습니다.

주요 내용


CHAPTER 1: 현대의 머신러닝 위험관리

이 장에서는 새로운 기술인 인공지능과 머신러닝에 따르는 위험을 강조합니다. 인공지능 사고는 실제로 발생하며, 2016년 테이 챗봇 사건과 같이 예기치 않은 결과를 초래할 수 있습니다. 인공지능이 편리함을 제공하는 동시에 잠재적인 위험과 리스크를 동반한다는 점을 지적하며, 이러한 기술의 발전에 대한 신중한 접근이 필요함을 강조합니다.

CHAPTER 2: 해석 및 설명 가능한 머신러닝

  • 설명 가능한 모델의 필요성 - 기존의 복잡한 머신러닝 모델은 결정 과정과 예측 결과를 이해하기 어렵기 때문에, 이러한 모델의 투명성을 높이기 위해 설명 가능한 모델이 필요합니다.
  • 사후 설명 기법 - Tree SHAP 값과 같은 사후 설명 기법을 사용하여 모델의 복잡한 상호작용을 해석하고 설명할 수 있습니다. 이러한 기법은 모델의 투명성을 높이는 데 기여합니다.
  • 고용량 모델의 설명 가능성 - 고용량 모델은 많은 데이터를 학습하여 성능을 높일 수 있지만, 설명하기 어려운 경우가 많습니다. 따라서 이러한 모델을 이해하고 해석할 수 있는 기법의 중요성이 강조됩니다.
  • 간단한 모델의 장점 - 복잡한 모델을 설명하기 어려운 반면, 간단한 모델은 해석이 용이하고 확실하기 때문에 설명 가능성 측면에서 유리합니다.
  • 확증 편향 방지 - 과학적 방법과 투명성, 검증, 재현성 등 이미 검증된 과학적 원칙을 따르는 것이 확증 편향을 피하는 유일한 방법임을 강조합니다.

CHAPTER 3: 안전성과 성능을 높이는 머신러닝 시스템 디버깅

 안전한 머신러닝 시스템을 구축하고 운영하기 위한 다양한 전략과 대응 방안을 제시하며, 시스템의 안전성을 보장하기 위해 필요한 요소들을 강조합니다.

  • 과거의 실패한 설계 피하기 - 이전에 실패한 사례를 연구하고, 유사한 실패를 반복하지 않도록 설계 및 운영 시 주의해야 합니다.
  • 사고대응 계획 - 안전사고(safety incident)가 발생했을 때 어떻게 대응해야 하는지에 대한 계획을 마련해야 합니다.
  • 도메인 내 테스트 - 데이터 과학적 테스트 데이터 평가와 시뮬레이션, 디버깅만으로는 안전성을 보장할 수 없습니다. 도메인 전문가와 협력하여 실제 조건에서 시스템을 테스트해야 합니다.
  • 킬 스위치 - 모니터링 결과에서 위험한 조건을 발견하면 시스템을 원격으로 신속하게 종료할 수 있는 킬 스위치를 마련해야 합니다.
  • 수동 예측 제한 - 시스템 작동 제한을 적절한 경우 운영자가 설정할 수 있도록 해야 합니다.
  • 실시간 모니터링 - 시스템이 위험한 상태에 진입하면 사람에게 경고하고, 동시에 킬 스위치나 이중화 기능을 자동으로 실행하여 대응해야 합니다.
  • 이중화 - 시스템의 안전이나 필수 업무 수행을 위한 기능을 이중화하여, 사고 발생 시에도 안정적으로 운영될 수 있도록 준비해야 합니다.

CHAPTER 4: 머신러닝 편향관리

 머신러닝 시스템에서 발생할 수 있는 편향 문제와 이를 해결하기 위한 기술적, 사회적 접근 방안을 다룹니다. 또한, 사용자와 시스템의 상호작용을 통해 편향을 완화하는 방법을 설명하며, 트위터 이미지 자르기 알고리즘 사례를 통해 구체적인 예를 제시합니다.

https://www.aitimes.com/news/articleView.html?idxno=132361

 

트위터, 이미지 크롭 알고리즘 인종 편향성 논란 사과 - AI타임스

트위터가 이미지 크롭 알고리즘의 인종 편향성 논란에 대해 사과했다.트위터는 자사 자동 이미지 크롭 알고리즘이 흑인보다 백인 사진을 더 선호해 인종 차별을 조장한다는 사용자 지적이 나오

www.aitimes.com

 

CHAPTER 5: 머신러닝 보안

 데이터 프라이버시의 중요성과 이를 보호하기 위한 다양한 규정 및 정책을 심도 있게 다루고 있다. 데이터 프라이버시는 개인의 프라이버시 보호를 위해 필수적이며, 각 국가에서는 서로 다른 방식으로 이를 적용하고 있다. 특히 GDPR과 같은 법적 근거가 데이터 프라이버시를 위한 규정을 제공하며, 이를 준수하는 것이 중요하다. 개인식별정보(PII)의 보호를 위해 익명화 처리가 필요하며, 생체인식 데이터는 특별한 보호가 필요하다. 또한, 법적 요구사항에 따라 데이터의 보유 기간과 보호 조치를 준수해야 한다는 점을 강조한다. 마지막으로, 소비자는 데이터 삭제 및 수정 권리를 가지며, 데이터 처리에 대한 명확한 설명이 중요함을 강조한다. 데이터 프라이버시에 관한 전반적인 이해를 높이며, 실제 사례와 법적 규정을 통해 실질적인 도움을 제공한다.

CHAPTER 6: 설명 가능한 부스팅 머신과 XGBoost 설명

 머신러닝의 투명성을 높이기 위해 상호작용이 높은 모델과 XGBoost를 비교하고 분석하며, 입력 변수 간의 상호작용이 예측 성능에 미치는 영향을 평가하고, 이러한 분석을 통해 모델 기록 문서의 중요성과 투명한 모델 개발의 필요성을 강조한다.

CHAPTER 7: 파이토치 이미지 분류기

 모델을 전이학습 및 미세조정을 하는 방법과 설명 가능성을 높이기 위해 사후 설명 기법을 사용하며, 특히 강건한 모델 기반 설명 가능성을 강조한다. 설명 가능한 딥러닝 모델의 발전을 통해 데이터 및 모델링 전문 지식의 필요성이 커지고, 인공지능 시스템 개발 시 도메인 지식의 중요성을 강조한다.

CHAPTER 8: XGBoost 모델 선택 및 디버깅

 XGBoost 모델을 선택하는 이유와 그 중요성에 대해 깊이 있게 다루고 있다. 저자는 모델의 성능과 안정성을 극대화하기 위해 XGBoost 모델을 추천하며, 이를 통해 발생할 수 있는 다양한 버그를 사전에 식별하고 수정하는 과정의 중요성을 강조한다. 특히, 도메인 전문가와의 협업을 통해 모델을 지속적으로 모니터링하고 유지보수하는 것이 필수적이라는 점을 강조한다. 또한, 모델을 실제 배포한 후에도 꾸준한 모니터링을 통해 문제를 해결하는 것이 성공적인 머신러닝 프로젝트의 핵심이라고 설명한다.

CHAPTER 9: 파이토치 이미지 분류기 디버깅

파이토치를 이용한 이미지 분류기 디버깅을 할때 데이터 정제 및 훈련, 증강에서 나타날 수 있는 위험성에 대해 다룹니다.

  • 도메인 전문가의 중요성 - 딥러닝 워크플로의 초기 단계에서 개발 데이터셋의 기준값을 검증할 때 도메인 전문가의 참여가 필수적입니다. 이는 데이터의 정확성과 관련성을 확보하기 위해서 매우 중요합니다.
  • 데이터 증강의 위험성 - 데이터 증강은 모델의 성능을 향상시키기 위해 자주 사용되지만, 잘못 사용될 경우 데이터 유출의 심각한 원인이 될 수 있습니다. 특히, 소아 엑스레이 사진과 같이 민감한 데이터를 다룰 때, 소아와 성인의 차이로 인해 데이터셋의 분포가 달라질 수 있습니다. 이는 잘못된 상관관계를 초래하고, 새로운 데이터에서 모델의 성능이 떨어지는 결과를 낳을 수 있습니다.
  • 의료 이미지 분류기의 어려움 - 의료 이미지 분류기를 훈련하는 일은 매우 어려운 작업입니다. 이는 데이터의 복잡성과 다양성 때문이며, 도메인 전문가의 필요성이 강조됩니다. 전문가의 지식이 없으면, 데이터의 특성과 분포를 정확히 이해하기 어렵습니다.
  • 고위험 프로젝트의 성공 요건 - 고위험 프로젝트를 성공적으로 수행하려면 몇 명의 데이터 과학자만으로는 충분하지 않습니다. 대규모 훈련 데이터와 함께 도메인 전문가의 협력이 필요합니다. 이는 프로젝트의 복잡성과 높은 수준의 전문 지식이 요구되기 때문입니다.

CHAPTER 10: XGBoost를 사용한 편향 테스트 및 개선

"편향을 줄이고 공정한 모델을 선택하는 방법"이라는 주제에 대한 글은 비즈니스 요구사항을 충족하면서도 사회적 책임을 다하는 인공지능 모델을 선택하는 방법을 탐구합니다. 이 글에서는 성능이 뛰어난 모델을 선택할 때, 단순히 기술적 성과만을 고려하는 것이 아니라, 부당한 대우를 받던 모든 집단의 평형을 개선할 수 있는 모델을 선택하는 것이 중요하다고 강조합니다. 또한, 유리했던 집단을 차별하지 않도록 주의해야 한다는 점도 강조합니다.

CHAPTER 11: 레드팀 XGBoost

 머신러닝 모델의 보안과 관련된 여러 가지 개념을 다루고 있습니다. 특히, 모델 디버깅 작업에 레드 팀 기능을 추가하는 방법을 제안하며, 해커가 모델에 어떤 공격을 시도할지 예측하여 효과적인 방어책을 마련하는 것이 중요함을 강조합니다.

 정형 데이터로 훈련된 XGBoost 분류기를 공격하는 예를 통해 일반적인 머신러닝 공격과 방어에 대해 설명합니다. 이와 함께, 표준 접근방식으로 훈련된 모델과 제약조건 및 고차 L2 정칙화를 적용한 모델 두 가지를 소개하며, 이 두 모델을 사용해 공격을 설명하고 투명성과 L2 정칙화의 중요성을 알 수 있습니다.

CHAPTER 12: 고위험 머신러닝에서 성공하는 방법

 마지막 결론 챕터에서는 모델 디버깅과 보안 접근방식을 사용하여 사람들이 신뢰할 수 있는 머신러닝 모델을 만드는 방법을 설명합니다. 기술 자체보다 사람에게 도움이 되는 모델을 만드는 것이 우선되어야 한다고 강조합니다. 과거에는 컴퓨터의 성능이 강조되었지만, 이제는 사람 중심의 접근이 필요하다는 것입니다.

 지난 10년 동안 머신러닝은 사람의 입력 없이도 성공을 거두었지만, 앞으로는 사람과의 상호작용, 위험관리, 법률 준수가 중요한 요소가 될 것이라고 전망합니다. 이를 통해 사람을 위한 이익을 극대화하고 해를 최소화하는 것을 목표로 한다면, 더 많은 성공을 거둘 수 있으며 인간 중심의 윤리적 접근이 머신러닝의 성공에 필수적임을 일깨워줍니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

728x90
반응형