باز هم به مثال مطالعه‌ی موردی خرده‌فروشی‌ دایکه در رابطه با تحلیل‌های بازاریابی و کمپین خوش آمدید. تا اینجای کار، داشتیم روی مسئله‌ی دسته‌بندی کار می‌کردیم تا مشتریانی با احتمال بالاتر خرید کالا از کاتالوگ‌های کمپین را شناسایی کنیم. در مقاله‌ی آخر مربوط به انتخاب مدل، متوجه شدیم که شبکه‌های عصبی مصنوعی، برای مسئله‌ی دسته‌بندی ما بهتر از رگرسیون لجستیک و الگوریتم‌های درخت تصمیم عمل می‌کنند. در مقاله‌ی حاضر، قصد داریم به درک شهودی و ساده‌ای از شبکه‌های عصبی مصنوعی برسیم که از مغزمان الهام می‌گیرند. در چند قسمت بعدی، راجع به آن دسته از خصوصیات مغز که شبکه‌های عصبی می‌کوشند تقلید کنند یاد می‌گیریم؛ چندتایی از این خصوصیات عبارتند از:

دیدن با زبان‌!

اریک ویهنمیر[1] قله‌ی اورست را در سال ۲۰۰۱ فتح کرد. با این کار، او اولین کوهنورد نابینایی شد که به این فتح شکوهند نائل شده بود. اریک پیگیری این علاقه‌مندی را ازطریق دستگاهی به‌نام برین‌پورت[2]، که به او کمک کرد با زبانش ببیند، در سنگ‌نوردی به حد اعلا رساند! این وسیله دوربینی در یک سمتش دارد که به چند صد الکترود ریز متصل است که اریک روی زبانش قرار می‌دهد تا موانع موجود در مسیرش را حس کند. این تجربه به‌واسطه‌ی یادگیری باورنکردنی سازگارپذیری مغز انسان برای اریک ممکن شد.

دفعات اول، زمانی‌که اریک استفاده از این دستگاه را شروع کرد، گزیدگی روی زبانش حس می‌کرد که با تجارب دیگری همراه بود. رفته‌رفته مغز اریک یاد گرفت تا هر تجربه را به احساسات متمایز دیگر ربط دهد و این امر، توانایی دیدن را برایش امکان‌پذیر کرد. این داستانی استثنائی راجع به قابلیت سازش‌پذیری مغزمان – خصوصیتی که الهام‌بخش الگوریتم یادگیری ماشین، یعنی شبکه‌های عصبی مصنوعی است – است.

حلقه‌های پس‌خورد و پیش‌خورد شبکه‌های عصبی

مغز ازطریق شبکه‌ی پیچیده‌ای از رشته‌های عصبی به‌نام شبکه‌های عصبی زیستی، با سایر بخش‌های بدن در ارتباط است. مغز با مکانیسم قدرتمندی کار می‌کند که شامل حلقه‌های پس‌خورد و پیش‌خورد درون شبکه‌های عصبی پیچیده جای دارند. برای مثال، مکانیسم پیش‌خورد مستلزم ورودی‌هایی از اندام‌های حسی، مثل چشم‌ها و گوش‌ها، است که به خروجی‌ها، یعنی اطلاعات و درک تبدیل می‌شوند. از سوی دیگر، مکانیسم پس‌خورد باعث می‌شود مغز با اندام‌های حسی ارتباط برقرار کند و ورودی‌های آنها را اصلاح نماید.

برای یادگیری بهتر راجع به این موضوع، اجازه دهید چند آزمایش کوچک انجام دهیم. برای آزمایش اول، چشمان خود را ببنیدید و واژگان زیر را در بازه‌های زمانی ۱۰ ثانیه‌ای، با هدف مصورسازی یا تصویرسازی آنها، بیان کنید.

  • اژدها
  • دهکده
  • قاتل اژدها

به احتمال زیاد، با اژدهایی که به دهکده‌ای حمله می‌کند و توسط قاتل اژدها کشته می‌شود، حس بسط‌یافته‌ای را مجسم می‌کنید. چیزی که همین الان درک کردید، قابلیت استثنائی مغز در استخراج اطلاعاتی راجع به این واژگان در کسری از ثانیه و تصویرسازی توالی کامل رویدادها بدون استفاده از چشمان‌تان است. این قابلیت منبع تصور بسط‌یافته‌ی است که مغز انسان پردازش می‌کند. در این مورد، یک شکل از ورودی (واژگان) ازطریق پردازش پیچیده‌ای در مغزمان، شکل دیگری از ورودی (تصویرسازی) را تولید می‌کند.

