کتاب Applied Machine Learning and AI for Engineers (یادگیری ماشین کاربردی و هوش مصنوعی برای مهندسان: حل مشکلات تجاری که به صورت الگوریتمی قابل حل نیستند) یک منبع کاملاً کاربردی و عملی برای آشنایی با هوش مصنوعی و یادگیری ماشین جهت استفاده در مباحث مهندسی است. این کتاب در 14 فصل به شرح مباحث مختلف یادگیری ماشین و هوش مصنوعی به همراه پیادهسازی آنها با استفاده از زبان برنامهنویسی پایتون و کتابخانههای آن پرداخته است.
در ادامه مقدمهای از کتاب Applied Machine Learning and AI for Engineers را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Applied Machine Learning and AI for Engineers:
من در طول زندگی خود شاهد سه انقلاب فنی بزرگ بودهام: اول کامپیوتر شخصی، سپس اینترنت و در نهایت گوشی هوشمند. یادگیری ماشینی (ML) و هوش مصنوعی به اندازه هر سه مورد اهمیت اساسی دارند و به همان اندازه تأثیر عمیقی بر زندگی ما خواهند داشت.
من برای اولین بار به یادگیری ماشینی علاقهمند شدم روزی که شرکت کارت اعتباری من تماس گرفت تا تأیید کند که در حال خرید یک گردنبند 700 دلاری هستم. من نبودم، اما کنجکاو بودم: از کجا فهمیدند که من نیستم؟ من از کارتم در سراسر دنیا استفاده میکنم و برای ثبت، هر از گاهی چیزهای خوبی برای همسرم میخرم.
نه یک بار شرکت کارت اعتباری خرید قانونی را رد نکرده بود، بلکه چندین بار خریدهای جعلی را به درستی علامت گذاری کرده بود، اولین مورد قبل از این تلاش شخصی در برزیل برای استفاده از کارت من برای خرید بلیط هواپیما بود. این بار متفاوت بود: جواهر فروشی 2 مایلی از خانه من فاصله داشت. من سعی کردم الگوریتمی را تصور کنم که بتواند کلاهبرداری کارت اعتباری را در محل فروش به طور قابل اعتماد تشخیص دهد. طولی نکشید که متوجه شدیم چیزی قدرتمندتر از یک الگوریتم صرف در کار است.
مشخص شد که شرکت کارت اعتباری هر تراکنش را از طریق یک مدل یادگیری ماشینی پیچیده انجام میدهد که در تشخیص تقلب فوق العاده ماهر است. آن لحظه زندگی من را تغییر داد. این یک نمونه عالی از این است که چگونه ML و AI جهان را به مکانی بهتر تبدیل میکنند. علاوه بر این، درک اینکه چگونه ML میتواند تراکنشهای کارت اعتباری را در زمان واقعی تجزیه و تحلیل کند و موارد بد را تشخیص دهد در حالی که اجازه میدهد هزینههای قانونی از آن عبور کنند، به کوهی تبدیل شد که من مجبور شدم از آن بالا میرفتم.
چه کسی باید کتاب Applied Machine Learning and AI for Engineers را بخواند؟
اخیراً از رئیس مهندسی یک شرکت تولیدی با من تماس گرفت. او گفتگو را اینگونه آغاز کرد: «تا هفته گذشته نمیدانستم ML و AI چیست. اکنون مدیر عامل من به من وظیفه داده است تا بفهمم چگونه آنها میتوانند تجارت ما را بهبود بخشند و قبل از اینکه رقبای ما از ما پیشی بگیرند این کار را انجام دهم. من از مربع یک شروع میکنم. آیا میتوانی کمک کنی؟”
تماس بعدی از سوی یک شرکت پیمانکاری دولتی انجام شد که علاقهمند به استفاده از یادگیری ماشینی برای کشف تقلب مالیاتی و پولشویی است. تیم آنجا در تئوری یادگیری ماشین کاملاً آشنا بود، اما متعجب بودند که چگونه میتوانند مدلهای مورد نیاز خود را بسازند.
حرفهایها در همه جا متوجه شده اند که ML و AI نشاندهنده یک سونامی تکنولوژیکی هستند و سعی میکنند قبل از اینکه موج بر سرشان بیفتد، در بالای آن قرار بگیرند. کتاب Applied Machine Learning and AI for Engineers برای آنها است:
مهندسان، توسعهدهندگان نرمافزار، مدیران IT و دیگرانی که هدفشان ایجاد درک عملی از ML و AI و قرار دادن این دانش برای حل مشکلاتی است که قبلاً دشوار یا حتی غیرقابل حل بودند.
به دنبال ایجاد درک شهودی است و تنها در صورت لزوم به معادلات متوسل میشود. علیرغم آنچه ممکن است شنیده باشید، لازم نیست در حساب دیفرانسیل و انتگرال یا جبر خطی متخصص باشید تا سیستمهایی بسازید که اشیاء را در عکسها تشخیص دهند، انگلیسی را به فرانسوی ترجمه کنند، یا قاچاقچیان مواد مخدر و تقلبهای مالیاتی را افشا کنند.
چرا کتاب Applied Machine Learning and AI for Engineers را نوشتم؟
درون هر نویسندهای یک گلوله کوچک وجود دارد که میگوید آنها میتوانند داستان را به گونهای تعریف کنند که هیچ کس دیگری این کار را نکرده است. من اولین کتاب کامپیوترم را بیش از 30 سال پیش و آخرین کتابم را بیش از 20 سال پیش نوشتم و قصد نداشتم کتاب دیگری بنویسم. اما حالا داستانی برای گفتن دارم.
این یک داستان مهم است – داستانی که هر مهندس و توسعه دهنده نرم افزار باید آن را بشنود. من کاملاً از روشی که دیگران آن را گفتهاند راضی نیستم، بنابراین کتابی را نوشتم که آرزو میکردم در زمان یادگیری این حرفه داشتم. با اصول اولیه شروع میشود و شما را به سفری به ارتفاعات ML و AI هدایت میکند.
در پایان، متوجه خواهید شد که چگونه شرکتهای کارت اعتباری تقلب را تشخیص میدهند، چگونه شرکتهای هواپیماسازی از یادگیری ماشینی برای انجام تعمیرات پیشبینیکننده موتورهای جت استفاده میکنند، چگونه خودروهای خودران جهان اطراف خود را میبینند، چگونه Google Translate متن را بین زبانها ترجمه میکند، و چگونه سیستمهای تشخیص چهره کار میکنند علاوه بر این، میتوانید خودتان سیستمهایی مانند آنها بسازید یا از سیستمهای موجود برای تزریق هوش مصنوعی به برنامههایی که مینویسید استفاده کنید.
پیشرفتهترین مدلهای یادگیری ماشین امروزی بر روی رایانههای مجهز به واحدهای پردازش گرافیکی (GPU) یا واحدهای پردازش تانسوری (TPU) آموزش داده میشوند، که اغلب با صرف زمان و هزینه زیاد انجام میشوند.
نکتهای که در کتاب Applied Machine Learning and AI for Engineers مورد تاکید قرار گرفته، ارائه نمونههایی است که میتوان آنها را بر روی یک رایانه شخصی یا لپتاپ معمولی بدون GPU ساخت. وقتی به مدلهای بینایی رایانهای میپردازیم که اشیاء را در عکسها تشخیص میدهند، نحوه کار این مدلها و نحوه آموزش آنها با میلیونها تصویر روی خوشههای GPU را شرح خواهم داد. اما سپس من به شما نشان خواهم داد که چگونه از تکنیکی به نام یادگیری انتقال استفاده کنید تا مدلهای موجود را برای حل مشکلات خاص دامنه و آموزش آنها بر روی یک لپتاپ معمولی استفاده کنید.
کتاب Applied Machine Learning and AI for Engineers به شدت از کلاسها و کارگاههایی که در شرکتها و مؤسسات تحقیقاتی در سراسر جهان تدریس میکنم اقتباس میشود. من عاشق تدریس هستم زیرا عاشق دیدن لامپهای روشن هستم. من اغلب کلاسهای ML و AI را با گفتن اینکه اینجا برای تدریس نیستم شروع میکنم. من اینجا هستم تا زندگی شما را تغییر دهم. در اینجا امیدواریم که زندگی شما کمی متفاوت و کمی بهتر از قبل از خواندن این کتاب باشد.
اجرای نمونه کدهای کتاب Applied Machine Learning and AI for Engineers:
مهندسان با انجام دادن بهتر یاد میگیرند، نه صرفاً با خواندن. این کتاب شامل نمونه کدهای متعددی است که میتوانید برای تقویت مفاهیم ارائه شده در هر فصل اجرا کنید. اکثر آنها در پایتون نوشته شده اند و از کتابخانههای منبع باز محبوب مانند Scikit-Learn، Keras و TensorFlow استفاده میکنند. همه در یک مخزن عمومی GitHub در دسترس هستند. این تنها منبع حقیقت برای نمونههای کد است زیرا میتوانم آن را در هر زمان بهروزرسانی کنم.
پلتفرمهای یادگیری ماشینی وجود دارد که به شما امکان میدهد مدلهایی را بدون کد بسازید و آموزش دهید. اما بهترین راه برای درک اینکه این پلتفرمها چه کاری انجام میدهند و چگونه آن را انجام میدهند، نوشتن کد است. پایتون یک زبان برنامهنویسی ساده است. یادگیری آن آسان است. مهندسان امروز باید راحت کدنویسی کنند. میتوانید با کار کردن با مثالهای کتاب Applied Machine Learning and AI for Engineers، پایتون را یاد بگیرید، و اگر از قبل با پایتون (و به طور کلی با برنامهنویسی) راحت هستید، از بازی جلوتر هستید.
برای اجرای نمونههای من روی رایانه شخصی یا لپ تاپ خود، به نسخه 64 بیتی پایتون 3.7 یا بالاتر نیاز دارید. شما میتوانید یک زمان اجرا پایتون را از Python.org دانلود کنید، یا میتوانید یک توزیع پایتون مانند Anaconda را نصب کنید. همچنین باید مطمئن شوید که بستههای زیر و وابستگیهای آنها نصب شدهاند:
- Scikit-Learn و TensorFlow برای ساخت مدلهای یادگیری ماشین
- Pandas، Matplotlib و Seaborn برای بحث و تجسم دادهها
- OpenCV و Pillow برای دست زدن به تصاویر
- Flask و درخواست برای فراخوانی API های REST و ساخت سرویسهای وب
- Sklearn-onnx و Onnxruntime برای مدلهای تبادل شبکه عصبی باز (ONNX)
- Librosa برای تولید تصاویر طیف نگار از فایلهای صوتی
- MTCNN و Keras-vggface برای ساخت سیستمهای تشخیص چهره
- KerasNLP، Transformers، Datasets و PyTorch برای ساخت مدلهای پردازش زبان طبیعی (NLP)
Azure-cognitive Services-vision-computervision، Azure-ai-textanalytics و Azure-cognitive Services-speech برای فراخوانی خدمات شناختی Azure
شما میتوانید اکثر این بستهها را با دستورات نصب pip نصب کنید. اگر Anaconda را نصب کرده اید، بسیاری از این بستهها در حال حاضر وجود دارند، و میتوانید بقیه را با استفاده از دستورات نصب conda یا معادل آن نصب کنید.
در مورد محیطها، استفاده از محیطهای مجازی پایتون برای جلوگیری از تضاد نصب بسته با سایر نصبهای بسته ایده بدی نیست. اگر با محیطهای مجازی آشنایی ندارید، میتوانید در مورد آنها در Python.org مطالعه کنید. اگر از Anaconda استفاده میکنید، محیطهای مجازی دقیقاً در آن ساخته میشوند.
بیشتر نمونههای کد من برای نوتبوکهای Jupyter ساخته شدهاند که یک پلتفرم تعاملی برای نوشتن و اجرای کد پایتون فراهم میکنند. نوتبوکها برای کاوش دادهها و آموزش مدلهای یادگیری ماشینی در جامعه علوم داده بسیار محبوب هستند.
میتوانید نوتبوکهای Jupyter را به صورت محلی با نصب بستههایی مانند Notebook یا JupyterLab اجرا کنید، یا میتوانید از محیطهای میزبان ابری مانند Google Colab استفاده کنید. یکی از مزایای Colab این است که شما مجبور نیستید چیزی را روی رایانه خود نصب کنید، حتی پایتون. و در موارد نادری که نمونههای من به GPU نیاز دارند، Colab آن را برای شما فراهم میکند.
راه اندازی و نگهداری محیطهای توسعه پایتون به خصوص در ویندوز بسیار دشوار است. اگر ترجیح میدهید مجبور به ایجاد چنین محیطی نباشید، یا اگر تلاش کردید اما موفق نشدید آن را به درستی اجرا کنید، کمک فقط یک بار دانلود است. من یک محیط توسعه کامل مناسب برای اجرای هر نمونه در کتاب Applied Machine Learning and AI for Engineers را در یک تصویر ظرف داکر بسته بندی کردم. با فرض اینکه Docker Engine را روی رایانه خود نصب کردهاید، میتوانید کانتینر را با دستور زیر راه اندازی کنید:
docker run -it -p 8888:8888 jeffpro/applied-machine-learning:latest
در مرورگر خود به آدرس URL که در خروجی ظاهر میشود بروید. شما در یک محیط کامل Jupyter با تمام نمونه کدهای من و همه چیزهایی که برای اجرای آنها لازم است فرود خواهید آمد. آنها در پوشه ای به نام Applied-Machine-Learning هستند که از مخزن GitHub به همین نام شبیه سازی شده است. نقطه ضعف استفاده از کانتینر این است که تغییراتی که ایجاد میکنید بهطور پیشفرض ادامه ندارند. یکی از راههای رفع این مشکل استفاده از سوئیچ -v در دستور docker برای اتصال به دایرکتوری محلی است. برای اطلاعات بیشتر، به «استفاده از پایههای اتصال» در مستندات Docker مراجعه کنید.
پیمایش در کتاب Applied Machine Learning and AI for Engineers
این کتاب در دو بخش تنظیم شده است:
بخش اول (فصلهای 1 تا 7 کتاب Applied Machine Learning and AI for Engineers) الفبای یادگیری ماشینی را آموزش میدهد و الگوریتمهای یادگیری رایج مانند رگرسیون لجستیک و تقویت گرادیان را معرفی میکند.
بخش دوم (فصل 8 تا 14 کتاب Applied Machine Learning and AI for Engineers) یادگیری عمیق را پوشش میدهد که امروزه مترادف با هوش مصنوعی است و از شبکههای عصبی عمیق برای تطبیق مدلهای ریاضی با دادهها استفاده میکند.
من به شدت شما را تشویق میکنم که تمرینات را در حین خواندن کتاب انجام دهید. شما با درک عمیق تری از مطالب دست خواهید یافت، و بدون شک به راههایی فکر خواهید کرد که مثالهای من را برای بازی “چه میشود اگر؟” تغییر دهید. با کد
سرفصلهای کتاب Applied Machine Learning and AI for Engineers:
- Foreword
- Preface
- I. Machine Learning with Scikit-Learn
- 1. Machine Learning
- 2. Regression Models
- 3. Classification Models
- 4. Text Classification
- 5. Support Vector Machines
- 6. Principal Component Analysis
- 7. Operationalizing Machine Learning Models
- II. Deep Learning with Keras and TensorFlow
- 8. Deep Learning
- 9. Neural Networks
- 10. Image Classification with Convolutional Neural Networks
- 11. Face Detection and Recognition
- 12. Object Detection
- 13. Natural Language Processing
- 14. Azure Cognitive Services
- Index
جهت دانلود کتاب Applied Machine Learning and AI for Engineers میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.