کتاب Deep Learning: From Big Data to Artificial Intelligence with R (یادگیری عمیق: از دادههای بزرگ تا هوش مصنوعی با R) یک منبع جامع و کامل درمورد یادگیری عمیق است که با استفاده از زبان برنامهنویسی R در 10 فصل مفاهیم آن را آموزش میدهد.
در ادامه مقدمهای از کتاب Deep Learning را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Deep Learning:
این کتاب به یادگیری عمیق اختصاص داده شده است، که شاخهای اخیر از یک رشته کمی قدیمیتر است: یادگیری ماشینی. یادگیری عمیق به ویژه برای تجزیه و تحلیل داده های پیچیده، مانند تصاویر و زبان طبیعی، مناسب است. به همین دلیل، در قلب بسیاری از برنامههای کاربردی هوش مصنوعی است که در این کتاب توضیح خواهیم داد.
اگرچه امروزه یادگیری عمیق تقریباً به طور انحصاری به شبکههای عصبی متکی است، اما ابتدا به سایر روشهای یادگیری ماشین نگاه میکنیم، تا حدی به دلیل مفاهیم مشترک آنها با شبکههای عصبی و درک کلیت آنها و تا حدودی مقایسه نتایج آنها با آنها. از روش های یادگیری عمیق سپس میتوانیم کارایی روشهای یادگیری عمیق را در بینایی رایانه و مشکلات پردازش خودکار زبان طبیعی به طور کامل اندازهگیری کنیم.
این همان کاری است که کتاب حاضر انجام خواهد داد و مبانی نظری این روشها را یادآوری میکند و در عین حال نحوه پیادهسازی آنها را در موقعیتهای خاص نشان میدهد، با مثالهایی که با کتابخانههای یادگیری عمیق منبع باز Python و عمدتاً R، همانطور که در زیر نشان داده شده است، درمان میشوند. همانطور که خواهیم دید، توسعه شگرف یادگیری عمیق و هوش مصنوعی با مفاهیم نظری جدید، ابزارهای محاسباتی قدرتمندتر و همچنین امکان استفاده از انبوهی از دادهها، تصاویر، ویدئوها، فایلهای صوتی، متون، ردیابی در اینترنت، سیگنالهای اشیاء متصل … این دادههای بزرگ در این کتاب بسیار حضور خواهند داشت.
ساختار کتاب Deep Learning: From Big Data to Artificial Intelligence with R
فصل 1 مروری بر یادگیری عمیق و کلان داده با اصول و کاربردهای آنها در بخشهای اصلی مالی، بیمه، صنعت، حمل و نقل، پزشکی و تحقیقات علمی است. چند صفحه به مشکلات اصلی که میتوان در پردازش دادهها در یادگیری ماشین و یادگیری عمیق با آنها مواجه شد، اختصاص داده شده است، به ویژه وقتی صحبت از کلان داده میشود. ما نباید از خطرات IT ذاتی در جمعآوری و ذخیرهسازی، گاهی اوقات در فضای ابری، حجم زیادی از دادههای شخصی غافل شویم. اخبار مربوط به برخی شبکههای اجتماعی به طور مرتب این را به ما یادآوری میکند. در نقطه مقابل طیف دید تجاری آنها از کلان داده، دادههای باز قرار دارند که فصل را میبندد.
فصل 2 کتاب Deep Learning: From Big Data to Artificial Intelligence with R به مفاهیمی میپردازد که دانشمندان داده هنگام برخورد با حجم زیادی از دادهها باید بدانند: صرفه جویی در مدل سازی، پیچیدگی الگوریتمی، محاسبات موازی و تعمیم آن، که محاسبات توزیع شده است. ما چند صفحه را به الگوریتم MapReduce بر اساس محاسبات توزیع شده، پیاده سازی آن در سیستم Hadoop، و به سیستمهای مدیریت پایگاه داده، معروف به NoSQL و ستون گرا، به ویژه برای دادههای بزرگ، اختصاص میدهیم.
خواهیم دید که برنامههای کاربردی «تحلیلی» مانند یادگیری ماشین، نیازمندیهای محاسباتی خاصی هستند که به راه حلهای خاصی نیاز دارند: Spark یکی از آنهاست. سپس منابع سختافزاری و نرمافزاری را که باید پیادهسازی شوند، بررسی میکنیم، خواه آنها در دستگاه کاربر باشند یا در یک ابر. ما در مورد پردازندههایی صحبت میکنیم که محاسبات یادگیری عمیق را تسریع میکنند، و همچنین دو نرمافزار منبع باز پرکاربرد در آمار، یادگیری ماشین و یادگیری عمیق: R و Python. یک جدول همدیدی روشهای اصلی یادگیری ماشین پیادهسازی شده در R، Python (کتابخانه scikit-learn) و Spark (MLlib) را مقایسه میکند.
همچنین اشاره به محاسبات کوانتومی، که نسخههای خاصی از الگوریتمها به ویژه در جبر خطی، یادگیری ماشین، بهینهسازی و رمزنگاری شروع به طراحی کردهاند، جالب بود. چشم انداز محاسبات کوانتومی هنوز دور است، اما بسیار امیدوار کننده است، با امکان کاهش قابل توجه در زمان محاسبات.
فصل 3 کتاب Deep Learning: From Big Data to Artificial Intelligence with R برخی از اصول اساسی یادگیری ماشین و علم داده را یادآور میشود: معضل تعصب-واریانس در مدلسازی، روشهای کاهش پیچیدگی، الگوریتمهای بهینهسازی، مانند نزول گرادیان، نیوتن یا لونبرگ-مارکوارت، روشهای مجموعه (یا تجمیع) توسط جنگلهای تصادفی، موارد اضافی. -درخت یا تقویت، و روشهای مفید برای دادههای بزرگ، مانند الگوریتمهای افزایشی و سیستمهای توصیهای که توسط شبکههای اجتماعی و تجارت آنلاین استفاده میشوند. جدای از این یادآوریها، فرض بر این است که خواننده با روشهای یادگیری ماشینی آشنایی دارد، اما در صورت نیاز، کتابشناسی در انتهای کتاب آورده شده است و نکاتی در هر فصل برای مراجع خاص ارائه شده است.
فصل 4 کتاب Deep Learning: From Big Data to Artificial Intelligence with R روشهای پردازش زبان طبیعی را ارائه میکند. اصول تجزیه و تحلیل متن معرفی شده اند، از جمله تقسیمبندی به واحدها یا نشانهگذاری، برچسبگذاری بخشی از گفتار، شناسایی موجودیت نامگذاری شده، واژه سازی، و سایر عملیات ساده سازی که هدف آن کاهش حجم دادهها و پیچیدگی مشکل تا حد امکان است. در حالی که حداکثر مقدار اطلاعات را حفظ میکند، که یک نگرانی دائمی در آمار و یادگیری ماشین است.
سپس عملیات نمایش برداری کلمات را شرح میدهیم که از ماتریس کلاسیک سند-اصطلاح به روشهای جاسازی کلمه که با Word2Vec، GloVe و fastText شروع میشوند، میروند و فهرست اینها به طور مداوم در حال افزایش است.
ما از جاسازی صحبت میکنیم زیرا هر کلمه با یک نقطه در فضای برداری با ابعاد نسبتاً کوچک مرتبط است، از مرتبه چند صد، یعنی بسیار کمتر از عبارتهای مختلف، با این ویژگی قابل توجه که دو کلمه از نظر معنایی نزدیک به نقاط نزدیک در متن مطابقت دارند. فضای برداری، و اینکه عملیات حسابی در این فضای برداری میتواند به هویتهایی مانند “پادشاه” – “مرد” + “زن” = “ملکه” منجر شود. این جاسازیهای برداری نه تنها نزدیکی کلمات بلکه روابط آنها را نیز حفظ میکند.
بنابراین، آنها روشی کارآمد برای تبدیل اسناد برای تجزیه و تحلیل، به عنوان مثال، طبقهبندی آنها به دستههایی هستند: هرزنامه یا غیر هرزنامه، نوع پیام، موضوع شکایت، و غیره. ما همچنین در مورد مدلسازی موضوع بحث میکنیم که از روشهایی مانند پنهان استفاده میکند.
تخصیص دیریکله برای شناسایی تمام موضوعات موجود در مجموعه ای از اسناد. ما یکی دیگر از روشهای فعلی پردازش زبان طبیعی، تحلیل احساسات را ارائه میکنیم که به دنبال تشخیص احساسات بیان شده در یک متن، چه به صورت دوتایی از احساسات مثبت یا منفی، یا به شکل دقیقتر شادی، ترس، خشم و غیره است. روشهای عصبی به کار رفته در پردازش زبان طبیعی در فصل 9، پس از روشی که به اصول یادگیری عمیق اختصاص دارد، مورد بحث قرار میگیرد.
فصل 5 کتاب Deep Learning: From Big Data to Artificial Intelligence with R نحوه تجزیه و تحلیل شبکههای اجتماعی را با شروع از مفاهیم نظریه گراف و مثال توییتر نشان میدهد. ما به ویژه به معیارهای به اصطلاح مرکزیت و نفوذ علاقه مندیم، زیرا در شبکههای اجتماعی و موتورهای جستجوی وب بسیار مهم هستند.
ما همچنین علاقه مند به تشخیص جوامع هستیم، که زیر نمودارهای متراکمی هستند که میتوانند پارتیشنی از نمودار مورد مطالعه را تشکیل دهند. جستجوی جوامع در یک نمودار یک زمینه تحقیقاتی فعال در حوزههای مختلف (زیست شناسی، جامعه شناسی، بازاریابی) است، زیرا رئوس یک جامعه دارای ویژگیهای جالب مشترکی هستند. برخی ملاحظات به مدل اقتصادی شبکههای اجتماعی و تبلیغات دیجیتال و آنچه تبلیغات برنامهای نامیده میشود معطوف میشود.
فصل 6 کتاب Deep Learning: From Big Data to Artificial Intelligence with R به مشکل کلاسیک تشخیص ارقام دست نویس در چکهای بانکی و کدهای پستی روی پاکتها و غیره میپردازد. در یک مجموعه داده معروف (MNIST)، روشهای مختلف یادگیری ماشینی را که قبلاً در کتاب مورد بحث قرار گرفتهاند، مقایسه میکند: بهویژه رگرسیون جریمهشده، جنگلهای تصادفی، تقویت گرادیان، و ماشینهای بردار پشتیبانی.
فصل هفتم یک فصل طولانی و مهم در مورد یادگیری عمیق است. اصول یادگیری عمیق و معماری شبکههای عصبی عمیق، بهویژه شبکههای کانولوشنال و تکراری را توضیح میدهد که امروزه بیشترین استفاده را برای بینایی رایانه و پردازش زبان طبیعی دارند.
بسیاری از ویژگیهای طراحیشده برای بهینهسازی عملکرد آنها، مانند ادغام، عادیسازی، ترک تحصیل، و یادگیری تطبیقی با نشانههایی در مورد بهترین استفاده از آنها ارائه شدهاند.
ما مکانیسم یادگیری اساسی شبکههای عصبی، انتشار پسانداز، مشکلاتی که در کاربرد آن در شبکههای چندلایه با پدیده گرادیان ناپدید شدهای که برای مدتی به «زمستان هوش مصنوعی» منجر شد، و راهحلهای یافت شده در ده سال گذشته را مرور میکنیم.
ایدههای جدید و افزایش قدرت محاسباتی. شبکههای خاصی شرح داده شدهاند: رمزگذارهای خودکار برای فشردهسازی دادهها، و شبکههای عصبی مولد که به طور فزایندهای در حال توسعه هستند تا از هوش مصنوعی متون، تصاویر یا موسیقی تولید کنند. تصاویر علاقه به یادگیری عمیق را برای موضوعاتی از تشخیص اشیا تا بازیهای استراتژی نشان میدهد.
فصل 8 کتاب Deep Learning: From Big Data to Artificial Intelligence with R کاربرد روشهای مشاهده شده در فصل 7 را با استفاده از کتابخانههای MXNet، Keras-TensorFlow و PyTorch برای بینایی رایانه ارائه میکند.
به طور خاص، آنها در سه مجموعه داده کلاسیک اعمال میشوند: (1) پایگاه داده MNIST که قبلاً در فصل 6 مورد بحث قرار گرفت، که امکان مقایسه عملکرد روشهای یادگیری کلاسیک و عمیق را فراهم میکند. (2) پایگاه داده تصویر CIFAR-10. و (3) پایگاه داده ای از تصاویر گربه و سگ. ما آموزش انتقال را اعمال میکنیم. ما مسئله توضیح پذیری الگوریتم های یادگیری ماشین را با استفاده از روش LIME بر روی تصاویر ترسیم میکنیم تا بفهمیم مدل برای پیشبینیهای خود به کدام قسمتهای تصویر متکی است.
ما نشان میدهیم که چگونه رایانهای را با سیستم عامل ویندوز پیکربندی کنیم تا از واحد پردازش گرافیکی آن (GPU) برای محاسبات یادگیری عمیق استفاده کند، که در این پردازندههای گرافیکی بسیار سریعتر از پردازندههای کلاسیک (CPU) هستند. این پیکربندی خیلی ساده نیست و لازم است مراحل مختلف نشان داده شده را دنبال کنید. این فصل با مثالهایی از محاسبات ابری، با استفاده از پلتفرم Google Colab با یک نوت بوک Jupyter که کد پایتون را اجرا میکند، به پایان میرسد.
فصل 9 کتاب Deep Learning: From Big Data to Artificial Intelligence with R به پردازش زبان طبیعی باز میگردد و روشهای یادگیری عمیق شرح داده شده در فصل 7: مدلهای مولد و شبکههای عصبی مکرر را برای آن به کار میگیرد. یک مثال کاربردی از ایجاد اشعار توسط یک شبکه عصبی ارائه شده است که با مثالی برای آموزش آن (غزل شکسپیر) ارائه شده است، اما هیچ اطلاعات دیگری در مورد زبان انگلیسی، فرهنگ لغت و قوانین دستور زبان وجود ندارد.
ما همچنین نحوه اعمال شبکههای تکراری LSTM و GRU را برای طبقهبندی اسناد نشان میدهیم و آنها را با روشهای یادگیری ماشین کلاسیک مقایسه میکنیم. سپس نشان میدهیم که چگونه مدلهای «ترانسفورماتور» اخیر به اصلاح روشهای جاسازی کلمه که در فصل 4 دیده میشود، با الگوریتم BERT و جانشینان آن میتوانند زمینه یک کلمه چند معنایی را برای محاسبه جاسازی آن در نظر بگیرند.
اما این مدلهای ترانسفورماتور بسیار فراتر از روشهای جاسازی کلمه هستند و امروزه برای تمامی کارهای پردازش زبان طبیعی، طبقهبندی اسناد، ترجمه، پاسخگویی به پرسش، تولید متن، خلاصهسازی خودکار و غیره، پیشرفته هستند. عملکرد با استفاده از مدل BERT به همان مثال طبقهبندی اسناد مانند مدل قبلی LSTM.
سرانجام، فصل 10 کتاب Deep Learning: From Big Data to Artificial Intelligence with R هوش مصنوعی را با مفاهیم آن، رابطه آن با هوش انسانی، پیوندهای آن با روشهای نمادین، یادگیری ماشینی و یادگیری عمیق، کاربردهای آن و البته امیدها و بحثهایی که برمی انگیزد، توضیح میدهد. کتاب با کتابشناسی مشروح و نمایه به پایان میرسد.
در مثالهای کتاب Deep Learning: From Big Data to Artificial Intelligence with R، زبان برنامهنویسی R بیشتر از پایتون استفاده شده است. حتی اگر موفقیتهای پایتون در علم داده در حال افزایش باشد، R همچنان نرمافزار مرجع در این زمینه، غنیترین نرمافزار در آمار است و به تدریج در زمینه یادگیری عمیق جای گرفته است. در واقع، روشهای اصلی و اول از همه شبکههای عصبی کانولوشنال و تکراری، که در ابتدا با پایتون رابط داشتند (محاسبات خود اغلب در C++ و CUDA پیادهسازی میشوند) نیز به طور فزایندهای با R در حال واسط هستند.
البته باید توجه داشت که استفاده از TensorFlow و Keras، حتی با R، نیاز به نصب قبلی پایتون، حداقل در توزیع حداقلی مانند Miniconda دارد. در مورد کتابخانه PyTorch، تا سال 2020، این کتابخانه به R منتقل نشده بود و برای استفاده از آن نیاز به نوشتن کد پایتون داشت که در پایان فصل 8 انجام میدهیم. از آن زمان، پروژه “torch for R” با پشتیبانی RStudio اجرا شده است. کتابخانه PyTorch در R، مستقیماً از کد ++C بدون عبور از رابط Python.2
یکی دیگر از دلایل انتخاب R این است که کتابهای زیادی قبلاً در پایتون منتشر شده است، در حالی که تعداد کمی از آنها استفاده از R را در یادگیری عمیق توصیف میکنند. البته این موضوعات موضوع مقالات و بحثهای موجود در انجمنها هستند، اما عناصر جالب منتشر شده و لزوماً کامل و منسجم بین آنها نیست. بنابراین، ما رویکردی را ترجیح دادهایم که شاید محدودتر باشد، اما، امیدواریم، منسجم و احتمالاً به خواننده اجازه دهد تا مشکلات علم داده و یادگیری عمیق را حل کند. از آنجایی که این هدف این کتاب است و نه مقایسه سیستماتیک کتابخانههای نرمافزاری، ما ترجیح دادهایم با ارائه تمام کدها در نسخههای R و Python حجم کتاب را افزایش ندهیم.
به همین دلیل، ما نمونههایی از استفاده از تمام کتابخانههای یادگیری عمیق را ارائه نکردهایم، بلکه تنها سه مورد از اصلیترین آنها را ارائه کردهایم: Keras-TensorFlow، MXNet و PyTorch.
زمانهای اجرا زیادی نشان داده شدهاند تا تفاوتهای عملکرد محاسباتی بین روشها یا روشهای مختلف برنامهنویسی یا گاهی بین نرمافزارهای مختلف را نشان دهند. بیشتر نمونههای آموزش شبکه عصبی عمیق بر روی یک کامپیوتر لپ تاپ با پردازنده چهار هسته ای Intel i5-8300H با فرکانس 2.3 گیگاهرتز، با 8 گیگابایت رم، سیستم عامل 64 بیتی ویندوز 10 و کارت گرافیک NVIDIA GeForce GTX 1050 پیاده سازی شده است.
گاهی اوقات زمانهای اجرا با و بدون استفاده از این GPU مقایسه میشود. البته اگر در ماشینهای دیگر اندازهگیری میشدند بسیار متفاوت خواهند بود و بهتر است به تفاوتهای زمان محاسباتی بین دو رویکرد نگاه کنیم تا قدر مطلق آنها.
مدت زمان و برخی از نتایج محاسبات نیز گاهی اوقات میتواند به نسخه R بستگی داشته باشد و موارد ارائه شده در این کتاب بیشتر با نسخههای 3.6.x تا 4.1.x از R به دست آمده است. خواننده نباید از تفاوتهایی که میتواند وجود داشته باشد شگفتزده شود.
با سایر نسخههای کم و بیش جدید دریافت کنید. این امر به ویژه در مورد بستههای کلان داده و یادگیری عمیق، که اغلب مانند روشهایی که پیادهسازی میکنند در حال تکامل هستند، صادق است.
روشهای ارائه شده در این کتاب بسیار فراتر از حوزه آمار است و یادگیری آماری و یادگیری ماشین را پوشش میدهد که یادگیری عمیق شاخه خاصی از آن است.
به طور خلاصه میتوان گفت که اگر آمار به دنبال پیشبینی پدیدهها است، بیش از هر چیز به دنبال توضیح آنها و در نتیجه ارائه توصیفی در قالب مدلها است. یک مدل نمایشی از واقعیت است که فرض میکند دادهها از توزیعهای احتمال خاصی پیروی میکنند.
آمارگیر آزمایشهایی را برای بررسی این فرض و اطمینان از اینکه این مدل به خوبی پایهریزی شده است انجام میدهد. اگر ثابت شود که دادههای مشاهده شده از توزیع احتمال مفروض پیروی میکنند، یا حداقل از آن انحراف زیادی ندارند، تنها چیزی که باقی میماند تخمین پارامتر(های) این توزیع و تأیید مجدد با استفاده از روشهای آماری است.
آزمونها، اهمیت این برآورد (به زبان رایج: قابلیت اطمینان آن). در یادگیری ماشین، ما در درجه اول به قدرت پیشبینی روشها و ظرفیت تعمیم مدلهای به دست آمده علاقه مند هستیم. ما از آنها نمیخواهیم که توصیفی رسمی از واقعیت ارائه دهند و مفهوم آزمون فرضیه در عقب نشینی قرار میگیرد. 3
این بیشتر صادق است زیرا ما به پدیدههایی علاقه مندیم که گاهی آنقدر پیچیده هستند که با توزیعهای احتمالی ساده توصیف شوند، و این پدیدهها با مکانیسمهای بسیار پیچیده تری توصیف میشوند، مکانیسمهای یادگیری عمیق که بدون تشابه با عملکرد مغز نیستند و میتوانند تا حدی جایگاه مهم آنها را در هوش مصنوعی توضیح دهند.
یادداشت
1 ما در اینجا در همان اصطلاح آمار، یادگیری آماری و یادگیری ماشینی را برای اختصار و به دلیل اینکه مرزها در حال تغییر هستند، علیرغم تلاش ما برای ترسیم آنها در پایان این مقدمه، درج می کنیم.
2 https://www.rstudio.com/blog/torch/.
3 با توجه به کنایه برایان ریپلی (user! 2004، وین): “یادگیری ماشینی آمار است منهای هر گونه بررسی مدلها و فرضیات.”
سرفصلهای کتاب Deep Learning:
- Cover
- Title Page
- Copyright
- Contents
- Acknowledgements
- Introduction
- Chapter 1 From Big Data to Deep Learning
- Chapter 2 Processing of Large Volumes of Data
- Chapter 3 Reminders of Machine Learning
- Chapter 4 Natural Language Processing
- Chapter 5 Social Network Analysis
- Chapter 6 Handwriting Recognition
- Chapter 7 Deep Learning
- Chapter 8 Deep Learning for Computer Vision
- Chapter 9 Deep Learning for Natural Language Processing
- Chapter 10 Artificial Intelligence
- Conclusion
- Annotated Bibliography
- Index
- EULA
جهت دانلود کتاب Deep Learning میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.