MatlabTips
892 subscribers
462 photos
72 videos
54 files
304 links
آموزش MATLAB با "استفاده از ویدئو و متن" در سطوح مبتدی تا پیشرفته
پاسخ به سوالات تخصصی:
@roholazandie
Download Telegram
یک شوخی با تنسرفلو #fun
کجا چه نموداری استفاده کنیم؟

Credit: https://twitter.com/MesgariSaber
This media is not supported in your browser
VIEW IN TELEGRAM
قانون مور قاعده‌ای سرانگشتی است که بیان می‌کند تعداد ترانزیستورهای روی یک تراشه با مساحت ثابت هر دو سال، به طور تقریبی دو برابر می‌شود.
صد البته این قاعده به دلیل محدودیت های فیزیکی تا ابد نمی تواند پایدار باشد.
سال ۲۰۲۰ آخرین سال برقراری قانون مور با فیزیک حال حاضر برای توسعه تراشه هاست. اما این لزوما پایان داستان نیست...
گوگل بالاخره امروز(۲۳ اکتبر ۲۰۱۹) تایید کرد که به «برتری کوانتومی» (quantum supremacy) دست پیدا کرده است. به این معنا که برای اولین بار یک کامپیوتر کوانتومی توانسته محاسبه ای را انجام دهد که خارج از دسترس بزرگترین ابر کامپیوتر کلاسیک دنیاست.
این کامپیوتر ۵۳ بیتی می تواند یک محاسبه خاص را در ۲۰۰ ثانیه انجام دهد کاری که برای بزرگترین ابرکامپیوتر جهان ده هزار سال طول میکشد!!
کامپیوتر های کوانتومی قادر به حل مسایل خاصی هستند که برای کامپیوتر های معمولی از لحاظ زمانی عملا ناممکن است . شکستن قوی ترین سیستم های رمزنگاری، شکستن الگوهای پیچیده ژنوم انسان که ما را قادر به ساختن داروهایی برای درمان سرطان می کند و همچنین ساخت مواد خاص در شیمی از آن دسته اند.
بسیاری از دانشمندان این موفقیت را یک قدم بسیار بزرگ به اندازه ساخت خود کامپیوتر می دانند.
بزودی در یک مطلب سعی میکنم توضیح دهم که اساس کامپیوتر کوانتومی چگونه است

ویدیو گوگل
مقاله
معرفی ابزار مونیتور کردن کد wandb

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

کسانی که یادگیری ماشین کار میکنند ارزش مانیتور کردن اطلاعات را می دانند. از طرفی به خاطر اینکه این سرویس در عمل آنلاین است نیازی ندارید که با teamviewer یا ssh به سیستمتان وصل شوید تا ببینید وضعیت چطور است. براحتی میتوانید بر روی گوشیتان هم چک کنید که بر روی سرور های دانشگاه یا سر کار چه می گذرد! اینجا چند اسکرین شات از نمودارهایی که دارم را گرفته ام در حالی که خانه هستم
🔵فراکتال بر روی GPU🔵

چند وقت پیش لایبرری های tensorflow, cupy و numpy‌و pytorch‌ را با هم مقایسه کرده بودم. آن جا یک مقایسه ساده بر اساس ضرب ماتریسی انجام دادم. دیشب سعی کردم دو فراکتال معروف مندلبرات و جولیا را پیاده سازی کنم (با الهام از یک کد دیگر از گیتهاب). از آنجایی که برای ساختن فراکتال شما نیاز به ایجاد یک ماتریس دارید (تا آن را به صورت فیدبک به فرمول خاصی بدهید اگر میخواهید بیشتر در مورد فراکتال بدانید این پست قدیمی را بخوانید) کتابخانه هایی که از کارت گرافیک استفاده میکنند می توانند بسیار مفید باشند.
متاسفانه با اینکه پایتورچ را از همه بیشتر میپسندم نتوانستم فراکتال را در آن پیاده سازی کنم چون این کتابخانه فعلا از اعداد مختلط پشتیبانی نمیکند. اما برای تنسرفلو نامپای و کوپای کدها را زدم. از tensorflow2‌ استفاده کردم. هر چند بعید میدانم بهینه ترین کد را برای تنسرفلو زده باشم اما بهبود نسبت به numpy‌ وجود داشت هر چند برنده سرعت cupy‌بود. برای بنچمارک سرعت سعی کردم جولیا ست( یک فراکتال دیگر)‌ را برای فاز های مختلف از صفر تا 2pi انیمیشن کنم. نتیجه سرعت ها به صورت زیر بود(بر اساس ثانیه):

tensorflow: 145.21
numpy: 165.63
cupy: 100.06

و صد البته نتیجه زیبای آن که در زیر میبنید
سورس کد
This media is not supported in your browser
VIEW IN TELEGRAM
مجموعه جولیا: یک فراکتال که بر روی کارت گرافیک پویاسازی شده است
کد
This media is not supported in your browser
VIEW IN TELEGRAM
کس مشکل اسرار اجل را نگشاد
کس یک قدم از دایره بیرون ننهاد
من می‌نگرم ز مبتدی تا استاد
عجز است به دست هر که از مادر زاد


