확장메뉴
주요메뉴


소득공제
미리보기 공유하기

케라스 창시자에게 배우는 딥러닝

리뷰 총점8.9 리뷰 8건 | 판매지수 3,060
베스트
IT 모바일 top20 20주
구매 시 참고사항
  • 본 도서의 개정판이 출간되었습니다.
[IT 기획전] IT, 모두의 교양
[대학생X취준생] 꼭 공부를 해야 할 상황이라면? 2학기, 공부할 결심!
박해선 저자의 머신러닝/딥러닝 패스
[단독]『혼자 공부하는 파이썬』 개정판 출간
직장인을 위한 업무 단축 필살기! 길벗 무따기 오피스
내일은 개발자! 코딩테스트 대비 도서전
[단독] 에듀윌 IT 자격증 기획전 - 가장 빠른 합격출구 EXIT
(핫팩 증정!) 길벗 IT브랜드전
소장가치 100% YES24 단독 판매 상품
9월 전사
쇼핑혜택
1 2 3 4 5

품목정보

품목정보
출간일 2018년 10월 22일
쪽수, 무게, 크기 476쪽 | 1110g | 183*235*30mm
ISBN13 9791160505979

이 상품의 태그

책소개 책소개 보이기/감추기

단어 하나, 코드 한 줄 버릴 것이 없다!
창시자의 철학까지 담은 딥러닝 입문서

케라스 창시자이자 구글 딥러닝 연구원인 저자는 ‘인공 지능의 민주화’를 강조한다. 이 책 역시 많은 사람에게 딥러닝을 전달하는 또 다른 방법이며, 딥러닝 이면의 개념과 구현을 가능하면 쉽게 이해할 수 있게 하는 데 중점을 두었다. 1부에서는 딥러닝, 신경망, 머신 러닝의 기초를, 2부에서는 컴퓨터 비전, 텍스트, 시퀀스, 생성 모델을 위한 딥러닝 같은 실전 딥러닝을 설명한다. 이외에도 딥러닝을 언제 적용하는지, 한계는 무엇인지, 저자가 생각하는 딥러닝의 방향과 비전까지 엿볼 수 있다. 또한, 실제 사용하는 확장 가능한 다양한 예제를 수록했으며, 수학 장벽을 없애고자 수학적 표기 없이 직관적이고 간결한 코드로 개념을 설명한다. 딥러닝을 처음부터 배우거나 이해의 폭을 넓히고자 하는 분들에게 추천한다.

목차 목차 보이기/감추기

1부 딥러닝의 기초

1장 딥러닝이란 무엇인가?
1.1 인공 지능과 머신 러닝, 딥러닝
1.1.1 인공 지능
1.1.2 머신 러닝
1.1.3 데이터에서 표현을 학습하기
1.1.4 딥러닝에서 ‘딥’이란 무엇일까?
1.1.5 그림 3개로 딥러닝의 작동 원리 이해하기
1.1.6 지금까지 딥러닝의 성과
1.1.7 단기간의 과대 선전을 믿지 말자
1.1.8 AI에 대한 전망
1.2 딥러닝 이전: 머신 러닝의 간략한 역사
1.2.1 확률적 모델링
1.2.2 초창기 신경망
1.2.3 커널 방법
1.2.4 결정 트리, 랜덤 포레스트, 그래디언트 부스팅 머신
1.2.5 다시 신경망으로
1.2.6 딥러닝의 특징
1.2.7 머신 러닝의 최근 동향
1.3 왜 딥러닝일까? 왜 지금일까?
1.3.1 하드웨어
1.3.2 데이터
1.3.3 알고리즘
1.3.4 새로운 투자의 바람
1.3.5 딥러닝의 대중화
1.3.6 지속될까?

2장 시작하기 전에: 신경망의 수학적 구성 요소
2.1 신경망과의 첫 만남
2.2 신경망을 위한 데이터 표현
2.2.1 스칼라(0D 텐서)
2.2.2 벡터(1D 텐서)
2.2.3 행렬(2D 텐서)
2.2.4 3D 텐서와 고차원 텐서
2.2.5 핵심 속성
2.2.6 넘파이로 텐서 조작하기
2.2.7 배치 데이터
2.2.8 텐서의 실제 사례
2.2.9 벡터 데이터
2.2.10 시계열 데이터 또는 시퀀스 데이터
2.2.11 이미지 데이터
2.2.12 비디오 데이터
2.3 신경망의 톱니바퀴: 텐서 연산
2.3.1 원소별 연산
2.3.2 브로드캐스팅
2.3.3 텐서 점곱
2.3.4 텐서 크기 변환
2.3.5 텐서 연산의 기하학적 해석
2.3.6 딥러닝의 기하학적 해석
2.4 신경망의 엔진: 그래디언트 기반 최적화
2.4.1 변화율이란?
2.4.2 텐서 연산의 변화율: 그래디언트
2.4.3 확률적 경사 하강법
2.4.4 변화율 연결: 역전파 알고리즘
2.5 첫 번째 예제 다시 살펴보기
2.6 요약

