메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

오래된 내 정보 속 옥의 티를 찾아라(2022.9.22~12.31) / 회원정보 UPDATE하고 선물도 받고!

개발자를 위한 머신러닝&딥러닝

인공지능 개발자로 레벨 업하기! 신경망 기초부터 컴퓨터 비전, 자연어 처리, 시계열 예측까지

한빛미디어

번역서

판매중

  • 저자 : 로런스 모로니
  • 번역 : 박해선
  • 출간 : 2022-08-24
  • 페이지 : 464 쪽
  • ISBN : 9791169210126
  • 물류코드 :11012
초급 초중급 중급 중고급 고급
4.9점 (30명)
좋아요 : 5

수학이 어려운 개발자에게 바치는 

코드 실습형 머신러닝 가이드북

 

인공지능 기술 도입률이 늘면서 개발자에게 필요한 역량도 높아지고 있다. 산업을 획기적으로 변화시키는 인공지능, 어떻게 하면 현명하고 실속 있게 마스터할 수 있을까? 이 책의 목표는 개발자가 마주하게 될 다양한 문제를 머신러닝으로 해결하는 방법을 안내하고, 머신러닝과 인공지능 개발자로 레벨 업할 수 있도록 돕는 것이다.

수만 명이 선택한 온라인 강좌 기반으로 내용을 구성했고, 복잡하거나 어려운 수식은 다루지 않으며 다양한 예제 코드를 실습하면서 주요 개념을 배워본다. 머신러닝 세계에서 만나게 될 다양한 시나리오를 구현해보고, 컴퓨터 비전, 자연어 처리, 웹, 모바일, 클라우드 및 임베디드 런타임을 위한 시퀀스 모델링도 소개한다. 이 책을 읽고 나면 여러분은 곧 파이썬과 텐서플로로 머신러닝과 인공지능의 세계를 자유롭게 유영하는 인공지능 개발자로 업그레이드하게 될 것이다.

 

 

상세이미지700_개발자를 위한 머신러닝&딥러닝.jpg

로런스 모로니 저자

로런스 모로니

구글의 인공지능 개발 지원 팀(advocacy) 리더. 소프트웨어 개발자가 머신러닝으로 인공지능 시스템을 구축할 수 있도록 교육하는 것이 목표입니다. 텐서플로 유튜브 채널(youtube.com/tensorflow)에 영상을 자주 올리며, 국제적으로 유명한 기조 연설자입니다. 수많은 책과 각본을 저술한 작가이기도 하며 그중 SF 소설 몇 권이 베스트셀러에 오르기도 했습니다. 워싱턴주 사마미시에 거주하며 지독한 커피홀릭입니다.

박해선 역자

박해선

기계공학을 전공했지만 졸업 후엔 줄곧 코드를 읽고 쓰는 일을 했습니다. 텐서 플로우 블로그(tensorflow.blog)를 운영하고 있고, 머신러닝과 딥러닝에 관한 책을 집필하고 번역하면서 소프트웨어와 과학의 경계를 흥미롭게 탐험하고 있습니다. 『혼자 공부하는 머신러닝+딥러닝』(한빛미디어, 2020), 『Do it! 딥러닝 입문』(이지스퍼블리싱,2019)을 집필했습니다. 『XGBoost와 사이킷런을 활용한 그레이디언트 부스팅』(한빛미디어, 2022), 『구글 브레인 팀에게 배우는 딥러닝 with TensorFlow.js』(길벗, 2022), 『파이썬 라이브러리를 활용한 머신러닝(번역개정2판)』(한빛미디어, 2022), 『머신러닝 파워드 애플리케이션』(한빛미디어, 2021), 『파이토치로 배우는 자연어 처리』(한빛미디어, 2021), 『머신 러닝 교과서 with 파이썬, 사이킷런, 텐서플로(개정3판)』(길벗, 2021), 『딥러닝 일러스트레이티드』(시그마프레스, 2021), 『GAN 인 액션』(한빛미디어, 2020), 『핸즈온 머신러닝(2판)』(한빛미디어, 2020), 『미술관에 GAN 딥러닝 실전 프로젝트』(한빛미디어, 2019), 『파이썬을 활용한 머신러닝 쿡북』(한빛미디어, 2019), 『케라스 창시자에게 배우는 딥러닝』(길벗, 2018)을 포함하여 여러 권의 책을 우리말로 옮겼습니다.

[PART I 모델 구축]


CHAPTER 1 텐서플로 소개

1.1 머신러닝이란

1.2 전통적인 프로그래밍의 한계

1.3 프로그래밍에서 학습으로

1.4 텐서플로란

1.5 텐서플로 사용하기

1.6 머신러닝 시작하기

1.7 마치며

 

CHAPTER 2 컴퓨터 비전 소개

2.1 의류 아이템 인식하기

2.2 컴퓨터 비전을 위한 뉴런

2.3 신경망 설계

2.4 신경망 훈련하기

2.5 모델 출력 살펴보기

2.6 더 오래 훈련하기: 과대적합

2.7 훈련 조기 종료

2.8 마치며

 

CHAPTER 3 고급 컴퓨터 비전: 이미지에서 특징 감지하기

3.1 합성곱

3.2 풀링

3.3 합성곱 신경망 만들기

3.4 합성곱 신경망 살펴보기

3.5 말과 사람을 구별하는 CNN 만들기

3.6 이미지 증식

3.7 전이 학습

3.8 다중 분류

3.9 드롭아웃 규제

3.10 마치며

 

CHAPTER 4 텐서플로 데이터셋으로 공개 데이터셋 사용하기

4.1 텐서플로 데이터셋 시작하기

4.2 케라스 모델에서 텐서플로 데이터셋 사용하기

4.3 데이터 증식을 위해 매핑 함수 사용하기

4.4 사용자 정의 분할 사용하기

4.5 TFRecord 이해하기

4.6 텐서플로에서 데이터 관리를 위한 ETL 프로세스

4.7 마치며

 

CHAPTER 5 자연어 처리 소개

5.1 언어를 숫자로 인코딩하기

5.2 불용어 제거와 텍스트 정제

5.3 실제 데이터 다루기

5.4 마치며

 

CHAPTER 6 임베딩을 사용한 감성 프로그래밍

6.1 단어의 의미 구축하기

6.2 텐서플로의 임베딩

6.3 임베딩 시각화

6.4 텐서플로 허브에서 사전 훈련된 임베딩 사용하기

6.5 마치며

 

CHAPTER 7 자연어 처리를 위한 순환 신경망

7.1 순환 구조

7.2 순환을 언어로 확장하기

7.3 RNN으로 텍스트 분류기 만들기

7.4 RNN에 사전 훈련된 임베딩 사용하기

7.5 마치며

 

CHAPTER 8 텐서플로로 텍스트 생성하기

8.1 시퀀스를 입력 시퀀스로 변환하기

8.2 모델 만들기

8.3 텍스트 생성하기

8.4 데이터셋 확장하기

8.5 모델 구조 바꾸기

8.6 데이터 개선하기

8.7 문자 기반 인코딩

8.8 마치며

 

CHAPTER 9 시퀀스와 시계열 데이터 이해하기

9.1 시계열의 공통 특징

9.2 시계열 예측 기법

9.3 마치며

 

CHAPTER 10 시퀀스를 예측하는 머신러닝 모델 만들기

10.1 윈도 데이터셋 만들기

10.2 DNN을 만들고 시퀀스 데이터로 훈련하기

10.3 DNN의 결과 평가하기

10.4 전반적인 예측 살펴보기

10.5 학습률 튜닝하기

10.6 케라스 튜너로 하이퍼파라미터 튜닝하기

10.7 마치며

 

CHAPTER 11 시퀀스 모델을 위한 합성곱 신경망과 순환 신경망

11.1 시퀀스 데이터를 위한 합성곱

11.2 NASA 날씨 데이터 사용하기

11.3 RNN으로 시퀀스 모델링하기

11.4 다른 순환 층

11.5 드롭아웃 사용하기

11.6 양방향 RNN 사용하기

11.7 마치며

 

 

[PART II 모델 사용]


CHAPTER 12 텐서플로 라이트 소개

12.1 텐서플로 라이트란

12.2 훈련된 모델을 텐서플로 라이트로 변환하기

12.3 전이 학습으로 만든 이미지 분류기를 텐서플로 라이트로 변환하기

12.4 마치며

 

CHAPTER 13 안드로이드 앱에서 텐서플로 라이트 사용하기

13.1 안드로이드 스튜디오란

13.2 첫 번째 텐서플로 라이트 안드로이드 앱 만들기

13.3 이미지를 처리하는 앱 만들기

13.4 텐서플로 라이트 샘플 앱(안드로이드용)

13.5 마치며

 

CHAPTER 14 iOS 앱에서 텐서플로 라이트 사용하기

14.1 Xcode로 첫 번째 텐서플로 라이트 앱 만들기

14.2 한 걸음 더: 이미지 처리하기

14.3 텐서플로 라이트 샘플 앱(iOS용)

14.4 마치며

 

CHAPTER 15 TensorFlow.js 소개

15.1 TensorFlow.js란

15.2 브래킷츠 설치하고 실행하기

15.3 첫 번째 TensorFlow.js 모델 만들기

15.4 붓꽃 분류기 만들기

15.5 마치며

 

CHAPTER 16 TensorFlow.js에서 컴퓨터 비전 모델 훈련하기

16.1 텐서플로 개발자를 위한 자바스크립트 고려 사항

16.2 자바스크립트로 CNN 만들기

16.3 시각화를 위해 콜백 사용하기

16.4 MNIST 데이터셋으로 훈련하기

16.5 TensorFlow.js로 이미지에 대해 추론 수행하기

16.6 마치며

 

CHAPTER 17 파이썬 모델을 변환해 재사용하기

17.1 파이썬 기반 모델을 자바스크립트로 변환하기

17.2 사전에 변환된 모델 사용하기

17.3 마치며

 

CHAPTER 18 자바스크립트의 전이 학습

18.1 MobileNet으로 전이 학습 수행하기

18.2 텐서플로 허브를 사용한 전이 학습

18.3 TensorFlow.org를 사용한 전이 학습

18.4 마치며


CHAPTER 19 텐서플로 서빙으로 배포하기

19.1 텐서플로 서빙이란

19.2 텐서플로 서빙 설치하기

19.3 모델 구축과 배포

19.4 마치며

 

CHAPTER 20 인공지능 윤리, 공정성, 개인 정보 보호

20.1 프로그래밍의 공정성

20.2 머신러닝의 공정성

20.3 공정성을 위한 도구

20.4 연합 학습

20.5 구글의 인공지능 원칙

20.6 마치며

인공지능 4대 석학 앤드루 응이 추천하는 

개발자의, 개발자에 의한, 개발자를 위한 머신러닝 가이드북 

 

바야흐로 인공지능의 시대! 인공지능 기술은 급성장해왔고 금융, 교육, 유통, 제조업 등 다양한 산업에서 앞다투어 인공지능을 도입하고 있습니다. 시대 흐름에 발맞춰 인공지능 관련 교육은 다양화되고 교육에 참여하는 연령층도 점점 낮아지고 있지만, 여전히 머신러닝, 딥러닝 첫걸음을 떼기 어려워하는 개발자가 많습니다. 인공지능을 제대로 배우고 싶은데 복잡한 수식이 부담인 개발자라면, 어려운 이론 없이 파이썬 코드로 머신러닝을 시작해보고 싶은 개발자라면 이 책과 함께 머신러닝 세계에 첫발을 내디딜 차례입니다!

 

이 책은 개발자의 입장에서 머신러닝과 텐서플로가 무엇인지 설명하고 실습을 위한 텐서플로 설치법을 안내합니다. 간단한 모델을 직접 구현해보고 패션 MNIST, 말-사람, 가위, 바위, 보, Sarcasm, 강아지-고양이 데이터셋 등 다양한 데이터셋을 활용해 머신러닝, 딥러닝 모델을 구축해봅니다. 이 책은 컴퓨터 비전, 합성곱, 순환 신경망은 물론 텐서플로 라이트, TensorFlow.js, 텐서플로 서빙까지 다루는 ‘개발자를 위한 머신러닝 종합 선물 세트’입니다. 명확하고 실용적인 개념 설명과 예제 코드로 차근차근 머신러닝을 배워보세요. 인공지능 개발자로 레벨 업할 여러분을 응원합니다. 

 

대상 독자

  • 머신러닝, 시작하고 싶은데 어떻게 시작해야 할지 막막한 개발자
  • 어려운 수학이나 이론 없이 파이썬 코드로 직접 실행해보며 머신러닝 개념을 체득하고 싶은 누구나

 

주요 내용

  • 텐서플로로 다양한 모델 구조 만들어보기
  • 하나의 뉴런을 가진 신경망으로 모델 구축하기
  • 컴퓨터 비전으로 이미지의 특성 감지하기
  • 자연어 처리로 단어와 문장을 토큰화하고 순서 지정하기
  • 텐서플로 라이트로 모바일 기기에서 모델 사용하기
  • 텐서플로 서빙으로 웹이나 클라우드에 모델 배포하기

 

