2016.11.08

머신러닝 프로젝트를 망치는 '6가지 흔한 실수'

Ryan Francis | Network World
머신러닝이 확산되면서 이를 둘러싼 시행착오도 늘어나고 있다. 여기 기업이 흔히 저지르는 머신러닝 실수들을 정리했다.  



머신러닝은 더 이상 공상 과학 영화 속 이야기가 아니다. 시리나 알렉사 같은 음성인식부터 페이스북 자동 태그, 아마존 상품 추천에 이르기까지, 머신러닝은 우리 일상에 밀접히 닿아 있는 각종 기술의 이면에 자리하고 있다.

아울러 네트워크 효율성을 증대시키기 위해 머신러닝 알고리즘을 이용하려는 기업들도 늘고 있으며, 개중에는 위협 탐지와 광역 네트워크 최적화를 위해 머신러닝을 활용하고 있는 기업들도 있다.

그러나 여느 기술들이 그렇듯, 머신러닝 역시 잘못 이용하면 오히려 네트워크를 초토화 시킬 수도 있다. 성급하게 이 기술을 도입하기에 앞서, 머신러닝과 관련한 오해 및 실수를 미리 파악해야 할 이유다. 불상사를 피한다면 불필요한 시행착오도, C-레벨 경영자들이 머신러닝 기술에 고개를 돌리게 되는 일도 막을 수 있을 것이다.

주니퍼 네트웍스의 보안 지능 소프트웨어 엔지니어 로만 시나예브가 머신러닝과 관련한 6가지 흔한 실수를 소개했다.

중요한 변수를 간과
인간의 관점에서 보면 너무나 별 것 아닌 것까지도 컴퓨터는 변수로 넣고 계산을 한다. 때문에 최대한 다양한 변수와 잠재적 결과를 고려해 머신러닝 알고리즘을 배치해야 할 필요가 있다.

‘차량’ 이미지를 트럭과 승용차의 두 카테고리로 분류하는 모델을 예로 들어보자. 이 알고리즘에 트럭 사진은 전부 다 밤에 찍힌 사진만을 보여주고, 승용차 사진은 낮에 찍힌 사진들만을 보여준다면 어떻게 될까? 이 알고리즘 모델은 차종에 관계 없이 밤에 찍힌 차량은 전부 트럭으로 인식하게 된다.

주요 변수와 결과를 최대한 구체적으로 계산에 넣을수록 머신러닝 솔루션이 원치 않거나 예상치 못한 행동을 하는 것을 방지할 수 있다.

‘데이터 숙제’를 소홀히 하는 것
효율적인 통계 모델을 만들기 위해서는 분석 대상이 되는 데이터의 출처와 콜렉션을 이해하는 ‘숙제’와 같은 작업이 필요하다. 이러한 작업은 알고리즘 퍼포먼스에 영향을 미치는 변수와 잠재적 결과를 결정하는 데 아주 중요하다.

또 머신러닝 모델이 데이터를 엉뚱하게 분류한다면, 충분한 대표성과 전형성을 갖춘 데이터로 사전에 트레이닝 되지 않았기 때문일 수도 있음을 염두에 두어야 한다.

형식적이고 약식화된 검증
유용한 머신러닝 모델을 만드는 것에 있어 가장 중요한 것은 데이터 구조 트레이닝과 품질이다. 기업에 머신러닝을 릴리즈 하기 전, 데이터 과학자들은 모델의 효용성을 평가하기 위해 알고리즘 모델을 테스트하게 된다. 데이터는 꼼꼼하게 시각화 되어야 하며 모델 자체 트레이닝을 위한 새로운 데이터가 마련되어야 한다.

데이터 과학자들은 최소한의 데이터 세트를 이용해 최대한 빨리 테스트를 마치고 싶겠지만, 이렇게 시행된 테스팅이나 데이터 세트만으로는 알고리즘이 현실에서 마주치게 되는 정보를 품어내지 못 하기 십상이다.

알고리즘 모델을 제대로 테스트하기 위해서는 선택한 변수들에 대해 충분한 데이터 세트를 제공하는 것이 중요하다. 이 단계에서 데이터 피드가 많을 수록 알고리즘 성능이 확연히 개선되며 실전에 투입되었을 때 머신러닝 프로젝트가 제 몫을 해낼 수 있게 되기 때문이다.

