MatlabTips
892 subscribers
461 photos
72 videos
54 files
301 links
آموزش MATLAB با "استفاده از ویدئو و متن" در سطوح مبتدی تا پیشرفته
پاسخ به سوالات تخصصی:
@roholazandie
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
One thing I learned in life in helping from family members and close relatives to friends and even strangers is that:
Don’t help until you asked for help
Or at least don’t insist on helping otherwise your help seems worthless and you lose respect

You can never bring somebody up if they don’t want to go up
چند نکته بسیار مهم در مورد یادگیری ماشین

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

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

https://vrgl.ir/ovAUb
Media is too big
VIEW IN TELEGRAM
ریاضیات زبانی است که جهان با آن نوشته شده است (گالیله)

موج های ابری پدیده ای از هواکره (اتمسفر) است که در آن ابرها مانند موج های آب حرکت میکنند. چنین موج های سینوسی ایستاده ای (standing sine waves) از معادلات دیفرانسیل مشخصی پیروی می کنند که دینامیک آن ها را توضیح میدهد.
🔵رمزگشایی تاریخ با یادگیری عمیق🔵

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

شرکت پژوهشی deepmind در یک پروژه ی جدید توانسته سیستم یادگیری عمیقی را آموزش دهد که بر روی متن های زبان یونانی آموزش دیده و می تواند با دقت بالاتری رمزگشایی کند. آنها توانستند خطای سیستم را به ۳۰ درصد برسانند در حالی که خطای بهترین متخصصان باستان شناسی ۵۷ درصد است.
کدهای این سیستم به صورت متن باز منتشر شده است که امکان استفاده آن برای سنگ نبشته های دیگر تمدن ها مانند ایران و چین و غیره (در صورت دسترسی به داده های دیجیتال عکس های خطی) امکان پذیر می شود.
Media is too big
VIEW IN TELEGRAM
مدل تصویر-زبانی DALLE-2 منتشر شد

این مدل علاوه بر افزایش کیفیت بسیار زیاد نسبت به نسخه ی اول قادر به کارهای جدیدی مانند اضافه یه حذف بخش هایی از تصویر با یک نوشته است. مثلا اگر عکس یک سگ در تصویر است می توانید بنویسید «به گربه تغییرش بده» و دقیقا تصویر با حفظ همه ی جزییات نور و رنگ و زمینه تغییر میکند

https://openai.com/dall-e-2/
Forwarded from زانکو (Javad Amirian)
This media is not supported in your browser
VIEW IN TELEGRAM
چرا بهتره تقلب نکنیم؟
توی این ویدیو، استاد دانشگاه کالیفرنیا، چه زیبا این موضوع رو توضیح میده.
ببینید و به اشتراک بگذارید.

زانکو
@zankoo_ai
مقایسه فراتر از مقدار ظاهری