3장 신경망 시작하기
3.1 신경망의 구조
3.1.1 층: 딥러닝의 구성 단위
3.1.2 모델: 층의 네트워크
3.1.3 손실 함수와 옵티마이저: 학습 과정을 조절하는 열쇠
3.2 케라스 소개
3.2.1 케라스, 텐서플로, 씨아노, CNTK
3.2.2 케라스를 사용한 개발: 빠르게 둘러보기
3.3 딥러닝 컴퓨터 셋팅
3.3.1 주피터 노트북: 딥러닝 실험을 위한 최적의 방법
3.3.2 케라스 시작하기: 두 가지 방법
3.3.3 클라우드에서 딥러닝 작업을 수행했을 때 장단점
3.3.4 어떤 GPU 카드가 딥러닝에 최적일까?
3.4 영화 리뷰 분류: 이진 분류 예제
3.4.1 IMDB 데이터셋
3.4.2 데이터 준비
3.4.3 신경망 모델 만들기
3.4.4 훈련 검증
3.4.5 훈련된 모델로 새로운 데이터에 대해 예측하기
3.4.6 추가 실험
3.4.7 정리
3.5 뉴스 기사 분류: 다중 분류 문제
3.5.1 로이터 데이터셋
3.5.2 데이터 준비
3.5.3 모델 구성
3.5.4 훈련 검증
3.5.5 새로운 데이터에 대해 예측하기
3.5.6 레이블과 손실을 다루는 다른 방법
3.5.7 충분히 큰 중간층을 두어야 하는 이유
3.5.8 추가 실험
3.5.9 정리
3.6 주택 가격 예측: 회귀 문제
3.6.1 보스턴 주택 가격 데이터셋
3.6.2 데이터 준비
3.6.3 모델 구성
3.6.4 K-겹 검증을 사용한 훈련 검증
3.6.5 정리
3.7 요약

4장 머신 러닝의 기본 요소
4.1 머신 러닝의 네 가지 분류
4.1.1 지도 학습
4.1.2 비지도 학습
4.1.3 자기 지도 학습
4.1.4 강화 학습
4.2 머신 러닝 모델 평가
4.2.1 훈련, 검증, 테스트 세트
4.2.2 기억해야 할 것
4.3 데이터 전처리, 특성 공학, 특성 학습
4.3.1 신경망을 위한 데이터 전처리
4.3.2 특성 공학
4.4 과대적합과 과소적합
4.4.1 네트워크 크기 축소
4.4.2 가중치 규제 추가
4.4.3 드롭아웃 추가
4.5 보편적인 머신 러닝 작업 흐름
4.5.1 문제 정의와 데이터셋 수집
4.5.2 성공 지표 선택
4.5.3 평가 방법 선택
4.5.4 데이터 준비
4.5.5 기본보다 나은 모델 훈련하기
4.5.6 몸집 키우기: 과대적합 모델 구축
4.5.7 모델 규제와 하이퍼파라미터 튜닝
4.6 요약

2부 실전 딥러닝

5장 컴퓨터 비전을 위한 딥러닝
5.1 합성곱 신경망 소개
5.1.1 합성곱 연산
5.1.2 최대 풀링 연산
5.2 소규모 데이터셋에서 밑바닥부터 컨브넷 훈련하기
5.2.1 작은 데이터셋 문제에서 딥러닝의 타당성
5.2.2 데이터 내려받기
5.2.3 네트워크 구성하기
5.2.4 데이터 전처리
5.2.5 데이터 증식 사용하기
5.3 사전 훈련된 컨브넷 사용하기
5.3.1 특성 추출
5.3.2 미세 조정
5.3.3 정리
5.4 컨브넷 학습 시각화
5.4.1 중간층의 활성화 시각화하기
5.4.2 컨브넷 필터 시각화하기
5.4.3 클래스 활성화의 히트맵 시각화하기
5.5 요약

6장 텍스트와 시퀀스를 위한 딥러닝
6.1 텍스트 데이터 다루기
6.1.1 단어와 문자의 원-핫 인코딩
6.1.2 단어 임베딩 사용하기
6.1.3 모든 내용을 적용하기: 원본 텍스트에서 단어 임베딩까지
6.1.4 정리
6.2 순환 신경망 이해하기
6.2.1 케라스의 순환 층
6.2.2 LSTM과 GRU 층 이해하기
6.2.3 케라스를 사용한 LSTM 예제
6.2.4 정리
6.3 순환 신경망의 고급 사용법
6.3.1 기온 예측 문제
6.3.2 데이터 준비
6.3.3 상식 수준의 기준점
6.3.4 기본적인 머신 러닝 방법
6.3.5 첫 번째 순환 신경망
6.3.6 과대적합을 감소하기 위해 순환 드롭아웃 사용하기
6.3.7 스태킹 순환 층
6.3.8 양방향 RNN 사용하기
6.3.9 더 나아가서
6.3.10 정리
6.4 컨브넷을 사용한 시퀀스 처리
6.4.1 시퀀스 데이터를 위한 1D 합성곱 이해하기
6.4.2 시퀀스 데이터를 위한 1D 풀링
6.4.3 1D 컨브넷 구현
6.4.4 CNN과 RNN을 연결하여 긴 시퀀스를 처리하기
6.4.5 정리
6.5 요약

