در ابتدا تصور می شد که هوش مصنوعی (AI) یک رویای دور، یک فناوری برای آینده است، اما دیگر اینطور نیست.
آنچه زمانی یک موضوع تحقیقاتی بود اکنون در دنیای واقعی در حال انفجار است. هوش مصنوعی اکنون در مکانهای مختلفی از جمله محل کار، مدرسه، بانکها، بیمارستانها و حتی تلفن شما یافت میشود.
آنها چشمان وسایل نقلیه خودران، صدای سیری و الکسا، ذهن پشت پیش بینی آب و هوا، دستان پشت جراحی با کمک رباتیک و موارد دیگر هستند.
هوش مصنوعی (AI) در حال تبدیل شدن به یک ویژگی عادی زندگی مدرن است. در چند سال گذشته، هوش مصنوعی به عنوان یک بازیگر اصلی در طیف وسیعی از فناوریهای IT ظاهر شده است.
در نهایت، شبکه عصبی توسط هوش مصنوعی برای یادگیری چیزهای جدید استفاده می شود.
بنابراین امروز در مورد شبکه های عصبی، نحوه عملکرد، انواع، کاربردها و بسیاری موارد دیگر خواهیم آموخت.
شبکه عصبی چیست؟
In فراگیری ماشینشبکه عصبی یک شبکه نرم افزاری از نورون های مصنوعی است. سعی میکند با داشتن لایههای متعدد «نورونها» که شبیه به نورونهای مغز ما هستند، از مغز انسان تقلید کند.
اولین لایه نورون ها عکس، فیلم، صدا، متن و سایر ورودی ها را می پذیرد. این داده در تمام سطوح جریان دارد و خروجی یک لایه به لایه بعدی میرود. این برای سخت ترین کارها، مانند پردازش زبان طبیعی برای یادگیری ماشین، حیاتی است.
با این حال، در موارد دیگر، هدف فشرده سازی سیستم برای کاهش اندازه مدل با حفظ دقت و کارایی ترجیح داده می شود. هرس یک شبکه عصبی یک روش فشرده سازی است که شامل حذف وزن از یک مدل آموخته شده است. یک شبکه عصبی هوش مصنوعی را در نظر بگیرید که برای تشخیص افراد از حیوانات آموزش دیده است.
تصویر توسط اولین لایه نورون ها به بخش های روشن و تاریک تقسیم می شود. این داده ها به لایه زیر منتقل می شود، که تعیین می کند لبه ها کجا هستند.
لایه بعدی سعی می کند فرم هایی را که ترکیب لبه ها ایجاد کرده است تشخیص دهد. با توجه به دادههایی که روی آن آموزش داده شده است، دادهها به روشی مشابه از لایههای متعددی عبور میکنند تا مشخص شود تصویری که ارائه کردهاید از یک انسان است یا یک حیوان.
هنگامی که داده ها به یک شبکه عصبی داده می شود، شروع به پردازش آن می کند. پس از آن، داده ها از طریق سطوح آن پردازش می شوند تا به نتیجه مطلوب برسید. شبکه عصبی ماشینی است که از ورودی ساختار یافته یاد می گیرد و نتایج را نمایش می دهد. سه نوع یادگیری وجود دارد که می تواند در شبکه های عصبی انجام شود:
- یادگیری نظارت شده - ورودی ها و خروجی ها با استفاده از داده های برچسب دار به الگوریتم ها داده می شود. پس از آموزش نحوه تجزیه و تحلیل داده ها، آنها نتیجه مورد نظر را پیش بینی می کنند.
- یادگیری بدون نظارت - یک ANN بدون کمک انسان یاد می گیرد. هیچ داده برچسبگذاری شدهای وجود ندارد و خروجی با الگوهای موجود در دادههای خروجی تعیین میشود.
- یادگیری تقویتی زمانی است که یک شبکه از بازخوردی که دریافت می کند یاد می گیرد.
شبکه های عصبی چگونه کار می کنند؟
نورون های مصنوعی در شبکه های عصبی که سیستم های پیچیده ای هستند استفاده می شوند. نورون های مصنوعی که به آنها پرسپترون نیز می گویند از اجزای زیر تشکیل شده اند:
- ورودی
- وزن
- تعصب
- تابع فعال سازی
- تولید
لایه های نورون که شبکه های عصبی را تشکیل می دهند. یک شبکه عصبی از سه لایه تشکیل شده است:
- لایه ورودی
- لایه پنهان
- لایه خروجی
داده ها در قالب یک مقدار عددی به لایه ورودی ارسال می شود. لایه های مخفی شبکه آنهایی هستند که بیشترین محاسبات را انجام می دهند. لایه خروجی، آخرین اما نه کم اهمیت ترین، نتیجه را پیش بینی می کند. نورون ها در یک شبکه عصبی بر یکدیگر تسلط دارند. برای ساختن هر لایه از نورون ها استفاده می شود. پس از اینکه لایه ورودی آن را دریافت کرد، داده ها به لایه پنهان هدایت می شوند.
وزن ها برای هر ورودی اعمال می شود. در لایههای پنهان یک شبکه عصبی، وزن مقداری است که دادههای ورودی را ترجمه میکند. وزن ها با ضرب داده های ورودی در مقدار وزن در لایه ورودی عمل می کنند.
سپس مقدار اولین لایه پنهان را شروع می کند. داده های ورودی تبدیل شده و از طریق لایه های مخفی به لایه دیگر منتقل می شوند. لایه خروجی وظیفه تولید نتیجه نهایی را بر عهده دارد. ورودی ها و وزن ها ضرب می شوند و نتیجه به صورت مجموع به نورون های لایه پنهان تحویل داده می شود. به هر نورون یک سوگیری داده می شود. برای محاسبه کل، هر نورون ورودی هایی را که دریافت می کند اضافه می کند.
پس از آن، مقدار از طریق تابع فعال سازی عبور می کند. نتیجه عملکرد فعال سازی تعیین می کند که آیا یک نورون فعال می شود یا خیر. هنگامی که یک نورون فعال است، اطلاعات را به لایه های دیگر ارسال می کند. داده ها در شبکه ایجاد می شوند تا زمانی که نورون با استفاده از این روش به لایه خروجی برسد. انتشار رو به جلو اصطلاح دیگری برای این است.
تکنیک تغذیه داده ها به یک گره ورودی و به دست آوردن خروجی از طریق یک گره خروجی به عنوان انتشار به جلو شناخته می شود. هنگامی که داده های ورودی توسط لایه پنهان پذیرفته می شود، انتشار به جلو رخ می دهد. مطابق با تابع فعال سازی پردازش می شود و سپس به خروجی ارسال می شود.
نتیجه توسط نورون در لایه خروجی با بیشترین احتمال پیش بینی می شود. پس انتشار زمانی اتفاق می افتد که خروجی نادرست باشد. وزن ها برای هر ورودی در حین ایجاد یک شبکه عصبی مقداردهی اولیه می شوند. پس انتشار فرآیند تنظیم مجدد وزن هر ورودی برای کاهش اشتباهات و ارائه خروجی دقیق تر است.
انواع شبکه عصبی
1. پرسپترون
مدل پرسپترون Minsky-Papert یکی از ساده ترین و قدیمی ترین مدل های نورون است. این کوچکترین واحد یک شبکه عصبی است که محاسبات خاصی را به منظور کشف ویژگی ها یا هوش تجاری در داده های دریافتی انجام می دهد. ورودی های وزنی را می گیرد و تابع فعال سازی را برای به دست آوردن نتیجه نهایی اعمال می کند. TLU (واحد منطق آستانه) نام دیگر پرسپترون است.
پرسپترون یک طبقه بندی کننده باینری است که یک سیستم یادگیری نظارت شده است که داده ها را به دو گروه تقسیم می کند. درگاه های منطقی مانند AND، OR، و NAND را می توان با پرسپترون پیاده سازی کرد.
2. شبکه عصبی فید فوروارد
ابتدایی ترین نسخه شبکه های عصبی، که در آن داده های ورودی منحصراً در یک جهت جریان دارند، از گره های عصبی مصنوعی عبور کرده و از گره های خروجی خارج می شوند. لایههای ورودی و خروجی در مکانهایی وجود دارند که لایههای پنهان ممکن است وجود داشته باشند یا نباشند. بر این اساس می توان آنها را به عنوان یک شبکه عصبی پیشروی تک لایه یا چند لایه مشخص کرد.
تعداد لایه های استفاده شده با پیچیدگی تابع تعیین می شود. فقط در یک جهت رو به جلو منتشر می شود و به عقب انتشار نمی یابد. در اینجا وزن ها ثابت می ماند. ورودی ها در وزن ضرب می شوند تا یک تابع فعال سازی تغذیه شود. یک تابع فعال سازی طبقه بندی یا یک تابع فعال سازی مرحله ای برای انجام این کار استفاده می شود.
3. پرسپترون چند لایه
مقدمه ای بر پیچیده شبکه های عصبی، که در آن داده های ورودی از طریق بسیاری از لایه های نورون های مصنوعی هدایت می شوند. این یک شبکه عصبی کاملاً مرتبط است، زیرا هر گره به تمام نورونهای لایه زیر متصل است. چندین لایه پنهان، یعنی حداقل سه لایه یا بیشتر، در لایه های ورودی و خروجی وجود دارد.
دارای انتشار دو طرفه است، به این معنی که می تواند هم به جلو و هم به عقب انتشار یابد. ورودی ها در وزن ضرب می شوند و به تابع فعال سازی فرستاده می شوند، جایی که از طریق پس انتشار تغییر می کنند تا تلفات به حداقل برسد.
به بیان ساده، وزنها مقادیری هستند که از طریق شبکههای عصبی توسط ماشین یاد میشوند. بسته به تفاوت بین خروجی های مورد انتظار و ورودی های آموزشی، آنها خود تنظیم می شوند. Softmax به عنوان تابع فعال سازی لایه خروجی بعد از توابع فعال سازی غیرخطی استفاده می شود.
4. شبکه عصبی کانولوشنال
برخلاف آرایه دو بعدی سنتی، یک شبکه عصبی کانولوشن دارای پیکربندی سه بعدی از نورون ها است. لایه اول به لایه کانولوشن معروف است. هر نورون در لایه کانولوشنال فقط اطلاعات بخش محدودی از میدان بینایی را پردازش می کند. مانند یک فیلتر، ویژگی های ورودی در حالت دسته ای گرفته می شوند.
شبکه تصاویر را در بخشهایی درک میکند و میتواند چندین بار این اقدامات را انجام دهد تا کل پردازش تصویر را به پایان برساند.
تصویر در طول پردازش از RGB یا HSI به مقیاس خاکستری تبدیل می شود. تغییرات بیشتر در مقدار پیکسل به تشخیص لبه ها کمک می کند و تصاویر را می توان در چند گروه مرتب کرد. انتشار یک طرفه زمانی اتفاق میافتد که یک CNN حاوی یک یا چند لایه کانولوشن است که پس از آن ادغام میشود، و انتشار دو طرفه زمانی اتفاق میافتد که خروجی لایه کانولوشن برای طبقهبندی تصویر به یک شبکه عصبی کاملاً متصل ارسال شود.
برای استخراج عناصر خاصی از یک تصویر، از فیلترها استفاده می شود. در MLP، ورودی ها وزن شده و به تابع فعال سازی عرضه می شوند. RELU در کانولوشن استفاده می شود، در حالی که MLP از یک تابع فعال سازی غیرخطی و به دنبال آن softmax استفاده می کند. شبکههای عصبی کانولوشن در تشخیص تصویر و ویدئو، تجزیه معنایی، و تشخیص پارافراسی نتایج بسیار خوبی دارند.
5. شبکه تعصب شعاعی
یک بردار ورودی توسط یک لایه از نورون های RBF و یک لایه خروجی با یک گره برای هر دسته در یک شبکه تابع پایه شعاعی دنبال می شود. ورودی با مقایسه آن با نقاط داده از مجموعه آموزشی، جایی که هر نورون یک نمونه اولیه را حفظ می کند، طبقه بندی می شود. این یکی از نمونه های مجموعه آموزشی است.
هر نورون فاصله اقلیدسی بین ورودی و نمونه اولیه خود را زمانی محاسبه می کند که یک بردار ورودی جدید [بردار n بعدی که می خواهید طبقه بندی کنید] باید طبقه بندی شود. اگر دو کلاس کلاس A و کلاس B داشته باشیم، ورودی جدیدی که باید دسته بندی شود بیشتر شبیه نمونه های اولیه کلاس A است تا نمونه های اولیه کلاس B.
در نتیجه، ممکن است به عنوان کلاس A برچسب گذاری یا طبقه بندی شود.
6. شبکه عصبی مکرر
شبکههای عصبی مکرر برای ذخیره خروجی یک لایه و سپس تغذیه مجدد آن به ورودی برای کمک به پیشبینی نتیجه لایه طراحی شدهاند. یک فید فوروارد شبکه های عصبی معمولاً لایه اولیه و به دنبال آن یک لایه شبکه عصبی بازگشتی است که در آن یک تابع حافظه بخشی از اطلاعاتی را که در مرحله زمانی قبلی داشت به خاطر می آورد.
این سناریو از انتشار رو به جلو استفاده می کند. داده هایی را که در آینده مورد نیاز خواهند بود ذخیره می کند. در صورتی که پیشبینی نادرست باشد، از نرخ یادگیری برای انجام تنظیمات جزئی استفاده میشود. در نتیجه، با پیشرفت پس انتشار، دقیق تر می شود.
اپلیکیشنها
شبکه های عصبی برای رسیدگی به مشکلات داده در رشته های مختلف استفاده می شوند. چند نمونه در زیر نشان داده شده است.
- تشخیص چهره - راه حل های تشخیص چهره به عنوان سیستم های نظارت موثر عمل می کنند. سیستم های تشخیص عکس های دیجیتال را به صورت انسان ها مرتبط می کند. آنها در دفاتر برای ورود انتخابی استفاده می شوند. بنابراین، سیستم ها چهره یک انسان را تأیید می کنند و آن را با لیستی از شناسه های ذخیره شده در پایگاه داده آن مقایسه می کنند.
- پیش بینی سهام - سرمایه گذاری ها در معرض خطرات بازار هستند. پیشبینی تحولات آتی در بازار سهام بسیار ناپایدار عملاً دشوار است. قبل از شبکه های عصبی، فازهای صعودی و نزولی دائما در حال تغییر غیرقابل پیش بینی بودند. اما چه چیزی همه چیز را تغییر داد؟ البته، ما در مورد شبکه های عصبی صحبت می کنیم... یک پرسپترون MLP چند لایه (نوعی سیستم هوش مصنوعی پیشخور) برای ایجاد یک پیش بینی موفق سهام در زمان واقعی استفاده می شود.
- رسانههای اجتماعی - صرف نظر از اینکه چقدر بد به نظر می رسد، رسانه های اجتماعی مسیر زندگی روزمره را تغییر داده اند. رفتار کاربران شبکه های اجتماعی با استفاده از شبکه های عصبی مصنوعی مورد بررسی قرار می گیرد. برای تجزیه و تحلیل رقابتی، داده هایی که روزانه از طریق تعاملات مجازی ارائه می شوند، انباشته و بررسی می شوند. اقدامات کاربران رسانه های اجتماعی توسط شبکه های عصبی تکرار می شود. هنگامی که داده ها از طریق شبکه های رسانه های اجتماعی تجزیه و تحلیل می شوند، می توان رفتارهای افراد را به الگوهای هزینه افراد مرتبط کرد. دادههای برنامههای رسانههای اجتماعی با استفاده از ANN پرسپترون چندلایه استخراج میشوند.
- مراقبت های بهداشتی – افراد در دنیای امروز از مزایای فناوری در صنعت مراقبت های بهداشتی استفاده می کنند. در تجارت مراقبت های بهداشتی، شبکه های عصبی کانولوشن برای تشخیص اشعه ایکس، سی تی اسکن و سونوگرافی استفاده می شود. دادههای تصویربرداری پزشکی دریافتشده از آزمایشهای فوقالذکر با استفاده از مدلهای شبکه عصبی ارزیابی و ارزیابی میشوند، زیرا CNN در پردازش تصویر استفاده میشود. در توسعه سیستم های تشخیص صدا، از شبکه عصبی بازگشتی (RNN) نیز استفاده می شود.
- گزارش هواشناسی – پیش از اجرای هوش مصنوعی، پیشبینیهای اداره هواشناسی هرگز دقیق نبود. پیش بینی آب و هوا عمدتا برای پیش بینی شرایط آب و هوایی که در آینده رخ می دهد انجام می شود. پیش بینی های آب و هوا برای پیش بینی احتمال وقوع بلایای طبیعی در دوره مدرن مورد استفاده قرار می گیرد. پیشبینی آب و هوا با استفاده از پرسپترون چندلایه (MLP)، شبکههای عصبی کانولوشنال (CNN) و شبکههای عصبی مکرر (RNN) انجام میشود.
- دفاع - لجستیک، تجزیه و تحلیل حمله مسلحانه و مکان یابی آیتم ها همگی از شبکه های عصبی استفاده می کنند. آنها همچنین در گشت زنی هوایی و دریایی و همچنین برای مدیریت پهپادهای خودران به کار گرفته می شوند. هوش مصنوعی به صنعت دفاعی تقویت بسیار مورد نیاز برای افزایش فناوری خود را می دهد. برای تشخیص وجود مین های زیر آب از شبکه های عصبی کانولوشن (CNN) استفاده می شود.
مزایای
- حتی اگر چند نورون در یک شبکه عصبی به درستی کار نکنند، شبکه های عصبی همچنان خروجی تولید می کنند.
- شبکه های عصبی توانایی یادگیری در زمان واقعی و سازگاری با تنظیمات در حال تغییر خود را دارند.
- شبکههای عصبی میتوانند کارهای مختلفی را بیاموزند. برای ارائه نتیجه صحیح بر اساس داده های ارائه شده.
- شبکه های عصبی قدرت و توانایی انجام چندین کار را به طور همزمان دارند.
معایب
- از شبکه های عصبی برای حل مسائل استفاده می شود. توضیحی در پس «چرا و چگونه» که به دلیل پیچیدگی شبکهها قضاوت میکرد را فاش نمیکند. در نتیجه، اعتماد شبکه ممکن است از بین برود.
- اجزای یک شبکه عصبی به یکدیگر وابسته هستند. به این معنا که شبکههای عصبی کامپیوترهایی با قدرت محاسباتی کافی را میطلبند (یا به شدت به آنها وابسته هستند).
- فرآیند شبکه عصبی هیچ قانون خاصی (یا قانون سرانگشتی) ندارد. در تکنیک آزمون و خطا، یک ساختار شبکه صحیح با تلاش برای شبکه بهینه ایجاد می شود. این روشی است که نیاز به تنظیم دقیق زیادی دارد.
نتیجه
زمینه شبکه های عصبی به سرعت در حال گسترش است. یادگیری و درک مفاهیم در این بخش برای مقابله با آنها بسیار مهم است.
در این مقاله به انواع مختلف شبکه های عصبی پرداخته شده است. اگر در مورد این رشته بیشتر بدانید، می توانید از شبکه های عصبی برای مقابله با مشکلات داده در زمینه های دیگر استفاده کنید.
پاسخ دهید