관리 메뉴

기억을 위한 기록들

<개발자를 위한 머신러닝&딥러닝> 리뷰 본문

이런저런 책들

<개발자를 위한 머신러닝&딥러닝> 리뷰

에드윈H 2022. 9. 25. 20:36

요즘(?) 핫하다고 하는 머신러닝과 딥러닝에 관심이 계속 쏠리고 있었다. 그렇게 운좋게도 해당 책을 얻어 읽어 볼 수 있었다.

 

책 제목에서부터 그렇듯 개발자가 일단 '소프트 웨어 개발자'를 위한 개발자이고 즉, 기존에 프로그래밍에 대해 선수지식이 잇는 사람들을 대상으로 생각됐다. 그 이유로 살펴보니 선수지식으로 파이썬 표기법을 이해해야 한다고 한다.

 

그외에도 뭔가 따라해보는 예제로 코틀린이나, 스위프트등으로 앱을 만드는 예제가 있어서 그런듯 싶다.

책을 먼저 목차부터 본다면

 

파트1. 모델구축

파트2 . 모델사용

 

크게 2파트로 구분되어 있고 챕터가 세분화 되어 있다.

 

 

우선 파트1. 모델 구축을 보면

챕터1. 텐서플로 소개
챕터2. 컴퓨터 비전 소개
챕터3. 고급 컴퓨터 비전 : 이미지에서 특징 감지하기
챕터4. 텐서플로 데이터셋으로 공개 데이터셋 사용하기
챕터5. 자연어 처리 소개
챕터6. 임베딩을 사용한 감성 프로그래밍
챕터7. 자연어 처리를 위한 순환 신경망
챕터8. 텐서플로로 텍스트 생성하기
챕터9. 시퀀스와 시계열 데이터 이해하기
챕터10. 시퀀스를 예측하는 머신러닝 모델 만들기
챕터11. 시퀀스 모델을 위한 합성곱 신경망과 순환 신경망

 

파트1에서는 전반적으로 머신러닝이란? 텐서플로란?무엇이고 실제로 따라해보며 따라 해볼수 있는 구축 환경을 알려준다.

 

 

간단히 얘기하자면 텐서플로는 머신러닝 모델을 만들고 사용하기 위한 오픈소스 플랫폼이다.

 

머신러닝에 필요한 많은 알고리즘과 패턴을 텐서플로에 구현해놓았기 때문이다. 그래서 이면에 있는 수학이나 로직을 모두 배울 필요가 없는게 장점이라면 장점이다. 

 

머신러닝 모델을 만드는 과정을 '훈련'이라고 하고, 컴퓨터가 일련의 알고리즘을 사용해 입력에 대해 학습하고 입력에 대해 학습하고 입력 사이의 차이점을 구별한다고 한다. 훈련을 위해 여러 데이터를 받아서 구별등을 하고 훈련이 어느정도 됐다고 하면, 새로운 입력에 대한 인식하거나, 분류하는데 그 과정을 '추론'이라고 한다.

 

모델을 훈련하는 여러가지 방법이 있다고 하는데, 이런부분도 책에서 설명도 친절하게 해주고 있다.

 

파트1까지는 텐서플로를 이용해 머신러닝 모델 만드는 방법이라고 하면, 파트2에서는 모바일 안드로이드 및 IOS에서 해당 모델들을 직접 사용하는 방법에 대해 알려준다.

 

파트2 모델 사용에서는

챕터12. 텐서플로 라이트 소개
챕터13. 안드로이드 앱에서 텐서플로 라이트 사용하기
챕터14 IOS 앱에서 텐서플로 라이트 사용하기
챕터 15. TensorFlow.js 소개
챕터16.  TensorFlow.js에서 컴퓨터 비전 모델 훈련하기
챕터17. 파이썬 모델을 변환해 재사용하기
챕터18. 자바스크립트의 전이 학습
챕터19. 텐서플로 서빙으로 배포하기
챕터20. 인고지능 윤리, 공정성, 개인 정보 보호

 

 

텐서플로 모바일 버전이라고 생각하면 되는 '텐서플로 라이트'라고 한다. 모바일에서의 제약 (배터리소모, 화면크기 등) 에 대한 제약 사항을 다뤄야하기 때문이다. 그런 개념을 설명해주며 실제로 안드로이드 스튜디오 및 IOS 스위프트를 이용해 예제들이 포함되어 있다.

 

 

 
그외에 Tensorflow.js 사용법도 알려주고 끝으로 머신러닝에 대한 어떤 데이터를 다뤄야하는가에 대한 공정성 부분도 짚어주고 있다. 이런 부분은 개발에만 신경쓰다보면 놓칠수 있는 부분인데 짚어주고 있어서 좋다고 생각한다.

 

 

어떤 분야든 책 한권으로 마스터할수 절대 없다고 생각하고, 게다가 머신러닝이라는것도 절대 쉽지 않다고 생각한다.

 

그런여러 방면에서 해당 책은 머신러닝이란 무엇이고, 직접 예제를 통해 살펴볼수있는 좋은 책이라고 생각한다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."