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

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

처음 배우는 인공지능

개발자를 위한 인공지능 알고리즘과 인프라 기초

한빛미디어

번역서

판매중

  • 저자 : 다다 사토시
  • 번역 : 송교석
  • 출간 : 2017-06-01
  • 페이지 : 412 쪽
  • ISBN : 9788968483318
  • 물류코드 :2331
  • 초급 초중급 중급 중고급 고급
4점 (14명)
좋아요 : 83

머신러닝과 딥러닝 시대에 맞는 인공지능 개론 

빅데이터가 축적되면서 머신러닝과 딥러닝 기술이 발전했고 개발자가 실제로 구현할 수 있는 프레임워크나 라이브러리가 등장했습니다. 전 세계 일류 IT 기업은 이러한 기술을 접목해 인공지능 서비스를 발표하고 있으며 앞으로는 더욱 향상된 인공지능 서비스가 등장할 것입니다.

 

이 책은 ‘넓게, 하지만 절대 얕지는 않게’ 개발자에게 꼭 필요한 인공지능의 기초 이론을 알려주는 개론서입니다. 통계 이론, 머신러닝, 딥러닝, 신경망, 강화 학습, 자연어 처리 등 오늘날 인공지능 서비스 구축에 필요한 핵심 이론과 알고리즘을 설명합니다. 또한 분산 컴퓨팅과 사물인터넷 등 인공지능에 필요한 인프라 기초도 다루므로 분야 전체의 개념을 이해하고 싶은 사람에게 도움이 될 것입니다.

 

인공지능_상세_733px.jpg

 

다다 사토시 저자

다다 사토시

대학교에서 생물학을 전공하면서 프로그래밍을 취미로 시작한 이색 개발자. 프로그래밍 지식을 살려 생물정보학 기업에 근무하면서 본격적인 인공지능 프로그래밍을 시작했다. 데이터 분석 프로그램과 웹 기반의 데이터베이스 시스템 개발에 인공지능 서비스를 도입하는 업무를 맡고 있다.

송교석 역자

송교석

고려대학교 졸업 후 카네기 멜런 대학교에서 컴퓨터과학 석사 학위를 받았습니다. LG전자, 동양시스템즈를 거쳐 안랩에서 10년간 근무했으며, 안랩에서 분사한 노리타운스튜디오의 대표를 역임한 바 있습니다. 2017년 4월 메디픽셀(Medipixel)을 설립하여 대표를 맡고 있으며, 인공지능 기반의 폐암 진단 및 수술로봇 자동화 시스템의 연구개발을 진행하고 있습니다. 『신경망 첫걸음』(2017), 『처음 배우는 인공지능』(2017), 『강화학습 첫걸음』(2018, 이상 한빛미디어)을 우리말로 옮겼습니다. 

Chapter 1 인공지능의 과거, 현재, 미래

__01 인공지능이란

__02 인공지능의 여명기

__03 인공지능의 발전 흐름

 

Chapter 2 규칙 기반 모델의 발전

__01 규칙 기반 모델

__02 지식 기반 모델

__03 전문가 시스템

__04 추천 엔진

 

Chapter 3 오토마톤과 인공 생명 프로그램

__01 인공 생명 시뮬레이션

__02 유한 오토마톤

__03 마르코프 모델

__04 상태 기반 에이전트

 

Chapter 4 가중치와 최적해 탐색

__01 선형 문제와 비선형 문제

__02 회귀분석

__03 가중 회귀분석

__04 유사도

__05 텐서플로를 이용한 선형 회귀 예제

 

Chapter 5 가중치와 최적화 프로그램

__01 그래프 이론

__02 그래프 탐색과 최적화

__03 유전 알고리즘

__04 신경망

__05 텐서플로를 이용한 신경망 만들기 예제

 

Chapter 6 통계 기반 머신러닝 1 - 확률분포와 모델링

__01 통계 모델과 확률분포

__02 베이즈 통계학과 베이즈 추론

__03 마르코프 연쇄 몬테카를로 방법

__04 은닉 마르코프 모델과 베이즈 네트워크

 

Chapter 7 통계 기반 머신러닝 2 - 자율 학습과 지도 학습

__01 자율 학습

__02 지도 학습

__03 텐서플로를 이용한 K-평균 예제

 

Chapter 8 강화 학습과 분산 인공지능

__01 앙상블 학습

__02 강화 학습

__03 전이 학습

__04 분산 인공지능

 

Chapter 9 딥러닝

__01 신경망의 다층화

__02 제한 볼츠만 머신

__03 심층 신경망

__04 합성곱 신경망(CNN)

__05 순환 신경망(RNN)

__06 텐서플로를 이용한 오토인코더 예제

__07 텐서플로를 이용한 합성곱 신경망 예제

 

Chapter 10 이미지와 음성 패턴 인식

__01 패턴 인식

__02 특징 추출 방법

__03 이미지 인식

__04 음성 인식

__05 텐서플로를 이용한 GAN 구현하기

 

Chapter 11 자연어 처리와 머신러닝

__01 문장 구조 이해

__02 지식 습득과 통계 의미론

__03 구조 분석

__04 텍스트 생성

 

Chapter 12 지식 표현과 데이터 구조

__01 데이터베이스

__02 검색

__03 의미 네트워크와 시맨틱 웹

 

Chapter 13 분산 컴퓨팅

__01 분산 컴퓨팅과 병렬 컴퓨팅

__02 분산 컴퓨팅 하드웨어 환경

__03 분산 컴퓨팅 소프트웨어 환경

__04 머신러닝과 딥러닝 개발 환경

 

Chapter 14 빅데이터와 사물인터넷의 관계

__01 빅데이터

__02 사물인터넷과 분산 인공지능

__03 뇌 기능과 로봇

__04 메타 인지

__05 일본 인공지능 기술 동향

인공지능 기술의 숲을 확인한다!

대규모 연산 처리를 통해 기계에 학습을 시킬 수 있는 개발 환경이 등장했다. 이를 이용해 프로그래머라면 누구나 인공지능 서비스를 만들 수 있게 되었다. 하지만 영어 문법을 안다고 유창한 회화를 할 수 없듯이 제대로 된 인공지능 서비스를 개발하려면 인공지능 기술에 무엇이 있고 어떤 역할을 하는지 넓고 얕게라도 알 필요가 있다.

 

이 책은 최근 주목받고 있는 머신러닝과 딥러닝을 중심으로 개발자가 꼭 한 번 살펴봐야 할 최신 인공지능 기술을 소개한다. 또한 한국어판에서는 선형 회귀, 신경망 만들기, K-평균, 오토인코더, 합성곱 신경망, GAN의 6개 이론을 텐서플로를 이용해 간단히 구현해서 개발자들이 참고할 수 있도록 했다. 개발자, 데이터 과학자 등 실제 인공지능 서비스를 개발하는 데 연관 있는 사람이라면 이 책을 읽은 후 앞으로 더 깊게 인공지능 분야를 배울 수 있는 시작점과 이정표를 찾을 수 있을 것이다.

 

 

★ 주요 내용

  • 인공지능의 개념과 역사
  • 머신러닝, 딥러닝, 강화 학습, 이미지 인식, 자연어 처리 등 주요 인공지능 이론 소개
  • 인공지능 서비스 구축에 필요한 하드웨어/소프트웨어 기반의 분산 컴퓨팅 소개
  • 빅데이터/사물인터넷/인공지능 사이의 연관 관계

 

 

★ 대상 독자

  • 인공지능 서비스 개발자
  • 빅데이터와 클라우드 컴퓨팅을 다루는 데이터 과학자와 인프라 관리자
  • 인공지능 분야를 공부하는 대학생과 대학원생

 

“개발자를 위한 인공지능 알고리즘과 인프라기초”이라는 책표지의 문구는 개발자 취향저격이 아닐까 싶습니다. 인공지능에 조금이라도 관심이 있던 개발자라면 눈길을 끌 수 밖에 없는 “처음 배우는 인공지능”은 인공지능이라는 개념의 등장부터 차근차근 설명하며 시대에 따라 인공지능이라는 단어가 의미하는 것의 변화 과정, 그리고 그 변화하는 의미에 따라 인공지능을 구현하기 위해서 어떤 방식으로 발전해 나가는지, 인공지능이 해결하고자하는 문제의 해답을 찾는 목표에 위해서 적용되는 알고리즘이 어떻게 달라져왔는지에 대해서 설명합니다. 규칙기반의 판단을 하는 것을 시작으로 통계기반의 회귀분석을 통한 예측. 우리가 흔히 말하는 인공지능이라는 단어가 포함하는 것이 엄청나게 많은 개념을 내포하고 있고, 해결하고자하는 문제에 따라서 적용될 수 있는 방법도 여러가지라는 것을 자세히 설명하고 있습니다.

하지만, 이 개념들을 짧은 지면에서 모두 설명하다보니 ( 수학적 지식이 부족한 저 같은 사람이) 한번에 이해하기 위해서는 조금 어려웠던 느낌입니다. 책을 몇번 반복해서 읽어보고 수학 공식 보다는 책이 설명하려는 의미에 집중하고 보니 어떤 회귀분석이 어떤 것이고, 알파고 얘기를 할 때 빠지지않고 등장하는 딥러닝이 어떤 것을 의미하는지 이해하는데 도움이 되었습니다. 특히 책의 후반부에 설명되어 있는 자연어 처리부분은 어떤 식으로 언어를 이해시키는 지 알게되는 계기가 되었습니다.

