MatlabTips
891 subscribers
462 photos
72 videos
54 files
304 links
آموزش MATLAB با "استفاده از ویدئو و متن" در سطوح مبتدی تا پیشرفته
پاسخ به سوالات تخصصی:
@roholazandie
Download Telegram
۱۷ معادله ای که جهان را تغییر داد
(از یان استیوارت)
نظم فضایی شهری
شبکه ی خیابان های شهری می تواند بر اساس اصول از پیش تعیین شده (مانند دنور) یا به رشد طبیعی (مانند برلین) یا ترکیبی از هر دو (تهران) باشد. (در شکل های فضایی بالا می توانید حدس بزنید که هر کدام مربوط به کدام یکی از این سه شهر است)

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

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

https://karpathy.github.io/2021/06/21/blockchain/
🥎کوپایلت دستیار هوش مصنوعی برنامه نویسی🥏

هر کسی ارزش برنامه نویسی با یک نفر دیگر (pair programming) را می داند. وقتی شخصی کنار دست شما باشد حتی اگر برنامه نویسی اش بهتر نباشد میتواند بسیاری از خطاها را سریع تر تشخیص بدهد یا قسمت هایی از کد را با همفکری جلو ببرید.
گیتهاب با همکاری OpenAI از نسخه ی هوش مصنوعی همکار کد زن به اسم کوپایلت copilot رونمایی کرده است. کوپایلت می تواند با استفاده از کامنتها و مثال ها کد بنویسید و بسیاری از بخش های تکراری کار کد زنی (مثلا دانلود کردن تعدادی فایل از یک لیست از لینک ها ) را اتوماتیک کند. به همین خاطر کوپایلت بسیار فراتر از اوتوکامپلیت های معمول جلو می رود و عملا حتی یک تابع کامل را بر اساس اسم تابع برای شما می نویسد. ارزیابی ها نشان می دهد کوپایلت در ۴۳ درصد موارد بخش های کد را به طور درست و کامل می نویسد و این عدد هر روز بهتر هم می شود. همه کدهایی که کوپایلت می نویسد قطعا بدون خطا نیست بنابراین نیاز به یک مرحله از تست و بازبینی هم دارد ولی برای گرفتن ایده بسیار عالی است.

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

آیا میتوان یک قطعه شعر را تصویر کرد؟ قبلا در مورد مدل CLIP صحبت کرده بودیم. مدلی که قادر به ساختن تصاویر از متن است. در طول چند ماه اخیر این مدل حتی بهتر هم شده است. امروزه هنرمندان زیادی ازین مدل برای ساختن کارهای خلاقانه استفاده می کنند. از آنجایی که به شخصه علاقه زیادی به این رشته تازه متولد شده دارم کانال جداگانه ای به اسم «هنر ماشینی» (Machine Art) ساخته ام که در آن تنها تصاویر ساخته شده توسط هوش مصنوعی بر اساس متن های ادبی یا شعر ها را نشان می دهم و آرشیو میکنم (با ذکر منبع و در آینده نزدیک هم میسازم). می توانید این کانال را دنبال کنید.

در زیر تنها یک نمونه از یک شعر که توسط جک کراوک رمان نویس و شاعر آمریکایی فرانسوی تبار سروده شده و توسط مدل CLIP به تصویر تبدیل شده است را نمایش می دهم. (شاید در آینده بتوان برای شعر های فارسی هم چنین کاری کرد)

https://t.iss.one/machines_art
Forwarded from Machine Art
Night — & when the great rains of the
night boom & thunder
in the South, when
the woods are blackened, made wet,
mudded, shrouded, impossibled —

—Jack Kerouac
اسرار اَزَل را نه تو دانی و نه من،
وین حل معمّا نه تو خوانی و نه من؛
هست از پس پرده گفت‌وگوی من و تو،
چون پرده برافتد، نه تو مانی و نه من.
(خیام)

Image generated by VQGAN+CLIP
خیام اگر ز باده مستی خوش باش
با ماهرخی اگر نشستی خوش باش
چون عاقبت کار جهان نیستی است
انگار که نیستی چو هستی خوش باش

(خیام)

