آموزش هوش مصنوعی

هوش مصنوعی چیست؟ از تعریف تا نقشه راه ساخت یک دستیار هوشمند

مقدماتی مطالعه در ۱۱ دقیقه
mahdyar
هوش مصنوعی چیست؟ از تعریف تا نقشه راه ساخت یک دستیار هوشمند

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

این مقاله قسمت اول مجموعه‌ی «مبانی هوش مصنوعی» تخته سبز است. در این مجموعه از داده و آمار شروع می‌کنیم و به یادگیری ماشین، شبکه عصبی، بینایی کامپیوتر و پردازش زبان می‌رسیم. هدف قسمت اول ساده است: بفهمیم هوش مصنوعی چه هست و چه نیست، و پیش از انتخاب هر ابزاری، یک نقشه راه روشن داشته باشیم.

هوش مصنوعی چیست و چه مسئله‌ای را حل می‌کند؟

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

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

کارهایی که نمی‌شود صریح برنامه‌نویسی کرد

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

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

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

تعریف هوش و آزمون تورینگ

برای ساختن هوش مصنوعی، اول باید بدانیم «هوش» یعنی چه. این سؤال ساده‌تر از آن چیزی که به نظر می‌رسد نیست. در ادامه می‌بینیم چرا تعریف هوش سخت است و تورینگ چه راه‌حل عملی‌ای برایش پیشنهاد داد.

چرا تعریف هوش سخت است؟

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

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

آزمون تورینگ و ماجرای Eugene Goostman

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

در سال ۲۰۱۴ چت‌باتی به نام Eugene Goostman به قبولی در این آزمون نزدیک شد. ترفندش هوشمندانه بود. خودش را پسری سیزده‌ساله از اوکراین معرفی می‌کرد تا کمبود دانش و تناقض‌هایش طبیعی به نظر برسد. این بات توانست سی درصد داوران را پس از گفت‌وگوی پنج‌دقیقه‌ای قانع کند.

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

رویکردهای اصلی ساخت هوش مصنوعی

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

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

رویکرد بالا به پایین یا استدلال نمادین

در این رویکرد سعی می‌کنیم استدلال خودمان را مدل کنیم. چون می‌توانیم افکارمان را هنگام استدلال دنبال کنیم، آن‌ها را رسمی می‌کنیم و در کامپیوتر می‌نویسیم. به این کار استدلال نمادین می‌گویند.

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

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

رویکرد پایین به بالا یا شبکه عصبی

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

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

رویکردهای چندعاملی و تکاملی

دو رویکرد دیگر هم وجود دارد. رویکرد چندعاملی یا نوظهور بر این ایده تکیه دارد که رفتار هوشمند پیچیده می‌تواند از تعامل تعداد زیادی عامل ساده پدید بیاید. کلونی مورچه‌ها نمونه‌ی طبیعی خوبی از این ایده است.

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

بیشتر بخوانید: ایجنت هوش مصنوعی چطور از یک مدل زبانی و چند ابزار ساخته می‌شود؟ پاسخ را در ایجنت هوش مصنوعی چیست؟ بخوانید.

تاریخچه کوتاه هوش مصنوعی

هوش مصنوعی به‌عنوان یک رشته در اواسط قرن بیستم متولد شد. از آن زمان تاکنون، رویکرد غالب چند بار عوض شده است. مرور این تغییرها کمک می‌کند بفهمیم چرا امروز بیشتر درباره‌ی شبکه‌های عصبی می‌شنویم.

از سیستم‌های خبره تا زمستان هوش مصنوعی

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

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

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

شطرنج و دستیارهای گفت‌وگو؛ دو مثال از تغییر رویکرد

تاریخ برنامه‌های شطرنج این تغییر را خوب نشان می‌دهد:

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

دستیارهای گفت‌وگو هم مسیر مشابهی رفتند. ELIZA با چند قاعده‌ی دستوری ساده جمله‌ی کاربر را به سؤال برمی‌گرداند. دستیارهای صوتی نسل بعد ترکیبی بودند؛ شبکه عصبی گفتار را به متن و قصد تبدیل می‌کرد و قواعد صریح کار را انجام می‌داد. امروز مدل‌های زبانی بزرگ بخش بسیار بیشتری از گفت‌وگو را خودشان مدیریت می‌کنند.

نقشه راه ساخت دستیار هوش مصنوعی در چهار گام

حالا که می‌دانیم هوش مصنوعی چیست، سؤال عملی این است: برای ساخت یک دستیار از کجا شروع کنیم؟ اشتباه رایج شروع کردن از ابزار است. نقشه راه درست از مسئله شروع می‌شود و به ارزیابی می‌رسد. نمودار زیر این چهار گام را نشان می‌دهد.

نقشه راه چهار مرحله‌ای ساخت دستیار هوش مصنوعی از مسئله تا ارزیابی

گام اول: مسئله را دقیق تعریف کنید

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

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

گام دوم: داده را بشناسید

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

یک نکته‌ی مهم دیگر هم وجود دارد. مقدار خالی را با صفر یا پاسخ منفی یکی نگیرید. اگر تاریخ کلاسی ثبت نشده، دستیار باید بگوید «اطلاعی ندارم»، نه اینکه بگوید کلاسی نیست.

گام سوم: ساده‌ترین مدل قابل قبول را بسازید

نخست ساده‌ترین نسخه‌ی قابل اجرا را بسازید. این نسخه خط پایه‌ی شماست. پیچیده‌تر بودن روش به‌خودی‌خود نشانه‌ی کیفیت بیشتر نیست.

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

گام چهارم: از روز اول ارزیابی کنید

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

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

تمرین عملی؛ نقشه‌ی دستیار خودتان را بکشید

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

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

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

سخن پایانی

هوش مصنوعی ابزاری برای حل مسئله‌هایی است که قاعده‌ی صریح ندارند، اما نمونه‌ی کافی دارند. تعریف هوش هنوز محل بحث است و آزمون تورینگ هم بیشتر مهارت تقلید را می‌سنجد. در عمل، دو رویکرد نمادین و شبکه عصبی کنار هم در دستیارهای امروزی کار می‌کنند.

مهم‌ترین درس این قسمت اما ساده است: از مسئله شروع کنید، نه از ابزار. اگر مسئله، داده، خط پایه و معیار ارزیابی روشن باشد، انتخاب مدل آسان‌تر و نتیجه قابل اعتمادتر می‌شود.

این آموزش بر پایه‌ی درس Introduction to AI از مجموعه‌ی آزاد AI for Beginners مایکروسافت (مجوز MIT) به فارسی بازنویسی و تکمیل شده است.

پرسش‌های پرتکرار

هوش مصنوعی چیست به زبان ساده؟

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

آزمون تورینگ چیست؟

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

تفاوت هوش مصنوعی نمادین و شبکه عصبی چیست؟

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

برای ساخت دستیار هوش مصنوعی از کجا شروع کنیم؟

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

دیدگاه‌ها

هنوز دیدگاهی ثبت نشده است. شروع‌کننده باشید — پرسش و اصلاح را با آغوش باز می‌پذیریم.

دیدگاه بگذارید

برای **پررنگ**، *مورب*، `کد` و لینک از Markdown استفاده کنید. لینک‌ها nofollow هستند.

پنج رقم داخل تصویر را وارد کنید. اعداد فارسی و انگلیسی پذیرفته می‌شوند.

تصویر کد امنیتی پنج‌رقمی

در حال دریافت کد امنیتی…

مهلت کد تمام شد. روی «کد جدید» بزنید.