구글 머신러닝 단기집중과정

구글 머신러닝 단기집중과정 - ML 엔지니어링 - 데이터 종속성

오핸 2021. 6. 22. 16:38
728x90
반응형
프로덕션 ML 시스템: 데이터 종속성

 

ML 개발자에게 있어 데이터는 기존 프로그래머에게 있어 코드만큼 중요합니다. 이 강의에서는 데이터에 관해 알아야 할 질문에 중점을 둡니다.

 

 

특성 관리

  • 입력 데이터(특성)가 ML 시스템 행동을 결정합니다.
    • 소프트웨어 라이브러리용 유닛 테스트는 작성하지만 데이터는 어떤가요?
  • 입력 신호를 선택할 때는 주의해야 합니다.
    • 어떤 소프트웨어 라이브러리에 종속될지 결정할 때보다 더 주의해야 할 수도 있습니다.

 

입력 데이터에 관해 물어야 할 질문

  • 신뢰성
    • 신호를 사용할 수 없으면 어떻게 되나요? 어떻게 알게 되나요?
  • 버전 차별화
    • 이 신호를 계산하는 시스템이 변경되기도 하나요? 얼마나 자주 변경되고 무슨 결과가 생기나요?
  • 필요성
    • 신호의 유용성이 신호를 포함하는 비용을 정당화하나요?
  • 상관성
    • 내 입력 신호가 아주 긴밀히 연결되어 있어서 분리하기 위한 추가 전략이 필요한가요?
  • 피드백 루프
    • 어떤 입력 신호가 모델의 출력에 영향을 받을 수 있나요?

 

 

ML 시스템의 행동은 ML 시스템 입력 특성의 행동과 특성에 종속됩니다. 해당 특성의 입력 데이터가 변경되면 모델도 변경됩니다. 이러한 변화가 적절한 경우도 있고 그렇지 않은 경우도 있습니다.

 

기존 소프트웨어 개발에서는 데이터보다 코드에 더 중점을 둡니다. 머신러닝에서도 여전히 코드가 필요하지만 중점 범위를 넓혀서 데이터를 포함해야 합니다. 예를 들어 기존 소프트웨어 개발 프로젝트에서는 유닛 테스트를 작성하여 코드의 유효성을 확인하는 것이 가장 좋습니다. ML 프로젝트에서는 지속적으로 입력 데이터를 테스트하고 유효성을 확인하고 데이터를 모니터링해야 합니다.

 

예를 들어 모델을 지속적으로 모니터링하여 (거의) 사용하지 않는 특성을 삭제해야 합니다. 모델에 거의 또는 전혀 기여하지 않는 특정한 특성이 있다고 생각해 보세요. 해당 특성의 입력 데이터가 갑자기 변경되면 모델의 행동도 원치 않는 방식으로 갑자기 변경될 수 있습니다.

 

 

신뢰성

 

입력 데이터의 신뢰성에 관해 물어야 할 몇 가지 질문은 다음과 같습니다.

 

  • 신호를 항상 사용할 수 있나요? 또는 신호가 안정적이지 않은 출처에서 제공되나요? 예를 들면 다음과 같습니다.
  • 로드가 너무 크면 비정상 종료되는 서버에서 신호가 제공되나요?
  • 8월마다 휴가를 떠나는 인력이 신호를 전송하나요?

 

버전 차별화

 

버전 차별화에 관해 물어야 할 몇 가지 질문은 다음과 같습니다.

 

  • 이 데이터를 계산하는 시스템이 변경되기도 하나요? 변경되는 경우:
  • 얼마나 자주 변경되나요?
  • 시스템이 변경되면 어떻게 알게 되나요?

 

데이터가 업스트림 과정에서 제공되는 경우도 있습니다. 해당 과정이 갑자기 변경되면 모델이 영향을 받을 수 있습니다.

업스트림 과정에서 받은 데이터의 사본을 만들어 보세요. 그런 다음 안전하다고 판단될 때만 다음 버전의 업스트림 데이터로 넘어가세요.

 

필요성

 

아래 질문을 보면 정규화가 떠오를 수 있습니다.

 

  • 특성의 유용성이 신호를 포함하는 비용을 정당화하나요?

 

항상 모델에 특성을 더 많이 추가하고 싶은 욕심이 생깁니다. 예를 들어 어떤 새 특성을 추가하면 모델이 약간 더 정확해진다는 것을 알게 되었습니다. 물론 정확성이 더 높은 것이 덜 높은 것보다 더 좋아 보입니다. 하지만 새 특성을 추가하면 유지관리 부담이 증가합니다. 특성이 추가됨으로써 예기치 않게 성능이 저하될 수 있으므로 모니터링이 필요합니다. 사소한 단기적 혜택을 제공하는 특성을 추가하기 전에는 신중히 생각해 보세요.

 