خیام
جدا کردن بخش های مختلف موسیقی در پایتون (TF)

هفته پیش Deezer یکی از کدهای بسیار جالب خود به نام spleeter را اپن سورس و در دسترس همگان قرار داد که با آن می توانید هر آهنگی را به اجزای سازنده آن مانند صدای خواننده(ووکال) صدای گیتار پیانو و غیره تقسیم کنید!!(ساخته شده بر اساس تنسرفلو)

من این کد را برای آهنگ های مختلف امتحان کردم و می توان گفت برای همه موسیقی ها به یک اندازه خوب جواب نمیدهد. موسیقی های پاپ جدید که دستکاری زیادی می شوند نتایج خوبی ندارند ولی موسیقی های قدیمی تر بهتر جواب می دهند. یک نمونه اینجا گذاشته ام.
Audio
فایل اصلی (فایل ورودی)
Audio
فقط صدای خواننده (خروجی ۱)
Audio
فقط موسیقی (خروجی ۲)
🔵آزاد کردن غول از قفس🔵

امروز بالاخره OpenAI بزرگترین مدل زبانی خود را که بالغ بر 1.5 میلیارد پارامتر (حدود سه گیگابایت) است را منتشر کرد. این همان مدل زبانی ای بود که زمان خود (حدود یکسال پیش) آنقدر قدرتمند جلوه کرد که جنجال زیادی به پا کرد و به همین خاطر OpenAI قدری محتاطانه عمل کرد و مدل اصلی را منتشر نکرد بلکه یک مدل کوچکتر 77 میلیون پارامتری را منتشر کرد.

براساس داکیومنت OpenAI:
1- انسان ها خروجی های GPT-2 را بسیار متقاعد کننده می دانند! کیفیت متن تولید شده توسط این مدل بسیار بالاست طوری که افراد به خروجی های مدل از 10 امتیاز 6.72 را می دهند.

2- مدل GPT-2 می تواند برای سو استفاده تنظیم شود: پژوهش های CTEC نشان داده است که GPT-2 می تواند برای حداقل چهار مقصد شوم مورد سو استفاده قرار گیرد: برترپنداری نژاد سفید، مارکسیسم، اسلامگرایی جهادی و آنارشیسم. به این طریق که می توان اخبار و متن های جعلی با هدف پروپاگاندا و تغییر افکار عمومی فقط با این مدل ساخت و به مردم داد! (دقت کنید مساله این نیست که انسان هم می تواند این کار را انجام دهد مساله این است که ماشین می تواند حجم غیر قابل تصوری از این متون را تولید کند طوری که تمام اینترنت را آلوده و همه چیز را بهم بریزد)

3- تشخیص متن های تولیدی از متن واقعی تولید شده توسط انسان چالش برانگیز است. بهترین روش های یادگیری ماشین تنها دقتی حدود 96 درصد برای تشخیص متن جعلی تولید شده توسط این مدل از متن انسانی دارند که از دید OpenAI کافی نیست.

4- هیچ گزارشی از سو استفاده از این مدلهای کوچکتر تاکنون دیده نشده است! هیچ ردی از استفاده از این مدل برای ایجاد اسپم یا فیشینگ برای دزدیدن اطلاعات وجود ندارد. با این حال OpenAI اعلام کرده است که نمی توان از این موضوع هم کاملا مطمئن شد.

و در پایان OpenAI ادعای عجیبی کرده و گفته ما این مدل را منتشر کرده ایم چون زمانبندی ما چنین بوده است! متن انتشار آنها گیج کننده ست چون در عین حال که می خواهد نشان دهد این کار را مسئولانه و با پژوهش های زیاد انجام داده است در عین حال کاملا اعتراف می کند که این مدل خطرناک و قابل استفاده در راستای اهداف تروریستی است. این مانند این است که شما سر کوچه اسلحه نذری کنید و بگویید ما می دانیم این ابزار خطرناک است ولی حواستان باشد که درست استفاده کنید! در آخر باید به شیطنت دیگر OpenAI اشاره کرد که روز پنج نوامبر (*) را برای انتشار مدلشان انتخاب کرده اند!

*: پنج نوامبر به اتفاقات تاریخی خاصی اشاره دارد اما امروزه نماد شورش همگانی علیه طبقه حاکم است این در حالی ست که بسیاری آن را نماد خرابکاران و تروریست ها می دانند.
🔵دیدگاه جدیدی به کدنویسی🔵

