제이펍의 도서 | Posted by 제이펍 2017.07.18 18:44

텐서플로로 시작하는 딥러닝


텐서플로를 이용하여 ‘합성곱 신경망(CNN)’의 구조를 완벽히 이해한다!


출판사 제이펍

원출판사 마이나비출판(マイナビ出版)

원서명 TensorFlowで学ぶディープラーニング入門(원서 ISBN: 9784839960889) 

저자명 나카이 에츠지

역자명 진명조

출판일 2017년 7월 12일

페이지 256쪽

시리즈 I♥A.I. 05

판  형 46배판변형(188*245*13)

제  본 무선(soft cover)

정  가 24,000원

ISBN 979-11-85890-87-6 (93000)

키워드 인공지능 / 딥러닝 / 심층학습 / 머신러닝 / 신경망 / 텐서플로

분야 컴퓨터공학 / 인공지능


관련 사이트

관련 포스트

관련 시리즈

관련 도서

관련 파일 다운로드

교재 검토용 증정 안내
■ 학교 및 학원에서 교재 선정을 위해 책을 파일로 검토해보고자 하시는 분들은 다음의 페이지에서 신청 양식을 작성해주시기 바랍니다. 확인 후 연락을 드리도록 하겠습니다. http://goo.gl/vBtPo3

강의보조 자료
교재로 채택하신 분들은 메일을 보내주시면 아래의 자료를 보내드리겠습니다: jeipubmarketer@gmail.com
■ 본문의 그림과 표

샘플 PDF(차례, 머리말, 감사의 글, 이 책에 대하여, 베타리더 후기, 1장 1.1절 '딥러닝과 텐서플로')

정오표 페이지
■ (등록되는 대로 링크를 걸어드리겠습니다)
 
도서구매 사이트(가나다순)

[강컴]   [교보문고]   [도서11번가]   [반디앤루니스]   [알라딘]   [예스이십사]   [인터파크]


도서 소개
텐서플로를 이용하여 ‘합성곱 신경망(CNN)’의 구조를 완벽히 이해한다!

이 책은 머신러닝과 데이터 분석을 제대로 배운 적이 없는 개발자를 대상으로 한다. 딥러닝의 대표적 예인 ‘합성곱 신경망(CNN)’의 구조를 근본부터 이해하고, 텐서플로를 이용해 실제로 동작하는 코드를 작성하는 것이 이 책의 목표다. 그리고 다수의 뉴런이 여러 층 결합된 ‘다층 신경망’ 내에서 대체 무슨 일이 일어나는지, 딥러닝 알고리즘은 어떤 원리로 학습하는지를 알려 준다.

딥러닝의 밑바닥에는 머신러닝의 원리가 있는데, 간단한 행렬 계산과 기초적인 미분을 알면 그 구조를 이해하기가 그리 어렵지 않다. 이 책은 필기 문자를 인식하도록 처리하는 합성곱 신경망에 대해, 그리고 이를 구성하는 각 요소의 역할을 신중하게 설명한다. 또한, 딥러닝의 대표 라이브러리인 텐서플로를 이용해 실제로 동작하는 코드를 보여줌으로써 각 요소의 동작 원리를 확인할 수 있도록 구성되어 있다. 레고 블록을 끼워 맞추듯이 네트워크 구성 요소를 늘려 감으로써 인식 정확도가 향상되는 모습을 관찰할 수 있을 것이다.

부디 이 책을 통해 딥러닝의 근본 원리를 이해하고 텐서플로 코드 작성법을 학습하여 다음 단계로 도약하는 계기가 되길 바란다.

이 책의 대상 독자
  • 머신러닝, 데이터 분석 전문가는 아니지만 AI 기술에 관심이 있는 분
  • 딥러닝 알고리즘이 어떻게 구성되어 있는지 알고 싶은 분
  • 텐서플로 공식 예제 코드를 제대로 활용하기 어려운 분

저자 소개
나카이 에츠지(中井 悦司)
1971년 4월 오사카에서 태어났다. 노벨 물리학상을 타고 싶어서 이론물리학 연구에 몰두하며 학창시절을 보냈다. 그리고 대학 입시학원 강사 등 여러 직업을 거쳐 외국계 기업의 리눅스 엔지니어로서 유닉스/리눅스 서버와 인생을 함께하게 되었다. 리눅스 에반젤리스트를 거쳐 현재는 대형 검색 시스템 기업에서 클라우드 및 솔루션 아키텍터로 일하고 있다.
휴일에는 사랑스러운 초등학생 딸과 스포츠 센터에 수영하러 다니는 ‘좋은 아빠’로 동네에서 유명하다. ‘세계 평화’를 위해 일찍 집에 들어가려고 애쓰면서도 가끔은 각별히 사랑하는 변두리 선술집에 자신도 모르게 들르기도 한다. 요즘에는 머신러닝 이론을 비롯한 데이터 활용 기술에 관한 기초 지식을 세상에 널리 알리기 위해 강연 활동 및 잡지 기고나 서적 집필에도 주력하고 있다.