잠재적 장애물 무시
프로젝트의 최종 단계가 뜻하지 않게 장애물로 작동할 수 있다. 유명한 일화가 있다. 한 기업에서 10대들의 언어 사용을 흉내 내는 소셜 미디어 봇을 출시했다. 소문을 듣고 몰려온 사용자들이 이 봇에게 의도적으로 혼란스러운 데이터를 피드했으며, 알고리즘은 이렇게 피드된 데이터를 학습된 행동의 일환으로 전용했다. 결국 이 기업은 채 24시간도 되지 않아 이 봇을 정지시켜야 했다.

물론 모든 프로젝트가 다 이처럼 대중을 상대로 진행되거나, 개방되는 것은 아니지만, 이런 참사를 막기 위해서는 알고리즘이 작동할 환경에 대해 이해하고 있어야 한다.



성급한 알고리즘 재설계
모델 테스팅 결과가 예상했던 것과 다르다면, 두 가지 선택에 직면하게 된다. 첫 번째는 학습 알고리즘 자체를 재설계하는 것이고, 두 번째는 더 많은 데이터를 모으는 것이다. 데이터가 많아질수록 모델의 수행 한계에 대한 명확히 이해할 수 있게 된다. 데이터를 수집하는 것이 어렵지 않다면 되도록 알고리즘을 재설계하는 것보다 제대로 된 결과가 나올 때까지 데이터를 피드하는 편이 더 쉬운 해결책일 수 있다.

앙상블 러닝 배제
앙상블 러닝(ensemble learning)은 최근 실제 적용 사례에서 성공적 결과를 보여준 알고리즘 중 하나로, 데이터 세트에 대해 다수의 모델을 이용해서 얻은 결과들을 조합하는 것을 말한다. 예를 들자면 로지스틱 회귀분석(logistic regression)과 같은 단순한 분류기(classifier) 다수를 이용해 단수의 분류기를 개별적으로 이용했을 때보다 모델의 예측 수행능력을 월등히 향상시키는 것이 있다.


ciokr@idg.co.kr 



2016.11.08

머신러닝 프로젝트를 망치는 '6가지 흔한 실수'

Ryan Francis | Network World
머신러닝이 확산되면서 이를 둘러싼 시행착오도 늘어나고 있다. 여기 기업이 흔히 저지르는 머신러닝 실수들을 정리했다.  



머신러닝은 더 이상 공상 과학 영화 속 이야기가 아니다. 시리나 알렉사 같은 음성인식부터 페이스북 자동 태그, 아마존 상품 추천에 이르기까지, 머신러닝은 우리 일상에 밀접히 닿아 있는 각종 기술의 이면에 자리하고 있다.

아울러 네트워크 효율성을 증대시키기 위해 머신러닝 알고리즘을 이용하려는 기업들도 늘고 있으며, 개중에는 위협 탐지와 광역 네트워크 최적화를 위해 머신러닝을 활용하고 있는 기업들도 있다.

그러나 여느 기술들이 그렇듯, 머신러닝 역시 잘못 이용하면 오히려 네트워크를 초토화 시킬 수도 있다. 성급하게 이 기술을 도입하기에 앞서, 머신러닝과 관련한 오해 및 실수를 미리 파악해야 할 이유다. 불상사를 피한다면 불필요한 시행착오도, C-레벨 경영자들이 머신러닝 기술에 고개를 돌리게 되는 일도 막을 수 있을 것이다.

주니퍼 네트웍스의 보안 지능 소프트웨어 엔지니어 로만 시나예브가 머신러닝과 관련한 6가지 흔한 실수를 소개했다.

중요한 변수를 간과
인간의 관점에서 보면 너무나 별 것 아닌 것까지도 컴퓨터는 변수로 넣고 계산을 한다. 때문에 최대한 다양한 변수와 잠재적 결과를 고려해 머신러닝 알고리즘을 배치해야 할 필요가 있다.

‘차량’ 이미지를 트럭과 승용차의 두 카테고리로 분류하는 모델을 예로 들어보자. 이 알고리즘에 트럭 사진은 전부 다 밤에 찍힌 사진만을 보여주고, 승용차 사진은 낮에 찍힌 사진들만을 보여준다면 어떻게 될까? 이 알고리즘 모델은 차종에 관계 없이 밤에 찍힌 차량은 전부 트럭으로 인식하게 된다.

