مصاحبه با علی اسلامی، پژوهشگر هوش مصنوعی در DeepMind درمورد پیشرفتهای اخیر
https://tankmagazine.com/moving-images
https://tankmagazine.com/moving-images
🙏3👍2❤1🔥1😍1
Exploring Goal-oriented Podcast Recommendations - Spotify
https://research.atspotify.com/2023/03/exploring-goal-oriented-podcast-recommendations/
https://research.atspotify.com/2023/03/exploring-goal-oriented-podcast-recommendations/
❤1
در این پست میخواهیم با زبان ساده به یکی از مرسومترین پرسشها در بین علاقهمندان به علوم کامپیوتر پاسخ بدیم.
نرمافزارهای مسیریابی مثل Waze و Google Maps اینروزها به یکی از اعضای بدن ما تبدیل شده اند و خیلی از ما بدون استفاده از آنها یا دیر به مقصد میرسیم و یا حتی گم میشیم. اما این نرمافزارها چگونه کار میکنند و چطوری کوتاهترین مسیر رو به ما پیشنهاد میدهند؟!
در زیر مرحله به مرحله به این مساله میپردازیم:
۱. اطلاعات جفرافیایی و هندسی خیابونها و کوچهها و میدونها و … (اینکه کجا اند، چقدر طول و چقدر عرض دارند، شکل آنها چجوری است و …) در قالب دادههای Geospatial (فارسی: زمین-مکانی!) با فرمتهایی مثل GeoJSON ذخیره میشوند که شما هم میتونید دیتاهای geospatial شهر خودتون رو در قالب فایل GeoJSON از اینترنت دانلود کنید.
۲. دادههای geospatial خیابونها پردازش شده و اطلاعاتی مثل تقاطع خیابونها ازش استخراج میشه. شما هم میتونید مثلا با پکیج GeoPandas خودتون این پردازشها رو انجام بدید.
۳. یک گراف بزرگ ساخته میشه. فرض کنید هر گره گراف یکی از تقاطعها و هر یال گراف یکی از خیابونهای متصلکننده دو تقاطع است. این گراف یک گراف وزنداره. یعنی هر یال یه عدد داره که مدت زمان لازم برای تردد در اون یال (خیابون) رو نشون میده. حالا این عدد رو فعلا نداریم. مرحله بعد این عدد تخمین زده میشه.
۴. بر اساس میانگین سرعت حرکت افرادی که در اون خیابون در حال تردد اند و اطلاعات آنها توسط اپلیکیشن جمعآوری میشود میشه به یک تخمینی از میزان ترافیک موجود در اون خیابون رسید. به کمک این تخمین و همچنین اطلاعات و تاریخچهی جمعآوری شده در روزهای قبل، یک مدل Machine Learning (معمولا یک شبکه عصبی عمیق) میاد و مدت زمانی که برای طی کردن اون خیابون (بین دو تقاطع) لازمه (Estimated Time of Arrival) رو تخمین میزنه. این عدد در واقع میشه وزن هر یال روی گراف.
۵. حالا که داستان به یک مساله فرمال ریاضی (گراف) مدلسازی شد، به راحتی با الگوریتمهای پیمایش گراف و الگوریتمهای Shortest Path Finding برای گرافهای وزندار میشه کوتاهترین مسیر بین دو نقطه و همینطور مدت زمان لازم برای تردد از آن را پیدا کرد. سیستمهای مسیریاب (Routing Engines) معمولا از الگوریتم *A برای پیدا کردن مسیر شبهبهینه استفاده میکنند. اگر با این الگوریتم آشنا باشید (بچههای کامپیوتری در درس هوش مصنوعی میخونن) میدونید که با سرعت بالایی مسیر شبهبهینه رو پیدا میکنه. این الگوریتم از یک نقطه در گراف شروع کرده و به بهترین نقطه همسایه خود میرود و اینکار را انقدر ادامه داده تا به مقصد برسد. بهترین نقطه همسایه هم نقطه ای است که (زمان رسیدن از مبدا تا آن نقطه + فاصله تا مقصد) در آن کمترین باشه. اما اینجا فاصله تا مقصد رو که نداریم (اگه داشتیم که مساله وجود نداشت) بنابراین با استفاده از یک هیوریستیک شهودی اون رو تخمین میزنیم. هیوریستیک شهودی اینجا معمولا فاصله مستقیم (بدون توجه به ساختار خیابونها) بین مختصات جغرافیایی دو نقطه است. فقط دقت کنید که مختصات جغرافیایی در بیشتر موارد بر اساس طول و عرض جغرافیایی (Latitude/Longitude) بیان شده که برحسب درجه است بنابراین نمیتونید از فرمول فاصله اقلیدسی (یا قضیه فیثاغورث) برای آن استفاده کنید به جاش باید از فرمول Haversine استفاده کرده و فاصله great-circle distance رو حساب کنید که قوس سیاره زمین را هم در نظر بگیره.
۶. مسیر شبهبهینه رو که پیدا کردید میتونید جمع وزن یالهاش رو هم به عنوان مدت زمان طی شدن مسیر در نظر بگیرید.
تمام.
نرمافزارهای مسیریابی مثل Waze و Google Maps اینروزها به یکی از اعضای بدن ما تبدیل شده اند و خیلی از ما بدون استفاده از آنها یا دیر به مقصد میرسیم و یا حتی گم میشیم. اما این نرمافزارها چگونه کار میکنند و چطوری کوتاهترین مسیر رو به ما پیشنهاد میدهند؟!
در زیر مرحله به مرحله به این مساله میپردازیم:
۱. اطلاعات جفرافیایی و هندسی خیابونها و کوچهها و میدونها و … (اینکه کجا اند، چقدر طول و چقدر عرض دارند، شکل آنها چجوری است و …) در قالب دادههای Geospatial (فارسی: زمین-مکانی!) با فرمتهایی مثل GeoJSON ذخیره میشوند که شما هم میتونید دیتاهای geospatial شهر خودتون رو در قالب فایل GeoJSON از اینترنت دانلود کنید.
۲. دادههای geospatial خیابونها پردازش شده و اطلاعاتی مثل تقاطع خیابونها ازش استخراج میشه. شما هم میتونید مثلا با پکیج GeoPandas خودتون این پردازشها رو انجام بدید.
۳. یک گراف بزرگ ساخته میشه. فرض کنید هر گره گراف یکی از تقاطعها و هر یال گراف یکی از خیابونهای متصلکننده دو تقاطع است. این گراف یک گراف وزنداره. یعنی هر یال یه عدد داره که مدت زمان لازم برای تردد در اون یال (خیابون) رو نشون میده. حالا این عدد رو فعلا نداریم. مرحله بعد این عدد تخمین زده میشه.
۴. بر اساس میانگین سرعت حرکت افرادی که در اون خیابون در حال تردد اند و اطلاعات آنها توسط اپلیکیشن جمعآوری میشود میشه به یک تخمینی از میزان ترافیک موجود در اون خیابون رسید. به کمک این تخمین و همچنین اطلاعات و تاریخچهی جمعآوری شده در روزهای قبل، یک مدل Machine Learning (معمولا یک شبکه عصبی عمیق) میاد و مدت زمانی که برای طی کردن اون خیابون (بین دو تقاطع) لازمه (Estimated Time of Arrival) رو تخمین میزنه. این عدد در واقع میشه وزن هر یال روی گراف.
۵. حالا که داستان به یک مساله فرمال ریاضی (گراف) مدلسازی شد، به راحتی با الگوریتمهای پیمایش گراف و الگوریتمهای Shortest Path Finding برای گرافهای وزندار میشه کوتاهترین مسیر بین دو نقطه و همینطور مدت زمان لازم برای تردد از آن را پیدا کرد. سیستمهای مسیریاب (Routing Engines) معمولا از الگوریتم *A برای پیدا کردن مسیر شبهبهینه استفاده میکنند. اگر با این الگوریتم آشنا باشید (بچههای کامپیوتری در درس هوش مصنوعی میخونن) میدونید که با سرعت بالایی مسیر شبهبهینه رو پیدا میکنه. این الگوریتم از یک نقطه در گراف شروع کرده و به بهترین نقطه همسایه خود میرود و اینکار را انقدر ادامه داده تا به مقصد برسد. بهترین نقطه همسایه هم نقطه ای است که (زمان رسیدن از مبدا تا آن نقطه + فاصله تا مقصد) در آن کمترین باشه. اما اینجا فاصله تا مقصد رو که نداریم (اگه داشتیم که مساله وجود نداشت) بنابراین با استفاده از یک هیوریستیک شهودی اون رو تخمین میزنیم. هیوریستیک شهودی اینجا معمولا فاصله مستقیم (بدون توجه به ساختار خیابونها) بین مختصات جغرافیایی دو نقطه است. فقط دقت کنید که مختصات جغرافیایی در بیشتر موارد بر اساس طول و عرض جغرافیایی (Latitude/Longitude) بیان شده که برحسب درجه است بنابراین نمیتونید از فرمول فاصله اقلیدسی (یا قضیه فیثاغورث) برای آن استفاده کنید به جاش باید از فرمول Haversine استفاده کرده و فاصله great-circle distance رو حساب کنید که قوس سیاره زمین را هم در نظر بگیره.
۶. مسیر شبهبهینه رو که پیدا کردید میتونید جمع وزن یالهاش رو هم به عنوان مدت زمان طی شدن مسیر در نظر بگیرید.
تمام.
👍31❤8🔥4
School of AI
در این پست میخواهیم با زبان ساده به یکی از مرسومترین پرسشها در بین علاقهمندان به علوم کامپیوتر پاسخ بدیم. نرمافزارهای مسیریابی مثل Waze و Google Maps اینروزها به یکی از اعضای بدن ما تبدیل شده اند و خیلی از ما بدون استفاده از آنها یا دیر به مقصد میرسیم…
در ادامهی این پست، روش Google Maps برای پیشبینی وضعیت ترافیکی و ETA رو بررسی میکنیم.
اپلیکیشن Google Maps برروی بیش از ۱۰ میلیارد دستگاه تلفن همراه نصب شده و روزانه توسط افراد زیادی برای مسیریابی مورد استفاده قرار میگیره. مکان جغرافیایی، سرعت و شتاب حرکت دستگاههای موبایل داخل اتوموبیلها توسط سنسورهای GPS و Accelerometer و Gyroscope اندازهگیری شده و بهطور ناشناس (Anonymized) برای سرورهای گوگل ارسال میشن. این مقادیر بهعنوان یک منبع اطلاعاتی مهم برای پیشبینی حجم ترافیک و زمان رسیدن به مقصد (ETA) مورد استفاده قرار میگیرن. توجه کنید که داشتن وضعیت ترافیک در هر لحظه (live traffic data) بهتنهایی برای پیشبینی زمان رسیدن کافی نیست چون حجم ترافیک هر نقطه هر چند دقیقه تغییر میکنه. بنابراین گوگل از تاریخچهی اطلاعات ترافیکی جمعآوری شده (historical traffic data) نیز برای کشف الگوی تغییر ترافیک و پیشبینی ترافیک در چند دقیقهی آینده استفاده میکند.
۱. در ابتدا، هر مسیر (خیابان و جاده و …) به بخشهای بسیار کوچک (در حد چند متر) به نام segment شکسته شده و دادههای مربوط به تاریخچهی اطلاعات ترافیکی سگمنتها (چندین ترابایت داده) توسط یک سامانهی کلاسترینگ بهنام route analyzer تحلیل شده و سگمنتهای کنار هم که حجم و الگوی ترافیک مشابه دارند با هم ترکیب شده و تعدادی supersegment میسازند. این سوپرسگمنتها، هر چندروز یکبار مجددا بررسی و بازتولید میشوند و تعداد آنها کاملا متغیر است.
۲. یک گراف بزرگ از وضعیت مسیرها ساخته می شه. اما بهجای اینکه هر گره در گراف معرف یک تقاطع و هر یال معرف یک مسیر باشه، هر گره معرف یک supersegment و هر یال گراف معرف همسایگی دو سوپرسگمنت است. بنابراین گراف وزندار نیست و مدتزمان طی شدن هر بخش به عنوان وزن در یالها ذخیره نمیشه بلکه به عنوان یک متغیر (state) داخل هر گره نگهداری میشن. بنابراین گراف حاصل، یک گراف بدون وزن بسیار بزرگ (درحد چند میلیون گره) است که هر گره در آن حاوی اطلاعات یک سوپرسگمنت است.
۳. ساخت گرافهای بزرگ و پردازش دادههای حجیم مبتنی بر این گرافها نوعی از Big Data است که نیاز به ابزارها و مدلهای پردازشی مثل Google Pregel ویا Apache Giraph داره. بنابراین پردازشهای لازم روی گراف با استفاده از فریمورک Google Pregel انجام میشه.
۴. همونطور که گفتیم، اطلاعات لحظهای ترافیک در هر گره (سوپرسگمنت) توسط موبایلهای روشن در آن مسیر تامین میشه اما اطلاعات ترافیکی چند دقیقه آینده در هر سوپرسگمنت باید با توجه به وضعیت فعلی و الگوی موجود در تاریخچه اطلاعات پیشین هر سوپرسگمنت، پیشبینی شه. بنابراین به ازای هر گره (میلیونها گره داریم) باید یک مدل یادگیری ماشین مستقل آموزش داده شه که نگهداری و آموزش همزمان این تعداد مدل یادگیری ماشین در عمل کار بسیار پیچیده و دشواری است بنابراین گوگل کار دیگه ای کرده.
۵. راهحل گوگل استفاده از GNN یا Graph Neural Networks است. ایننوع شبکههای عصبی در سالهای اخیر بسیار داغ شده اند و در جاهایی که دادههای مبتنی بر گراف داریم (مثل شبکههای اجتنماعی) نتایج جالبی رو خلق کرده اند.
۶. بعد از آموزش GNN در هر گره، اطلاعات ترافیکی فعلی و پیشبینی وضعیت ترافیکی در چند دقیقه و چند ساعت آینده وجود دارد که با روشهای جستجوی گراف مثل *A مسیر بهینه و ETA مشخص میشه 🙂
اپلیکیشن Google Maps برروی بیش از ۱۰ میلیارد دستگاه تلفن همراه نصب شده و روزانه توسط افراد زیادی برای مسیریابی مورد استفاده قرار میگیره. مکان جغرافیایی، سرعت و شتاب حرکت دستگاههای موبایل داخل اتوموبیلها توسط سنسورهای GPS و Accelerometer و Gyroscope اندازهگیری شده و بهطور ناشناس (Anonymized) برای سرورهای گوگل ارسال میشن. این مقادیر بهعنوان یک منبع اطلاعاتی مهم برای پیشبینی حجم ترافیک و زمان رسیدن به مقصد (ETA) مورد استفاده قرار میگیرن. توجه کنید که داشتن وضعیت ترافیک در هر لحظه (live traffic data) بهتنهایی برای پیشبینی زمان رسیدن کافی نیست چون حجم ترافیک هر نقطه هر چند دقیقه تغییر میکنه. بنابراین گوگل از تاریخچهی اطلاعات ترافیکی جمعآوری شده (historical traffic data) نیز برای کشف الگوی تغییر ترافیک و پیشبینی ترافیک در چند دقیقهی آینده استفاده میکند.
۱. در ابتدا، هر مسیر (خیابان و جاده و …) به بخشهای بسیار کوچک (در حد چند متر) به نام segment شکسته شده و دادههای مربوط به تاریخچهی اطلاعات ترافیکی سگمنتها (چندین ترابایت داده) توسط یک سامانهی کلاسترینگ بهنام route analyzer تحلیل شده و سگمنتهای کنار هم که حجم و الگوی ترافیک مشابه دارند با هم ترکیب شده و تعدادی supersegment میسازند. این سوپرسگمنتها، هر چندروز یکبار مجددا بررسی و بازتولید میشوند و تعداد آنها کاملا متغیر است.
۲. یک گراف بزرگ از وضعیت مسیرها ساخته می شه. اما بهجای اینکه هر گره در گراف معرف یک تقاطع و هر یال معرف یک مسیر باشه، هر گره معرف یک supersegment و هر یال گراف معرف همسایگی دو سوپرسگمنت است. بنابراین گراف وزندار نیست و مدتزمان طی شدن هر بخش به عنوان وزن در یالها ذخیره نمیشه بلکه به عنوان یک متغیر (state) داخل هر گره نگهداری میشن. بنابراین گراف حاصل، یک گراف بدون وزن بسیار بزرگ (درحد چند میلیون گره) است که هر گره در آن حاوی اطلاعات یک سوپرسگمنت است.
۳. ساخت گرافهای بزرگ و پردازش دادههای حجیم مبتنی بر این گرافها نوعی از Big Data است که نیاز به ابزارها و مدلهای پردازشی مثل Google Pregel ویا Apache Giraph داره. بنابراین پردازشهای لازم روی گراف با استفاده از فریمورک Google Pregel انجام میشه.
۴. همونطور که گفتیم، اطلاعات لحظهای ترافیک در هر گره (سوپرسگمنت) توسط موبایلهای روشن در آن مسیر تامین میشه اما اطلاعات ترافیکی چند دقیقه آینده در هر سوپرسگمنت باید با توجه به وضعیت فعلی و الگوی موجود در تاریخچه اطلاعات پیشین هر سوپرسگمنت، پیشبینی شه. بنابراین به ازای هر گره (میلیونها گره داریم) باید یک مدل یادگیری ماشین مستقل آموزش داده شه که نگهداری و آموزش همزمان این تعداد مدل یادگیری ماشین در عمل کار بسیار پیچیده و دشواری است بنابراین گوگل کار دیگه ای کرده.
۵. راهحل گوگل استفاده از GNN یا Graph Neural Networks است. ایننوع شبکههای عصبی در سالهای اخیر بسیار داغ شده اند و در جاهایی که دادههای مبتنی بر گراف داریم (مثل شبکههای اجتنماعی) نتایج جالبی رو خلق کرده اند.
۶. بعد از آموزش GNN در هر گره، اطلاعات ترافیکی فعلی و پیشبینی وضعیت ترافیکی در چند دقیقه و چند ساعت آینده وجود دارد که با روشهای جستجوی گراف مثل *A مسیر بهینه و ETA مشخص میشه 🙂
👍6❤5🔥2
How Twitter and TikTok Recommend Content to their Users
https://newsletter.theaiedge.io/p/how-twitter-and-tiktok-recommend
https://newsletter.theaiedge.io/p/how-twitter-and-tiktok-recommend
❤1👍1
بالاخره دو تیم هوش مصنوعی گوگل (Google Brain و DeepMind) با هم ترکیب شدند و از این به بعد به عنوان یک تیم با نام Google DeepMind فعالیت میکنند.
در تیم جدید، ژوبین قهرمانی هم به عنوان یکی از رهبران بورد پژوهشی حضور دارد.
مدیرعامل DeepMind یعنی Demis Hassabis به عنوان مدیراجرایی تیم جدید و Jeff Dean سرپرست تیم Google Brain هم به عنوان Google's Chief Scientist مستقیم با Sundar Pichai کار میکند و به هر دو تیم Google Research و Google DeepMind کمک میکند.
https://blog.google/technology/ai/april-ai-update/
https://www.deepmind.com/blog/announcing-google-deepmind?utm_source=linkedin&utm_medium=social&utm_campaign=GDM
در تیم جدید، ژوبین قهرمانی هم به عنوان یکی از رهبران بورد پژوهشی حضور دارد.
مدیرعامل DeepMind یعنی Demis Hassabis به عنوان مدیراجرایی تیم جدید و Jeff Dean سرپرست تیم Google Brain هم به عنوان Google's Chief Scientist مستقیم با Sundar Pichai کار میکند و به هر دو تیم Google Research و Google DeepMind کمک میکند.
https://blog.google/technology/ai/april-ai-update/
https://www.deepmind.com/blog/announcing-google-deepmind?utm_source=linkedin&utm_medium=social&utm_campaign=GDM
👍7❤1
محققان تیم تحقیقاتی Microsoft طی پژوهشی، prompt هایی برای به چالش کشیدن GPT-4 و نشاندادن نقصهای آن طراحی کردند.
https://arxiv.org/pdf/2303.12712
https://arxiv.org/pdf/2303.12712
❤4
یک لکچر خوب و روون برای درک Markov Decision Processes توسط پروفسور درسا صدیق.
https://www.youtube.com/watch?v=9g32v7bK3Co&list=PLoROMvodv4rO1NB9TD4iUZ3qghGEGtqNX&index=8
https://www.youtube.com/watch?v=9g32v7bK3Co&list=PLoROMvodv4rO1NB9TD4iUZ3qghGEGtqNX&index=8
👍9❤1
برای استفاده از ChatGPT و GPT-4 بدون محدودیتهای موجود در سایت OpenAI میتونید از این سایت استفاده کنید:
https://chat.forefront.ai
https://chat.forefront.ai
👍17😍6❤1
همونطور که میدونید با ورود مدلهای زبانی بزگ (LLM ها) و پدید اومدن چتباتهای مکالمهای، زندگی همهی ما وارد دوران تازه ای شده و خیلی زود، این چتباتها به دستیار شخصی بیشتر افراد با هر تخصصی تبدیل خواهند شد.
ابتدا، چتبات شرکت OpenAI بهنام ChatGPT که به اندازه اختراع برق و اینترنت اهمیت داشت.
بعد چتبات شرکت Microsoft که مبتنی بر چند شبکهعصبی از جمله مدل GPT-4 بود و مزیت اون نسبت به ChatGPT بهروز بودن اطلاعات، جستوجو در وب و قابل اعتمادتر بودن پاسخها (ارائه لینک مرجع) بود
و در آخر چتبات شرکت Google به نام Bard که مبتنی بر مدل PaLM است و ادعا میکند قدرت و خلاقیت ChatGPT و بهروز و قابل اعتماد بودن Bing را همزمان دارد.
اما بررسی اولیه ما نشون میده اینبار گوگل بازی رو به مایکروسافت باخته. بدجور هم باخته 👇👇👇
ابتدا، چتبات شرکت OpenAI بهنام ChatGPT که به اندازه اختراع برق و اینترنت اهمیت داشت.
بعد چتبات شرکت Microsoft که مبتنی بر چند شبکهعصبی از جمله مدل GPT-4 بود و مزیت اون نسبت به ChatGPT بهروز بودن اطلاعات، جستوجو در وب و قابل اعتمادتر بودن پاسخها (ارائه لینک مرجع) بود
و در آخر چتبات شرکت Google به نام Bard که مبتنی بر مدل PaLM است و ادعا میکند قدرت و خلاقیت ChatGPT و بهروز و قابل اعتماد بودن Bing را همزمان دارد.
اما بررسی اولیه ما نشون میده اینبار گوگل بازی رو به مایکروسافت باخته. بدجور هم باخته 👇👇👇
❤2👍1
نشست آشنایی با تحلیل دادههای زمین-مکانی (Geospatial Data Analysis) و پکیج GeoPandas در پایتون.
پنجشنبه ۱۴۰۱/۲/۷ ساعت ۸ شب در کلاس مجازی دانشگاه شریف:
https://vc.sharif.edu/ch/hosseinkhani
شرکت در این نشست رایگان است
این نشست به متخصصان علوم مرتبط با داده، دانشجویان و سایر علاقهمندان به تحلیل دادههای جغرافیایی مثل نقشه پیشنهاد میشود.
به امید دیدار.
@schoolofai
ویدئوی ضبطشدهی نشست، در لینک زیر موجودست:
https://www.aparat.com/v/XinZz
پنجشنبه ۱۴۰۱/۲/۷ ساعت ۸ شب در کلاس مجازی دانشگاه شریف:
https://vc.sharif.edu/ch/hosseinkhani
شرکت در این نشست رایگان است
این نشست به متخصصان علوم مرتبط با داده، دانشجویان و سایر علاقهمندان به تحلیل دادههای جغرافیایی مثل نقشه پیشنهاد میشود.
به امید دیدار.
@schoolofai
ویدئوی ضبطشدهی نشست، در لینک زیر موجودست:
https://www.aparat.com/v/XinZz
❤15
This media is not supported in your browser
VIEW IN TELEGRAM
شخصی بهنام YK Sugi یک پلاگین برای ChatGPT نوشته که میتونه با گرفتن لینک یک ویدئو، محتوای ویدئو رو به صورت خلاصه شرح بده و به پرسشها در مورد ویدئو پاسخ بده.
https://www.linkedin.com/in/ykdojo/details/experience/
https://www.linkedin.com/in/ykdojo/details/experience/
😍15👏6👍3❤1