이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
[1장] 딥러닝의 발전1.1 딥러닝 개요__1.1.1 AI와 머신러닝__1.1.2 딥러닝1.2 딥러닝 응용 분야__1.2.1 이미지 인식__1.2.2 이미지 생성__1.2.3 이상 탐지__1.2.4 자연어 처리__1.2.5 강화학습__1.2.6 기타 분야에서의 응용 사례1.3 이 책에서 다루는 딥러닝 기술__1.3.1 RNN__1.3.2 생성 모델[2장] 학습 준비2.1 아나콘다 개발 환경 구축__2.1.1 아나콘다 다운로드__2.1.2 아나콘다 설치__2.1.3 주피터 노트북 실행__2.1.4 주피터 노트북 사용__2.1.5 노트북 종료2.2 구글 코랩 사용__2.2.1 구글 코랩 준비__2.2.2 코랩 노트북 사용__2.2.3 GPU 사용__2.2.4 파일 사용2.3 파이썬 기초__2.3.1 변수와 변수형__2.3.2 연산자__2.3.3 리스트__2.3.4 튜플__2.3.5 딕셔너리__2.3.6 if문 __2.3.7 for문__2.3.8 함수__2.3.9 변수의 범위__2.3.10 클래스2.4 넘파이와 맷플롯립__2.4.1 모듈 임포트__2.4.2 넘파이 배열__2.4.3 배열을 생성하는 다양한 함수__2.4.4 reshape를 이용한 형태 변환__2.4.5 배열 연산__2.4.6 원소 값에 접근__2.4.7 그래프 그리기__2.4.8 이미지 생성2.5 수학 기초__2.5.1 벡터__2.5.2 행렬__2.5.3 각 원소 간의 곱셈__2.5.4 행렬 곱__2.5.5 행렬 전치__2.5.6 미분__2.5.7 연쇄 법칙__2.5.8 편미분__2.5.9 연쇄 법칙의 확장__2.5.10 정규분포[3장] 딥러닝 기초3.1 딥러닝 개요__3.1.1 딥러닝이란?__3.1.2 층의 방향과 층의 개수__3.1.3 경사 하강법__3.1.4 에포크와 배치3.2 전결합층 순전파__3.2.1 순전파의 수식__3.2.2 순전파를 행렬로 표현__3.2.3 순전파를 코드로 구현3.3 전결합층 역전파__3.3.1 역전파 수식__3.3.2 역전파를 행렬로 표현__3.3.3 역전파를 코드로 구현3.4 전결합층 구현__3.4.1 공통 클래스 구현__3.4.2 은닉층 구현__3.4.3 출력층 구현3.5 단순한 딥러닝 구현__3.5.1 손글씨 숫자 이미지 데이터 확인__3.5.2 데이터 전처리__3.5.3 순전파와 역전파__3.5.4 미니 배치 구현3.6 손글씨 숫자 이미지 인식의 전체 코드[4장] RNN4.1 RNN 개요4.2 RNN층의 순전파__4.2.1 순전파 개요__4.2.2 순전파 수식__4.2.3 순전파를 코드로 구현4.3 RNN층의 역전파__4.3.1 역전파 수식__4.3.2 역전파를 행렬로 표현__4.3.3 역전파를 코드로 구현4.4 RNN층 구현__4.4.1 RNN층 클래스 4.5 간단한 구조의 RNN 구현__4.5.1 훈련 데이터 생성__4.5.2 데이터 전처리4.5.3 훈련__4.5.4 예측__4.5.5 곡선 생성__4.5.6 sin 곡선 예측에 대한 전체 코드4.6 2진수 덧셈 학습__4.6.1 2진수 덧셈__4.6.2 2진수 준비__4.6.3 출력층__4.6.4 훈련__4.6.5 2진수 계산에 대한 전체 코드4.7 RNN의 단점[5장] LSTM5.1 LSTM 개요__5.1.1 LSTM 개요__5.1.2 기억 셀__5.1.3 망각 게이트 주변__5.1.4 입력 게이트와 새로운 기억__5.1.5 출력 게이트5.2 LSTM층의 순전파__5.2.1 LSTM층의 순전파__5.2.2 순전파 코드 구현5.3 LSTM층의 역전파__5.3.1 역전파 수식__5.3.2 망각 게이트__5.3.3 입력 게이트__5.3.4 새로운 기억__5.3.5 출력 게이트__5.3.6 행렬로 표현__5.3.7 역전파 코드 구현5.4 LSTM층 구현__5.4.1 LSTM층 클래스5.5 간단한 LSTM 구현__5.5.1 LSTM 훈련__5.5.2 sin 곡선 예측에 대한 전체 코드5.6 LSTM을 이용한 문장 자동 생성__5.6.1 텍스트 데이터 읽어들이기__5.6.2 문자와 인덱스 관련__5.6.3 문자 벡터화__5.6.4 출력 결과의 의미__5.6.5 텍스트 생성용 함수__5.6.6 기울기 클리핑__5.6.7 문장 생성에 대한 전체 코드__5.6.8 결과 확인[6장] GRU6.1 GRU 소개 __6.1.1 GRU__6.1.2 리셋 게이트__6.1.3 새로운 기억__6.1.4 업데이트 게이트6.2 GRU층의 순전파__6.2.1 GRU의 순전파__6.2.2 순전파를 코드로 구현6.3 GRU층의 역전파__6.3.1 새로운 기억__6.3.2 업데이트 게이트__6.3.3 리셋 게이트__6.3.4 입력의 기울기__6.3.5 이전 시점 출력의 기울기__6.3.6 GRU의 각 기울기를 행렬로 나타내기__6.3.7 GRU의 역전파를 코드로 구현하기6.4 GRU층 구현__6.4.1 GRU층의 클래스6.5 GRU 구현__6.5.1 GRU 구현의 전체 코드6.6 RNN을 이용한 이미지 생성__6.6.1 이미지를 시계열 데이터로 간주하기__6.6.2 훈련 데이터 준비하기__6.6.3 이미지 생성6.7 Seq2Seq[7장] VAE7.1 VAE 소개__7.1.1 오토인코더__7.1.2 VAE7.2 VAE의 구조__7.2.1 잠재 변수 샘플링__7.2.2 재파라미터화 트릭__7.2.3 오차 정의__7.2.4 재구성 오차__7.2.5 규제화항7.3 오토인코더의 구현__7.3.1 신경망 구현__7.3.2 각 신경망층의 구현__7.3.3 순전파와 역전파 구현__7.3.4 미니 배치 학습 구현__7.3.5 오토인코더 구현의 전체 코드__7.3.6 생성된 이미지 나타내기7.4 VAE에 필요한 신경망층__7.4.1 VAE 구성__7.4.2 평균과 표준편차를 출력하는 신경망층__7.4.3 샘플링층__7.4.4 출력층7.5 VAE의 구현__7.5.1 순전파와 역전파__7.5.2 VAE를 구현하는 전체 코드__7.5.3 잠재 공간의 시각화__7.5.4 이미지 생성하기7.6 VAE에서 파생되는 기술__7.6.1 조건부 VAE__7.6.2 β-VAE__7.6.3 VQ-VAE__7.6.4 VQ-VAE-2[8장] GAN8.1 GAN 소개__8.1.1 GAN__8.1.2 DCGAN__8.1.3 GAN의 용도8.2 GAN의 구조__8.2.1 식별자의 학습 과정__8.2.2 생성자의 학습 과정__8.2.3 오차의 정의8.3 GAN에 필요한 신경망층__8.3.1 생성자와 식별자의 구조__8.3.2 생성자의 출력층__8.3.3 식별자의 출력층8.4 GAN의 구현__8.4.1 순전파와 역전파__8.4.2 GAN의 훈련__8.4.3 GAN의 학습__8.4.4 이미지 생성__8.4.5 GAN을 구현하는 전체 코드__8.4.6 오차와 정확도 추이8.5 GAN에서 파생되는 기술__8.5.1 조건부 GAN__8.5.2 pix2pix__8.5.3 Cycle GAN[9장] 딥러닝 추가 학습을 위한 유용한 정보9.1 최적화 알고리즘__9.1.1 최적화 알고리즘 개요__9.1.2 확률적 경사 하강법(SGD)__9.1.3 모멘텀__9.1.4 아다그라드__9.1.5 RMSProp__9.1.6 아담__9.1.7 최적화 알고리즘 구현 예9.2 학습 테크닉__9.2.1 드롭아웃__9.2.2 Leaky ReLU__9.2.3 가중치 감소__9.2.4 배치 정규화9.3 데이터 세트 소개__9.3.1 사이킷런 데이터 세트__9.3.2 케라스 데이터 세트9.4 딥러닝의 미래[부록]A.1 간단한 구조의 RNN을 이용한 텍스트 생성A.2 GRU를 이용한 텍스트 생성A.3 참고문헌
|
我妻 幸長
아즈마 유키나가의 다른 상품
최재원의 다른 상품
장건희의 다른 상품
|
| 이 책에서 다루는 내용 |■ 실전에 응용할 수 있는 최신 딥러닝 기술 RNN, LSTM, GRU, VAE, GAN 포함■ 딥러닝 프레임워크를 사용하지 않고 딥러닝의 알고리즘을 파이썬 프로그래밍 코드로 구현■ 파이썬과 수치연산 라이브러리 넘파이(NumPy)를 이용한 프로그래밍 기초 지식■ 딥러닝의 근본적인 원리를 이해하는 데 필요한 핵심 수학 이론과 수식 코딩 방법■ 독자들이 직접 응용해 수준 높은 코드로 발전시킬 수 있는 완전한 파이썬 코드 제공| 이 책의 독자 대상 |■ 최신 딥러닝 기술에 대해 기초부터 차근차근 공부하고 싶은 딥러닝 입문자■ 딥러닝 알고리즘을 수식으로 이해하고 프로그래밍 코드로 구현해보고 싶은 개발자■ 최신 딥러닝 알고리즘 코드를 작성해 업무나 현장에서 바로 적용해보고 싶은 개발자■ 이 모든 과정을 한 권의 책으로 해결하고 싶은 사람[추천의 글]최근 딥러닝을 위한 프로그래밍 도구나 라이브러리가 다수 공개되며 활용의 문턱은 낮아졌지만, 대신 그 원리에 대한 깊은 이해의 여지는 줄어들었다고 볼 수 있다.이 책은 알기 어려웠던 딥러닝의 원리를 배울 수 있는 책이다. 하지만 어렵지 않게 하나씩 풀어내어 쉽게 접근할 수 있게 차근차근 알려준다. 딥러닝의 핵심 기술인 순환신경망이나 적대적신경망 등을 예시와 함께 쉽게 설명하면서, 그 동작 원리를 이론과 예시 코드를 통해 깊이 있게 설명한다.이 책은 딥러닝을 처음 배우고자 하는 분이나 도구를 사용하는 데 익숙하지만 그 원리가 궁금했던 실무자 등 다양한 수요를 충족시켜 줄 것이다.- 허민회 / 현대자동차, AI Research(AIR) Lab 책임연구원딥러닝은 개발 환경과 주피터 노트북 같은 도구, 그리고 모델을 만들 때 사용할 프로그래밍 언어를 알아야 하며, 행렬과 미분 등의 수학적 지식이 있어야 내부가 어떻게 동작하는지 이해하고 직접 만든 후 학습을 통해 정확도 높은 모델을 만들 수 있습니다. 꼭 필요한 부분을 모아 정리한 책은 없을까, 라며 이 책을 집었다면 오늘 행운을 다 써버린 건 아닌지 생각해보세요. 배웠던 지식을 정리하거나 진지하게 순서대로 공부해보고 싶은 독자라면 이 책을 추천합니다.만들어진 모델을 바로 사용하는 것이 목적이라면 굳이 이 책이 아니더라도 인터넷 상에서 쉽게 방법을 찾을 수 있습니다. 이 책은 몇 가지 모델의 내부 동작을 개념적으로. 또 수학적으로 이해하고 직접 프로그래밍할 수 있도록 알려줍니다. 내부 동작을 알고 싶거나 아키텍처를 직접 구성해 훌륭한 딥러닝 모델을 직접 만들고 싶은 분에게 추천하며, 이 책을 통해 얻게 될 경험은 큰 도움이 될 것으로 생각합니다.- 현동석 / (주)네이버, 지식베이스 리더이 책은 『실체가 손에 잡히는 딥러닝, 기초부터 실전 프로그래밍』의 2부 격에 해당하는 책입니다. 『실체가 손에 잡히는 딥러닝, 기초부터 실전 프로그래밍』은 퍼셉트론에서 DNN, CNN까지 신경망 순전파와 역전파 수식을 명쾌하게 유도하고, 수식을 코드로 전환하는 과정이 매우 인상적인 책입니다. 한편, 이번 책 『핵심 딥러닝 입문: RNN, LSTM, GRU, VAE, GAN 구현』은 전작의 장점을 살려 RNN, LSTM, GAN, GRU 등으로 확장하고 있습니다.최근에 언어 모델은 Attention, Transformer, BERT로 발전하고 있습니다. 이들 모델은 모두 RNN/LSTM을 기반으로 합니다. 최신 모델에 대한 이해를 높이기 위해서는 RNN/LSTM에 대한 기초/이해가 중요합니다.이 책에서는 RNN/LSTM의 순전파와 역전파에 적용된 수식을 유도하고 최종 수식을 코드로 구현하는 과정을 설명하기 때문에, 모델에 대한 이해와 통찰을 높이는 데 효과적입니다. RNN에 대한 이해가 필요한 분들이 읽으시면 상당히 많은 시간을 절약할 수 있을 것입니다. 언어 모델의 기본기를 고민하시는 분들께 강력히 추천하는 도서입니다.- 김태완 / 한국오라클, 빅데이터 엔지니어, http://taewan.kim/[지은이의 글]인간과 AI, 혹은 지구와 AI가 공존하는 미래 사회가 조금씩 다가오고 있습니다. AI 기술 중에서도 딥러닝(Deep Learning)은 전 세계적인 관심을 받으며 다양한 모습으로 발전하고 있습니다. 딥러닝을 활용한 얼굴 인식, 음성 인식, 보안 기술은 이미 우리 생활 깊숙이 침투해 있습니다.그러나 딥러닝을 이해하기란 쉽지 않습니다. 딥러닝을 이해하려면 선형대수, 미분 같은 수학은 물론, 파이썬 프로그래밍 기술, 신경망이나 역전파 같은 알고리즘 지식까지 갖춰야 합니다. 이처럼 높은 배움의 진입 문턱을 조금이라도 낮추기 위해 저의 전작 『실체가 손에 잡히는 딥러닝, 기초부터 실전 프로그래밍』에서는 파이썬 프로그래밍과 기초 수학을 설명하고 프레임워크를 쓰지 않고도 딥러닝을 구현하는 방법을 살펴봤습니다. 또한, 딥러닝에 필요한 수식을 간결한 코드로 구현하고 딥러닝의 구조와 원리를 명료하게 설명했습니다.이 책에서는 이전 책을 기반으로 조금 더 깊은 내용을 다룹니다. RNN(순환 신경망)과 RNN이 발전된 형태인 LSTM을 비롯해 GRU, 생성 모델 VAE와 GAN까지 살펴 봅니다.이번 책에서도 마찬가지로 프레임워크는 사용하지 않으며, 필요한 수식을 직접 코딩하면서 딥러닝을 구현합니다. 이런 방식으로 학습하면 딥러닝의 내부 원리와 구현 방법을 더 잘 이해할 수 있고, 문제가 발생했을 때 원인을 찾기 쉬워 작업이 더 즐거워집니다. 되도록 프레임워크를 이용하지 않고 딥러닝을 응용하고 구현할 수 있는 실력을 갖추는 것이 바람직합니다. 이 책은 저의 전작인 『실체가 손에 잡히는 딥러닝, 기초부터 실전 프로그래밍』을 굳이 읽지 않았어도 학습할 수 있도록 전작에서 다룬 핵심 내용을 다시 한번 요약 정리해뒀습니다.이 책의 독자 대상은 딥러닝을 공부하려는 모든 사람이지만, 2가지 배경 지식이 필요합니다. 첫째는 객체 지향 프로그래밍 경험입니다. 이 책에서도 파이썬을 이용해 객체 지향 프로그래밍을 설명하지만, 프로그래밍 경험이 없다면 초심자용 파이썬 책으로 미리 공부해두기를 권장합니다.둘째는 중고교 수준의 수학 지식입니다. 이 책에서는 딥러닝에 필요한 선형대수와 미분을 간략하게 설명하지만, 어느 정도 수학 지식이 있다면 더 순조롭게 학습을 진행할 수 있습니다. 부족한 부분은 다른 책이나 웹 사이트로 보완하면서 공부하는 방법도 좋습니다.책을 읽기만 해도 공부가 되도록 내용을 구성했지만, 파이썬 코드를 직접 실행해보면서 학습하는 것이 바람직합니다. 책에 나오는 소스 코드는 웹 사이트에서 내려받을 수 있으며 이 코드를 바탕으로 자신만의 딥러닝 코드를 작성해보기 바랍니다. 스스로 새로운 AI 기술을 개발해 보는 것도 재미있는 도전이 될 것입니다.딥러닝 코드를 실행하는 데 간혹 며칠 또는 몇 주가 걸리는 경우도 있지만, 이 책의 실습 코드 실행은 짧으면 10초 이내, 길어도 몇 분 안에 끝납니다. 코드는 확장성을 고려해, 코드의 일부분을 수정하면서 시행착오를 반복할 수 있도록 구성했습니다. 프로그래밍 실행 환경이 다소 좋지 않아도 코드가 원활하게 실행되도록 가능한 한 작은 크기의 이미지 데이터를 활용했으며, 수식 또한 코드로 작성하기 쉽게 정리했습니다.딥러닝은 인간의 뇌 조직을 닮은 신경망을 모방해 개발됐습니다. 지능의 구조를 프로그래밍으로 재현하는 것은 지적인 호기심을 매우 자극하는 일입니다. 물론 기술을 하루아침에 익힐 수는 없지만, 시간을 들여 직접 손과 머리를 써서 공부해나간다면 딥러닝 코드를 읽어 이해하거나 직접 구현해낼 수 있을 것입니다. 서두르지 말고 한걸음씩 착실하게 공부해봅시다.전문가가 아니어도 모든 사람에게 딥러닝을 배운다는 것은 큰 의미가 있습니다. 부디 이 책이 많은 사람이 AI를 공부하는 계기가 될 수 있기를 바랍니다.[옮긴이의 글]새로운 IT 기술은 먼저 논문으로 발표되어 전문가들 사이에서만 정보가 공유되다가 몇 년이 지나면 책으로 나와 대중에게 지식이 보급됩니다. 이때 출간되는 책은 두 종류로 나뉩니다. 하나는 ‘일단 따라하기’ 유형입니다. 이론은 깊이 다루지 않고 우선 독자들이 기술을 업무나 관심 분야에 바로 적용해볼 수 있도록 절차적인 방법을 소개합니다. 또 다른 유형의 책은 기술의 근본 원리를 깊이 있게 다룹니다. 복잡한 수식이나 어려운 코딩이 동반되고 세부 내용도 자세하게 다룹니다. 두 가지 유형은 모두 장단점이 있습니다.그런데 『핵심 딥러닝 입문: RNN, LSTM, GRU, VAE, GAN 구현』은 이 두 유형 사이에 위치하는 독특한 책입니다. 이 책은 LSTM, GAN, VAE 등 최신 딥러닝 기술을 소개하는데, 먼저 첫 부분은 기술의 근본적인 원리를 수식으로 설명합니다. 그림을 이용하거나 비유나 예시 등의 추상적인 개념으로 설명하는 책이 많지만 이 책은 우직하게 수식으로 승부합니다. 기술의 수학적인 원리를 이해해야 하는 이유는 명확합니다. 추상적인 개념 습득은 전체 내용을 빠르게 이해하는 데는 도움이 되지만 실무에서 다양한 문제를 해결하거나 실력을 키우기에는 한계가 있습니다.이 책에서는 먼저 수식으로 원리를 설명한 이후, 수식과 개념적으로 이어지는 예제 코드를 이용해 해당 기술의 구현 사례를 보여줍니다. 예제 코드는 독자가 스스로 변형하거나 확장해 볼 수 있도록 세심하게 배려한 흔적이 엿보입니다. 첫 부분에서 수식을 이용한 설명 부분이 약간 어렵다고 느껴진다면, 예제 코드를 이용해 일단 먼저 따라해보고 성취감을 맛보는 접근 방법도 좋습니다. 또한 특정 프레임워크를 사용하지 않기 때문에 코드를 유심히 분석해 나가다 보면 코드가 그렇게 작성된 이유가 궁금해지고 결국은 앞에서 설명한 수식과 연결된다는 사실을 깨닫게 됩니다.이렇듯 이 책은 기술의 근본적인 원리에 대한 설명과 구체적인 따라하기 실습과의 균형이 매우 적절한 책입니다. 또한 특정 분야에만 치중하지 않고 RNN, LSTM, VAE, GAN 등 최신 기술을 모두 골고루 다루는 점도 장점입니다. 딥러닝 고급 기술에 대한 기초를 다지고 싶거나 한 단계 더 도약하고 싶은 독자들에게 매우 유익한 책이 될 것으로 기대합니다.- 최재원2010년대 후반 IT 분야에서 가장 주목받은 키워드는 누가 뭐라든 ‘인공지능’이 아닐까 합니다. 처음에는 어려워만 보였던 기술이 많은 사람에게 자연스럽게 받아들여지고 있으며, 이 분야에 자신의 인생을 건 개발자도 많이 늘었다고 생각합니다. 옮긴이도 이러한 흐름에 따라 앞으로 인공지능 기술의 발전에 많은 관심을 두고 다양한 기술을 살펴보는 중입니다.이 책은 여러 가지 인공지능 기술 중 딥러닝에 집중합니다. 그럼 “이미 많은 딥러닝 관련 책이 출간되었는데 굳이 또 이 책을 읽어야 하나요?”라는 의문이 들 수 있습니다. 그래도 이 책은 한 번 읽을 가치가 있습니다. 딥러닝을 처음 배우려는 사람을 배려하면서도 2020년 기준 현업에서 사용하는 최신 이론과 함께 딥러닝을 알려주기 때문입니다.알파고가 처음 나왔을 때의 딥러닝 기초와 현재의 딥러닝 기초를 비교하면 그간 많은 발전이 있었습니다. 물론 과거의 기초 개념도 중요하지만 앞으로 딥러닝을 진지하게 파고들려는 분이라면 최신 이론을 접하는 것이 매우 중요합니다. 이 책은 그러한 점을 반영해서 순전파, 역전파, RNN 같은 전통적인 딥러닝 기초는 물론이고, LSTM, GRU, VAE, GAN같이 2020년 현 시점에서 알아두면 좋은 딥러닝의 기초를 함께 담으려고 노력했습니다. 저처럼 딥러닝에 뒤늦게 관심을 갖게 된 분이라면 이 책이 많은 도움이 될 것입니다.- 장건희
|