yce***
2022-10-02

수학이 어려운 개발자를 위한 코드 실습형 머신러닝 가이드북. 머신러닝 모델 구축부터 활용법까지 단계별로 설명하며 개발자가 마주하게 될 다양한 문제를 머신러닝으로 해결하는 법을 안내한다.
개발자를 트렌디하게 만들 책의 구성
이 책의 가장 마음에 들었던 부분을 꼽자면 바로 맨 처음에 나오는 '머신러닝이란' 부분이었습니다. 사실 저는 머신러닝, 딥러닝을 하면서도 '컴퓨터가 학습을 해서 무언가를 한다.'라는 점은 입력을 하면 출력을 한다는 점과 상당히 비슷하다고 생각했으며, 기존의 프로그래밍과의 차이점을 인지하지 못하고 있습니다. 그런데 이 책에서 기존의 프로그래밍과 머신러닝을 비교해가며 머신러닝을 설명해주는데 정말 시원한 사이다를 들이킨 것 같은 느낌이었습니다.
간단히 설명드리자면 기존 프로그래밍과 머신러닝의 차이점은 '결과물'이 다르다는 점입니다. 기존은 어떤 값이나 행동같은 결과물이 나왔다면 머신러닝은 '규칙'이라는 결과물이 나와서 그걸 다른 곳에 활용할 수 있게 되는겁니다. 제가 기존 프로그래밍과 머신러닝이 비슷하다고 생각했던 이유는 머신러닝의 결과물인 '규칙'을 활용하면 결국에는 기존 프로그래밍처럼 값이나 행동이 나오기 때문이었습니다. 그런데 이건 머신러닝 자체를 잘못 이해했던 것이었습니다. 머신러닝은 인공지능 프로그래밍의 생성부터 적용까지 이야기하는게 아니라 규칙을 만드는 과정인데, 이를 적용까지 생각해버리니 기존 프로그래밍과 비슷하다고 생각했던 것이지요. 우선 이 부분에서 좋았고, 다음은 책의 구성입니다.
책은 총 2개의 파트, 20개의 챕터로 구성되어있는데요. 모델을 만드는 것에서 끝나는게 아닌 어떻게 활용할지를 파트에서 보여주고 있으며, 챕터들의 구성이 정말 마음에 들었습니다. 아래 표를 보시면 제가 챕터를 임의로 분류 해놓았는데요. 먼저 텐서플로 소개를 해주고 그 다음에는 '시각 인공지능 - 데이터셋 사용 - 자연어 처리 - 시계열 분석'순으로 정리가 돼있는데 정말 주로 사용되는 '시각 / 언어 / 시계열'을 모두 다뤄줘서 좋았고, 인공지능의 어떤 기술로 나누는게 아닌 실제로 활용되는 분야를 지정한 후 그 안에서 설명해줌으로써 현재 어떤 부분에서 무엇을 어떻게 활용해야하는지를 알 수 있었습니다.
그리고 모델 사용 부분에서는 컴퓨터에서 활용하는 텐서플로가 아닌 앞으로 기존 보다 훨씬 더 큰 시장이 될 IoT 기기나 엣지 컴퓨팅에서 인공지능을 사용하는 방식인 텐서플로 라이트(TensorFlow Lite) 그리고 웹 서버에서 손쉽게 사용할 수 있게 만들어주는 텐서플로.js(TensorFlow.js)를 두루 다루고 있습니다. 또 마음에 들었던 부분은 모델 변환과 전이학습, 연합학습을 다루고 있다는 점입니다. 개인적으로 머신러닝 공부를 하면서 정말 활용도가 높다고 생각했던 부분들이어서 좋았습니다. 마지막으로 윤리 부분은 조금 아쉬웠는데요. 책 내용 자체는 너무 무겁지 않게 터치를해서 괜찮았는데 챕터 이름을 '인공지능 윤리, 공정성, 개인 정보 보호'라는 너무 무거운 타이틀을 쓴 것 같습니다. 그러다보니 '이런 걸 다룬다고?!'하고 기대하고 들어갔던 것 보다는 적은 정보량에 좀 실망을 하게 됩니다. 마지막 챕터에 연합학습 내용이 들어가 있던것도 조금 부자연스러웠구요. 그래도 전체적으로 봤을 때 개발자를 트렌디하게 만들어줄 수 있는 구성이어서 좋다고 생각합니다.
간략하면서 요소요소 들어있는 이미지
약 500페이지 정도밖에 안되는 책에 저렇게 많은 내용이 들어가있다보니 이걸 어떻게 다 집어넣었을까, 글만 많고 이해에 도움이 될만한 코드나 이미지 자료는 적은게 아닐까 걱정했었는데요. 이런 걱정이 무색할 정도로 한 장, 한 장을 넘겼을 때 코드나 이미지가 안보일 때가 거의 없는 수준으로 적절한 코드와 이미지들이 들어있어서 좋았습니다.