دسترسی به حجمهای بالایی از دادهها در کنار ابزارهای آماری برای کند و کاو در آن ها راهی جدید برای درک دنیا پیش روی ما باز کرده است. همبستگی میان دادهها کم کم جای مفاهیمی مثل عِلّیت را میگیرد. اینجاست که علم میتواند بدون هیچ گونه اتکایی بر مدلها، تئوریهای مشخص و حتی مدلهای مکانیستیک پیشرفت کند!
جملات بالا را کریس اندرسون در سال 2008 سردبیر مجله وایرد (Wired) بیان کرد که سروصدای عدهای را درآورد. در آن زمان در یک مقاله در ژورنالی مربوط به زیست شناسی مولکولی این سوال را مطرح کرد که: اگر دیگر به دنبال مدلها و فرضیهها نرویم آیا میتوانیم همچنان آن را کارِ علمی بنامیم؟ در آن زمان پاسخ این سوال یک نه بزرگ بود. هوش مصنوعی کم کم دارد محدودیتهای دانشی بشری را به شکل دردآوری آشکار میکند.
اما حالا که کمتر از یک دهه است که مقاله اندرسون انتشار یافته، شرایط به کلی فرق کرده است. پیشرفت در علم کامپیوتر، بر بستر سخت افزارهای پرظرفیت و شبکهشده، کامپیوترها را قادر ساخته نه تنها نیازی به تعریفِ مدلهای قطعی نداشته باشند، بلکه بتوانند مدلهای خاص خود را بسازند. مدلهایی که اساسا با مدلهای دست ساخته انسانها متفاوت است. منظور از مدل در این جا مجموعه قوانینی است که مشخص میکند عناصر یک سیستم چگونه بر هم تاثیر میگذارند.
ماشین لرنینگ و درک متفاوت ماشینها نسبت به ما
درحالحاضر ما انسانها در حوزههای متنوعی به ماشینهایی تکیه میکنیم که بر اساس مدلهایی کار میکنند که خودشان ساختهاند! مدلهایی که از درک انسان فراتر هستند و به دنیا به شکلی متفاوت مینگرند. این اتفاق هزینههایی هم در پی دارد. این نگرش جدید، فرضیات و باورهای قدیمی ما را هم زیر سوال میبرد. ما انسانها همواره فکر میکردیم باید برای گشودن قفلها و رازهای هستی حتما باید چیستی پدیدههای عالم را درک کنیم و به دنبال ساختن مدلهایی ساده برای درک آنها باشیم؛ اما با این ماشینها به نظر میرسد اشتباه میکردیم. شاید برای حل مسائل نیازی به فهم دنیای اطراف نداشته باشیم!!
مثالی عینی از الگوریتمهای یادگیری ماشینی
الگوریتمهایی عمومی وجود دارد که میتواند به شما چیزهای جالبی درباره مجموعهای از داده بگوید بدون این که لازم باشد برای آن مساله خاص کدی بنویسید. به جای نوشتنِ کد فقط کافی است دادههای خود را به خورد آن الگوریتم بدهید تا بر اساس آن دادهها منطق خاص خود را بسازد.
برای مثال، به یک سیستم یادگیری ماشینی، هزاران اسکن درهم و برهم از دست نوشتههایی از عدد 8 انگلیسی میدهید. این سیستم یاد میگیرد چگونه عدد 8 را در دست نوشتهای جدید و حتی با رسم الخطی متفاوت شناسایی کند. این سیستم، شناسایی 8 ها را بر اساس قانونی مثل عدد هشت یعنی دو دایره که به صورت عمودی به هم وصل شدهاند انجام نمیدهد. سیستم به دنبال الگوهای پیچیدهای از پیکسلهای تیره و روشن میگردد که در قالب ماتریسهایی از اعداد بیان میشوند. کاری که انسانها در انجام آن به مشکل میخورند! حالا فکر میکند تشخیص اعداد کجا کاربرد دارد؟ دوربین هایی که شما را در بزرگراهها به خاطر سرعت نقره داغ میکنند میتوانند مجهز به چنین سیستمهایی باشد. البته کار آنها سادهتر است چون رسم الخط تمامی اعداد در پلاک خودروها از یک الگو تبعیت میکند.
شبکههای عصبی ابزاری برای یادگیری ماشینی
یادگیری ماشینی میتواند کاربردهای بسیار پیچیدهای داشته باشد. مثلا با استفاده از مفهومی به نام شبکههای عصبی، گِرِهها یا نودها در یک شبکه عصبی میتوانند بر اساس دادههایی که از گرههای مجاور دریافت میکنند وضعیت خاموش یا روشن به خود بگیرند. یالهای(خطوط) بین گرهها هم وزنهای متفاوتی دارند که باعث میشود احتمال ایجاد تغییر وضعیت در گرههایی که به آنها متصل است برای برخی بیشتر باشد.
هر چند مفهوم شبکههای عصبی به دهه 50 میلادی بر میگردد اما کاربردهای جالب آنها به لطف پیشرفت ریاضیات، توان پردازش و ظرفیت ذخیرهسازی به تدریج دارد خود را نشان میدهد. این موارد ماحصل حوزهای پیچیده از علم کامپیوتر به نام یادگیری عمیق (Deep learning) است. این علم خروجیهای خود را بر اساس متغیرهای متنوع در شرایط بسیار متنوع که خود تحت تاثیر لایههای متنوعی از شبکههای عصبی هستند، ایجاد می کند و انسانها نمیتوانند مدلی را که یک کامپیوتر به این شکل میسازد به سادگی درک کنند.
بگذارید مثالی برای شما بزنم: فرض کنید یک سیستم میخواهد بر اساس دادههایی در مورد وضعیت جسمی افراد، وضعیت سلامت آنها را مشخص کند. این نوع مساله یعنی طبقهبندی یا Classification یکی از کاربردهای مهم شبکه های عصبی است. این دادهها که در قسمت چپ نمودار زیر به عنوان ورودی تلقی میشوند میتواند دمای بدن، سن، سابقه بیماری های مختلف، و … باشد. هر ورودی با کمانها یا یالهایی دارای وزن به لایه میانی (لایه مخفی) متصل میشود. خروجی به ازای هر دسته ورودی یک امتیاز است که جایگاه فرد را در دسته های مختلف مانند بیماری 1، بیماری 2، … یا سالم مشخص میکند.
در چنین شبکهای، مفهومِ یادگیری میتواند به این شکل باشد: ممکن است وزنهای بین گِرِهها دقیق نباشد. به همین دلیل دستهبندی با دقت مناسب انجام نشود. روش یادگیری، آموزش دادنِ شبکه عصبی با ورودیها و خروجیهای دُرُست است. به این شکل که دادههایی در مورد افرادی که نوع بیماری آنها کاملا مشخص است، به سیستم داده میشود و مسیر در نمودار فوق به صورت معکوس محاسبه میشود تا وزنها تعدیل شود. البته من سعی کردم به شکلی سادهتر نحوه آموزش دادن یک شبکه عصبی را بیان کنم.
یادگیری ماشینی با منطقی غیر قابل درک برای ما
شبکههای عصبی میتواند در حوزههای مختلفی کاربرد داشته باشد. مثلا شبکههای عصبی به ما در تحلیل برهمکنشهای ژنها در بیماریهای ژنتیکی کمک می کند. یا با استفاده از شبکه های عصبی میتوان الگوی فروپاشی ذرات را در شتاب دهنده هایدرونی بزرگ (LHC) تشخیص داد. حتی از آن برای شناسایی دقیق ترین مدل از بین 20 مدل تغییرات اقلیمی در هر نقطه زمانی، استفاده میشود.
در یک سازمان هم کاربردهای وسیعی میتوان برای این الگوریتمها متصور بود. از تشخیص رفتارهای متقلبانه در سیستمهای مالی و رتبه بندی اعتباری افراد و نهادها گرفته تا شناسایی ریشه عیوب محصولات، شناسایی دلایل خاربی تجهیزات و …. همگی میتواند با استفاده از یادگیری ماشینی به شکلی اثربخشتر حل شود.چنین سیستمهایی نتایج خوبی به ما می دهند. به طور مثال شناسایی ذرههای زیراتمی به اسم بوزون هیگز (Higgs Boson) که چند سال پیش در صدر اخبار بود یکی از دستاوردهای این گونه سیستمها هست. اما نکته مهم این است که ما نمیتوانیم منطق ساخته شده توسط آنها را درک کنیم.
یافتن الگوها و نتایج حاصل از تحلیلهای ماشینی، امری سخت یا ناممکن؟
در دوران حاضر به وضوح می بینیم که کامپیوترها از نظر قدرت تشخیص، یافتن الگوها و نتیجه گیری، ما را پشت سر گذاشته اند. این امر همان دلیلی است که ما از کامپیوترها استفاده می کنیم. به جای این که متغیرهای یک پدیده را آن قدر تقلیل دهیم تا در قالب یک مدل ساده قرار بگیرد، میتوانیم به کامپیوترها اجازه دهیم مدلهایی هر اندازه بزرگ و مطابق با نیازشان بسازند. این امر بدین معنی است که دانسته های ما وابسته به خروجی ماشینهایی خواهد بود که نحوه استنتاج و منطق آنها را نمیتوانیم توضیح دهیم یا درک کنیم.
از همان زمانی که ما انسانها شروع به کندهکاری روی سنگ و دیوار غارها کردیم، از آن چه در اطرافمان بوده برای درک بهتر دنیا کمک گرفته ایم. ولی هرگز به چیزی تکیه نکرده بودیم که بازتاب الگوهای فکری انسانی نباشد. به عبارتی اگر طبق گفته افلاطون که بیش از دوهزار سال است که رواج دارد، دانش را توانایی توضیح و توجیه یک باور دُرُست بدانیم؛ در حال حاضر داریم به سمت تولید دانشهایی میرویم که در آن، قسمتِ توجیه و توضیحِ این تعریف نه تنها سخت بلکه غیرممکن است.