
دنیای علم داده (Data Science) پر از کلمات و مفاهیمی است که در نگاه اول برای افراد خارج از این حوزه مبهم است. حتی افراد متخصص این حوزه هم ممکن است تعریف یکسانی از برخی مفاهیم نداشته باشند. عبارت هوش مصنوعی یکی از این موارد است. در این مقاله سعی دارم تا مفهوم آن را تبیین کنم.
در یک تعریف کلی، هوش مصنوعی به ماشینهایی دلالت دارد که میتوانند مانند انسان یا حیوانات یاد بگیرند، استدلال کنند، خودشان اقدام کنند و تصمیم بگیرند. امروزه تحقیقات در حوزه هوش مصنوعی تلاشهای متنوعی را شامل میشود ولی میتوان آنها را در پنج دسته تقسیم کرد:
دیدن تصویر و شناسایی المانهای موجود در تصویر: برای نمونه هوش مصنوعی تصویر صورت انسان را میبیند و تشخیص میدهد انسان موجود در تصویر خوشحال است. این حوزه عمدتاً تحت عنوان بینایی ماشین (Computer Vision) یا پردازش تصویر (Image Processing) شناخته میشود.
شنیدن صوت و تشخیص محتوای آن: برای مثال، هوش مصنوعی صدای کاربر به زبان فارسی را میشوند و آن را به انگلیسی ترجمه میکند. حوزه شناسایی صوت (Voice Recognition) در این دسته جای میگیرد.
خواندن متن و شناسایی الگوهای داخل آن: برای نمونه، هوش مصنوعی نظر کاربر را در شبکه اجتماعی درباره یک محصول میخواند و تشخیص میدهد نظر او درباره محصول مثبت، منفی و یا خنثی است. محققان حوزه متنکاوی (Text Mining) و پردازش زبان طبیعی (Natural Language Processing) در این شاخه فعالیت میکنند.
حرکت کردن خودکار و واکنش نشان دادن بر اساس آنچه میبیند و میشنود: این حوزه عمدتاً در طراحی و پیادهسازی رباتهای هوشمند کاربرد دارد.
استدلال کردن و تصمیمگیری بر اساس حجم زیادی از دادههای ورودی: برای مثال، هوش مصنوعی دادههای پزشکی یک بیمار مبتلا به غده سرطانی را دریافت و پیشبینی میکند که غده سرطانی خوشخیم است یا بدخیم. آنچه تحت عنوان یادگیری ماشین (Machine Learning) مطرح است، در این شاخه جای میگیرد.
پرسپترون (Perceptron)، اولین تلاشها برای ساخت هوش مصنوعی
پرسپترون، اولین تلاش محققان برای طراحی چیزی بود که کارکردی شبیه به مغز انسان داشته باشد. در ویدئو زیر، یکی از اولین ماشینهای توسعهیافته مبتنی بر پرسپترون را میبینید که هدف آن فهمیدن جنسیت فردی است که تصویر آن در برابر ماشین قرار داده میشود.
در طراحی این ماشین بهجای آنکه قواعدی در کامپیوتر برنامهریزی شود تا تمایز صورت زنان و مردان را مشخص کند، از مکانیزم یادگیری شبیه آنچه در انسان رخ میدهد، استفاده شد. پرسپترون در معرض عکسهای زیادی قرار میگرفت که زن یا مرد بودن آنها از قبل مشخص بود و بهاینترتیب آموزش میدید. سپس وقتی عکس جدیدی به آن ارائه میشد میتوانست جنسیت آن را حدس بزند.
در مقاله دیگری درباره نحوه کارکرد پرسپترون توضیح دادم.
در اثر چنین تحقیقاتی در دهه ۱۹۵۰ و ۱۹۶۰میلادی، هیجان زیادی به وجود آمده بود که کامپیوتر بتواند در بازی شطرنج انسان را شکست دهد و یا تئوریهای ریاضی را اثبات کند. این امید به وجود آمده بود که دانشمندان بهزودی مغز انسان را در لایه سختافزار و نرمافزار بازتولید خواهند کرد و “هوش مصنوعی” میتواند با عملکرد انسان در هر فعالیتی برابری کند.
علیرغم تلاشهای اولیه در حوزه هوش مصنوعی، مشخص شد امید به ساخت ماشینی با عملکرد مغز انسان زودهنگام است. الگوریتمهای آن زمان برای آنکه بتوانند بسیاری از فعالیتهای ابتدایی را که انسان بهراحتی انجام میدهد، بازتولید کنند بسیار ساده بودند. ضمناً در آن زمان دادههای کافی برای انجام چنین تحقیقاتی در دسترس نبود. در لایه سختافزار هم هنوز کامپیوترها قادر نبودند با سرعتبالا محاسبات پیچیدهای را انجام دهند تا عملکردی شبیه ذهن انسان از خود نشان دهند.
یادگیری عمیق (Deep Learning): تحولی در حوزه هوش مصنوعی
تقریباً در فاصله بین ۱۹۷۰ تا اوایل دهه ۲۰۰۰ میلادی، دوران خزان هوش مصنوعی بود. اما بهتدریج از ۲۰۰۵ میلادی به بعد تحولات مهمی در حوزه هوش مصنوعی صورت گرفت. چه چیزی نسبت به گذشته تفاوت کرد؟
این تحول وقتی صورت گرفت که رویکرد جدیدی نسبت به هوش مصنوعی تحت عنوان یادگیری عمیق برای ساخت ماشینهای هوشمند بکار گرفته شد. یادگیری عمیق، به زبان ساده شبیهسازی شبکهای از نورونها است که بهتدریج یاد میگیرند تا تصاویر را شناسایی کنند، صدا را تشخیص دهند و یا حتی خودشان تصمیم بگیرند. این رویکرد مبتنی بر مدل شبکههای عصبی مصنوعی است.
در سالهای اخیر یادگیری عمیق پیشران اصلی تحقیقات در هوش مصنوعی بوده است. شرکتهای پیشرو حوزه فنآوری اطلاعات شروع به سرمایهگذاری میلیاردها دلار در این حوزه کردند. یکی از اولین محصولاتی که در سال ۲۰۱۲ مبتنی بر فناوری یادگیری عمیق توسعه یافت، سرویسی بود که در شرکت گوگل (Google) برای فهمیدن صدای انسان ارائه شد. چندی پسازآن، گوگل سرویسی ارائه کرد که با آن محتوای تصاویر را تشخیص میداد. این سرویس جزئی از موتور جستجوی تصاویر گوگل (Google Image) شد.
در شکل-۱، من از یک مدل مبتنی بر یادگیری عمیق بنام شبکه عصبی پیچشی (Convolutional Neural Networks) برای شناسایی محتوای تصویر استفاده کردم. همانطور که در تصویر مشخص است هوش مصنوعی تشخیص داده است که با احتمال بالای ۹۹ درصد یک انسان و یک اسب در تصویر وجود دارند.

