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

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

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

مقالاتی که شاید بعد از این مطلب دوست داشته باشید بخوانید:

🔗 سوگیری هوش مصنوعی چیست؟
درک سوگیری در سیستم‌های هوش مصنوعی و استراتژی‌هایی برای تضمین انصاف.

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

🔗 مربی هوش مصنوعی چیست؟
بررسی نقش و مسئولیت‌های متخصصانی که هوش مصنوعی را آموزش می‌دهند.

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


شبکه عصبی در هوش مصنوعی چیست؟ پاسخ 10 ثانیه‌ای ⏱️

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


چه چیزی یک شبکه عصبی را مفید می‌کند؟ ✅

  • قدرت نمایش : با معماری و اندازه مناسب، شبکه‌ها می‌توانند توابع بسیار پیچیده را تقریب بزنند (به قضیه تقریب جهانی مراجعه کنید) [4].

  • یادگیری سرتاسری : به جای مهندسی دستی ویژگی‌ها، مدل آنها را کشف می‌کند [1].

  • تعمیم : یک شبکه منظم فقط داده‌ها را به خاطر نمی‌سپارد - بلکه روی داده‌های جدید و دیده نشده نیز عمل می‌کند [1].

  • مقیاس‌پذیری : مجموعه داده‌های بزرگتر به همراه مدل‌های بزرگتر اغلب نتایج را بهبود می‌بخشند... تا محدودیت‌های عملی مانند محاسبه و کیفیت داده [1].

  • قابلیت انتقال : ویژگی‌های آموخته‌شده در یک کار می‌تواند به کار دیگری کمک کند (انتقال یادگیری و تنظیم دقیق) [1].

یادداشت میدانی کوچک (سناریوی نمونه): یک تیم کوچک طبقه‌بندی محصول، ویژگی‌های دست‌ساز را با یک CNN فشرده جایگزین می‌کند، تقویت‌های ساده (flips/crop) را اضافه می‌کند و کاهش خطای اعتبارسنجی را مشاهده می‌کند - نه به این دلیل که شبکه "جادویی" است، بلکه به این دلیل که ویژگی‌های مفیدتری را مستقیماً از پیکسل‌ها یاد گرفته است.


«شبکه عصبی در هوش مصنوعی چیست؟» به زبان ساده، با یک استعاره مبهم 🍞

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


آناتومی یک شبکه عصبی 🧩

  • نورون‌ها : ماشین‌حساب‌های کوچکی که یک مجموع وزنی و یک تابع فعال‌سازی را اعمال می‌کنند.

  • وزن‌ها و بایاس‌ها : دکمه‌های قابل تنظیمی که نحوه ترکیب سیگنال‌ها را تعریف می‌کنند.

  • لایه‌ها : لایه ورودی داده‌ها را دریافت می‌کند، لایه‌های پنهان آن را تبدیل می‌کنند، لایه خروجی پیش‌بینی را انجام می‌دهد.

  • توابع فعال‌سازی : توابع غیرخطی مانند ReLU، sigmoid، tanh و softmax یادگیری را انعطاف‌پذیر می‌کنند.

  • تابع زیان : امتیازی از میزان خطای پیش‌بینی (آنتروپی متقاطع برای طبقه‌بندی، MSE برای رگرسیون).

  • بهینه‌ساز : الگوریتم‌هایی مانند SGD یا Adam از گرادیان‌ها برای به‌روزرسانی وزن‌ها استفاده می‌کنند.

  • منظم‌سازی (Regularization) : تکنیک‌هایی مانند dropout یا weight decay برای جلوگیری از بیش‌برازش مدل.

اگر به دنبال رویکرد رسمی (اما همچنان قابل فهم) هستید، کتاب درسی آزاد « یادگیری عمیق» (Deep Learning) تمام مباحث را پوشش می‌دهد: مبانی ریاضی، بهینه‌سازی و تعمیم [1].


توابع فعال‌سازی، مختصر اما مفید ⚡

  • ReLU : صفر برای منفی‌ها، خطی برای مثبت‌ها. ساده، سریع، مؤثر.

  • سیگموئید : مقادیر بین ۰ و ۱ را فشرده می‌کند - مفید است اما می‌تواند اشباع شود.

  • تانح : مانند سیگموئید اما متقارن حول صفر.

  • Softmax : نمرات خام را به احتمالات در کلاس‌ها تبدیل می‌کند.

لازم نیست تک تک شکل‌های منحنی را حفظ کنید - فقط کافی است که بده‌بستان‌ها و پیش‌فرض‌های رایج را بدانید [1، 2].