“처음 배우는 인공지능”이라는 단어에 걸맞지 않고 많은 수학적 지식을 필요로 하고 책표지에 있는 개발자 취향저격의 문구에 들어가는 인프라에 대한 설명은 상대적으로 부족한 느낌이 없지 않지만, 인공지능이라는 분야에 대해서 개략적인 개념을 익히는데는 목적을 둔 것 같은 이 책은 그 소임을 다 했다고 말할 수 있습니다. 이 책을 통해 인공지능의 개념을 알게 되었으니 그것을 디딤돌 삼아 더 자세히 공부해 보면 좋을것 같다는 생각을 하게 되었습니다. 이 책은 저같이 인공지능에 호기심은 있지만, 어디서부터 공부해야할지 개념조차 알지못하는 사람이 가볍게 읽어보면 ( 깊이 읽으려고하면 어려워집니다.) 개념을 잡아가는데 도움이 될 것입니다.

 

 

누가 뭐래도 요즘 가장 핫한 기술중에 인공지능이 빠질 수 없다. 수면아래 있던 기술을 작년 알파고가 띄어놓았고, 인공지능 전문가들의 몸값과 수요가 늘었다.

 

시기가 맞았는지 챗봇등의 다양한 인공지능들이 뜨면서 일반인들에게도 이제 낯설지 않은 기술이 인공지능이다.

 

-책을 읽고

 

책의 제목은 `처음 배우는 인공지능`이다. 인공지능을 처음 배울 때는 도움이 될 지 모르겠지만, 생각보다 사전지식이 많이 필요하다. 다른 독자들의 리뷰에도 전부 적혀있는게 `어렵다`이다.

 

이 책은 적어도 수학에대한 어느정도의 지식이 있어야 하며, 컴퓨터학에 대한 이해도 어느정도 필요로한다. 즉, 컴퓨터전공자가 아니면 읽기 힘들 수 있다. 문과방면의 공부를 한 사람이라면 아마 꽤나 고생을 할 것이고, 그나마 공과쪽의 공부를 했다면 어느 정도 커버가 될 것이다.

 

책의 난이도가 낮지는 않지만, 다양한 기술들을 소개해주고 설명하고있다. 즉 인공지능개론(?)같은 느낌의 책이다. 내가 이 책을 읽고 딥러닝을 마스터하거나 하진 못하겠지만, 힌트를 얻고 다음 단계로 나아갈 수 있다. 다음에 만나는 더 어려운책을 좀 더 쉽게 접할 수 있게 될것이다.

 

그런 의미에서 보았을 때 `처음배우는 인공지능`이라는 제목은 사실 그렇게 나쁘진 않다.

 

-추천

 

인공지능에 대한 감을 잡고싶은 사람들이라면 한 번 읽어보자. 또는 인공지능 공부에 뛰어들고싶지만 막막했던 사람들에게도 추천한다.

 

요즘 IT 개발 판(?)에서 가장 핫(hot)한 주제가 머신러닝, 딥러닝과 같은 인공지능과 관련한 것이다. 그래서 나 역시 이런 주제에 대한 궁금증과 함께 학습에 대한 욕구를 계속 가지고 있었다.

하지만, 여느 보통 사람들이 대부분 그렇겠지만, 난 수학에 대한 공포심을 가지고 있어서 인공지능은 쉽게 접근하지 못하는 영역이었는데, 책 제목이 "처음 배우는 인공지능" 이길래 과감히(?) 도전 해봤다.

책이 담고 있는 내용은?

"처음 배우는 인공지능" 이라는 제목 답게 이 책은 인공지능에 대해 잘 알지 못하는 독자를 대상으로 쓰여졌다. 인공지능이란 분야에서 사용되는 이론과 알고리즘들을 쭈욱~ 나열한 느낌인데, 고로 자세하고 심층있는 내용을 다루기 보다는, 인공지능 분야 입문을 위해 알아야 하는 사전 지식들에 대해 소개하는 책으로 보면 될 것 같다.

하지만, 책 내용이 그렇게 가볍지만은 않다. 아래 그림에서 보듯이 곳곳에 수학 공식들도 꽤 많이 언급되다보니, 수학을 잘 못하는 나로서는 책 내용을 100% 이해하기가 어려웠다. 수학적 사전 지식을 가지고 있는 사람이라면, 좀 더 이해하기 수월할 듯 하다.

 

20170801_111820-2.jpg

 

추천할 만한 책인가?

 

한정된 분량 안에 인공지능 관련 많은 알고리즘에 대한 얘기들을 하고 있기 때문에, 심도 깊은 내용을 기대하는 분들에게는 추천하지 못할 것 같다. 
하지만 나처럼 인공지능에 대해 알고 싶어하는 분들은 한번쯤 읽어볼 만한 내용을 담고 있다 생각하는데, 인공지능에서 뿐만 아니라 일반적으로 사용되는 알고리즘에 대한 내용도 담고 있어서, 개발자들의 상식(?)을 위해서도 한번 읽어보면 좋지 않을까 한다.

그나저나.. 난 수학을 왜 이리 못하는 걸까? ㅠㅠ

처음 배우는 인공지능

 

우선, 이 책은 컴퓨터공학 및 수학/통계학을 전공한 사람들에겐 꽤 적절한 인공지능 개론서라 할만하다.

만약 그외의 학과, 특히 공학을 전공하지 않았다면, 이 책과 관련된 여러 리뷰를 참고하고나서 선택하기를 권한다.

왜냐하면, 제목만 보고 무턱대고 책을 보고나서 저자와 출판사에게 불만을 토로하는 일이 발생하지 않았으면 해서 이다...

 

작년 알파고와 이세돌9단의 대국 이후 인공지능 이라는 말을 우리 주변에서 꽤 쉽게 들을 수 있게 되었다.

그로인해 공학이 아닌 사람들도 인공지능에 상당한 관심이 가지고 되고, 4차 산업혁명이라는 말도 종종 보게된다.

 

그런데, 이 인공지능이라는 게 실제로 보면 꽤 고도의 지식과 통찰을 요하는 분야이다.

기본적으로 수학/통계에 대한 지식이 어느정도 있어야 하며, 컴퓨터공학에서 다루는 알고리즘에 대한 이해도 있어야 한다.

 

혹시, 컴퓨터나 수학,통계를 전공하지 않은 사람이면서 인공지능에 관심이 생겼다면 '신경망 첫걸음' 이란 책을 추천한다.

'신경망 첫걸음'은 매우 친절하게 차근차근 설명을 하기에 누구나 큰 부담없이 인공지능과 신경망에 대한 흥미를 얻을 수 있다.

 

참고로 '처음 배우는 인공지능' 에서 신경망은 여러 주제중에 하나일 뿐이다. 

 

 

전반적인 책의 구성은 인공지능과 관련된 주제들과 그에 대한 대략적인 설명이 주를 이룬다.

절대 깊게 들어가진 않는다. 그렇다고 또한 자세하게 들어가지도 않는다.

이러한 종류의 책은 다루는 분야가 너무나 넓기 때문에 자세하게 설명하기엔 무리가 있다.

 

이 책을 볼 때는 모든 내용을 이해한다는 생각은 접고, 인공지능의 전반적인 그림을 머릿속에 그려본다는 목표를 가지고 보기를 추천한다.

 

전반적인 그림을 그리는 정도를 목표로 추천한 이유는, 인공지능이라는 방대한 분야에서 키워드의 중요성이 매우 크기 때문이다.

인공지능과 관련된 학습을 하거나 일을 할 때, 각 용어나 키워드를 몰라서 힘들 수가 있을 텐데, 

이럴때 최소한 키워드 자체에 익숙해지면 마음의 부담이 적어지고,

해당 키워드로 대략적인 내용을 이 책과 같은 개론서에서 바로 찾아 볼 수가 있기 때문이다. 그리고 나서 심도 깊은 내용은 좀 더 전문화된 책으로 학습을...

 

인공지능이라는 방대한 세계를 탐험할 때, 중간중간 한번씩 열어보면서 자신이 원하는 곳을 찾아가게 도와주는 지도와 같이 활용하기에 좋은 책이라 생각한다.

 

최근에 각종 IT 세상의 아주 큰 화두 중 하나는 단연 인공지능입니다. 저는 소프트웨어 회사에 몸담고 있기 때문에 주변 사람들과 대화해보면 인공지능, 특히 딥러닝에 대한 관심이 매우 높습니다. 이거 하나만 좀 할 줄 알면 연봉이 1.5~2배는 뛴다더라 하는 우스갯소리도 많이 들어봤구요. 그럼에도 주변엔 아직 이런거 제대로 하는 사람이 많지는 않습니다. 그만큼 어렵기 때문이겠죠.

일단 저는 한번도 딥러닝이나 그 외 인공지능에 관련된 어떤 공부도 한적이 없습니다. 그런데 이 책을 선택한 이유는 관련 지식이 너무 어렵다 보니 어떻게 쉽게 좀 배워볼 수 있는 방법이 없나 하는 안일한 생각에서 부터 시작했습니다.

 