추천사

 

로런스 모로니는 텐서플로를 세계 최고의 인공지능 프레임워크로 만드는 데 중요한 역할을 했습니다. DeepLearning.AI와 코세라에서 8만 명이 넘는 수강생이 로런스의 온라인 강의를 수료했고 그 과정에서 그를 도울 수 있어 영광이었습니다. 여러분도 이 책을 들고 로런스와 함께 엄청난 모험을 떠나보세요. 텐서플로를 배우는 여러분의 여정에 행운이 깃들길 기원하겠습니다.

_앤드루 응, 코세라&DeepLearning.AI 설립자

 

이 책은 복잡한 수식이 아닌 다양한 예제 코드를 통해 여러분을 인공지능의 세계로 안내합니다. 머신러닝, 딥러닝 입문자들의 필독서입니다.

_마거릿 메이너드-리드, ML GDE

 

모델을 이해하는 법과 다양한 플랫폼의 머신러닝, 딥러닝 애플리케이션에 텐서플로를 적용하는 법도 소개합니다. 인공지능에 관심이 있는 모든 분에게 추천합니다. 

_자린 황, 마이크로소프트 데이터 및 응용과학자

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

 

제목이 좋았다. 개발자를 위한 머신러닝&딥러닝.

 

모델을 활용하는 부분도 있겠다 싶었는데 역시나 였다. 

 

책은 크게 두파트로 나뉘어져 있으며 첫번째 파트에서는 문제 도메인에 적절한 모델들에 대한 설명들을 하고 있으며 

 

두번째 파트에서는 텐서플로 라이트에 대한 소개를 시작으로 응용(활용에 더 가깝다)에 초점이 맞추어져 있었다.

 

배포나 서빙 등 활용에 있어서 이렇게 분량을 주었던 책이 있나 싶다.

 

예전에 안드로이드 타겟으로 텐스플로 라이트를 설명하는 책을 본 것 같긴한데.. 무튼 각설.

 

제목이 좋았는데 역시 배신하지 않았다. 

 

구현을 중심에 두고 설명을 이어가는데 이런 흐름은 부담스럽지 않고 호기심에 기반해서 공부를 할 수 있어 즐거울수 있다. 

 

궁금한게 있으면 그때그때 따로 알아보면 된다. 하지만 역시나 단점은 있다. 깊이가 없을수 있는데 그런데 이제.. 깊이가 의미가 있을까 싶다.

 

오히려 이런 접근이 흥미를 잃지 않게 공부할 수 있게 하지 않을까 싶었다.

 

마지막으로 개인적인 취향이지만 텐서플로가 아니라 파이토치였으면 얼마나 더 좋았을까 ㅜ.ㅡ 

 

undefined

 

tempImageHBfNPl.jpg

 

컴퓨터/IT] 개발자를 위한 머신러닝&딥러닝

신경망 기초부터 컴퓨터비전, 자연어처리, 시계열 예측까지

알아볼 수 있다는 표지에 호기심이 열리고

목차를 살펴보며 내가 원하던 딱 그런!

코드로 개념잡아볼 수 있는 책이란 생각에 펼쳐들게 되었다.

 1_1.jpg

이 책은 크게 두 부분으로 나뉘어서 진행된다.

 

먼저 머신러닝 모델을 텐서플로로 구축하는 방법을 

하나의 뉴런을 가진 신경망 모델을 만드는 방법부터 

컴퓨터 비전(CNN), 자연어 처리(RNN), 시퀀스 모델링(CNN, RNN)까지

알아본 후 

앞서서 만든 모델을 텐서플로우 라이트를 이용해

사용하는 방법을 알려준다. 

안드로이드, iOS로 배포하거나 

웹 브라우저에서 자바스크립트로 실행하여 

클라우드로 배포하는 방법을 알아볼 수 있다.

 

처음부터 단계적으로 알아보고 싶은 사람은 목차별로 살펴봐도 되지만

특정 파트에서 머신러닝 모델을 구축하고 싶은 사람은

파트별로 살펴봐도 괜찮은거 같다.

다만 앞서서 설명했던 내용은 뒷부분에는 생략되어 있기 때문에

건너뛰고 보다가 설명이 필요한 부분은 앞에 부분에서 찾아봐야 한다.

 

나는 컴퓨터 비전 쪽에 관심이 있어서 해당 부분부터 살펴봤는데

컴퓨터 비전 소개 파트에서 패션MINST를 활용해 훈련하는 부분이

기초 코드로 시작해서 과대적합, 조기종료로 

 

단계적으로 내용이 구성되어 있어서 좋았다.

에폭 횟수를 하드코딩하는 코드뿐만 아니라

원하는 정확도에서 종료되게하는 코드가 있어서 좋았다.

 

또한 볼수록 굉장히 친절한 책이구나 감탄하며 봤는데

저자가 원 내용을 잘 풀어낸 것도 있지만

역시나 옮긴이의 능력이 대단한거 같다.

저자가 코드에 대해 세세하게 설명을 달아 주었다면

옮긴이가 그 설명에 더 친절하게 부가설명 또는 

참고하면 좋을 사항들을 알려줘서 보기 좋았다.

저자의 내용도 잘 전달하면서

옮긴이의 친절한 부가 설명까지 더해지면서

설명이 정말 풍성해진 느낌!

역시 번역서는 옮긴이가 중요함을 다시 한번 더 깨닫게 되었다.

 

1_2.jpg

 

각 파트는 앞에 개념을 설명하고 거기에 맞춰 코드가 나오는데

개념들은 이해를 돕기위해 친절하게 도식화되어 있다.

설명과 적절한 그림들이 매치되어 이해를 도와준다.

 

1_3.jpg

모델 사용하는 두번째 부분에서는 활용이라는 초점에 맞게

폰과 PC라는 디바이스에서 어떻게 텐서플로우를 활용해 

모델을 사용하는지 알려주는데 

역시나 친절하게 각 디바이스별로 IDE에서 

텐서플로우를 사용하는 방법을 알려준다.

나는 웹 브라우저에서 사용하는 부분이 관심 있어서 

그 부분부터 보았는데 텐서플로우.js를 통해

html에 표시하는 부분이 흥미로웠다.

단순하게 사용법을 알려주는 것에 그치지 않고

텐서플로를 이용해 자바스크립트로 표현할 때

참고하면 좋을 만한 사항들을 알려줘서 

해당 내용을 공부한 뒤 자신의 프로젝트에 적용할 때

많은 도움이 될꺼 같았다.

 

참고로 나는 구글 코렙에서 실습해 보았다^^

 

신경망 기초부터 컴퓨터 비전, 자연어 처리, 시계열 예측을

활용하여 모델도 구축해보고

다양한 디바이스에서 해당 모델을 사용하는 걸

알아보고 싶은 사람에게

이 책을 추천해주고 싶다.

 

머신러닝&딥러닝에 대해

기본적인 코드와 

친절하고도 자세한 설명과

다양한 활용에 대해서 알아 볼 수 있다.

 

----------------------------------------------

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

----------------------------------------------

 

 

 

얼마 전까지만 해도 인공지능을 배워야 하나 고민을 했었는데, 이젠 선택이 아닌 필수가 되었다. #프로그래머 라면, 인공지능을 몰라서는 안 되는 세상이 된 것이다. #머신러닝, #딥러닝 같은 #인공지능 을 기존에 배우지 못했던 경력 #개발자 경우, 어떻게 보면, 발등에 불이 떨어진 상황일 수도 있다.

 

나 역시도 이렇게 빨리 인공지능 기술이 본격적으로 쓰이게 될 줄은 몰랐다. 그래서 인공지능을 그저 신기하고 재미있다는 생각으로만 가끔씩 인공지능 책을 보곤 했었다. 그런데 지금은 이러다 뒤처지겠다는 긴장감이 엄습하며, 정신 차리고 제대로 공부하려고 한다.

 

이런 상황은 과거 스마트폰이 퍼지기 시작했을 때와 아주 흡사하다. 당시 앱 개발에 발 빠르게 뛰어든 사람들은 여기저기 유명세도 타고, 기업들이 모셔가기 바빴다. 각종 개발로 고수익을 창출하기도 했다.

 

그런데 인공지능은 시장면에서 스마트폰 보다 판이 더 크다. PC, 모바일, 산업 자동화, 임베디드 기기 등 다양한 플랫폼에 적용할 수 있기 때문이다. 게다가 코딩 하나로 생산성, 기능성, 확장성, 정확성 등 다양한 성능 개선을 이룰 수 있다 보니, IT 분야 뿐만 아니라 미래의 문화, 경제, 금융, 산업 등에 혁명을 가져올 수 있는 기술이다. 따라서 신기술에 관심 있고, 사업적으로 야망이 있는 개발자, 창업자라면, 인공지능 관련 기술은 꼭 익혀야 할 것이다.

 

 

 

이에 책 제목처럼 개발자라면, 꼭 한 번쯤은 봐야 하는 책이 바로 '개발자를 위한 머신러닝 & 딥러닝'이라고 생각한다. 읽어 보면 확실히 느끼겠지만, 인공지능의 이 지식, 저 지식을 짜깁기 해서 구성한 책이 절대 아니다. 학습의 개념이해 부터 책 전반의 구성이나 내용이 기존에 봤던 인공지능 책과 달리 새롭게 되어 있다.

 

저자 로런스 모로니는 서두에 있는 '이 책에 대하여'에서 개발자인 독자를 박사 학위 없어도 머신러닝과 인공지능 개발자가 될 수 있도록 돕는 게 책의 목표라 말하고 있다. 이 말이 빈말이 아닌 것이 일반적으로 인공지능을 깊이 있게 알려면, 많은 수학 지식이 필요한데, 여기서는 그런 것을 배제하고, 코드를 중심으로 스피디하게 머신러닝, 딥러닝을 익힐 수 있게 해주고 있다. 원리 보다는 응용력을 키우는 내용을 담고 있는 것이다. 다만 인공지능 초보자를 위한 책은 아니다.

 

 

 

여기에 나오는 코드들은 텐서플로와 파이썬을 주로 이용한다. 파트2에 코틀린, 스위프트, 자바스크립트, HTML이 약간 등장한다. 텐서플로는 각기 다른 3가지 설치법부터 해서, 공개 데이터셋 사용하기, 각종 #텐서플로 이용법 등 어느 정도 자세히 설명하고 있어 잘 몰라도 크게 어려움이 없으나, 파이썬과 기타 언어들은 별도 설명이 없으므로 이 책을 원활히 보려면, 미리 학습이 되어 있어야 한다.

 

 

 

처음 등장하는 코드는 X, Y 데이터로 함수를 역으로 찾아내는 것인데, 이것을 시작으로 신경망을 익히고, 다시 이걸 이미지 내용을 식별하는 합성곱, 전이학습, 자연어 처리 순으로 계속해서 확장해 나간다. 꼬리에 꼬리를 무는 형식으로 #AI 지식을 배워 나간다.

 

코드 한 줄, 한 줄 의미가 무엇인지 자세히 설명하고, 매 번 결과도 함께 확인을 한다. 필요에 따라서는 도표나 그림으로 추가 설명도 하고 있다 보니, 설명이 머리에 쏙쏙 들어오게 잘 되어 있다.

 

게다가 #개발자를위한머신러닝딥러닝 곳곳에 나오는 주석과 NOTE를 보면, 박해선 번역가가 얼마나 열일을 했는지 알 수 있다. 옮긴이의 이런 수고 덕분에 이 책을 더욱 확실히 이해할 수 있었고, 책의 가치도 더 높아졌다 생각한다.

 

 

 

파트 2에서는 더욱 다양한 시스템에서의 머신러닝과 딥러닝 활용 방법을 배운다. 텐서플로 서빙, 텐서플로 라이트, TensorFlow.js 를 사용해 웹, 클라우드, 모바일, 임베디드 시스템 코딩을 모두 경험하게 된다. 많은 형태를 다루는 만큼 깊이 있는 내용은 아니지만, 접하지 않은 분야도 경험할 수 있어, 시야를 좀 더 넓힐 수 있었다.

 

 

 

'개발자를 위한 머신러닝 & 딥러닝' 마지막인 챕터 20에서는 인공지능 윤리, 공정성, 개인 정보 보호가 주제인데, 인공지능에 관련된 다양한 생각, 보충 조언 같은 것들을 담고 있는데, 인공지능 기술이 사회에 큰 영향을 끼칠 수 있는 만큼, 그저 시키는 데로 일만 하는 #프로그래머 가 아닌 깨어 있는 사회 공동체의 일원으로 무엇을 해야 할지, 나의 영향력은 무엇인지, 다시 생각하게 만든다.
 