یادگیری واقعاً چگونه اتفاق می‌افتد: انتشار معکوس، اما ترسناک نیست 🔁

  1. حرکت رو به جلو : داده‌ها لایه به لایه جریان می‌یابند تا پیش‌بینی تولید کنند.

  2. محاسبه‌ی زیان : پیش‌بینی را با حقیقت مقایسه کنید.

  3. پس‌انتشار : محاسبه گرادیان‌های زیان نسبت به هر وزن با استفاده از قاعده زنجیره‌ای.

  4. به‌روزرسانی : بهینه‌ساز وزن‌ها را کمی تغییر می‌دهد.

  5. تکرار : دوره‌های زمانی متعدد. مدل به تدریج یاد می‌گیرد.

برای درک عملی با تصاویر و توضیحات مربوط به کد، به یادداشت‌های کلاسیک CS231n در مورد پس‌پراکنش و بهینه‌سازی [2] مراجعه کنید.


خانواده‌های اصلی شبکه‌های عصبی، در یک نگاه 🏡

  • شبکه‌های پیش‌خور (MLPs) : ساده‌ترین نوع. داده‌ها فقط به جلو حرکت می‌کنند.

  • شبکه‌های عصبی پیچشی (CNN) : به لطف فیلترهای مکانی که لبه‌ها، بافت‌ها و شکل‌ها را تشخیص می‌دهند، برای تصاویر عالی هستند [2].

  • شبکه‌های عصبی بازگشتی (RNN) و انواع آن‌ها : با حفظ نظم [1] برای توالی‌هایی مانند متن یا سری‌های زمانی ساخته شده‌اند.

  • تبدیل‌کننده‌ها : از توجه برای مدل‌سازی روابط در موقعیت‌ها در یک توالی به طور همزمان استفاده کنید؛ مسلط بر زبان و فراتر از آن [3].

  • شبکه‌های عصبی گراف (GNN) : روی گره‌ها و لبه‌های یک گراف عمل می‌کنند - برای مولکول‌ها، شبکه‌های اجتماعی، توصیه‌ها مفید هستند [1].

  • رمزگذارهای خودکار و VAEها : یادگیری نمایش‌های فشرده و تولید تغییرات [1].

  • مدل‌های مولد : از شبکه‌های مولد (GAN) گرفته تا مدل‌های انتشار، که برای تصاویر، صدا و حتی کد استفاده می‌شوند [1].

یادداشت‌های CS231n به ویژه برای CNNها مناسب هستند، در حالی که مقاله Transformer منبع اصلی و مرجع برای مدل‌های مبتنی بر توجه است [2، 3].


جدول مقایسه: انواع رایج شبکه‌های عصبی، مناسب برای چه کسانی، هزینه ارتعاشات و دلیل کارایی آنها 📊

ابزار / نوع مخاطب قیمت مناسب چرا کار می‌کند؟
پیشخور (MLP) مبتدیان، تحلیلگران کم-متوسط خطوط پایه ساده، انعطاف‌پذیر و مناسب
سی‌ان‌ان تیم‌های ویژن متوسط الگوهای محلی + اشتراک‌گذاری پارامتر
RNN / LSTM / GRU دنباله‌ها متوسط حافظه زمانی... نظم را ثبت می‌کند
ترانسفورماتور NLP، چندوجهی متوسط-بالا توجه بر روابط مرتبط متمرکز است
جی‌ان‌ان دانشمندان، recys متوسط انتقال پیام در گراف‌ها، ساختار را آشکار می‌کند
رمزگذار خودکار / VAE محققان کم-متوسط نمایش‌های فشرده را یاد می‌گیرد
GAN / انتشار آزمایشگاه‌های خلاق متوسط-بالا جادوی نویززدایی خصمانه یا تکراری

یادداشت‌ها: قیمت‌گذاری به محاسبه و زمان بستگی دارد؛ مسافت پیموده شده شما متفاوت است. یک یا دو سلول عمداً پرحرف هستند.


«شبکه عصبی در هوش مصنوعی چیست؟» در مقایسه با الگوریتم‌های کلاسیک یادگیری ماشین ⚖️

  • مهندسی ویژگی‌ها : یادگیری ماشین کلاسیک اغلب به ویژگی‌های دستی متکی است. شبکه‌های عصبی ویژگی‌ها را به طور خودکار یاد می‌گیرند - یک برد بزرگ برای داده‌های پیچیده [1].

  • گرسنگی داده‌ها : شبکه‌ها اغلب با داده‌های بیشتر می‌درخشند؛ داده‌های کوچک ممکن است مدل‌های ساده‌تر را ترجیح دهند [1].

  • محاسبات : شبکه‌ها عاشق شتاب‌دهنده‌هایی مانند پردازنده‌های گرافیکی هستند [1].

  • سقف عملکرد : برای داده‌های بدون ساختار (تصاویر، صدا، متن)، شبکه‌های عمیق تمایل به تسلط دارند [1، 2].