در بسیاری از مواقع برای مقایسه (کوچکتر بزرگی تساوی) متغیر هایی که در زبان های برنامه با آن ها سر و کار داریم مقدار عددی آن ها نیاز داریم. به این ترتیب مشکلی که پیش می آید این است که اگر متغیرهایی داریم که دارای چند بخش هستند مثلا یک اسم و یک نمره و وقتی میخواهیم اسم شخصی که کمترین نمره را داشته پیدا کنیم چاره ای نیست جز اینکه اندیس آن را حفظ کنیم.
برای اینکه نیاز به چنین کار بسیار پر اشتباهی در برنامه نویسی نشویم راه بهتر استفاده از اپراتور های مقایسه در پایتون است. فرض کنید من کلاسی تعریف میکنم که هم اسم و هم نمره شخص را نگه می دارد.
اما اگر من نمونه ای از این کلاس بگیرم و شروع کنم دو شخص را با هم مقایسه کنم با خطای زیر مواجه می شوم
چون عملا چنین کاری اشتباه است. هر دو چیزی را نمی توان به صورت عددی با هم مقایسه کرد. یا شاید می شود؟؟ اتفاقی که در کد زیر می افتد بازتعریف (overload) سه تابع کوچکتری (lt) بزرگتری (gt) و تساوی (eq) است. در هر مورد ما مقداری که خود کلاس نگه می دارد یعنی x را با مقداری که قرار است مقایسه بشود (other) مقایسه می کنیم. در همه ی موارد ما باید یک مقدار بولین False/True برگردانیم
output:
saeed
یک مثال جالب تر تعریف کلاس اعداد مختلط است. میدانیم که نمیتوان اعداد مختلط را به صورت مستقیم با هم مقایسه کرد اما می توان مقدار نرم آن ها را با هم مقایسه کرد. برای اینکه مطمئن باشیم که میتوان خروجی خوبی گرفت تابع str را هم overload می کنیم تا خروجی زیبا تری داشته باشیم
خروجی
مهم نیست کجا هستیم و در چه رده ی علمی ای قرار گرفتیم، نباید فراموش کنیم تعلق به جامعه ی ایرانی مهم و به رشد بیشتر همه ی ما کمک میکند. این بزرگترین سلاح ما در برابر شرایط سیاسی ناعادلانه (چه داخل و چه خارج از ایران)، پیش فرض های غلط، موانع رشد و شکنندگی ما هنگامی که تنهاییم است.
یاد بگیریم و به دیگران هم یاد بدهیم!
This media is not supported in your browser
VIEW IN TELEGRAM
در این ویدیو به اسم thinking machine که در اوایل ۱۹۶۰ در آزمایشگاه های بل ضبط شده است متوجه بسیاری از بحث های امروزه در مورد هوش مصنوعی می شوید: نگرانی خبرنگار از رشد هوش مصنوعی!‌ متقاعد شدن متخصصین ازینکه ماشین ها واقعا فکر میکنند و در نهایت ادعای شگفت انگیز کلاود شنون نابغه ی ریاضیات و علوم کامپیوتر که پیش بینی می کند در طی ۱۰ یا ۱۵ سال آینده ربات هایی خواهیم داشت که در حد داستان های علمی تخیلی باشند!
بخش جالب تر ماجرا این است که مساله ترجمه (translation) را تقریبا حل شده می دانند در صورتی که چنین ادعایی حتی امروزه با بهترین سیستم های یادگیری عمیق قدری دشوار است!

از نظر من درسی که می توان گرفت این است که باید نسبت به ادعاهای عجیبی که امروز می شود (مثل ادعای کارمند اخراج شده ی گوگل مبنی بر اینکه هوش مصنوعی گوگل ذی شعور (sentient) است) با دید شک بیشتری نگاه شود!

نمیتوان منکر پیشرفت ها شد اما قبل از هیجان زده شدن نیاز داریم به عنوان متخصصین کامپیوتر رشته های مجاور مانند روانشناسی، علوم شناختی فلسفه و عصب شناسی را بیشتر مطالعه کنیم و قدری نسبت به کاری که می کنیم فروتنی بیشتری داشته باشیم!
🔵هوش مصنوعی یک کاوش انتقادی🔵

چندی پیش مقاله ی عجیبی دیدم در مورد اینکه می توان با داشتن اسم شخصی به صورت حدودی چهره ی او را تشخیص داد. به طور مثال با دادن یک عکس و چند اسم به عنوان گزینه هم تشخیص افراد و هم ماشین از تصادف محض بهتر است. اما چگونه چنین چیزی ممکن است؟ آیا رابطه ای علی بین اسم افراد و چهره شان وجود دارد؟ شاید این افراطی ترین مثال از دورانی باشد که در آن زندگی می کنیم: دوران آمار!
امروزه شرکت های بزرگ با استفاده از داده های عظیمی که در اختیار دارند رفتارهای کاربران را در سطح کلان پیش بینی میکنند و گاهی منابع آنها برای تشخیص عجیب و باور نکردنی است. به طور مثال میتوان گرایش ها و فانتزی های جنسی را تنها با داشتن داده های حرکت ماوس با دقت بسیار بالایی پیش بینی کرد. یا می توان با میزان توقف شما بر روی هر کدام از پست های اینستاگرام میزان استرس یا احتمال افسردگی شما در چند سال آینده را تشخیص داد. یافتن چنین رابطه های هم بستگی ای (correlation) برای چنین شرکت هایی حکم طلا را دارد چرا که می توانند بهتر و بهتر شما را شناسایی و هدف تبلیغ کنند. اما چنین چیزی دیگر برای کسی پوشیده نیست. زمینه های کاری کاملی مانند سیستم های پیشنهاد دهنده (recommender systems) وجود دارد که به صورت گسترده در حال مطالعه هستند.