저자의 경력을 보면, 인공지능 교육에 많은 공을 들인 것을 알 수 있는데, 그래서 그런지 '개발자를 위한 머신러닝 & 딥러닝'을 보는 내내 책의 구성과 내용이 인공지능 교육에 최적화 되어 있다는 느낌을 받았다. 마치 명강사가 들려주는 수업과 같았다. 그만큼 독학으로 공부하기에 좋다. 그리고 머신러닝, 딥러닝 기술을 보다 쉽게 응용할 수 있게 해주고, 인공지능 기술 전반을 꿰뚫어 볼 수 있는 안목도 길러준다. 시대에 걸맞은 인공지능 개발자로 새롭게 업그레이드, 레벨업 할 수 있게 도와주는 값진 내용의 책이다.



다운로드.jpg

 

 

"머신러닝 개발자로 한단계 업그레이드를 위한 책"

 

개발자를 위한 머신러닝 & 딥러닝책은 기존 많은 머신러닝 책하고는 다른 부분이 있다.

기존의 많은 책들이 CNN, RNN, DNN 등 모델에 관한 정의에 국한된 내용들이 많았다면

해당책은 모델을 활용한 단계적인 레벨업에 초점을 두었다고 할수있다. 학원에 학습과정처럼

단계 단계를 올라가다보면 해당 모델에 대한 이해와 적용예제를 통한 방법을 터득하게 된다.

이 책에서도 말했듯이 AI와 관련된 내용을 공부한다는게 전공자에게도 힘들고, 더 깊게 내용을 다루는곳이

대학원과정에서나 볼수 있기 때문에 개발자에게 머신러닝에 대한 접근이 쉽지 않은게 현실이다.

책을 읽고 나서 느낀점은 너무 많은 내용의 모델과 수학 이론을 설명하기 보다는 CNN, RNN만 활용하여 처음부터 단계적 설명을 통한 제대로 알게 해준다는 점이 가장 좋았던 점 같다.

 

다만. 파이썬 문법적인 요소와 텐서플러, 케라시스등과 같은 내용이 선행되어야 책을 이해하기 쉽기 때문에

개발자들에게 기초서적으로는 볼수 없다. 이 책의 번역자인 박해선님의 다른 머신러닝 기초책(혼자공)을 읽어보고 난 후 이책을 접해본다면 좋을듯 하다.

 

 

"단계적 구성으로 되어있는 파트분류가 좋다"

 

책의 구성은 크게 2파트로 나눠져 있다. 1부와 2부로 크게 나눠져 있는데 1부에서는 텐서플로로 다양한 모델 구조를 만들어보는 내용으로 구성되어있고, 2부에서는 텐서플로 모델을 사용하고 모바일과 웹브라우저에서 실행하는 방법, 그리고 클라우드에 배포하는 방법까지 자세하게 다루고 있다.

 

책 구성상 좋은점을 뽑으라면 1부에서 텐서플로를 활용한 모델을 만들어 가는 과정을 자세히 설명하고, 중간중간에 수학적 알고리즘에 해당하는 함수(라이브러리)들을 사용하는 내용들에 대한 설명이 잘 되어있다는 점이며,

2부에서는 다소 어려운 내용들이 존재하기도 하지만 IOS나 안드로이드에서 텐서플로라이트 사용방법과

Tensor.js를 활용한 브라우저에서 머신러닝을 활용하는 방법등은 처음 접해보는 부분이라서 좋았던것 같다.

 

"이런 분들에게 추전하고 싶다"

 

책 구성에 일부분만 보아도 도움이 되도록 잘 구성 되어있고, 소스코드 및 코드에 대한 설명도 머신러닝을 공부하는데 잘 이해 할 수 있도록 되어있다. 그래도 머신러닝을 처음 접해보는 분들에게는 어려울 수 있다.

머신러닝과 딥러닝의 기초 개념을 알고 있는 독자라면 충분히 현장에서도 바로 사용할 수 있는 코드 구성과

이론이 있기 때문에 머신러닝 초급자에서 중급자로 업그레이드 하고 싶은분들에게 이책을 추천하고 싶다.

 

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

 



 

개발자를 위한 머신러닝 딥러닝.png

제목이 정말 적절하다고 생각합니다.

 

'개발자는 어떻게 일하는가?'를 생각하면 자연스럽게 떠오르는 방식이 있습니다. 문제와 원하는 답이 주어지면, 그 안에 있는 규칙을 파악하고, 데이터를 활용하여 답을 제공하는 구조를 만드는 방식입니다.

이런 방식에 익숙한 개발자에게 학습은 조금 다른 형태를 가진다고 알려주며 시작합니다.

하지만, 언제가 그렇듯이 앞에 나오는 함축된 한마디가 이후에 있는 다양한 설명이 알려주고자 하는 바를 품고 있습니다.

 

머신러닝과 딥러닝이 뭔지 전혀 모르신다면 간략한 안내서를 함께 보신다면 훨씬 쉽게 읽으실 수 있으리라 생각합니다. 간략하다는 건 수식은 잘 보이지 않는 대신 그림이 많고 친절한 설명이 덧붙여져 있으며 얇다는 뜻입니다. 머신러닝을 이렇게 시작한다고 알려주기는 하는데 머신러닝이 어떻게 돌아가는지 간략하게는 알고 있다고 가정하는 듯합니다.

 

 

궁금해할 부분이 뭔지 알고 알려줍니다.

 

개발자의 성향을 너무 잘 알고 있습니다.

머신러닝과 관련된 책이나 블로그에서 사용하는 코드를 보면 다양한 파라미터가 정신없이 나옵니다. 비슷한 형태가 반복되기에 자주 접하다 보면 코드 형태는 머지않아 익숙해집니다. 그렇지만, 파라미터가 가지는 값들이 도대체 어디서 왔는지 설명해 주는 내용을 찾기는 정말 어렵습니다. 잘해야 '경험을 통해 얻은 값이다.' 정도입니다.

저자는 머신러닝에 배우면서 궁금하지만 속 시원하게 알 수 없어 답답해하는 부분들이 어디인지 알고 있는 것 같습니다. 그렇기에 파라미터가 가지는 값들이 어디에서 왔고 어떤 성격을 가지는지 조곤조곤 설명해 줍니다. 이것만으로도 속이 뻥 뚫리는 느낌을 받으실 분들이 계시리라 생각합니다.

 

 

모델을 만드는 현실적인 방법이 있습니다.

 

모델을 만드는 것보다 모델을 훈련시킬 데이터를 구하는 게 더 어렵습니다. 실제로 모델 훈련과 관련하여 다양한 데이터가 많을수록 좋다는 건 쉽게 알 수 있습니다. 하지만 데이터는 늘 부족하다는 걸 알기에 데이터를 보강할 수 있는 다양한 방법들이 제공됩니다. 이런 방법을 사용하더라도 아쉬움을 느끼게 됩니다.

길은 있습니다. 다만, 아직 모르고 있을 뿐입니다.

공개 데이터셋과 전이 학습이라는 멋진 방법이 있습니다. 게다가 이들은 점점 더 확장되고 강화될 것입니다.

 

 

모델을 어떻게 사용할 수 있는지 보여줍니다.

 

어떤 모델을 어떻게 만드는지 알려주는 자료는 어렵지 않게 찾을 수 있습니다. 물론 상황과 도구별로 수준이 천차만별이기도 일반화하기는 조심스럽습니다. 그렇더라도 어렵게 모델을 훈련시키는 것과 이를 적용하는 건 또 다른 문제입니다.

겨우 모델을 훈련해서 예측이 어느 정도 가능하게 되더라도 여기까지는 모델 구축 단계일 뿐입니다.

'이제 이걸 어떻게 하지?' 하는 막막함을 만나는 순간이기도 합니다.

이러한 막막함을 2부에서 친절하게 풀어줍니다. 어떻게 배포하고 무엇을 사용하는지 보여줍니다.

대표적인 환경인 앱, 브라우저, 서버, 각 환경에서 사용하는 방식을 익숙한 예제를 통해 만날 수 있습니다.

 

 

처음에는 코드에 얽매이지 말고 빠르게 전체를 먼저 읽어 보시길 권해 드립니다.

한번 읽고 덮는 책이 아니라고 생각합니다.

먼저 방향을 알고, 배우는 단계를 거쳐서, 변화와 다양한 시도를 통해 익숙해질 수 있을 것 같습니다.

 

 

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

이 책은 텐서플로를 접해 본 경험이 있어서 기초적인 지식을 갖고있는 분들에게 적합한 책입니다.

이 책은 수학이 어려운 이론을 대신해서 코드를 우선으로 광범위하게 실습이 있고 최신 텐서플로를 많이 이용해서 쉽게 머신러닝 & 딥러닝을 접해볼 수 있도록 구성되어 있다.

개발자가 머신러닝으로 어떤 어플리케이션을 만들려고 할 때, 뭘 이해하고, 뭘 해야 하며, 뭘 고민해야 하는지, 체계적으로 설명하고 있네요. 그래서, 인공지능 어플리케이션을 개발하는 개발자들이 읽어보면 좋은 책인 것 같습니다.

1장~11장까지는 .하나의 뉴런을 가진 신경망 모델을 만드는 방법부터 컴퓨터비전, 자연어처리, 시퀀스모델링 등 다양한 문제를 해결하는 머신러닝 모델을 텐서플로를 통해 구축할 수 있는 방법을 설명한다. 텐서플로로 다양한 모델 구조를 만들어보는 것이 목표로 선수 지식은 파이썬을 알고 있어야 합니다. 12~20장까지는 모델을 안드로이드, iOS, JAVASCRIPT로 실행하여 클라우드로 배포하는 시나리오를 다룬다.

텐서플로(케라스가 포함된)의 주요 기능을 철저하게 실습을 통해 주요 기능 위주로 실습하는 도서입니다. 제목에 "개발자를 위한"이라는 전제가 붙은 이유는, 첫 번째, 파이썬에 대한 기본적인 설명이나 모르는 이를 위한 여유를 주지 않은 채 머신러닝/딥러닝 내용으로만 집중하고, 두 번째, 이론이나 기작에 대한 설명 없이 모든 내용을 코드로 선 실습을 하고 제안한 뒤 코드와 결괏값만을 설명하기 때문입니다. 간단한 파이썬 문법을 알고 있다면 굳이 개발자가 아니더라도 충분히 도서 내용을 따라가는데 문제가 없습니다. 머신러닝/딥러닝에 대한 이론적인 배경 이해를 병행하고 싶다면 분야별 전문 도서를 권장합니다.

 

이 책의 내용은 각 챕터별로 별도의 전문 도서가 있을 만큼 많은 머신러닝과 딥러닝이 다루는 많은 분야를 폭넓게 다루고 있습니다. 모델의 구축뿐만 아니라 모델을 사용하고 배포하는 내용도 포함하고 있습니다. 이 모든 내용을 464페이지에 담아 내용이 시원시원하게 매우 스피디하게 진행됩니다.

 

[핸즈온 머신러닝(한빛미디어)]이나 [자연어 처리(위키북스)]와 같이 많은 입문자들이 참고하는 도서에서 봤음직한 내용들에서, 세부 내용은 모두 가지치기 하고 필수 코드와 이에대한 기본적인 설명만을 액기스처럼 모아놓은것 같습니다. 

 

머신러닝/딥러닝에 대한 이해의 유무를 떠나, 입문서나 강좌를 통해 머신러닝을 접해본 독자가 읽는다면 적당합니다. 텐서플로를 이용해 다양한 분야의 머신러닝을 부담없이 실습하며 체험할 수 있습니다.

 

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

IMG_5107.JPG

 

웹개발자로 일하면서도 인공지능 AI에 대한 호기심이 가득한 저에게 머신러닝&딥러닝을 함께 학습할 수 있는 책 오라일리 시리즈의 “개발자를 위한 머신러닝&딥러닝”을 읽어보았습니다.인공지능 4대 석학 앤드루 응이 추천한 도서이며, 아마존 AI&ML 분야 베스트셀러인 만큼 그 내용이 알차다고 할 수 있겠습니다.

저자는 과거 인공지능으로 할 수 있는 이론적인 작업은 많지만 실제로 쉽게 적용할 수 있는 방법이 없던 시기인 ‘AI 겨울’ 시기를 겪게 됩니다. 구글에서 미적분학과 경사 하강법에 대한 강의를 들으며 머신러닝을 공부 하게 되는데 저자는 이 교육 방식으로는 과거 ‘AI 겨울’ 시기를 또 겪게 될거라 생각해 자신의 교육방법과 피드백을 텐스플로 팀에게 전달해 팀에 합류까지 하게 됩니다. 개발자에게 쉽게 머신러닝을 접할 수 있기 위해 이 책을 집필했다고 합니다. 이런 집필의도에 걸맞게 개발자가 쉽게 머신러닝 개념을 배우고 적용해볼 수 있게 쓰여있습니다. 마치 인공지능을 잘하는 선임이 옆에서 친절하게 설명해주는 느낌을 받았습니다.