상관성

 

일부 특성은 다른 특성과 양의 또는 음의 상관관계를 가집니다. 스스로 아래 질문을 던져보세요.

 

  • 특성이 아주 긴밀히 연결되어 있어서 분리하기 위한 추가 전략이 필요한가요?

 

피드백 루프

 

모델이 자체 학습 데이터에 영향을 미칠 수 있는 경우도 있습니다. 예를 들면 일부 모델에서는 출력 결과값이 직간접적으로 그 모델의 입력 값이 되기도 합니다.

 

모델이 다른 모델에 영향을 미칠 수 있는 경우도 있습니다. 예를 들어 두 가지 주가 예측 모델을 고려해 보겠습니다.

 

  • 모델 A(나쁜 예측 모델)
  • 모델 B

 

모델 A에 버그가 있으므로 주식 X를 사도록 잘못 결정합니다. 이러한 구매로 인해 주식 X의 주가가 상승합니다. 모델 B는 주식 X의 주가를 입력 특성으로 사용하므로 모델 B는 주식 X의 가치에 관해 잘못된 결론을 내리기 쉽습니다. 따라서 모델 B는 버그가 포함된 모델 A의 행동을 바탕으로 주식 X를 구매하거나 판매합니다. 모델 B의 행동이 다시 모델 A에 영향을 미쳐 튤립 파동을 일으키거나 X사의 주식을 떨어뜨릴 수 있습니다.

 

 

 

데이터 종속성: 이해한 내용 확인하기

 

아래 옵션을 살펴보세요.

 

다음 중 피드백 루프에 취약한 모델은 무엇인가요?

 

인기도(즉, 책 구매 횟수)를 바탕으로 사용자가 좋아할 만한 소설을 추천하는 도서 추천 모델

 

책 추천은 구매를 촉진할 가능성이 높고, 이렇게 발생한 추가 판매량이 모델에 입력을 통해 반영되며, 그 결과 향후 같은 책이 추천될 확률이 높아집니다.

 

정답 3개 중 1개를 맞췄습니다.

 

사진에서 사람이 웃고 있는지 감지하는 얼굴 특성 모델. 이 모델은 매월 자동으로 업데이트되는 스톡 사진 데이터베이스를 정기적으로 학습합니다.

 

모델 예측이 사진 데이터베이스에 어떠한 영향도 미치지 않으므로 여기에는 피드백 루프가 존재하지 않습니다. 하지만 이 월별 업데이트가 모델에 예측하지 못한 영향을 미칠 가능성이 있으므로 입력 데이터 버전 차별화를 고려해야 합니다.

 

다시 시도해 보세요.

 

해변의 인파를 특성 중 하나로 사용하여 해변 근처 고속도로 출구의 정체를 예측하는 교통량 예측 모델.

 

일부 해변 방문객은 교통량 예측을 바탕으로 계획을 결정합니다. 해변 인파가 많고 교통 정체가 예상되면 많은 사람들이 대체적인 계획을 마련합니다. 이렇게 되면 해변 방문객 수를 떨어뜨려 예측 교통량이 적어지고 그 결과 방문객 수가 늘어나고, 이렇게 계속 반복됩니다.

 

정답 3개 중 2개를 맞췄습니다.

 

크기(제곱미터 단위의 면적), 침실 수, 지형적 위치를 특성으로 사용하여 부동산 가격을 예측하는 부동산 가치 모델.

 

가격 예측에 따라 부동산의 위치, 크기, 침실 수를 빠르게 변경할 수 없으므로 피드백 루프가 존재할 수 없습니다. 하지만 크기와 침실 수에는 상관 관계(집이 크면 방이 많을 가능성이 높음)가 존재할 수 있으므로 분리해야 할 수도 있습니다.

 

다시 시도해 보세요.

 

경쟁률(즉, 대학에 지원한 학생 중 합격자의 비율)을 기준으로 부분적으로 학교를 평가하는 대학 순위 평가 모델.

 

모델의 순위가 상위 학교에 더 많은 관심을 일으켜 지원자 수를 높일 수 있습니다. 이러한 학교가 계속해서 같은 수의 학생에게 입학을 허가하면 경쟁률이 높아집니다(합격자의 비율이 낮아짐). 이렇게 하면 이러한 학교의 순위가 높아지고 계속해서 예비 학생의 관심이 높아지며, 이렇게 계속 반복됩니다.

 

정답 3개 중 3개를 맞췄습니다.

 

투표를 마친 후 투표자의 2%를 조사하여 시장 선거 당선자를 예측하는 선거 결과 모델.

 

투표가 끝날 때까지 모델이 예측을 발표하지 않으면 예측이 투표자의 행동에 영향을 미칠 수 없습니다.

 

다시 시도해 보세요.

728x90
반응형