گردش کار آموزشی که واقعاً در عمل کار می‌کند 🛠️

  1. هدف را تعریف کنید : طبقه‌بندی، رگرسیون، رتبه‌بندی، تولید - ضرری را انتخاب کنید که مطابقت داشته باشد.

  2. پردازش داده‌ها : تقسیم به آموزش/اعتبارسنجی/آزمون. نرمال‌سازی ویژگی‌ها. متعادل‌سازی کلاس‌ها. برای تصاویر، تقویت‌هایی مانند وارونه کردن، برش دادن و نویزهای کوچک را در نظر بگیرید.

  3. انتخاب معماری : ساده شروع کنید. فقط در صورت نیاز ظرفیت را اضافه کنید.

  4. حلقه آموزش : داده‌ها را دسته‌بندی کنید. عبور رو به جلو. محاسبه‌ی زیان. انتشار معکوس. به‌روزرسانی. ثبت معیارها.

  5. منظم کردن : ترک، کاهش وزن، توقف زودهنگام.

  6. ارزیابی : از مجموعه اعتبارسنجی برای ابرپارامترها استفاده کنید. یک مجموعه آزمایشی برای بررسی نهایی نگه دارید.

  7. با دقت ارسال کنید : رانش را زیر نظر داشته باشید، بایاس را بررسی کنید، برای عقبگردها برنامه‌ریزی کنید.

برای آموزش‌های جامع و کدمحور با تئوری قوی، کتاب درسی آزاد و یادداشت‌های CS231n مرجع‌های قابل اعتمادی هستند [1، 2].


بیش‌برازش، تعمیم و دیگر مشکلات بزرگ 👀

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

  • برازش ناکافی : مدل خیلی ساده است یا آموزش آن خیلی دشوار است. ظرفیت را افزایش دهید یا آموزش را طولانی‌تر کنید.

  • نشت داده‌ها : اطلاعات از مجموعه تست به آموزش نفوذ می‌کند. تقسیم‌بندی‌های خود را سه بار بررسی کنید.

  • کالیبراسیون ضعیف : مدلی که مطمئن اما اشتباه است، خطرناک است. کالیبراسیون یا وزن‌دهی متفاوت به تلفات را در نظر بگیرید.

  • تغییر توزیع : داده‌های دنیای واقعی جابجا می‌شوند. نظارت و انطباق.

برای نظریه پشت تعمیم و منظم‌سازی، به مراجع استاندارد [1، 2] تکیه کنید.


ایمنی، تفسیرپذیری و استقرار مسئولانه 🧭

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

چند نکته‌ی کوتاه و مفید:

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

  • قابلیت تفسیر : از تکنیک‌هایی مانند برجستگی یا انتساب ویژگی‌ها استفاده کنید. آن‌ها ناقص هستند، اما مفیدند.

  • نظارت : برای افت ناگهانی معیارها یا رانش داده‌ها، هشدار تنظیم کنید.

  • نظارت انسانی : انسان‌ها را در جریان تصمیمات تأثیرگذار قرار دهید. بدون قهرمان‌سازی، فقط بهداشت را رعایت کنید.


سوالات متداولی که مخفیانه داشتید 🙋

آیا یک شبکه عصبی اساساً یک مغز است؟

الهام گرفته از مغز، بله - اما ساده شده. نورون‌ها در شبکه‌ها توابع ریاضی هستند؛ نورون‌های بیولوژیکی سلول‌های زنده با دینامیک پیچیده هستند. ارتعاشات مشابه، فیزیک بسیار متفاوت [1].

به چند لایه نیاز دارم؟

از کوچک شروع کنید. اگر دچار کمبود برازش هستید، عرض یا عمق را اضافه کنید. اگر دچار بیش‌برازش هستید، ظرفیت را منظم یا کاهش دهید. هیچ عدد جادویی وجود ندارد؛ فقط منحنی‌های اعتبارسنجی و صبر وجود دارد [1].

آیا همیشه به پردازنده گرافیکی (GPU) نیاز دارم؟

نه همیشه. مدل‌های کوچک روی داده‌های متوسط ​​می‌توانند روی CPUها آموزش ببینند، اما برای تصاویر، مدل‌های متنی بزرگ یا مجموعه داده‌های بزرگ، شتاب‌دهنده‌ها زمان زیادی را صرفه‌جویی می‌کنند [1].

چرا مردم می‌گویند توجه قدرتمند است؟