처음 배우는 인공지능 책 리뷰

 

전공자 대상의 인공지능 참고서

 

 

first-learn-1.jpg

 

 

이 책의 시작은 가볍게 아주 가볍게 인공지능 기술의 역사부터 시작합니다. 이 부분은 아주 재밌게 읽었습니다. 큰 지식도 필요없고 아 그렇구나 하고 넘어갈 수 있었습니다. 그리고 좀 책이 쉽겠지 하는 환상에 빠져 달콤하게 읽을 수 있었습니다. 그리고 이 책의 쉬운 부분은 거기가 끝입니다. 한 40페이지 되는 것 같네요. 

 

그 뒤부턴 처음 들어보는 이론과 수학공식, 가끔 등장하는 파이썬 코드, 가끔 등장하는 텐서플로 예제등이 있습니다. 그리고 이런 것들을 설명할 때 이 책은 매우 불친절합니다. 한가지 예시를 들어보면 텐셔플로 예제를 주면서 텐셔플로에 대한 설명 한줄도 하지 않습니다. 반면 뒤에 개발환경에 대해 설명하며 텐서플로에 대해 3줄정도로 요약해서 설명합니다. 

대부분의 설명이 이런식으로 이루어져 있습니다. 책을 읽다보면 한가지 패턴이 보이는데 

 

1. 'A'라는 이론이 있습니다. 

2. 이 이론은 쓰면 다음과 같이 됩니다. 

3. 이걸 이용해서 이런걸 할 수 있습니다. 

 

이런식의 내용이 자주 등장합니다. 근데 문제는 1번의 'A'라는 이론에 대해서는 아주 사전적 정의를 내리고 2번의 부연설명이 보통 정확히 이뤄지지 않고 도식으로만 보여줍니다. 부연설명이 꽤 긴 이론이나 도식도 있지만 아마 그건 저자가 생각하기에도 설명이 필요한 부분인 것 같습니다. 그 외엔 전체적인 설명이 생략되어 있는 부분이 많습니다. 

 

개인적인 생각에 위의 '불친절함'이 그렇게 이 책의 약점이라고 생각하지는 않습니다. 책을 읽어보시면 아시겠지만 저런거 하나하나 다 설명하면서 저 많은 내용을 한 권에 담아내려면 무슨 대학생 시절 보던 원서 수준으로 책이 나올거라고 예상해봅니다. 독자나 저자 모두 그런걸 원치 않으니 어느 정도 적당한 선에서 인공지능에 대한 여러 키워드는 소개하고 끝내는 선에서 마무리 하지 않았나 싶습니다. 

 

그러나 사실 내용을 쭉 이해하기는 힘듭니다. 개인적으로 이런 분들에겐 '절대' 추천하지 않습니다.

 

1. 프로그래밍이건 수학이건 엄청 오래 놓고 있다가 '요즘 인공지능이 뜬다던데?'라는 생각에 '처음 배우는'이라는 제목을 보고 끌리시는 분

2. 인공지능이 뭔지만 파악하고 싶어서 그냥 재밌게 한번 읽고 끝내고 싶은 분

 

전공이 이쪽으로 전혀 연관되지 않으신 분들은 읽지 않는 것을 추천합니다. 

앞부분은 그래도 오 이런게 있네 신기하네 정도로 읽고 넘길 수도 있겠지만 뒷부분은 천재가 아니라면 절대 안됩니다.. 

 

 

first-learn-2.jpg

 

수학 공식에 빠집니다.. 

 

 

반면 인공지능을 공부해야겠다라고 생각하고 접근하시는 분들께는 괜찮은 참고서적이 되지 않을까 싶습니다. 

강조하고 싶은건 제 생각에 이 책은 쭉 읽어가는 책이 아니라 참고서입니다. 그냥 읽어서는 전혀 이해가 되지 않고(제 기준입니다.. 인공지능에 대한 베이스가 깔려 있으신 분들은 다르게 느끼실 수도 있습니다. ) 하나 읽고 그걸 키워드로 공부를 따로 해야 내용이 이해가 갑니다. 이런 식으로 이용하기엔 나쁘지 않아보입니다. 

예를 들면 제 경우 딥러닝을 공부하려고 하면 좀 뭔가 뜬구름 잡는 것 같고 어디서부터 시작해야할 지 좀 막막했었습니다. 이 책을 (매우 이해가 안가지만 그냥 쭉 읽어보면) 어떤 내용을 공부해서 딥러닝으로 넘어가면 될지 힌트를 얻을 수 있을 것 같습니다. 

 

리뷰에 큰 내용이 없네요.. 제가 책을 3주 정도 읽으면서 다 이해하지 못해서 이기도 합니다. 처음 책을 펼친 땐 리뷰 쓸 땐 몇가지 재밌었던 기술에 대해 설명해야지라고 생각했었는데.. 아쉽습니다. 

전체적인 인공지능의 흐름, 이론, 도식, 코드, 개발환경에 대한 이야기, 인프라에 대한 이야기를 다 조금씩 그리고 겉햝기 식으로 다루지만 절대 쉽지 않게(!?) 설명된 책이라고 결론내리고 싶습니다. 

 


처음 배우는 인공지능

다다 사토시 저 | 송교석 옮김

한빛미디어


Chapter 1 인공지능의 과거, 현재, 미래

__01 인공지능이란

__02 인공지능의 여명기

__03 인공지능의 발전 흐름

 

Chapter 2 규칙 기반 모델의 발전

__01 규칙 기반 모델

__02 지식 기반 모델

__03 전문가 시스템

__04 추천 엔진

 

Chapter 3 오토마톤과 인공 생명 프로그램

__01 인공 생명 시뮬레이션

__02 유한 오토마톤

__03 마르코프 모델

__04 상태 기반 에이전트

 

Chapter 4 가중치와 최적해 탐색

__01 선형 문제와 비선형 문제

__02 회귀분석

__03 가중 회귀분석

__04 유사도

__05 텐서플로를 이용한 선형 회귀 예제

 

Chapter 5 가중치와 최적화 프로그램

__01 그래프 이론

__02 그래프 탐색과 최적화

__03 유전 알고리즘

__04 신경망

__05 텐서플로를 이용한 신경망 만들기 예제

 

Chapter 6 통계 기반 머신러닝 1 - 확률분포와 모델링

__01 통계 모델과 확률분포

__02 베이즈 통계학과 베이즈 추론

__03 마르코프 연쇄 몬테카를로 방법

__04 은닉 마르코프 모델과 베이즈 네트워크

 

Chapter 7 통계 기반 머신러닝 2 - 자율 학습과 지도 학습

__01 자율 학습

__02 지도 학습

__03 텐서플로를 이용한 K-평균 예제

 

Chapter 8 강화 학습과 분산 인공지능

__01 앙상블 학습

__02 강화 학습

__03 전이 학습

__04 분산 인공지능

 

Chapter 9 딥러닝

__01 신경망의 다층화

__02 제한 볼츠만 머신

__03 심층 신경망

__04 합성곱 신경망(CNN)

__05 순환 신경망(RNN)

__06 텐서플로를 이용한 오토인코더 예제

__07 텐서플로를 이용한 합성곱 신경망 예제

 

Chapter 10 이미지와 음성 패턴 인식

__01 패턴 인식

__02 특징 추출 방법

__03 이미지 인식

__04 음성 인식

__05 텐서플로를 이용한 GAN 구현하기

 

Chapter 11 자연어 처리와 머신러닝

__01 문장 구조 이해

__02 지식 습득과 통계 의미론

__03 구조 분석

__04 텍스트 생성

 

Chapter 12 지식 표현과 데이터 구조

__01 데이터베이스

__02 검색

__03 의미 네트워크와 시맨틱 웹

 

Chapter 13 분산 컴퓨팅

__01 분산 컴퓨팅과 병렬 컴퓨팅

__02 분산 컴퓨팅 하드웨어 환경

__03 분산 컴퓨팅 소프트웨어 환경

__04 머신러닝과 딥러닝 개발 환경

 

Chapter 14 빅데이터와 사물인터넷의 관계

__01 빅데이터

__02 사물인터넷과 분산 인공지능

__03 뇌 기능과 로봇

__04 메타 인지

__05 일본 인공지능 기술 동향

 

 

인공지능은 아주 오래전부터 연구되어오던 주제입니다. 

하지만 일반적으로 인공지능에 대한 지식이 많지 않은 일반인들에겐 영화나 드라마, 특히 Marvel사의 영화에 등장하는 Javis와 같은 형태로 알고있습니다.

 

인공지능에 대해 더욱 큰 관심과 인식을 바꿔준 사건이 바로 작년 3월경 이세돌과 AlphaGo 의 바둑경기라 생각합니다. 

이 경기로 인해 인공지능 관련된 직무를 하지 않던 분들도 큰 관심을 가지게 되었고, IT계열의 많은 사람들도 인공지능을 관련하여 학습하시는 분들이 부쩍 늘었다고 생각합니다. 그리고 그 사건 이후로 입문자를 위한 인공지능  관련 서적도 많이 쏟아졌습니다. 위 책도 그 중 하나입니다.

 