이 책이 좋았던 점은 어려운 수학적 이론 보다 다양한 예제를 활용하여 실습해 볼 수 있는 환경을 제공해 개발자들이 익숙한 방법으로 인공지능을 학습할 수 있게 하였다는 점입니다. 텐서플로를 활용해 예제를 실습하고 디버깅하면서 자연스럽게 개념들도 익히는 이 방법이 저는 프로그래밍 언어를 배울때도 그렇고 개발자에게 쉽고 흥미를 돋우는 방법이라고 생각합니다. 추가로 파트2에서는 텐서플로 라이트를 활용해 안드로이드, iOS 모바일 앱 만들기와 TensorFlow.js를 활용한 웹 애플리케이션까지 만들어보면서 저자의 의도대로 실용적인 면모를 유감없이 보여줍니다. 이 책을 통해 사회적으로 유익한 인공지능 프로그램을 개발할 수 있는 인공지능 개발자로 성장해보시길 추천합니다.

 

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

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받았습니다. 요약: Tensorflow로 시작해 컴퓨터 비전, 자연어처리, CNN, RNN 모델을 다루고, Tensorflow Lite로 Android, iOS, Tensorflow.js, 서빙으로 배포까지 책임지는 책! 나는 Tensorflow Lite를 좋아한다. 아직 개인 프로젝트나 이곳저곳에 활용해 본 적은 없고, Arduino Nano BLE Sense나 Raspberry PI pico로 음성감지에만 적용시켜봤는데 손가락 만한 보드에서 ML/DL을 돌릴 수 있다는 것이 맘에 들었다. 슈퍼컴퓨터 300대 놓고 초거대 인공지능 모델도 유용하겠지만, 잘 작동하는 인공지능 모델을 적당히 뺄건 빼고, 정확도와 속도와 타협하며 만들어낸 최적화의 결과물로 작동하는 귀엽지만 강력한 모델또한 우리 삶 속에서 필수적이다. 일단 책 제목만 보면 그다지 흥미있을 것 같진 않은데, Tensorflow Lite를 다루길래 읽게 되었다. 아쉽게도 책에선 Tensorflow Lite를 통해 아두이노같은 MCU나 라즈베리파이에 배포하는 내용은 TinyML도서를 참고하라고 하면서 다루지 않지만, 안드로이드나 iOS환경에 배포하는 법을 설명한다. 다른 책들은 CNN, RNN 주구장창 설명하고 끝이지만 이 책은 모델의 배포까지 알려주는 책임감있는 책이다. 문제는 내가 Windows/Linux PC+아이폰을 쓰고 있어서, 책에서 다루는 두 모바일 환경 모두 체험할 수 없다. 개발용 안드로이드 폰이나, ios 앱 개발용 사과 PC가 있어야 하는데 말이다. 그리고 모델에 관한 이론을 다루는 부분에선 상당히 친절하고 자세하다. 주입식으로 그냥 생략하고 넘어가지 않고, 왜 뉴런수를 128로 설정하냐, 많으면 똑똑해지는거 아니냐, 많이 설정했는데 왜 바보가 되었냐 등등 예전에 찾아봤더니 의외로 많은 사람들이 설명하지도 않고 당연하게 넘어갈법한 의문들이나, categorical cross entropy 앞에 sparse가 있고 없고의 차이, 그래서 도대체 어떤 손실함수를 써야하고, optimizer는 왜 다 adam인지 사소하지만 중요한 것들을 언급하면서 진행한다. 또한 시간과 자원절약 뿐만 아니라 여러가지 측면에서 유용할 수 있는 콜백을 구현도 짧게 다루고, keras의 ImageDataGenerator를 쓸때 디렉토리를 어떻게 구성해야 하는가, 이미지 증식은 어떻게 구현하는가 등 Tensorflow 튜토리얼에서 볼 수 있는 몇몇 내용도 깔끔하게 짚고 넘어간다. 작년에 혼자 프로젝트할 때 막히거나 왜그렇지 하는거는 이 책에 거의 다 있는듯 하다. 이 책 저 책 다 읽어본 후, 드디어 무언가를 만들 상황이 되어서 만들다가 안될 때 잠깐 보면 좋은 책인 것 같다.

몇년 동안 동일한 분야의 책들을 보다 보면 하나씩 변하는 모습들이 보인다.

점점 보기 편해지고, 점점 유용해지고, 점점 실무에 가까워진다.

일단 컬러풀하다. 컬러풀 한 코드가 코드를 읽는 데에서 발생하는 눈의 피로를 덜어준다. 일단 개인적인 생각이지만 같은 색만 보는 것보다는 코드들이 컬러가 입혀진 것이 리딩에서의 피로도를 줄여 준다는 느낌을 충분히 받았다.

 

직접적인 실습 화면을 컬러로 보여주니 내가 하고 있는 것이 올바른지 잘하고 있는 것인지에 대해서 바로 확인 가능한 것도 좋다.

그리고, 내용은 더욱 직접적인 예제들과 실제로 적용할 만큼 쉽게 알려주고, 이미 구축된 튼튼한 라이브러리와 예제를 기반으로 좀더 구체적인 예제를 실습할 수 있다.

이미지, 자연어, 시계열 등 다양한 데이터 형태에 대하여 학습하고 사용하는 방법을 제공하고 있다. 특히, iOS 와 자바스크립트에서 사용하는 방법에 대한 내용을 처음 접했다. 자료가 드물었던 내가 관심이 덜해서 몰랐던 것인지는 확실하지 않지만 관심이 없던(?) 나에게도 해당 내용을 접할 수 있게 될 만큼 확장이 많이 되었다고 개인적으로 생각한다. 해당 자료가 부족하여 찾는 중이라면 이책이 지푸라기가 되었으면 한다.

 

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

개발자를 트렌디하게 만들 책의 구성

이 책의 가장 마음에 들었던 부분을 꼽자면 바로 맨 처음에 나오는 '머신러닝이란' 부분이었습니다. 사실 저는 머신러닝, 딥러닝을 하면서도 '컴퓨터가 학습을 해서 무언가를 한다.'라는 점은 입력을 하면 출력을 한다는 점과 상당히 비슷하다고 생각했으며, 기존의 프로그래밍과의 차이점을 인지하지 못하고 있습니다. 그런데 이 책에서 기존의 프로그래밍과 머신러닝을 비교해가며 머신러닝을 설명해주는데 정말 시원한 사이다를 들이킨 것 같은 느낌이었습니다.

간단히 설명드리자면 기존 프로그래밍과 머신러닝의 차이점은 '결과물'이 다르다는 점입니다. 기존은 어떤 값이나 행동같은 결과물이 나왔다면 머신러닝은 '규칙'이라는 결과물이 나와서 그걸 다른 곳에 활용할 수 있게 되는겁니다. 제가 기존 프로그래밍과 머신러닝이 비슷하다고 생각했던 이유는 머신러닝의 결과물인 '규칙'을 활용하면 결국에는 기존 프로그래밍처럼 값이나 행동이 나오기 때문이었습니다. 그런데 이건 머신러닝 자체를 잘못 이해했던 것이었습니다. 머신러닝은 인공지능 프로그래밍의 생성부터 적용까지 이야기하는게 아니라 규칙을 만드는 과정인데, 이를 적용까지 생각해버리니 기존 프로그래밍과 비슷하다고 생각했던 것이지요. 우선 이 부분에서 좋았고, 다음은 책의 구성입니다.

책은 총 2개의 파트, 20개의 챕터로 구성되어있는데요. 모델을 만드는 것에서 끝나는게 아닌 어떻게 활용할지를 파트에서 보여주고 있으며, 챕터들의 구성이 정말 마음에 들었습니다. 아래 표를 보시면 제가 챕터를 임의로 분류 해놓았는데요. 먼저 텐서플로 소개를 해주고 그 다음에는 '시각 인공지능 - 데이터셋 사용 - 자연어 처리 - 시계열 분석'순으로 정리가 돼있는데 정말 주로 사용되는 '시각 / 언어 / 시계열'을 모두 다뤄줘서 좋았고, 인공지능의 어떤 기술로 나누는게 아닌 실제로 활용되는 분야를 지정한 후 그 안에서 설명해줌으로써 현재 어떤 부분에서 무엇을 어떻게 활용해야하는지를 알 수 있었습니다.

그리고 모델 사용 부분에서는 컴퓨터에서 활용하는 텐서플로가 아닌 앞으로 기존 보다 훨씬 더 큰 시장이 될 IoT 기기나 엣지 컴퓨팅에서 인공지능을 사용하는 방식인 텐서플로 라이트(TensorFlow Lite) 그리고 웹 서버에서 손쉽게 사용할 수 있게 만들어주는 텐서플로.js(TensorFlow.js)를 두루 다루고 있습니다. 또 마음에 들었던 부분은 모델 변환과 전이학습, 연합학습을 다루고 있다는 점입니다. 개인적으로 머신러닝 공부를 하면서 정말 활용도가 높다고 생각했던 부분들이어서 좋았습니다. 마지막으로 윤리 부분은 조금 아쉬웠는데요. 책 내용 자체는 너무 무겁지 않게 터치를해서 괜찮았는데 챕터 이름을 '인공지능 윤리, 공정성, 개인 정보 보호'라는 너무 무거운 타이틀을 쓴 것 같습니다. 그러다보니 '이런 걸 다룬다고?!'하고 기대하고 들어갔던 것 보다는 적은 정보량에 좀 실망을 하게 됩니다. 마지막 챕터에 연합학습 내용이 들어가 있던것도 조금 부자연스러웠구요. 그래도 전체적으로 봤을 때 개발자를 트렌디하게 만들어줄 수 있는 구성이어서 좋다고 생각합니다.

 

챕터(총 20개)

모델 구축

(PART 1)

  • 텐서플로 소개

  • 컴퓨터 비전 소개 / 고급 컴퓨터 비전:이미지에서 특징 감지하기

  • 텐서플로 데이터셋으로 공개 데이터셋 사용하기

  • 자연어 처리 소개 / 임베딩을 사용한 감성 프로그래밍 / 자연어 처리를 위한 순환 신경망 / 텐서플로로 텍스트 생성하기

  • 시퀀스와 시계열 데이터 이해하기 / 시퀀스를 예측하는 머신러닝 모델 만들기 / 시퀀스 모델을 위한 합성곱 신경망과 순환 신경망

모델 사용

(PART 2)

  • 텐서플로 라이트 소개 / 안드로이드 앱에서 텐서플로 라이트 사용하기 / iOS 앱에서 텐서플로 라이트 사용하기

  • TensorFlow.js 소개 / TensorFlow.js에서 컴퓨터 비전 모델 훈련하기 / 파이썬 모델을 변환해 재사용하기 / 자바스크립트의 전이학습 / 텐서플로 서빙으로 배포하기

  • 인공지능 윤리, 공정성, 개인 정보 보호

간략하면서 요소요소 들어있는 이미지

약 500페이지 정도밖에 안되는 책에 저렇게 많은 내용이 들어가있다보니 이걸 어떻게 다 집어넣었을까, 글만 많고 이해에 도움이 될만한 코드나 이미지 자료는 적은게 아닐까 걱정했었는데요. 이런 걱정이 무색할 정도로 한 장, 한 장을 넘겼을 때 코드나 이미지가 안보일 때가 거의 없는 수준으로 적절한 코드와 이미지들이 들어있어서 좋았습니다.

 

 

개발자를 위한 머신러닝&딥러닝.jpg

 

 

 

개발자를 위한 머신러닝 & 딥러닝

AI and Machine Learning For Coders

로런스 모로니 지음 / 박혜선 옮김 / 한빛미디어

인공지능 4대 석학 앤드루 응 추천도서

아마존 AI&ML 분야 베스트셀러

요즈음 AI가 산업분야 곳곳에서 활용이 높아지고 있다.

AI를 개발하는 개발자라면 자신이 개발하고자 하는 분야에 적용할 수 있는 알고리즘을 찾기가 쉽지 않아서 고민이 많을 것이다.

적용 가능한 알고리즘을 찾았다 하더라도 어떻게 적용할 것인가에 대한 고민이 많을 것이다.

이 책은 저자가 직접 AI를 적용하여 해결한 문제들을 독자들이 이해하기 쉽도록 풀어내고 있다.

또한 역자의 세심한 작업으로 읽으며 따라 할 수 있도록 잘 편집되어있다.

책을 통하여 고민하던 문제들을 쉽게 풀어낼 수 있도록 차근차근 시도해 보고 좋은 결과를 얻으므로 희열을 만끽할 수 있기를!!!

2부 텐서플로라이드(안드로이드, iOS) 사용하기 부분을 잘 활용한다면 적용할 수 있는 분야가 많을 것으로 본다.

대상독자

- 인공지능과 머신러닝에 관심이 있고 데이터에서 학습하는 모델을 빠르게 구축하고자 하면 적합하다.

