شبکه عصبی چیست؛ توضیحِ بی‌فرمول با تشبیه‌های روزمره

نورونِ مصنوعی را مثلِ یک رأی‌گیریِ وزن‌دار تصور کن، لایه‌ها را مثلِ خطِ تولید، و یادگیری را مثلِ تنظیمِ پیچ‌های رادیو. بدونِ یک فرمول، می‌بینیم شبکه‌های عصبی چطور کار می‌کنند و کجا کور می‌مانند.

🍊 تیم نارنگی ⏱ 6 دقیقه مطالعه
چند ردیف دایره‌ی به‌هم‌وصل که خط‌های پررنگ و کم‌رنگ آن‌ها را لایه به لایه به هم می‌رسانند

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

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

اگر اولین بار است که با این مفاهیم روبه‌رو می‌شوی، بد نیست اول نگاهی به هوش مصنوعی چیست بیندازی. شبکه‌ی عصبی موتورِ بیشترِ چیزهایی است که امروز اسمشان را هوش مصنوعی می‌گذاریم.

نورونِ مصنوعی: یک رأی‌گیریِ وزن‌دار

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

یک نورونِ مصنوعی دقیقاً همین است. چند ورودی می‌گیرد، به هر کدام وزنی می‌دهد، جمع می‌زند، و تصمیم می‌گیرد چقدر «روشن» شود. همین. هیچ جادویی در یک نورونِ تنها نیست. قدرت از کنارِ هم گذاشتنِ تعدادِ بسیار زیادی از آن‌ها می‌آید.

آن وزن‌ها مهم‌ترین بخش‌اند. کلِ دانشِ یک شبکه‌ی عصبی، در همین وزن‌هاست. وقتی می‌گویند یک مدل میلیاردها پارامتر دارد، منظور تقریباً همین وزن‌هاست.

لایه‌ها: خطِ تولیدی که معنا می‌سازد

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

در شبکه‌ای که عکس را می‌شناسد، لایه‌های اول فقط لبه‌ها و رنگ‌ها را تشخیص می‌دهند. لایه‌های وسط این لبه‌ها را کنارِ هم می‌گذارند و شکل‌هایی مثلِ چشم یا چرخ می‌سازند. لایه‌های آخر می‌گویند «این یک پیکان است» یا «این یک گربه است». کسی به شبکه نگفته اول دنبالِ لبه بگرد؛ خودش در یادگیری به این تقسیمِ کار رسیده.

«عمیق» در یادگیریِ عمیق به همین تعدادِ زیادِ لایه‌ها اشاره دارد. اینکه یادگیریِ عمیق چه فرقی با روش‌های قدیمی‌ترِ یادگیریِ ماشین دارد و کِی ارزشش را دارد، در تفاوت یادگیری ماشین و یادگیری عمیق باز شده.

شبکه عصبی چیست در عمل: یادگیری با اصلاحِ خطا

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

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

تشبیهِ خوبش پیچ‌های یک رادیوی قدیمی است. صدا خش دارد؛ کمی پیچ را می‌چرخانی، بهتر شد؟ همان سمت ادامه بده. بدتر شد؟ برگرد. حالا تصور کن رادیو به‌جای دو پیچ، میلیون‌ها پیچ دارد و ماشین برای هر کدام حساب می‌کند به کدام سمت بچرخد. این کار را میلیون‌ها بار، روی میلیون‌ها مثال تکرار می‌کند، و آرام‌آرام شبکه یاد می‌گیرد.

⚠️ حفظ کردن به‌جای یاد گرفتن

اگر شبکه را زیادی روی داده‌ی کم آموزش بدهی، مثال‌ها را حفظ می‌کند به‌جای اینکه الگو را یاد بگیرد. مثلِ دانش‌آموزی که جوابِ تست‌های سال‌های قبلِ کنکور را از بر کرده ولی با سؤالِ تازه گیر می‌کند. برای همین همیشه بخشی از داده را کنار می‌گذارند تا شبکه با آن امتحان شود، نه آموزش.

انواعِ شبکه‌ی عصبی: هر کدام برای یک کار

همه‌ی شبکه‌ها یک شکل نیستند. معماری، یعنی نحوه‌ی چیدنِ نورون‌ها و اتصال‌ها، بسته به نوعِ داده فرق می‌کند:

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

