개발자를 위한 머신러닝 & 딥러닝
AI and Machine Learning For Coders
저자는 구글의 인공지능 개발 지원팀 리더로 이 팀은 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
2. 자연어 처리
- 언어 encoding & tokenizer
- OOV(out of vocabulary) 사용
- Embedding을 사용하여 언어의 감성 분석
- RNN(Recurrent Neural Network), LSTM
3. 시계열 데이터
- 시퀀스를 예측하는 모델만들기
Part II 모델 사용
이 챕터에서는 텐서플로 라이트를 사용한다. 즉 Android, iOS등의 임베디드 환경에서 머신러닝 응용과, 브라우저에서 동작하는 TensorFlow.js도 소개를 한다.
임베디드 환경은 리소스가 제한되어 있기 때문에 여기서 학습을 하는 것은 아니고 텐서플로 모델을 컨버터를 거처서 tffile을 각 OS상에서 인터프리터를 동작시켜서 추론만하는 개념이다.
이 링크 https://github.com/margaretmz/awesome-tensorflow-lite 에서 다양한 분야의 TF lite의 샘플들을 확인할 수 있다.
참고
책의 코드들은 번역자의 깃헙(https://github.com/rickiepark/aiml4coders)에 수록되어 있다.
“한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”