شبکههای عصبی مصنوعی (Artificial Neural Networks)
گرچه الگوریتمهای یادگیری ماشین بسیار متنوع هستند، همانطور که اشاره کردم یادگیری عمیق نقش مهمی در جلو رفتن نظری و کاربردی حوزه هوش مصنوعی داشته است. یادگیری عمیق مبتنی بر الگوریتم شبکههای عصبی مصنوعی است.
شبکههای عصبی مصنوعی، از مغز انسان الگو گرفته است. مغز انسان یادگیرنده شگفتانگیزی است. ساختار اصلی تشکیلدهنده مغز و سیستم عصبی، سلولهای عصبی یا همان نورونها (Neurons) هستند. شکل-۲ یک نورون را نشان میدهد. سیگنالهای عصبی از طریق دندریتها وارد هسته سلول میشود. ورودی در هسته سلول پردازش شده و سیگنال خروجی از طریق آکسان انتقال مییابد.

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

ورودی این شبکه عصبی تصاویر دستنوشته را میگیرد. هر تصویر مجموعهای از پیکسلها است. فرض کنید این تصاویر سیاهوسفید هستند. در آن صورت هر عکس را میتوان ماتریسی از صفر و یکها تصور کرد که هرکجا جوهر دستنوشته وجود دارد مقدار یک و هرکجای تصویر که خالی است مقدار صفر به خود میگیرد (شکل-۴).

در شکل-۳، شبکه عصبی ۷۸۴ ورودی میگیرد چراکه تصاویر ورودی به این شبکه عصبی ۲۸ پیکسل در ۲۸ پیکسل هستند. این نورونهای لایه ورودی (Input Layer) به پانزده نورون در لایه میانی که به لایه پنهان (Hidden Layer) معروف است، متصل هستند. درنهایت در لایه خروجی (Output Layer) شبکه عصبی احتمال آن را که تصویر ورودی متعلق به کدامیک از اعداد ۰ تا ۹ است، حدس میزند.
آموزش شبکه عصبی در این مثال به این معنی است که هوش مصنوعی پس از دیدن نمونههای زیاد، ویژگیهای هندسی را که منحصر به هر عدد است، شناسایی میکند. وقتی تصویر دستنوشته جدیدی را دریافت کند از روی ویژگیهای تصویر عدد آن را پیشبینی میکند. در شکل-۵ مشخص است که شبکه عصبی با احتمال نزدیک ۴۰ درصد حدس زده که عدد نوشتهشده، پنج است.