کانولوشنی: ذره‌بینی که روی عکس می‌لغزد

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

ترنسفورمر: جلسه‌ای که همه با هم حرف می‌زنند

در جمله‌ی «علی کتاب را به رضا داد چون او دیگر لازمش نداشت»، «او» کیست؟ برای فهمیدنش باید کلِ جمله را یک‌جا دید. ترنسفورمر هر کلمه را با همه‌ی کلمه‌های دیگر می‌سنجد و به هر ارتباط وزنی می‌دهد؛ مثلِ جلسه‌ای که هر کس به حرفِ مرتبط‌ترین آدم‌ها بیشتر گوش می‌دهد. این معماری در سالِ ۲۰۱۷ معرفی شد و پایه‌ی مدل‌های زبانیِ بزرگ شد. همین شبکه‌ها پشتِ چت‌هایی هستند که در نسخه‌ی وبِ نارنگی یا ابزارهای مشابه با آن‌ها حرف می‌زنی.

محدودیت: جعبه‌ی سیاه

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

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

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

یک پرامپت برای یادگرفتنِ بیشتر

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

من [شغل یا رشته‌ات، مثلاً معلمِ ابتدایی] هستم و ریاضیِ پیشرفته بلد نیستم.
توضیح بده شبکه‌ی عصبی چطور یاد می‌گیرد، فقط با تشبیه‌هایی از کارِ من.
۱. نورون، وزن و لایه را جدا توضیح بده.
۲. یک مثال بزن که شبکه چیزی را اشتباه یاد بگیرد.
۳. در آخر سه سؤال از من بپرس تا ببینی فهمیده‌ام یا نه.

بندِ سوم مهم است؛ پرسیدن از خودت، فرقِ خواندن و فهمیدن است.

جمع‌بندی

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

مطالب مرتبط:

پرسش‌های پرتکرار

شبکه عصبی مصنوعی شبیه مغز انسان است؟ +
فقط در ایده‌ی اولیه. اسمش از نورون‌های مغز الهام گرفته، ولی نحوه‌ی کار و یادگیری‌اش خیلی ساده‌تر و متفاوت است. بهتر است آن را یک ماشینِ حسابِ بسیار بزرگ و قابلِ تنظیم ببینی، نه یک مغزِ کوچک.
چرا به شبکه‌های عصبی جعبه سیاه می‌گویند؟ +
چون دانشِ شبکه در میلیون‌ها عدد پخش شده و هیچ‌کدام به‌تنهایی معنای روشنی ندارند. می‌بینیم ورودی چیست و خروجی چیست، ولی نمی‌توانیم به‌سادگی بگوییم چرا این تصمیم گرفته شد. پژوهش برای باز کردنِ این جعبه ادامه دارد ولی هنوز کامل نیست.
شبکه عصبی چقدر داده لازم دارد؟ +
بستگی به کار دارد، ولی معمولاً زیاد؛ خیلی بیشتر از روش‌های سنتیِ یادگیریِ ماشین. خوش‌خبری این است که لازم نیست همیشه از صفر شروع کرد. می‌شود از شبکه‌ای که قبلاً روی داده‌ی عظیم آموزش دیده استفاده کرد و آن را با داده‌ی کمِ خود تنظیم کرد.
فرق شبکه کانولوشنی و ترنسفورمر چیست؟ +
شبکه‌ی کانولوشنی برای تصویر ساخته شده و تصویر را تکه به تکه با پنجره‌های کوچک می‌بیند. ترنسفورمر برای دنباله‌هایی مثلِ متن ساخته شده و هر کلمه را هم‌زمان با همه‌ی کلمه‌های دیگر می‌سنجد. امروز ترنسفورمر در تصویر هم به کار می‌رود، ولی کانولوشنی هنوز برای کارهای سبکِ تصویری رایج است.
#شبکه عصبی مصنوعی #نورون مصنوعی #شبکه کانولوشنی #ترنسفورمر #جعبه سیاه
به‌دردِ کسی می‌خورد؟ تلگرام واتساپ
🍊

خواندنش خوب بود — حالا امتحانش کن

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

بدونِ نصب هم کار می‌کند — ولی در اپ سریع‌تر است