دسترسی به داده های عظیم، پیشرفت در سخت افزار و تکنیک های نرم افزاری و به طور مشخص یادگیری ماشین و یادگیری عمیق بسیاری از ایده های قدیمی در آمار را کاراتر کرده است. بسیاری از پژوهشگران امروزه دیگر متقاعد شده اند که می توانند هر مساله ای را با یافتن همبستگی های درست (هرچند بسیار پیچیده و چند لایه ای مانند شبکه های عصبی) کلید حل همه ی مسايل است. چنین روندی البته فقط محدود به علوم کامپیوتر نیست. در روانشناسی، علوم شناختی، اقتصاد، جامعه شناسی و ژنتیک هم کلید طلایی روابط آماری است! چنین روندی زمانی متقاعد کننده تر می شود که بسیاری از یافته های جدید در چنین رشته های گفته شده نشان می دهد رفتار ما و داده های ساخته ی ما (مانند روابط فرهنگی و اقتصادی کنش های اجتماعی و حتی زبان)‌ و بخش بزرگی از داده های طبیعی (مانند داده های بیولوژیکی مانند ژنتیک، سلول ها، مغز) تابع قوانین آماری گاه ساده ای است که حتی چند دهه ی پیش هرگز قابل پیش بینی نبود. در حوزه ی جامعه شناسی روابط آماری در لباس شبکه های پیچیده ‌(complex network) از چند دهه پیش توسط اشخاصی چون strogratz و duncan watts ابزار اصلی برای درک حرکت های جمعی توده ها از انقلاب و تشکیل گروه ها گرفته تا موفقیت و رادیکالیزه شدن شده است. از طرف دیگر در روانشناسی و علوم شناختی پژوهشگران نشان داده اند بسیاری از جنبه های هوش ما صرفا نتیجه ی روابط آماری است که مغز ما در اثر فرآیند فرگشت یا یادگیری در طول زندگی فراگرفته است و زمانی که چنین الگوهایی کشف شوند دیگر آن جعبه ی سیاه عجیب و پر از رمز و راز وجود نخواهد داشت.
شاید یکی از زیباترین روش ها برای نگاه به این موضوع از دنیل کاهنمن (Daniel Kahnman) رفتارشناس اقتصادی و برنده ی جایزه ی نوبل باشد. او کارکرد مغز را به دو بخش به نام سیستم ۱ و سیستم ۲ دسته بندی می کند. سیستم ۱ متشکل است از کارهایی که مغز بسیار سریع، اتوماتیک و شهودی و بدون زحمت انجام می دهد. مثال های آن رانندگی کردن، فهمیدن یک جمله، صحبت کردن با یک دوست و غیره است. چنین کارهایی به صورت روزمره و بسیار پرتکرار انجام می شود. از طرفی سیستم ۲ به کارهای گفته می شود که به صورت معمول ما آنها را کندتر انجام می دهیم و برای انجامشان نیاز به تمرکز بیشتری داریم. مثلا ضرب کردن دو عدد سه رقمی، حساب کردن نسبت قیمت به کیفیت دو ماشین لباسشویی، نگاه کردن به زنی در جمعیت که موهای خاکستری دارد و غیره. سیستم ۲ بیشتر مرتبط با کارهایی است که برای انجامشان نیاز به زمان بیشتری داریم و در انجام آنها هم معمولا اشتباهات بیشتری می کنیم. کاهنمن می گوید که ما در بیشتر اوقات در سیستم ۱ زندگی میکنیم و معمولا از میانبر ها برای انجام کارهای روزمره استفاده میکنیم حتی اگر انجام آن کار نیاز به درگیر شدن سیستم ۲ باشد. بسیاری از این میانبر ها همراه با سوگیری هاش شناختی (cognitive bias) هستند. چنین سوگیری های شناختی منبع اصلی چندین دهه مطالعات عمیق در روانشناسی تجربی برای نشان دادن این واقعیت است که انسان ها به صورت عمومی «منطقی» فکر نمی کنند. یک مثال معروف از خود کاهنمن به آزمایشی بر میگردد که به دو گروه از افراد دو ضرب را دادند ۱*۲*۳*۴*۵*۶*۷*۸ و دیگری ۸*۷*۶*۵*۴*۳*۲*۱ و از آنها خواستند تا در ۵ ثانیه جواب را بگویند چون زمان کم بود افراد به جای انجام آن مقدار محاسبه را حدس می زدند. گروهی که ضرب آنها با اعداد بزرگ تر شروع شده بود میانه ی (median) جوابشان بزرگ تر (۲۲۵۰) از گروهی بود که با اعداد کوچکتر (۵۱۲) شروع می شود. چنین خطای شناختی به نام anchoring bias شناخته می شود و از نشان از تغییر در یک تصمیم یا حساب به خاطر یه نقطه ی مرجع خاص است ( reference point). لیست چنین خطاهایی بسیار بلند بالاست و پرداختن به آنها از حوصله ی این مطلب خارج است.

