a. 음성 인식 AI 스피커를 만든다고 가정했을 때,
<aside>
💡 음성 인식 AI 스피커 ‘하루’
- 서비스 기획
- 하루는 유저들이 말하는 명령어를 듣고 → 노래를 틀어주나, 티비를 켜주고, 전화를 걸어줌
- 데이터 기획
- 음성 데이터를 수집한다고 하면 너무 방대함 →
시장 조사를 통해 알게된 타겟 고객의 데이터부터 수집하기로 함 → 또한 유저 테스트를 통해 파악한 결과를 바탕으로 10초 내외의 문장만 수집하기로 함
- 데이터 명세: 10-30대이고, 표준어를 사용하는, 10-30대의 남성/여성 유저가 인공지능 스피커에게 말하는 10초 내외의 문장
- 개인정보 보호법 검토를 진행
- 데이터 수집
- 데이터 편향(bias)를 막기 위해, 식당, 카페, 집 기타 등등 다양한 환경에서 데이터를 수집해야 함
- 데이터 레이블링
- 녹음된 데이터를 들으며, 1. 라벨러가 타이핑을 해주거나 2. 자동화된 시스템을 이용하거나
- AI 학습&서비스 배포(Deploy)
- 지도 학습&데이터 축적&고객 피드백 수립
- 기획 수정/추가 개발
- 기존 시장 조사와 달리, 의외로 5060 유저의 수요도 있었고 + 충청도, 경상도에 많이 팔려서 → 5060 유저와 충청도, 경상도 사투리 데이터 수집을 진행하기로 함
- 데이터 큐레이션
- 추가 기획에 맞는 데이터를 서비스에 축적된 데이터 중에서 큐레이션
- 다시 데이터 수집
- 데이터 큐레이션으로 못 구하는 데이터를 새로 수집
</aside>
b. 서비스를 만들 때, 딥러닝 vs 머신러닝

<aside>
💡 만약 스팸 문자 감지 서비스를 만든다고 했을 때,
- 머신러닝
- 데이터 수집
- 피쳐 엔지니어링
- 엔지니어들이 ‘스팸 문자’에 대한 피쳐를 정의함
- 제목에서 국제 발신, 웹 발신 등등…
- 본문에서 돈을 벌어준다, 따준다 등등…
- 본문에서 스팸 문자는 중단 or 하단에 있는 경향이 있다 등등…
- 키워드로 토토, 주식, 급등 등등…
- 머신러닝 알고리즘 개발
- 엔지니어들이 피처 엔지니어링 정보와 데이터셋을 넣어서 실험을 진행하고, 고도화함
- XGBoost, Random Forest 등등…
- 테스트
- 완성된 모델에 새로운 데이터를 넣어서, 테스트를 진행함
- 테스트 결과, 기존 피쳐 엔지니어링으로 못잡았던 케이스 파악
- 딥러닝
- 데이터 수집
- 머신러닝보다 데이터가 훨씬 많이 필요하고, 피쳐 엔지니어링처럼 특징을 정의하는 것이 아닌 맞다/아니다로 라벨링
- 딥러닝 모델 개발
- 스팸 문자 판독에 적당한 모델을 리서치하고, 고도화하고, 학습
- 테스트
- 완성된 모델에 새로운 데이터를 넣어서, 테스트를 진행함
- 결론
- 딥러닝에는 머신러닝보다 더 많은 데이터와 컴퓨터 리소스가 필요함
- 그러므로 간단한 테스크 + 정형 데이터일수록 ⇒ 머신러닝
- 복잡한 테스크 + 비정형 데이터일수록 ⇒ 딥러닝
</aside>