역자 소개
진명조
현재 씨디네트웍스에 근무하고 있으며, 《서버/인프라 엔지니어를 위한 DevOps》, 《서버/인프라를 지탱하는 기술》, 《파이썬 더 쉽게, 더 깊게》, 《대규모 서비스를 지탱하는 기술》, 《클라우드의 충격》, 《인프라 엔지니어의 교과서: 시스템 구축과 관리편》을 포함하여 13종의 기술 서적을 번역하였다. IT 산업의 미시적인 영역과 거시적인 영역을 아우르는 통찰력을 갖게 되기를 꿈꾸고 있으며, 최근에는 머신러닝을 비롯한 인공지능(AI)의 대중화에 주목하고 있다.

차례
CHAPTER 1 텐서플로 입문 1
1.1 딥러닝과 텐서플로 4
    1.1.1 머신러닝의 개념 4
    1.1.2 신경망의 필요성 7
    1.1.3 딥러닝의 특징 13
    1.1.4 텐서플로를 이용한 파라미터 최적화 16
1.2 환경 준비 24
    1.2.1 CentOS 7에서의 준비 과정 25
    1.2.2 주피터 사용법 28
1.3 텐서플로 훑어보기 33
    1.3.1 다차원 배열을 이용한 모델 표현 33
    1.3.2 텐서플로 코드를 이용한 표현 35
    1.3.3 세션을 이용한 트레이닝 실행 39

더보기


저작자 표시 비영리 동일 조건 변경 허락
신고

댓글을 달아 주세요

  1.  댓글주소  수정/삭제  댓글쓰기 기린비 2017.08.31 15:02 신고

    파이썬 3.0에서는 4.2장에서의 ORENIST.data를 cPickle이 아니라_pickle로 읽어 들여야 하는데
    제대로 읽어 들이질 못하네요.
    그래서 임으로 mnist 파일에 있는 데이터를 추출해 직렬화해서 예제 코드를 테스트했습니다.
    그리고 4.2장부터는 코드가 제대로 동작하지 않더군요.
    제 경우는
    ValueError: Cannot feed value of shape (600, 10) for Tensor 'Placeholder_1:0', which has shape '(?, 3)'
    라는 에러가 나면서 진행이 되지 않는데
    왜 나오는지 제가 가진 지식으로는 이해가 안되네요 ㅠㅠ
    그리고 메일을 보내도 답장이 없어서 답답하기만합니다.

    •  댓글주소  수정/삭제 Favicon of http://jpub.tistory.com BlogIcon 레몬에이드 2017.08.31 16:05 신고

      안녕하세요.

      그런 어려움을 겪고 계셨군요. 역자에게 문의해서 빠른 답변 받을 수 있도록 하겠습니다. 답변 받는대로 다시 댓글로 말씀드리겠습니다.

      감사합니다.

    •  댓글주소  수정/삭제 Favicon of http://jpub.tistory.com BlogIcon 제이펍 2017.09.06 10:14 신고

      안녕하세요? 책을 번역하신 진명조 역자로부터 문의하신 내용에 대한 답변을 받아 옮겨 드립니다.
      독자께서 책에 설명된 예제 코드 실행환경과 다른 환경을 구성해서 테스트하시는 것으로 추측하시는데요.
      독자께서 테스트한 파이썬 3.0에서 확인해보니 약간 수정하면 정상 동작하는 것을 확인했다고 하며 아래와 같은 답변을 주셨습니다. 문제 해결에 도움이 되길 바랍니다.

      =============
      안녕하세요.

      독자분께서 테스트한 환경이 이 책의 예제 코드를 실행할 수 있는 환경과 약간 다른 것으로 보여
      Python 3.x를 사용한 아래 환경에서 4.2장의 'Chapter04/ORENIST classification example.ipynb' 노트북 예제 코드를 테스트해보았습니다.

      CentOS 7, Python 3.4, TensorFlow 1.2

      말씀하신 대로 ORENIST.data 파일을 읽어서 직렬화하기 위해 사용되는 cPickle을 Python 3에서는 _pickle 또는 pickle로 변경하면 됩니다.

      import cPickle as pickle --> import pickle

      다만, Python 3에서 pickle.load시에 encoding 관련해서 UnicodeDecodeError가 발생하므로 pickle.load 부분도 아래와 같이 수정이 필요합니다.

      images, labels = pickle.load(file) --> images, labels = pickle.load(file, encoding="bytes";)

      (추가로 TensorFlow 1.2에서 initialize_all_variables 함수를 global_variables_initializer 함수로 변경 필요 - p40 역주 참조)

      독자분께서 4.2장 예제 코드부터 에러가 발생한다고 한 부분은 데이터 파일 대체(ORENIST.data가 아닌 다른 파일) 및 데이터 직렬화 관련된 문제일 것으로 추측되는데요.
      위와 같이 수정해서 테스트해봐주시기 바랍니다.

      아울러, 이 책의 예제 코드는 실행 환경(OS, Python, TensorFlow 버전 등)에 따라 동작하지 않을 가능성이 있기 때문에
      저자는 1.2장에서, 이 책의 예제 코드를 실행할 수 있는 환경을 간단히 구축하고 통일된 테스트 환경이 될 수 있도록 도커 컨테이너 이미지를 제공하고 있습니다.
      이와 다른 실행 환경에서 예제 코드를 실행할 경우 이 책의 범위를 벗어나는 에러가 발생할 수도 있음을 양해 부탁드립니다.
      =============



티스토리 툴바