<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های Behnam Taki</title><link>https://virgool.ir/feed/@b.taki</link><description></description><language>fa</language><pubDate>2026-11-11 10:57:11</pubDate><image><url>https://files.virgool.ir/upload/users/11476/avatar/BxPeFP.png</url><title>Behnam Taki</title><link>https://virgool.ir/@b.taki</link></image><item><title>چرا باید بهت اعتماد کنم؟</title><link>https://virgool.ir/dataio/چرا-باید-بهت-اعتماد-کنم-hhlp0qmvvq8o</link><description>یا خروجی یک مدل یادگیری ماشین چقدر قابل اعتماد است.کلی‌ترین نگاهی که به علم هوش مصنوعی در حوزه یادگیری می‌شه کرد اینه که ما به یک سیستم یاد می‌دیم که چطوری یاد بگیره! و بعدش اگه همه چیز بر وفق مراد پیش بره (مثلاً به تعداد کافی داده در اختیار داشته باشیم، سخت‌افزار پردازشگر مناسب مثل کارت گرافیک نسبتاً قدرتمند در اختیار داشته باشیم، مدلی که برای مسأله مورد نظر انتخاب می‌کنیم انتخاب خوبی باشه، یا ویژگی‌هایی که برای آموزش دادن مدل انتخاب می‌شن هوشمندانه و درخور باشند، ابرپارامترها تنظیم شده باشند و ....) بعدش می‌شه پا روی پا انداخت و امیدوار بود که مدل روی داده‌های آزمایش هم نتیجه خوبی بده. کل هدف من از نوشتن این متن اینه که «نتیجه خوب» چیه؟ بعد از اینکه دونه دونه دستورالعمل پخت یک مدل از مرحله پیش‌پردازش داده، مهندسی ویژگی و انتخاب ویژگی، انتخاب مدل و اعتبارسنجی رو اجرا کردیم در مرحله تست برای اینکه بفهمیم مدلمون عملکرد خوبی داره یا نه به معیارهای ارزیابی نیاز داریم. اکثر مدل‌های یادگیری ماشین معیار اصلی ارزیابی‌شون accuracy است. معیارهای ارزیابی دیگه‌ای هم مثل امتیاز اف، precision و recall هم با توجه به مسأله اهمیتشون کم و زیاد میشه. اگر معیار ارزیابی بالا باشه معمولا توی یک جدول توی صفحه‌های آخر مقاله‌تون قرار می‌گیره، کل دنیا هم روش قسم حضرت عباس می‌خوره که مدلت خوبه.اکثر مدل‌های یادگیری ماشین (مثل شبکه‌های عصبی) جعبه سیاه هستند. به این معنی که ورودی و خروجی مطلوب معلوم شده و این وسط مدل تخمین خوبی می‌زنه از اینکه با چه تابعی ورودی رو به خروجی نگاشت کنه. اما سوال اینجاست وقتی شما نمی‌دونین اون وسط تو دل مدل چه اتفاقاتی افتاده تا این خروجی حاصل بشه، چقدر به خروجی مدل اعتماد می‌کنید؟ به طور مثال مسأله تشخیص ناهنجاری روی نوار قلب یک بیمار رو در نظر بگیرید. ECG فرد با یک سری الکترود که به بدنش متصل شده هر دو دهم میلی ثانیه سینگال قلب طرف رو ضبط می‌کنه. فرض کنید ۶۰هزار گام زمانی ثبت شده که در انتها یک سری زمانی از نوار قلب رو نشون می‌دن که فقط ۲۰۰گام زمانیش نارسایی قلبی فرد رو نشون می‌ده. اونوقت اگه مدل ما فقط خروجی بده که سالمه همه چیز معیار ارزیابی accuracyش میشه ۹۹.۷ درصد که نتیجه فوق العاده‌ست. خب قبل از اینکه ژورنالش کنیم شما به این مدل اعتماد می‌کنین؟ یک سری نقد و سوال تو ذهنتون احتمالاً پیش اومده که نویسنده یه طرفه به قاضی رفته و چرا معیار ارزیابیش رو یه چیز دیگه مثل recall نذاشت؟ یا چرا اصلاً پارامتر ریسک رو در نظر نگرفت؟ (اگه این سوال تو ذهنتون پیش اومده حتماً اول بی‌شاپ یا تئودوریس یا کتاب مشابهی در زمینه پترن و ام‌ال رو خوندین! درود به تو) یا چرا هر گام زمانی رو ورودی گرفته و زیررشته یا کیف نکرده سری زمانی رو؟ یا.... همه این‌ها درست اما در مفهومی که می خوام به شما انتقال بدم خدشه‌ای وارد نمی‌کنه. حوزه‌هایی مثل تشخیص‌های پزشکی و موارد امنیتی مثل شناسایی تروریست و ... اعتماد کردن بیش از پیش اهمیت پیدا می‌کنه و به شخصه من به تشخیص یک دکتر تا تشخیص یک مدل ماشین لرنینگ اعتماد می‌کنم. (احتمالاً باز تو ذهنتون این سوال پیش اومده که پزشک diagnose می‌کنه مدل detect می‌کنه چه ربطی اینا به هم دارن؟ که باید بگم درست فکر می‌کنید. ولی می‌خوام این دو تا رو بهم ربطشون بدم. یعنی قراره مدل یادگیری ماشین رو به عنوان کمک‌کننده به یک پزشک مطرح کنم.) با این حال یک مثال دیگه می‌زنم.  فرض کنید آنفولانزا گرفتید و توهم کرونا مثل کابوس شده براتون، اینجا قطعیت حرف اول رو می‌زنه: من چمه؟ مدل تشخیص بیماری‌ با star فراوان از گیت‌هاب پیدا کردید و وقتی علائمتون (داده‌ها) رو به مدل می‌دید خروجی می‌ده: آنفولانزا. شاید برای یک ثانیه نفس راحتی بکشید اما اگه همون اطراف مامانتون باشه بلند می‌گه از کجا معلوم راست بگه؟ اینجاست که لیست مفسر (Explanation) برگ برنده‌ای است که یه دانشمند داده یا ماشین‌لرنینگ‌کار رو می‌کنه تا جامعه پزشکی و مردم عادی رو از خودش ناامید نکنه. لیست مفسر کارش شبیه پرتو ایکسه. پرتو ایکس رو می‌ندازی روی جعبه سیاه مدل و مشخص میشه که مدل کدوم ویژگی‌ها رو بیشتر بهش اهمیت می‌ده و خروجی نهایی رو بر اساس تأثیر کدوم ویژگی‌ها بیرون می‌ده. به تصویر زیر نگاه کنید. مدل، بر پایه داده‌های ورودیش مثل  عطسه، وزن، سردرد، خستگی و سن، آنفولانزا رو تشخیص داده. اما روی خروجی نهایی مدل واقعاً کدوم یکی از این‌ها باعث شده که خروجی بشه آنفولانزا؟ لیست مفسر از روی مدل فهمیده که مدل با توجه به ویژگی‌های عطسه کردن و سردرد و عدم خستگی تشخیص داده که فرد آنفولانزا داره. حالا میشه به این مدل اعتماد کرد؟ اگه پزشک نیستید باید بگین نه. لیست مفسر برای پزشک معالج کاملاً قابل درکه. خبری از صفر و یک و چیزای عجیب غریب کامپیوتر داخلش نیست. در عوض فوق العاده کمک‌کننده می‌شه. عطسه کردن و سردرد از علائم آنفولانزا هست و همچنین خستگی. اما مدل عدم خستگی رو هم به عنوان یکی از پارامترهای تاثیرگذار برای تشخیصش قرار داده. اما با این همه خیلی به بیراهه نرفته و تا حد قابل قبولی میشه به مدل اعتماد کرد. اما تصمیم آخر رو پزشک می‌گیره. اینه که می‌گن کامپیوتر در خدمت انسان نه انسان در خدمت کامپیوتر و مابقی اشعار پشت اتوبوسی. همین‌طور که مشخصه همین لیست‌مفسر رو وقتی به یه فرد متخصص (اینجا پزشک) نشون می‌دید نظر اون در مورد لیست باعث میشه که با اطلاعاتی که از فرد متخصص می‌گیرین بتونین مدلتون رو ارتقا بدین و چیزایی که اشتباه یاد گرفته رو حالیش کنین که دیگه یاد نگیره. خیلی جالبه نه؟ حالا این لیست مفسر چطور ساخته میشه؟ هیهات داره. مقاله رفرنس رو بخونین. هنوزم به معیارهای ارزیابی که تو مقاله‌ها هست اعتماد می‌کنین؟ می‌تونم بهت اعتماد کنم؟مرجع Ribeiro, Marco Tulio, Sameer Singh, and Carlos Guestrin. &#34;&#34; Why should I trust you?&#34; Explaining the predictions of any classifier.&#34; Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining. 2016.‏</description><category>Behnam Taki</category><author>Behnam Taki</author><pubDate>Sat, 18 Jul 2020 02:24:48 +0430</pubDate></item><item><title>پردازشگر کوانتومی سیکامور</title><link>https://virgool.ir/apieco/پردازشگر-کوانتومی-سیکامور-lhjjkn5npw1t</link><description>پس از گذشت سه ماه از ادعای گوگل مبنی بر این‌که توانسته است با پردزاشگر کوانتومی خود با نام سیکامور رشته‌های بیتی شبه‌رندوم را در ۲۰۰ ثانیه تولید کند (کاری که به کمک کامپیوترهای مرسوم نزدیک به ده هزار سال! طول می‌کشد.) امروز در مجله نیچر(Nature) مقاله «برتری کوانتومی با استفاده از یک پردازشگر ابررسانا و برنامه‌پذیر» منتشر شد. کار بزرگی که می‌توان گفت از نظر ارزش علمی هم‌رده کشف ساختار DNA یا پیدایش حوزه یادگیری عمیق در هوش‌مصنوعی باشد.کامپیوترهای کوانتومی در مقایسه با کامپیوترهای مرسوم مانند لپ‌تاپ‌ها، تلفن‌های هوشمند و حتی ابرکامپیوترهای مدرن از قدرت پردازش بسیار بالاتری برخوردار هستند. قابلیت فوق‌العاده بروت‌فورس(brute-force) در کامپیوترهای کوانتومی سوال‌های زیادی را در ذهن همگان ایجاد کرده است: که آیا الگوریتم‌های استخراج رمزارزها به‌ویژه بیت‌کوین شکسته می‌شوند؟ آیا شانس موفقیت در بازی‌های کازینویی به کمک کامپیوترهای کوانتومی بالاتر می‌رود؟ شبیه‌سازی سیستم‌های فیزیکی و ذرات تصادفی در آزمایشگاه‌ها امکان‌پذیر می‌شود؟ با این همه ساخت سیکامور اولین گام در این مسیر وسوسه‌انگیز است.در سال ۱۹۹۴ شور(Shor) به صورت تئوری ثابت کرد که الگوریتم سرچ کوانتوم می‌تواند رمزنگاری RSA با کلید ۲۰۴۸بیتی را با مرتبه زمانی چندجمله‌ای بشکند.پس از موفقیت عملی سیکامور در پردازش کوانتومی، نگاه‌های زیادی را به خود معطوف کرده است. با این حال هنوز جای نگرانی زیادی برای شکستن رمز‌های RSA با کلید ۲۰۴۸ بیتی وجود ندارد زیرا برای شسکتن آن به میلیون‌ها کوابیت(واحد پردازش کامپیوترهای کوانتومی) نیاز است و خوشبختانه سیکامور بیشتر از ۵۳ کوابیت ندارد.پردازشگر سیکامور(منبع)کامپیوترهای کوانتومی چگونه کار می‌کنند؟اگر به زمان آلن تورینگ و ایده ماشین تورینگ به‌عنوان سنگ‌بنای طراحی کامپیوترهای امروزی بازگردیم، اطلاعات در بیت‌ها کد می‌شوند و بیت به عنوان واحد پردازش کامپیوتر مقدارهای صفر و یک را در خود دارد. سپس مجموعه‌ای از عملگرهای منطقی مانند NOT, OR, AND, ... روی اطلاعات کد شده قرار می‌گیرد و با توجه به الگوریتم طراحی شده توسط برنامه‌نویس، کامپیوتر محاسبات دستوری را انجام می‌دهد.کامپیوترهای کوانتومی کمی متفاوت‌اند. واحد پردازش در آن‌ها به جای بیت، کوابیت یا کوانتوم‌بیت نام دارد. یک کوابیت یک سیستم مکانیکی دوحالته کوانتومی است. حالت پایه‌ای سیستم صفر و وضعیت برانگیخته سیستم یک است. (به طور مثال یک الکترون را درنظر بگیرید که می‌تواند حرکت دوار ساعت‌گرد و هم پادساعت‌گرد داشته باشد که بسته به نوع حرکت دوار الکترون حالت‌ها تغییر می‌کنند.)ایده اصلی در محاسبات کوانتومی امکان برهم‌نهی حالات در سیستم است. برای درک بهتر موضوع اشاره‌ای به آزمایش گربه شرودینگر می‌کنیم. در این آزمایش ادعا می‌شود که یک سیستم می‌تواند در آن واحد در حالات مختلفی قرار داشته باشد. گربه درون جعبه می‌تواند همزمان هم زنده و هم مرده باشد! بنابراین برخلاف کامپیوترهای سنتی(!) که واحد پردازش با خاموش و روشن شدن چراغ بیانگر صفر و یک بودن وضعیت حالت هستند در کامپیوترهای کوانتومی هر کوابیت در یک لحظه می‌تواند هر دو حالت صفر و یک را دارا باشد (برهم‌نهی صفر و یک) و تنها پس از اتمام محاسبات توسط کامپیوتر مشخص می‌شود که حالت واقعی و صحیح سیستم چه بوده است. دقیقاً همان‌طوری که پس از بازکردن جعبه می‌توان فهمید که گربه زنده است یا نه. با توجه به تجربیات انسان‌ها، باور چنین فرضیه‌ای که چگونه یک کوابیت می‌تواند نسبت به یک بیت دودویی  اطلاعات بیشتری را در خود جای دهد عجیب به نظر می‌آید، اما فراموش نکنیم که هنوز بسیاری از عوامل محتمل در طبیعت، همچنان در محاسبات انسان‌ها جای نگرفته‌اند.آزمایش گربه شرودینگرتفاوت عمده کامپیوترهای کوانتومی با کامپیوترهای امروزی در پیش‌بینی، فلسفه جبری و احتمال است. در کامپیوترهای کوانتومی، ایجاد شرایط اولیه سیستم و الگوریتم اجرایی آن و در نهایت رسیدن به حالت مطلوب نهایی کار ساده‌ای نیست. در عوض، می‌توان توزیع احتمالاتی از حالات نهایی سیستم را پیش‌بینی کرد و حدس زد که حالت نهایی چگونه است. با تکرار پردازش‌های کوانتومی می‌توان پیش‌بینی دقیق‌تری از حالت نهایی سیستم کرد.گوگل معتقد است که سیکامور شروع راه درستی است که به برتری کوانتومی می‌انجامد. آن‌ها لیستی از بایدها برای بهبود کامپیوترهای کوانتومی خود تهیه کرده‌اند که ارتقای کوابیت از مهم‌ترین آن‌هاست. بهبود نرخ خطای کوابیت‌ها و کاهش ذخیره نویز توسط کوابیت‌ها از اهداف یک ساله گوگل است. تغییرات اساسی نظیر دور زدن ناپایداری کوابیت‌ها، استفاده از روش‌های تصحیح خطای کوانتومی و در نهایت افزایش تعداد کوابیت‌ها از ۵۴ به یک میلیون جز اهداف بلند مدت گوگل ترسیم شده است که کامپیوترهای کوانتومی را بی‌رقیب خواهد ساخت. فقط باید صبر داشته باشید.</description><category>Behnam Taki</category><author>Behnam Taki</author><pubDate>Sat, 26 Oct 2019 20:02:19 +0330</pubDate></item></channel></rss>