인공지능이란 분야를 들여다보면 굉장히 넓고 많은 전문분야가 존재하고 있습니다. 그 중 위 책은 기계학습에 치우쳐져 있는 책입니다.

제가 위 책을 보고 느낀 점을 결론부터 말씀드리면 위 책은 '처음 배우는' 이란 수식어를 제목에 있으나 입문자에게도 아무런 지식이 없는 일반인에게도 추천하기 애매하다는 점이 있습니다. 위 책을 보기 전 한빛 미디어의 '신경망 첫걸음', '딥러닝 첫걸음' 을 먼저 읽었습니다. 앞의 두개의 책 모두 입문자를 위한 책으로 출판되었죠, '처음 배우는 인공지능' 처럼 말이죠. 

 

/* 저는 인공지능, 특히 기계학습에 관련된 선지식이 있는 상태였음을 미리 말씀드립니다. */

먼저 책을 읽고 느낌 장점은  다양한 부분 대해 다루고 있다라는 것입니다. 기본적인 입문용 책보다는 많은 주제를 다루고 있습니다.

처음 인공지능에 대한 기초적인 내용이 무엇인지 알고 싶은 분들에게는 좋으며 다양한 그림들과 설명은 좀 더 이해하기 쉽게 만들어 주는 것 같습니다.

 

하지만 이게 큰 단점이라 생각됩니다. 

각 주제 하나 하나 주제는 굉장히 어렵운 내용임에도 불구하고 얇은 책에 모두 담으려 하다보니 그 깊이가 굉장히 얇습니다. 

읽으면서 이정도의 지식만을 전달하는 것 이라면 다른 주제를 더욱 상세히 설명하고 불필요한 부분은 제거해도 될 거라고 생각했습니다. 너무 많은 내용을 담으려다 보니 너무 얇은 지식만 전달하게 된 거죠, 수박 겉만 보고 수박이라 판단하고, 수박을 쪼개 놓으니 수박인지 모를정도의 얉은 지식만 포함되어 있습니다.

어느 목차에서는 이 얉은 내용이 쉽게 술술 읽힐 수 있으나 다른 부분에서 앞의 내용에 대한 이해도가 낮다보니 이해가 되지 않는 부분들이 생길 수 있습니다.

 

두 번째는 이론과 실습 둘 중 하나에 특화되지 못하였습니다. 물론, 요즘 책 중 이론과 실습을 모두 포함되어 있으면서 잘 설명된 책들도 많습니다.

하지만, 이 책은 아니라고 판단됩니다. '처음 배우는' 이란 수식어를 달고 있으면서 Tensorflow에 대한 설치 가이드나 다른 설명없이 Tensorflow에 대한 예제를 제시하는 것은 입문자를 위한 배려라고 생각되지 않습니다. 만약 이 책으로 학습을 하시는 분들이 있다면, Tensorflow 관련 서적 또한 하나 준비 또는 인터넷에서 많은 자료가 있으니 참고하면서 진행하면 좋을 것 같습니다.

 

위 책의 마지막 장까지 읽으며.. 친절하지도 불친절하지도 않은 내용이 너무 아쉬웠습니다...

입문자를 위해서도, 기초지식을 보유한 이들에게 좀 더 깊은 지식을 전달하지 않은 애매함이 너무 아쉬웠습니다.

 

/* #위 리뷰는 개인적인 의견일 뿐임을 말씀드리며,  참고만 부탁드립니다. */

인공지능. AI. 게임을 만들면서 AI에 대해서 공부를 하고 싶었다. 개발자를 위한 인공지능 알고리즘이라고 말하는데, 미리 말해두지만 나는 프로그래머는 아니다. 프로그래밍을 하면 좋을 것 같은 게임기획자다. 제목이 <처음 배우는 인공지능>이니까 뭔가 쉬워 보였다. 비 프로그래머인 나도 이해는 할 수 있지 않을까라고 안일하게 신청한 것이 나의 크나큰 잘못이었다는 것은 책을 받아보고 몇 장 읽지 않고서 깨달을 수 있었다.

 

IMG_5529.jpg

 

보들보들한 촉감과 적당한 크기의 좋은 책. 책 하단의 <기증>도장이 '되팔 생각 하지 말고 끝까지 읽으렴'이라고 말하는 것 같다. 어차피 이해 못한다고 해도 되 팔 생각은 없지만. 표지만 보더라도 매우 깔끔하고 초보자에게 매우 친절할 것 같은 그런 뉘앙스를 풍긴다. 속지말자.

 

IMG_5530.jpg

 

머신러닝 시대. 원래도 인공지능 AI는 관심있는 대상이었지만 그놈의 알파고 때문에 더욱 더 사람들의 뇌리에 깊이 박힌 것도 있었다. 뒷면에 간단히 이 책이 다루는 것에 대해 적혀 있는데, <인공지능의 개념과 역사> 부분은 교양으로도 볼 만하다. 기술서적 치고는 가격도 나름 28,000원이면...아 비싼가? 기술 서적 대부분이 그렇고 책 가격이 3,4만원대가 기본이다보니 이게 비싼지도 모르겠다.

 

IMG_5531.jpg

 

저자는 일본인 다다 사토시님. 무려 올해 6월 1일에 나온 깔쌈한 책이다. 나는 이 책을 6월 30일인 금요일에 받앗다. 따끈따끈한 신간을 받아들고 무려 3주 가까이 내가 뭐 했느냐면ㅡ, 읽었다. 이 책은 나같은 비전공자가 보기엔 너무 어렵다.

 

IMG_5532.jpg

 

실제 적용을 해보고 싶은 사람이라면, 프로그래머가 아니면 별로 권하고 싶지 않다. 물론 100% 이해는 할 수 없지만 교양서 같은 느낌으로 나같은 평범한 사람이 볼 수도 있다.  책에서 파이썬 언어가 나오지만 몰라도 상관없다. 책을 읽는데는 크게 문제가 생기지 않는다. 다만 수학이 문제다.

 

IMG_5533.jpg

 

나한테 가장 유익했던 부분은 3챕터. 오토마톤과 인공 생명 프로그램. 그 중에서도 상태 기반 에이전트. 게임 AI와 에이전트, 보드게임을 다룬다.

 

IMG_5534.jpg

 

1장에서는 사진에서 보시다시피 저런 것을 다루는데, 1장을 꼼꼼히 본다고 해서 책을 전부 이해할 수는 없는 것 같다. 프로그래밍 지식이 있고 어느정도 AI에 관심이 있고 공부를 한 사람이라면 모를까, 후반부에 선형대수가 나오기 시작하면 나같은 수포자는 멘탈이 무너지기 시작한다.

 

IMG_5536.jpg

 

감염 시뮬레이션 모델에 관한 페이지. 이런 것은 잘 몰라도 재밌다. 확실히 이런 부분이 기획에 도움이 될 거라고 생각해서 교양서로 셀렉트 한 것도 있었는데... 너무 어렵기는 하다.

 

undefined

 

가장 흥미롭게 읽은 부분. 그리고 그나마 좀 이해할 수 있었던 부분.

 

소프트웨어 에이전트의 특성들.

 

IMG_5538.jpg

 

보드게임.

 

IMG_5539.jpg

 

보드게임의 게임 이론. 분명 이 책은 <처음 배우는 인공지능>이라는 책의 이름답게 평범한 독자들에게 일종의 교양서의 역할을 하기는 한다. 내가 그 평범한 사람 1이니까. 하지만 아는 만큼 보인다고 하지. 책에서 나오는 수학지식등을 알고 있고 프로그래밍적 지식이 있다면 좀 더 유용하게 볼 수 있을 것 같다.

 

IMG_5540.jpg

 

여기에서 나는 잠시 의욕과 함께 정신줄을 놓을뻔 했다. 선형대수는 너무 하잖아여....

 

이것을 마치 인문 교양 서적 읽듯이 읽을 요량이라면 사실 저런게 좀 나오긴 해도 구체적으로 파고들거 아니면 괜찮다.

 

IMG_5541.jpg

 

통계학 부분은 원래 관심을 가지고 있던 분야라 100% 이해는 못하고 재밌게 봤다. 

 

IMG_5542.jpg

 

얼굴 및 사물 인식을 하는 부분도 흥미롭게 읽었다. 전체적으로 교양서적 같은 느낌도 있어서 괜찮은 것 같다.

 

IMG_5543.jpg

 

요즘 인터넷에서 흥하는 '그림 그리는 인공지능'에 대해 다룬 부분. 이제 딥러닝은 혼자서 채색도 하고 시도 쓰고 그림도 그린다. 실상 사람이 할 수 있는 영역을 넘나듬으로써 인간이 인공지능과 비교했을때 더 인간적이라는 게 어떤것인지 고민하는 시점이 왔다.

 

텐서플로를 이용한 예제등이 나오는데 텐서플로를 알지 못하는 관계로 이해를 못하는 것도 있었고, 수학 관련해서는 거의 놓았다고 볼 수 있다. 나같은 평범한 사람에게도 교양서적으로써는 쓸만하지만, 책의 가격과 구성을 봤을 때 어느정도의 지식이 있는 사람이 보는 것이 훨씬 유용하다고 생각된다. 그래서 다음부터는 섣불리 프로그래밍 관련 서적 신청하지 말고 내가 정말 읽고 이해할 수 있는 부류의 책들만 신청해야겠다고 반성했다.

 

