هوش مصنوعی و تعاریف متعدد آن
هنگامی که سخن از هوش مصنوعی به میان میآید، هرکس به ظن خود تعریفی از آن ارائه میکند. این مبحث برای برخی به پیچیدگی ساخت یک مغز شبیهسازی شده و برای برخی دیگر به سادگی یک آدم آهنی است. این تفاوت رویکردها نسبت به یک مفهوم واحد، نه صرفا ناشی از عدم آگاهی عموم از آن، که چه بسا نشات گرفته از اختلاف نظرهای متعددی است که دانشمندان این حوزه با یکدیگر دارند. این اختلاف نظرها از یکسو و وجود لغات و اصطلاحات متعدد در حوزه هوش مصنوعی از سوی دیگر موجب شده تا درک آن بسیار پیچیده به نظر بیاید. در مطلب پیش رو، به برخی از تعاریف و اصطلاحات مورد استفاده در این زمینه پرداخته شده است.
هوش مصنوعی در برگیرنده گستره وسیعی از مفاهیم مرتبط با علوم کامپیوتر است که از آن جمله میتوان به ادراک، منطق و یادگیری اشاره کرد. یادگیری ماشین از روشهای مورد استفاده در هوش مصنوعی است. در یک برنامه یادگیری ماشین، با گذر زمان و ارائه دادههای ورودی بیشتر و بهتر، خروجی بهبود بخشیده میشود. یادگیری عمیق یکی از محبوبترین روشهایی است که در یادگیری ماشین مورد استفاده قرار میگیرد. در این روش از الگوریتمهای مبتنی بر شبکههای عصبی استفاده میشود. شبکه عصبی، روشی برای اتصال ورودیها و خروجیها به یکدیگر با بهرهگیری از یک مدل است که بر مبنای عملکرد مغز انسان طراحی شده و سعی در یافتن بهترین راهکار برای حل یک مساله دارد. آموزش، روشی است که با بهرهگیری از آن، نرمافزار کاربردی یادگیری عمیق با دریافت دادههای ورودی و خروجی (جهت تنظیم برنامه کاربردی) «برنامهریزی» میشود. استنتاج چگونگی اجرای برنامه و انجام تحلیل یا تصمیمسازی است.
هوش مصنوعی
تعاریف متعددی برای بیان مفهوم و چیستی هوش مصنوعی وجود دارد. دلیل این امر از یک سو دشواری ارائه یک تعریف اختصاصی از «هوشمندی»، و از سوی دیگر آن است که عامه مردم، به اغلب فناوریهای کامپیوتری از سادهترین چیزها گرفته تا موارد بسیار پیچیده هوش مصنوعی میگویند.
«پردیب دابی» (Pradeep Dubey) یکی از همکاران و گردانندگان شرکت «اینتل» (Intel) از هوش مصنوعی چنین یاد میکند: «یک چشمانداز ساده که در آن کامپیوترها از انسانها غیر قابل تشخیص میشوند». در تعریف دیگری هوش مصنوعی «ساخت معنا از داده» بیان شده، این مفهوم به خوبی بیانگر این است که امروزه چگونه از هوش مصنوعی در کسبوکارها استفاده میشود.
بهطور کلی، هوش مصنوعی یک اصطلاح فراگیر و پوششی برای گستره وسیعی از الگوریتمها و رویکردهای کامپیوتری است که امکان حس کردن، استدلال، اقدام، تطابق با رفتار انسانی و یا حتی فراتر از توانمندیهای آن را مطرح میکنند.
از جمله تواناییهای انسانگونه میتوان به تشخیص چهره در تصاویر اشاره کرد. امروزه پیشرفت هوش مصنوعی به میزانی بوده که رباتها میتوانند در کف هتلها و کارخانهها گردش کنند و حتی دستگاههایی وجود دارند که قادر به انجام گفتوگوی - تا حدی - طبیعی با انسان هستند.
از جمله عملکردهای ماورای انسانی هوش مصنوعی میتوان به توانایی پیشبینی طوفانهای خطرناک و تشخیص و پیشبینی آسیبهای تجهیزات پیش از وقوع و همچنین شناسایی بدافزارهای کامپیوتری اشاره کرد. انجام چنین فعالیتهایی برای انسانها بسیار دشوار و چه بسا غیر ممکن است.
گروهی از متخصصان هوش مصنوعی شرکت اینتل، با عنوان «گروه محصولات هوش مصنوعی» (Artificial Intelligence Products Group) در تلاش برای تولید کردن سختافزار، نرمافزار، علم داده و پژوهشهایی هستند که بتوانند قابلیتهای انسانی و فرا انسانی را در ماشینها ایجاد کرده و تواناییهای جدیدی را برای زندگی انسانها به ارمغان بیاورند.
امیر خسروشاهی، مدیر ارشد فناوری گروه محصولات هوش مصنوعی اینتل در همین رابطه میگوید: «ما قصد داریم نوع جدیدی از هوش مصنوعی را بسازیم که میتواند دادهها از هر نوعی را درک کند». خسروشاهی طی یک مصاحبه با ZDNet در همین رابطه میگوید: «مردم بر این باورند که ما در حال بازسازی مغز انسان هستیم. اما قصد داریم فراتر از این گام برداریم و نوع جدیدی از هوش مصنوعی را بسازیم که میتواند آمار مربوط به دادههای مورد استفاده در کسبوکارها، بهداشت و درمان و دیگر حوزهها را درک کند. چنین دادههایی در ذات با جهان واقعی متفاوت هستند».
پژوهشهای انجام شده در حوزه هوش مصنوعی به اواخر دهه ۱۹۵۰ میلادی باز میگردد. در آن زمان چرخه پژوهشهای هوش مصنوعی فراز و نشیبهای متعددی را تجربه کرد و سرمایهگذاری در این حوزه با افزایش امید به دستاوردهای آن ارتقا یافت. از جمله دستاوردهای هوش مصنوعی در آن دوران، میتوان به برنامه بازی چکرز (دوز) آرتور ساموئل در دهه ۱۹۵۰ و ربات Shakey دانشگاه استنفورد در دهه ۱۹۶۰ اشاره کرد. پس از این برهه و با وقوع شکست در روشهای هوش مصنوعی مطرح، دورهای آغاز شد که از آن با عنوان «زمستان هوش مصنوعی» (AI winters) یاد میشود و طی آن سرمایهگذاری در این حوزه با کاهش شدید مواجه شد.
در حال حاضر جهان در «بهار هوش مصنوعی» به سر میبرد و چهار دلیل عمده آن وجود کامپیوترهای بیشتر (پردازش ابری ظرفیت بالایی را برای کامپیوترها در همه زمینهها فراهم کرده است)، حجم دادههای بیشتر (که متناسب با افزایش تعداد دوربینها و حسگرها بیشتر میشوند)، الگوریتمهای بهتر (رویکردها از سمت و سوی پژوهشهای دانشگاهی به دستیابی به تواناییهای انسانی در اجرای امور مانند توانایی خواندن و درک مطلب تغییر کردهاند) و البته سرمایهگذاری گسترده در این حوزه است.
یادگیری ماشین
روشهای هوش مصنوعی در یک زیرمجموعه بسیار گسترده قرار میگیرند که به آن «یادگیری ماشین» گفته میشود. چنانکه «دابی» بیان میکند، یادگیری ماشین برنامهای است که کارایی آن در طول زمان و با افزایش میزان دادههای ورودی ارتقا مییابد. به عبارت دیگر، ماشینها به مرور هوشمندتر شده و هرچه بیشتر «مطالعه» کنند، باهوشتر میشوند.
تعریف رسمیتری که در اینتل برای یادگیری ماشین استفاده میشود عبارت است از: «ساخت و مطالعه الگوریتمهایی که میتوانند از دادهها بیاموزند که پیشبینی یا تصمیمسازی کنند».
مجله Wired در بیان اینکه چگونه یادگیری ماشین برنامهنویسی را تغییر میدهد از عبارت «پایان کد» استفاده میکند. «در برنامهنویسی سنتی، یک مهندس کدها را به صورت دستورالعملهای صریح و گام به گام برای کامپیوتر مینویسد تا از آن تبعیت کند. با یادگیری ماشین، برنامهنویسها نباید کامپیوترها را با این دستورالعملها رمزنگاری کنند. بلکه باید آنها را آموزش دهند!»
در یک بیمارستان بزرگ چشم پزشکی در چین، با استفاده از یادگیری ماشین توانایی شناسایی دلایل بالقوه نابینایی برای متخصصان بالینی، از ۷۰ الی ۸۰ درصد به ۹۳ درصد ارتقا یافته است. در این مورد، یک افتالموسکوپ (یک ابزار دیجیتال که متخصصان بالینی از آن برای دیدن درون چشم استفاده میکنند) قدرت گرفته از هوش مصنوعی که توسط گروه بیمارستانهای چشم Aier و راهکارهای یکپارچه MedImaging ساخته شده، میآموزد که چگونه رتینوپاتی ناشی از دیابت را از دژنراسیون وابسته به سن ماکولا (که میتواند منجر به نابینایی شود) با نگاه کردن به هزاران تصویر برچسبدار چشمهای سالم و ناسالم تشخیص دهد.
تحلیلی که اخیرا بر مبنای دادههای مربوط به ۵۰۰۰ بیمار Aier انجام شده حاکی از آن است که صحت تشخیص که در غربالگریهای صورت پذیرفته توسط انسانها حدود ۷۰ الی ۸۰ درصد بوده، بهوسیله هوش مصنوعی به ۹۳ درصد ارتقا یافته است. با افزایش زمان و حجم دادهها، میزان صحت نیز بیشتر خواهد شد.
شبکههای عصبی و یادگیری عمیق
دو مبحث شبکههای عصبی و یادگیری عمیق بسیار بهم پیوسته و مرتبط هستند و همین امر موجب شده تا گاهی از آنها به جای یکدیگر نامبرده شود.
اما این دو در حقیقت با یکدیگر متمایز هستند. به بیان ساده، یادگیری عمیق یک روش خاص یادگیری ماشین است که بر اساس استفاده از شبکههای عصبی بنا نهاده شده.
گروهی از متخصصان دادهکاوی و هوش مصنوعی اینتل در مطلبی که در وبلاگ این شرکت منتشر شد در این رابطه میگویند: «در یادگیری ماشین نظارت شده سنتی، سیستم نیازمند یک کاربر متخصص است تا ماشین از دانش دامنهای او برای تشخیص اطلاعات (که به آن ویژگی گفته میشود) در دادههای ورودی استفاده کند. این عملکرد میتواند منجر به ایجاد یک سیستم به-آموزش دیده شود. در مثال پیشگیری از نابینایی، ویژگیهای مورد استفاده، رنگ، شکل و الگوی چشم افراد است که یک چشم سالم را از چشم بیمار متمایز میسازد.
یادگیری عمیق با روشهای سنتی موجود متمایز است. در واقع، به جای مشخص کردن دادههایی که کاربر متخصص فکر میکند دارای بیشترین صحت برای انجام دستهبندی هستند، به ماشین اجازه داده میشود که خود این اطلاعات را پیدا کند. چنین برنامهای معمولا قادر است به گونهای به مساله نگاه کرده و به آن پاسخ دهد که یک کارشناس دامنه (انسان) نمیتواند حتی آن را تصور کند.
به عبارت دیگر، غربالگر سلامت چشم Aier، شرایط را چنانکه یک انسان متخصص بالینی در نظر دارد، نمیبیند. با این وجود صحتی که ماشین به آن دست یافته همچنان از صحت خروجیهای انسانی بیشتر است. همین امر موجب شده تا یادگیری عمیق یک روش قدرتمند باشد که با دریافت میزان مناسبی از دادههای ورودی بتواند خروجی (پاسخ) با صحت قابل توجه ارائه کند. بنابراین میتوان از این روش برای حل مسائل با سطح بیسابقهای از مهارت و دقت استفاده کرد.
شبکه عصبی، یا به بیان فنیتر شبکه عصبی مصنوعی، بر مبنای چگونگی عملکرد مغز انسان طرحریزی و با بهرهگیری از ریاضیات پیادهسازی شده است. گوگل برای آموزش یادگیری شبکه عصبی به علاقمندان این مبحث، ابزاری ارائه میکند که میتوان با استفاده از آن در مرورگر وب با یک شبکه عصبی بازی کرد و حالات گوناگون آن را مورد بررسی قرار داد. در همین راستا، یک تعریف سادهسازی شده نیز از مفهوم شبکه عصبی توسط گوگل ارائه شده است. بر اساس این تعریف، یک شبکه عصبی، مجموعهای از نورونهای نرمافزاری است که ساخته و به هم متصل شدهاند، این اتصالات امکان تبادل پیام با یکدیگر را برای نورونها فراهم میکند.
در این حال از شبکه خواسته میشود که یک مساله را حل کند. شبکه بارها و بارها برای پاسخدهی به مساله طرح شده تلاش میکند. با هر بار تلاش و افزایش قدرت اتصالات، موفقیت شبکه افزایش یافته و شرایطهایی که به شکست میانجامند حذف میشود. در شکل زیر، یک ارائه پایهای از شبکههای عصبی انجام شده که در آن دایرهها نشانگر نورونها و جهتنماها نماد اتصالات هستند.
موضوع مهمی که باید به آن اشاره کرد این است که شبکه عصبی به برنامه امکان شکستن مساله به بخشهای کوچک و کوچکتر و بنابراین ساده و سادهتر شدن آن را میدهد. واژه «عمیق» در عبارت یادگیری عمیق به استفاده از شبکههای عصبی دارای لایههای زیاد اشاره دارد. با لایههای بیشتر، مساله در زمینهای که باید دستهبندی شود پالوده شده و در عملکرد خود صحت بیشتری کسب میکند. برای دریافت صحت بالاتر کافیست که دادهها و قدرت پردازش کامپیوتری بیشتری به برنامه داده شود.
پاردیپ دابی در همین رابطه میگوید: «یادگیری عمیق جادو نیست، ریاضیات است!». مفاهیم بیان شده در رابطه با هوش مصنوعی، یادگیری ماشین و یادگیری عمیق ظاهرا پیچیده بهنظر میرسند اما هنگامی که بحث از کد زدن برای پیادهسازی و اجرای آنها میشود، میتوان فهمید که چقدر آسان (به سادگی ضرب ماتریسها!) هستند.
آموزش و استنتاج
اکنون دو اصطلاح آموزش و استنتاج باقی مانده که باید تشریح شوند. آموزش بخشی از یادگیری ماشین است که در آن دادهکاو الگوریتم خود را ساخته و با استفاه از دادهها به آن میآموزد که چگونه عمل کند. این یکی از سختترین بخشهای کار است.
تیم هوش مصنوعی اینتل در مطلب خود که در رابطه با هوش مصنوعی منتشر شده در رابطه با آموزش چنین میگوید: «آموزش، فرآیندی است که طی آن، سیستم الگوهای موجود در دادهها را کشف میکند. در طول آموزش، کاربر متخصص دادهها را از طریق شبکه عصبی عبور میدهد، فرآیند تصحیح-خطا برای هر نمونه داده اتفاق میافتد و این کار تا زمانی که بهترین پارامترهای شبکه به دست آیند تکرار میشود. پس از آنکه سیستم آموزش دید، معماری حاصل شده برای استنتاج قابل استفاده است». در مثال بیان شده در رابطه با سیستم غربالگری چشم Aier، مرحله آموزش شامل دادن تصاویر دارای برچسب چشم سالم و بیمار به الگوریتم میشود.
و اما مفهوم استنتاج، که در تعریف معنای لغوی آن در فرهنگ لغت آمده «عمل یا فرآیند اشتقاق نتایج منطقی بر اساس مفروضات شناخته شده یا مواردی که صحیح فرض میشوند». در آنالوژی نرمافزار، آموزش همان نوشتن برنامه و استنتاج در واقع استفاده از آن است.
در همین راستا، در مطلبی که در وبلاگ اینتل منتشر شده استنتاج، فرآیند استفاده از مدل آموزش دیده برای ساخت پیشبینی درباره دادههای جدید بیان شده است. این همان چیزی است که مشتری میبیند. بر همین اساس است که سیستم غربالگری چشم Aier سلامت چشمها را بررسی میکند و موتور جستوجوی Bing پاسخ سوالات شما را میدهد.
اگر نوشته بالا برای شما مفید بوده، آموزشهای زیر نیز به شما پیشنهاد میشود:
- آموزش هوش مصنوعی
- آموزش هوش مصنوعی – تکمیلی
- هوش مصنوعی چیست؟ — قسمت اول: مقدمه، تاریخچه و مبانی
- هوش مصنوعی چیست؟ ــ قسمت دوم: مسائل
- هوش مصنوعی ــ قسمت سوم: رویکردها
- درس هوش مصنوعی | مفاهیم پایه به زبان ساده — منابع، کتاب و فیلم آموزشی
^^
سلام
از خانم الهام مچکرم که این پست خوب و روان رو گذاشتن
اما خواهشی که داشتم حتما در پست هاتون مرجع مطالب رو ذکر کنید
البته دیدم که گذاشتید
گفتم که تاکید کنم که مرجع گفته ها واقعا برای محققین بسیار حائز اهمیت است
تشکر فراوان
سلام ممنون از اموزش خوبتون اگر امکانش هستش در این زمینه مطالبی رو ترجمه کنید مثلا نقشه ی راه در یادگیری ماشین https://howicodestuff.github.io/machine_learning/2018/01/12/a-roadmap-to-machine-learning.html ممنونم از شما
درود، در همین راستا، مطالعه این مطلب به شما توصیه میشود: چگونه یک دانشمند داده شوید؟ — راهنمای گامبهگام به همراه معرفی منابع
درود، بسیار سپاسگزارم.
ممنون از پیشنهادتون، در برنامه آتی خواهد بود. سپاس