7장 딥러닝을 위한 고급 도구
7.1 Sequential 모델을 넘어서: 케라스의 함수형 API
7.1.1 함수형 API 소개
7.1.2 다중 입력 모델
7.1.3 다중 출력 모델
7.1.4 층으로 구성된 비순환 유향 그래프
7.1.5 층 가중치 공유
7.1.6 층과 모델
7.1.7 정리
7.2 케라스 콜백과 텐서보드를 사용한 딥러닝 모델 검사와 모니터링
7.2.1 콜백을 사용하여 모델의 훈련 과정 제어하기
7.2.2 텐서보드 소개: 텐서플로의 시각화 프레임워크
7.2.3 정리
7.3 모델의 성능을 최대로 끌어올리기
7.3.1 고급 구조 패턴
7.3.2 하이퍼파라미터 최적화
7.3.3 모델 앙상블
7.3.4 정리
7.4 요약

8장 생성 모델을 위한 딥러닝
8.1 LSTM으로 텍스트 생성하기
8.1.1 생성 RNN의 간단한 역사
8.1.2 시퀀스 데이터를 어떻게 생성할까?
8.1.3 샘플링 전략의 중요성
8.1.4 글자 수준의 LSTM 텍스트 생성 모델 구현
8.1.5 정리
8.2 딥드림
8.2.1 케라스 딥드림 구현
8.2.2 정리
8.3 뉴럴 스타일 트랜스퍼
8.3.1 콘텐츠 손실
8.3.2 스타일 손실
8.3.3 케라스에서 뉴럴 스타일 트랜스퍼 구현하기
8.3.4 정리
8.4 변이형 오토인코더를 사용한 이미지 생성
8.4.1 이미지의 잠재 공간에서 샘플링하기
8.4.2 이미지 변형을 위한 개념 벡터
8.4.3 변이형 오토인코더
8.4.4 정리
8.5 적대적 생성 신경망 소개
8.5.1 GAN 구현 방법
8.5.2 훈련 방법
8.5.3 생성자
8.5.4 판별자
8.5.5 적대적 네트워크
8.5.6 DCGAN 훈련 방법
8.5.7 정리
8.6 요약

9장 결론
9.1 핵심 개념 리뷰
9.1.1 AI를 위한 여러 방법
9.1.2 머신 러닝 분야에서 딥러닝이 특별한 이유
9.1.3 딥러닝에 대하여
9.1.4 핵심 기술
9.1.5 일반적인 머신 러닝 작업 흐름
9.1.6 주요 네트워크 구조
9.1.7 딥러닝의 가능성
9.2 딥러닝의 한계
9.2.1 머신 러닝 모델의 의인화 위험
9.2.2 지역 일반화 vs. 궁극 일반화
9.2.3 정리
9.3 딥러닝의 미래
9.3.1 프로그램 같은 모델
9.3.2 역전파와 미분 가능 층을 넘어서
9.3.3 자동화된 머신 러닝
9.3.4 영구 학습과 모듈화된 서브루틴 재사용
9.3.5 장기 비전
9.4 빠른 변화에 뒤처지지 않기
9.4.1 캐글의 실전 문제로 연습하기
9.4.2 아카이브(arXiv)를 통해 최신 논문 읽기
9.4.3 케라스 생태계 탐험하기
9.5 맺음말

부록 A 윈도에 텐서플로와 케라스 설치하기
A.1 아나콘다 설치하기
A.2 텐서플로, 케라스 설치하기
A.3 예제 노트북 실행하기

부록 B 우분투 리눅스에 케라스와 필수 라이브러리 설치하기
B.1 파이썬 과학 라이브러리 설치하기
B.2 GPU 설정하기
B.3 씨아노 설치하기(선택 사항)
B.4 케라스 설치하기
B.5 아나콘다 환경 파일을 사용하여 설치하기

부록 C EC2 GPU 인스턴스에서 주피터 노트북 실행하기
C.1 주피터 노트북은 무엇일까? 왜 주피터 노트북을 AWS GPU에서 실행할까?
C.2 딥러닝 주피터 노트북을 위해 AWS를 사용하지 않는 이유는 무엇일까?
C.3 AWS GPU 인스턴스 설정하기
C.4 주피터 설정하기
C.5 케라스 설치하기
C.6 로컬 포트포워딩 설정하기
C.7 로컬 브라우저에서 주피터 사용하기
C.8 코랩을 사용하여 주피터 노트북 실행하기

저자 소개 (2명)

만든이 코멘트 만든이 코멘트 보이기/감추기

안녕하세요. 이책의 역자 입니다.
2018-10-26
안녕하세요. <케라스 창시자에게 배우는 딥러닝>을 번역한 박해선입니다.

