더북(TheBook)

1.4 연습 문제

1. 프런트엔드 자바스크립트 개발자나 Node.js 개발자라면, 이 장에서 배운 것을 기반으로 현재 담당하는 시스템을 머신 러닝을 적용하여 지능적으로 만들 수 있는 몇 가지 사례를 브레인스토밍해 보세요. 아이디어를 얻으려면 표 1-1, 1-2와 1.3.3절을 참고하세요. 몇 가지 예를 추가로 소개하면 다음과 같습니다.

a. 선글라스 같은 액세서리를 파는 패션 웹 사이트는 웹캠으로 사용자의 얼굴 이미지를 캡처하고 TensorFlow.js에서 실행하는 심층 신경망을 사용해 얼굴의 랜드마크(landmark)를 감지합니다. 그다음, 감지된 랜드마크를 사용해 사용자의 얼굴 위에 선글라스 이미지를 합성하여 웹 페이지에서 선글라스 착용 모습을 시뮬레이션합니다. 클라이언트 측 추론 덕분에 빠른 속도와 높은 프레임 속도로 시뮬레이션 착용이 실행되므로 실제 같은 경험을 제공합니다. 캡처한 얼굴 이미지가 브라우저를 떠나지 않으므로 사용자의 데이터 정보 보호도 존중됩니다.

b. 리액트 네이티브(네이티브 모바일 앱을 만들기 위한 크로스 플랫폼 자바스크립트 라이브러리)로 작성된 모바일 스포츠 앱이 사용자의 운동을 추적합니다. HTML5 API를 사용하면 앱이 휴대폰의 자이로스코프(gyroscope)와 가속도계를 통해 실시간 데이터에 접근할 수 있습니다. 사용자의 현재 운동 유형(예를 들면 휴식, 걷기, 달리기, 전력 질주)을 자동으로 감지하는 TensorFlow.js로 만든 모델이 이 데이터를 사용합니다.

c. 브라우저 확장 프로그램이 (5초에 한 장씩 웹캠으로 캡처한 이미지와 TensorFlow.js로 만든 컴퓨터 비전 모델을 사용해) 해당 장치를 사용하는 사용자가 어린이인지 어른인지 자동으로 감지합니다. 이 정보를 사용해 특정 웹 사이트의 접근을 막거나 허용합니다.

d. 브라우저 기반의 프로그래밍 환경이 TensorFlow.js로 구현한 순환 신경망을 사용해 코드 주석의 오타를 감지합니다.

e. 화물 물류 서비스를 조정하는 Node.js 기반의 서버 측 애플리케이션이 운송 업체 상태, 화물의 유형과 양, 날짜/시간, 교통 정보와 같은 실시간 신호를 사용하여 각 화물의 예상 도착 시간을 예측합니다. 서버 스택을 단순화하기 위해 훈련과 추론 파이프라인은 모두 TensorFlow.js를 사용한 Node.js로 작성합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.