사물인터넷을 위한 인공지능

더 스마트한 IoT 시스템을 개발하기 위한 고급 머신러닝/딥러닝 기법

현재 가장 뜨거운 화제인 두 가지 주제, 인공지능(AI)과 사물인터넷(IoT)을 결합해 더 똑똑한 시스템을 구축하자!

데이터 과학 및 데이터 분석학을 바탕으로 용량이 테라바이트 규모에 이르는 데이터에서 통찰력을 찾아내기 위한 애플리케이션은 많다. 그러나 이러한 애플리케이션으로는 사물인터넷 데이터의 패턴을 지속해서 찾아내야 한다는 문제를 해결하지 못한다. 이 책에서는 인공지능과 사물인터넷을 결합해 다각적으로 더 똑똑한 솔루션을 구현해 본다.

《사물인터넷을 위한 인공지능》에서는 분산된 데이터 소스로부터 사물인터넷 데이터를 수집해 전처리하는 과정을 다룬다. 이 책을 통해 머신러닝, 딥러닝, 강화학습, 자연어 처리 같은 다양한 인공지능 기술을 학습해 스마트 IoT 시스템을 구축할 수 있다. 책을 읽다 보면 다양한 사물인터넷 장치에서 생성되고 소비되는 다양한 데이터 형식(예: 시계열 데이터나 그림 데이터, 소리 데이터)에 맞춰 작동하게 모델을 구축하는 기술을 터득할 수 있다. 사물인터넷 솔루션의 네 가지 주요 응용 분야별로 유용한 사례를 연구하는 것이 이 책이 지향하는 핵심이다. 이와 같은 사례를 살펴보는 과정에서 널리 사용되는 파이썬 라이브러리와 텐서플로, 케라스가 제공하는 역량을 지렛대 삼아 다양한 인공지능 모델을 구축해 볼 것이다.

이 책에서 다루는 내용을 다 이해하고 나면 스마트 인공지능 기반 사물인터넷 애플리케이션을 만들 수 있을 것이다.

★ 이 책에서 다루는 내용 ★

  • 텐서플로와 케라스를 사용해 머신러닝 및 딥러닝 등의 다양한 인공지능 기법을 적용한다.
  • 다양하고 분산된 소스에서 나온 데이터에 접근해 그것을 처리한다.
  • 지도 학습 방식과 비지도 학습 방식으로 사물인터넷 데이터에 대해 머신러닝(기계학습)을 수행하게 한다.
  • MLLib 및 H2O.ai 플랫폼을 바탕으로 아파치 스파크를 사용해 사물인터넷 데이터를 분산 처리한다.
  • 여러 딥러닝 방법을 이용해 시계열 데이터를 예측한다.
  • 개인용 사물인터넷, 산업용 사물인터넷, 스마트시티 분야의 사례를 연구해 인공지능을 구현한다.
  • 다양한 웨어러블 장치나 스마트 장치로부터 얻은 데이터에서 독특한 통찰을 얻는다.

아미타 카푸어(Amita Kapoor)

아미타 카푸어는 델리 대학교 SRCASW의 전자공학 부교수로 지난 20년간 신경망 및 인공지능을 적극적으로 가르쳤다. 1996년에 전자공학 석사 학위를 받았고 2011년에 박사 학위를 받았다. 박사 과정을 거치는 동안 독일의 카를스루에 소재의 카를스루에 공과 대학에서 연구의 일환으로 DAAD 펠로우십을 수상했다. 포토닉스 2008이라는 국제 콘퍼런스에서 최우수 발표상을 수상했다. ACM, AAAI, IEEE 및 INNS의 정회원이다. 두 권의 책을 공동으로 저술했다. 국제 저널 및 콘퍼런스에서 40권이 넘는 출판물을 펴냈다. 현재는 머신러닝, 인공지능, 심층강화학습 및 로봇공학을 연구 중이다.

박진수