이 책은 인공지능의 과거, 현재, 미래의 개발 및 발전 흐름을 알아보고 여러 가지 과제를 해결할수학 이론 그리고 실제 서비스 개발에 활용할 데이터베이스, 빅데이터 같은 기술에 대해서 자세히 다룹니다.

 

처음 배우는 인공지능이라는제목만 믿고 책을 보면 수많은 수학 공식과 이론에 당황하게 됩니다.

 

사실 책 내용이 조금 어렵기는하지만, 인공지능이라는 숲을 본다는 생각으로 책을 마주하면, 앞으로인공지능 연구나 개발이 어떻게 진화해 나갈 건지 이해하게 되어 나에게 주어진 과제를 풀어갈 해법을 찾을 수 있다고 생각합니다.

 

그래서 책에서 거론하는 특정수학 이론 혹은 프로그램 소스 자체를 분석하는 것이 중요한 것이 아니라 여러 과제에 어떠한 이론과 알고리즘이 적용되었는지를 궁극적으로 이해하는것이 중요합니다.

 

끝으로 이 책을 관련 산업에 취업하려는 취준생이나 석사과정의 학생들이 꼭 한번 읽었으면 좋겠습니다. 그간 선배들이 연구해온 인공지능의 맥락을 파악하고 앞으로 연구해야 할 분야의 이론과 구현에 대한 깊은 이해를 준비하는 계기가 되었으면 하는 바람입니다.

 

이 책에 소개된 재미나는 인공지능 기술들

 

스타트업을 준비하시는 분들이나 인공지능 개발에 관심이 많은 독자 그리고 관련 기술에 대한 정보를 수집하시는 분을 위해 책 전반에 소개된 인공지능 서비스 개발 분야를 소개해 드립니다.

 

책의 극히 일부이기는 하지만 아래 내용을 읽어 보시면 현재의 인공지능 기술이 어디까지 발전해 있고 무엇을 만들 수 있는지 가늠해 볼 수 있습니다.

 

추천 엔진

- 전문가 시스템의 하나로 쇼핑몰 등의 평가 시스템으로 활용

 

쇼핑몰의 추천 상품, 언론사의 추천기사, 관련 기사와 같이 하나의 콘텐츠에서 비슷한 정보를찾아 추천하거나, 방문자의 검색 이력이나 구매 이력 등 사이트 방문자 고유 정보를 이용하여 정보를 찾아 추천합니다.

 

유사도

- 비교 대상이 얼마나 비슷한지 확인

 

수학적인 개념인 코사인 유사도, 상관계수, 상관 함수, 편집거리 등을 활용하여 문서 사이의 유사도를 계산하거나 입력된 단어와 사전을 비교해서 맞춤법 오류를 점검하거나 올바른 단어 후보를 제시할 수도 있습니다.

 

그래프 탐색과 최적화

 

경로 탐색에 이용할 수 있는트리 구조를 미로찾기, 대중교통 환승과 같은 최적 경로 탐색 등에 활용할 수 있습니다. 데이터베이스 시스템은 이와 유사한 B트리를 이용하여 인덱스에 활용합니다.

 

이외에도 데이터의 관계를 나타내는 요소를 추가한 트리 구조인 온톨로지가 있으며 네트워크를 기반으로 지식을 표현하는 시멘틱 네트워크도 있습니다.

 

이미지 인식

 

축소된 2차원 이미지의 해상도를 확대된 이미지 해상도로 개선하거나 흑백 사진의 컬러화 그리고 자연스러운 러프 스케치 생성 등에 활용되고 있습니다.

 

텍스트 생성

 

원래 이해할 수 있었던 언어의 문장이 암호화, 다른 언어로 변환, 노이즈 첨가 등으로 이해하기 어려운 문장이 되었을 때 기계를 통해 원래의 문장으로 되돌리는 기계번역이 있으며, 뉴스 기사처럼 문서를 자동으로 요약하여 요약문을 작성하는 기술이 활용됩니다. 애플 시리나 마이크로소프트 린나 같은 자율 문장생성 분야도 있습니다.

 

 

이 책은 누가 읽어야 하나?

 

1. 인공지능 관련 소프트웨어 및 제품을 개발하는 엔지니어나 관리자

2. 머신 러닝, 딥러닝, 사물인터넷 등과 관련된 실제 사례를 알고 싶은 독자

3. 인공지능 관련 사업을 준비 중인 스타트업 관계자

 

 

구매 전 체크 포인트!

 

개발 언어는 파이선

 

머신러닝과 딥러닝 개발에 사용되는주요 프로그램 언어가 대부분 파이선입니다. 그래서 책 본문 중간마다 파이선 소스가 등장하는데 그냥 참고만 하셔도 됩니다.즉 파이선을 몰라도 책을 이해하는 데 아무 지장이 없습니다.

 

수학 지식은 참고만 하세요.

 

서적 중간마다 인공지능 개발에 필요한 선형대수, 해석학, 통계학 등의 수학적 이론과 관련수식이 설명되어 있습니다.

 

비전공자의 경우 사실 이 페이지들은 용어들조차 생소해서 전혀 이해가 안 되어 자칫 학습 의욕을 잃어버릴 수 있습니다.

 

다만 관련 기술의 개요와 흐름을 이해하는 것이 중요하기 때문에 구체적인 다이어그램이나 수식 등은 그냥 참고만 하셔도 무방합니다.

 

텐서플로 라이브러리

 

텐서플로 등에 대해서 기초문법 설명이나 설치 등 개발을 위한 기초 설명은 일절 제공하지 않습니다.

 

그래서 제05장의 텐서플로를 이용한 선형 회귀 예제 등은 텐서플로를 알지 못하면 거의 이해가 되지 않을 것입니다.

컴퓨터를 좋아하는 사람으로서 인공지능(AI, Artificial Intelligence), 머신러닝(Machine Learning), 딥러닝(Deep Learning)이라는 말을 많이 들었다. 자주 듣다보니 어떤 말인지는 대강 알겠는데 거기에 들어가는 각종 기술을 조금 깊게 설명하는 글을 읽을 때면 도대체 무슨 말인지 잘 모르겠다. 이 문제를 해결하기 위해 인공지능 개론서를 한권 읽었다. ‘처음 배우는 인공지능’이라는 책인데 컴퓨터 공학을 공부한 사람이 인공지능을 배우기 위해 읽으면 좋을 것 같다. 컴퓨터를 잘 모르는 사람이 읽기에 수학 공식과 프로그래밍 코드가 너무 많다.

 

‘처음 배우는 인공지능’은 개론서라는 말이 어울리게 인공지능 관련 거의 모든 내용을 다루고 있다. 책의 처음에는 인공지능이라는 학문이 어떻게 발전되어 왔는지 알아보고, 그 다음 각종 인공지능 관련 내용을 하나하나 설명한다. 

 

규칙 기반, 지식 기반 모델, 오토마톤, 선형대수, 그래프, 유전 알고리즘, 신경망, 통계, 확률, 머신러닝, 딥러닝 등등 수학을 잘 모른다면 부담스러운 내용이 많다. 도전의식을 가지고 천천히 읽어봤지만 한 번에 다 이해하는데 실패했다. 그래도 상식 수준의 말만 늘어놓는 기초(입문)책보다는 뭔가 배울 것이 많아서 좋았다. 수학 공식이 부담스럽거나 인공지능 분야의 간단한 용어만 알고 싶은 사람이라면 공식은 건너 띄고 간단한 설명만 읽고 넘어가는 것도 괜찮을 것 같다. 사실 여기에 나오는 어려운 공식은 대학원 과정이라 생각된다. 물론 수학공부를 병행해서 모두 이해하면 좋겠지만...

 

여러 인공지능 관련 기술들이 최근에 이미지, 음성 패턴 인식과 자연어 처리 등에 이용되는데 이런 내용도 이 책에서 다루고 있다. 그리고 이 책은 이론뿐만 아니라 머신러닝, 딥러닝 쪽에서 핫한 오픈소스 소프트웨어 라이브러리인 텐서플로를 이용한 프로그래밍 소스코드(예제)가 포함된 것이 특징이다. 프로그래머라면 이론보다 여기에 나오는 코드를 돌려보면서 인공지능을 이해하는 것도 좋을 것 같다.

 

이 책의 마지막은 인공지능, 머신러닝, 딥러닝으로 서비스를 구축하기 위해 필요한 기술인 데이터 구조, 분산 컴퓨팅, 사물인터넷(IoT)을 설명한다. 데이터베이스, 클라우드 개발환경, 분산 컴퓨팅 기술의 발전이 바로 빅데이터 수집과 분석을 가능하게 만들었다. 그리고 앞으로 사물인터넷이 뜨면서 빅데이터는 더 거대해 질 것이고 이 엄청난 빅데이터는 인공지능, 머신러닝의 발전으로 이어질 것으로 예상된다. 인공지능, 빅데이터 관련 분야에서 일할 개발자라면 한번 읽어두면 도움이 될 내용이라 생각된다.

 