آزمایش دوم در شناخت حلقه‌ی پس‌خورد و پیش‌خورد مغزمان مفید است. مواجه با جمله‌ی زیر در برخی از سایت‌های رسانه‌ی اجتماعی خیلی محتمل است. بگذریم، جمله‌ی داخل کادر متنی پایین را بخوانید.

TextBox

باورنکردنی‌ست، نه؟!‌ مغزتان چندین چرخه‌ی پس‌خورد و پیش‌خورد را طی می‌کند تا بتواند این حروف به‌هم‌ریخته را در کسری از ثانیه بخواند. در این مورد، مغز خروجی معنی‌دار، یعنی فهمیدن این جمله را جایگزین ورودی ناکامل و به‌هم‌ریخته، یعنی اطلاعاتی که چشمان‌تان می‌گیرد می‌کند. شبکه‌های عصبی مصنوعی می‌کوشند مغز استثنائی ما را با هدف پیش‌بینی ازطریق حلقه‌ی پس‌خورد و پیش‌خورد بین متغیرهای ورودی و خروجی تقلید کنند.

شبکه‌های عصبی مصنوعی – مثال مطالعه‌ی موردی خرده‌فروشی

شبکه های عصبی مصنوعی

شبکه‌های عصبی مصنوعی به‌هیچ وجه از پیچیدگی‌های شبکه‌های عصبی زیستی برخوردار نیستند، اما نباید فراموش کنیم که شبکه‌های عصبی زیستی متحمل میلیون‌ها سال تکامل شده‌اند. از سوی دیگر، شبکه‌های عصبی مصنوعی (از اینجا به بعد، شبکه‌های عصبی) تاریخچه‌ای نزدیک به نیم‌قرن دارند. در دهه‌ی ۱۹۹۰، شبکه‌های عصبی محبوبیت‌شان را به الگوریتم‌های یادگیری ماشین مثل ماشین‌های بردار پشتیبان و غیره باختند. هرچند، تقریباً در دهه‌ی گذشته، به‌دلیل پیدایش یادگیری عمیق، علاقه‌مندی تجدیدشده‌ای به شبکه‌های عصبی شکل گرفت. بیایید سعی کنیم طراحی شبکه‌های عصبی و ویژگی‌های آنها را با استفاده از مطالعه‌ی موردی خرده‌فروشی‌مان بشناسیم.

همان‌طور که در شکل می‌بینید، شبکه‌های عصبی را می‌توان به‌طور گسترده‌ای به سه لایه تقسیم کرد؛ ورودی، پنهان و خروجی. لایه‌ی پنهان نوعی ویژگی فرعی است که شبکه‌های عصبی را از سایر مدل‌های پیش‌بین مجزا می‌کند. اگر لایه‌ی پنهان را از این طرح حذف کنیم، به رگرسیونی ساده (برای برآورد) یا رگرسیون لجستیک (برای دسته‌بندی) تبدیل می‌شود. لایه‌ی ورودی این طرح صرفاً متغیرهای ورودی هستند. برخی از متغیرهای ورودی مطالعه‌ی موردی خرده‌فروشی که در مقالات قبلی بحث کردیم عبارتند از:

لایه‌ی خروجی، برای مسئله‌ی دسته‌بندی در شناسایی مشتریانی که به کمپین‌ها واکنش مثبت نشان می‌دهند، متغیر دوتایی معرف واکنش‌دهندگان تاریخی (۱/۰) است.

ساختار ریاضی شبکه‌های عصبی

این بخش ساختار ریاضی شبکه‌های عصبی را توصیف می‌کند. اگر این مبحث برای‌تان زیادی پیچیده است، پیشنهاد می‌کنم فعلاً از این بخش بگذرید و قسمت بعدی، یعنی کاربرد شبکه‌های عصبی را مطالعه کنید.

اجازه دهید به لایه‌ی پنهان برگردیم؛ هر لایه‌ی پنهان چندین گره پنهان (دایره‌های نارنجی در شکل بالا) دارد. هر گره پنهان مجموع موزونی از ورودی مربوط به متغیرهای ورودی می‌گیرد. عبارت زیر مجموع موزون متغیرهای ورودی‌ای را ارائه می‌دهد که گره‌های پنهان به‌عنوان ورودی می‌گیرند. این متغیرهای پنهان با سیگنال‌های ورودی‌ای که اندام‌های حسی‌مان به مغزمان می‌فرستند قابل قیاسند؛ مثلاً، زمانی‌ که آتشی دوروبرتان باشد، آتش را می‌بینید، زبانه‌کشیدن آتش را می‌شنوید، دود را استشمام می‌کنید و پوست‌تان داغ می‌شود (تجربه‌ی حسی کاملی ازطریق چندین گره ورودی).

Hidden Node

