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

به جرات می توان گفت که این مجموعه جادی بهترین منبع برای یادگیری زبان پایتون به فارسی است. اگر جادی رو نمیشناسید باید بگم که یکی از پیشگامان روزنامه نگاری علمی برای برنامه نویسان و ایجاد کننده خیلی از منابع بسیار مفید یادگیری برنامه نویسی و لینوکس و غیره به صورت رایگان برای همه است. سایتش رو هم می تونید چک کنید. این نسخه آپارات و یوتیوب برای دوره یادگیری پایتون است.
All of man's troubles come from his inability to sit quietly in a room by himself
🎵برنامه shazam چطوری کار میکند؟🎵

احتمالا با برنامه shazam آشنا هستید (اگر نیستند آن را دانلود و نصب کنید چون بسیار ضروری است!). این برنامه میتواند اسم آهنگی که پخش می شود را حتی در یک محیط پر سرو صدا و نویزی پیدا کند! کافی است میکروفون را روشن کنید و بعد از چند ثانیه اسم آهنگ را نشان می دهد. این برنامه ی بسیار مفید بر اساس ایده ی نسبتا ساده ای در پردازش سیگنال کار میکند. نویسندگان مقاله شزم این ایده را تجاری کردند و شرکت بزرگی بنا نهادند. در نهایت در سال ۲۰۱۸ اپل این شرکت را به ارزش ۴۰۰ میلیون دلار خرید! (میشه دید بعضی مقاله ها آدم رو پولدار می کنن!! 😄😄)
به تشخیص یکتای موسیقی، انگشت نگاری صوتی (audio fingerprinting) هم می گویند و دقیقا مانند انگشت نگاری های معمول به دنبال یافتن اثر انگشت یکتای هر موسیقی ای است که ساخته شده یا خواهد شد! در مرحله اول spectrogram آهنگ تهیه می شود. Spectrogram چیزی نیست جز تبدیل فوریه موسیقی در زمان. به این معنا که شما مثلا برای هر صدم ثانیه از موسیقی خود یک تبدیل فوریه میگیرید و سپس آن ها را پشت سر هم قرار می دهید. چیزی که به دست می آید نموداری شبیه به شکل زیر می شود
که در آن ارتفاع هر نمودار به صورت رنگ نمایش داده شده است. (هر چه رنگ گرم تر باشد نشان دهند قسمت های بلند تر است) به نحوی می توان گفت این یک نمودار سه بعدی هم هست. در مرحله بعدی نقاط مرتفع را پیدا می کنیم. نقطه ای مرتفع است که از همسایگان خود بالا تر باشد. می توان با یک فیلتر بالا گذر آن ها را براحتی پیدا کرد. نتیجه چیزی شبیه به زیر خواهد بود
در مرحله بعد از این نقشه، فاصله های نقاط مرتفع و مقدار فرکانس آن ها را به یک تابع درهم سازی (hash function) می دهیم. همانطور که قبلا هم در مورد توابع در هم سازی گفتیم آن ها توابعی هستند که به ازای هر ورودی یک خروجی یکسان می دهند (تابع های یک به یک هستند)‌ و همچنین کوچکترین تفاوت در ورودی منجر به خروجی ها بسیار متفاوت می شود. به این ترتیب می توان به ازای هر نقشه یک عدد منحصر بفرد داشت.
در آخرین مرحله کافی است اسم هر آهنگ و این عدد یکتا را در یک دیتابیس ذخیره کرد و بعدا هرگاه بخواهیم آهنگ را پخش کنیم می توانیم آن را پیدا کنیم!
اینجا کدهای پیاده سازی یک پروژه شبیه به shazam در پایتون به همراه توضیحات مفصل تر را می توانید پیدا کنید.
"عزیزم، امروز ۶۱۸ امین روز آشناییمونه! امیدوارم مثل خورشید حست مثبت باشه!❤️"
پیام رمانتیک این چنینی برای هر کسی جذابه و روزش رو میسازه، اما تصور کنید چند لحظه بعد پیام دیگه ای ازش دریافت میکنید:
"دمای هوا ۱۸ تا ۳۴ درجه سانتی گراد، کیفیت هوا ۴۲"
اینجاست که متوجه میشید یه جای کار میلنگه!
یک برنامه نویس چینی برای خلاص شدن از پیام رد و بدل کردن با دوست دخترش یک چت بات طراحی میکنه تا باهاش موقعی که کار میکنه حرف بزنه! کار خوب جلو میره تا اینکه دختره شک میکنه به سرعت بالای جواب دادن و جواب های پرت و پلایی که گاهی اوقات میاد! این بار که مچ طرف گرفته شد اما
با ظهور فناوری های پیچیده تر در پردازش زبان طبیعی بخصوص gpt2 و bert و چت بات هایی که دارای شخصیت هستند گول خوردن از این سیستم ها هر روز ساده تر میشه.
بزودی مطالبی در مورد طراحی چت بات در کانال قرار میدم

