Skip to content

Latest commit

 

History

History
265 lines (174 loc) · 12.4 KB

머신러닝에 대한 이해.md

File metadata and controls

265 lines (174 loc) · 12.4 KB

머신러닝에 대한 이해

실생활속 ML?

ML이란?

인공지능과 기계학습의 정의

Untitled

  • 일반적인 software ? → 입력동일 == 출력동일
  • ML? ⇒ 알고리즘으로 데이터의 패턴을 분석해 입력이 들어왔을때 패턴에 따른 출력추출

기계학습?

  • ML이다
  • 데이터를 기반으로 패턴을 학습하고 예측을 수행하는 컴퓨터 과학 분야
    • ex) 스팸필터, 음성인식 ,이미지 분류 등

인공지능과 ML은 다르다

  • ML은 인공지능 하위분야, 기계학습을 통해 AI시스템 개발

왜 ML을 사용하는가?

Untitled

기업에서 적극적인 관심과 개발

  • 소비자를 위한 AI는 정확도와 Latency가 좋아야한다.
  • 기업에서 사용할때는 latency가 좋을 필요는 없음

ML은 성능만 좋다고 서비스할순 없다

Research ML vs Production ML

Untitled

  • 연구초점은 SOTA : 성능의 측면에서 개발을 함
  • 상품의 초점은 다양한 : 고려해야할것이 많음

Untitled

실무 ML에서의 이해관계자와 다양한 목표 설정

  • 이해관계자의 다양성
  • 이해관계자들은 본인의 역할에 따라 ML에 다양한 목표를 추구한다.
  • DS & ML Engineer
    • 모델 개발 및 훈련 담당
      • 목표 : 모델 성능 높이고 최신기술과 알고리즘사용하여 예측 결과 성능 증가
  • 영업팀:
    • AI제품의 광고 및 비즈니스 모델에 관여
      • 목표 : 소비자에게 어필할수 있는 부분을 관심갖고 비즈니스모델에서 돈을 벌수 있도록 예측 결과를 내놓는 모델
  • 제품 관리자
    • 사용경험과 제품 기능 관리
    • 목표 :사용자 만족도 높이고 빠른추론 및 좋은 사용자 경험 제시
  • 인프라 엔지니어 , 벡앤드 엔지니어
    • 모델 운영과 인프라 담당
    • 목표: 모델을 안정적으로 운영하고 확장 가능한 시스템 구축하여 성능 유지
  • 관리자
    • 프로젝트 조율과 리소스 할당 관리
    • 목표 : 조율을 통해 모든 이해관계자의 목표를 조화롭게 조율하고 프로젝트를 성공적으로 마무리

ex) 숙박앱에서 추천모델 상품화하려면?

Untitled

Untitled

  • 실무는 모델 B경향 을 더 선호함 , 프로덕트 레벨에서

Computation 우선순위

  • ML 최적화의 함정
    • 모델 성능 최적화를 위해 앙상블 모델을 구성하거나 반복적인 모델 훈련 및 너무복잡한 모델 개발
    • 실제 적용시 inference 속도가 느려져 사용하기 어렵다
  • 대기시간 vs 처리량
    • 대기시간 : 사용자가 특정 작업 요청후 실제 결과 반환받기까지 걸리는 시간 ⇒ production분야에서 중요
    • 처리량 : 특정 시간동안 시스템이 처리하는 요청 또는 작업의 양 ⇒ 리서치에서 중요

Computation의 중요 사례

Untitled

Data의 차이

Research ML vs Production ML

  • research ML은 깔끔함
    • 데이터셋이 매우 깨끗하고 잘정리되어 있어 모델 개발과 훈련에 집중가능
    • 연구 공동체에서 새로운 알고리즘 기술과 벤치마킹하기 위해 정적인 특성을 가지고 있음
    • 다양한 많은 사람들이 함께 객관적ㅇ로 논의할수 있는 환경 제공
  • Production ML은 Data의 노이즈가 많고 구조가 복잡하며 매번 데이터가 지속적으로 변한다.
    • 데이터가 매우 한쪽으로 편향되어있을수 있으며 어떤식으로 동작하는지도 알기 어렵다
    • 잘못된 데이터들이 상당히 많을 수 있으며 정답 label이 존재하지 않는 경우가 대다수
    • 사용자데이터 다루는 경우 개인정보 보호와 규제 문제를 고려해야한다.

ML Fairness

  • 상품화되는 모델의 공정성
  • AI의 추론결과가 모든 인간에 대해 동등하게 적용되어야 한다
  • 하지만 ML은 학습 데이터로부터 패턴을 파악하므올 불균형 데이터나 편향을 반영할수 있음. 이로인해 모델은 다른 그룹을 차별적으로 대할수 있음

공정하지 않은 AI

  • 구인 AI에서 성별에 따른 불평등한 선택
  • 금융서비스에서 특정 인족에 대한 대출 거절 및 높은 금리 제공
  • Fairness 향상
    • 다양한 훈련데이터 수집
    • 편견 감지 및 수정
    • 투명성과 해석가능성 강화
    • 사용자 참여

