머신러닝/딥러닝 엔지니어가 현업에서 흔히 직면하는 문제
안녕하세요. 머신러닝/딥러닝 고인물(?)이 적어보는 글입니다.
머신러닝/딥러닝 엔지니어가 현업에서 흔히 직면하는 문제, 그것은 무엇일까요?
세상을 놀라게 하여 구글이나 페이스북에서 러브콜을 보낼 정도로! 창의적이고 혁신적인 나만의 딥러닝 모델을 만들어 내는 것일까요?
응, 아닙니다. 그런 멋지고 매력적인 고민은 사실상 거의 하지 않습니다. ㅎㅎ
더 암담한 현실적인 문제가 항상 딥러닝 엔지니어를 기다리고 있습니다.
그것은 바로 ! 딥러닝 모델을 학습 시키기 위한 학습 데이터가 회사에 없다는 것입니다.
여러분들 중 머신러닝/딥러닝을 공부해 보신 분이라면 아실 것입니다.
머신러닝 책이나 강의에선 항상 학습 데이터를 제공해줍니다. 수많은 예제들도 항상 학습 데이터를 다운로드 받는 방법을 함께 알려주죠.
즉, 쉽게 학습 데이터를 구할 수 있습니다.
그런데요, 현업에선 보통 학습 데이터를 아무도 내게 주지 않습니다. ㅋㅋ
회사에는 아무런 데이터도 없는데 머신러닝 엔지니어에게 머신러닝 모델의 개발요청이 들어오는 것입니다.
예를 들어, 신용카드 숫자 인식기 만들어 주세요. 얼굴인식기 만들어 주세요. 글자검출기 만들어 주세요. 좋은 상품 추천해 주세요. 등등의 요청이 들어오는 거죠.
학습 데이터가 없는데 도대체 어떻게 만들어라고?
우는 소릴 할 순 없죠. 월급을 받으려면.. ㅎ
그래서 저런 요청이 들어오면 머신러닝 엔지니어의 처음 과업은 학습 데이터 구축입니다. ㅎㅎ
혼자서 수만개를 수동으로 레이블링 하던가...
다른 모 사이트에서 웹크롤링을 하던가...
비슷한 학습 데이터가 있는지 찾아 보던가....
자신의 회사가 가진 빅데이터에서 추출해 보던가 ...
(정 안되면 돈을 투자하여 알바를 고용해 수십만, 수백만개의 레이블(label)을 달게 하던가)
등으로 최대한 돈이 들지 않지만 좋은 품질의 레이블을 돈이 적게 들도록 창의적이고 혁신적인 방법을
생각해 내야 하는 것입니다. ㅎ
아직 머신러닝 모델링의 '모'짜는 꺼내지도 못했습니다만,
학습 데이터 구축이 정말 첫걸음이고,
정말 흔히 머신러닝 엔지니어가 직면하는 문제입니다.