| 이 책에서 다루는 내용 |■ 실전에 응용할 수 있는 최신 딥러닝 기술 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년 현 시점에서 알아두면 좋은 딥러닝의 기초를 함께 담으려고 노력했습니다. 저처럼 딥러닝에 뒤늦게 관심을 갖게 된 분이라면 이 책이 많은 도움이 될 것입니다.- 장건희