به طور خلاصه هوش مصنوعی (به انگلیسی: smart mind یا fake mind یا Artificial intelligence) (به اختصار: AI)، هوشی است که توسط ماشینها ظهور پیدا میکند، در مقابل هوش طبیعی که توسط جانوران شامل انسانها نمایش مییابد. کتابهای AI پیشرو، این شاخه را به عنوان شاخه مطالعه بر روی «عوامل هوشمند» تعریف میکنند: هر سامانهای که محیط خود را درک کرده و کنشهایی را انجام میدهد که شانسش را در دستیابی به اهدافش بیشینه میسازد. برخی از منابع شناخته شده از اصطلاح «هوش مصنوعی» جهت توصیف ماشینی استفاده میکنند که عملکردهای «شناختی» را از روی ذهن انسانها تقلید میکنند، همچون «یادگیری» و «حل مسئله»، با این حال این تعریف توسط محققان اصلی در زمینه AI رد شدهاست.
شبکههای عصبی مصنوعی (Artificial Neural Networks - ANN) یا به زبان سادهتر شبکههای عصبی سیستمها و روشهای محاسباتی نوین برای یادگیری ماشینی، نمایش دانش و در انتها اعمال دانش به دست آمده در جهت بیشبینی پاسخهای خروجی از سامانههای پیچیده هستند. ایدهٔ اصلی این گونه شبکهها تا حدودی الهامگرفته از شیوهٔ کارکرد سیستم عصبی زیستی برای پردازش دادهها و اطلاعات به منظور یادگیری و ایجاد دانش میباشد. عنصر کلیدی این ایده، ایجاد ساختارهایی جدید برای سامانهٔ پردازش اطلاعات است. [نیازمند منبع]
این سیستم از شمار زیادی عناصر پردازشی فوقالعاده بهمپیوسته با نام نورون تشکیل شده که برای حل یک مسئله با هم هماهنگ عمل میکنند و توسط سیناپسها (ارتباطات الکترومغناطیسی) اطلاعات را منتقل میکنند. در این شبکهها اگر یک سلول آسیب ببیند بقیه سلولها میتوانند نبود آن را جبران کرده، و نیز در بازسازی آن سهیم باشند. این شبکهها قادر به یادگیریاند؛ مثلاً با اعمال سوزش به سلولهای عصبی لامسه، سلولها یادمیگیرند که به طرف جسم داغ نروند و با این الگوریتم سیستم میآموزد که خطای خود را اصلاح کند. یادگیری در این سیستمها به صورت تطبیقی صورت میگیرد، یعنی با استفاده از مثالها وزن سیناپسها به گونهای تغییر میکند که در صورت دادن ورودیهای جدید، سیستم پاسخ درستی تولید کند.
زمینه
فلسفهٔ اصلی شبکهٔ عصبی مصنوعی، مدل کردن ویژگیهای پردازشی مغز انسان برای تقریب زدن روشهای معمول محاسباتی با روش پردازش زیستی است. به بیان دیگر، شبکهٔ عصبی مصنوعی روشی است که دانش ارتباط بین چند مجموعهٔ داده را از طریق آموزش فراگرفته و برای استفاده در موارد مشابه ذخیره میکند. این پردازنده از دو جهت مشابه مغز انسان عمل میکند:
یادگیری شبکهٔ عصبی از طریق آموزش صورت میگیرد.
وزندهی مشابه با سیستم ذخیرهسازی اطلاعات، در شبکهٔ عصبی مغز انسان انجام میگیرد.
تعریف
یک شبکهٔ عصبی مصنوعی، از سه لایهٔ ورودی، خروجی و پردازش تشکیل میشود. هر لایه شامل گروهی از سلولهای عصبی (نورون) است که عموماً با کلیهٔ نورونهای لایههای دیگر در ارتباط هستند، مگر این که کاربر ارتباط بین نورونها را محدود کند؛ ولی نورونهای هر لایه با سایر نورونهای همان لایه، ارتباطی ندارند.
نورون کوچکترین واحد پردازشگر اطلاعات است که اساس عملکرد شبکههای عصبی را تشکیل میدهد. یک شبکهٔ عصبی مجموعهای از نورونهاست که با قرار گرفتن در لایههای مختلف، معماری خاصی را بر مبنای ارتباطات بین نورونها در لایههای مختلف تشکیل میدهند. نورون میتواند یک تابع ریاضی غیرخطی باشد، در نتیجه یک شبکهٔ عصبی که از اجتماع این نورونها تشکیل میشود، نیز میتواند یک سامانهٔ کاملاً پیچیده و غیرخطی باشد. در شبکهٔ عصبی هر نورون بهطور مستقل عمل میکند و رفتار کلی شبکه، برآیند رفتار نورونهای متعدد است. به عبارت دیگر، نورونها در یک روند همکاری، یکدیگر را تصحیح میکنند.
کاربرد
با استفاده از دانش برنامهنویسی رایانه میتوان ساختار دادهای طراحی کرد که همانند یک نورون عمل نماید. سپس با ایجاد شبکهای از این نورونهای مصنوعی به هم پیوسته، ایجاد یک الگوریتم آموزشی برای شبکه و اعمال این الگوریتم به شبکه آن را آموزش داد.
این شبکهها برای تخمین و تقریب، کارایی بسیار بالایی از خود نشان دادهاند. گستره کاربرد این مدلهای ریاضی بر گرفته از عملکرد مغز انسان، بسیار وسیع میباشد که به عنوان چند نمونه کوچک میتوان استفاده از این ابزار ریاضی در پردازش سیگنالهای بیولوژیکی، مخابراتی و الکترونیکی تا کمک در نجوم و فضانوردی را نام برد.
اگر یک شبکه را همارز با یک گراف بدانیم، فرایند آموزش شبکه تعیین نمودن وزن هر یال و base اولیهٔ خواهد بود.
یادگیری
یادگیری ماشینی با نظارت (supervised learning) به دنبال تابعی از میان یک سری توابع هست که تابع هزینه (loss function) دادهها را بهینه سازد. به عنوان مثال در مسئله رگرسیون تابع هزینه میتواند اختلاف بین پیشبینی و مقدار واقعی خروجی به توان دو باشد، یا در مسئله طبقهبندی ضرر منفی لگاریتم احتمال خروجی باشد. مشکلی که در یادگیری شبکههای عصبی وجود دارد این است که این مسئله بهینهسازی دیگر محدب (convex) نیست.[۱] ازین رو با مشکل کمینههای محلی روبرو هستیم. یکی از روشهای متداول حل مسئله بهینهسازی در شبکههای عصبی بازگشت به عقب یا همان back propagation است.[۱] روش بازگشت به عقب گرادیانِ تابع هزینه را برای تمام وزنهای شبکه عصبی محاسبه میکند و بعد از روشهای گرادیان کاهشی (gradient descent) برای پیدا کردن مجموعه وزنهای بهینه استفاده میکند.[۲] روشهای گرادیان کاهشی سعی میکنند به صورت متناوب در خلاف جهت گرادیان حرکت کنند و با این کار تابع هزینه را به حداقل برسانند.[۲] پیدا کردن گرادیانِ لایه آخر ساده است و با استفاده از مشتق جزئی بدست میآید. گرادیانِ لایههای میانی اما به صورت مستقیم بدست نمیآید و باید از روشهایی مانند قاعده زنجیری در مشتقگیری استفاده کرد.[۲] روش بازگشت به عقب از قاعده زنجیری برای محاسبه گرادیانها استفاده میکند و همانطور که در پایین خواهیم دید، این روش به صورت متناوب گرادیانها را از بالاترین لایه شروع کرده آنها را در لایههای پایینتر «پخش» میکند.
بازگشت به عقب (Backpropagation)، روشی برا محاسبه گرادیانها
تاریخچه شبکههای عصبی مصنوعی
از قرن نوزدهم بهطور همزمان اما جداگانه، از سویی نوروفیزیولوژیستها سعی کردند سیستم یادگیری و تجزیه و تحلیل مغز را کشف کنند، و از سوی دیگر ریاضیدانان تلاش کردند مدل ریاضیای بسازند که قابلیت فراگیری و تجزیه و تحلیل عمومی مسائل را دارا باشد. اولین کوششها در شبیهسازی با استفاده از یک مدل منطقی در اوایل دههٔ ۱۹۴۰ توسط وارن مککالک و والتر پیتز انجام شد که امروزه بلوک اصلی سازنده اکثر شبکههای عصبی مصنوعی است. عملکرد این مدل مبتنی بر جمع ورودیها و ایجاد خروجی با استفاده از شبکهای از نورونها است. اگر حاصل جمع ورودیها از مقدار آستانه بیشتر باشد، اصطلاحاً نورون برانگیخته میشود. نتیجه این مدل اجرای ترکیبی از توابع منطقی بود.[۶]
در سال ۱۹۴۹ دونالد هب قانون یادگیری را برای شبکههای عصبی طراحی کرد.[۷] در سال ۱۹۵۸ شبکه پرسپترون توسط روزنبلات معرفی گردید. این شبکه نظیر واحدهای مدل شده قبلی بود. پرسپترون دارای سه لایه است که شامل لایهٔ ورودی، لایهٔ خروجی و لایهٔ میانی میشود. این سیستم میتواند یاد بگیرد که با روشی تکرارشونده وزنها را به گونهای تنظیم کند که شبکه توان بازتولید جفتهای ورودی و خروجی را داشتهباشد.[۸] روش دیگر، مدل خطی تطبیقی نورون است که در سال ۱۹۶۰ توسط برنارد ویدرو و مارسیانهاف در دانشگاه استنفورد) به وجود آمد که اولین شبکههای عصبی به کار گرفته شده در مسائل واقعی بودند. آدالاین یک دستگاه الکترونیکی بود که از اجزای سادهای تشکیل شده بود، روشی که برای آموزش استفاده میشد با پرسپترون فرق داشت.
در سال ۱۹۶۹ میسکی و پاپرت کتابی نوشتند که محدودیتهای سیستمهای تک لایه و چند لایه پرسپترون را تشریح کردند. نتیجه این کتاب پیش داوری و قطع سرمایهگذاری برای تحقیقات در زمینه شبیهسازی شبکههای عصبی بود. آنها با طرح اینکه طرح پرسپترون قادر به حل هیچ مسئله جالبی نمیباشد، تحقیقات در این زمینه را برای مدت چندین سال متوقف کردند.
با وجود اینکه اشتیاق عمومی و سرمایهگذاریهای موجود به حداقل خود رسیده بود، برخی محققان تحقیقات خود را برای ساخت ماشینهایی که توانایی حل مسائلی از قبیل تشخیص الگو را داشته باشند، ادامه دادند. از جمله گراسبگ که شبکهای تحت عنوان Avalanch را برای تشخیص صحبت پیوسته و کنترل دست ربات مطرح کرد. همچنین او با همکاری کارپنتر شبکههای نظریه تشدید انطباقی را بنا نهادند که با مدلهای طبیعی تفاوت داشت. اندرسون و کوهونن نیز از اشخاصی بودند که تکنیکهایی برای یادگیری ایجاد کردند. ورباس در سال ۱۹۷۴ شیوه آموزش پس انتشار خطا را ایجاد کرد که یک شبکه پرسپترون چندلایه البته با قوانین نیرومندتر آموزشی بود.
پیشرفتهایی که در سال ۱۹۷۰ تا ۱۹۸۰ بهدست آمد، برای جلب توجه به شبکههای عصبی بسیار مهم بود. برخی فاکتورها نیز در تشدید این مسئله دخالت داشتند، از جمله کتابها و کنفرانسهای وسیعی که برای مردم در رشتههای متنوع ارائه شد. امروز نیز تحولات زیادی در تکنولوژی ANN ایجاد شدهاست.
با تعریف شدن و به کارگیری مفاهیمی مانند یادگیری ماشین، یادگیری عمیق و شبکههای عصبی، هوش مصنوعی توانست بیش از پیش هوشمندتر شود و بتواند وظایف مختلفی که نیاز به هوش انسانی داشتند را به خوبی اجرا کند. قبلا در مورد یادگیری عمیق و یادگیری ماشین صحبت کردهایم. در این مقاله میخواهیم به تفاوت شبکه عصبی و هوش مصنوعی بپردازیم و ببینیم که هرکدام چه هستند. پس اگر به این مسئله علاقه دارید در ادامه با ما همراه باشید.
هوش مصنوعی: باعث هوشمند شدن هر چیز مصنوعی، مانند یک گجت هوشمند یا یک دستیار هوشمند و…، میشود. و سه مبحث، یادگیری ماشین، یادگیری عمیق و شبکههای عصبی مصنوعی را در بر میگیرد. هوش مصنوعی، هر تکنولوژی هوشمند و نوینی که در اطراف خود مشاهده میکنید، از هوش مصنوعی برخوردار است.
هوش مصنوعی دارای سه سطح محدود، عمومی و سوپر هوش مصنوعی است. هوش مصنوعی محدود سطحی است که ما در آن قرار گرفتهایم و در حال حاضر هر آنچه که به نوعی از هوش مصنوعی استفاده میکند و وظایف خاصی را انجام میدهد، دارای هوش مصنوعی محدود است. این نوع هوش مصنوعی باعث میشود یک سیستم هوشمند بتواند در انجام یک وظیفه بخصوص، همانند تشخیص چهره یا تعداد افراد در یک فضا و…، از انسان بهتر عمل کند.
سطح بعدی هوش مصنوعی عمومی است که کمک میکند تا هوش مصنوعی به سطحی همانند هوش انسانی برسد و بتواند دقیقا همانند انسان محیط پیرامون و سازوکار آن را درک کند و به آن واکنش نشان دهد. سوپر هوش مصنوعی نیز سطحی است که هوش مصنوعی میتواند هوش انسانی و تواناییهای انسان را کنار بزند و به هوش و تواناییهای فرابشری دست یابد. دست یافتن یا نیافتن به این دو سطح درهالهای از ابهام قرار دارد و نمیدانیم که واقعا به آنها میرسیم یا نه.
منظور از شبکه عصبی مصنوعی چیست؟
شبکههای عصبی مصنوعی در واقع روشی است که هوش مصنوعی را بیشتر و بهتر به انسان شبیه میکند و تواناییهای آنالیز دادههای پیچیده را به هوش مصنوعی میدهد. در حقیقت در این روش نوعی روش یادگیری هوش مصنوعی است که از روی مغز انسان و روش کار سیناپسهای (Synapses) آن درست شده است. در شبکه عصبی به جای یادگیری و محاسبات سنتی، از نودها و یالها استفاده میشود تا بتوان دادههای پیچیده را به سرعت و دقت فوقالعادهای تجزیه و تحلیل کند.
تفاوت شبکه عصبی و هوش مصنوعی چیست؟
همان طور که در بالا هم به آن اشاره شد، هوش مصنوعی آن چیزی است که باعث هوشمند شدن ابزار مختلف میشود و این هوشمند شدن از طریق یادگیری و آموزش اتفاق میافتد. یکی از این روشهای یادگیری هم استفاده از شبکههای عصبی عمیق میباشد. با استفاده از شبکههای عصبی میتوان به هوش مصنوعی کمک کرد تا کارها و یا مفاهیم پیچیده را بهتر درک کند و بتواند شبیه انسان تجزیه و تحلیل کند. پس تفاوت شبکه عصبی و هوش مصنوعی در آن چه که گفته شد است و میتوان گفت که شبکه عصبی در واقع زیر مجموعه هوش مصنوعی است.
Machine Learning in Finance : Part 9 Reinforcement learning
کتابخانه کراس ( Keras ) در پایتون - دانشجویار
آموزش کتابخانه یادگیری عمیق «کرس» (Keras) در پایتون — راهنمای جامع | مجله فرادرس
آموزش یاد گیری عمیق با keras و tensorflow - ویرگول
کرس (نرمافزار) - ویکیپدیا، دانشنامهٔ آزاد
آموزش یاد گیری عمیق با keras و tensorflow - ویرگول
۱- اکس ام ال XML چیست؟ - YouTube
۱- دسترسی به دیتابیس به صورت شی گرا در PHP پی اچ پی - YouTube
پکیج جامع رزبری پای با محوریت پایتون به زبان فارسی - فروشگاه تخصصی الکترونیک ECA
آموزش مقدماتی پیاده سازی شبکههای عصبی مصنوعی در پایتون | فرادرس
ساخت شبکه عصبی (Neural Network) در پایتون — به زبان ساده | مجله فرادرس
پیاده سازی شبکه عصبی در پایتون — به زبان ساده | مرجع متلب و هوش مصنوعی.
هوش مصنوعی یکی از رشتههای پر متقاضی در بین گرایشهای موجود در سطح تحصیلات تکمیلی میباشد. در این مقاله قصد داریم بهترین دانشگاه هوش مصنوعی ایران را معرفی کنیم. با ما همراه باشید.
هوش مصنوعی چیست؟
هوش مصنوعی یا artificial intelligence شاخهای از علوم رایانه است که در آن سعی میکنند تا ماشینهای هوشمندی تولید کنند که توانایی انجام وظایفی که نیازمند به هوش انسانی است را داشته باشند. هوش مصنوعی در حقیقت نوعی شبیه سازی هوش انسانی برای کامپیوتر است و در واقع ماشینهایی هستند که به گونهای برنامه نویسی شدهاند که همانند انسان فکر کنند و توانایی تقلید از رفتار انسان را داشته باشند.
این تعریف میتواند به تمامی ماشینهایی که بگونهای همانند ذهن انسان عمل میکنند و میتوانند کارهایی مانند حل مسئله و یادگیری داشته باشند، اطلاق شود. اساس هوش مصنوعی آن است که هوش انسان و طریق کار آن بگونهای تعریف شود که یک ماشین بتواند آن را به راحتی اجرا کند و وظایفی که بر آن محول میشود را به درستی اجرا کند. هدف هوش مصنوعی در حقیقت بر سه پایه استوار است: یادگیری،استدلال و درک.
هوش مصنوعی چیست؟
رشته هوش مصنوعی
هوش مصنوعی گرایشی در مقاطع تحصیلات تکمیلی است که دورهای شامل دروس نظری و عملی و تحقیقاتی در زمینه هوشمند سازی کامپیوترها و سیستمهای مبتنی بر کامپیوتر است. تحقق این هدف با الهام از ویژگیهای موجودات زنده و بالاخص انسان پیگیری میشود. لذا ایجاد قابلیتهای تحلیل اطلاعات، استدلال، یادگیری و رفتار هوشمندانه، حس بینایی، درک و تولید زبان و گفتار در کامپیوترها از اهداف این رشته میباشد. در دوره ارشد هوش مصنوعی دانشجویان با مطالبی چون شبکههای عصبی، هوش مصنوعی پیشرفته، تئوری فازی و… آشنا میشوند.
مهارتهایی که یک فارغالتحصیل هوش مصنوعی خواهد داشت عبارتند از:
- پیاده سازی اتوماسیون پیشرفته در صنعت، مانند طراحی سیستمهای رباتیک هوشمند و کنترل کیفیت اتوماتیک
- طراحی سیســـتمهای پیشرفته نظامی شامل انواع سلاحهــای هوشمند
- طراحی سیسـتمهای امنیتی مانند مسائل تأیید هویت و تشخیص اتوماتیک
- طراحی سیستمهای خبره
- کار در زمینه زبان شناســـی محاسباتی مانند ایجاد مترجمهـای کامپیــوتری
- طراحی نرم افزارهای هوشمند کامپیوتری
- تحلیل کامپیوتری تصاویر برای کاربردهای مختلف
- هدایت پروژههای تحقیقاتی در زمینه هوش مصنوعی
دروس رشته هوش مصنوعی
دروس متنوعی که در زمان تحصیل رشته هوش مصنوعی به دانشجوی هوش مصنوعی آموزش داده میشود عبارتند از:
- شبکههای عصبی: روشهای جدید برای حل مسائل در هوش مصنوعی
- یادگیری ماشین: بررسی و یادگیری روش و الگو به صورت خودکار
- پردازش تکاملی: در این شاخه برای یک مسئله چند جواب مختلف در نظر گرفته میشود
- رباتیک: در این شاخه علوم متفاوتی مانند مکانیک،الکترونیک،ساخت و … باهم ترکیب میشوند
- محاسبات نوین: انجام محاسبات ریاضی به صورت نمادین
- پردازش تصویر: بهسازی تصاویر
- منطق فازی
- سیستمهای خبره: طراحی و ساخت رباطهای کاربردی
- بینایی ماشین: درک خودکار تصاویر توسط کامپیوتر
- پردازش گفتار: درک صدای انسان
- برنامه ریزی: رسیدن به یک هدف خاص از طریق برنامه ریزی
کتاب هوش مصنوعی
بهترین دانشگاههای ایران برای تحصیل هوش مصنوعی
دانشگاههای متعددی در ایران رشته هوش مصنوعی را ارائه میدهند اما اگر بخواهیم بهترین دانشگاههای این رشته را از لحاظ اساتید، کیفیت و رتبه دانشگاه، سطح علمی دانشگاه و … بررسی کنیم، ده دانشگاه برتر در این رشته عبارتند از:
- دانشگاه شریف
- دانشگاه امیرکبیر
- دانشگاه تهران
- دانشگاه علم و صنعت
- دانشگاه شهید بهشتی
- دانشگاه خواجه نصیر
- دانشگاه صنعتی اصفهان
- دانشگاه شیراز
- دانشگاه فردوسی مشهد
- دانشگاه اصفهان