Image generated by VQGAN + CLIP
دیروز بالاخره فرصتی بدست آوردم تا دست به آزمایش با تصویر سازی شعر فارسی با استفاده از شبکه ی عصبی CLIP و VQGAN بزنم. از آنجایی که مدل های زبانی مورد استفاده من برای متن های انگلیسی آموزش داده شده بودند از بهترین ترجمه انگلیسی خیام یعنی ترجمه فیتزجرالد استفاده کردم (خیام را انتخاب کردم چون شاعر محبوبم است). یکی از ویژگی های این روش این است که صرفا به کلمات توجه نمیکند بلکه ساختار معنایی و نحوی آنها را هم در نظر میگیرد.

نتایج به تابلوهای نقاشی ای شباهت دارند که المان های اصلی شعر را بوضوح می توان در آنها دید. تا جایی که میدانم چنین کاری تاکنون برای فارسی انجام نشده است بنابراین میتواند قدم جالبی باشد که ایده های جدیدتری هم به ذهن می آورد.

برای دیدن تصویر سازی بقیه شعر ها می توانید به کانال «هنر ماشین» که برای همین کار درست کرده ام مراجعه کنید.

سورس کدها را هم بزودی همینجا میگذارم. برای اجرا کردنشان نیاز به یک کارت گرافیک حداقل ۱۲ گیگابایتی دارید
با پیشنهاد برخی از دوستان صفحه اینستاگرامی برای «هنر ماشین» ساختم تا تعداد بیشتری خروجی ها رو ببینند و الهام بخش کارهای بهتر آینده هم باشد. لطفا به دوستانتان هم معرفی کنید.
https://www.instagram.com/machines_art_/
دیدگاه جدیدی به نرم افزار

اگر نگاهی به مواد درسی رشته کامپیوتر (مهندسی و علوم کامپیوتر) تقریبا هر جای دنیا بیندازیم متوجه می شویم نحوه آموزش علم کامپیوتر اینگونه است که آنرا شاخه ای از ریاضیات و منطق می شناسند. درسهای ساختمان گسسته و الگوریتم و مدار منطقی و زبان ماشینها، برنامه های کامپیوتری و اجزای آن را تابع های ریاضی ای معرفی میکنند که از جهات مختلف مورد مطالعه قرار می گیرند. مثلا برنامه چند قدم برای هر ورودی زمان نیاز دارد. آیا برنامه بر روی هر ورودی ممکنی متوقف می شود یا خیر. این روش البته بسیار موفق عمل کرده است و دلایل تاریخی خوبی برای چنین رویکردی به برنامه نویسی وجود دارد. آلن تورینگ و آلونزو چرچ ریاضیدان و منطقدان بودند و دیدگاه آنها نسبت به کامپیوتر هم شاخه ای از منطق بود. کامپیوترها در ابتدا صرفا ساخت های صوری ای بودند که به صورت انتزاعی مورد مطالعه قرار میگرفتند. دیدگاه ساختمان صوری به برنامه نویسی بسیار موفق و پر بار است اما بدون اشکال هم نیست. این بخصوص زمانی آشکار می شود که اندازه برنامه ها بزرگ می شود یا برنامه ها از ساختارهای تماما متعین (deterministic) فاصله می گیرند. مواردی که تقریبا تمام حالت های مفید برنامه نویسی را پوشش می دهد.
اولین مورد اندازه برنامه هاست. وقتی اندازه برنامه خیلی بزرگ می شود ویژگی های جدیدی به میدان می آیند. اولین نکته این است که برنامه های بزرگ را تقریبا نمی توان با روش های formal verification مورد بررسی قرار داد. یعنی نمی توان از صحت آنها به صورت کامل مانند یک سیستم صوری کوچک مطمئن شد. کاری که می توان کرد این است که برای برنامه تست نوشته می شود اما این تست ها هرگز نمی توانند تمام حالت های ممکن را پوشش دهند. بنابراین باگ بخشی از برنامه است! هرگز نمی توان یک برنامه بزرگ (مثلا در اندازه مایکروسافت ورد یا لینوکس) را بدون هیچ باگی داشت. از طرفی برنامه یک ساخت صوری تمام شده نیست بلکه نیاز به رسیدگی (maintenance) دارد. کسی یک سیستم صوری مانند منطق درجه یک را رسیدگی نمیکند چون سیستم تمام شده و سازگاری (consistency) و تمامیت (completeness) آن اثبات شده است. منطقه درجه یک نمونه کامل از یک ساخت کامل افلاطونی ست! دنیای واقعی اما به ندرت چنین ساختارهایی دارد. هیچ نرم افزاری وجود ندارد که نیاز به رسیدگی نداشته باشد چون همه می دانند نرم افزار دقیقا مانند یک موجود زنده است. یک موجود زنده همواره سلولهای کهنه را دفع کرده و سلول های جدید میسازد. مغز یک موجود زنده همواره در حال اضافه کردن ارتباطات جدید است. به همین دلیل نرم افزاری که رها شده باشد حتی اگر بهترین نرم افزار باشد مانند یک جسد است! چنین دیدگاهی به نرم افزار با روش سنتی تصویر کردن نرم افزار به عنوان یک سیستم صوری که درستی آن قابل اثبات است فاصله زیادی دارد.