게임을 만들 때 플레이어의 상태에 따라 움직이는 적들(AI)를 조건 분기문(if 문)으로 만드는 것과 예상 질문으로 사람과 구분이 안가는 챗봇(chatbot)을 만드는 작업까지 넓은 의미에서 인공지능으로 볼 수 있다. 하지만 진짜 사람같다는 느낌을 받기 위해서는 빅데이터를 기반으로 하는 인공지능 기술이 필요하다. 이런 기술들이 어떻게 구현되는지 궁금하다면 ‘처음 배우는 인공지능’ 책이 도움이 될 것 같다. 인공지능 분야는 엄청나게 빠르게 발전하는 학문이다. 그래서 한 번에 다 이해할 수 없다. 하지만 이 책으로 감은 잡을 수 (큰 숲을 볼 수) 있으리라 생각된다.

최근 딥러닝과 머신러닝 붐에 맞물려 인공지능이라는 기술의 입문적 형태로 나온 책이다.

 

개인적으로 수학이나 수식에 매우 약한 편이라, 전반적으로 수식이 들어가는 부분의 내용을 거의 이해할 수 없었지만, 이 책에서는 인공지능의 역사, 관련된 배경, 수많은 알고리즘 및 이론과 관련 정보 - 가중치와 최적해, 강화 학습, 통계, 확률분포와 모델링, 자율학습과 지도학습, 딥러닝과 머신러닝 등 - 들을 가급적이면 쉽게 (모르는 사람이 그나마 이해할 수는 있도록..ㅠ.ㅠ)설명해주고 있다.

 

실제로 인공지능에 대해 모르는 사람이나, 접해보지 않은 사람들에게 인공지능의 역사와, 그 이론과 배경에 대해 설명해주는 입문서로 좋을 듯 하나,

해당 분야는 아무리 쉽게 설명해도 어려운 분야아니만큼 독자에게 인공지능에 대한 흥미를 좀 더 유발하고, 동기를 부여하기 위해 알려진 퍼블릭 클라우드(AWS, GCP, MS Azure등)에서 머신러닝, 혹은 딥러닝을 기반으로 한 흥미로운 샘플같은 부분이 첨가되었으면 더 좋았을 것 같다.  

DSC00393 copy.jpg

 

인공지능 트랜드에 동참하고 싶은 개발자에게 추천하고 싶은 '처음 배우는 인공지능'

 

요즘 인공지능 붐에 맞춰서 인공지능, 머신러닝 등에 관심이 생겨서 관련 책들을 차근차근 읽어나가고 있다.

'처음 배우는 인공지능'은 나처럼 전문지식이 부족한 사람도 읽기 쉽도록 설명되어 있을 것이라는 기대에 읽기 시작한 책이다.

 

책의 중반까지는 인공지능을 개발하는 사람들이 알아두면 좋을 수학적인 지식에 대해 설명하고 있다.

다양한 통계, 분석과 관련된 이론이 등장하는데 정말 많은 이론이 등장한다. 나는 수학적인 기반이 조금 부족한 편이라 조금 어려움을 느끼기도 했었다.

정말 좋은점은 너무 많은 내용을 소개하려다보니 깊은 내용을 다루지는 못하지만 관련 위키와 링크들이 각주로 잘 적혀있기 때문에 필요하다면 쉽게 찾아볼 수 있다는 점이다.

 

후반으로 넘어갈수록 개발과 관련된 이야기가 많이 나오는데, 실제로 서비스를 개발할때 필요한 하둡등의 소프트웨어부터 데이터베이스와 하드웨어까지 다양한 이야기를 다루고 있다.

마지막에는 또 다른 트랜드인 사물인터넷과 접목을 이야기하면서 다시 흥미를 일으키고 있다.

 

개발 예제가 많은 책은 아니지만 중간중간 꼭 필요한 부분에는 정리하듯 텐서플로를 활용한 예제 코드가 들어있어서 재미있게 볼 수 있었다.

디테일한 내용보다 인공지능을 배우고 싶은데 어떤 지식들을 공부해야 하고, 어떻게 접근해야 할지 궁금하다면 꼭 읽어봐야 할 책이다.

 

사실 처음 이 책의 제목을 봤을때와 읽고나서는 책에 대한 느낌이 조금 달랐다.

제목만 보고서는 얼마전 관련 도서로 한빛미디어에서 출간한 '신경망 첫걸음'의 느낌을 생각했었다.

'신경망 첫걸음'이 정말 아무것도 모르는 비전공자도 볼 수 있도록 구성된 책이라면, '처음 배우는 인공지능'은 수학이나 개발에 대한 기초 지식이 조금은 필요한 편이다.

 

사실 책 겉표지에 '개발자를 위한'이라는 문구가 쓰여 있었는데, 처음에는 눈에 들어오지 않았었던것 같다.

인공지능 트랜드에 맞춰 관련 지식을 습득하고 싶은 개발자들에게 아주 큰 도움이 될 것 같은 책이다.

이 책은 인공지능과 관련된 제품 및 서비스를 개발하는 엔지니어를 위한 책으로 개발에 필요한 지식을 취사선택해 읽어 나갈 수 있도록 애플리케이션을 개발하는 분들에게 관심이 있을 법한 알고리즘이나 기술을 중심으로 설명하고 있다.

 
  전반부는 머신러닝/딥러닝 기반의 인공지능 시스템을 개발하는데 필요한 수학 이론에 대해 간단하게 설명하고 있으며 선형대수, 해서학, 통계학 중 머신러닝과 딥러닝에 필요한 이론을 중간중간 설명하고 있다. 물론 깊게 다루지는 않지만 어느 부분을 공부해야 하는지 알 수 있어 독자가 필요한 부분을 알아내고 그 부분에 대해서 찾아보며 깊게 공부할 수 있도록 한 것 같다.
 
  후반부에는 실제 인공지능 서비스를 개발하는 분야에 대한 설명과 서비스 구축에 필요한 데이터베이스, 빅데이터 같은 기술도 설명해 놓았다.  tensorflow코드도 중간중간 작성 되어있고 spark, hadoop등에 대한 설명 또한 되어있어 전체적으로 고루고루 설명을 해놓았다는 느낌이 들었다.
 
  정말로 인공지능에 대한 입문서로 자세히 설명하지는 않지만 넓게 포괄정으로 설명하는 것이 인공지능이라는 분야의 concept을 이해하는데 무척 도움이 될 것이라고 생각되며 읽고나서 자신이 하고싶은 분야에 대한 정보를 가지고 그 분야에 대해 깊게 공부하는 것도 좋을 것이라고 생각된다.
 
인공지능에 대해 입문하고 싶은 엔지니어들에게 강력히 추천하고 싶은 책이다.

 

한 달 전쯤, 인공지능에 대한 새로운 책이 출판되었다. 

그 책 제목은 '처음 배우는 인공지능' 이다. 

 

이 책은 책 표시에 '개발자를 위한 인공지능 알고리즘과 인프라 기초' 라고 쓰여 있는 것처럼 책의 전반에 걸쳐 다양한 인공지능에 대한 기법들이 나열 되어 있다.

 

하지만 이 책을 읽기 전에 한 번 심사숙고를 해봐야 하는 것은 '나는 인공지능에 대해 얼마나 알고 있나' 라는 것이다. 왜냐하면 서두에서 언급했듯이 이 책은 다양한 인공지능에 대한 기법들이 나열 되어 있기 때문에 각각의 기법들에 대한 깊이 있는 정보는 얻기 어렵다. 

그래서 이 책은 인공지능을 처음 접하는 개발자들에게 적합한 책이라 생각한다.

 

이 책에서는 인공지능의 역사, 인공지능 기법의 설명, 인공지능 인프라, 인공지능의 미래 등 다양한 주제를 총 412페이지에 걸쳐 서술하고 있다. 때문에 주제별 깊이 있는 지식 정보 보다는 독자가 알아야 하는 핵심적인 지식 정보에 대해서만 다루고 있다. 

 

특히, 선형과 비선형에 대한 설명과 머신 러닝등에 대한 정의는 핵심적인 수학식과 초심자도 이해 할 수 있는 설명을 곁들었기 때문에 누구든 어렵지 않게 이해 할 수 있다. 더욱이 지면에 포함하기 어려운 부분들은 각주를 통해 정보를 제공하므로 관련 부분을 보다 자세히 이해하고 넘어 갈 수 있도록 하였다. 

 

하지만 이 책의 아쉬운 점은 텐서플로우를 사용해서 실제 예제를 설명하는 부분이다. 물론 텐서플로우가 최근 두터운 사용자층을 가진 라이브러리이지만 개략적인 준비 과정조차도 지면을 할애하지 않았기 때문에 처음 시작하는 사람에게는 큰 벽으로 다가 올 수도 있다.

 

그럼에도 불구하고 독자들은 이 책의 마지막 페이지를 덮었을 때, 인공지능에 대한 개략적인 흐름을 그릴 수 있을 것이다. 

물론 인공지능은 먼 과거부터 지금에 이르기까지 꾸준히 발전하고 있기 때문에, 오랜 시간 축적되있는 지식을 이 한 권에 녹아내기는 쉽지 않았을 것이다. 특히나 작은 주제 하나하나가 한 권의 책으로도 집필되는 시점에서 여러 주제에 대한 핵심 내용만 추출하여 묶는 다는 것은 여간 어려웠을 것이다. 

