본문 바로가기

Study

'머신 러닝 프로젝트 구조화' 강좌 - 1주차(2) 정리

'머신 러닝 프로젝트 구조화' 강좌 - 휴먼 레벨의 성능과 비교 - 1주차 정리

  • Andrew Ng 강사님의 머신 러닝 프로젝트 구조화 [1주차] 목표 설정 강좌를 보고 정리한 내용
  • [K-MOOC x COURSERA] 구독권을 통해 강좌를 수강함

교육 기관 : https://www.deeplearning.ai/


1주차(2) 강좌 후기

  • bias나 avoidable bias에 대한 개념은 쉽게 배울 수는 있지만 마스터하기 어려운 내용이다. 너무 어렵다 
  • 알고리즘의 성능을 향상할 수 있는 여러 방법에 대해 알 수 있는 강좌였다.

1. 휴먼 레벨 성능의 이유

머신러닝 시스템과 인간 수준 시스템을 비교하는 이유 2가지

첫 번째

딥러닝의 발전으로 인해, 머신러닝 알고리즘이 갑자기 더 잘 구동되는 현상이 벌어졌기 때문에 인간 수준의 성능과 비교하였을 때, 이와 견줄만할 정도로 많은 어플에서 머신러닝 알고리즘의 실효성이 입증됐다고 생각함

 

두 번째 

머신러닝 시스템을 디자인하고 수행절차를 설립하는 과정이 이전과 비교하여 많이 효율적으로 발전했음

또는 인간레벨 성능을 머신러닝이 떠라 하고 있다고도 볼 수 있음

 

예시
  • 프로젝트의 진전은 인간 레벨 성능으로 갈수록 빠른 속도로 일어나는 경향이 있는데, 조금 지나면 알고리즘이 인간 레벨 성능을 뛰어넘으면서 진행속도나 정확도가 정체되기 시작함
  • 그러면서 능숙도가 증가할 수도 있지만, 인간레벨성능을 능가하면서 지속적으로 더 좋아질 수는 있지만 성능, 즉 정확도가 얼마나 빨리 올라가는지의 여부는 보통 더뎌짐
  • 이러면서 바라는 바는, 이론적으로 최적화된 성능레벨에 도달하는 것
  • 시간이 지나면서 알고리즘을 계속 트레이닝 시키면서, 더 큰 확장된 모델을 사용하거나, 더 많은 데이터 수집을 통해 성능은 이론적인 한계에 다가가지만 절대로 도달하지는 못하며  이것을 Bayes optimal error라 함
  • Bayes optimal error를 가장 최상의 오류라고 생각할 것
요약
  • 인간레벨성능을 이미 능가한 시점에서는 더 발전할 수 있는 부분이 제한적일 수 있음
  • 인간 레벨 성능에 미치지 못하는 이상, 여러 가지 툴을 이용하여 성능을 발달시킬 수 있는 부분이 있는데. 이런 툴은 인간 레벨 성능을 초과하는 시점에서는 사용하기 어려움

2. 회피할 수 있는 바이어스

  • Bayes error에 대한 추정치를 이해하면 시나리오마다 각각 다른 전술로 접근하여, bias avoidance 기술을 이용하거나, variance avoidance 기술을 이용할 수 있음
  • 본인이 어느 곳에 중점을 둘지 여부와 관련하여 의사결정을 내리는데 있어, 인간 레벨 성능이 미묘하게 관여하는 부분이 있음

3. 휴먼 레벨 성능 이해

human-level performance의 문구를 정의를 돕기 위한  의학 이미지 분류 예시

의학 이미지를 바탕으로 분류하는 업무를맡을 때 사례를  들어봄

  • 전형적인 인간은, 트레이닝 경험이 있지 않은 사람은 3퍼센트의 오류.
  • 일반적인 의사는, 방사선학 전문 의사 경우, 1퍼센트의 오류
  • 경험이 많은 의사는 0.7퍼센트 오류가 있을 수 있음
  • 경험이 많은 의사로 구성된 팀은, 이미지를 모두 분석하고 그 내용에 대하여 토론하여 통합적으로 의견을 취합하여 0.5퍼센트 오류가 있음
위 예시에서 인간 레벨 오류를 정의
  • 프락시나 Bayes error의 추정 값을 원하는 경우, 경험이 많은 의사 팀이 토론에 거쳐 0.5퍼센트의 오류를 범할 수 있다고 하면 Bayes error는 0.5퍼센트이거나 그 이하일이라 생각할 수 있음
  • 어떠한 시스템은 이런 팀들이 0.5퍼센트 오류를 범할 수 있기 때문에 0.5퍼센트를 Bayes error의 추정치로 지정할 것
  • 바이어스와 편차 분석 목적으로 인간 레벨 성능을 이용하는 경우엔 0.5퍼센트를 인간 레벨 성능으로 정의
  • 하지만 논문 목적이나 시스템 도입이 목적인 경우엔 사용할 수 있는 인간 레벨성능의 정의가 다를 수 있음

 

요약
  • 바이어스와 편차를 이해하기 위해선, 인간레벨 오류의 프락시 또는 Bayes error의 추정 값을 사용할 수 있음
  • Bayes error의 추정 값 차이를 통해 얼마만큼이나 avoidable bias가 문제가 되는지 알 수 있음
  • 트레이닝 오류와 dev error의 차이를 통해 편차의 문제를 파악할 수 있음

4. 모델 성능 향상

  • 트레이닝 에러와 Bayers error의 프록시 차이 확인
  • avoidable bias에 대해 이해하기
  • 더욱 향상된 최적화 알고리즘  사용
  • 더 좋은 하이퍼 파라미터를 사용하거나 활성 함수 사용 및, 층의 개수나 숨겨진 유닛의 개수를 바꾸는 방법

1주차 평가 시험