ادامه دارد...
🔵پردازش پیش بینی کننده ۱ (predictive processing)🔵

پارسال وقتی پسر خالم کلاس اول بود یه بار امد خونه گفت دوستم گفته اگه قبل از آب خوردن بگی"یا حسین مظلوم" آب شیرین میشه! باباش برای روشنگری به شیوه ای پراگماتیک(!) بهش گفت برو دو تا لیوان آب بیار. رفت آورد. گفت حالا یکیشو بخور. بعد ازش پرسید چه مزه ای بود؟ گفت:هیچی. گفت حالا بگو "یا حسین مظلوم" اون یکی رو بخور. همین کارو کرد. ازش پرسید: حالا این یکی چه مزه ای میداد؟ با یه قیافیه ی خیلی شیطون و بامزه گفت: شیرین بود!!

دو پژوهشگر به نام های Remez و Rubin در سال ۱۹۸۴ [1] دست به آزمایش جالبی زدند. آنها صوت های کوتاهی را گرفته و نسخه ی موج سینوسی آن را درست کردند. این نسخه تقریبا تمام ویژگی های صوت اولیه را از دست داده بود و هنگامی که به آن گوش دهید چیزی شبیه به صدای موجودات فضایی در فیلم های علمی تخیلی می شنوید. بخش جالب ماجرا اما این است که اگر اول صدای اصلی را بشنوید و بعد صدای سینوسی را می توانید آن را بفهمید. این اثر آنقدر قوی است که عملا دیگر امکان ندارد که آن صدای اصلی را در صدای سینوسی نشنوید. صدایی که در ابتدا با نویز فرقی نداشت! (در زیر یک مثال آورده ام مثال های بیشتر اینجا)

این مورد البته فقط به صدا محدود نمی شود. آزمایش ها نشان داده است رنگ شراب در نحوه ی ادراک مزه ی آن بسیار موثر است. آنقدر این اثر قوی است که با رنگ کردن مصنوعی شراب سفید حتی می توان متخصصان شراب را هم گول زد طوری که فکر کنند شرابی که در اصل سفید است قرمز بدانند [2]. یا آزمایش های دیگری که نشان داده خوردن صدف زمانی که در پس زمینه صدای دریا پخش می شود مزه ی بهتری دارد!

این پدیده ها ویژگی مهمی در مورد مغز ما را نشان می دهند که برای دهه ها مورد بحث فلاسفه، عصب شناسان و دانشمندان علوم شناخت و حتی هوش مصنوعی بوده است: مغز ما از چارچوبی به نام پردازش پیش بینی کننده ( predictive processing) استفاده می کند. مغز ما صرفا داده های حسی دنیای بیرون را بدون دخل و تصرف درک نمی کند بلکه در ادراک ما بر اساس دانش پیشینی (prior knowledge) تغییرات ساختاری ایجاد می کند.

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

ایده ی پردازش پیش بینی کننده (pp) اساس بسیاری از مدل هایی است که برای فشرده سازی داده ها (data compression) استفاده می شود. در ماشین های بولتزمن (boltzmann machine) و ماشین های هلمهولتز (helmholtz machines) از همین ایده برای پیش بینی ورودی ها استفاده می شود.

[1] Remez, R. E., & Rubin, P. E. (1984). On the perception of intonation from sinusoidal sentences. Perception & Psychophysics, 35, 429–440.

[2] Shankar, M. U., Levitan, C., & Spence, C. (2010). Grape expectations: The role of cognitive influences in color–flavor interactions. Consciousness & Cognition, 19, 380–390.
sign_wave.wav
80.4 KB
صدای سینوسی (اول به این گوش بدهید بعد به صدای واضح توجه کنید و دوباره به این یکی گوش دهید)
clear.wav
80.4 KB
صدای واضح