다양한 개발, 저술, 번역 경험을 바탕으로 다양한 IT 융복합 사업을 전개하기를 바라며 1인 기업으로 발판을 다지고 있다. 번역한 책으로 《실전! GAN 프로젝트》 《실전 예제로 배우는 GAN》 《전문가를 위한 머신러닝 솔루션》 《딥러닝 모델 설계를 떠받치는 기술》 《따라 하면서 배우는 유니티 ML-Agents》가 있다.

  • ▣ 01장: 사물인터넷과 인공지능의 원리와 기초
    • IoT 101이란?
      • 사물인터넷 참조 모델
      • 사물인터넷 플랫폼
      • 사물인터넷 수직시장
      • 빅데이터와 사물인터넷
    • 인공지능 주입: 사물인터넷에서의 데이터과학
      • 데이터 마이닝을 위한 산업 간 표준 과정
      • 인공지능 플랫폼과 사물인터넷 플랫폼
    • 이 책에서 사용하는 도구들
      • 텐서플로
      • 케라스
      • 데이터셋
    • 요약
    •  
  • ▣ 02장: 사물인터넷을 위한 데이터 액세스와 분산 처리
    • TXT 형식
      • 파이썬에서 TXT 파일을 사용하기
    • CSV 형식
      • csv 모듈을 사용해 CSV 파일을 다루기
      • pandas 모듈로 CSV 파일을 다루기
      • NumPy 모듈을 사용해 CSV 파일을 다루기
    • XLSX 형식
      • OpenPyXl로 XLSX 형식 파일 다루기
      • XLSX 형식으로 된 파일에서 pandas를 사용하기
    • JSON 형식 다루기
      • json 모듈로 JSON 파일을 다루기
      • pandas 모듈로 JSON 파일을 다루기
    • HDF5 형식
      • PyTables로 HDF5 형식 파일을 다루기
      • pandas로 HDF5 형식 파일을 다루기
      • h5py로 HDF5 형식 파일을 다루기
    • SQL 데이터
      • SQLite 데이터베이스 엔진
      • MySQL 데이터베이스 엔진
    • NoSQL data
    • HDFS
      • hdfs3로 HDFS를 다루기
      • PyArrow의 파일 시스템 인터페이스를 HDFS용으로 사용하기
    • 요약
    •  
  • ▣ 03장: 사물인터넷을 위한 머신러닝
    • 머신러닝 및 사물인터넷
    • 학습 패러다임
    • 선형회귀 분석을 이용한 예측
      • 회귀를 이용한 전력 생산 예측
    • 로지스틱회귀를 이용한 분류
      • 교차 엔트로피 손실함수
      • 로지스틱회귀를 이용한 포도주 분류
    • 서포트 벡터 머신을 사용한 분류
      • 최대 여유도 초평면
      • 커널 트릭
      • SVM을 사용해 포도주를 분류하기
    • 나이브베이즈
      • 포도주 품질에 대한 가우스 나이브베이즈
    • 결정트리
      • 사이킷의 결정트리
      • 사용 중인 결정트리
    • 앙상블 학습
      • 보팅 분류기
      • 배깅 및 페이스팅
    • 모델 개선을 위한 팁과 트릭
      • 고르지 않은 데이터 척도를 해결하기 위한 특징 척도화
      • 과적합
      • ‘공짜 점심은 없다’ 정리
      • 하이퍼파라미터 조율 및 격자 검색
    • 요약
    •  
  • ▣ 04장: 사물인터넷을 위한 딥러닝
    • 딥러닝 101
      • 딥러닝: 왜 지금에서야?
      • 인공 뉴런
      • 텐서플로에서 단일 뉴런 모형화하기
    • 회귀 및 분류를 위한 다층 퍼셉트론
      • 역전파 알고리즘
      • 텐서플로로 구현한 다층 퍼셉트론으로 에너지 출력을 예측하기
      • 텐서플로로 다층 퍼셉트론을 구현해 포도주 품질을 분류하기
    • 합성곱 신경망
      • CNN의 서로 다른 계층들
      • 몇 가지 인기 CNN 모델
      • 손글씨 숫자 인식을 위한 LeNet
    • 재귀 신경망
      • LSTM
      • 게이트 처리 재귀 장치
    • 오토인코더
      • 잡음제거 오토인코더
      • 변분 오토인코더
    • 요약
    •  
  • ▣ 05장: 사물인터넷을 위한 유전 알고리즘
    • 최적화
      • 결정론적 방법과 분석학적 방법
      • 경사하강법
      • 자연스러운 최적화 방법
    • 유전 알고리즘 소개
      • 유전 알고리즘
      • 장점과 단점
    • 분산 진화 알고리즘을
    • 유전 알고리즘을 파이썬으로 코딩하기
      • 단어 추측
      • CNN 아키텍처를 위한 유전 알고리즘
      • LSTM 최적화를 위한 유전 알고리즘
    • 요약
    •  
  • ▣ 06장: 사물인터넷을 위한 강화학습
    • 소개
      • 강화학습 용어
      • 성공적인 애플리케이션
    • 시뮬레이션 환경
      • OpenAI gym
    • Q 학습
      • Q 테이블을 사용한 택시 하차
    • Q 망
      • Q 망을 사용한 택시 하차
      • 아타리 게임을 플레이하기 위한 DQN
      • 이중 DQN
      • 결투 DQN
    • 정책 경사도
      • 왜 정책 경사도인가?
      • 정책 경사도 방법을 사용하는 퐁
      • 연기자-비평가 알고리즘
    • 요약
    •  
  • ▣ 07장: 사물인터넷을 위한 생성 모델
    • 소개
    • VAE를 사용한 이미지 생성
      • 텐서플로의 VAE
    • GAN
      • 텐서플로를 사용해 바닐라 GAN을 구현하기
      • DCGAN
      • GAN의 변종과 멋진 애플리케이션
    • 요약
    •  
  • ▣ 08장: 사물인터넷을 위한 분산 인공지능
    • 소개
      • 스파크 컴포넌트
    • 아파치 MLlib
      • MLlib에서의 회귀
      • MLlib에서의 분류
      • SparkDL을 사용한 전이학습
    • H2O 소개
      • H2O AutoML
      • H2O에서의 회귀
      • H2O를 사용해 분류하기
    • 요약
    •  
  • ▣ 09장: 개인용 사물인터넷과 가정용 사물인터넷
    • 개인용 사물인터넷
      • MIT의 슈퍼슈즈
      • 지속적인 포도당 측정
      • 심장 관찰
      • 디지털 비서
    • 사물인터넷 및 스마트홈
      • 인간 활동 인식
      • 스마트라이팅
      • 홈서베일런스
    • 요약
    •  
  • ▣ 10장: 산업용 사물인터넷을 위한 인공지능
    • 인공지능 기반 산업용 사물인터넷 소개
      • 몇 가지 흥미로운 사용 사례
    • 인공지능을 이용한 예방정비
      • LSTM을 사용한 예방정비
      • 예방정비의 장단점
    • 산업용 전기 부하 예측
      • LSTM을 이용한 단기 부하 예측
    • 요약
    •  
  • ▣ 11장: 스마트시티용 사물인터넷을 위한 인공지능
    • 스마트시티가 필요한 이유는?
    • 스마트시티의 구성요소
      • 스마트트래픽
      • 스마트파킹
      • 스마트웨이스트
      • 스마트폴리싱
      • 스마트라이팅
      • 스마트거버넌스
    • 스마트시티에 사물인터넷을 응용하기 위해 필요한 단계
      • 공개 데이터가 있는 도시들
      • 샌프란시스코 범죄 데이터를 사용해 범죄 탐지하기
    • 도전과 이득
    • 요약
    •  
  • ▣ 12장: 종합해 보기
    • 다양한 데이터 형식 처리
      • 시계열 모형화
      • 글로 된 데이터를 전처리하기
      • 이미지 데이터를 확대하기
      • 비디오 파일 다루기
      • 오디오 파일이 입력 데이터인 경우
    • 클라우드 컴퓨팅
      • 아마존 웹 서비스
      • 구글 클라우드 플랫폼
      • 마이크로소프트 애저
    • 요약