AI 기초

머신러닝이란 무엇인가?

mm
Unite.AI를 Google의 선호 소스에 추가

머신러닝(ML)은 인공지능의 한 분야로, 시스템이 데이터에서 패턴을 학습하여 별도의 규칙을 작성하지 않고도 예측, 분류, 추천 또는 결정을 내릴 수 있게 합니다. 결과는 사람처럼 “생각”하는 기계가 아니라, 입력을 유용한 출력으로 매핑하고 훈련 중에 보지 못한 데이터에 대해 평가할 수 있는 통계 모델입니다.

머신러닝은 AI라는 넓은 분야 안에 속하며, 딥러닝은 다층 신경망을 중심으로 하는 머신러닝 방법들의 집합입니다. 이 구분은 중요합니다: 모든 AI 시스템이 ML을 사용하는 것은 아니며, 모든 ML 문제에 신경망이 필요한 것은 아닙니다.

핵심 요약

  • ML은 손으로 작성된 규칙에만 의존하지 않고 예시로부터 관계를 학습합니다.
  • 유용한 모델은 훈련 데이터만 암기하는 것이 아니라 새로운 데이터에 일반화할 수 있어야 합니다.
  • 지도 학습, 비지도 학습, 반지도 학습, 자체 지도 학습, 강화 학습은 각각 다른 유형의 문제를 해결합니다.
  • 데이터 품질, 평가 설계, 모니터링은 알고리즘만큼 중요합니다.
Diagram showing data moving through training and validation to a machine-learning model that produces predictions on new inputs
머신러닝 워크플로우는 훈련, 평가 및 배포를 구분합니다.

머신러닝 작동 방식

대부분의 ML 프로젝트는 다음과 같은 여섯 단계 순서로 이해할 수 있습니다:

  1. 작업 정의. 시스템이 무엇을 예측하거나 발견해야 하는지, 실제 적용에서 성공이 무엇을 의미하는지 결정합니다.
  2. 데이터 수집 및 준비. 레코드를 정제하고, 누락값을 처리하며, 유용한 특성을 만들고, 데이터 출처를 문서화합니다.
  3. 데이터 분할. 훈련 세트는 모델을 학습하는 데 사용되고, 검증 세트는 설정을 선택하는 데 도움을 주며, 테스트 세트는 미사용 데이터에 대한 최종 추정치를 제공합니다.
  4. 모델 훈련. 알고리즘은 손실 함수를 줄이거나 다른 학습 목표를 만족하도록 모델 파라미터를 조정합니다.
  5. 일반화 평가. 평가지표는 작업, 클래스 균형, 오류 비용 및 모델이 작동할 대상 집단을 반영해야 합니다.
  6. 배포 및 모니터링. 실제 데이터는 변할 수 있으므로 팀은 드리프트, 성능 저하, 편향 및 운영 실패를 감시합니다.

모델에 제공되는 변수는 일반적으로 특성이라고 합니다. 지도 학습에서는 원하는 답을 레이블 또는 타깃이라고 부릅니다. 모델이 학습한 파라미터는 특성과 출력 사이의 관계를 인코딩하며, 명시적인 규칙의 데이터베이스는 아닙니다.

주요 학습 패러다임

지도 학습

지도 학습에서는 예시가 입력과 알려진 타깃을 모두 포함합니다. 분류 모델은 거래가 사기인지 여부와 같은 카테고리를 예측하고, 회귀 모델은 예상 에너지 수요와 같은 연속 값을 예측합니다.

일반적인 지도 학습 알고리즘으로는 결정 트리, 지원 벡터 머신, K-최근접 이웃, 선형 및 로지스틱 회귀, 그래디언트 부스팅 트리, 그리고 신경망이 있습니다. 0.5와 같은 분류 임계값은 모델이 점수나 확률을 산출한 뒤 선택되는 결정이며, 로지스틱 회귀의 불변 속성이 아닙니다.

비지도 학습

비지도 학습은 타깃 레이블이 없는 데이터로 작업합니다. 목표는 클러스터 찾기, 이상 관측치 탐지, 분포 추정, 혹은 저차원 표현 만들기일 수 있습니다. 클러스터는 유사성 규칙에 의해 제안된 그룹이며, 자동으로 의미 있는 실제 클래스가 되는 것은 아닙니다.

예시로는 K-평균 클러스터링, 주성분 분석, 밀도 추정, 그리고 일부 오토인코더 형태가 있습니다. 오토인코더는 압축된 표현을 통해 입력을 재구성하는 방법을 학습합니다. 이는 자동으로 정답 레이블을 생성하지는 않습니다.

반지도 학습 및 자체 지도 학습