그 점에 대해 저자 및 역자에 대해 개인적인 감사를 표한다.

 

하지만 우리가 생각해봐야 할 점은, 역설적으로 이 책은 인공지능을 막 공부하려는 우리들에게 인공지능의 지식이 얼마나 깊고 넓은지 깨닫게 해주는 책이다. 그러므로 앞으로 인공지능이라는 새로운 지식을 공부하려는 우리들에게 단순히 나무에 있는 열매만 따 먹는 방법만 아는 것이 아닌 직접 나무를 심고 열매를 맺게 하는 방법을, 저자는 이 책을 통해 역설하는 것이 아닌지 생각하게 된다.

처음 배우는 인공지능이라는 책 제목을 보고 매우 간단한 기초적인 내용을 다룰것이라고 생각을 했지만 처음 책의 목차를 펼쳐 보는순간 탄탄한 구성으로 내용을 이루었다고 생각을 했습니다. 이책은 총 14개의 챕터로 구성이 되어있습니다.
 
 
 1장은 가볍게 인공지능이란 무엇인가? 라는 주제를 다루고 있습니다. 읽으면서 가장 와 닿는 문구가 하나 있었습니다. '어디까지가 패턴 인식 프로그램이고, 어디부터가 지능을 갖는 프로그램이라고 할 수 있을까?' 라는 문구였습니다. 이 책에서는 이 질문에 대해서 개발자의 관점에서 '사람처럼 행동하도록 만들어진 장치'라는 답변을 해주었습니다. 저 또한 이질문에 대해서 개발자 관점에서 생각을 했을때 사람처럼 행동하는 것이 아니라 ‘사람이 하기 귀찮아 하는 일을 대신 행동하도록 만들어진 장치'가 아닐까 하는 생각을 하였습니다. 
 
 

처음 배우는 인공지능 1장.jpg

 

 
과연 로봇도 사람처럼 사고가 가능한 시점이 언제올지 참 궁금합니다. 저는 그건 불가능하다고 생각을 하고있지만요 ㅎ
 
 
  2장에서는 모델의 발전에 대한 주제에 대해서 다루고 있습니다. 여기서 모델이란 판단하는 방법을 의미합니다. 방법에 따라 여라가지 이름으로 불립니다. 규칙기반, 지식기반, 전문가 시스템, 추천 시스템에 대한 내용을 다루고 있습니다. 우리가 수학시간에 배운 순서도 그림, 스무고개 같은 트리기반 등 여러가지 방법에 대해서 소개합니다. 오늘날 많은 기업에서 추천 서비스를 사용하고 있는데 기본이 되는 내용을 다루고 있습니다. 간단한 예제를 통해서 수학에 익숙하지 않은 독자분들도 쉽게 이해를 할 수 있도록 구성이 되어있습니다.
 
 

처음 배우는 인공지능 2장 트리모델.jpeg

 

 
 
 3장에서는 오토마톤과 인공 생명 프로그램에 대한 주제에 대해서 다루고 있습니다. 게임을 통해서 내용을 쉽게 설명을 하여 전달을 하고 있습니다. 저 또한 게임에 비유를 좀더 쉽게 내용을 이해할 수 있었습니다. 이번장에서 인공지능이 스스로 학습할 수 있는 원리 중 반복 처리를 실행하면서 마치 살아 있는것처럼 상태를 변경해가는 내용을 다루고 있습니다. 이번장에서 수학적인 내용중 미분 방정식이 등장합니다. 미분 방정식은 학교를 다닐때 배웠던 내용인데 이것을 이런 책에서 다시보니 감회가 새로웠습니다
 
 
 4장에서는 가중치와 최적해 탐색에 대한 주제를 다루고 있습니다. 이번장에서는 갑자기 많은 수학적인 내용이 등장하기 시작합니다. 4장을 들어가기 전에 심호흡을 한번 하고 들어가야 합니다. 가장 처음으로 나오는 것은 두 변수의 상관관계에 대해서 나옵니다 상관관계는 2장에서 추천 서비스를 설명하면서 등장을 했었기 때문에 어렵지 않게 읽어나갈 수 있을겁니다. 그외에도 선형, 비선형 계획법과 회귀분석,  가중 회귀분석에 대한 내용이 등장을 하고 마지막으로 비교대상에 대한 유사도를 측정하는 방법에 대해서 설명을 하게 됩니다. 이번장에서는 tensorflow를 이용화여 선형회귀 예제를 다루는 내용이 등장을 하게 됩니다. 수식은 매우 복잡하게 느껴질수도 있지만 막상 코드를 보면 이렇게 쉽게 풀수 있구나 하는 생각이 들겁니다. 또한 tensorflow를 이용하면 그래프를 그릴 수 있기때문에 수식만 봤을때보다 훨씬더 이해하기 쉬울것입니다.
 
 

처음 배우는 인공지능 4장 회귀분석.png

위 그래프는 실제 텐서플로우를 이용하여 그려진 그래프입니다. 이처럼 원하는데로 그래프를 그릴 수 있습니다. 
 
 
 5장에서는 가중치와 최적화 프로그램에 대한 주제를 다루게 됩니다. 신경망과 베이즈 네트워크에 기초가 되는 내용을 다루고 있습니다. 또한 유전자 알고리즘이라고 하는 최적화 시키는 방법을 다루고 있습니다. 유전자 알고리즘은 유튜브에 유전자 알고리즘을 검색을 해보시면 어떤식으로 작동이 되는지 알 수 있을겁니다. 
해당 링크로 가시면 유전 알고리즘을 이용하여 만든 내용이 나타나게 됩니다. 유전자 알고리즘은 외부에서 입력값을 넣는게 아니라 스스로 입력값을 만들어 스스로 피드백을 받고 발전을 하여 최적의 해를 찾는 알고리즘입니다. 이번장에서 주로 다루는 자료구조는 그래프에 대한 내용입니다. 그래프의 행렬표현식, 그래프 탐색과 최적화를 다루고 있습니다. 그래프는 트리구조와 비슷한 형태로 생각을 하면 이해하기 쉽습니다. 탐색 트리를 이용하여 체스같은 턴제게임을 비유하여 설명 하고 있습니다. 이번장에서도 tensorflow를 이용하여 신경망을 구축하고 MNIST라는 손글씨 데이터를 대상으로 학습시킨 후 평가하는 코드를 작성을 하게 됩니다. '신경망을 이용한 머신러닝은 컴퓨터 자원을 많이 사용하므로 21세기 전에는 도입하는데 한계가 있었습니다'
 
 
6장에서는 확률분포와 모델링에 대한 주제를 다루고 있습니다. 각종 확률분포, 베이즈 정리, 베이즈 추론, 마르코프 연쇄 몬테카틀로법을 설명합니다. 아 참고로 마르코프는 사람이름 입니다. 여기서 정규분포라는 용어가 등장 합니다. '이 세상의 모든것은 정규분포로 나타낸다'라는 말을 들어본적이 있습니다. 이것은 제가 회사에서 다른 개발자분과 일하면서 들었던 말입니다. 이 장에서는 이 책에서 처음으로 머신러닝이라는 용어가 등장을 하게 되는데 여기서 회귀분석이 머신러닝 및 신경망과 어떻게 연관이 되는지 보여줍니다. 6장은 확률에 대한 내용을 다루기 때문에 다양한 분포도를 소개합니다. 아마 확률, 통계의 개념이 많이 부족하다면 조금 어렵게 느껴질 수 있습니다.
 
 
7장에서는 자율학습지도학습에 대한 주제를 다루고 있습니다. 자율학습은 계산을 반복하면서 가중치 계수를 업데이트하는 방법입니다. 여기서 포인트는 정답 정보가 없는 상태에서 학습을 통해 모델을 만들어 냅니다. 이것을 데이터 마이닝이라고도 합니다. 반대로 정답 정보가 들어 있는 데이터를 기준으로 모델을 만드는 지도 학습에 대한 내용도 다루고 있습니다. 나이브 베이즈 정리가 바로 지도학습에 해당합니다. 이번장에서는 tensorflow를 이용하여 k-mean에 대해서 코드를 작성을 하는 예제가 나옵니다. tensorflow뿐 아니라 pandas라는 데이터 프레임 워크를 사용하는 방법에 대해서 나타납니다.
 

처음 배우는 인공지능 7장 k-mean.png

 