이 책을 선택해 주신 많은 독자에게 감사의 말씀 드립니다. 이 책은 케라스(Keras) 라이브러리를 만든 프랑소와 숄레(Francois Chollet)가 직접 쓴 책입니다. 특별히 저자는 소프트웨어 엔지니어를 위한 딥러닝 책을 쓰려고 노력했습니다. 1부에 딥러닝(Deep Learning)과 케라스에 대한 기초 내용을 포함하고 있고 2부에는 CNN, RNN, 생성 모델 등의 고급 주제를 다양하게 다루고 있습니다.

케라스는 텐서플로의 고수준 라이브러리로 캐글(https://kaggle.com)에서 가장 많이 사용하는 딥러닝 프레임워크입니다. 이 책은 케라스를 배우는데 가장 훌륭한 방법 중 하나입니다. 또한 딥러닝 그리고 더 일반적인 인공지능에 대한 현재와 미래를 엿볼 수 있습니다. 저자 프랑소와의 멋진 통찰을 함께 느껴 보세요! 프랑소와도 번역서가 맘에 든다고 하네요(https://bit.ly/2RHn0TO) :)

책을 구매하시면 제 블로그의 에러타 페이지(https://bit.ly/2RgdPJF)와 깃허브(https://bit.ly/2yvzeYv)를 꼭 참고해 주세요. 항상 케라스 최신 버전에 맞춘 코드와 에러타를 업데이트 하겠습니다.

<핸즈온 머신러닝>, <파이썬 라이브러리를 활용한 머신러닝>, <텐서플로 첫걸음>에 이어 네 번째 번역서입니다. 많은 분들의 응원 덕에 큰 힘을 얻습니다. 더 좋은 책으로 찾아 뵙겠습니다.

감사합니다.

출판사 리뷰 출판사 리뷰 보이기/감추기

단어 하나, 코드 한 줄 버릴 것이 없다!
파이썬과 케라스로 배우는 딥러닝 핵심 원리!

쉽고 간결하다!

케라스 창시자이자 구글 AI 연구원인 저자는 ‘인공 지능의 민주화’를 강조한다. 이런 개념을 바탕으로 케라스를 만들었으며, 현재 딥러닝을 시작하기에 가장 쉬운 라이브러리로 평가받고 있다. 이 책 역시 ‘인공 지능의 민주화’를 위한 일환이다. 딥러닝 기초부터 설명하기 때문에 파이썬만 알고 있다면 딥러닝 기초 지식이 없어도 학습을 시작할 수 있다. 또한, 수학적 표기법이 학습에 큰 장벽이 된다고 생각해 수학적 표기 없이 직관적이고 간결한 코드로 개념을 설명한다. 코드만으로도 수학 개념을 쉽게 파악할 수 있다.

명확한 학습법을 제시한다!
딥러닝은 이미지 분류, 예측, 음성 인식, 텍스트 분석 등 많은 분야에 활용할 수 있다. 처음부터 이 모든 것을 다 학습할 수는 없다. 오랜 기간 딥러닝 개발자로 활동해온 저자가 딥러닝을 제대로 학습하기 위해 어디서부터 시작해야 하고, 어떻게 학습해야 할지를 고민해 구성했다. 1부에서는 딥러닝, 신경망, 머신 러닝의 기초를, 2부에서는 컴퓨터 비전, 텍스트, 시퀀스, 생성 모델을 위한 딥러닝을 모범 사례와 함께 학습한다.

실용적이고 확장 가능한 예제로 학습한다!
상세한 해설, 실질적인 권장 사항, 구체적인 문제 해결을 위한 팁까지 딥러닝 학습을 시작하기 위해 알아야 할 모든 것을 포괄하는 설명이 포함된 예제로 학습한다. 이 예제들을 학습하면서 딥러닝의 개념, 적용 범위, 한계 등을 확실하게 이해할 수 있다. 이 과정으로 머신 러닝 문제를 해결하는 작업 흐름에 익숙해질 것이며, 케라스를 사용해 컴퓨터 비전, 자연어 처리까지 실전 문제를 해결할 수 있다. 또한, 이 예제들을 확장해 나만의 딥러닝 모델을 만들거나 적용할 수도 있다.

추천평 추천평 보이기/감추기

이 책은 케라스 창시자인 프랑소와 숄레의 저서로 케라스에 입문하거나 케라스로 처음 딥러닝을 경험하려는 사람에게 좋은 책입니다. 1부는 딥러닝의 대략적인 설명과 케라스의 기초적인 부분을 설명하고, 2부는 이미지, 텍스트, 시계열 데이터를 활용한 예제 및 케라스 고급 기법을 설명합니다. 케라스에 입문하는 분께 자신 있게 추천합니다.
이상훈(케라스 코리아, 한국 스파크 사용자 모임 운영자, 삼성생명)
케라스 창시자인 저자의 딥러닝 개발에 대한 철학을 엿볼 수 있다는 점이 매력적입니다. 다른 도서에서는 난이도 때문에 깊게 다루지 못했던 RNN을 충분히 다루고 있다는 점 역시 매력적으로 다가옵니다. 그리고 다양한 딥러닝 환경인 아나콘다, 주피터 노트북, 코랩까지 설명하고 있어, 환경 설정에 어려움을 겪었던 분들께 많은 도움이 되리라 믿습니다. 케라스 관련 도서 중에서 이 책이 단연코 최고라고 말하고 싶습니다!
전태균(SI Analytics 대표, Google Developer Expert - Machine Learning(GDE-ML)

회원리뷰 (8건) 리뷰 총점8.9

혜택 및 유의사항?
구매 케라스 내용 평점4점   편집/디자인 평점4점 m****i | 2020.06.17 | 추천0 | 댓글0 리뷰제목
제가 이 책을 산 건 전공책이기 때문이었습니다.저자는 친절하게 설명해준다고 했지만 어렵습니다. 수학 개념이 그렇게 많지는 않지만 공부한지 오래돼서 좀 헷갈렸습니다.쉽지는 않은 책입니다.대체 딥러닝이 뭐길래....저는 아무것도 모르는 상태로 이 책을 봤기 때문에 어려웠습니다.하지만 예제를 보면서 따라하면 뭐라도 할 수 있긴 합니다.딥러닝에 관심이 있으면 읽어보는 것도 좋;
리뷰제목

제가 이 책을 산 건 전공책이기 때문이었습니다.

저자는 친절하게 설명해준다고 했지만 어렵습니다. 수학 개념이 그렇게 많지는 않지만 공부한지 오래돼서 좀 헷갈렸습니다.

쉽지는 않은 책입니다.

대체 딥러닝이 뭐길래....

저는 아무것도 모르는 상태로 이 책을 봤기 때문에 어려웠습니다.

하지만 예제를 보면서 따라하면 뭐라도 할 수 있긴 합니다.

딥러닝에 관심이 있으면 읽어보는 것도 좋을 것 같습니다.


댓글 0 이 리뷰가 도움이 되었나요? 공감 0
[리뷰] 케라스 창시자에게 배우는 딥러닝 내용 평점4점   편집/디자인 평점5점 오**홋 | 2019.07.22 | 추천1 | 댓글0 리뷰제목
본 포스터는 길벗에서 <케라스 창시자에게 배우는 딥러닝>책을 지원받아 작성한 리뷰 포스터입니다. 먼저 저는 비전공자이고 책의 코드인 Keras는 조금만 아는 상황입니다. 딥러닝은 텐서플로우로 입문해서 1년 가까이 공부하고 있지만 아직 딥러닝을 잘 못하는 학생입니다. 1. 책소개 케라스 창시자에게 배우는 딥러닝은 YES24 기준으로 평점9인 딥러닝교재입니다. 번역은 박해선님으;
리뷰제목

본 포스터는 길벗에서 <케라스 창시자에게 배우는 딥러닝>책을 지원받아 작성한 리뷰 포스터입니다. 먼저 저는 비전공자이고 책의 코드인 Keras는 조금만 아는 상황입니다. 딥러닝은 텐서플로우로 입문해서 1년 가까이 공부하고 있지만 아직 딥러닝을 잘 못하는 학생입니다.

1. 책소개

케라스 창시자에게 배우는 딥러닝은 YES24 기준으로 평점9인 딥러닝교재입니다. 번역은 박해선님으로 핸즈온 머신러닝, 머신 러닝 교과서 with 파이썬, 사이킷런, 텐서플로, 파이썬 라이브러리를 활용한 머신러닝 등 유명한 책들을 많이 번역하신분으로 번역 자체는 믿고 봐도 무방합니다.

책의 가격은 33,000원으로 다른 책에 비해서 싼 가격은 아니고 최신의 책도 아니지만 캐글 코리아방이나 다른 톡방에서 딥러닝 교재를 추천받았을 때 한 손안에 뽑히는 책입니다.

저자의 설명에 따르면, "대상 독자는 머신 러닝과 딥러닝을 시작하려는 파이썬 프로그래밍 경험자를 위한 책입니다."라고 나와있습니다. 챕터는 총 9장으로 딥러닝의 기초부터 딥러닝을 실전에 적용하는 부분으로 이루어져있습니다. 실전은 분류, 회귀, 이미지, 텍스트 모든 분야를 아우르고 있습니다.

1부 : 딥러닝의 기초

- 1장 : AI, 머신 러닝, 딥러닝에 관한 핵심 사항과 배경 지식.

- 2장 : 딥러닝을 배우기 위해 필요한 기초 개념. 텐서, 텐서 연산, 경사 하강법, 역전파 등.

- 3장 : 신경망을 시작하기 위해 필요한 모든 것. 딥러닝 프레임워크인 케라스, 딥러닝 컴퓨터 설정 가이드, 딥러닝 예제.

- 4장 : 대표적인 머신 러닝 작업 흐름. 흔히 나타나는 문제와 해결책.

2부 : 딥러닝의 활용

- 5장 : 이미지 분류의 다양한 예제. (컴퓨터 비전)

- 6장 : 텍스트와 시계열 같은 시퀀스 데이터 처리.

- 7장 : 딥러닝 모델을 구축하기 위한 고급 기술.

- 8장 : 이미지와 텍스트를 생성할 수 있는 생성 모델(GAN).

- 9장 : 결론과 리뷰 및 작가의 딥러닝에 대한 생각.

2. 책 내용

책의 구성은 위에서 알 수 있듯이 1부는 딥러닝과 머신러닝에 대한 이론을 중심으로 하고, 2부에서는 위에서 배운 기본을 토대로 딥러닝 모델과 이를 적용시키는 법을 배웁니다. 예를들어,

2장. 시작하기 전에: 신경망의 수학적 구성 요소

2장에서는 딥러닝에 사용되는 개념에 대해 주로 배웁니다. 수학적으로 벡터, 행렬, 텐서라든지 계산에 유용한 브로드캐스터, 배치라든지 최적화에 필요한 경사 하강법, 옵티마이저 함수 등이 있습니다.

수식적인 부분은 전혀 들어가있지 않고, 위의 경사 하강법같은 경우 변화율에 대한 개념을 먼저 소개하고 텐서의 변화율로 이어서 설명하고 있습니다.

변화율 설명

실수 x를 새로운 실수 y로 매핑하는 연속적이고 매끄러운 함수 f(x) = y를 생각해 봅시다. 이 함수가 연속적이므로 x를 조금 바꾸면 y가 조금만 변경될 것입니다. 이것이 연속성의 개념입니다. x를 작은 값 epsilon_x만큼 증가시켰을 때 y가 epsilon_y만큼 바뀐다고 말할 수 있습니다.

f(x + epsilon_x) = y + epsilon_y

또 이 함수가 매끈하므로(곡선의 각도가 갑자기 바뀌지 않습니다) epsilon_x가 충분히 작다면 어떤 포인트 p에서 기울기 a의 선형 함수로 f를 근사할 수 있습니다. 따라서 epsilon_y는 a * epsilon_x가 됩니다.

f(x + epsilon_x) = y + a * epsilon_x

이 선형적인 근사는 x가 p에 충분히 가까울 때 유효합니다. 이 기울기를 p에서 f의 변화율(derivative)이라고 합니다. 이는 a가 음수일 때 p에서 양수 x만큼 조금 이동하면 f(x)가 감소한다는 것을 의미합니다. a가 양수일 때는 음수 x만큼 조금 이동하면 f(x)가 감소됩니다. a의 절댓값(변화율의 크기)은 이런 증가나 감소가 얼마나 빠르게 일어날지 알려 줍니다.

모든 미분 가능한(미분 가능하다는 것은 변화율을 유도할 수 있다는 의미로, 예를 들어 매끄럽고 연속적인 함수입니다) 함수 f(x)에 대해 x의 값을 f의 국부적인 선형 근사인 그 지점의 기울기로 매핑하는 변화율 함수 f'(x)가 존재합니다. 예를 들어 cos(x)의 변화율은 -sin(x)이고, f(x) = a * x의 변화율은 f'(x) = a입니다.

f(x)를 최소화 하기 위해 epsilon_x만큼 x를 업데이트하고 싶을 때 f의 변화율을 알고 있으면 해결됩니다. 변화율 함수는 x가 바뀜에 따라 f(x)가 어떻게 바뀔지 설명해 줍니다. f(x)의 값을 감소시키고 싶다면 x를 변화율의 방향과 반대로 조금 이동해야 합니다.

5장. 컴퓨터 비전을 위한 딥러닝.

5장에서는 합성곱 신경망을 이용하여 강아지와 고양이를 분류하는 모델을 만듭니다. 먼저 합성곱 신경망이 무엇인지를 소개하고, 아래의 그림과 같이 합섭공 신경망이 학습을 어떻게 하는 지를 살펴봅니다.

그리고 합성곱 신경망에서 사용되는 풀링, 패딩, 필터, 스트라이드 등에 대해 설명하고 데이터를 받아서 전처리하고 모델을 만들고, 모델의 결과가 나온 과정을 시각화하는 부분과 다양한 튜닝방법들에 대해 설명합니다. 책에서 합성곱에 대한 설명이 나온 부분(p173)을 작성해보면 아래와 같습니다.

CNN 설명

완전 연결 층과 합성곱 층 사이의 근본적인 차이는 다음과 같습니다. Dense 층은 입력 특성 공간에 있는 전역 패턴(예를 들어 MNIST 숫자 이미지에서는 모든 픽셀에 거친 패턴)을 학습하지만 합성곱 층은 지역 패턴을 학습합니다. 이미지일 경우 작은 2D 윈도우로 입력에서 패턴을 찾습니다.

이 핵심 특징은 컨브넷에 두 가지 흥미로운 성질을 제공합니다.

- 학습된 패턴은 평행 이동 불변성을 가집니다. 컨브넷이 이미지의 오른쪽 아래 모서리에서 어떤 패턴을 학습했다면 다른 곳(예를 들어 왼쪽 위 모서리)에서도 이 패턴을 인식할 수 있습니다. 완전 연결 네트워크는 새로운 위치에 나타난 것은 새로운 패턴으로 학습해야 합니다. 이런 성질은 컨브넷이 이미지를 효율적으로 처리하게 만들어 줍니다.(근본적으로 우리가 보는 세상은 평행 이동으로 인해 다르게 인식되지 않습니다.) 적은 수의 훈련 샘플을 사용해서 일반화 능력을 가진 표현을 학습할 수 있습니다.

- 컨브넷은 패턴의 공간적 계층 구조를 학습할 수 있습니다(그림 5-2 참고). 첫 번째 합성곱 층이 에지 같은 작은 지역 패턴을 학습합니다. 두 번째 합성곱 층은 첫 번째 층의 특성으로 구성된 더 큰 패턴을 학습하는 식입니다. 이런 방식을 사용하여 컨브넷은 매우 복잡하고 추상적인 시각적 개념을 효과적으로 학습할 수 있습니다(근본적으로 우리가 보는 세상은 공간적 계층 구조를 가집니다).

합성곱 연산은 특성 맵이라고 부르는 3D 텐서에 적용됩니다. 이 텐서는 2개의 공간축(높이와 너비)과 깊이 축(채널 축이라고도 합니다)으로 구성됩니다. RGB 이미지는 3개의 컬러 채널(빨간색, 녹색, 파란색)을 가지므로 깊이 축의 차원이 3이 됩니다. MNIST 숫자처럼 흑백 이미지는 깊이 축의 차원이 1(회색 톤)입니다. 합성곱 연산은 입력 특성 맵에서 작은 패치(patch)들을 추출하고 이런 모든 패치에 같은 변환을 적용하여 출력 특성 맵을 만듭니다.

. 책 소감

책을 읽고나서 느낀점은 33,000원 476페이지라는 어마무시한 양답게 많은 내용이 담겨 있습니다. 책에 대해 받은 장점과 단점을 정리하면 아래와 같습니다.

3.1 장점

첫째, 책을 읽는 대상자가 머신 러닝, 딥러닝 입문자로 책이 쉽게 쓰여져있습니다. 책의 내용에 수학적인 수식이 거의 들어가있지 않았고, 케라스를 만든 저자가 직접 설명을 하기 때문에 설명이 직관적이고 코드에 대한 설명이 정말 잘되어있습니다. 번역 또한 책을 읽는데 불편한 점이 없었습니다.

둘째, 책의 내용이 풍부합니다. 딥러닝이 적용되는 이미지, 자연어, 시계열, 정형데이터 모든 분야에 대해 예제가 있습니다. 그리고 생성모델(GAN)이라든지 실전에 적용하면서 주의해야 할 점 등을 배울 수 있었습니다.

셋째, 가장 큰 장점으로 케라스를 만든분이 설명했기에 코드의 설명이 잘되어있고 어떻게 실전에 적용하는지 충분히 학습할 수 있습니다. 웬만한 코드에서는 모두 주석이 달려있어서 이론과 함께보면 코드를 이해하는 것에는 큰 무리가 없었습니다. 이 부분은 https://github.com/gilbutITbook/006975 의 코드에서 한번 보시면 더 좋을 것 같습니다.

def generate_pattern(layer_name, filter_index, size=150): # 주어진 층과 필터의 활성화를 최대화하기 위한 손실 함수를 정의합니다 layer_output = model.get_layer(layer_name).output loss = K.mean(layer_output[:, :, :, filter_index]) # 손실에 대한 입력 이미지의 그래디언트를 계산합니다 grads = K.gradients(loss, model.input)[0] # 그래디언트 정규화 grads /= (K.sqrt(K.mean(K.square(grads))) + 1e-5) # 입력 이미지에 대한 손실과 그래디언트를 반환합니다 iterate = K.function([model.input], [loss, grads]) # 잡음이 섞인 회색 이미지로 시작합니다 input_img_data = np.random.random((1, size, size, 3)) * 20 + 128. # 경사 상승법을 40 단계 실행합니다 step = 1. for i in range(40): loss_value, grads_value = iterate([input_img_data]) input_img_data += grads_value * step img = input_img_data[0] return deprocess_image(img)

3.2 단점

첫째, 이론의 설명이 부실합니다. 수학적인 수식이 없고, 입문자들을 위해 쉽게 쓰여졌기 때문에 내용은 직관적이고 좋았지만 이 방법을 왜 사용해야하는지 장점은 무엇이고 단점은 무엇인지, 이론적으로 어떤 역할을 하는지 등에 대한 설명이 부족했다고 생각합니다. 예를 들어, CNN에서 나오는 풀링, 패딩, 필터, 스트라이드에 대한 개념은 알려주지만, 장점, 단점, 왜 사용해야하는지 등에 대한 이유가 불충분하고 LSTM을 설명할 때도 수식이 전혀 없다보니 개념은 알겠지만 왜 좋은지 등에 대한 이론의 자세한 내용은 알기 힘들었습니다.

그래서 다른 모든 부분이 마음에 들었지만 이론 부분이 너무 얕지 않았나 생각이 듭니다.

4. 결론

책 자체는 정말 좋다고 생각합니다. 다른 책들과 비교했을 때, 번역도 좋고 설명도 친절합니다. 밑바닥 부터 시작하는 딥러닝시리즈와 비교해보면 이론적인 설명은 부족하지만 케라스라는 프레임워크를 설명하는 교재중에서는 코드나 설명이나 가장 괜찮다고 생각합니다. 만일 케라스라는 언어에 입문하고 싶은 분들에게는 이 책을 추천하고, 다른 언어나 딥러닝의 토대가 되는 이론을 배우고 싶은 사람에게는 다른 책을 추천하고 싶습니다.

참고

- 책의 오타 및 수정사항

- 깃허브 코드


댓글 0 1명이 이 리뷰를 추천합니다. 공감 1
구매 [도서] 케라스 창시자에게 배우는 딥러닝 내용 평점5점   편집/디자인 평점4점 t*****l | 2019.05.20 | 추천0 | 댓글0 리뷰제목
읽기전인공지능으로 간단하게 만들어 본게 있는데, Keras(케라스)를 이용해서 만들었다.여러곳을 참고해 보니, 아예 연구자가 아닌 이상 케라스를 이용하면 왠만한건 할 수 있다는 이야기를 보았다.물론 간단하게 만들어 본 것 역시 케라스를 이용해서 만들었다.그래서 케라스 자체를 좀 더 알아 보는게 좋을 것이 생각해서 구매한 책.기타보통 책과 관련없는 내용은 아랫쪽에 따로 두기;
리뷰제목

읽기전

  • 인공지능으로 간단하게 만들어 본게 있는데, Keras(케라스)를 이용해서 만들었다.
  • 여러곳을 참고해 보니, 아예 연구자가 아닌 이상 케라스를 이용하면 왠만한건 할 수 있다는 이야기를 보았다.
  • 물론 간단하게 만들어 본 것 역시 케라스를 이용해서 만들었다.
  • 그래서 케라스 자체를 좀 더 알아 보는게 좋을 것이 생각해서 구매한 책.

기타

  • 보통 책과 관련없는 내용은 아랫쪽에 따로 두기도 하는데..
  • 책 자체에 역자가 많은 주석을 달아 두었다. 그래서 책을 읽기가 좋다.
  • 대부분의 이론들이나, 전망은 걍 생략했다. 이 글을 읽는 사람이 있다면, 자세한 내용은 책을 구매해서 읽으시길...
  • 초급용 책을 뗐다면, 이 책을 읽어 보는것을 추천한다. 참고로 초급용 책은 "모두의 딥러닝"을 추천한다.

책읽기

1부 딥러닝의 기초

  • 이론적인 내용 생략

1장 딥러닝이란 무엇인가?

  • 이론적인 내용 생략

인공지능과 머신 러닝, 딥러닝

  • 인공지능 : 보통의 사람이 수행하는 지능적인 작업을 자동화 하기 위한 연구 활동
  • 머신러닝 시스템은 명시적으로 프로그램 되는 것이 아니라 훈련(training) 됨
  • 데이터 포인트 라는 말이 나오는데, 인공지능 학습에 사용되는 데이터들을 데이터 포인트 라는 용어로 잘 사용하더라. ( 직전에 읽은, 피처 엔지니어링 책에서도 데이터 포인트 라는 용어를 사용했던것 같다. )
  • 표현(representation) : 머신러닝과 딥러닝의 핵심 문제ㄴ,ㄴ 입력 데이터를 기반으로 기대 출력에 가깝게 만드는 유용한 표현을 학습하는것.
    • 핵심은 데이터를 인코딩하거나 묘사하기 위해 데이터를 바라보는 방법
    • 이미지가 RGB 혹은 HSV로 바뀌는것도 표현이 바뀌는것
    • 2차원 데이터 포인트들에서, 좌표를 변환하는것.
    • 시스템적으로 데이터 포인트를 잘 구분할 수 있도록, "학습"시킬 수 있다.
    • 이 과정중 일부는 기계가 "학습"하기 쉽게, 사람이 먼저 "피처 엔지니어링"을 해야 할 수도 있겠다.
  • 뉴럴넷은 뇌구조를 이해하는것에 영감을 만들어 진 것이다. 진짜 사람의 뇌가 그렇게 동작한다는 근거는 없다.

전체 내용을 붙여 넣었더니.. 글쓰기가 안되네..
전체 글은 https://blog.ggaman.com/1011?category=332239 에서 봐 주세요.


댓글 0 이 리뷰가 도움이 되었나요? 공감 0

한줄평 (14건) 한줄평 총점 8.8

혜택 및 유의사항 ?
평점5점
정말 친절하고 최고의 책입니다!! 딥러닝 개념을 확실하게 잡는데 매우 큰 도움이 됐습니다.
이 한줄평이 도움이 되었나요? 공감 0
청**수 | 2021.03.28
구매 평점4점
어렵고 자괴감듭니다.
이 한줄평이 도움이 되었나요? 공감 0
m****i | 2020.05.13
구매 평점3점
목차에 필요한 내용들이 있어 구매합니다. :)
1명이 이 한줄평을 추천합니다. 공감 1
l******n | 2020.01.01
뒤로 앞으로 맨위로 aniAlarm