반지도 학습은 작은 레이블이 있는 데이터셋과 큰 레이블이 없는 데이터셋을 결합합니다. 자체 지도 학습은 데이터 자체에서 학습 신호를 생성합니다—예를 들어 마스크된 단어를 예측하거나 동일 이미지의 두 변형된 뷰를 매칭하는 방식입니다. 자체 지도는 많은 현대 트랜스포머 및 기반 모델 파이프라인의 핵심이며, 사람의 레이블 없이 대규모 텍스트, 이미지, 오디오, 비디오 컬렉션을 활용할 수 있게 합니다.

강화 학습

강화 학습에서는 에이전트가 환경에서 행동을 취하고 보상이나 비용을 받습니다. 목표는 기대 누적 보상을 최대화하는 정책을 학습하는 것입니다. 이는 모든 상태에 대해 정답 행동이 제공되지 않으며, 행동이 에이전트가 다음에 마주하게 될 데이터에 영향을 줄 수 있다는 점에서 지도 학습과 다릅니다.

훈련, 검증 및 일반화

훈련 예시에서 좋은 성능을 보이는 모델이라도 새로운 데이터에서는 실패할 수 있습니다. 이러한 실패를 과적합이라고 합니다. 팀은 적절한 모델 용량, 정규화, 교차 검증, 데이터 증강, 누수 방지, 그리고 진정으로 독립적인 테스트 세트를 통해 이를 감소시킵니다.

모든 ML 작업에 적용되는 단일 평가지표는 없습니다. 분류에서는 원시 정확도 대신 정밀도, 재현율, F1, 보정 또는 비용 가중 측정이 필요할 수 있습니다. 회귀에서는 평균 절대 오차, 평균 제곱근 오차, 혹은 도메인 특화 손실을 사용할 수 있습니다. 클러스터링은 내부 혹은 외부 검증 평가의 다양한 형태가 필요합니다. 평가지표는 오류가 사용자나 조직에 어떤 의미인지를 반영해야 합니다.

머신러닝 알고리즘은 도구이며, 보증이 아닙니다.

알고리즘은 가정을 내포합니다. 선형 모델은 특정 형태의 관계를 가정하고, K-최근접 이웃은 선택된 거리가 의미 있는 유사성을 나타낸다고 가정합니다. 나이브 베이즈는 특성이 클래스가 주어졌을 때 조건부 독립이라고 가정합니다. 결정 트리는 학습된 분할 규칙을 사용해 특성 공간을 분할하며, 잎 노드는 각각 하나의 관측치가 아니라 훈련 관측치 그룹에 기반한 예측을 포함합니다.

따라서 모델 선택은 데이터 규모, 특성 유형, 지연 요구사항, 해석 가능성 필요성, 그리고 오류 비용에 따라 달라집니다. 데이터가 제한적이거나 운영 제약이 속도와 투명성을 선호할 경우, 더 간단한 모델이 더 큰 모델보다 우수할 수 있습니다.

머신러닝이 사용되는 분야

ML은 검색 순위, 추천, 예측, 이상 탐지, 번역, 음성 인식, 컴퓨터 비전, 예측 유지보수, 사기 탐지 및 과학적 분석을 지원합니다. 동일한 기술이 과거 편향을 증폭시키거나 민감 정보를 노출시키거나, 분포 변화 시 예측 불가능하게 동작할 수도 있습니다. 책임 있는 배포를 위해서는 문서화, 적절한 경우 인간 감독, 보안 테스트 및 지속적인 모니터링이 필요합니다.

문제 정의부터 유효한 머신러닝 실험까지

머신러닝 프로젝트는 알고리즘이 아니라 결정과 측정 가능한 결과로 시작해야 합니다. 예측 단위, 타깃, 관측 시점, 의사결정 시점, 사용 가능한 특성, 그리고 각 오류의 비용을 정의합니다. 예를 들어 이탈 예측 모델에서 취소 후 기록된 이벤트를 사용하면 정답이 유출됩니다. 간단한 규칙이나 통계적 기준선을 설정한 뒤, 배포를 반영하는 시간, 고객, 위치 또는 기타 경계에 따라 데이터를 분할합니다. 무작위 행 분할은 거의 동일한 관측치를 훈련 및 테스트 세트에 배치해 오해를 일으킬 수 있습니다.

특성 엔지니어링은 원시 레코드를 모델이 사용할 수 있는 표현으로 변환하지만, 각 특성은 출처와 가용성 보장이 필요합니다. 정규화, 어휘, 결측값 대체, 차원 축소는 훈련 데이터에만 적용하고, 학습된 변환을 검증 및 테스트 데이터에 적용합니다. 교차 검증은 샘플 간 변동성을 추정하고, 최종 미사용 테스트 세트는 릴리스 결정을 지원합니다. 결과에 따라 평가지표를 선택합니다: 불균형 분류 오류에 대한 정밀도와 재현율, 확률이 행동을 유도할 때의 보정, 오류가 운영에 미치는 영향이 다를 때 비용 또는 효용 가중 측정 등.

배포, 모니터링 및 책임 있는 운영

