۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

محبوب ترین سبک های شبکه عصبی و نحوه کار آنها

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

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

شبکه های عصبی پایه و اساس یادگیری ماشینی مدرن و هوش مصنوعی هستند. آنها ضروری ترین مؤلفه در درک اینکه هوش مصنوعی چیست و چگونه کار می کند هستند. در این مقاله، شما اصول اولیه شبکه های عصبی را یاد خواهید گرفت و سپس به برخی از رایج ترین انواع، مانند شبکه های پیشخور و تکراری که همه چیز را از مدل های زبان بزرگ مانند ChatGPT و Bard< هدایت می کنند، خواهیم پرداخت. /a> برای تولید تصویر با انتشار پایدار.

پرسپترون

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

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

به طور کلی، ایده “نرون” به معنای گره‌ای است که یک یا چند ورودی را می‌پذیرد، تصمیم می‌گیرد که چه خروجی تولید کند و سپس آن خروجی را به سمت گره بعدی (یا به خروجی نهایی) ارسال می‌کند.

شبکه های عصبی و مغز انسان

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

شکل ۱ یک پرسپترون ساده با دو ورودی و یک خروجی را نشان می‌دهد.

 شبکه های عصبی fig1

شکل ۱. یک مدل پرسپترون تک خروجی.

هر ورودی در یک وزن ضرب می شود. این اجازه می دهد تا تأثیر ورودی ها را تنظیم کنید، که سپس با هم جمع می شوند و به یک سوگیری اضافه می شوند. تعصب امکان تنظیم تاثیر کلی گره را فراهم می کند. (برای یک نمودار ریاضی بیشتر، مدل پرسپترون تک لایه را اینجا ببینید .)

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

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

در سطح گره های داخلی، این طرح اولیه برای شبکه های عصبی نسبتاً جهانی است. تعداد ورودی ها و خروجی ها می تواند متفاوت باشد. اطلاعاتی که به یک نورون وارد می شود اغلب ویژگی های آن نامیده می شود.

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

از دست دادن توابع و یادگیری ماشین

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

 شبکه های عصبی fig2

شکل ۲. یادگیری ماشینی در سطح بالا.

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

توجه داشته باشید که من عمداً از جزئیات توابع از دست دادن و نحوه تنظیم وزن ها و سوگیری ها اجتناب می کنم. به طور کلی، نزول گرادیان الگوریتم رایجی است که برای این منظور استفاده می شود. شیب نزولی به شبکه به عنوان یک تابع حساب نگاه می کند و مقادیر را برای به حداقل رساندن تابع تلفات تنظیم می کند.

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

شبکه های پیشخور

شبکه های پیشخور شاید کهن الگویی ترین شبکه عصبی هستند. آنها نسبت به پرسپترون ها درجه بسیار بالاتری از انعطاف پذیری را ارائه می دهند، اما هنوز هم نسبتاً ساده هستند. بزرگترین تفاوت در یک شبکه فید فوروارد این است که از توابع فعال سازی پیچیده تری استفاده می کند که معمولاً بیش از یک لایه را در خود جای می دهد. تابع فعال سازی در یک فید فوروارد فقط ۰/۱ یا روشن/خاموش نیست: گره ها یک متغیر پویا را خروجی می دهند.

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

 شبکه های عصبی fig3

شکل ۳. یادگیری پیشخور.

در شکل ۳، ما یک شبکه پیشخور اولیه داریم. یک لایه ورودی (گاهی اوقات به عنوان لایه یا لایه ۱ در نظر گرفته می شود) و سپس دو لایه نورون وجود دارد. می تواند تنوع زیادی در نحوه اتصال گره ها و لایه ها وجود داشته باشد. در این حالت، ما لایه‌های “کاملا متصل” یا “متراکم” داریم زیرا خروجی هر گره به هر گره در لایه بعدی ارسال می‌شود. لایه های داخلی در شبکه عصبی لایه های پنهان نیز نامیده می شوند.

JetBrains API منابع Multiplatform Compose را تثبیت می کند

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

شبکه عصبی بازگشتی (RNN)

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

 شبکه های عصبی fig4

شکل ۴. حرکت چرخه ای داده در یک شبکه عصبی بازگشتی.

رفتن از طبیعت

ساختارهای درگیر مانند RNN قیاس نورون را گسترش می دهند. نوع حرکت رو به عقب ما در شبکه های RNN در سیستم های بیولوژیکی اتفاق نمی افتد.

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

انواع RNN از برجسته‌ترین نمونه‌هایی هستند که امروزه مورد استفاده قرار می‌گیرند. تنوع زیادی در نحوه اجرای آنها وجود دارد. رایج ترین شبکه حافظه کوتاه مدت (LSTM) است. LSTM ها از گره های نسبتاً پیچیده با یک سری دروازه و حالت داخلی برای تعیین اینکه چه چیزی ارزشمند است (“دروازه فراموشی”) و چه چیزی ورودی/خروجی (“دروازه های ورودی و خروجی”) استفاده می شود.

RNNها برای داده‌های متوالی مانند سری‌های زمانی مناسب‌تر هستند و به‌کار می‌روند، جایی که توانایی به خاطر سپردن تأثیر گذشته در توالی‌ها کلیدی است.

شبکه عصبی کانولوشن (CNN)

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

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

C++ برنده جایزه زبان برنامه نویسی سال شد

بیشتر CNNها در یک فرآیند دو فازی کار می کنند: پس از فیلتر کردن، یک صافی انجام می شود که به یک شبکه پیشخور تغذیه می شود. مرحله فیلتر اغلب با استفاده از شبکه ای از داده ها، به جای گراف گره ای به سبک شبکه عصبی، ادامه می یابد، و بنابراین حتی اگر از یک الگوریتم نزول گرادیان برای یادگیری بر اساس یک تابع از دست دادن استفاده می کند، فرآیند کلی شبیه به یک شبکه عصبی نیست. /p>

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

شکل ۵ یک نمای کلی از یک جریان معمولی CNN دارد.

 شبکه های عصبی fig5

شکل ۵. یک جریان شبکه عصبی کانولوشنال عمومی.

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

ترانسفورماتورها و توجه

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

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

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

شبکه های متخاصم

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

نتیجه گیری

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

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

خوشبختانه درک ایده های اساسی شبکه های عصبی کار سختی نیست. درک تغییرات شبکه های عصبی و نحوه عملکرد آنها برای توسعه دهندگان نرم افزار دانش مفید و ضروری است. این حوزه ای از نوآوری است که برای دهه های آینده بر صنعت و جهان بزرگتر تأثیر خواهد گذاشت.