هوش، دانش و یادگیری
یکی از دلایلی که توسعه هوش مصنوعی را در دهههای گذشته با دشواری روبرو کرد، آن بود که حجم زیادی از دانش انسان بهصورت صریح (Explicit) و نوشتهشده درنیامده است؛ چیزی که برای نوشتن برنامههای کامپیوتری لازم است. بنابراین توسعه ماشینهایی که مبتنی بر یک سری دستورات صریح بتواند بسیاری از کارهایی که انسان انجام میدهد مانند شناخت تصویر، صوت و یا رانندگی موفقیت چندانی نداشته است.
جالب است اگر به انسان هم نگاه کنید، بسیاری از این موارد را بر اساس دانش صریح یاد نگرفته است. به این فکر کنید کودک انسان چطور تفاوت بین سگ و گربه را تشخیص میدهد. بااینکه این مسئله در نگاه اول ساده به نظر میرسد ولی اگر عمیقتر به آن فکر کنید برای کودکی که هیچچیز از دنیای اطرافش نمیداند تشخیص سگ از گربه (با در نظر گرفتن انواع رنگها، اندازهها، نژادها و …) میتواند کار بسیار چالشبرانگیزی باشد. بااینحال، ما در کودکی تفاوت بین سگ و گربه را بر اساس تعاریف دقیق زیستشناختی (دانش صریح) یاد نگرفتیم. بلکه با دیدن مثالهای مختلف و بازخورد اطرافیان این دو گونه را فهم کردیم. رویکردهای هوش مصنوعی هم سعی میکنند از همین فرآیند یادگیری انسان الگو بگیرند.
چالش دیگر در یادگیری ماشین آن است که چطور به آن بفهمانیم که “تصمیم خوب” چیست. برای ماشین، هدف آن است که کیفیت تصمیمگیری خود را به انسان نزدیک کند. برای مثال، هدف هوش مصنوعی در یک ماشین خودران (Autonomous Vehicle) این است که عملکرد خود را به رانندگی یک راننده حرفهای نزدیک کند.
اما فهمیدن این موضوع که تصمیم خوب برای انسان چیست، کار دشواری است. برای حیوانات، اصول تکامل تعیین میکند تصمیماتی که در راستای افزایش بقاء و تولیدمثل است، خوب حساب میشود. برای انسان ولی مسئله پیچیدهتر است. یک عملی که در یک شرایط ممکن است تصمیم خوبی باشد، در شرایط دیگر ممکن است تصمیم بدی باشد. یک چالش پیشروی محققان هوش مصنوعی این است که به این پرسش بنیادی پاسخ دهند انسان چگونه تشخیص میدهد بسته به شرایط چه تصمیمی خوب است.
گرچه در فعالیتهای ساده نظیر شناسایی تصویر، هدف کاهش خطا در شناسایی اشیاء داخل تصویر است، در همین موارد هم هوش مصنوعی بعضاً دچار مشکل میشود. شکل-۶، تصویر یک سگ را نشان میدهد که به یک هوش مصنوعی داده شده است. هدف این هوش مصنوعی تشخیص رفتارهای مختلف سگها از میان دستههای از قبل مشخصشده است.

انسان با دیدن تصویر این سگ که البته در یک وضعیت غیرعادی قرار گرفته، بلافاصله میفهمد که این سگ در حال استراحت کردن است، درحالیکه هوش مصنوعی هر بخش از بدن سگ را در یک وضعیتی شناسایی کرده است. انسان خیلی راحت بعد از توجه به بخشهای مختلف بدن سگ، به تصویر کلی او میپردازد و میفهمد که حالت کلی سگ چیست. درحالیکه هوش مصنوعی سعی میکند از بین دستههای از قبل مشخصشده حالت سگ را درک کند و نمیتواند به یک درک کلی از صحنهای که پیش رویش قرار گرفته برسد.
این موضوع را میتوان در یک سطح بالاتر هم ارزیابی کرد و آن این است که به نظر میرسد انسان یک دانش عمومی درباره جهان دارد که به او اجازه میدهد درک کلی از شرایط داشته باشد، بهراحتی فعالیتهای متنوعی را یاد بگیرد و حتی مهارتی که در یک حوزه به دست آورده برای انجام کاری در حوزه دیگر استفاده کند. این نشان میدهد انسان از یک هوش عمومی (General Intelligence) برخوردار است. امروز که من این مقاله را مینویسم، ماشینها در این زمینه از انسان بسیار عقبتر هستند. به نظر میرسد مسیر پیشرفت هوش مصنوعی از شناخت دقیقتر نحوه کارکرد مغز انسان میگذارد.
منابع:
Bengio, Y. (2016). “Machines Who Learn”, Scientific American, 314(6), 44-51
Hao, K. (2018). “What Is AI? We Drew You a Flowchart to Work it out”, MIT Technology Review, https://www.technologyreview.com/2018/11/10/139137/is-this-ai-we-drew-you-a-flowchart-to-work-it-out