https://www.abacusnews.com/digital-life/busy-boyfriend-creates-bot-chat-his-girlfriend/article/3013843
Forwarded from اتچ بات
🌕پردازش زبان طبیعی (Natural language processing)🌕

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

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

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

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

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

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

توضیح:

https://lilianweng.github.io/lil-log/2017/10/15/learning-word-embedding.html
پیاده سازی:

https://towardsdatascience.com/implementing-word2vec-in-pytorch-skip-gram-model-e6bae040d2fb
یک اسکرین شات از سایت repl.it
یکی از مزایای به اشتراک گذاشتن کدهایتان بر روی اینترنت این است که با آدم های فوق العاده باهوشی آشنا می شوید که کد شما را می گیرند و بهتر می کنند و به شما ابزارهای جدیدی معرفی می کنند. چندی پیش کدهای Boid را بر روی گیت هاب قرار دادم و بعد از چند هفته شخصی به من پیام داد که کد تو را خوانده و از آن لذت بردم و سعی کردم آن را با ابزار دیگری پیاده سازی کنم. نتیجه کارش واقعا بهتر از کد اصلی هم بود. اینجا می تواند کدهایش را ببینید.
اما علاوه بر آن او ابزار جالب جدیدی به من نشان داد. به طور معمول برای اجرا کردن کدها نیاز دارید آن را دانلود کنید و بر روی سیستم خودتان اجرا کنید به این ترتیب نیاز دارید که مثلا پایتون یا سی شارپ را نصب شده داشته باشید و سپس لایبرری ها را نصب کنید و استفاده کنید. اما وب سایت repl.it به شما امکان می دهد کدهایتان را در مرورگر خودتان اجرا کنید. برای این منظور ان ها طیف وسیعی از زبان های برنامه نویسی را پوشش می دهند (از پایتون و سی گرفته تاجاوا اسکریپت و سی شارپ و هسکل و غیره). متاسفانه به دلیل محدودیت های زیادی که mathwork بر روی matlab گذاشته امکان اجرای آزاد آن وجود ندارد.
کافی است یک اکانت بسازید و سپس شروع به کد زدن بکنید. کدهایتان را می توانید حتی دیباگ کرده یا دانلود کنید و آن را به اشتراک بگذارید بدون اینکه از طرف بخواهید چیزی بر روی سیستم خودش اجرا کند.
اینجا من یک نمونه درست کردم ام:
https://repl.it/@roholazandie/mycoolproject
و این هم کد دوست آنلاین ما برای Boid:
https://repl.it/@PySimpleGUI/Boids-on-PySimpleGUI
Forwarded from زانکو (Rohola Zandie)
This media is not supported in your browser
VIEW IN TELEGRAM
کتابخانه جدید PyRobot یک چارچوب متن باز رباتیک توسعه داده شده توسط فیس بوک است. اگرچه این کتابخانه جدید است اما جای کار بسیار زیادی دارد.

https://www.pyrobot.org/
🔵آیا هوش مصنوعی واقعا می تواند تجربه انسانی داشته باشد؟🔵