بسیاری از وظایفی که در سیستم ۱ لیست شدند کارهایی هستند که ماشین ها هنوز با آن دست و پنجه نرم می کنند. دو مثال واضح آن رانندگی و فهم زبان است. اما چیزی که برای بسیاری از پژوهشگران در حال حاضر مشخص شده است این است که بسیاری از چنین وظایفی با روش های آماری (مانند یادگیری عمیق) قابل حل هستند. یکی از مثال های این مورد درک تصویری است که تا حد بسیار زیادی تمام جنبه های آن حل و فصل شده است. حتی رانندگی با اینکه مساله ی دشواری است تا حد بسیار زیادی حل شده است. اما سیستم ۱ چطور؟
تصور بسیاری در حوزه ی هوش مصنوعی این است که بسیاری از وظایفی که در سیستم ۱ تعریف می شوند زمان زیادی است که در هوش مصنوعی کلاسیک (Classical AI) حل شده اند. بعضی از آنها حتی نیاز به «هوش» خاصی ندارند. به طور مثال ضرب اعداد یا عملیات مختلف ریاضی و بعضی دیگر مانند بازی شطرنج و سودوکو و غیره که کامپیوتر ها بسیار بهتر و سریع تر بدون خطا انجام میدهد. اصلا کامپیوتر ها ابتدا برای انجام وظایف سیستم ۱ ساخته شدند. بنابراین نباید مشکل خاصی باشد.
موفقیت بسیار زیاد در انجام مسائل سیستم ۲ توسط شبکه های عصبی عمیق این تصور را به وجود آورده است که بزودی با افزایش بیشتر و بیشتر اندازه ی چنین شبکه هایی ناگهان یک گذار (phase transition) را مشاهده میکنیم و مساله ی تقلید هوش انسانی به صورت کامل حل خواهد شد. اعتماد بیش از حد به روش های آماری (که صد البته بسیار بسیار موفق بوده اند) باعث شده است که به محدودیت های آنها آگاه نباشیم. اما صبر کنید مگر نمیگوییم که انسان ها هم دچار همان خطاهای شناختی (سوگیری های شناختی) ناشی از الگو زدگی آماری (patternicity) هستند و وقتی به وظایف سیستم ۱ می رسد دچار خطاهای زیادی می شود؟ بنابراین چرا باید انتظار داشته باشیم که یک شبکه ی عصبی عمیق دچار چنین خطاهایی نشود. اصولا به نظر می رسد کارکرد های شناختی ما به شبکه های عصبی مصنوعی نزدیک تر باشد تا سیستم های کلاسیک.
چنین استدلالی تا حدودی درست است اما نکاتی را پنهان می کند که ما را به پاشنه ی آشیل سیستم های امروزی یا همان فاصله ی شناختی (cognitive gap) بین شناخت مغز و یک سیستم شبکه ی عصبی عمیق می رساند.

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

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

اگر همان شخص با فرمالیزم ریاضی آشنا بود قطعا درک میکرد که فرم های سمت چپ در شکل بالا اتفاقا بسیار ساده تر و قابل فهم تر هستند و پیاده سازی چیزی مثل تبدیل فوریه که تنها در یک خط از نماد ها قابل نوشتن است نیاز به صد ها خط برنامه نویسی دارد. نماد های ریاضی تصادفی نیستند بلکه بسیار هوشمندانه، چکیده و باشکوه طراحی می شوند. تفکر ریاضی نیازمند تخیل است و این همان چیزی است که در آموزش ریاضی غایب است.
Media is too big
VIEW IN TELEGRAM
امروز OpenAI از محصول جدید خود outpainting رونمایی کرد. با استفاده این ابزار میتوانید هر تصویری را گسترش بدهید. برای گسترش هر بخش میتوانید چندین ایده را امتحان کنید و هرکدام جالب تر بود انتخاب کرده و ادامه دهید. دلیل این توانایی امکان نمونه گیری تصادفی با شرط کانتکست است (P(X|Context )
این ابزار بیش از پیش ایده های خلاقانه ای به هنرمندان می دهد و عملا عرصه های جدیدی هم به دنیای هنر باز می کند