زیرا توجه به مدل‌ها اجازه می‌دهد تا بدون اینکه دقیقاً به ترتیب پیش بروند، روی مرتبط‌ترین بخش‌های یک ورودی تمرکز کنند. این امر روابط کلی را در بر می‌گیرد، که برای زبان و وظایف چندوجهی بسیار مهم است [3].

آیا «شبکه عصبی در هوش مصنوعی چیست؟» با «یادگیری عمیق چیست» متفاوت است؟

یادگیری عمیق رویکرد گسترده‌تری است که از شبکه‌های عصبی عمیق استفاده می‌کند. بنابراین پرسیدن اینکه شبکه عصبی در هوش مصنوعی چیست؟ مانند پرسیدن در مورد شخصیت اصلی است؛ یادگیری عمیق کل فیلم است [1].


نکات کاربردی و کمی سلیقه‌ای 💡

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

  • خط لوله داده خود را قابل تکرار نگه دارید . اگر نمی‌توانید آن را دوباره اجرا کنید، نمی‌توانید به آن اعتماد کنید.

  • سرعت یادگیری بیش از آنچه فکر می‌کنید اهمیت دارد. یک برنامه زمانی را امتحان کنید. گرم کردن می‌تواند کمک کند.

  • بده‌بستان‌هایی در مورد اندازه دسته وجود دارد. دسته‌های بزرگتر گرادیان‌ها را تثبیت می‌کنند اما ممکن است به طور متفاوتی تعمیم داده شوند.

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

  • فرضیات را مستند کنید. آینده - شما چیزها را فراموش می‌کنید - سریع [1، 2].


بررسی عمیق‌تر: نقش داده‌ها، یا اینکه چرا ورود بی‌فایده همچنان به معنای خروج بی‌فایده است 🗑️➡️✨

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


«شبکه عصبی در هوش مصنوعی چیست؟» - تعاریف کوتاهی که می‌توانید دوباره از آنها استفاده کنید 🧾

  • یک شبکه عصبی یک تقریب‌ساز تابع لایه‌ای است که الگوهای پیچیده را با تنظیم وزن‌ها با استفاده از سیگنال‌های گرادیان یاد می‌گیرد [1، 2].

  • این سیستمی است که ورودی‌ها را از طریق مراحل غیرخطی متوالی به خروجی‌ها تبدیل می‌کند و برای به حداقل رساندن ضرر آموزش دیده است [1].

  • این یک رویکرد مدل‌سازی انعطاف‌پذیر و تشنه‌ی داده است که با ورودی‌های بدون ساختار مانند تصاویر، متن و صدا رشد می‌کند [1، 2، 3].


خیلی طولانی بود، نخوندم و حرف آخر 🎯

اگر کسی از شما بپرسد که شبکه عصبی در هوش مصنوعی چیست؟ خلاصه‌اش این است: یک شبکه عصبی مجموعه‌ای از واحدهای ساده است که داده‌ها را گام به گام تبدیل می‌کند و با به حداقل رساندن تلفات و دنبال کردن گرادیان‌ها، این تبدیل را یاد می‌گیرد. آن‌ها قدرتمند هستند زیرا مقیاس‌پذیر هستند، ویژگی‌ها را به طور خودکار یاد می‌گیرند و می‌توانند توابع بسیار پیچیده‌ای را نمایش دهند [1، 4]. اگر کیفیت داده‌ها، مدیریت یا نظارت را نادیده بگیرید، آن‌ها خطرناک هستند [5]. و آن‌ها جادو نیستند. فقط ریاضی، محاسبات و مهندسی خوب - با کمی ذوق و سلیقه.


مطالعه بیشتر، با دقت انتخاب شده (موارد اضافی بدون ارجاع)


منابع

[1] گودفلو، آی.، بنگیو، وای.، و کورویل، ای. یادگیری عمیق . انتشارات ام‌آی‌تی. نسخه آنلاین رایگان: ادامه مطلب

[2] استنفورد CS231n. شبکه‌های عصبی کانولوشنی برای تشخیص بصری (یادداشت‌های دوره): ادامه مطلب

[3] واسوانی، آ.، شازیر، ن.، پارمار، ن. و همکاران. (2017). توجه، تمام چیزی است که نیاز دارید . NeurIPS. arXiv: ادامه مطلب

[4] سیبنکو، جی. (1989). تقریب با استفاده از برهم‌نهی‌های یک تابع سیگموئیدی . ریاضیات کنترل، سیگنال‌ها و سیستم‌ها ، 2، 303-314. اشپرینگر: ادامه مطلب

[5] NIST. چارچوب مدیریت ریسک هوش مصنوعی (AI RMF) : ادامه مطلب


جدیدترین هوش مصنوعی را در فروشگاه رسمی دستیار هوش مصنوعی پیدا کنید

درباره ما

بازگشت به وبلاگ