میخواهم دیدتان را به کد نویسی تغییر دهم. این تغییر چنان بنیادین است که ابتدا ممکن است اصلا متوجه منظورم نشوید. اول باید به این فکر کنیم که اساسی ترین تصوری که ما از برنامه نویسی داریم چیست؟ از یک دید کلی برنامه نویسی یک «ابزار» برای پیاده سازی یک ایده است. کدها یک ساختار «متعین» (deterministic) دارند که باعث می شود دقیقا همان چیزی باشند که ما می خواهیم. دقیقا مانند ساختن یک ابزار مکانیکی. شبیه به یک آسیاب قدیمی که نیروی آب را گرفته و با استفاده از تعداد بسیار زیادی اهرم ها و پیچ های چوبی و فلزی یک حرکت دیگر را ممکن می کند. از این دیدگاه خود برنامه نویسی چیز خاصی ندارد. در حالت خیلی ساده مثلا یک نیاز کاربر را جواب می دهد. مثلا حقوق ماهیانه را بر اساس ساعت ها محاسبه می کند یا اطلاعات شما را از دیتابیس می خواند. یا حتی می تواند یک بازی کامپیوتری عظیم مثل assassin's creed متشکل از میلیون ها خط کد باشد. در حالت پیچیده تر می تواند برای شبیه سازی یک پدیده فیزیکی مثلا انتقال حرارت استفاده شود و حتی در حالت بازهم پیچیده تر می تواند یک سیستم هوشمند برای پیشنهاد دادن محصول به مشتری یا تشخیص چهره باشد.
ممکن است بپرسید خب کد نویسی همین است دیگر. اما یک تفاوت اساسی وجود دارد تفاوتی که باعث می شود علوم پایه همچنان جذاب تر بمانند. علوم پایه مانند فیزیک و ریاضیات و زیست شناسی «راز آمیز» اند به این معنا که مسایل ناشناخته ای دارند که به ما رازهای پنهان هستی را نشان داده اند یا خواهند داد. علوم پایه از یک تمایل شدید بشر برای کشف و آگاهی می آیند. چیزی فرای پدیدارها! چیزی که تعامل ما به جهان هستی را عجیب و جالب می کند. اما کد نویسی ظاهرا در نهایت فقط یک ابزار برای رسیدن به آن اهداف است. اما ایا واقعا چنین است؟ نه اینطور نیست کد هم راز آمیز است!

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

بهترین روش بررسی این موضوع بررسی آن از لحاظ تاریخی ست. کامپیوتر ها از خلا بوجود نیامدند. کامپیوتر ها حتی فقط از روی نیاز بوجود نیامدند. نظریه محاسبه بخشی از ریاضیات است که از یک برنامه معروف سر بر آورد: برنامه هیلبرت. برنامه ای که می خواست تمام ریاضیات را بر بنیان های محکمی استوار کند. ریشه های اصلی چنین خواستی بحران در پایه های ریاضیات بود! بحران هایی که از تناقض های زیادی خبر می داد و نیاز به یک فندانسیون قدرتمند برای بزرگترین دستاورد بشر یعنی ریاضیات را لازم می کرد. هیلبرت ریاضیدان آلمانی در صدد ایجاد سیستمی فرمال برای تمام بخش های ریاضیات بود. طوری که اثبات ها و حقایق ریاضی همه به صورت کاملا «متعین» با یک ابزار که بعدا در قالب کامپیوتر تیوریزه و متجسم شد قابل دسترسی باشند. پافشاری بر این سیستم منجر به رشد انفجار گونه منطق در اوایل قرن بیستم شد. اصول برنامه هیلبرت عبارت بودند از:
۱- یک فرمال سازی برای تمام ریاضیات.به عبارت دیگر تمام ریاضیات باید به یک زبان فرمال و دقیق (چیزی بسیار شبیه به زبان های برنامه سازی کنونی) بیان شود.
۲- تمامیت: تمام حقایق ریاضیات باید در داخل این چارچوب به صورت کاملا مکانیکی قابل اثبات باشند(دقیقا مانند یک کد).
۳- سازگاری:‌ هیچ راهی برای اثبات دو گزاره متناقض در داخل سیستم وجود نداشته باشد.
۴- تصمیم پذیری: باید یک الگوریتم یا رویه قدم به قدم برای تصمیم گیری درستی و نادرستی هر عبارت ریاضی وجود داشته باشد.

این دیدگاه به ریاضیات آن را مانند یک ماشین بسیار بزرگ با تعداد زیادی دنده و چرخ می بیند که همه ی بخش های آن سازگار و دقیق هستند و حرکت هر بخش با بخش های دیگر هماهنگ شده است. چنین چیزی بسیار شبیه به یک کامپیوتر امروزی به نظر می رسد. اما برنامه هیلبرت شکست خورد و این شکست سرآغاز دیدگاه جدیدی نسبت به سیستم های فرمال و محاسبه بود. محاسبه بر خلاف معنی لغوی آن که «تکرار پذیر، بی محتوا، ساده و متعین» است یکی از پیچیده ترین رازهای هستی ست که آن را کنار بقیه راز ها قرار می دهد.
ادامه قسمت بعد
MatlabTips pinned Deleted message
‏شاخه‌ی هم‌خون جدامانده‌ی من
آسمان تو چه رنگ‌ست امروز؟
آفتابی‌ست هوا
یا گرفته‌ست هنوز؟
من درین گوشه
که از دنیا بیرون‌ست
آسمانی به سرم نیست
از بهاران خبرم نیست
آنچه میبینم
دیوار است

#IranProtests