Prodcution ML에서 AI Fairness가 매우 중요함

  • 기업의 브랜드 이미지 ,비즈니스 성패가 달려 있음

Interpretability란?

  • AI 결정과정을 인간이 이해할수 있도록 만드는 과정
  • AI 모델이 왜 그런 결정을 내렸는지 설명할수 있는 능력

Interpretability의 필요성

  • 신뢰성 : 모델의 결정을 신뢰할수 있어야함
  • 투명성 : 모델이 내린 결정을 설명가능하게
  • 편향식별 : 모델 내 잠재적인 편향을 식별하고 수정해야함
  • 법적 및 윤리적 이슈 : 규정 및 윤리적 요구 사항을 준수하기 위해 모델 작동방식을 이해해야함

AI interpretability 예시

  • 의료진단
  • 금융예측
  • 자율주행 등

AI 모델 해석 방법

전통적인 통계적 분석

  • 모델 개발시 사용된 feature 와 결과간의 상관관계 분석

모델 해석 도구 사용

  • 모델 내부의 결정 및 예측을 시각화하고 설명하는데 도움을 주는 도구를 활용
  • LIME : 모델에 대한 직역적 해석 가능성을 제공하는 기술
  • SHAP : 게임이론의 hapley값 개념을 기반으로 해석하는 기술
  • LRP : 딥러닝 신경망의 예측해석을 위한 방법중 하나

결론 : 따라서 Production ML에서는 AI Interpretabiliy가 중요하고 기업의 중요한 의사결정에 활용될 경우 근거가 확실해야하 함

3. 머신러닝 개발은 기존 소프트웨어 개발과는 다른 방법이다

소프트웨어 시스템

Untitled

  • 컴퓨터 프로그램, 데이터 및 사용자 인터페이스 결합으로 구성
  • 명시적인 규칙과 알고리즘에 따라 동작, 일련의 작업 수행

특징 및 장점

  • 예측 가능성, 정확한 규칙에 따라 동작하므로 결과를 예측가능
  • 일관된 성능을 제공하며 , 오류가 발생할때 예외 처리가 가능

제한 사항

  • 예상치 못한 상황에 적응이 어려움
  • 새로운 규칙이나 변경될 경우 , 수정하고 컴파일 및 통합 필요

예시

Untitled

상품화된 소프트웨어의 어려움

Untitled

  • 다양한 어려움들이 존재하고 버그들을 계속 고치고 배포 및 협력에 따른 관리의 어려움

따라서 DevOps 등장!

Untitled

  • 개발과 운영의 통합

DevOps란?

  • Development와 Operation의 합성어
  • 소프트웨어 개발 미 운영을 효과적으로 하는 방법론
  • 전통적인 소프트웨어 개발 및 운영 프로세스 간의 협력과 자동화 강조

DevOps의 주요 원칙

  • 자동화
    • 개발 및 운영작업 자동화하여 오류 줄이고 반복잡업 효율화
  • 협력
    • 개발팀과 운영팀간의 협력강화하여 프로젝트 수명주기 단축 및 품질 향상
  • 코드 관리
    • 코드와 인프라구성을 버젼관리하여 이력 추적
  • 지속적 통합
    • 변경사항을 자동으로 통합하고 빌드하여 품질검증 수행
  • 지속적 배포 :
    • 변경사항을 자동으로 테스트 및 프로덕션 환경에 배포

DevOps의 목표

  • 소프트웨어를 빠르게 개발, 테스트, 전달하고 고객요구사항 빠르게 충족시키는것

특징 및 장점

  • 빠른 릴리즈 : 변경사항을 더 빨리 배포할수 있어 고객요규를 신속하게 충족
  • 자동화된 프로세스 : 자동화는 오류를 줄이고 품질 향상
  • 협력 강화 : 팀간의 협력을 강조해서 문제를 신속하게 해결하고 효율성 향상

3. 머신러닝 시스템

머신러닝의 주요 원칙

  • 학습
    • 데이터로부터 학슴 , 모델이 패턴과 관계파악
  • 예측
    • 새로운 데이터에 대한 예측 수행
  • 일반화
    • 학습데이터를 기반으로 새로운 데이터에 대한 일반적인 패턴을 찾음

머신러닝 생성 프로세스

  1. 데이터 수집 저장
  2. 데이터 전처리
  3. 모델 선택
  4. 모델 학습
  5. 모델 평가
  6. 예측

머신러닝 도전과 한계

  • 데이터 품질, 과적합, 해석가능성, 데이터 양등 다양한 도전적인 측면
  • 항상 최상의 예측을 제공하지 않을수 있으며 모델의 한계를 이해하는 것이 중요

머신러닝 시스템?

Untitled

  • 모델 개발 ,배포 , 운영을지원하는 시스템
  • 모델의 생애주기 전반을 처리하고 최적화하기 위한 접근 방식

머신러닝 시스템 주요 원칙

  • 자동화
  • 협력
  • 지속적 통합
  • 지속적 배포
  • 모델 모니터링
  • 모델 버젼 관리

4. DevOps와 머신러닝 시스템

  • 공통점

Untitled

  • 차이점

Untitled