hji7***
2022-03-28

머신러닝 아이디어가 제품으로 개발되기까지의 과정을 머신러닝 에디터 예제를 살펴보며 배우는 책이다. 유용한 코드와 친절한 그림, 업계 리더와의 인터뷰를 통해 머신러닝 기반 애플리케이션을 설계, 구축, 배포하는 데 필요한 기술을 터득해보자.
머신러닝관련 애플리케이션을 구축하는 경험을 담은 책입니다. 저자는 다양한 머신러닝 프로젝트를 진행한 경험이 있는 것 같군요.
저자는 일반적인 애플리케이션 개발 과정과 근본적으로는 같지만 머신러닝 애플리케이션 개발 과정에서 다른 점이 어떤 부분인지 다양한 경험을 통해서 얻어낸 통찰을 쏟아 내고 있습니다.
- 경험적으로 해결책을 정의할 수 없는 문제에 적합한 시스템을 만들 때 특히 머신러닝이 유용합니다. ( 27쪽 )
- 비슷한 모델이나 데이터셋으로 만든 공개된 모델을 찾아보세요 ( 61쪽 )
- 머신러닝처럼 변화가 많은 분야에서는 기존의 방법을 잘 활용하는 것이 중요합니다. ( 62쪽 )
- 머신러닝은 반복적인 과정입니다. 모델이 어떻게 실패하는지 확인하는 것이 가장 성능을 빠르게 높이는 방법입니다. ( 67쪽 )
- 아직 필요하지 않는 것을 만들려는 충동을 억제하는 일입니다. ( 68쪽 )
- 방향을 잘못 잡으면 비용 손실이 매우 큽니다. ( 75쪽 )
- 전략이 세워진 후에 큰 데이터셋으로 사이즈를 늘리는 것이 합리적입니다. ( 93쪽 )
- 테스트 커버리지가 높으면 애플리케이션이 잘 동작한다는 강한 확신을 줄 수 있습니다. ( 176쪽 )
- 전체 훈련 세트를 전달하고 모델의 성능이 제품의 목표를 위해 정의한 요구 사항에 도달한다면 다음 단계로 이동해도 괜찮습니다. ( 193쪽 )
- 모든 데이터셋은 편향되어 있다는 가정에서 출발해 이 편향이 모델에 얼마나 영향을 미칠지 추정해야 합니다. ( 231쪽 )
저는 미래에 대한 두려움, 호기심 같은 것 때문에 몇년전 부터 머신러닝이나 딥러닝에 대한 책들을 읽고 있는데요. 지금까지 책을 읽으면서, 느낀건, '정말 대단한 기술이라는 것'과, '이걸 어떻게 애플리케이션으로 만들어 내는지'에 대한 의문이었습니다.
그러나 이 책을 읽으면서, 머신러닝 또는 딥러닝 애플리케이션을 어떻게 만들어 나가는지 전반적인 과정을 이해할 수 있었던 것 같아서 좋았습니다.
게다가, 저자가 일반적인 애플리케이션 개발 과정이라 말하는 MVP나 KISS와 같은 개념들은 정말 많은 생각을 하게 했습니다. 사실 맞는 이야기 인데 그 일반적인 과정이 우리 주변에서는 잘 지켜지지 않고 있는 경우가 많기 때문입니다.
( 특히 헨릭 크니버그의 블로그 내용을 인용하는 부분은 인상정이었습니다. https://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp )
머신러닝이나 딥러닝 분야는 아직도 활발하게 발전하고 있는 분야이기 때문에, 책도 많지만 조금만 깊이 공부하려고 하면 논문도 많이 봐야 하는 것 같습니다. 이런 경우 이렇게 한꼭지 정리해주는 책은 상당히 큰 도움이 됩니다.
그런 의미에서 이 책은 직접 머신러닝/인공지능 분야에 뛰어드는 개발자에게 도움이 될 것 같습니다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."