Application of epsilon-near-zero (ENZ) metamaterials on Smith-Purcell Terahertz radiation
Abstract For a specific desired frequency, the ENZ metamaterials expose a near-zero reply within the real part of their dielectric permittivity. The performance of the EM field in vicinity of these materials is surprisingly exciting. By means of proximity interaction of moving high kinematic electrons near the surface of an ENZ loaded ۱D holed array slab, low-frequency equivalent of surface Plasmon is agitated. Owed to electron-Plasmon momentum attraction force, flow of EM energy grows within the holes and consequently magnifies the energy. This will reduces the working current محاسبه Momentum while the output power upsurges. At correct integer frequency multiplication harmonics of this “spoof” surface Plasmon (SSP), as a result of periodicity of the structured hole-array, a phase change process (ukmlapp process) develops which redshifts the SSP’s momentum above the light cone making terahertz wave radiations. Keywords: Epsilon-near-zero; Smith-Purcell radiation; Maxwell-Garnet effective medium theory; Terahertz source
نظر شما :
- عمومی
- دریافت مقالات
- مجموعه مقالات اولین همایش ملی محاسبات نرم علوم مهندسی
- حامیان همایش
- سخنران کلیدی
دسترسی سریع
- دانشگاه ولایت
- دانشکده فنی مهندسی و علوم پایه
- سیویلیکا
- سامانه ثبت و اطلاع رسانی کنفرانس ISC
- پنجره واحد پژوهشی وزارت علوم و تحقیقات و فناوری
تماس با ما
سیستان و بلوچستان، ایرانشهر، کیلومتر ۵ بزرگراه شهید مرادی، دانشگاه ولایت، دانشکده فنی مهندسی و علوم پایه، دبیرخانه دائمی همایش ها
آموزش ضربه و مومنتوم (تکانه) خطی به زبان ساده+ حل مثال
در درس فیزیک دبیرستان با مفهوم تکانه یا اندازه حرکت آشنا شدیم. در ادامه، در دروس مختلف دانشگاه نظیر فیزیک پایه و درس دینامیک، با تکانه (مومنتوم خطی) سروکار داشتیم. مفهوم ضربه (برخورد) در درس دینامیک ارائه شده و به نوعی نیروی منتقل شده در واحد زمان است. در این مقاله بطور کامل به مبحث مومنتوم خطی و مفهوم ضربه (برخورد) میپردازیم. همچنین در انتهای این آموزش، مثالهای متنوع از مبحث ضربه و مومنتوم حل خواهد شد. با ما همراه باشید.
1. مومنتوم (تکانه) خطی
مومنتوم خطی (Linear Momentum) یا تکانه خطی، یک کمیت برداری برای بیان ویژگیهای جسم است. لازم بهذکر است که ترجمه فارسی دیگری که برای مومنتوم خطی ارائه شده، اندازه حرکت خطی میباشد. طبق تعریف، مومنتوم خطی بصورت حاصل ضرب جرم در سرعت تعریف میشود. این تعریف با درک شهودی ما نیز مطابقت دارد. در واقع از نظر حس فیزیکی، یک جسم بزرگ و سریع مومنتوم بیشتری نسبت به یک جسم کوچکتر و کندتر دارد. در فیزیک و دینامیک، مومنتوم خطی (تکانه خطی) با حرف P و یا G نمایش داده میشود.
طبق رابطه فوق، مومنتوم خطی (تکانه خطی) با جرم جسم و همچنین سرعت آن نسبت مستقیم دارد. بنابراین هر چه جرم یا سرعت یک جسم بیشتر باشد، تکانه آن بیشتر میشود. همانظور که ذکر شد، تکانه خطی یک کمیت برداری است که جهتی برابر با بردار سرعت v دارد. واحد مومنتوم خطی در سیستم SI بصورت کیلوگرم متر بر ثانیه (Kg.m/s) و یا نیوتن ثانیه (N.s) است. همچنین در سیستم US نیز واحد مومنتوم خطی بصورت پوند ثانیه (lb.sec) است.
مفهوم مومنتوم (تکانه) خطی
تصور کنید که در راهرویی از یک فروشگاه بزرگ قرار دارید. در این لحظه، یک سبد خرید خالی و یک سبد خرید پر (با جرم زیاد) به سمت شما درحال حرکت است. سرعت حرکت هر دو سبد یکسان است. چنانچه در این مکان ثابت بمانید، یکی از سبدهای خرید (خالی یا پر) به شما برخورد میکند. در این لحظه ذهن شما به سرعت به دنبال یافتن بهترین راه برای نجات است. وظیفه شما این است که به سمت یکی از سبدها رفته و آن را متوقف کنید. طبیعتا هر عقل سلیمی میگوید که متوقف کردن سبد خالی محاسبه Momentum آسان تر از سبد پر است. در حقیقت معیار ذهنی ما برای این انتخاب کمتر بودن جرم سبد خالی است. در این انتخاب، ما بطور پیش فرض از شهود فیزیکی خود برای نجات استفاده کردیم.
در حقیقت نیز معیاری که برای انتخاب صحیح وجود دارد، مومنتوم (تکانه) خطی است. طبق تعریفی که در بالا ذکر شد، تکانه خطی برابر با حاصل ضرب سرعت در جرم جسم است.
تکانه و قانون دوم نیوتون
تکانه کمیتی فیزیکی است که اجسام در حال حرکت، آن را دارند. تکانه را می توان به صورت « جرم در حرکت» تعریف کرد. همانطور که همه اجسام جرم دارند، همه اجسام در حال حرکت، تکانه دارند. اندازه تکانه هر جسم، به دو کمیت بستگی دارد: جرم و سرعت. اینکه چه مقدار از جسم حرکت می کند و اینکه این مقدار از جسم، با چه سرعتی حرکت می کند. اگر به صورت معادله ریاضی بخواهیم بیان کنیم، می نویسیم:
- تکانه، یک کمیت برداری است و جهت آن، همان جهت بردار سرعت است.
- اگر جسمی ساکن باشد، تکانه آن صفر است. چون سرعت آن صفر است.
- یکای تکانه (Kg.m/s) است.
تکانه و قانون دوم نیوتون
قانون اول نیوتون می گوید: اگر جسمی ساکن و یا در حال حرکت با سرعت ثابت باشد، تا زمانی که نیرویی به آن وارد نشود، در حالت خود باقی می مانند. حال فرض کنیم به جسمی که با سرعت v1 حرکت می کند، نیروی F وارد شود و به سرعت نهایی v2 برسد:
همانطور که می بینیم نیروی وارد شده به صورت تغییرات کمیت mv ، یعنی تغییرات تکانه بر زمان نشان داده شده است.
تغییر تکانه را می توان به صورت زیر نوشت:
اما در شرایط واقعی، به ندرت نیرو ثابت است. در این شرایط این رابطه را برای بازه های زمانی کوتاهی که در آن، میتوان نیرو را ثابت در نظر گرفت، استفاده کرد. برای بازه زمانی بزرگ، به جای نیروی خالص باید نیروی خالص متوسط را در رابطه قرار داد. تغییر تکانه یک جسم را می توان از مساحت زیر نمودار نیرو-زمان محاسبه کرد.
در شکل الف، برای به دست آوردن تغییر تکانه ، بازه زمانی t1 تا t2 را به بازه های زمانی بسیار کوچک تقسیم کرده که در آن بازه، نیرو ثابت است. در شکل ب، نیروی خارجی متوسط وارد شده در بازه زمانی t1 تا t2 را در نظر گرفته است و مساحت زیر نمودار نیروی متوسط-زمان را به دست آورده است.
نقش کیسه هوا در تصادف های رانندگی
جاسازی کیسه هوا در خودروها، یکی از روش های معمول ایجاد ایمنی است. ساز و کار این وسیله، به این صورت است که هنگام بروز حادثه که به تغییر سرعت ناگهانی خودرو می انجامد، بر اثر یک واکنش شیمیایی سریع، گازی در یک کیسه پلاستیکی تولید می شود و کیسه پر از گاز در مقابل راننده و سرنشین قرار می گیرد.
برخورد آنها به کیسه هوا، مدت زمان تغییر سرعت یا زمان توقف آنها را بسیار طولانی می کند. در نتیجه طبق رابطه F=Δp/Δt با افزایش Δt نیروی متوسط وارد بر سرنشینان کاهش می یابد و بدین ترتیب از وارد شدن آسیب جدی به آنها جلوگیری می شود.
زمان توقف در برخورد با جسم سخت در حدود هزارم ثانیه است، در حالی که کیسه هوا، این زمان را تا چند ثانیه افزایش می دهد. از اینرو نیروی وارد بر سرنشین تا حدود یک هزارم، کاهش می یابد.
رابطه بین انرژی جنبشی و تکانه
میدانیم انرژی جنبشی هم به سرعت و جرم جسم بستگی دارد. اما تفاوت آن با تکانه چیست؟
- انرژی جنبشی یک کمیت نرده ای است و جهت ندارد. اما تکانه یک کمیت برداری است و جهت دارد.
- اندازه تکانه متناسب با اندازه سرعت است اما اندازه انرژی جنبشی با توان دوم سرعت متناسب است.
ویدیو آموزشی
ویدیو آموزشی زیر را که توسط استاد مصطفی کبیری برای این مبحث آماده شده است، مشاهده کنید.
مثال ها
گلوله ای به جرم ۱۰g با سرعت ۵ متر بر ثانیه در جهت مثبت محور x در حال حرکت است.
الف) تکانه گلوله را تعیین کنید.
ب) انرژی جنبشی گلوله را به دست آورید.
الف:تکانه گلوله از رابطه زیر به دست می آید:
شکل روبرو صحنه ای از یک آزمون تصادف را نشان می دهد که در آن خودرویی به جرم ۱۲۰۰kg به دیواری برخورد کرده و سپس برمی گردد. اگر تندی اولیه و نهایی خودرو به ترتیب ۵۴km/h و ۹km/h باشد و تصادف ۰٫۱۵s طول بکشد،
الف)تغییر تکانه خودرو را پیدا کنید.
ب)اندازه و جهت نیروی متوسط وارد بر خودرو را تعیین کنید.
اگر جرم جسم B ، جرم جسم A و تکانه جسم A ، تکانه جسم B باشد، نسبت انرژی جنبشی جسم A به انرژی جنبشی جسم B، کدام است؟
شخصی به جرم ۶۰ کیلوگرم از یک بلندی روی یک تشک سقوط می کند. اگر تندی او هنگام رسیدن به تشک 5m/s محاسبه Momentum باشد و پس از ۰٫۲ ثانیه متوقف شود، اندازه نیروی متوسطی که تشک بر او وارد می کند، چقدر است؟
مثال ۵: شکل زیر، منحنی نیروی خالص بر حسب زمان را برای توپ بیسبالی که با چوب بیسبال به آن ضربه زده شده است، نشان می دهد. تغییر تکانه توپ و نیروی خالص متوسط وارد بر آن را بدست آورید.
مساحت زیر نمودار F-t برابر تغییر تکانه است. بنابراین داریم:
تمرین ها
تمرین ۱: سرعت گلوله ای به جرم ۰٫۲kg تحت اثر نیروی ثابتی از V1=10i-8j به V2=6i-5j می رسد.(در SI). اگر زمان تاثیر نیرو برابر با ۰٫۱ ثانیه باشد، بزرگی نیرو چند نیوتون است؟
تمرین ۲: تکانه جسم A برابر با تکانه جسم B است. اگر جرم جسم A دوبرابر جرم جسم B باشد، انرژی جنبشی آن چند برابر انرژی جنبشی جسم B است؟
تمرین ۳: تکانه اتومبیلی به جرم یک تن با تکانه ی کامیونی به جرم پنج تن برابر است. انرژی جنبشی کامیون چند برابر انرژی جنبشی اتومبیل است؟
تمرین ۴: جسمی به جرم ۲kg روی سطح افقی بدون اصطکاکی با سرعت 5m/s در حال حرکت است. اگر نیروی افقی F=3N در جهت حرکت جسم به مدت ۴ ثانیه بر جسم وارد شود، در پایان این مدت تکانه جسم چند می شود؟
تمرین ۵: جسمی به جرم ۵۰g از ارتفاع ۶۰ متری رها می شود و در لحظه ای، سرعت آن به ۱۴m/s میرسد و یک ثانیه پس از آن، سرعت جسم به ۲۳m/s می رسد. تغییر تکانه جسم در این یک ثانیه، چند کیلوگرم متر محاسبه Momentum بر ثانیه است؟
تمرین ۶: گلوله ای به جرم ۰٫۰۵kg با تندی افقی 20m/s به دیواری برخورد می کند و به صورت افقی با تندی ۱۵m/s در جهت مخالف بر می گردد. اندازه تغییر تکانه گلوله را محاسبه کنید.
تمرین ۷: نمودار تغییرتکانه متحرکی بر حسب زمان در SI، مطابق شکل روبه رو است. اندازه نیروی خالص متوسط وارد بر این متحرک در بازه زمانی صفر تا ۲ثانیه چند نیوتون است؟
اندیکاتورهای اختصاصی تریدینگ ویو در چارت فراز فعال شد!
همانطور که میدانید پلتفرم قدرتمند تریدینگ ویو، دارای اندیکاتورها و ابزارهای تکنیکال حرفه ای بسیاریست ولیکن در نسخه ای که در اختیار سایرین قرار می دهد تعدادی از ابزارها و اندیکاتورهای آن موجود نیست و همانند نسخه اصلی آن کامل نیست.
در سایت فراز و سایر سایت های مشابه ای که از این پلتفرم بهره می برند، این اندیکاتورهای اختصاصی موجود نبوده است؛ اما هم اکنون برای اولین بار در بین تمامی چارت ها، در فراز توانسته ایم تعدادی از اندیکاتورهای محبوب و درخواستی کاربران عزیزمان را به چارت و لیست اندیکاتور هایمان اضافه کنیم و تلاش می کنیم تا بتوانیم هر آنچه در تحلیل تکنیکال را نیاز دارید فراهم نماییم تا با آسودگی خاطر در بازارهای مالی فعالیت نمایید.
در گام اول تعداد 10 اندیکاتور محبوب و درخواستی را به چارت افزوده ایم و این نوید را می دهیم که در گام های بعد تعداد اندیکاتورهای بیشتری را اضافه نماییم و همچنین شما عزیزان نیز می توانید از طریق پشتیبانی سایت، اندیکاتورهای درخواستی خود را به ما اطلاع دهید تا بررسی نماییم و در صورت امکان، به چارت اضافه نماییم.
لیست اندیکاتورهای اختصاصی اضافه شده:
- Support and Resistance Levels with Breaks
یکی از کاربردی ترین اندیکاتورها در زمینه رسم خودکار سطوح حمایت و مقاومت است و قادر است سطوح حمایت و مقاومت نماد انتخابی را محاسبه و همراه با نقاط شکست این خطوط بر روی نمودار ترسیم کند.
- SSL Hybrid
اندیکاتور SSL Hybrid از خانواده میانگین متحرک یا moving averages ها است. این اندیکاتور تصویر واضحی از روند فعلی ارائه می دهد و می تواند به معامله گر بگوید که آیا بازار در جهت روند، ساید یا خلاف جهت روند است. زمانی گفته می شود که یک بازار در حال رنج زدن یا ساید است که برای مدت زمان نسبتاً طولانی قیمت بالاتر یا پایین تر از SSL باقی بماند.
- HalfTrend
اندیکاتور Half Trend یکی از بهترین اندیکاتورها در جهت شناسایی روند است که جهت روند دقیق را در اختیار معامله گران قرار می دهد و می توانند به عنوان یک شاخص دنبال کننده روند، آن را در هر بازه زمانی برای انجام معاملات روزانه استفاده نمایند. این شاخص برای درک بصری سیگنال های ورود و خروج و تأیید قدرت روند ساده است.
- TDI – Traders Dynamic Index
TDI یا “شاخص دینامیک معاملهگران” یک اندیکاتور معاملاتی روند و ترکیبی از RSI (شاخص قدرت نسبی)، میانگین متحرک آن و باندهای نوسان (بر اساس باندهای بولینگر) است و به عنوان ابزاری برای ارزیابی همه شرایط بازار و همچنین تولید سیگنال های ورود و خروج دقیق ایجاد شده است.
- ADX and DI
ADX مخفف عبارت Average Directional Movement Index به معنای شاخص میانگین حرکت جهتدار است. این اندیکاتور از نوع اندیکاتورهای روندی (Trend) است و از سه عنصر کلیدی شامل منحنی DI+(اندیکاتور جهت دار مثبت) و DI- (اندیکاتور جهت دار منفی) و ADX (شاخص جهت دار میانگین) تشکیل شده است. این اندیکاتور حالتهای متفاوت قدرت روند را مشخص میکند و زمانیکه از شکل گیری روند و یا قدرت روند آگاه نیستیم، بسیار کارآمد است.
- Squeeze Momentum Indicator
اندیکاتور Squeeze Momentum Indicator جزء اندیکاتورهای پیشرو محسوب میشود که جهت شناسایی سیگنال های ورود و خروج همراه با واگرایی تشخیص سرعت حرکت قیمت، مورد استفاده قرار می گیرد. با استفاده از این اندیکاتور می توان سرعت حرکت روند صعودی و یا نزولی قیمت را متوجه شد، همچنین می توانیم سیگنال هایی مبنی بر خرید و فروش را دریافت کنیم، اما گفتنی است که بیشترین کاربرد آن در شناسایی روند معاملاتی است.
- TUX EMA Scalper – Buy/Sell
یکی از بهترین شاخص ها برای اسکالپینگ ، اندیکاتور TonyUX EMA Scalper – Buy/Sell تریدینگ ویو است که یک استراتژی ساده اسکالپینگ است و برای تمام بازه های زمانی کار می کند. اگر نمودار قیمت پایین تر از EMA 20 قرار بگیرد سیگنال فروش و اگر نمودار قیمت بتواند EMA20 را به سمت بالا قطع کند و در بالای آن قرار بگیرد سیگنال خرید توسط این اندیکاتور صادر می شود.
- Fibonacci Bollinger Bands
این ابزار تحلیل تکنیکال، متشکل از باندهای بولینگر دارای فیبوناچی اصلاحی هستند تا به وضوح مناطق حمایت و مقاومت را نشان دهند. مبنای محاسبه آن میانگین متحرک وزنی حجم است.
- Matrix Series
این اندیکاتور ضمن شناسایی نواحی انباشت و توزیع، بازگشت بالقوه بازار را نمایش می دهد. با سایر نمادها سازگار بوده و برای تمامی تایم فریم نیز مناسب است. سطح های مشخص شده می توانند به عنوان سطوح حمایت و مقاومت عمل کنند. نقاط آبی رنگ زمانی ظاهر می شوند که نوسانگر از سطح خرید بیش از +200 و سطح فروش بیش از -200 عبور نماید.
- RSI (updated)
اندیکاتور RSI یا همان شاخص مقاومت نسبی یکی از محبوب ترین ابزارهایی است که تمامی معامله گران با آن آشنا هستند و در بازارهای مالی مختلف مورد استفاده قرار میگیرد. هم اکنون نسخه جدید این اندیکاتور در چارت فراز همانند سایت تریدینگ ویو آپدیت شده است و از بخش تنظیمات اندیکاتور می توانید نوع میانگین متحرک که برای محاسبه RSI اعمال می شود، تعیین نمایید. نوع MA می تواند (EMA, SMA,RMA, WMA, VWMA, Bollinger Bands) باشد.
برای دسترسی به اندیکاتورهای فوق کافیست، گزینه fx در بالای صفحه را بزنید و سپس از بخش اختصاصی فراز، اندیکاتور مد نظر را انتخاب نمایید.
به زودی آموزش های کاملی از نحوه استفاده و کاربرد اندیکاتورهای فوق منتشر خواهیم کرد…
اندیکاتورهای درخواستی خود را در زیر این وبلاگ یا در بخش پشتیبانی برای ما ارسال کنید.
یادگیری نورون مصنوعی
در دومین جلسه از دوره آموزش یادگیری عمیق رایگان هوسم میخواهیم نحوه یادگیری نورون مصنوعی را بررسی کنیم. نورون مصنوعی که در جلسه قبل معرفی کردیم، صرفا یک ماشین حساب بودند. آنها توانایی یاد گرفتن نداشتند. در این جلسه میخواهیم با پروسه یادگیری یک نورون آشنا شویم. مفاهیمی که در این جلسه بررسی میشوند عبارتند از بهینه سازی در شبکه عصبی ، تابع اتلاف در شبکه عصبی و نرخ یادگیری در شبکه عصبی. همچنین در این جلسه نحوه انجام محاسبات آموزش یک نورون را بررسی خواهیم کرد. با هوسم همراه باشید…
یادآوریِ ساختار نورون مصنوعی
در جلسه قبل با ساختار یک نورون مصنوعی آشنا شدیم. گفتیم که یک نورون مصنوعی ورودیها را دریافت کرده و به صورت وزندار با هم جمع میکند. سپس نتیجه را از یک تابع فعالساز عبور میدهد. در شکل زیر ساختار نورون مصنوعی که معرفی کردیم آورده شده است:
حالا بیایید با یک مثال نحوه یادگیری نورون مصنوعی را مرور کنیم. فرض کنید دادههای زیر به ما داده شده است:
همانطور که مشاهده میکنید نمونهها اعدادی از 2 تا 8 هستند. برچسبها یا labelها هم اعداد 4، 6، 8، … و 16 هستند. خب هدف ما چیست؟ هدف، یادگیری نورون مصنوعی است. یعنی نورون بتواند خروجیهای موردنظرمان یعنی اعداد 4، 6 و … را تولید کند. ما اینجا یک ورودی و یک خروجی داریم. شاید برایتان سوال باشد که چرا یک ورودی، در صورتی که ما 7 تا x داریم؟ در جواب باید بگوییم که ما 7 نمونه یا sample داریم نه 7 ورودی. دراینجا، ما یک ورودی و یک خروجی داریم. مثلا نمونه 2 منجر به خروجی 4 شده است. یا نمونه 7 منجر به خروجی 14 شده است.
نکته برچسب در شبکه عصبی یعنی چه؟ برچسب به معنای مقدار مطلوب است. یعنی مقدار درستی که ما میخواهیم نورون بتواند آن را تخمین بزند. برای اطلاعات بیشتر در مورد لیبل، پیشنهاد میکنیم آموزش یادگیری ماشین چیست را مطالعه بفرمایید.
برای ساده کردن مسئله، بایاس را صفر و تابع فعالساز را خطی در نظر میگیریم. در این صورت شکل 2 به صورت زیر خلاصه خواهد شد:
خب در اینجا نورون باید پارامتر w و b را طوری محاسبه میکرد که خروجی yp (خروجی پیشبینی شده توسط نورون) با خروجی yt (خروجی مطلوب) یکسان شود. یا اگر نتوانست یکسان شود، حداقل به yt نزدیک باشد! ما در جلسه قبل داشتیم: yp = w*x+b. گفتیم برای شروع باید یک مقدار اولیه به پارامترها اختصاص دهیم. بایاس را که صفر گذاشتیم، w را هم برابر با یک قرار میدهیم. به این کار مقداردهی اولیه (initialization) گفته میشود. در این صورت برای w=1 و b=0 مقدار yp به صورت زیر محاسبه خواهد شد:
ما مقادیر را محاسبه کردیم و در ستون yp از جدول بالا قرار دادیم. خب که چه؟ الان چه کار کنیم؟ صرفا با فرمولی که داشتیم 7 تا ورودی دادیم و 7 تا خروجی گرفتیم. حالا چطور قرار است یک نورون از این اعداد چیزی یاد بگیرد؟ آیا میتوان با مقایسه yp و yt به نتیجهای رسید؟ یعنی ما ببینیم که yp چقدر از yt دور هست. آنگاه بر اساس این فاصله وزنها را تغییر بدهیم تا به خروجی مطلوب برسیم. به نظرتان این گفته منطقی است؟
نکته در yp ، حرف p مخفف کلمه predicted یعنی پیشبینی شده و در yt حرف t مخفف کلمه target یعنی هدف است.
تابع اتلاف یا تابع هزینه یا تابع هدف در شبکه عصبی
احتمالا با سنسور دنده عقب اتومبیل آشنا هستید. این سنسور فاصله عقب ماشین را از مانعهای پشت ماشین میسنجد. سپس نتیجه را با بوق زدن به ما میفهماند. البته آدم را دیوانه هم میکند! 🤦♂️ اگر مانعی پشت ماشین نباشد، اصلا بوق نمیزند. اگر به مانعی نزدیک شویم شروع به بوق زدن متناوب میکند. و اگر دیگر خیلی خیلی به مانع نزدیک شویم تبدیل به بوق ممتد خواهد شد! در واقع سنسور دنده عقب فاصله میان اتومبیل ما و مانع را به بوق ممتد تبدیل میکند. بر اساس فاصله بین بوقها به ما میگوید که چقدر با مانع فاصله داریم. شاید سنسور دنده عقب اتومبیل را بتوان یک نوع تابع اتلاف محسوب کرد!
در شبکه عصبی برای محاسبه میزان فاصله میان خروجی پیش بینی شده توسط شبکه و خروجی مطلوب، از تابع اتلاف استفاده میشود. در بخش قبلی گفتیم که ما نیاز داریم بدانیم که خروجی پیشبینی شده یعنی yp چقدر از خروجی مطلوب یعنی yt دور هستند. یکی از راهحلها استفاده از تابع اتلاف است. تابع اتلاف، مقدار خروجی شبکه و مقدار خروجی مطلوب را دریافت کرده و فاصله میان آن دو را حساب میکند. به خروجی تابع اتلاف خطا یا Error گفته میشود. ایدهآل ما این است که خطا صفر باشد. حالا ممکن است هیچوقت این خطا صفر نشود! اما هرچقدر به صفر نزدیکتر باشد، یعنی خروجی شبکه به خروجی مطلوب ما نزدیکتر است.
توابع اتلاف انواع مختلفی دارند. ما در این جلسه تنها یک تابع اتلاف را معرفی میکنیم چون میخواهیم به صورت کلی با فرآیند آموزش شبکه آشنا شوید. در جلسات آینده به صورت جداگانه انواع توابع اتلاف را بررسی خواهیم کرد. یکی از سادهترین توابع اتلاف در شبکه عصبی، تابع MSE یا Mean Squared Error یا میانگین مربعات خطا است. فرمولی که برای MSE وجود دارد به شکل زیر است:
همانطور که مشاهده میکنید خروجی مطلوب یعنی yt از خروجی شبکه یعنی yp کم شده سپس به توان 2 رسانده شده است. به ازای هر نمونه، یک خروجی (yp) داریم. و به ازای هر خروجی، یک خطا خواهیم داشت. سپس مقدار خطای همه نمونهها با هم جمع شده و خطای میانگین شبکه محاسبه شده است. به این ترتیب ما درکی نسبی از عملکرد شبکه خواهیم داشت. به این شکل که هرچقدر خطا کمتر باشد، احتمالا عملکرد شبکه بهتر است و هرچقدر که خطا بیشتر باشد، شبکه عملکرد خوبی نخواهد داشت. محاسبه Momentum
گفتیم MSE یک از سادهترین توابع اتلاف است که در این جلسه معرفی شد. توابع اتلاف دیگری نیز وجود دارند که بسته به مساله میتوانیم از آنها استفاده کنیم. چند تابع اتلاف رایج عبارتند از:
- میانگین مربعات خطا (MSE)
- میانگین قدرمطلق خطا (MAE)
- میانگین جذر مربعات خطا (RMSE)
- تابع اتلاف Hinge
- تابع اتلاف Binary Cross Entropy
- تابع اتلاف Multi Cross Entropy
- تابع اتلاف Triplet
- و … .
برگردیم به مثالی که داشتیم. اگر بخواهیم خطای MSE را برای شبکه خودمان محاسبه کنیم، باید بنویسیم:
خب میبینید شبکه تکنورونی ما خطای MSE برابر با 29 دارد. خطای زیادی است درست است؟ تا صفر فاصله خیلی زیادی وجود دارد. چطور این فاصله باید کم شود؟ سنسور دنده عقب را در نظر بگیرید. زمانی که بوق نمیزند ما با فشار بیشتری پدال گاز را فشار میدهیم. اما زمانی که شروع به بوق زدن میکند پایمان را کمی از پدال گاز برمیداریم تا سرعت کم شود. در نهایت اگر بوق ممتد بشنویم، سریعا خودرو را متوقف میکنیم. در اینجا هم ما به دنبال چنین چیزی هستیم. یعنی میخواهیم نورون، وزنها را طوری تغییر دهد که خطا به سمت صفر رود. اگر فاصله تا صفر زیاد باشد با سرعت بیشتری وزنها را تغییر دهد. اگر هم فاصله تا صفر کم باشد سرعت تغییر وزنها را کم کند. در نهایت آنقدر وزنها را تغییر دهد که به مقصد یعنی خطای صفر برسیم. در شبکه عصبی این کار بر عهده بهینهساز یا optimizer است. در بخش بعدی با مفهوم بهینهسازی آشنا خواهیم شد.
مقدار خطای MSE نورون برابر با 65.25 است.
الگوریتم های بهینه سازی در شبکه عصبی
بهینه سازی یک تابع در ریاضیات، معمولا به این معنا است که پارامترهای تابع مورد نظرمان را طوری انتخاب کنیم که آن تابع مینیمم یا ماکزیمم شود. در محاسبه Momentum بخش قبل گفتیم هدفمان این است که وزنهای شبکه را طوری تغییر دهیم که تابع اتلاف صفر شود. خب پس یک الگوریتم بهینهسازی میتواند هدف ما را برآورده سازد. یک الگوریتم بهینهسازی روشی است که به صورت تکراری (iterative) انجام میشود تا یک راه حل بهینه حاصل شود. یعنی در شبکه عصبی ما به الگوریتمی نیاز داریم که وزنها را آنقدر تغییر دهد تا به کمترین اتلاف برسیم. پس لزومی ندارد که با یک بار تغییر وزن ها به جواب برسیم. در مسائل پیچیده ممکن است فرآیند بهینه سازی هزاران بار تکرار شود و در نهایت تازه محاسبه Momentum به یک خطای قابل قبول برسد نه خطای صفر! به بیان ریاضی در شبکه عصبی ما انتظار داریم:
که در آن w(𝜏) مقدار وزن در iteration یا تکرار 𝜏ام ، w(𝜏+1( مقدار وزنها در تکرار (𝜏+1)ام و Δw(𝜏) مقدار تغییر وزنها در یک تکرار هست. معادله 2 میگوید در تکرار جدید، میخواهم وزنها را به اندازه Δw(𝜏) تغییر دهم. نکته اینجاست که همانند مثال ماشین که با افزایش صدای بوق، سرعت ما کم میشد، اینجا هم Δw(𝜏) به مرور با کاهش اتلاف کوچکتر میشود. دقت کنید Δw(𝜏) تابعی از 𝜏 است، یعنی تابعی از زمان یا تکرار هست. یعنی به مرور زمان تغییر میکند. الگوریتمهای بهینه سازی متعددی وجود دارند. چند الگوریتم بهینه سازی در شبکه عصبی عبارتند از:
- گرادیان کاهشی (Gradient Decent)
- گرادیان کاهشی با مومنتوم (Gradient Decent with Momentum)
- Adagrad
- RMSprop
- Adam
- و …
توجه در ادامه بهصورت مختصر درباره گرادیان کاهشی بهعنوان یک بهینه ساز خوب و ساده توضیح دادهایم. اگر توضیحات ادامه درباره گرادیان کاهشی را متوجه نشدید، یک پست جذاب را به شما پیشنهاد میدهیم. حتما به آموزش گرادیان کاهشی سر بزنید.
گرادیان کاهشی
الگوریتم گرادیان کاهشی سادهترین رویکرد را در استفاده از گرادیان برای آپدیت وزنها ارائه میدهد. رابطه ریاضی برای این بهینه ساز به شکل زیر است:
که در آن η نرخ یادگیری و E(w(𝜏) خطا در iteration یا تکرارِ 𝜏 است. همانطور که مشاهده میکنید، گرادیان خطا در تکرارِ 𝜏 محاسبه شده و در η ضرب میشود. نتیجه در 1- ضرب خواهد شد. چرا؟ به شکل 4 نگاه کنید؛ چون ما میخواهیم مقدار خطا مینیمم شود. به همین دلیل باید در خلاف جهت گرادیان حرکت کنیم تا به نقطه مینیمم برسیم. الگوریتم گرادیان کاهشی میگوید با استفاده از وزن اولیه گرادیان خطا را محاسبه کن. سپس گرادیان خطا را در نرخ یادگیری ضرب کرده و مقدار به دست آمده را از وزنهای فعلی کم کن. در این نقطه تکرار یا iteration اول تمام شده و وارد تکرار دوم میشویم. در تکرار دوم، گرادیان خطا را با وزنهای جدید محاسبه کرده و در نرخ یادگیری ضرب میکنیم. سپس مقدار بدست آمده را از وزنها کم میکنیم. به همین ترتیب این فرآیند را تا آنجا ادامه میدهیم که خطا مینیمم شود. در شکل زیر این فرآیند به صورت فرضی نشان داده شده است.
نرخ یادگیری در شبکه عصبی چیست؟
نرخ یادگیری یا learning rate در شبکه عصبی، ضریبی است که به وسیله آن میتوان مقدارِ تغییر وزنها را تنظیم کرد. یعنی اگر نرخ یادگیری بزرگ انتخاب شود، با گامهای بلندتری به سمت مینیمم حرکت خواهیم کرد. اما اگر کوچک باشد، با گامهای کوچکتری به سمت مینیمم حرکت خواهیم کرد. شاید پیش خودتان محاسبه Momentum بگویید که اگر اینطور است، چه لزومی دارد که نرخ یادگیری کوچک انتخاب شود. خب آن را مقداری بزرگ بگذاریم تا زودتر به نقطه مینیمم برسیم. اما موضوع به این سادگیها هم نیست. آیا در هنگام دنده عقب، بدون کاهش سرعت باوجود بوق هشدار همانطور به مسیرمان ادامه میدهیم؟!
اگر مقدار نرخ یادگیری خیلی بزرگ انتخاب شود، نباید انتظار داشت که الگوریتم بهینهسازی حتی همگرا شود! چرا؟ چون وزنها در حال پرش هستند همیشه! یعنی اتفاقی مشابه با تصویر زیر خواهد افتاد. مشاهده میکنید که اتلاف نه تنها کم نشده، بلکه افزایش هم یافته است.
اگر هم نرخ یادگیری خیلی کوچک انتخاب شود، فرآیند آموزش شبکه بسیار طولانی خواهد شد. مثلا شبکهای که با نرخ یادگیری مناسب یک ساعت آموزشش طول میکشد، در این حالت شاید یک روز کامل طول بکشد و باز هم به نتیجه موردنظرمان نرسد. در تصویر زیر، تاثیر مقدار نرخ یادگیری بر آموزش شبکه نشان داده شده است. در این تصویر مشاهده میکنید که انتخاب نرخ یادگیری باید متناسب با مسئله باشد. این مقدار مناسب بسته به کاربردهای مختلف متفاوت است و معمولا به صورت تجربی تعیین میشود.
مثال عددی آموزش نورون
بیایید در مثالی که مشغول حل آن بودیم مطالبی که در بخش قبل یاد گرفتیم را اعمال کنیم. یعنی وزن را با استفاده از گرادیان کاهشی تغییر دهیم. معادله (3) میگوید برای تغییر وزنها نیاز است ابتدا گرادیان اتلاف را محاسبه کنیم. اگر یادتان باشد ما از اتلاف MSE استفاده کردیم. حالا باتوجه به معادله 3، باید از این اتلاف نسبت به وزنها مشتق بگیریم:
دقت کنید که ما برای ساده شدن مسئله بایاس را صفر در نظر گرفتیم. نرخ یادگیری را نیز برابر با 0.01 درنظر میگیریم و شروع به حل مسئله میکنیم. در اولین iteration یا تکرار داریم:
این فرآیند را همچنان ادامه میدهیم تا زمانی که به نتیجه مطلوب برسیم:
مشاهده میکنید هر قدمی که پیش میرویم، مقدار اتلاف کم و کمتر شده و به عدد صفر نزدیکتر میشود. وزن تقریبا 2 به دست آمد. احتمالا خیلی از شما از اول میدانستید که وزن چه باید باشد. اما با حل این مثال متوجه شدید که یک نورون ساده چه محاسباتی میکند تا بفهمد وزن درست چه هست. یعنی فرآیند یادگیری نورون مصنوعی را از صفر تا صد خودتان محاسبه کردید. اگر نمودار اتلاف را رسم کنیم خواهیم داشت:
حالا نورون ما آموزش دیده است. مقدار w برابر با 1.999 بدست آمد. حالا نورون ما میتواند با وزن جدیدی که دارد، پیشبینیهای درستی انجام دهد. مثلا الان اگر به نورون ورودی 9 را یدهیم انتظار داریم خروجی 18 بدهد درست است؟ ببینیم نورون چه تخمینی میزند:
yp = w*x+b = 1.999*9 + 0 = 17.991
مشاهده میکنید که تقریبا نتیجه را درست حدس زده است. اگر بخواهیم دقیقا 18 را تخمین بزند چکار باید بکنیم؟ باید فرآیند بهینه سازی را انقدر ادامه دهیم تا یادگیری نورون مصنوعی ، کاملتر شده و وزن به عدد 2 نزدیکتر شود.
منابع آموزش یادگیری عمیق
در فهرست زیر، تعدادی از منابع خوب آموزش یادگیری عمیق را معرفی کردهایم.
در این پست نحوه یادگیری نورون مصنوعی را بررسی کردیم. امیدوارم این آموزش مورد توجه شما قرار گرفته باشد. نظرات و سوالات خود را پایین 👇 برایمان کامنت کنید. حتما سوالات شما پاسخ داده خواهد شد.
دیدگاه شما