بررسی جامع کتاب Fundamentals of Deep Learning
مقدمهای بر کتاب “اصول یادگیری عمیق: طراحی الگوریتمهای هوش مصنوعی نسل بعد” (ویرایش دوم)
با احیای شبکههای عصبی در دهه ۲۰۰۰، یادگیری عمیق به یکی از فعالترین حوزههای تحقیقاتی تبدیل شده است که راه را برای یادگیری ماشین مدرن هموار میکند. این کتاب با استفاده از تبیینها و مثالها به شما کمک میکند تا مفاهیم اصلی این حوزه پیچیده را درک کنید. شرکتهای بزرگ مانند گوگل، مایکروسافت و فیسبوک متوجه این تحول شدهاند و تیمهای یادگیری عمیق داخلی خود را به طور فعال توسعه میدهند. اما برای بسیاری از ما، یادگیری عمیق هنوز یک موضوع پیچیده و دشوار است که درک آن چالشبرانگیز است. مقالات تحقیقاتی پر از اصطلاحات فنی هستند و آموزشهای پراکنده آنلاین کمکی به ساخت درک عمیق و شهودی از نحوه و چرایی رویکرد متخصصان یادگیری عمیق در حل مسائل نمیکنند. هدف ما پر کردن این شکاف است.
فهرست فارسی کتاب Fundamentals of Deep Learning ( برای نمایش فهرست کلیک کنید)
- مبانی جبر خطی برای یادگیری عمیق
- ساختار دادهها و عملیات
- عملیات ماتریسی و برداری
- ضرب ماتریس-بردار و فضاهای بنیادی
- مقادیر و بردارهای ویژه
- مبانی احتمال
- احتمال و رویدادها
- متغیرهای تصادفی و انتظار
- قانون بیز و توزیعهای پیوسته
- شبکه عصبی
- ساخت ماشینهای هوشمند
- پردازش نورون و شبکههای پیشرو
- محدودیتهای نورونهای خطی
- آموزش شبکههای عصبی پیشرو
- الگوریتمهای نزول شیب و بازانتشار
- مقابله با بیشبرازش و تنظیم نرخ یادگیری
- پیادهسازی شبکههای عصبی در PyTorch
- معرفی و نصب PyTorch
- عملیات و تنسورها در PyTorch
- ساخت مدلهای MNIST
- فراتر از نزول شیب
- چالشهای نزول شیب
- روشهای بهینهسازی مبتنی بر شتاب و سازگاری نرخ یادگیری
- شبکههای عصبی کانولوشنی
- ویژگیهای انسان در بینایی
- لایههای کانولوشن و Max Pooling
- طراحی شبکههای کانولوشن
- یادگیری نمایش و جاسازیها
- کاهش ابعاد و PCA
- معماری خودرمزگذار و یادگیری از Word2Vec
- مدلها برای تحلیل توالیها
- مدلهای شبکه عصبی بازگشتی (RNN)
- تحلیل و پردازش توالیهای متغیر طول
- مدلهای مولدی
- شبکههای مولدی متمایز (GANs)
- خودرمزگذار و مدلهای VAE
- روشهای تفسیرپذیری
- درخت تصمیمگیری و ارزیابی اهمیت ویژگیها
- LIME و SHAP
- شبکههای عصبی تقویتشده با حافظه
- ماشینهای تورینگ عصبی و مدلهای DNC
- پیادهسازی DNC در PyTorch
- یادگیری تقویتی عمیق
- یادگیری تقویتی و استفاده از OpenAI Gym
- الگوریتمهای DQN و PPO
فهرست انگلیسی کتاب Fundamentals of Deep Learning( برای نمایش فهرست کلیک کنید)
Fundamentals of Linear Algebra for Deep Learning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Data Structures and Operations 1
Matrix Operations 3
Vector Operations 6
Matrix-Vector Multiplication 7
The Fundamental Spaces 7
The Column Space 7
The Null Space 10
Eigenvectors and Eigenvalues 13
Summary 15
Fundamentals of Probability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Events and Probability 17
Conditional Probability 20
Random Variables 22
Expectation 24
Variance 25
Bayes’ Theorem 27
Entropy, Cross Entropy, and KL Divergence 29
Continuous Probability Distributions 32
Summary 36
The Neural Network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Building Intelligent Machines 39
The Limits of Traditional Computer Programs 40
The Mechanics of Machine Learning 41
iiiThe Neuron 45
Expressing Linear Perceptrons as Neurons 47
Feed-Forward Neural Networks 48
Linear Neurons and Their Limitations 51
Sigmoid, Tanh, and ReLU Neurons 51
Softmax Output Layers 54
Summary 54
Training Feed-Forward Neural Networks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
The Fast-Food Problem 55
Gradient Descent 57
The Delta Rule and Learning Rates 58
Gradient Descent with Sigmoidal Neurons 60
The Backpropagation Algorithm 61
Stochastic and Minibatch Gradient Descent 63
Test Sets, Validation Sets, and Overfitting 65
Preventing Overfitting in Deep Neural Networks 71
Summary 76
Implementing Neural Networks in PyTorch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Introduction to PyTorch 77
Installing PyTorch 77
PyTorch Tensors 78
Tensor Init 78
Tensor Attributes 79
Tensor Operations 80
Gradients in PyTorch 83
The PyTorch nn Module 84
PyTorch Datasets and Dataloaders 87
Building the MNIST Classifier in PyTorch 89
Summary 93
Beyond Gradient Descent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
The Challenges with Gradient Descent 95
Local Minima in the Error Surfaces of Deep Networks 96
Model Identifiability 97
How Pesky Are Spurious Local Minima in Deep Networks? 98
Flat Regions in the Error Surface 101
When the Gradient Points in the Wrong Direction 104
Momentum-Based Optimization 106
A Brief View of Second-Order Methods 109
Learning Rate Adaptation 111
iv | Table of ContentsAdaGrad—Accumulating Historical Gradients 111
RMSProp—Exponentially Weighted Moving Average of Gradients 112
Adam—Combining Momentum and RMSProp 113
The Philosophy Behind Optimizer Selection 115
Summary 116
Convolutional Neural Networks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Neurons in Human Vision 117
The Shortcomings of Feature Selection 118
Vanilla Deep Neural Networks Don’t Scale 121
Filters and Feature Maps 122
Full Description of the Convolutional Layer 127
Max Pooling 131
Full Architectural Description of Convolution Networks 132
Closing the Loop on MNIST with Convolutional Networks 134
Image Preprocessing Pipelines Enable More Robust Models 136
Accelerating Training with Batch Normalization 137
Group Normalization for Memory Constrained Learning Tasks 139
Building a Convolutional Network for CIFAR-10 141
Visualizing Learning in Convolutional Networks 143
Residual Learning and Skip Connections for Very Deep Networks 147
Building a Residual Network with Superhuman Vision 149
Leveraging Convolutional Filters to Replicate Artistic Styles 152
Learning Convolutional Filters for Other Problem Domains 154
Summary 155
Embedding and Representation Learning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Learning Lower-Dimensional Representations 157
Principal Component Analysis 158
Motivating the Autoencoder Architecture 160
Implementing an Autoencoder in PyTorch 161
Denoising to Force Robust Representations 171
Sparsity in Autoencoders 174
When Context Is More Informative than the Input Vector 177
The Word2Vec Framework 179
Implementing the Skip-Gram Architecture 182
Summary 188
Models for Sequence Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Analyzing Variable-Length Inputs 189
Tackling seq2seq with Neural N-Grams 190
Implementing a Part-of-Speech Tagger 192
Table of Contents | vDependency Parsing and SyntaxNet 197
Beam Search and Global Normalization 203
A Case for Stateful Deep Learning Models 206
Recurrent Neural Networks 207
The Challenges with Vanishing Gradients 210
Long Short-Term Memory Units 213
PyTorch Primitives for RNN Models 218
Implementing a Sentiment Analysis Model 219
Solving seq2seq Tasks with Recurrent Neural Networks 224
Augmenting Recurrent Networks with Attention 227
Dissecting a Neural Translation Network 230
Self-Attention and Transformers 239
Summary 242
Generative Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Generative Adversarial Networks 244
Variational Autoencoders 249
Implementing a VAE 259
Score-Based Generative Models 264
Denoising Autoencoders and Score Matching 269
Summary 274
Methods in Interpretability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Overview 275
Decision Trees and Tree-Based Algorithms 276
Linear Regression 280
Methods for Evaluating Feature Importance 281
Permutation Feature Importance 281
Partial Dependence Plots 282
Extractive Rationalization 283
LIME 288
SHAP 292
Summary 297
Memory Augmented Neural Networks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Neural Turing Machines 299
Attention-Based Memory Access 301
NTM Memory Addressing Mechanisms 303
Differentiable Neural Computers 307
Interference-Free Writing in DNCs 309
DNC Memory Reuse 310
Temporal Linking of DNC Writes 311
vi | Table of ContentsUnderstanding the DNC Read Head 312
The DNC Controller Network 313
Visualizing the DNC in Action 314
Implementing the DNC in PyTorch 317
Teaching a DNC to Read and Comprehend 321
Summary 323
Deep Reinforcement Learning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Deep Reinforcement Learning Masters Atari Games 325
What Is Reinforcement Learning? 326
Markov Decision Processes 328
Policy 329
Future Return 330
Discounted Future Return 331
Explore Versus Exploit 331
ϵ-Greedy 333
Annealed ϵ-Greedy 333
Policy Versus Value Learning 334
Pole-Cart with Policy Gradients 335
OpenAI Gym 335
Creating an Agent 335
Building the Model and Optimizer 337
Sampling Actions 337
Keeping Track of History 337
Policy Gradient Main Function 338
PGAgent Performance on Pole-Cart 340
Trust-Region Policy Optimization 341
Proximal Policy Optimization 345
Q-Learning and Deep Q-Networks 347
The Bellman Equation 347
Issues with Value Iteration 348
Approximating the Q-Function 348
Deep Q-Network 348
Training DQN 349
Learning Stability 349
Target Q-Network 350
Experience Replay 350
From Q-Function to Policy 350
DQN and the Markov Assumption 351
DQN’s Solution to the Markov Assumption 351
Playing Breakout with DQN 351
Building Our Architecture 354
Table of Contents | viiStacking Frames 354
Setting Up Training Operations 354
Updating Our Target Q-Network 354
Implementing Experience Replay 355
DQN Main Loop 356
DQNAgent Results on Breakout 358
Improving and Moving Beyond DQN 358
Deep Recurrent Q-Networks 359
Asynchronous Advantage Actor-Critic Agent 359
UNsupervised REinforcement and Auxiliary Learning 360
Summary 361
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
مشخصات کتاب Fundamentals of Deep Learning: Designing Next-Generation Machine Intelligence Algorithms (2nd Edition)
ویژگی | توضیحات |
---|---|
عنوان کتاب | Fundamentals of Deep Learning: Designing Next-Generation Machine Intelligence Algorithms (2nd Edition) |
نویسندگان | Nithin Buduma, Nikhil Buduma, Joe Papa |
ویرایش | دوم |
ناشر | O’Reilly Media |
تاریخ انتشار | ۲۱ ژوئن ۲۰۲۲ |
زبان | انگلیسی |
نوع جلد | Paperback (جلد نرم) |
تعداد صفحات | ۳۸۷ صفحات |
ISBN-10 | 149208218X |
ISBN-13 | ۹۷۸-۱۴۹۲۰۸۲۱۸۷ |
وزن کتاب | ۱.۴ پوند (حدود ۶۳۵ گرم) |
ابعاد کتاب | ۶.۹۳ x 0.87 x 9.06 اینچ |
رتبه فروش کتاب | #۱۳۲,۷۹۱ در کتابها (برای مشاهده رتبههای دیگر در Top 100 کتابها) |
رتبه در Machine Theory | #۲۹ |
رتبه در Computer Neural Networks | #۵۷ |
رتبه در Artificial Intelligence & Semantics | #۳۴۳ |
نقد و بررسی مشتریان | ۴.۸ از ۵ ستاره (۱۴ نقد و بررسی) |
در ویرایش دوم، بخشهای ریاضیات پیشزمینه به صورت دقیقتری ارائه شدهاند تا شما را برای مطالب باقیمانده در کتاب بهتر آماده کنند. علاوه بر این، فصولی که به تحلیل توالی، بینایی کامپیوتری و یادگیری تقویتی اختصاص دارند، با تمرکز عمیقتر بر جدیدترین پیشرفتها در این حوزهها بهروزرسانی شدهاند. در نهایت، فصول جدیدی در زمینه مدلسازی تولیدی و تفسیرپذیری اضافه شده است تا دیدگاه گستردهتری از حوزه یادگیری عمیق به شما ارائه دهد. امیدواریم این بهروزرسانیها شما را به تمرین یادگیری عمیق ترغیب کرده و به شما کمک کند تا از آموختههای خود برای حل مشکلات واقعی در دنیای واقعی استفاده کنید.
پیشنیازها و اهداف کتاب Fundamentals of Deep Learning
این کتاب برای مخاطبانی طراحی شده است که با حساب دیفرانسیل و انتگرال و برنامهنویسی پایتون آشنایی ابتدایی دارند. در این ویرایش جدید، فصول گستردهای از مباحث ریاضی، بهویژه جبر خطی و احتمال، بهمنظور آمادهسازی شما برای مطالب پیش رو گنجانده شده است.
هدف ما این است که در پایان کتاب، شما شهودی قوی برای نحوه برخورد با مسائل با استفاده از یادگیری عمیق پیدا کنید، زمینه تاریخی رویکردهای مدرن یادگیری عمیق را بشناسید و با پیادهسازی الگوریتمهای یادگیری عمیق با استفاده از کتابخانه متنباز PyTorch آشنا شوید.
یک رویکرد جامع به یادگیری عمیق
ویرایش دوم این کتاب رویکردی منحصر به فرد به یادگیری عمیق ارائه میدهد. این کتاب به برنامهنویسان ماهر در پایتون، مهندسان نرمافزار و علاقهمندان به علوم کامپیوتر این امکان را میدهد تا نوآوریهای پیشرفته هوش مصنوعی را بدون مواجهه با اصطلاحات پیچیده ریاضی پیادهسازی کنند. نویسندگان با ارائه توضیحات شهودی همراه با مثالهای عملی، این کار را ممکن میسازند و به خوانندگان کمک میکنند تا این تکنیکها را در سناریوهای واقعی به کار گیرند.
کشف مفاهیم اصلی یادگیری عمیق
کتاب Fundamentals of Deep Learning طیف وسیعی از مفاهیم یادگیری عمیق را پوشش میدهد، از اصول ریاضی پایه گرفته تا کاربردهای پیشرفته. در فصلهای اولیه، نویسندگان درک محکمی از ریاضیات لازم—جبر خطی و احتمال—که پایه و اساس یادگیری عمیق هستند، ارائه میدهند. این بخشها به گونهای طراحی شدهاند که به خوانندگان کمک کنند تا بلوغ ریاضی لازم برای درک مباحث پیچیدهتر در کتاب را بدست آورند.
با پیشرفت کتاب، نویسندگان به بررسی مکانیک شبکههای عصبی میپردازند و تمرکز خود را بر نحوه پیادهسازی و آموزش این شبکهها با استفاده از کتابخانه PyTorch قرار میدهند. بخش اصلی کتاب به نحوه تجزیه و تحلیل تصاویر پیچیده با استفاده از شبکههای عصبی عمیق، کاهش ابعاد موثر با استفاده از خودرمزگذارها و انجام تحلیل توالی، بهویژه در زمینه پردازش زبان طبیعی (NLP) اختصاص دارد.
کشف آخرین پیشرفتها در یادگیری عمیق
ویرایش دوم این کتاب بهروزرسانیهایی در چندین زمینه ارائه میدهد. فصلهای جدید پیشرفتهای پیشرفتهای در مدلسازی تولیدی و تفسیرپذیری یادگیری ماشین را بررسی میکنند، زمینههایی که در سالهای اخیر توجه زیادی را به خود جلب کردهاند. نویسندگان همچنین بحثهای عمیقی درباره یادگیری تقویتی ارائه میدهند، یکی از زیرشاخههای سریعاً در حال رشد که برای توسعه عاملهای خودآموز که قادر به یادگیری از تجربه هستند، ضروری است.
بینشهای عملی با PyTorch
یکی از ویژگیهای برجسته این کتاب، رویکرد عملی آن است. نویسندگان در طول کتاب بر روی کاربرد عملی تکنیکهای یادگیری عمیق تأکید دارند و به خوانندگان راهنمایی میکنند که چگونه الگوریتمها را با استفاده از PyTorch—یکی از محبوبترین فریمورکهای یادگیری عمیق امروزی—پیادهسازی کنند. این امر به خوانندگان این امکان را میدهد که نه تنها مفاهیم یادگیری عمیق را درک کنند، بلکه از آنها برای حل مشکلات معنادار در زمینههای مختلف استفاده کنند.
کاربردهای واقعی و مطالعات موردی
آنچه که کتاب “اصول یادگیری عمیق” را از دیگر کتابهای موجود در این زمینه متمایز میکند، تمرکز آن بر پل زدن شکاف بین تئوری و عمل است. مطالعات موردی و مثالهای واقعی در کتاب نشان میدهند که چگونه یادگیری عمیق در صنایع مختلف مانند بهداشت و درمان، مالی، بازیها و رباتیک به کار گرفته میشود. با ارائه یک نمای کلی از پتانسیلهای یادگیری عمیق، این کتاب به منبعی بیقیمت برای حرفهایها تبدیل میشود که به دنبال پیشرفت در زمینه تحقیقات و توسعه هوش مصنوعی هستند.
چه کسانی باید این کتاب را بخوانند؟
این کتاب برای خوانندگانی طراحی شده است که درک ابتدایی از حساب دیفرانسیل و انتگرال دارند و با برنامهنویسی پایتون آشنایی دارند. این کتاب برای توسعهدهندگان نرمافزار، دانشجویان علوم کامپیوتر و مهندسانی که میخواهند دانش خود را در زمینه یادگیری عمیق گسترش دهند، ایدهآل است. با سبک نوشتاری قابل دسترس و توضیحات واضح، این کتاب برای کسانی که شاید تازه وارد حوزه هوش مصنوعی باشند ولی مشتاق به درک مفاهیم و کاربردهای اصلی آن هستند، مناسب است.
نکات کلیدی کتاب Fundamentals of Deep Learning
تا پایان این کتاب، خوانندگان نه تنها درک عمیقی از اصول یادگیری عمیق پیدا خواهند کرد، بلکه با ابزارها و بینشهای لازم برای پیادهسازی مدلها و الگوریتمهای پیشرفته آشنا خواهند شد. چه به دنبال ساخت سیستمهای هوشمند برای تحلیل تصاویر، پردازش زبان طبیعی، یا یادگیری تقویتی باشید، این کتاب دانش نظری و عملی ضروری را برای راهنمایی شما در مسیرتان ارائه میدهد.
کتاب “اصول یادگیری عمیق: طراحی الگوریتمهای هوش مصنوعی نسل بعد” (ویرایش دوم) منبعی حیاتی برای هر کسی است که میخواهد چشمانداز فعلی یادگیری عمیق را درک کرده و آن را برای حل مشکلات دنیای واقعی به کار گیرد.
درباره نویسندگان کتاب Fundamentals of Deep Learning
نویسندگان این کتاب—نیثین بودوما، نیکیل بودوما و جو پاپا—تجربه زیادی در هر دو جنبه نظری و عملی هوش مصنوعی و یادگیری عمیق دارند. نیثین بودوما مهندس یادگیری ماشین با تجربه است، در حالی که نیکیل بودوما به عنوان یک پیشگام شناخته شده در سیستمهای بهداشت و درمان مبتنی بر داده است. جو پاپا، با بیش از ۲۵ سال تجربه در تحقیق و توسعه، صدها دانشمند داده را آموزش داده و تیمهای تحقیقاتی هوش مصنوعی با PyTorch را رهبری کرده است. تخصص ترکیبی و بینشهای دنیای واقعی آنها این کتاب را به منبعی ضروری برای هر کسی که به دنبال تسلط بر هنر و علم یادگیری عمیق است، تبدیل کرده است.
این راهنمای جامع و در عین حال دسترسپذیر قطعاً به یک مرجع اساسی برای کسانی که مشتاق به کاوش در انقلاب یادگیری عمیق و تأثیر تحولآفرین آن بر دنیای هوش مصنوعی هستند، تبدیل خواهد شد.