프로덕션 추론은 훈련 시 수행한 전체 변환을 반복하고, 지연 시간, 처리량 및 가용성 제약 하에 예측을 반환합니다. 전처리를 모델과 함께 패키징하고, 입력 스키마를 검증하며, 아티팩트를 버전 관리하고, 오프라인 구현과 서비스 구현 간 결과를 비교합니다. 기본값인 0.5 대신 운영 용량과 오류 트레이드오프를 고려해 임계값을 선택합니다. 섀도우 평가, 제한된 코호트, 혹은 가드레일 메트릭을 갖춘 실험을 통해 롤아웃합니다. 의존성 실패나 허용할 수 없는 동작에 대비해 결정론적 폴백 및 롤백 경로를 유지합니다.

입력 품질, 특성 드리프트, 예측 분포, 보정, 하위 그룹 결과, 지연 시간, 비용 및 최종적으로 도착하는 확인된 레이블을 모니터링합니다. 드리프트는 조사 신호이며, 재학습이 도움이 된다는 자동 증거는 아닙니다. 재학습에는 검토된 데이터, 반복 가능한 테스트, 승인 및 현재 최고 모델과의 비교가 필요합니다. 의도된 사용 및 부적절한 사용, 데이터 권리, 프라이버시, 보안, 인간 개입 및 영향을 받는 사람들의 이의 제기를 문서화합니다. 머신러닝은 유지 관리되는 의사결정 시스템이며, 모델 파일은 교체 가능한 구성 요소 중 하나에 불과합니다.

실제 예시: 장비 고장 예측

제조업체는 기계‑일당 하나의 예측을 정의합니다: 해당 일 시작 시점에 이용 가능한 텔레메트리를 사용해 7일 이내에 검증된 고장이 발생할지 여부를 예측합니다. 기계와 시간별로 데이터를 분할하고, 연령 및 임계값 기반 규칙과 비교하며, 훈련 데이터에 전처리를 적용하고, 이벤트 재현율, 오류 알림, 경고 선행 시간, 보정 및 유지보수 용량을 평가합니다. 센서 교체와 계획된 가동 중단은 일반 관측치가 아니라 운영 컨텍스트로 모델링됩니다.

모델은 처음에 섀도우 모드로 실행됩니다. 알림은 기여 텔레메트리와 불확실성을 표시하지만, 유지보수 담당자는 검사 여부를 결정합니다. 발견 내용과 확인된 원인은 관리 레이블이 되며, 작업 지시서가 없다고 해서 고장이 없다고 가정하지 않습니다. 단계적 롤아웃은 알림 제한과 수동 폴백을 사용하고, 모니터링은 센서 상태, 입력 드리프트, 검토된 정밀도, 다운타임 및 불필요한 유지보수를 추적합니다. 재학습은 데이터와 임계값 검토가 현재 배포 시스템보다 개선 가능성을 보여줄 때만 수행됩니다.

구현 증거 및 운영 준비성

프로덕션 의사결정은 성공적인 시연만으로는 충분하지 않습니다. 대상 사용자, 운영 환경, 입력, 출력, 의존성, 소유자 및 각 주요 실패의 결과를 정의합니다. 튜닝 전에 재현 가능한 기준선과 버전 관리된 평가 세트를 마련합니다. 일반적인 경우, 경계 조건, 형식이 잘못되었거나 누락된 입력, 분포 변화, 의존성 중단, 오용 및 소외될 가능성이 높은 그룹이나 환경을 테스트합니다. 작업 품질을 보정 또는 불확실성, 지연 시간, 처리량, 자원 비용, 접근성, 프라이버시 및 보안과 함께 측정합니다. 모든 변환 및 임계값을 기록하여 독립 검토자가 결과를 재현하고 매력적인 프로토타입과 증거를 구분할 수 있게 합니다.

출시 전에 릴리스, 예외, 변경, 롤백 및 폐기에 대한 권한을 지정합니다. 단계적 롤아웃을 사용하고 안전한 폴백을 유지하며, 의도적으로 주입된 실패를 통해 모니터링을 검증합니다. 운영 텔레메트리는 불필요한 민감 데이터를 수집하지 않으면서 입력 품질, 출력 동작, 모델 또는 규칙 버전, 의존성 상태, 인간 개입 및 확인된 결과를 보여줘야 합니다. 알림 임계값과 대응 책임자를 정의한 뒤, 오프라인 성능이 지속될 것이라고 가정하지 말고 배포 후 실제 증거를 검토합니다. 데이터 소스, 사용자, 모델, 공급업체, 정책, 하드웨어 또는 목표가 변경될 때마다 재평가합니다. 유지 관리되는 시스템은 문서화된 복구, 사고 학습, 삭제 및 보존 절차, 그리고 비활성화 또는 교체 시점을 명확히 해야 합니다.

주요 참고 문헌

블로거이자 프로그래머로 Machine Learning과 Deep Learning 주제에 전문가입니다. 다니엘은 다른 사람들이 AI의 힘을 사회적善으로 사용하는 것을 돕기를 희망합니다.