ماشین ها اکنون دانشی دارند که ما اصلا درک نمی کنیم!

هوش مصنوعی کم کم دارد محدودیت های دانشی بشری را به شکل دردآوری آشکار می کند.

دسترسی به حجم های بالایی از داده ها در کنار ابزارهای آماری برای کند و کاو در آن ها راهی جدید برای درک دنیا پیش روی ما باز کرده است. همبستگی میان داده ها کم کم جای مفاهیمی مثل عِلّیت را می گیرد و علم می تواند بدون هیچ گونه اتکایی بر مدل ها، تئوری های مشخص و حتی مدل های مکانیستیک پیشرفت کند!

جملات بالا را کریس اندرسون در سال ۲۰۰۸ سردبیر مجله وایرد (Wired) بیان کرد که سروصدای عده ای را درآورد. در آن زمان در یک مقاله در ژورنالی مربوط به زیست شناسی مولکولی این سوال را مطرح کرد که اگر دیگر به دنبال مدل ها و فرضیه ها نرویم آیا می توانیم همچنان آن را کارِ علمی بنامیم؟

در آن زمان پاسخ این سوال یک نه بزرگ بود.

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

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

مدل هایی که یادگیری ماشینی می سازد با مدل هایی که ما می سازیم متفاوت است

 

مدل هایی فراتر از فهم

الگوریتم هایی عمومی وجود دارد که می تواند به شما چیزهای جالبی درباره مجموعه ای از داده بگوید بدون این که لازم باشد برای آن مساله خاص کدی بنویسید؛ به جای نوشتنِ کد فقط کافی است داده های خود را به خورد آن الگوریتم بدهید تا بر اساس آن داده ها منطق خاص خود را بسازد.

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

یک ماشین از عدد 8 چگونه الگو می سازد؟

شبکه های عصبی ابزاری برای یادگیری ماشینی

یادگیری ماشینی می تواند کاربردهای بسیار پیچیده ای داشته باشد؛ مثلا با استفاده از مفهومی به نام شبکه های عصبی. گِرِه ها یا نودها در یک شبکه عصبی می توانند بر اساس داده هایی که از گره های مجاور دریافت می کنند وضعیت خاموش یا روشن به خود بگیرند؛ یال های بین گره ها هم وزن های متفاوتی دارند که باعث می شود احتمال ایجاد تغییر وضعیت در گره هایی که به آن ها متصل است برای برخی بیشتر باشد. هر چند مفهوم شبکه های عصبی به دهه ۵۰ میلادی بر می گردد اما کاربردهای جالب آن ها به لطف پیشرفت ریاضیات، توان پردازش و ظرفیت ذخیره سازی به تدریج دارد خود را نشان می دهد. این موارد ماحصل حوزه ای پیچیده از علم کامپیوتر به نام یادگیری عمیق (Deep learning) است که خروجی های خود را بر اساس متغیرهای متنوع در شرایط بسیار متنوع که خود تحت تاثیر لایه های متنوعی از شبکه های عصبی هستند، ایجاد می کند و انسان ها نمی توانند مدلی را که یک کامپیوتر به این شکل می سازد به سادگی درک کنند.

بگذارید مثالی برای شما بزنم: فرض کنید یک سیستم می خواهد بر اساس داده هایی در مورد وضعیت جسمی افراد، وضعیت سلامت آن ها را مشخص کند. این نوع مساله یعنی طبقه بندی یا Classification یکی از کاربردهای مهم شبکه های عصبی است. این داده ها که در قسمت چپ نمودار زیر به عنوان ورودی تلقی می شوند می تواند دمای بدن، سن، سابقه بیماری های مختلف، و … باشد. هر ورودی با کمان ها یا یال هایی دارای وزن به لایه میانی (لایه مخفی) متصل می شود. خروجی به ازای هر دسته ورودی یک امتیاز است که جایگاه فرد را در دسته های مختلف مانند بیماری ۱، بیماری ۲، … یا سالم مشخص می کند.

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

در چنین شبکه ای، مفهومِ یادگیری می تواند به این شکل باشد: ممکن است وزن های بین گِرِه ها دقیق نباشد؛ به همین دلیل دسته بندی با دقت مناسب انجام نشود. روش یادگیری، آموزش دادنِ شبکه عصبی با ورودی ها و خروجی های دُرُست است. به این شکل که داده هایی در مورد افرادی که نوع بیماری آن ها کاملا مشخص است، به سیستم داده می شود و مسیر در نمودار فوق به صورت معکوس محاسبه می شود تا وزن ها تعدیل شود. البته من سعی کردم به شکلی ساده تر نحوه آموزش دادن یک شبکه عصبی را بیان کنم.

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

چنین سیستم هایی نتایج خوبی به ما می دهند؛ به طور مثال شناسایی ذره های زیراتمی به اسم بوزون هیگز (Higgs Boson) که چند سال پیش در صدر اخبار بود یکی از دستاوردهای این گونه سیستم ها بود، اما نکته مهم این است که ما نمی توانیم منطق ساخته شده توسط آن ها را درک کنیم.

افلاطون، سلام!

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

از همان زمانی که ما انسان ها شروع به کنده کاری روی سنگ و دیوار غارها کردیم، از آن چه در اطرافمان بوده برای درک بهتر دنیا کمک گرفته ایم، ولی هرگز به چیزی تکیه نکرده بودیم که بازتاب الگوهای فکری انسانی نباشد. به عبارتی اگر طبق گفته افلاطون که بیش از دوهزار سال است که رواج دارد، دانش را توانایی توضیح و توجیه یک باور دُرُست بدانیم، در حال حاضر داریم به سمت تولید دانش هایی می رویم که در آن، قسمتِ توجیه و توضیحِ این تعریف نه تنها سخت بلکه غیرممکن است.

تعریف افلاطون از دانش

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

اشتراک گذاری در linkedin
اشتراک گذاری در telegram
اشتراک گذاری در whatsapp
اشتراک گذاری در email