위 그래프틑 k-mean를 이용하여 군집화 결과를 나타낸 결과입니다. k-mean를 이용하여 클러스터링을 시키고나니 그래프가 그럴듯 해보이네요. 당장 앞에 나가서 피티 발표를 해보고 싶어집니다.

 
8장은 강화학습과 분산 인공지능에 대한 내용을 다루고 있습니다. 학습기를 생성하는 방법, 프로그램이 외부와의 상호작용을 일으키는 환경에서 피드백을 받으면서 자율적으로 학습하는 강화학습, 전이 학습을 설명합니다. 이번장을 읽으면서 가장 와닿는 문구는 ‘학습 방법을 학습한다’였습니다. 이를 메타학습이라고 하는데 이것이 진정한 인공지능이지 않나 싶었습니다.
 
 
9장은 딥러닝에 대한 내용을 다루고 있습니다. 딥러닝은 신경망을 이용한 개념인데 [처음 배우는 인공지능] 책에서는 합성곱 신경망(CNN)과 순환 신경망(RNN)에 대해서 다루고 있습니다. NN이 붙는 알고리즘은 신경망에 대한 알고리즘 입니다. 이번장에서도 tensorflow를 이용하여 오토인코더, 합성곱 신경망을 다루는 예제가 등장하게 됩니다.
 
 
10장은 이미지와 음성 패턴 인식에 대한 내용을 다루고 있습니다. 이미지와 음성 패턴인식은 머신러닝을 이용한 패턴 인식의 대표적인 사례입니다. [처음 배우는 인공지능] 책에서는 해석학 측면으로 접근하는 고전적인 머신러닝 방법과 최근 주목받는 딥러닝을 이용한 방법을 설명하며 스타일 변환 등 응용 사례도 간단히 설명하고 있습니다. 또한 고전적인 머신러닝을 이용하는 것보다 딥러닝을 이용하는 것이 어려운 이유도 설명을 하고 있습니다. 이번장에서는 딥러닝이 무조건 적으로 최고의 방법이 아니라는 것을 설명해주고 있습니다. 수학적인 측면에서 푸리에 변화의 공식이 등장을 하게 됩니다. 대학교 공업수학에서 다루는 내용인데 제가 공학수학을 공부 하면서 가장 좋아했던 부분이라서 그런지 이번장을 가장 재밌게 읽었던것 같습니다. 이번장에서도 tensorflow로 GAN을 구현하는 예제가 등장 합니다.
 

처음 배우는 인공지능 10장 푸리에 변환.png

 

 
이 그래프를 보니 학교에서 수업 들을때가 생각이 나네요 
 
 
11장은 자연어 처리와 머신러닝에 대한 내용을 다루고 있습니다. 여기서는 사람이 평소 대화와 메시지 등에서 사용하는 단어에 대해서 학습을 하고 학습된 결과를 바탕으로 텍스트를 생성을 하는 알고리즘에 대한 내용을 다루고 있습니다. 요즘 많이 서비스화 되고있는 챗봇이 바로 여기에 해당합니다. 추가적으로 인공지능을 이용하여 음악생성, 소설집필과 같은 분야에 대한 내용도 함께 다루고 있습니다. 자연어 처리는 우리가 하는 말, 메시지로 부터 형태소를 쪼개어 빈도수 체크, 상관 관계를 분석하여 vector 형태로 표시를 하여 단어마다 연관 관계를 나타내는 방법을 사용합니다.
 

처음 배우는 인공지능 11장 word2vec2.png

 

해당 이미지는 word2vec이라는 알고리즘을 이용하여 단어들을 vector 형태로 나타낸 그래프 입니다. 단어를 그래프화 시키는건 정말 멋진 아이디어인것 같습니다. 그래프화가 되었다는건 선형계산이 가능함을 의미합니다. 즉  +,-, *, /이 가능해집니다.

 
12장은 지식 표현과 데이터 구조에 대한 내용을 다루고 있습니다. 이번장에서는 지식 기반을 사용하는 시스템의 데이터와 머신러닝으로 얻은 학습기의 상태(특징량)를 영구적으로 사용하려면 외부 스토리지에 저장할 필요가 있는데 저장이라는 관점에서 주된 내용을 다루고 있습니다. 또한 각 저장소마다의 특징에 대한 설명을 자세히 해주고 있습니다. 바로 우리가 흔히 불러온 DB라는 주제입니다. 데이터 베이스의 종류는 상당히 많습니다. 하지만 모든 데이터 베이스를 사용하는 것이 아닌 우리가 사용하고 있는 서비스, 시스템에 맞추어 선택을 해서 사용을 하게 되는데 이것을 선택을 하기 위해서는 데이터의 성격을 파악후 그 성격에 맞는 데이터 베이스를 선택을 해야 합니다. 예를 들면 은행처럼 transaction이 중요한 시스템에서는 주로 관계형 디비를 많이 사용합니다. 하지만 빅 데이터를 처리하기 위해서는 I/O의 시간을 줄이기 위해 또한 데이터의 모델을 정의 하기 힘들경우 NoSQL이라고 하는 데이터 베이스를 선택을 하고 NoSQL에서도 다양한 디비가 존재하는데 데이터의 성격에 따라 선택을 하게 됩니다. 이 책에서는 데이터 베이스를 선택을 하기 위해 어떤 것을 중점적으로 봐야하는지 설명이 잘 되어있습니다. 디비 특성 이외의 데이터를 불러오는 방법에 대해서도 설명을 하고 있습니다.
 

처음 배우는 인공지능 12장 Database.jpg

 

저도 전 회사에서 데이터를 다루면서 참 많은 디비를 다뤄보았지만, 어떤 디비는 설치하면 바로 쓸수 있지만 또 다른 디비는 셋팅하는데만 몇날 몇칠이 걸리는 경우도 있습니다. ㅎ 이번 장을 읽으면서 전에 디비셋팅을 하던기억이 떠오르더군요
 
 
13장은 분산 컴퓨팅에 대한 내용을 다루고 있습니다. 물리적으로 컴퓨터를 늘려 네트워크로 연결을 하여 분산처리를 할지, 하나의 하드웨어에서 여러 프로세스를 띄워 처리를 하는 병렬처리에 대한 내용을 다루고 있습니다. 또한 이런것들을 물리적으로 직접 만들지 않고 클라우드 환경에서 사용이 가능하도록 하는 서비스 환경을 머신러닝 개발, 딥러닝 개발에 이용하는 주요 환경을 나누어 소개를 하고 있습니다. 머신러닝 개발환경 제공 서비스인 구글 클라우드 플랫폼, 마이크로소프트 애저 머신러닝, 아마존 머신러닝, IBM 블루믹스, IBM 왓슨에 대해서 설명하고 있습니다. 다음으로 딥러닝 개발환경 제공 서비스인 카페, 테아노, 체이너, 텐서플로, MXNet, 케라스에 대해서 설명하고 있습니다.
 
 

처음 배우는 인공지능 13장 TIOBE 프로그램 언어 인기 순위.png

 

해당 이미지는 2017년 6월 기준 머신러닝과 딥러닝 개발을 위해 사용되는 프로그래밍 언어 순위표입니다. 저는 python과 javascript가 주력언어이면서 c와 c++도 어느정도 다룰줄은 압니다. 요즘은 php도 다뤄야 하는 상황이 생겨서 php 기반의 소스 분석을 하고 있습니다. 어셈블리가 10위 있는건 좀랍더군요 

 
14장은 빅데이터와 사물인터넷의 관계에 대한 내용을 다루고 있습니다. 여기서는 다양한 클라우드 서비스에서 제공하는 저장소 S3, Cloud Strage, 애저, 불루믹스에 대한 소개를 합니다. 다음으로 IOT 제품을 만들기 위한 보드 요즘 가장 많이 각광맏고 있는 Raspberry Pi, Arduino 보드가 등장을 하고 그 외에도 intel Edition, ESP-WROOM-02, GR-PEACH, HiKey board가 등장을 합니다. 어떤 방향으로 사물 인터넷을 만들어 사용을 하는지 다양한 분양에 대해서도 설명을 하고 있습니다.
 

처음 배우는 인공지능 14장 빅 데이터, iot.jpg

요즘은 다양한 기기가 나옴으로써 생활이 편리해지고 있습니다. 다양한 보드가 나오면서 많은 사람들이 쉽게 iot에 접근을 할 수 있습니다. 저 또한 학교를 다니면서 아두이노, 라즈베리파이 같은 보드를 이용하여 이런 저런것들을 만들어 보기도 하였는데요. 세상이 점점 더 빠르게 변화를 하는것 같습니다. 
 
 
 이 책의 가장 좋다고 생각한 이유는 알고리즘만 중점적으로 설명하는 것이 아닌 알고리즘의 변천과정, 알고리즘의 사용목적, 어디에 사용을 하는지에 대해서 자세히 설명이 되어있습니다. 우리가 자료구조처럼 스택, 큐, 그래프를 공부할때 많은 사람들이 이러한 자료구조는 왜 공부를 하지?라는 의문을 가진사람을 많이 만나봤는데, 머신러닝또한 이러한 알고리즘을 익혀도 어디에 어떻게 사용하지라는 질문을 많이 받아왔습니다. 하지만 이 책은 머신러닝, 딥러닝 알고리즘 뿐 아니라 변천과정부터 어디에 어떻게 사용을 하는것이 좋은지에 대해서도 설명이 잘 되어 있습니다. 또한 이러한 알고리즘을 사용하기 위한 플랫폼, 서비스, 라이브러리들에 대해서도 설명을 하고 있어서 다양한 관점을 가지고 접근을 할 수있습니다.
  


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

배송료 안내

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

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

닫기

리뷰쓰기

닫기
* 상품명 :
처음 배우는 인공지능
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

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

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

오탈자 등록

닫기
* 도서명 :
처음 배우는 인공지능
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
처음 배우는 인공지능
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

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

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

닫기

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

자료실

최근 본 상품1