- 인공지능 및 머신러닝 개념(컴퓨터 비전, 자연어 처리, 시퀀스 모델링 등)을 배우는데 관심이 있고 이 분야의 문제를 해결하기 위해 신경망을 훈련하는 방법을 알고 싶다면 적합하다.

구성

1부(1~11장): 다양한 문제를 해결하는 머신러닝 모델을 텐서플로로 구축하는 방법을 설명하고 있다.

하나의 뉴런을 가진 신경망 모델을 만드는 방법부터 컴퓨터 비전, 자연어 처리, 시퀀스 모델링을 다루고 있다.

2부(12~20장): 모델을 안드로이드, iOS로 배포하고 웹 브라우저에서 자바스크립트로 실행하며 클라우드로 배포하는 시나리오를 다룬다.

온라인 자료

텐서플로 홈페이지: https://www.tensorflow.org

텐서플로 유튜브 채널: https://www.youtube.com/tensorflow

이 책의 코드: https://github.com/rickiepark/aiml4coders

원서의 깃허브 주소: https://github.com/lmoroney/tfbook

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

#개발자를_위한 #머신러닝 #딥러닝 #로런스_모로니 #박혜선 #한빛미디어 #텐서플로 #인공지능 #신경망 #컴퓨터_비전 #자연어_처리 #시계열_예측

■ 대상독자

개발자를 위한 (원서에서는 For Coders)라고 정의된 이유에 대해서 생각해보면,

"로런스 모로니" 저자분도 처음부터 머신러닝 개발을 하시지 않았고,

처음에는 개발자로 구글에서 파이어베이스 제품관련 일을 하시면서, 텐서플로 팀에 합류하시게 되었습니다.
개발자입장에서 머신러닝을 잘 활용하는 방법과, 그것을 실제 서비스에 배포하는 것에 대해서

개발자 입장에서 책을 통해서 전달하려는 내용이 구성되어 있다고 보시면 될거 같습니다.

<<Part1>>

여러가지 경우에 대해서 모델을 구성하는 방법을 실습해봅니다

코드를 통해서 이론등을 설명합니다. 

신경망을 설명할때, 주요 핵심 키워드들이 다 언급됩니다.

은닉층, 과대적합, 하이퍼파리미터 튜닝, 과대적합, 출력층, ReLU, Softmax함수 등등

내용을 처음 보시는 입장에서는 용어, 단어에 익숙해지고 크게 어떠한 흐름으로 동작되는지 파악하는 관점으로

보시면 좋을거 같습니다. 여기서 조금 더 심화학습이 필요한 부분은 다른것으로 보충하시면 좋을거 같습니다.

 

2장에서, 예제로 많이 사용하는 MNIST데이터(0~9까지 숫자)와 비슷한 패선 MNIST데이터를 가지고 실습을 합니다.

3장에서는 여기서 만든 신경망을 이용해서, CNN(합성곱)을 실습합니다.

폴링, 이미지 증식, 드롭아웃과 같은 기법을 활용하여서, 이미지 처리에 대한 합성곱을 실습합니다.

자연어 처리(NLP)에 대한 부분에 대해서 어떻게 단어를 구분하고, 역전파를 통해서 적절한 단어를 구성해서 문장을 도출합니다.

(텍스트를 토큰화 하고 시퀀스로 변환해 신경망에 주입할수 있도록 문장을 숫자 텐서로 만드는 과장)

이것을 기반으로 비슷한 단어를 임베딩하는 하고, RNN(순환신경망)을 만들어봅니다.LSTM기반 모델을 추축하여서 텐서플로를 통해서 텍스트를 구성해봅니다.

10,11장에서는 여러 신경망으로 구성된 시계열데이터를 예측하믄 모델을 추축해보는 과정이 있습니다.

하이퍼파라미터, 신경망 구조를 조정을 통해서 모델의 정확도를 도출해봅니다.

 

<<Part2>>

크게 3가지의 플랫폼에 대해서 설정을 합니다.

1. Android (App)

2. IOS (App)

3. Web

 

https://www.hanbit.co.kr/data/books/B9073454247_l.jpg

요약

  • 텐서플로 기반의 비전, 자연어 처리, 시계열 데이터 처리 등 다양한 토픽을 다룬 책

장점

  • https://github.com/rickiepark/aiml4coders 에서 책에서 사용하는 모든 코드를 확인할 수 있음
  • 실제 안드로이드 및 ios 앱에 적용해봄으로써, 실용적인 측면도 배울 수 있음

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

 



오늘 소개드릴 책은 한빛미디어- 개발자를 위한 머신러닝&딥러닝 도서입니다.

 

개인적으로 따로 무언가를 개발할 때, 머신러닝을 사용하지 않고서는 개발할 수 있는데에 한계가 있음을 요즘 깨닫고 있습니다. 공부는 해보고 싶은데, 또 막상 개론부터 공부하기에는 아무래도 부담이 되어서 실습위주 + 기초 개념이 설명되어 있는 책을 찾다가 해당 도서를 선택하게 되었습니다.





책의 구성은 크게 2가지 파트로 구성되어 있습니다.

 

1부는 모델을 구축하는 방법에 대한 이야기로, 텐서플로에 대한 소개와 컴퓨터 비전 CNN, 자연어 처리 RNN, 시계열 처리에 관한 DNN, CNN, RNN등의 설명을 포함하고 있습니다. 데이터셋 사용 방법이나, 자연어 처리에 필요한 기반 지식들을 포함하고 있어서 학부시절때 배운 내용들을 복습하기에 좋았습니다.

 

2부는 앞서 배운 모델을 직접 사용하는 것으로, 텐서플로 라이트를 소개하고 각각의 안드로이드, IOS 앱에서 텐서플로 라이트를 사용하는 방법이 포함되어 있습니다. 이뿐아니라 자바스크립트나 Node.js를 이용해 머신러닝 모델을 개발할 수 있는 TensorFlow.js 사용방법, 배포, 인공지능 윤리 및 개인정보 보호내용이 포함되어 있어 개발에 대한 전반적인 사항을 고려하며 배울 수 있습니다.



[책의 특징]

 

1. 다양한 데이터셋을 활용할 수 있음



패션 MNIST 데이터셋, 말-사람 데이터셋, 가위 바위 보 데이터셋, 아일랜드 노래 데이터셋, NASA 날씨 데이터셋, 강아지- 고양이 데이터셋 등 흥미로운 데이터셋을 토대로 실습을 직접 진행해볼 수 있습니다.

 

 

2. 머신러닝을 익히기 위한 기반 지식 내용이 포함되어 있음



머신러닝을 배우기 위해 필요한 기반지식 내용을 대부분 포함하고 있고, 설명도 매우 쉽게 그림을 통해 설명해주기때문에 오랜만에 접했거나, 지식이 얕더라도 쉽게 습득이 가능합니다.

 

 

3. 실습 위주로 익히기에 수식을 공부해야하는 부담 경감



어려운 수학과 이론내용들보다도 실용적인 방법 위주로 머신러닝에 대해 설명하고 있고, 예제 코드 실습 위주로 책이 구성되어 있기 때문에 처음 공부를 할 때 느끼는 허들, 심리적 부담감을 상당히 경감시킬 수 있습니다.

자연스럽게 읽어나가며 따라진행하다보면, 초보자여도 반복하다보면 쉽게 체득이 될 것입니다.



개발자를 위한 머신러닝 & 딥러닝

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

TL;DR

  • 머신러닝 관련 교재 중에서 개발자에게 가장 적합한 책
    • 머신러닝/딥러닝 교재 개발에 필요한 내용을 주로 담고 있음
    • 이론적인 교재가 필요하다면 핸즈온 머신러닝 2판을 참고하면 됨
  • 실행 가능한 예제가 Android, iOS 그리고 Web으로 제공
    • 컴퓨터 비전, 자연어 처리 등 카테고리가 나눠져 있어서 부분을 읽을 수 있음
    • 다양한 기술(TF, TF.js)을 활용하고 있음
  • 예제 종류가 다양하기 때문에 사람마다 난이도가 다를 수 있음

책표지

개발자에게 적합한 책!

머신러닝에 관심이 많아서 다양한 책을 읽었지만, 대부분의 교재가 수학적인 내용을 과도하게 담고있다. 머신러닝 혹은 딥러닝의 기본적인 내용에 수학적인 부분이 중요하기 때문에 관련 내용을 충실하게 기술하고 있다. 대부분의 개발자가 서비스를 구현하기 위해서 수학적인 부분을 알면 좋지만, 관련 분야가 수학이다 보니 과도한 측면이 있다.

대부분의 개발자가 Tensorflow(TF)나 PyTorch(torch)를 활용해서 서비스를 구현하고, 관련 서비스를 최적화 하기 위해서 또다른 측면에서 혹은 전혀 다른 관점으로 접근해야 한다. 이 때, 수학적인 본질이 가진 어떤 점은 사라지고 프레임워크, 라이브러리 그리고 알고리즘의 특성이 더 중요해진다.

Android 예제

실행 가능한 예제

이 책의 가장 큰 장점이자 해당 교재를 개발자에게 적극 권장하는 이유는 예제를 실행 가능한 수준으로 제공하고 있기 때문이다. 원서가 2020년에 출간되었기 때문에 예제가 실행되지 않을 수 있다. 이런 측면은 TF와 torch의 코드 개선이 빠르게 이루어졌기 때문이다. 예를 들어서, 2020년 1월에 TF v2.0.1이 발표되었던 것을 고려해보면 원서에서 제공한 코드를 실행하는데 난항을 겪을 수 밖에 없다. 관련 책을 읽는 독자가 딥러닝 개발과 관련해서 처음 읽는다면 더더욱 예제 실행에 어려움을 겪을 수 있다.

책을 번역한 분이 ‘박해선’님이고, 박해선님이 관련 코드를 실행 가능한 수준으로 개선해서 github에 공개하고 계시기 때문에 책을 읽으면서 예제를 적극적으로 활용할 수 있게 되었다. 역자분이 관련 코드를 이렇게 신경써주고 계시는 것 만큼, 번역도 신경써주고 계셔서 책을 읽을 때 전혀 어려움 없이 읽을 수 있었다. 역자 각주 뿐만 아니라 도서 맵(아래 이미지)까지 제공하고 있기 때문에 책을 읽기 전에 참고해보면 좋을 듯 싶다. 참고로 역자분께서 오타 및 관련 정보를 홈페이지에 제공하고 계시니 참고하면 좋을 듯 싶다.

도서 Map

난이도가 다를 수 있음

대부분의 예제가 TF로 진행되고 있으며, TF나 TF.js와 관련된 예제가 한 권에서 제공되기 때문에 실습의 방향성이 조금 광범위하게 제공되는 경향이 있다. 그래서 처음 해당 책을 읽을 분들은 관련 예제를 접할 때 해당 기술에 대한 전문성 보다는 방향성을 위주로 실습하기를 권한다.

TF.js

Written on September 20, 2022


책 표지

 

> 책의 구성 및 내용

이 책은 개발자를 위해 머신러닝에 대해 소개하는 책입니다.

Part 1, 에서는 주로 다양한 머신러닝 모델에 대한 소개와 이론적 설명을 쓰고 있습니다.
다른 책들이 머신러닝의 원리나 이론에 대해 많은 지면을 할애하고 있는데 반해, 
이 책은 개발자로서 각 머신러닝 모델에 대해 코드로 설명하는 부분이 많아
바로 적용해보고 테스트 해 볼 수 있다는 점에서 개발자로서 굉장히 좋았습니다.
개인적으로 소스코드를 상세히 설명해주는 부분이 제일 좋았습니다.

이론적인 면에서도 머신러닝의 기초에서 다루는 대부분의 영역을 모두 알려주고 있습니다.
- 비전 데이터 처리 
- 자연어 처리
- 시쿼스, 시계열 데이터 처리
등 대부분 머신러닝 책에서 소개하는 분야는 모두 안내하고 있습니다.

Part 2, 에서는 기존 책들에서 잘 고려되지 않던 Tensorflow의 배포도 소개해 주는 부분이 
- 텐서플로 서빙 (클라우드, 온프레미스)
- 텐서플로 라이트 (안드로이드, IOS, 라즈베리파이)
- TensorFlow.js (브라우저, Node.js)
나름 신선하고 새로워서 좋았습니다.

 

텐서플로 라이트

 

 

개발자로서 머신러닝을 배워 활용하기에 적절한 모든 내용을 한 권에 알차게 넣어 놓은 책이었습니다.

> 장점

  • 개발자에 익숙한 코드로 상세히 설명해 주어 이해가 쉽습니다.
  • 모델을 사용하기위한 환경별로 구분하여 안내하고 있어 좋았습니다.

> 아쉬운 점

  • 없음

책읽기 필요사항

없음

추천 독자

머신러닝에 관심있는 개발자

> 정보

저자: 로런스 모로니
옮긴이: 박해선
출판사: 한빛미디어
가격: 34,000원
전체 페이지: 464페이지

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

[BOOK] 개발자를 위한 머신러닝&딥러닝 - 로런스 모로니 지음 / 박해선 옮김

 

