فاصله‌ی آماری (Statistical Distance) و کاربردهای آن

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

ادامه خواندن “فاصله‌ی آماری (Statistical Distance) و کاربردهای آن”

توزیع‌های آماری (Statistical Distributions)

توزیع آماری به پراکندگی داده‌ها و فراوانیِ هر کدام از مقادیر آن‌ها می‌گویند. با استفاده از توزیعِ آماریِ یک متغیر، می‌توانیم به نحوه‌ی پراکندگی و احتمال هر کدام از قسمت‌های آن متغیر (در بازه‌ی پراکندگی) پی ببریم.

ادامه خواندن “توزیع‌های آماری (Statistical Distributions)”

شبکه عصبی واحد بازگشتی دروازه‌دار (GRU)

در دروس قبلیِ دوره‌ی جاری با شبکه‌های عصبی بازگشتی (RNN) ساده و LSTMها آشنا شدیم. شبکه‌های RNN ساده، مشکل محوشدگی گرادیان را داشتند و شبکه‌های LSTM نیز با این مشکل محوشدگی گرادیان را برطرف می‌کردند، ولی از لحاظ محاسبات سنگین و پیچیده بودند. شبکه‌های عصبی واحد بازگشتیِ دروازه‌دار یا همان Gated Recurrent Unit که به اختصار GRU گفته می‌شود، مشکل محوشدگی گرادیان را ندارند و از لحاظ محاسبات نیز ساده و سبک هستند.

ادامه خواندن “شبکه عصبی واحد بازگشتی دروازه‌دار (GRU)”

شبکه عصبی بازگشتی با حافظه‌ی طولانی کوتاه مدت (LSTM)

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

ادامه خواندن “شبکه عصبی بازگشتی با حافظه‌ی طولانی کوتاه مدت (LSTM)”

انواع شبکه‌های عصبی بازگشتی (RNN) و کاربرد آن‌ها

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

ادامه خواندن “انواع شبکه‌های عصبی بازگشتی (RNN) و کاربرد آن‌ها”

شبکه عصبی بازگشتی (Recurrent Neural Network)

هنگامی که داده‌ها به صورت ترتیبی (sequential) یا مبتنی بر سری زمانی (time series) باشند، شبکه‌های عصبیِ ساده کارایی بالایی نخواهند داشت. از این رو بهتر است که به سراغ معماری‌هایی برویم که توانایی پردازش داده‌های مبتنی بر ترتیب را داشته باشند. شبکه‌های عصبی بازگشتی که به اختصار به آن‌‌ها RNN نیز گفته می‌شود، توانایی شناسایی الگو و یادگیری را از مجموعه داده‌های ترتیبی دارند.

ادامه خواندن “شبکه عصبی بازگشتی (Recurrent Neural Network)”

شبکه عصبی پیچشی (Convolutional Neural Network) در یادگیری عمیق

شبکه‌ی عصبی پیچشی یا به اختصار CNN که به آن شبکه‌ی عصبی کانولوشنی نیز گفته می‌شود، نوعی از شبکه‌های عصبی است که عموماً برای یادگیری بر روی مجموعه داده‌های بصری (مانند تصاویر و عکس‌ها) استفاده می‌شود. از لحاظ مفهوم این شبکه‌ها مانند شبکه‌های عصبی ساده هستند یعنی از فازهای پیش‌خور (feed forward) و پس‌انتشار خطا (back propagation of error) استفاده می‌کنند ولی از لحاظ معماری تفاوت‌هایی با شبکه‌های عصبی ساده دارند. این شبکه‌ها در دسته‌ی یادگیری عمیق قرار می‌گیرند زیرا لایه‌های موجود در این شبکه‌ها، زیاد است.

ادامه خواندن “شبکه عصبی پیچشی (Convolutional Neural Network) در یادگیری عمیق”

توابع فعال‌سازی (Activation Functions) در شبکه‌های عصبی عمیق

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

ادامه خواندن “توابع فعال‌سازی (Activation Functions) در شبکه‌های عصبی عمیق”

حل یک مثال عددی یادگیری ماشین با شبکه‌های عصبی

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

ادامه خواندن “حل یک مثال عددی یادگیری ماشین با شبکه‌های عصبی”

مشکل انفجار گرادیان (Exploding Gradients) در شبکه‌های عصبی عمیق

در درس قبلی از دوره‌ی جاری در مورد محوشدگی گرادیان (gradient vanishing) صحبت کردیم. نقطه‌ی مقابل محوشدگی گرادیان، مشکل انفجار گرادیان یا همان exploding gradients است که به جای اضمحلال و محوشدن گرادیان، ممکن است آن را بیش از اندازه بزرگ نماید و به خاطر همین الگوریتم نتواند به یک همگرایی (converge) در میان وزن‌ها دست پیدا کند.

ادامه خواندن “مشکل انفجار گرادیان (Exploding Gradients) در شبکه‌های عصبی عمیق”