برای شروع، وزن‌های    را به‌صورت تصادفی انتخاب می‌کنیم، سپس، آنها را به‌طور ترجیعی تعدیل می‌کنیم تا با ورودی‌های مطلوب (در لایه‌ی ورودی) همخوان شوند. مثال آتش بالا را ادامه می‌دهیم؛ اگر سیگنال‌های حسی مربوط به آتش خیلی قوی باشند، تمایل جانور به محافظت از خود کنترل را به‌دست می‌گیرد. هرچند، سیگنال‌های حسی مربوط به شعله‌ی اجاق آشپزی را هم باید برای انسان‌هایی که آشپزی می‌کنند لحاظ کنید. بنابراین، وزن‌ها باید برمبنای استفاده از آتش و محافظت از خود تعدیل شوند.

در لایه‌ی پنهان، مجموع موزون خطی بالا [ HiddenNode]، ازطریق تابعی غیرخطی به شکل غیرخطی تبدیل می‌شود. این تبدیل معمولاً‌ با استفاده از تابع فعال‌سازی سیگموئید انجام می‌شود؛ بله، این همان تابع لاجیت رگرسیون لجستیک است. عبارت زیر نشان‌دهنده‌ی این پردازش است.

حواستان باشد که  Hidden است؛ خروجی [] گره‌های پنهان مختلف (j)، متغیرهای ورودی گره خروجی پایانی می‌شود:

output

این خروجی موزون خطی ازطریق تابع سیگموئید مجدداً‌ به شکل غیرخطی تبدیل می‌شود. عبارت زیر، احتمال تبدیل مشتری، (واکنش مشتری)P برمبنای متغیرهای ورودی‌اش است.

Customer Response

الگوریتم‌های شبکه‌ی عصبی (مثل پس‌انتشار) وزون‌ها را مکرراً‌ برای هر دو لینک (یعنی  input hidden output ) تعدیل می‌کنند تا خطای پیش‌بینی را کاهش دهند. یادتان باشد که وزن‌های ساختار ما عبارتند از، وزن‌های w0، Ui  و U0.

مزایا و معایب استفاده از شبکه‌های عصبی

شبکه‌های عصبی مصنوعی

اجازه دهید برخی از مهمترین مزایا و معایب استفاده از شبکه‌های عصبی در توسعه‌ی مدل را به‌طور خلاصه مطرح کنیم.

مزایا

۱. شبکه‌های عصبی روش‌های بسیار تطبیق‌پذیری برای حل چهار دسته از شش دسته‌ی گسترده‌ی وظایف علم داده، یعنی دسته‌بندی، برآورد، پیش‌بینی و خوشه‌بندی (نقشه‌ی خودسازنده) ارائه می‌دهند. این شش دسته‌ی گسترده از وظایف علم داده در مقاله‌ی قبلی (دیاگرام بالا) مطرح شدند.

۲. شبکه‌های عصبی به‌دلیل لایه‌ی پنهان که اطلاعات نویزدار را جذب می‌کند، (مثل مغزمان) به نویز موجود در داده‌های ورودی حساسند.

۳. شبکه‌های عصبی برای پرداختن به روابط فازی/ غیرخطی بین متغیرهای ورودی و متغیر خروجی مناسب‌ترند.

معایب

۱. شبکه‌های عصبی اغلب به‌عنوان جعبه‌های سیاه (مثل مغزمان) تلقی می‌شوند، چرا که رابطه‌ی بین متغیرهای ورودی و خروجی را به‌وضوح برجسته نمی‌کنند. این خصیصه در درخت‌های تصمیم که راهکارهای بسیار شهودی‌ای ارائه می‌دهند خیلی نامحتمل است.

۲. هنگام طراحی ساختار شبکه‌های عصبی، هیچ قانون ثابتی برای انتخاب تعداد لایه‌ها و گره‌های پنهان وجود ندارد. این امر مستلزم آن است که دانشمندان خبره‌ی داده مدل‌های شبکه‌های عصبی را توسعه دهند.

۳. شبکه‌های عصبی اغلب مستعد بیش‌برازش هستند، بنابراین، تحلیل‌گران باید نتایج را به‌دقت بررسی کنند.

مخلص کلام

شبکه‌های عصبی مصنوعی روزهای اولیه‌شان را سپری می‌کنند، اما مطمئناً کلی امیدبخش خواهند بود. طبیعت مغز ما را با بردباری و به‌دقت طراحی و تعدیل کرده است تا شبکه‌های عصبی زیستی استثنائی‌ا‌ی خلق شوند. شک دارم انسان‌ها هم به اندازه‌ی طبیعت باحوصله باشند. این زیبایی‌ای است که همگی باید از طبیعت فراگیریم.

در بخش بعدی مطالعه‌ی موردی دایکه می‌بینیمتان!‌


[1] Eric Weihenmayer

[2] BrainPort