2022-09-28 01.06.12.jpg

 

 

부제: "인공지능 개발자로 레벨 업하기! 신경망 기초부터 컴퓨터 비전, 자연어 처리, 시계열 예측까지"

 

책 표지에서 제일 먼저 눈에 들어온 것은 '개발자를 위한'입니다. (영문은 For Coders 네요?!?!)

그리고 '인공지능 개발자로 레벨 업'이 눈에 들어왔습니다.

 

요즘 개발자분들과 티타임을 하다보면 농담처럼 이야기합니다.

얼마전까지의 풀스택 개발자는 백엔드와 프론트를 함께하는 개발자를 이야기 했다면 앞으로는 인공지능을 다룰 수 있어야 풀스택 개발자라고 이야기 할 수 있다고요.

점점 인공지능이 적용되는 소프트웨어 프로젝트가 늘어가고 있습니다.

 

인공지능 개발자는 어떻게 될 수 있을까요?

아직 정확한 로드맵은 없는 것 같습니다. 

개발과 관련된 여러 로드맵을 소개하는 사이트(https://roadmap.sh)에도 아직 인공지능에 대한 이야기는 없습니다.

 

그럼 인공지능을 어떻게 공부하는 것이 좋을까요?

전문으로 인공지능을 연구하는 분들이 읽는 책들은 내용이 참 어렵습니다. 

인공지능에 대해 쉽게 소개된 책들도 있지만 그 내용만으로는 인공지능을 프로젝트에 적용하기는 힘듭니다.

개발자가 코드를 작성하면서 머신러닝과 딥러닝 개념을 이해할 수 있도록 돕는다.

인공지능에 대한 어려운 수학이나 이론을 걷어내고, 코드를 작성하면서 인공지능 개발자가 될 수 있도록 돕는 것이 이 책의 목표라고 합니다.

'1장 텐서플로 소개'에 전통적인 프로그래밍과 머신러닝를 비교하며 설명하는 내용이 있습니다.

이 부분을 읽으면서 참 쉽게 설명을 잘 한다고 느꼈습니다. (2장부터는 좀 어려워지긴 합니다.

 

 

IMG_3775.jpg

 

저자는 구글의 인공지능 개발 지원팀 리더로 이 팀은 SW 개발자가 머신러닝으로 인공지능 시스템을 구축할수 있도록 교육하는 것이 목표하고 한다. 따라서 이 책에서는 수학이나 이론에 대한 내용보다는 이 책의 영어 제목(AI and Machine Learning For Coders) 처럼 실용적인 접근방법으로 머신러닝과 인공지능을 설명한다.

 

책의 내용은 머신러닝의 Hello World 부터 컴퓨터 비전, 자연어 처리, 시퀀스 모델링 시스템을 만들고 모바일 장치와 웹 브라우저에서 모델을 배포하는 것까지 설명을 하는데 깊이 들어가지는 않고 간단한 예제를 통해 배운다. 우는 것이므로 관심있는 분야는 각자가 검색을 통해 더 깊이 들어갈 수 있을 것이다. Learn by doing!!

 

Part I 모델 구축

전통적인 프로그래밍: 규칙과 데이터를 가지고 정답을 찾는 것. 여기서 규칙은 사람이 찾아서 알고리즘을 만들어야 한다.

 

머신러닝 기반의 프로그래밍: 정답과 데이터를 가지고 규칙을 찾는 것. 여기서 규칙은 AI가 학습을 통해 찾는다. 규칙임 만들어지면 실 데이터로 부터 답을 찾을 수 있다.

 

Part 1에서는 구글 colab에서 텐서플로를 사용하여 다음 3가지 영역에서 모델을 구축하고 테스트를 한다.

 

이미지 특징 감지

  • CNN(Convolutional Neural Network)를 사용하고 공개데이터인 패션 MNIST을 사용
  • Keras에 ImageDataGenerator, 데이터세트를 늘리기 위해서 Image augmentation을 사용
  • Over fitting을 위해 dropout regulation

 

자연어 처리

  • 언어 encoding & tokenizer
  • OOV(out of vocabulary) 사용
  • Embedding을 사용하여 언어의 감성 분석
  • RNN(Recurrent Neural Network), LSTM

 

시계열 데이터

  • 시퀀스를 예측하는 모델만들기

 

Part II 모델 사용

이 챕터에서는 텐서플로 라이트를 사용한다. 즉 Android, iOS등의 임베디드 환경에서 머신러닝 응용과, 브라우저에서 동작하는 TensorFlow.js도 소개를 한다.

 

임베디드 환경은 리소스가 제한되어 있기 때문에 여기서 학습을 하는 것은 아니고 텐서플로 모델을 컨버터를 거처서 tffile을 각 OS상에서 인터프리터를 동작시켜서 추론만하는 개념이다.

 

이 링크 https://github.com/margaretmz/awesome-tensorflow-lite 에서 다양한 분야의 TF lite의 샘플들을 확인할 수 있다.

 

참고:  책의 코드들은 번역자의 깃헙(https://github.com/rickiepark/aiml4coders)에 수록되어 있다.

 

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

 

이 책은 텐서플로를 사용해서 어플리케이션을 개발하고 싶은 개발자에게 무얼 해야 하는지 이야기해주는 책입니다. 여러 책을 읽다보면, 어느 책이든 책의 저자가 독자에게 뭘 말하고 싶은지 깨닫게 되는데요. 제가 지금까지 접했던, 머신러닝이나 딥러닝 책들은 머신러닝, 딥러닝을 다양한 방식으로 설명하려는 책들이 대부분 이었습니다.

하지만 이 책은 개발자가 머신러닝으로 어떤 어플리케이션을 만들려고 할때, 뭘 이해하고, 뭘 해야 하며, 뭘 고민해야 하는지, 체계적으로 설명하고 있네요. 그래서, 인공지능 어플리케이션을 개발하는 개발자들이 읽어보면 좋은 책인것 같습니다.

저자는 먼저 인공지능이 어떤 의미를 지니는지 설명하며 시작합니다.

전통적인 프로그래밍은 "규칙"과 "데이터"로 "정답"을 만들어 내는 걸 의미했습니다.

하지만, 인공지능은 "정답"과 "데이터"로 "규칙"을 알려주는 것이라고 표현하고 있군요.

그다음,

정답과 데이터가 인간이 찾기엔 버거운 규칙들을 알려주는 인공지능을 어떤 분야에서 사용하고 있는지, 설명하는데요. 대표적인 분야인 "컴퓨터 비전"과 "자연어 처리" 에서 어떻게 하는지 간단한 코드로 따라해볼 수 있도록 배려하고 있습니다.

책의 중반이 넘어서면, 어플리케이션 개발자가 머신러닝을 사용해서 어플리케이션을 개발 할 때 필요한 툴들을 소개하고 설명하는데 지면을 할애하는데요. iOS와 안드로이드 웹에서 애플리케이션을 개발 할 때 사용하는 도구들을 설명합니다.

그리고, 마지막으로 "인공지능 윤리, 공정성, 개인 정보 보호"를 설명한 후 책을 마치고 있습니다. 아주~ 깔끔하게...

중반에 "컴퓨터 비전"과 "자연어 처리"부분을 보면서는 기반지식이 없이 보기엔 좀 무리가 있는게 아닌가 싶은 생각도 들었는데요. 책을 모두 읽고 나서 생각해보니, 사실 그 부분은 더 필요한 사람들이 따로 공부할 영역이기 때문이 아닐까 싶었습니다. 어플리케이션을 개발하는 개발자 입장에서는 어떤걸 할 수 있고, 어떻게 할 수 있는지, 주의사항이 뭔지만 정확하게 알고 있으면 되니까요.

저는 올해 초에 <비전시스템을 위한 딥러닝>이라는 책을 재미 있게 읽고 난다음, 제가 근무하고 있는 회사의 팀에 세미나를 진행했습니다. 책의 내용이 이해하기 쉽고, 우리같은 비전공자들도 딥러닝이 뭘하는 건지 알기 수월하다고 생각했기 때문이거든요. 세미나가 끝난다음, "그렇다면 어플리케이션 개발자들은 뭘 하면 되는 걸까요? "라는 질문을 받았습니다. 그 질문을 받고 보니, 딥러닝이 뭐하는 건지는 대충 이해할 수 있었는데, 이걸로 어플리케이션을 만들려면 어떻게 해야 하는지는 또 별개의 문제가 아닐까 하는 생각을 하게 되었군요. 하지만 이번에 이 책을 보면서 그 질문에 체계적인 대답이 가능하게 된것 같습니다.

 

 

 

 

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

몇년 전 딥러닝을 입문하기 위해 박해선 저자님의 서적들로 공부하며 직접 주최하신 밋업에도 참가했던적이 있는데, 저자님의 새로운 번역서가 나왔고, 리뷰를 하게 되었다.


책을 한번 주욱 따라해보고 난 소감은 이렇다.
"머신러닝과 딥러닝의 개념을 잡고, 실무에 활용해보기 원하는 개발자들에게 많은 도움이 될 것 같다."

순차적으로 챕터를 따라가면서 예제들을 충실히 따라하면 텐서플로에 대한 사전지식이 없는 상태여도 순조롭게 내용을 따라갈 수 있다.


책의 제목이 '개발자들을 위한' 이기에 파이썬에 대한 기초문법 등을 다루고 있지는 않지만, 사용되는 문법이 어렵거나 복잡하지 않고, 문법 자체가 직관적이기에 개발을 처음 접하는 사람도 크게 어렵지 않게 공부 할 수 있을 것 같다. (는건 나만의 생각인가..)

수학적인 풀이보다는 예제와 결과 위주로 진행되는 구성 덕분인지 지루함을 느끼지 못했으며, 개념 설명시에는 손쉬운 다이어그램을 이용해 이해를 도왔다.

 

 

크게 파트를 나눠서 '모델 구축'과 '모델 사용'으로 나뉘어 있으며, '모델 구축' 파트에서는 Tensorflow, 컴퓨터 비전(이미지 인식, 신경망 설계, 모텔 출력 등), 공개 데이터셋 활용방법, 자연어 처리 등에 대해서도 예제를 통해 자세하게 익힐 수 있다. 목차만 봐도 배가 부를 정도.

물론 이 책 한권으로 머신러닝의 신이 될 순 없겠지만 그 '맛'을 보기엔 충분하고도 넘친다.

 

'모델 사용' 파트에서는 앞서 구축한 모델을 텐서플로 라이트에 대해 배워볼 수 있드며, 안드로이드 / iOS 에서 텐서플로 라이트를 사용하는 방법에 대해 배워볼 수 있다.
파이썬으로 구축한 모델을 자바스크립트로 변환하여 활용하는 방법도 설명하고 있어서, 웹에서도 손쉽게 활용 가능하다. (개인적으로 제일 맘에 들고 도움을 받은 부분)

 

최근 진행중인 업무가 딱 머신러닝을 활용해야 하는 직무인지라, 업무도 진행할 겸, 책 내용도 리뷰할 겸, 예전에 공부했던 내용들을 리마인드 하면서 공부했고, 확실히 학습은 반복하면 할수록 뭔가 더 성장하는게 느껴진다. 처음 머신러닝을 공부할 때, 어렵다고 느끼고 이해가 잘 되지 않던 부분도 몇 번 반복을 하니 회차가 거듭할 수록 이해도가 높아져 가는게 느껴진다.

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

● 머신 러닝 붐

- 머신 러닝 입문자가 계속 느는 것이 느껴진다.

- 정확한 통계 수치를 보지 못해 얼마가 늘었는지, 늘고 있는지는 알 수 없지만

- 최근 강의를 하러 방문했던 한 기관에서는 기존 DB 담당자들, 웹개발자들이 머신 러닝 입문자로 앉아 있었다.

- IT와 거리가 먼 분들 입장에서는 DB나 웹이나 머신 러닝이나 그게 그거 아닌가 싶겠지만

- 밭을 일구는 농부와 배를 타는 어부, 산을 누비는 심마니처럼 바라보는 대상과 생존을 위한 기본기가 다른 것이 이들이다.

 

● 개발자를 위한 입문서

- 여러 종의 입문서가 시중에 나와있고 이 중 몇 권을 읽었지만 이 책은 조금 독특하다.

- 제목인 "개발자를 위한~" (원서는 "~ for coders")에서 알 수 있듯 코딩 자체를 처음으로 하는 이들이 아니다.

- 심마니에게 농사일은 낯선 일이겠지만 풀 이름을 일일이 가르칠 필요는 없는 것처럼,

- 딥 러닝 라이브러리인 텐서플로는 낯설겠지만 코딩 자체를 처음부터 가르칠 필요는 없다.

 

● 독특한 구성

- 그래서인지 구성이 상당히 독특하다. 

- 본문 두 번째 페이지에 나오는 가장 먼저 나오는 그림 1-1에서 벽돌깨기 게임 예를 들면서 나오는 설명은 코드 형식이다.

- 연달아 나오는 몇 개의 예시를 자바스크립트 형식의 코드로 설명하고 나서 텐서플로 이야기가 나오는데,

- 설치 등 환경 설정이 다른 입문서와 비교해 몇 배나 짧다. 개발자들에겐 익숙한 이야기이기 때문이다.

- 드디어 텐서플로 코딩을 하는 단계에서도 경사하강법이나 오차역전파 같은 이야기는 거의 생략된다.

- 이 부분은 익숙해서라기보다는 결과 위주의 설명이 개발자들에게 더 익숙하게 다가가기 때문일 것이다.

 

● 다른 입문서는?

- 여러 편의 다른 입문서는 관점에 따라 조금씩 다르기는 하지만 수학적 설명이 더 많이 포함된다.

- 경사 하강법을 설명할 때 깊게 설명하지 않더라도 편미분방정식 하나쯤은 등장하고

- 오차 역전파에서 발생하는 기울시 소실을 이야기할때도 미분 이야기가 등장한다.

- 머신 러닝 모델을 만드는 이들이 반드시 다루어야 하는 학습률(learning rate)을 설명하려면 불가피해 보인다.

 

● 결과물 위주의 방식

- (주)인사이트마이닝 이부일 대표님께서 주신 말씀처럼 통계학은 의심하는 학문이고, 머신 러닝의 본질은 통계학이다.

- 받은 데이터가 정규성을 띄고 있는지, 이 표본과 저 표본의 분포가 다른지 같은지부터 시작해

- 내가 적용하는 모델이 옳은지까지 끊임없이 의심하고, 결과를 제출할 때도 p-value와 신뢰 구간 등을 제시한다.

- 그러나 어떤 집단에서 개발자가 머신 러닝 모델링에 투입된다면 적어도 결과를 빠르게 요구하는 상황일 것이다.

- 이들에게 샤피로-윌크 검정이니, 선형성이니 하는 이야기부터 하고 있을 여유는 없다.

- 검증은 이들에게 데이터를 맡기며 모델링을 의뢰한 이들에게 맡기고, 우선 결과부터 빠르게 내야 한다.

 

● 배포(deploy) 부분 비율이 높다

- 개발자들이 머신 러닝을 배워야 하는 상황이라면 앱이나 웹으로 모델을 배포해야 하는 상황일 확률이 높다.

- 그래서 텐서플로 기본, 이미지, 자연어를 빠르게 훑은 후 (딥 러닝은 이미지나 자연어에 강력하다)

- 텐서플로.js 등을 사용해 앱과 웹으로 배포를 하는 실습에 적지 않은 분량을 할애하고 있다.

- 이 책을 읽어야 하는 이유가 되는 지점이 여기라고 생각한다.

- 정석으로 머신 러닝을 배운 이들 입장에서는 앱이나 웹 배포가 어렵지만 음으로 양으로 등을 떠밀리고 있다.

- 개발자들에겐 익숙할테니 이 책의 후반 3분의 1 정도를 차지하는 부분에서 생략이 적지 않다고 느끼지만

- 그럼에도 불구하고 따라해볼 수 있는 좋은 예제들이 담겨 있다.

 

● 이 책이 다가 아니기를 알면 좋겠다.

- 갑자기 머신 러닝을 담당하게 된 개발자들이 이 책으로 빠르게 결과를 낼 수 있는 것은 반가운 소식이다.

- 하지만 이 책의 내용을 전부라고 인식하고 이것"만" 하면 분명히 문제가 생길 것이다.

- 위에서 이야기한 데이터의 특성도 파악해야 하고, 결과 검증 이전에 데이터 분할부터 신경쓸 거리가 많다.

- 이 책으로 입문하시는 분들께서 나중에라도 다른 책을 함께 읽으시면 좋겠다.

 

※ 한빛미디어 2022 도서 서평단 "나는 리뷰어다"의 일원으로 도서를 제공받아 작성한 리뷰입니다

#텐서플로#AI#Vision#nlp#sequence#preprocessing#MLops

 

 개발자를 위한 머신러닝&딥러닝

저자
로런스 모로니
출판
한빛미디어
발매
2022.08.24.

 

이 책의 저자는 코세라에서 텐서플로교육과정을 진행했던 구글의 인공지능 개발지원 담당 수석연구원 로런스모로니이고 역자는 텐서플로우 블로그 운영중인 박해선역자이다. 그리고 추천사를 쓴분은 코세라창립자인 앤드류 응 교수님이다.

이 책의 장점은 책이 얇은데도 불구하고 광범위하게 실습이 있고 최신 텐서플로를 많이 이용해서 쉽게 머신러닝 & 딥러닝을 접해볼 수 있는 코드가 많다는 점이다. 1장~11장까지는 컴퓨터비전, 자연어처리, 시퀀스모델링 등 다양한 문제를 해결하는 머신러닝 모델을 텐서플로를 통해 구축할 수 있는 방법을 설명한다. 12~20장까지는 모델을 안드로이드, iOS, JAVASCRIPT로 실행하여 클라우드로 배포하는 시나리오를 다룬다.

iOS용으로 만들기 위한 swift에 대해 자세히 설명하는 부분, JAVASCRIPT로 컴퓨터비전모델 웹앱 만드는 부분, Android로 tflite를 가져와서 모바일앱을 만드는 부분, 드롭아웃의 패턴 및 장단점을 소개하는 부분, 데이터 증식을 위해 매핑함수 제작하는 부분 등 다양하게 자세히 설명하고 있다.

이 책의 단점은 처음 접하는 초보자들이 모를 수 있는 용어(ex. patch가 업데이트되면 동일한 데이터가 반환되지만 내부구성이 바뀌었을 수 있습니다. minor가 업데이트되면 기존 코드가 깨지지 않도록 데이터는 여전히 그대로이지만 레코드마다 특성이 추가되었을 수 있습니다. major가 업데이트되면 레코드형태와 위치에 변화가 있을 수 있습니다. 본문 p 114)들이 간혹 보이고 오타(ex ImagedTaGenerator --> ImageDataGenerator. 본문 p. 115)들이 간혹 보이는 점이다. 하지만 역자분이랑 한빛미디어가 오탈자 관리(개발자를 위한 머신러닝&딥러닝 (hanbit.co.kr)를 잘 하므로 바로 확인할 수 있다.

이 책의 적합한 독자는 텐서플로를 한번이라도 접해보았거나 ETL등의 아주 기초적인 개념을 들어본 독자이다. 최근 텐서플로의 인기가 반등하여 다시 상승하고 있기 때문에 AI에 대해 직접 구현해보고자 하는 개발자들에게 이 책을 추천한다.

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

#텐서플로#AI#Vision#nlp#sequence#preprocessing#MLops



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

 

머신러닝, 딥러닝 책을 보다보면 갑분수학이 되는 걸 많이 봤다. 그리고 그 때마다 좀 도망가고 싶다. 난 수포자니까..

근데 이 책은 코드를 우선으로 한다. 다행이었다. 코드는 수박 겉핧기 식으로 읽을 수는 있고 설명도 해주니까!

책 전반부는 텐서플로로 다양한 모델 구조를 만들어보고, 후반부에서는 텐서플로의 모바일 버전이라고 볼 수있는 텐서플로 라이트를 잠깐 다루고 있다.

그리고 웹에서도 텐서플로를 쓸 수 있다는 건 이 책을 읽으면서 처음 알았다.

Tensorflow.js 도 다루니까 관심있으면 한번 보면 좋을 거 같다.



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

이 책은 인공지능 4대 석학이신 앤드루 응의 추천도서이다. 또한 아마존 AI/ML 분야 베스트 셀러였던 책이기도 하다.

책이 굉장히 쉽고 잘 정리가 되어있다는 것을 느낄 수 있는 책이였다.

현재 글을 쓰는 사람도 머신러닝/딥러닝을 개발을 하고 있는데, 모두가 머신러닝/딥러닝으로 개발을 하고 있지 않아 되게 소통되기가 어려운 것이 있었는데, 머신러닝/딥러닝을 가볍게 배우고 실습을 해보면서 가벼운 이론을 학습을 하기에는 매우 적합하다고 생각합니다.

머신러닝과 딥러닝이 무엇이 분석하는 것보다는 이렇게 훈련된 모델을 어떻게 활용을 할 수 있을까라는 초점에 맞춰져 있는 책이라 생각하면 좋을 것 같고, 이 책으로 기본부터 응용까지 하기엔 매우 어렵다고 생각이 들지만, 이 책의 대상 목자인 인공지능과 머신러닝에 관심이 있고 데이터에서 학습하는 모델을 빠르게 구축하고 싶다라는 목표에는 매우 적합한 책이라고 생각이 듭니다.

다양한 예제를 들어 빠르게 모델을 세우면서 머신러닝과 딥러닝을 학습을 좀 더 쉽게 다가갈수 있게 했던 책인것 같았다.

특히나 마지막에 텐서플로로 서빙을 설치하고 실습을 해보면서 딥러닝 모델들을 배포하고 추론을 관리하는 방법을 살펴보면서 전체 플로우를 알 수 있게 했던 책인것 같았습니다.

프로그래밍에 대한 개념이 먼저 선행되어야 할 것 같고, 머신러닝&딥러닝에 대한 기본적인 것도 이해하고 있으면 이해하기가 쉬울 것으로 사료가 됩니다. 개발일을 하면서 참고서적으로 갖고 있으면 좋겠다는 생각이 들었습니다.

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

 

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

 

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

책을 먼저 목차부터 본다면

 

파트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 사용법도 알려주고 끝으로 머신러닝에 대한 어떤 데이터를 다뤄야하는가에 대한 공정성 부분도 짚어주고 있다. 이런 부분은 개발에만 신경쓰다보면 놓칠수 있는 부분인데 짚어주고 있어서 좋다고 생각한다.

 

 

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

 

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

 

 


컴퓨터공학을 전공한 코딩쟁이로써

머신러닝, 딥러닝을 공부하면서 항상 수학이라는 엄청난 장벽에 어려움을 겪고 있다.

(공돌이라고 누구나 수학을 잘하지 않아요 !!! )

 

나는 엔지니어(Engineer)이지 사이언티스트(Scientist)가 아니다.

사실 GPT-3에서 사용된 Transformer가 어떤 특징이 있는지 그런건 별로 궁금하지 않다.

 

내가 관심있는 것은 그것을 어떻게 구현했는지 이고,

그걸 사용하려면 어떻게 해야하는지 그런 것이 훨씬 더 궁금하다.

 

그런데, 역시 오레일리에서는 나같은 코딩쟁이들을 위한 책을 내놨고,

멋진 한빛미디어에서 존경스러운 박해선님이 번역한 책을 출간해주셨다 !!!

 

표지

 

말 그대로 "개발자를 위한 (For Coders)" 책이다 !!!

 

한글판은 나온지 얼마 안된 따끈따끈한 책이지만, 원서는 2020년 10월 1일에 출간했으니 시간이 좀...

하지만, 머신러닝 번역서의 장인이신 박해선님이 예제를 비롯하여 내용들을 모두 살펴봐주셨으니, 믿습니다 !!!

 

초판

 

다시 한 번 말하지만, 이 책은 개발자를 위한 책이다.

모델의 수학적 배경을 알고 싶다거나 머신러닝 자체에 대해서 공부하기를 원한다면 다른 책을 찾아봐야 한다.

 

아! 그리고, 이 책은 텐서플로(Tensorflow)를 사용하고 있다.

파이토치(PyTorch)를 원한다면 역시 다른 책을 ...

 

대상 독자

 

이 책은 크게 `모델구축`과 `모델 사용`의 두 묶음으로 구분이 되어 있다.

 

`모델 구축`에 있어서도 (비전, 자연어, 시퀀스) 3가지 유형에 대해서 모두 설명해준다.

 

모델 구축

 

`모델 사용` 부분에서는 모바일 환경에서 사용할 수 있는

`텐서플로 라이트(Tensorflw Lite)`를 설명해주고 있으며 심지어 iOS 앱으로 구현하는 것까지도 알려준다.

 

모델 사용

 

그리고, 20장을 보면

짧게나마 윤리/공정성/개인정보에 대한 이야기도 해준다.

 

 

책의 전체적인 내용에 대해서

박해선님이 직접 설명해주신 그림도 있다.

 

[출처] https://tensorflow.blog/aiml4coders/

 

 

'이론과 실습' 측면에서 바라보면 이 책은 '실습'에 충실한 책이다.

뒤늦게 머신러닝을 공부하고자 하는 개발자에게는 속시원한 책이지 않을까 한다.

 

 

책의 정오표는 아래 링크에서 확인할 수 있다.

  - https://tensorflow.blog/aiml4coders/

 

 

예제 파일(쥬피터 노트북)은 아래 링크에서 확인할 수 있다.

  - https://github.com/rickiepark/aiml4coders

 

예제 파일은 원서의 것을 그대로 공유하는 것이 아니라

박해선님이 확인하고 다듬어서 올려주신 것으로 알고 있다.

 

주석이 별도로 없는 것은 조금 아쉽지만, 그래도... !!!

 

 

마지막으로,

개인적인 취향으로 ... 이 책은 Coloful 하다 !!!

 

그림

 

 

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


 

이번 추석 연휴에 좋은 책을 읽게 되어 소개해 봅니다.

개발자를 위한 머신러닝&딥러닝 책은 인공지능 4대 석학인 앤드루 응이 추천한 추천도서 입니다.

이 책에서는 아일랜드 전통 노래 가사로 LSTM을 훈련시켜 

Andrew sang a sad old song

fainted through miss milliner

[...]

이러한 가사를 만들어 보기도 하는데요~

실제로 머신러닝 딥러닝 관련한 서적들을 살펴 보면 머신러닝 딥러닝을 배워서 응용할수 있는 분야에 초점이 맞춰 있는 책은 많지 않은 것 같아요.

대부분의 서적들은 머신러닝 딥러닝이 무엇인지 분석하고 어떻게 하면 좀 더 분석을 잘 할 수 있을까? 라는 것에 초점이 맞춰 있다면 이 책은 이렇게 훈련 된 모델을 어떻게 활용할 수 있는지에 대해 초점이 맞춰 있습니다.

이 책의 구성을 살펴 보면 다음과 같습니다.

 

구성

Part I. 모델구축

모델구축 편에서는 모델을 만들 수 있는 도구인 텐서플로에 대한 소개와 패션 MNIST 데이터셋을 기반으로 컴퓨터 비전을 위한 신경망설계,훈련,모델 출력하는 방법등을 살펴 봅니다. 또한 이미지에서 특징 감지하기 위한 방법인 합성곱을 살펴보고 사람과 말을 구별하는 CNN을 만들어 보면서 좀더 정확한 훈련을 위한 이미지 증식과 전이학습 등에 대해 살펴 봅니다.

이러한 모델을 구축하기 위해서 텐서플로에서는 데이터셋을 공개하고 있는데 이러한 공개데이터 셋을 사용하기 위한 방법으로 텐서플로 애드온을 사용하는 방법 및 훈련속도 향상을 위한 ETL 병렬화 하는 방법을 살펴 보고,

자연어 처리를 위한 임베딩 감성 프로그래밍, 순환신경망 등을 살펴 보고 처음에 소개했던 것과 같이 아일랜드 전통 노래를 훈련하여 텍스트를 생성해 봅니다.

이렇게 이미지 처리,자연어 처리, 시퀀스 처리등과 같은 모델의 구축 방법등을 살펴 보고 있는데요~ 아무래도 어느정도 개념은 이해 하시고 계시는 분들에게 정리 하는 차원으로 모델 구축 방법을 다루고 있다고 보시면 될 것 같습니다. 

Part II. 모델사용

모델구축편에서 만들어 본 모델을 실제로 응용프로그램에서 어떻게 구현이 되는지 살펴 봅니다.

안드로이드/IOS 에서 사용할 수 있는 텐서플로 라이트를 이용해서 고양이와 강아지를 분류하는 App을 만들어 봅니다.

또한 브라우저에서 직접 사용할 수 있는 TensorFlow.js 를 이용해서 브라우저에서 손글씨를 분석하여 분류하는 프로그래밍을 구현해 봅니다.

그 외에도 MobileNet을 이용해 브라우저에서 이미지 분류,PosNet을 이용하여 사람의 코,눈,귀,어깨,팔꿈치,손목,엉덩이,무릎,발목 과 같은 특징을 찾아내는 프로그래밍을 구현해 보면서 구축된 모델을 실제 응용 프로그램에서 어떻게 사용할 수 있는지 살펴 보고 있습니다.

마지막으로 텐서플로 서빙을 설치하고 텐서플로 서빙으로 모델을 배포하고 추론을 관리하는 방법을 살펴 봅니다.

 

서평

텐서플로 팀에서는 이미지분류,객체탐지,자세추정,음성인식,제스처인식,스마트답장,이미지분할,스타일 트랜스퍼,숫자분류,텍스트분류,질문 응답 등의 다양한 샘플앱을 오픈 소스로 제공(https://oreil.ly/Rxpbx)하고 있고 이러한 샘플 앱을 분석 하여 자신에게 맞는 다양한 앱을 만들어 볼 수가 있습니다.

따라서 안드로이드/IOS 개발자나 혹은 자바스크립트 개발자 분들이 인공지능을 접목하여 프로그래밍을 구현하고 싶어 하는 분들에게 머신러닝에서 훈련된 모델을 어떻게 접목하는지에 대한 해결 방법을 알려 주고 있습니다.

만약 머신러닝 딥러닝의 개념이 약하신 분들은 이 책을 번역한 박해선님이 쓴 "혼자공부하는 머신러닝.딥러닝"을 추천 드립니다.

이러한 개념을 이해하고 실제로 App 또는 Web 에서 훈련된 모델을 응용해 보고 싶다면 이 책으로 개념을 정리 하신 후 응용 프로그램을 연습하신다면 원하는 멋진 인공지능 프로그래밍을 하실 수 있을 것 같네요~

 

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

인공지능이 최신기술로 화두가 된 지금 사회에서는 인공지능을 만들줄 아는 인재들을 구하고자 많은 노력을 기울이고 있고, 이러한 수요에 맞춰 관련 교육이나 기술 서적들의 발매도 꾸준히 증가하고 있는 상황이다. 한때는 기초적인 인공지능 기술을 배우고 전반적인 데이터 분석에 대한 프로세스에 집중을 했다면 최근에는 이러한 인공지능을 여러 분야에 응용하여 실제 프로젝트로 접목시키려는 시각과 관련된 책들이 많이 나오기 시작하고 있다. 

이 책의 경우 제목만을 본다면 AI 개발자를 위한 책이라고 생각할 수 있으나 자세히 읽어본다면 AI가 아닌 기존에 다른 프로그래밍을 하고 있는 개발자에게 권하는 도서라고 볼 수가 있다. 주 라이브러리를 텐서플로로 사용해서 코드를 보면서 빠르게 만드는 법을 머신러닝과 딥러닝으로 나누어서 설명하고 있다.

머신러닝과 딥러닝을 모두 다 다루는데다 딥러닝도 컴퓨터비전,자연어처리 같은 굵직한 분야도 다루다보니 그 깊이는 매우 얕다. 즉, 그만큼 실전에 사용하는 코드만을 보여주고 있기 때문에 바로바로 활용하기에는 좋은 책이라는 말이 된다. 더군다나 2부 파트에서는 모바일에 딥러닝을 사용하는 법과 그 활용예를 보여주고 있다보니 그만큼 무척 다양한 분야에 딥러닝이 실제 코드로 어떻게 활용되는지를 보여주고 있는 셈이다.

한 권안에 무척 많은 내용이 담겨있다보니 어떤 서비스를 구현할때 필요한 모델을 찾기에는 큰 맥락으로 접근하기가 좋아보인다. 실제로 이론이 아니라 어떻게 활용되는지를 명시하고 있기 때문에 다양하게 활용할 방안으로 떠올리기도 쉬울듯 하다. 머신러닝,딥러닝이 서비스로 연결되는 부분을 볼 뿐만아니라 간단히 프로젝트로도 만들수 있기에 완전하지는 않지만 참고를 할 수 있을만한 서적으로 소개하고 싶다.

 

이 책은 '22년 발간한 책으로 22년 8월 현재 초판 1쇄 발행본이다.

저자 로런스 모로니로 구글의 인공지능 개발 지원팀 리더로 텐서플로 유튜브 채널에 영상을 자주 올리고 있으며 DeepLearning.com 및 Coursera에서 호평받는 강의를 진행하기도 하였다.

저자의 약력에서 살펴볼 수 있듯 본 책 내용은 뜬 구름 잡는 내용이 아닌 실제 회사에서 많이 사용하는 예제와 실제 코드를 적용하여 업무자에게 많은 도움이 되어 보인다.

책 내용은 전체적으로 본문 454페이지 가량의 조금 두꺼운 분량으로 보이며 책상앞에 두어도 큰 부담이 되지는 않고 총 20장으로 구성되어 있다. 

책 내용은 텐서플로 소개를 시작으로 총 20장으로 구성되어 있으며

 1장~ 11장은 모델구축, 그 이후는 모델 사용을 다루고 있는데 그 내용을 간단히 살펴보면

 1장은 텐서플로우를 소개하고 있으며 설치 및 머신러닝 개념에 대해 쉽게 설명하고 있다.

 2장은 컴퓨터 비전을 소개하며 뉴런, 신경망 설계등을 통해 개념을 실제 코딩을 통해 실습하도록 구성하였다

 3장은 이미지에서 특징을 감지하는 앞의 2장보다 어드밴스드된 내용을 다루고 있으며 합성곱 신경망, 말과 사람을 구별하는 CNN, 이미지 증식, 전이학습, 다중분류, 드롭아웃 규제등을 다루고 있다.

 4장은 텐서플로 데이터 섹으로 공개 데이터셋을 다루는 방법을 설명하고 있으며 케라스 모델에서 텐서플로 데이터셋을 사용하는 방법을 설명하고 있고 매핑함수, 텐서플로 애드온등을 설명하고 있다.

 5장은 자연어 처리방법을 보여주고 있는데 언어를 숫자로 인코딩 하기, 불용어 제거등을 다루고 있다.

 6장은 임베딩을 통한 감성 프로그래밍, 단어의 의미 구축하기, 텐서플로의 임베딩, 임베딩 시각화등을 다루고 있다.

 7장은 자연어 처리를 위한 순환 신경망을 소개하며 순환구조, RNN으로 텍스트 분류기 만들기, 사전 훈련된 임베딩 사용하기 등을 언급하고 있다.

 8장은 텐서플로로 텍스트 생성하기로 입력 시퀀스로 변환, 텍스트 생성, 데이터셋 확장, 문자 기반 인코딩등을 설명하고 있다.

 9장은 시퀀스와 시계열 데이터에 관한 내용으로 시계열 예측 기법등에 대해 간단히 보여주고 있다. 

10장은 시퀀스를 예측하는 머신러닝 모델을 다루고 있으며 윈도 데이터셋, DNN을 통한 시퀀스 데이터 훈련, 결과 평과, 케라스 튜너로 하이퍼파라미터 튜닝등을 다루고 있다.

11장은 시퀀스 모델을 위한 합성곱 신경망과 순환 신경망을 보여주며 시퀀스 데이터를 위한 합성곱을 NASA날씨 데이터를 사용하여 쉽게 이해하도록 실습하고 드롭아웃 사용하기, 양방향 RNN 사용등을 다루고 있다.

 12장은 모델사용의 첫 장으로 텐서플로 라이트를 소개하면서 시작하며 전이학습으로 만든 이미지 분류기를 텐서플로 라이트로 변환하는 법을 보여준다.

13장은 안드로이드 앱에서 텐서플로 라이트 사용법을 보여주고 있으며 이동성이 강화된 프로그램 환경을 설명한다.

 14장은 iOS앱에서 텐서플로 라이트 사용법을 실습하며 Xcode로 첫번째 텐서플로 라이트 앱을 만들어 본다.

 15장은 TensorFlow.js를 소개를 시작으로 16장은 앞의 TensorFlow.js에서 컴퓨터 비전 모델 훈련을 실시한다.

 17장은 파이썬 모델을 변환해 재사용 하는 방법을 설명하며 파이썬 기반 모델을 자바스크립트로 변환하기, 사전에 변환된 모델을 사용하기 등을 학습한다.

 18장은 자바스크립트의 전이 학습을 다루고 있으며 MobileNet으로 전이 학습을 수행하는 법을 보여주고 있다.

 19장은 텐서플로 서빙으로 배포하는 법을 보여주며 텐서플로 서빙에 대한 설명, 설치, 모델 구축과 배포를 다룬다.

 20장은 마지막 장으로 인공지능 윤리, 공정성, 개인보호, 연합 학습을 다루며 책의 내용을 마무리 하고 있다.

 전체적인 총평은 난이도는 초중급으로 보이며 기본적으로 예제가 매 페이지 마다 삽입되어 추상적인 내용을 구체적으로 이해하도록 잘 구성되어있으며 파이썬 프로그래밍에 대한 기본적인 이해가 선행되어야 할 것으로 보이며 인공지능, 머신러닝, 딥러닝에 대한 기초적인 내용도 본 책을 읽기전 미리 학습되어 있으면 본 책을 한장 한장 따라가며 학습하는데 도움이 될 것으로 사료된다. 

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

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

도서판매처

리뷰쓰기

닫기
* 도서명 :
개발자를 위한 머신러닝&딥러닝
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
개발자를 위한 머신러닝&딥러닝
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
개발자를 위한 머신러닝&딥러닝
구입처*
구입일*
부가기호*
부가기호 안내

* 인터넷 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실