주요 변수와 결과를 최대한 구체적으로 계산에 넣을수록 머신러닝 솔루션이 원치 않거나 예상치 못한 행동을 하는 것을 방지할 수 있다.

‘데이터 숙제’를 소홀히 하는 것
효율적인 통계 모델을 만들기 위해서는 분석 대상이 되는 데이터의 출처와 콜렉션을 이해하는 ‘숙제’와 같은 작업이 필요하다. 이러한 작업은 알고리즘 퍼포먼스에 영향을 미치는 변수와 잠재적 결과를 결정하는 데 아주 중요하다.

또 머신러닝 모델이 데이터를 엉뚱하게 분류한다면, 충분한 대표성과 전형성을 갖춘 데이터로 사전에 트레이닝 되지 않았기 때문일 수도 있음을 염두에 두어야 한다.

형식적이고 약식화된 검증
유용한 머신러닝 모델을 만드는 것에 있어 가장 중요한 것은 데이터 구조 트레이닝과 품질이다. 기업에 머신러닝을 릴리즈 하기 전, 데이터 과학자들은 모델의 효용성을 평가하기 위해 알고리즘 모델을 테스트하게 된다. 데이터는 꼼꼼하게 시각화 되어야 하며 모델 자체 트레이닝을 위한 새로운 데이터가 마련되어야 한다.

데이터 과학자들은 최소한의 데이터 세트를 이용해 최대한 빨리 테스트를 마치고 싶겠지만, 이렇게 시행된 테스팅이나 데이터 세트만으로는 알고리즘이 현실에서 마주치게 되는 정보를 품어내지 못 하기 십상이다.

알고리즘 모델을 제대로 테스트하기 위해서는 선택한 변수들에 대해 충분한 데이터 세트를 제공하는 것이 중요하다. 이 단계에서 데이터 피드가 많을 수록 알고리즘 성능이 확연히 개선되며 실전에 투입되었을 때 머신러닝 프로젝트가 제 몫을 해낼 수 있게 되기 때문이다.

잠재적 장애물 무시
프로젝트의 최종 단계가 뜻하지 않게 장애물로 작동할 수 있다. 유명한 일화가 있다. 한 기업에서 10대들의 언어 사용을 흉내 내는 소셜 미디어 봇을 출시했다. 소문을 듣고 몰려온 사용자들이 이 봇에게 의도적으로 혼란스러운 데이터를 피드했으며, 알고리즘은 이렇게 피드된 데이터를 학습된 행동의 일환으로 전용했다. 결국 이 기업은 채 24시간도 되지 않아 이 봇을 정지시켜야 했다.

물론 모든 프로젝트가 다 이처럼 대중을 상대로 진행되거나, 개방되는 것은 아니지만, 이런 참사를 막기 위해서는 알고리즘이 작동할 환경에 대해 이해하고 있어야 한다.



성급한 알고리즘 재설계
모델 테스팅 결과가 예상했던 것과 다르다면, 두 가지 선택에 직면하게 된다. 첫 번째는 학습 알고리즘 자체를 재설계하는 것이고, 두 번째는 더 많은 데이터를 모으는 것이다. 데이터가 많아질수록 모델의 수행 한계에 대한 명확히 이해할 수 있게 된다. 데이터를 수집하는 것이 어렵지 않다면 되도록 알고리즘을 재설계하는 것보다 제대로 된 결과가 나올 때까지 데이터를 피드하는 편이 더 쉬운 해결책일 수 있다.

앙상블 러닝 배제
앙상블 러닝(ensemble learning)은 최근 실제 적용 사례에서 성공적 결과를 보여준 알고리즘 중 하나로, 데이터 세트에 대해 다수의 모델을 이용해서 얻은 결과들을 조합하는 것을 말한다. 예를 들자면 로지스틱 회귀분석(logistic regression)과 같은 단순한 분류기(classifier) 다수를 이용해 단수의 분류기를 개별적으로 이용했을 때보다 모델의 예측 수행능력을 월등히 향상시키는 것이 있다.


ciokr@idg.co.kr 

X