تا %60 تخفیف خرید برای 2 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

دوره آموزشی یادگیری عمیق |‌ Deep Learning قسمت ۴ : شبکه های عصبی

مقدمه

همانطور که در جلسه قبل مطرح شد. شبکه های عصبی یا Nerual Networks مهمترین بخش Deep Learning را تشکیل می دهند پس بدیهی است که آشنایی با ساز و کار آن ها یک امر واجب برای هر متخصص یادگیری عمیق است. در این قسمت سعی داریم تا اجزا یک شبکه عصبی را با مثال به طور کامل شرح دهیم و سپس با استفاده از ریاضیاتی که در جلسه گذشته آموختیم این قسمت ها را در کنار هم قرار دهیم.

مباحث این جلسه

  1. بررسی اجزا یک شبکه عصبی
    1. لایه ها
    2. Weights
    3. Bias
    4. activaiton functions
  2. بررسی عملکرد شبکه عصبی در یادگیری یک مسله ساده مثل عملگر or یا and

شبکه های عصبی چطور کار می کنند ؟

شبکه های عصبی در واقع ساختاری شبیه به مغز دارند. در این شبکه ها اعداد را با دایره نشان میدهیم و این دایره ها را با خط هایی به هم متصل می کنیم که این خط ها خود در واقع نمایان گر اعدادی دیگر هستند که به آن ها Weights می گویند. اما این دایره ها چه ویژگی دارند که اینقدر آن ها را پر کاربرد می کند ؟ این دایره ها در واقع قابلیت فعال شدن یا Activation را دارند و فعال شدن آن ها با یکدیگر سبب می شود تا خروجی شبکه عصبی مشخص شود مثلا شبکه عصبی تشخیص دهد که عکس داده شده سگ یا گربه است.

دوره آموزشی یادگیری عمیق |‌ Deep Learning قسمت ۴ : شبکه های عصبی

 اجزا یک شبکه عصبی

یک شبکه عصبی از لایه های مختلفی تشکیل شده است که به ابتدایی ترین لایه , ورودی (Inputs) , به اخرین لایه , خروجی (outputs) و به لایه های میانی لایه های مخفی یا Hidden Layers می گویند. اما منظور از لایه چیست ؟ 

منظور از لایه در واقع مجموعه ای از توابع است که به شکل ضرب و جمع ماتریکس ها تعریف می شوند. این توابع توسط ۳ پارامتر محاسبه می شوند.

  1. ورودی (ماتریکسی از اعداد)
  2. Weights (ماتریکسی از اعداد قابل تعیلم)
  3. Bias (ماتریکسی از اعداد قابل تعیلم)

حال با داشتن این سه پارامتر می توان گفت هر لایه ماتریکسی از اعداد را به عنوان ورودی گرفته سپس آن ورودی ها را در ماتریکس Weights ضرب می کند و پس از آن حاصل را با ماتریکس Bias جمع می کند و سپس ماتریکس دیگری از اعداد به دست می آید که این ماتریکس ابتدا از یک تابع دیگر با عنوان Activaiton Funciton می گذرد و پس از آن به عنوان ورودی به لایه بعدی داده خواهد شد تا این مراحل باز تکرار شود.

حال اگر ماتریکس ورودی را A , ماتریکس Weights را W , ماتریکس Bias را B و Activaiton Function را g(x) به نامیم برای محاسبه خروجی هر لایه چنین فرمولی خواهیم داشت.

y = g(W.A + B)

حال یک سوال مهم پیش خواهد آمد که ابعاد ماتریکس های ما چگونه خواهد بود ؟‌ که در ادامه دوره این موضوع را به طور کامل بررسی خواهیم کرد.

نگاهی دقیق تر به Activaiton Function

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

Sigmoid

یک نمونه پرکاربرد از Activation Function ها تابع Sigmoid است که فرمول نوشتاری آن این گونه است.

y = (1) / (1 + e-×)

و اگر بخواهیم این تابع را روی محور مختصات نمایش دهیم همچین شکلی خواهد داشت.

دوره آموزشی یادگیری عمیق |‌ Deep Learning قسمت ۴ : شبکه های عصبی

نویسنده: محمد مهدی نوری برجی

هرگونه کپی برداری از متن بدون ذکر منبع و نام نویسنده مشکل اخلاقی دارد

نظر شما
برای ارسال نظر باید وارد شوید.
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...