بسیاری از کارشناسان حوزه هوش مصنوعی و یادگیری ماشین بر این باور هستند که «یادگیری نظارت نشده» (Unsupervised Learning) (به آن یادگیری بیناظر یا یادگیری بدون ناظر نیز گفته میشود) خط مقدم هوش مصنوعی خواهد بود و احتمالا کلید «هوش مصنوعی عمومی» (General Artificial Intelligence) در دستای یادگیری نظارت نشده است. آنها میخواهند با این کار رونویسی مبتنی بر یادگیری عمیق را بهبود بخشند. دلیل این امر آن است که اغلب دادههای موجود در جهان، فاقد برچسب هستند و یادگیری «نظارت شده» (Supervised) (با ناظر) قابل اعمال روی چنین دادههایی نیست. این کتاب یازدهم، ویژه افرادی است که علاقهمند به ورود به دنیای یادگیری ماشین هستند. در حالی که دو نوع دیگر بهعنوان هوش مصنوعی قوی دسته بندی میشوند. این آثار تاریخی و دست نوشتهها درون کتابخانهها و صومعهها حفظ و نگهداری میشوند و بخش قابل توجهی از آنها نیز به صورت تصاویر دیجیتالی در دسترس عموم قرار دارند. در این کتاب، الگوریتمهای یادگیری ماشین معرفی شدهاند و تصاویر و توضیحات شفاف نیز برای سادهتر کردن درک مطالب ارائه شده است. یادگیری ماشین کلاسیک یا غیر عمیق برای یادگیری به مداخله انسان وابسته است. در انتهای مطلب معرفی کتاب یادگیری ماشین با پایتون علاوه بر موارد مربوط به یادگیری ماشین با پایتون یک کتاب یادگیری ماشین نیز به طور ویژه برای افرادی معرفی شده است که هیچ دانشی از یادگیری ماشین و پایتون ندارند و صرفا در ابتدای مسیر هستند و تمایل دارند ابتدا با یادگیری ماشین آشنا شوند.
شاید سادهترین راه برای اندیشیدن راجع به هوش مصنوعی، یادگیری ماشین، شبکههای عصبی و یادگیری عمیق تصور آنها مانند عروسکهای تو در توی روسی باشد. برای مثال زمانی را که یک خواننده متخصص متون صرف تشخیص یک کلمه یا حرف میکند، بررسی میکند. لذا به مقادیری نیاز داریم که میزان تأثیری را که هر ورودی منفرد میتواند در نتیجه داشته باشد کاهش دهد. والتر شیرر(Walter Scheirer)، استادیار دپارتمان علوم رایانه و مهندسی در دانشگاه نوتردام میگوید: ما با اسنادی با فرم نوشتاری باستانی متعلق به قرنهای گذشته و به زبانهایی که امروزه به ندرت مورد استفاده قرارمیگیرند مانند زبان لاتین، سروکار داریم. زبان این نوشتهها امروزه به ندرت مورد استفاده قرار میگیرد. مخاطبان با مطالعه این کتاب، طیفی از روشها را با شروع از «رگرسیون خطی» (Linear Regression) تا «شبکههای عصبی عمیق» (Deep Neural Networks) خواهند آموخت. مخاطبان با مطالعه این کتاب یادگیری ماشین لرنینگ با پایتون مبانی یادگیری ماشین را ضمن کار با الگوریتمهای پیشبینی کلاسیک، «دستهبندی» (Classification) و «خوشهبندی» (Clustering) میآموزد.
این کتاب برای توسعه دهندگان پایتون و «تحلیلگران داده» (Data Analysers) یا «دانشمندان دادهای» (Data Scientists) مناسب است که در صدد ارتقا مهارتهای خود با قدرتمندترین مباحث حوزه علم داده هستند. در حالی که مدل یادگیری ماشین با توجه به دادهساختار زمینهای، بر دادههای کمتری متکی است. در «کتاب یادگیری عمیق با پایتون» (Deep Learning with Python) مبحث یادگیری عمیق با استفاده از زبان برنامهنویسی پایتون و کتابخانه قدرتمند کرس، مورد بررسی قرار میگیرد. هر عکس را با یک نوع فست فود مثل پیتزا، همبرگر یا هر فست فود دیگری برچسبگذاری میکنیم. ما میخواهیم به وسیلهی هوش مصنوعی کاری مشابه یک متخصص انجام دهیم و این نوشتهها را رونویسی کنیم تا قابل جستجو باشند. این مطلب هدف اصلی برخی از پژوهشهای حوزهٔ هوش مصنوعی و موضوعی رایج در داستانهای علمی و نیز آیندهپژوهی است. هوش مصنوعی محدود بهعنوان هوش مصنوعی ضعیف تلقی میشود. از آن برای پیشبینی، خودکارسازی و بهینهسازی کارهایی که بهطور تاریخی توسط انسانها انجام میشد نظیر تشخیص گفتار و چهره، تصمیمگیری و ترجمه استفاده میشود. در آخر، مقدار آستانه را برابر ۵ فرض خواهیم کرد که به مقدار بایاس ۵- ترجمه میشود.
این کتاب یادگیری ماشین لرنینگ با پایتون یک راهنمای کاربردی برای مواجهه با مسائل محاسباتی جهان واقعی فراهم میکند. این فناوریها معمولاً با هوش مصنوعی، یادگیری ماشین، یادگیری عمیق و شبکههای عصبی مرتبط هستند. هر چند همگی به نوعی نقش خود را ایفا میکنند، اما معمولاً هنگام صحبت، این اصطلاحات به جای هم استفاده میشوند. محققان زمان واکنش خوانندگان برای درک هر کلمه و متن را اندازهگیری کردند تا میزان سختی و آسانی هر بخش را دریابند. مانند این مثال که آیا برای شام باید یک پیتزا سفارش دهید یا خیر؟ پایتون یکی از مهمترینها و در واقع اصلیترین زبان برنامهنویسی است که در زمینه هوش مصنوعی و یادگیری ماشین مورد استفاده قرار میگیرد. مخاطبان میتوانند پورتفولیو یادگیری ماشین خود را با شش پروژه هوش مصنوعی لبه علم بسازند که با استفاده از شبکههای عصبی در پایتون ساخته شدهاند. کتاب «پروژههای شبکه عصبی با پایتون: راهنمای جامع استفاده از پایتون برای اکتشاف قدرت واقعی شبکههای عصبی از طریق شش پروژه» (Neural Network Projects with Python: The ultimate guide to using Python to explore the true power of neural networks through six projects) همانگونه که از نام آن پیدا است با رویکرد کاملا پروژه محور تدوین شده است.
مواردی که در ادامه به عنوان کتاب یادگیری ماشین با پایتون معرفی میشوند، از جمله کتابهای محبوب و پرمخاطبی هستند که توسط ناشرهای معروف دنیا تولید شدهاند. این کتاب یادگیری ماشین با پایتون هم به عنوان یک راهنمای گام به گام و هم به عنوان مرجعی عمل میکند که افراد میتوانند هنگام ساخت مدلهای یادگیری ماشین خود به آن مراجعه کنند. در این نسخه از کتاب یادگیری ماشین با پایتون به روشهای لبه علم «یادگیری تقویتی» (Reinforcement Learning) بر مبنای «یادگیری عمیق» (Deep Learning) و «شبکههای مولد تخاصمی» (Generative Adversarial Networks | GANs) نیز پرداخته شده است. ویرایش سوم این کتاب با تنسورفلو ۲.۰ به روزرسانی شده است و در آن، به مخاطبان، ویژگیهای جدید «رابط برنامهنویسی کاربردی کرس» (Keras API) و همچنین ویژگیهای جدید سایکیتلرن معرفی شده است. در هر فصل از این کتاب، به منظور آنکه مخاطب اطمینان حاصل کند که آنچه بیان شده را فرا گرفته، یک تجربه برنامهنویسی تعبیه شده است.
مخاطبان با مطالعه «کتاب یادگیری ماشین پیشرفته با پایتون» (Advanced Machine Learning with Python) چگونگی حل مسائل پیچیده یادگیری ماشین و یادگیری عمیق را به همراه روش استفاده از کدهای پایتون برای پیادهسازی طیفی از الگوریتمها و روشهای سایت vector-robot یادگیری ماشین میآموزند. ویرایش دوم «کتاب یادگیری ماشین برای کاملا مبتدیها: یک مقدمه کاملا به زبان ساده» (Machine Learning For Absolute Beginners: A Plain English Introduction)، برای علاقهمندان یادگیری ماشین لرنینگ در سطح کاملا مبتدی است. کتاب «مقدمهای بر یادگیری ماشین با پایتون: راهنمایی برای دانشمندان داده» (Introduction to Machine Learning with Python: A Guide for Data Scientists) به افرادی که برنامهنویسی پایتون را میدانند، حتی افرادی با دانش مقدماتی، راهکارهای عملی برای ساخت راهکارهای یادگیری ماشین را میآموزد. مخاطبان با مطالعه کتاب «مقدمهای بر یادگیری ماشین با پایتون: راهنمایی برای دانشمندان داده» ضمن فراگیری مفاهیم پایهای و کاربردهای یادگیری ماشین، مزایای و معایب الگوریتمهای این حوزه را آموخته و با چگونگی ارائه دادههای پردازش شده با یادگیری ماشین آشنا میشوند. این کتاب یادگیری ماشین لرنینگ با پایتون که برای برنامهنویسها، دانشمندان داده و مهندسان هوش مصنوعی گزینهای ایدهآل محسوب میشود، چشماندازی از فرایندهای یادگیری ماشین را ارائه و مخاطب را وارد دنیای کار با دادههای ساختاریافته میکند.
در این کتاب، فصلهایی نیر به مفاهیم یادگیری عمیق شامل «خودرمزگذارها» (Autoencoders) و «شبکههای عصبی بازگشتی» (Recurrent Neural Networks) اختصاص داده شده و همچنین، به مبحث یادگیری تقویتی نیز پرداخته شده است. هرچند این موضوع در توضیح شبکههای عصبی بهطور ضمنی بیان شد. اکثر شبکههای عصبی عمیق پیشخور هستند. یادگیری ماشین عمیق برای مطلع ساختن الگوریتم خود میتواند از مجموعه دادههای برچسبدار بهره گیرد. اطلاعات مربوط به هر کتاب یادگیری ماشین با پایتون شامل محتوا، نویسنده، ناشر، تعداد صفحات و سال چاپ بیان شده است. هوش عمومی مصنوعی (به انگلیسی: Artificial general intelligence) (مخفف انگلیسی: AGI) هوش ماشینی است که میتواند با موفقیت هر کار فکریای را که یک انسان قادر به انجام آن باشد، اجرا کند. او و گروهش در تلاشند تا دقت این رونویسی را افزایش دهند، به خصوص در متونی که آسیب دیدهاند یا ناکامل هستند. متخصصین رونوشت دستی خود را وارد یک نرمافزار خاص کردند. این یک مقالهٔ خرد علوم رایانه است. این در حالی است که یادگیری نظارت نشده قابل اعمال روی مجموعه دادههای فاقد برچسب به منظور کشف الگوهای معنادار از میان دادهها است.
یادگیری عمیق چه فرقی با شبکههای عصبی دارد؟ در این کتاب، چگونگی اعمال یادگیری نظارت نشده روی دادهها با استفاده از دو چارچوب نرمافزاری پایتون سایکیتلرن و تنسورفلو آموزش داده شده است. با این اوصاف، مدل یادگیری عمیق برای بهبود دقت خود به نقاط داده بیشتری احتیاج خواهد داشت. نویسندگان این کتاب «آندرس مولر» (Andreas Müller) و «سارا خیدو» (Sarah Guido)، به جای پرداختن به مباحث نظری نهفته در پس الگوریتمها، روی جنبههای عملی استفاده از الگوریتمهای یادگیری ماشین متمرکز شدهاند. متخصصان میگویند میزان زیادی از این نوشتهها هنوز مورد مطالعه قرار نگرفتهاند و گنجینهای از تاریخ جهان در آنها نهفته است. “شیرر” و همکارانش میگویند که هنوز چالشهایی پیش رو دارند. در ادامه یک کتاب یادگیری ماشین نیز ویژه مبتدیهایی معرفی میشود که هیچ شناخته برنامهنویسی ندارند. فناوری هر لحظه بیشتر با زندگی روزمره ما عجین میشود. این کتاب یادگیری ماشین لرنینگ با پایتون توسط سازنده کرس و پژوهشگر «گوگل ایآی» (Google AI) «فرانسوا شوله» (François Chollet) نوشته شده است.
این ویرایش جدید از کتاب، حاوی مباحث زیادی است که در ویرایش اول کتاب پوشش داده نشده بودند. با بهرهگیری از این کتاب یادگیری ماشین با پایتون مخاطبان گامهای لازم برای ساخت یک برنامه کاربردی یادگیری ماشین موفق را با پایتون و کتابخانه سایکیتلرن میآموزند. مدل یادگیری ماشین با مشاهده الگوهای موجود در دادهها میتواند ورودیها را خوشهبندی و دستهبندی کند. مخاطبان میتوانند با مطالعه این کتابها به یادگیری ماشین لرنینگ با پایتون بپردازند. در کتاب «Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems» یا «کتاب یادگیری ماشین با سایکیتلِرن و تنسورفلو: مفاهیم، ابزارها و روشهای ساخت سیستمهای هوشمند»، با استفاده از مثالها، مباحث نظری کوتاه و دو «چارچوب نرمافزاری» (Framework) «سایکیتلِرن» (Scikit-Learn) و «تنسورفلو» (TensorFlow)، امکان به دست آوردن درکی کامل پیرامون مفاهیم و ابزارهای موجود برای ساخت سیستمهای هوشمند فراهم شده است. چه مخاطب قصد داشته باشد یادگیری ماشین با پایتون را از صفر بیاموزد و چه قصد توسعه دادن دانش خود را داشته باشد، این کتاب یک منبع خوب محسوب میشود. برای پرسیدن پرسشهای بهتر پیرامون دادهها، نیاز به ارتقا و توسعه تواناییها پیرامون سیستمهای یادگیری ماشین است و در این راستا، این کتاب منبعی ارزشمند محسوب میشود. آشنایی با کتابخانههای «نامپای» (NumPy) و «متپلاتلیب» (Matplotlib) به کاربران در درک هر چه بهتر مطالب بیان شده در این کتاب یادگیری ماشین با پایتون کمک میکند.
منظور این است که مگر میشود کسی عاشق پیتزا نباشد؟ به افرادی که به دنبال استفاده از پایتون برای پاسخگویی به پرسشهای مهم پیرامون دادهها هستند، مطالعه «کتاب یادگیری ماشین با پایتون، ویرایش اول» (Python Machine Learning, 1st Edition) پیشنهاد میشود. “شیرر” میگوید، افزودن این دادهها به شبکه باعث دقیقتر شدن آن و کاهش خطا میشود. از جمله این مباحث میتوان به «اعتبارسنجی متقابل» (Cross Validation)، «اسکراب داده» (Data Scrubbing) و «مدلسازی ترکیبی» (Ensemble Modeling) اشاره کرد. از جمله مباحث مورد بررسی در این کتاب میتوان به بررسی نقاط ضعف و قوت رویکردهای مختلف یادگیری ماشین (با ناظر، بی ناظر و یادگیری تقویتی)، راهاندازی و مدیریت پروژههای یادگیری ماشین، ساخت سیستم «تشخیص ناهنجاری» (Anomaly Detection) برای کشف کلاهبرداری کارتهای اعتباری، خوشهبندی کاربران در گروههای متمایز و همگن، اجرای یادگیری «نیمهنظارت شده» (Semi Supervised Learning)، توسعه «سیستم پیشنهادگر» (Recommender Systems) فیلم با استفاده از «ماشین بولتزمن محدود» (Restricted Boltzmann Machines)، تولید تصاویر مصنوعی با استفاده از شبکههای مولد تخاصمی و بسیاری از دیگر موارد مورد بررسی قرار گرفته است.
در این مطلب، معرفی ۱۰ کتاب یادگیری ماشین لرنینگ با پایتون انجام میشود. هوش مصنوعی ضعیف با توانایی آن در انجام یک کار بسیار خاص، مانند برنده شدن در بازی شطرنج یا شناسایی یک فرد خاص در یک سری عکس، تعریف میشود. در این کتاب معماریهای شبکههای عصبی مانند «شبکههای عصبی پیچشی» (Convolutional Neural Networks) و «حافظه طولانی مدت کوتاه | اِلاِستیاِم» (Long Short-Term Memory | LSTM) تشریح شدهاند و چگونگی ساخت شبکههای عصبی با استفاده از کتابخانه های محبوب پایتون مانند کرس آموزش داده شده است. همچنین، در این کتاب، روشهای پیشرفته برای ارزیابی مدل و تنظیم پارامترها و روشهای کار با دادههای متنی تشریح شده است. همچنین، چگونگی اکتشاف پروژههایی مانند «تشخیص اشیا» (Object Detection)، «تشخیص چهره» (Face Detection) و «تحلیل احساسات» (Sentiment Analysis) (که به آن تحلیل عواطف نیز گفته میشود) تشریح شده است. شایان توجه است که در این کتاب، به مبحثی از «پردازش زبان طبیعی» (Natural Language Processing | NLP) نیز پرداخته شده است که به آن «تحلیل احساسات» (Sentiment Analysis) گفته میشود و طی آن به مخاطبان یاد داده میشود که چگونه از یادگیری ماشین برا دستهبندی اسناد خود استفاده کنند. کتاب مذکور شامل موضوعات دستهبندی، «پاکسازی دادهها» (Data Cleaning) و کار با «دادههای ناموجود» (Missing Data)، «تحلیل اکتشافی دادهها» (Exploratory Data Analysis)، گامهای متداول «پیشپردازش» (Preprocessing) دادهها، انتخاب ویژگی، انتخاب مدل و بسیاری از دیگر مباحث میشود.
«کتاب یادگیری ماشین با پایتون: یادگیری ماشین و یادگیری عمیق با پایتون، سایکیتلرن و تنسورفلو، ویرایش سوم» (Python Machine Learning: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow, 3rd Edition)، راهنمایی جامعی برای یادگیری ماشین و یادگیری عمیق با پایتون است. “هیلدگوند مولر”(Hildegund Müller)، استادیار دانشگاه نوتردام میگوید: تفاوت زیادی میان ثبت تصاویر از دستنوشتهها و خواندن آنها با داشتن رونوشت از آنها وجود دارد. آنها همچنین بر روی تصاویر و سایر بخشهایی که ممکن است برای هوش مصنوعی مشکلساز شود، کار میکنند. در نهایت، هوش مصنوعی (AI) کلیترین اصطلاح به کار رفته برای دستهبندی ماشینهایی است که از هوش انسان تقلید میکنند. در مقالهای که در مجلهی “Institute of Electrical and Electronics Engineers” منتشر شده است، “شیرر” توضیح میدهد که چگونه تیم او روشهای سنتی یادگیری ماشینی را با روانفیزیک (psychophysics) ترکیب کردند. کتاب «راهنمای جیبی یادگیری ماشین: کار با دادههای ساختار یافته در پایتون» (Machine Learning Pocket Reference: Working with Structured Data in Python) با داشتن توضیحات همراه با جزئیات و مثالها، به مخاطبان کمک میکند تا مفاهیم یادگیری ماشین ساختار یافته را بیاموزند. امیدواریم بتوانیم از این پست وبلاگ برای روشن ساختن برخی از این ابهامات در خصوص فرق یادگیری ماشین با یادگیری عمیق و شبکه عصبی بهره جوییم.