فرض کنید روزی تکنولوژی به حدی برسد که هوش مصنوعی قادر باشد آزمون تورینگ را پشت سر بگذارد. یعنی بتواند طوری رفتار کند و حرف بزند که شما را براحتی گول بزند و نتوانید تشخیص دهید که انسان پشت خط است یا ربات. اما اگر این هوش مصنوعی پیشرفته نزد شما بیاید و بگوید که خیلی غمگین است یا عاشق شده است حرفش را باور می کنید؟ برخورد شما چیست؟ احتمالا فکر کنید که یک سری صفر و یک توی مدارهاش داره جابجا میشه و مهم نیست! اما هرچقدر با او بیشتر صحبت می کنید بیشتر باور می کنید که واقعا عاشق شده است!(یادتان نرود از بیرون هیچ تفاوتی با انسان ندارد) اما ته ته دلتان راضی نمی شوید که واقعا درونش چیزی باشد که بتواند حس کند. چیزی آن تو نیست که مزه گیلاس را واقعا بداند! واقعا بداند دندان درد چیست یا اصلا دوست داشتن و حس قنج رفتن توی دل وقتی کسی که دوستش را دارید را حس کند!
انگار ما انسان های گوشت و پوست و عصب چیز خاصی داریم که ربات نمی تواند داشته باشد: تجربه انسانی! اما آیا واقعا کسی برای این حرف ها تره خرد می کند؟ چه چیزی باعث می شود که فکر کنید چیز خاصی در مغز شما که میلیاردها نورون های عصبی با ترکیبات شیمیایی هست وجود دارد که در مغز سیلیکونی و پر از میلیارد ها ترانزیستور او نیست؟ یک جواب راحت: ما روح داریم و ربات ندارد! نظر شما هم محترم است اما بیایید قدری جدی تر به مساله نگاه کنیم.
«آگاهی» یا consciousness به مجموعه ای گفته می شود که حداقل ما فکر می کنیم ما را از مثلا یک تکه سنگ متفاوت می کند. اینجا نمی خواهم به این بپردازم که آگاهی چیست اما می توان مساله را ساده تر کرد و به برخی از تجارب خاص آگاهی اشاره کرد. یکی از مهمترین آنها «کیفیات ذهنی» یا qualia است. منظور از کیفیت ذهنی هر چیزی است که یک حس خاص در «دنیای درونی» ما ایجاد می کند به عنوان مثال تجربهٔ مستقیم رنگ‌ها، درد، بو، خشم مثال‌هایی از کیفیات ذهنی می‌باشند. مزه ی گیلاس چیزی ست که یک کیفیت ذهنی محسوب می شود. این شاید واضح ترین چیزی باشد که شما به آن تجربه بلاواسطه دارید. اما برخی آنقدر جرات دارند که وجود آن را زیر سوال ببرند!!
مشکل از اینجا شروع می شود که کیفیات ذهنی قابل مقایسه نیستند. به طور مثال ممکن است تجربه شما از رنگ قرمز مثل تجربه من از آبی باشد اما چون از کودکی آموخته ایم که چطور آن ها را نام ببریم نمی توانیم واقعا این فاصله را پر کنیم و به سوال جواب دهیم. بنابر تعریف کیفیت ذهنی قابل به اشتراک گذاری نیست! همین سر آغاز مشکل است. فرض کنید شب خوابیده اید و نیمه شب یک جراح دیوانه مغز شما را باز می کند و درک شما از طیف رنگ ها را برعکس می کند( قرمز آبی می شود و آبی قرمز). آیا فردا صبح که از خواب بیدار می شوید می توانید متوجه این تغییر بشوید؟ برای اینکه متوجه تغییر بشوید باید درک خود از رنگ ها را با حافظه ی ادراکی خود از رنگ ها مقایسه کنید. بنابراین در عمل شما دارید از حافظه خود بهره می گیرید نه آنچه واقعا «قبلا» درک می کردید! دقت کنید اینجا تفاوت ظریفی وجود دارد اگر خود ماجول «درک رنگ» عوض شده باشد شما نمی فهمید چون چیزی که به خاطر می آید هم باید از این ماجول استفاده کند و بنابراین رنگ ها هم برعکس به خاطر می آیند و تفاوتی حس نمی شود.( تحقیقات عصب شناسی نشان داده است «به یاد آوری ادراکات» و «درک بلادرنگ آن ها» قسمت های یکسانی از مغز را فعال می کند.) اما اگر حافظه ادراکات تغییر کند و ماجول درک رنگ تغییری نکند شما رنگ هایی را که به خاطر می آورید وارونه حس می کنید اما راهی وجود ندارد که بفهمید آیا حافظه رنگ ها عوض شده یا این شمایید که رنگ ها را وارونه حس می کنید.
(ممکن است اشکال وارد کنید که این در مورد همه چیز صادق است اما اشتباه می کنید! معنی کلمات اگر در ذهن شما تغییر کند می توانید بفهمید چون معنی کلمه تجربه شخصی نیست بلکه یک چیز قابل به اشتراک گذاری( یا بین الاذهانی) است اگر کسی مغز شما را دستکاری کند تا معنی کلمه سیب با پرتغال عوض شد به محض «استفاده» از آن «دیگران» آن را اصلاح می کنند)
یک مثال قابل درک تر این آزمایش ذهنی است: فرض کنید حافظه شما از «مزه قهوه» به تدریج در یک بازه پنج ساله تغییر کند و به چیزی شبیه به مزه گیلاس در پنج سال قبل عوض شود. چطور متوجه می شوید چنین تغییری رخ داده است؟ مشکلی که تمام این آزمایش ها می خواهند روی آن انگشت بگذارند این است که هیچ راهی «بیرون از ذهن» برای مقایسه و فهمیدن تغییر رنگ (اگر اتفاق بیفتد) وجود ندارد. به عبارتی به هیچ طرز معنا داری نمی توان کیفیات ذهنی را تعریف کرد و از این لحاظ چنین چیزی همانقدر که برای یک هوش مصنوعی وجود ندارد برای انسان هم وجود ندارد!
مطالعه بیشتر:
Ungerleider, Leslie G. (3 November 1995). "Functional Brain Imaging Studies of Cortical Mechanisms for Memory". Science. 270 (5237): 769–775. doi:10.1126/science.270.5237.769.

Dennett, D.C., 1993. Consciousness explained. Penguin uk.

https://plato.stanford.edu/entries/qualia/
🐍 درک iterator، generator در پایتون 🐍

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

https://vrgl.ir/EpKos
🌕یک نمایش سرگم کننده از نظریه بازی ها🌕

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

https://hamed.github.io/trust
🌕یک معرفی زیبا از numpy با تصاویر🌕

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

https://jalammar.github.io/visual-numpy/