الگوریتم چیست؟ بستگی دارد از چه کسی بپرسید
توصیف الگوریتم به عنوان یک سیستم تصمیمگیری، عمدتاً راهی است برای برداشتن بار مسئولیت تصمیمگیری از روی دوش انسانها. در نظر بسیاری از افراد، الگوریتم به مجموعه قوانینی اشاره دارد که به صورت عینی و بر اساس شواهد تجربی یا دادهها ساخته شدهاند. همچنین میتوان آن را سیستمی بسیار پیچیده دانست، این پیچیدگی تا حدی بالاست که درک عملیات درونی سیستم و یا پیشبینی رفتار آن در یک موقعیت خاص را برای انسانها دشوار میکند.
در اواخر دسامبر (سال 2020)، اشتباه مرکز پزشکی استنفورد در اولویتبندی واکسن کووید-19 (مقدم شمردن مدیران عالی بر پزشکان درگیر این بیماری) به گردن یک الگوریتم توزیع انداخته شد. طبق گزارش مجلهی MIT Technology Review، بیمارستان مدعی بود که برای ساخت این الگوریتم بسیار پیچیده (که به گفتهی نمایندهی بیمارستان «فقط درست کار نکرد») با اخلاقگرایان مشورت کرده بود. بسیاری از افراد استفاده از اصطلاح «الگوریتم» را بدین نحو برداشت کردند که هوش مصنوعی یا یادگیری ماشین در این جریان نقش داشتند. اما سیستم مذکور در اصل یک الگوریتم پزشکی بود که از نظر کارکردی با این موارد تفاوت دارد. این الگوریتم بیشتر شبیه یک ساختار ساده یا درخت تصمیم بود که توسط گروهی از انسانها ساخته شده باشد.
این فاصله و تفاوت نشاندهندهی یک مشکل جدی و رو به رشد است. همزمان با رشد مدلهای پیشبین، مردم در مورد کاربرد آنها در تصمیمگیریهای بحرانی دچار نگرانیهای بیشتری میشوند. سیاستگذاران شروع به طراحی استانداردهایی برای ارزیابی و اعتبارسنجی الگوریتمها کردهاند. بدین منظور ابتدا باید ابزارهای پشتیبانی از تصمیم (که تحت تأثیر سیاستهایشان قرار خواهد گرفت) و میزان اهمیت تصمیم را تعیین کنند. نبود تعریف مشخصی از اصطلاح «الگوریتم» باعث میشود بعضی از مدلها که تأثیرگذاری عمیقی دارند، فراتر از محدوده اختیار سیاستها قرار بگیرند. سیاستهایی که هدف از تنظیمشان، حصول اطمینان از آسیبزا نبودن چنین سیستمهایی بوده است.
الگوریتم چیست؟
آیا الگوریتم استنفورد واقعاً یک الگوریتم بود؟ بستگی دارد چطور این کلمه را معنا کنید. هیچ تعریفی از «الگوریتم» وجود ندارد که مورد قبول همگی باشد. با این حال، تعریفی برگرفته از یک کتاب مرجع (هارولد استون، 1971) وجود دارد که میگوید: «الگوریتم مجموعهای از قوانین است که دنبالهای از عملیات را به صورت دقیق مشخص میکنند.» هرچیزی، از دستورپخت غذا تا شبکه های عصبی پیچیده، میتواند در این تعریف جای بگیرد. بنابراین پایهگذاری یک سیاست قانونی روی این تعریف کار درستی نخواهد بود.
چطور یک الگوریتم را شناسایی کنیم
در آمار و یادگیری ماشینی، الگوریتم را معمولاً مجموعهای از دستورالعملها میدانیم که یک کامپیوتر برای یادگیری، پیروی میکند. در این حوزهها، مدل به اطلاعات ساختاریافتهی نهایی گفته میشود. اطلاعاتی که کامپیوتر از طریق الگوریتم، از روی دادهها میآموزد میتوانند «وزنهایی» باشند که هر عامل ورودی در آن ضرب میشود و یا شکل بسیار پیچیدهتری به خود بگیرند. میزان پیچیدگی خود الگوریتم نیز میتواند متغیر باشد. کارکرد نهایی الگوریتمها بستگی به دادههایی دارد که روی آنها پیاده میشوند و زمینهای که مدل نهایی در آن اجرا میشود. یک الگوریتم میتواند در یک زمینه، کارکردی مثبت داشته باشد و در زمینهای دیگر، اثری کاملاً متفاوت از خود نشان دهد.
در حوزههای دیگر، چیزی که در پارگراف بالا مدل خواندیم، خود یک الگوریتم در نظر گرفته میشود. این گفته شاید گیجکننده به نظر برسد اما در تعریف وسیعتر درست است. یعنی مدلها قوانینی هستند که توسط الگوریتم آموزشی کامپیوتر (و نه انسانها) آموخته میشوند و یک مجموعه عملیات را تعریف میکنند. برای مثال، سال گذشته در انگلستان، رسانهها شکست یک الگوریتم در تخصیص نمرات عادلانه به دانشآموزانی را اعلام کرد که به دلیل کووید-19 قادر به حضور سر جلسهی امتحان نبودند. مشخص است که این رسانهها در مورد مدل صحبت میکردند، یعنی مجموعهای از دستورالعملها که ورودی (عملکرد گذشتهی دانشآموز یا ارزیابی معلم) را به خروجی (نمرات) تبدیل میکرد.
به نظر میرسد اتفاقی که در استنفورد افتاد این بود که انسانها (از جمله اخلاقگرایان) خود تعیین کردند سیستم باید از چه مجموعه عملیاتهایی استفاده کند تا بر اساس ورودیهای مشخصی (همچون سن و واحد کاری فرد) تصمیم بگیرد آیا یک نفر باید در اولویت دریافت واکسن قرار بگیرد یا خیر. تا جایی که ما میدانیم، این مجموعه عملیات بر اساس رویهی مشخصی که برای اهداف کیفی خاصی بهینه شده باشد، طراحی نشده بود. بلکه یک مجموعه تصمیمات هنجاری در مورد نحوهی اولویتبندی واکسنها بودند. با این تفاوت که شکل زبان یک الگوریتم را به خود گرفتند. این رویکرد در واژهشناسی پزشکی و در تعریف گسترده، یک الگوریتم به شمار میرود، هرچند تنها هوشی که در این فرآیند دخیل بوده، هوش انسانها بوده است.
روی کارکرد تمرکز کنید، نه ورودی
قانونگذاران نیز اخیراً به تعریف الگوریتمها علاقهمند شدهاند. HR2291 یا طرح مسئولیتپذیری الگوریتمی The Algorithmic Accountability Act که برای اولین بار در سال 2019 در کنگرهی ایالات متحده معرفی شد از اصطلاح «سیستم تصمیمگیری خودکار Automated decision-making» استفاده کرده و آن را بدین صورت تعریف میکند: «یک فرآیند محاسباتی که میتواند مبتنی بر تکنیکهای یادگیری ماشینی، آمار یا دیگر روشهای پردازش داده ها و هوش مصنوعی باشد. این فرآیند محاسباتی میتواند خود تصمیم بگیرد یا تصمیمگیری انسانها را تسهیل کند و بدین ترتیب روی کاربران (مشتریان) تأثیر بگذارد.»
نیویورک سیتی هم در حال بررسی قانونی به نام Int1894 است که احراز هویت و اعتبارسنجی «ابزارهای تصمیمگیری خودکار» را الزامی میکند. طبق تعریف این قانون، «این ابزارها میتوانند سیستمی باشند که کارکردشان توسط یک نظریهی آماری مدیریت میشود، یا هر سیستمی که پارامترهایش توسط چنین سیستمهایی تعیین میشود.» هر دوی این قوانین اعتبارسنجی را الزامی میدانند، اما فقط دستورالعملهایی پیشرفته از تعریف اعتبارسنجی ارائه میدهند.
تصمیمگیرندگان در دولت و صنعت استانداردهایی برای اعتبارسنجی الگوریتمی طراحی میکنند. با این حال، در مورد اینکه چه چیزی الگوریتم به شمار میرود اختلافنظرهایی وجود دارد. به جای تلاش برای دستیابی به توافق روی تعریف الگوریتم یا یک تکنیک اعتبارسنجی جهانی خاص، پیشنهاد میکنیم سیستمها در وهلهی اول بر مبنای کارکردشان ارزیابی شوند. با تمرکز روی خروجی (به جای ورودی) میتوانیم از بحثهای بیهوده بر سر پیچیدگیهای فنی پرهیز کنیم. فارغ از اینکه با یک فرمول و ساختار جبری سروکار داریم یا با یک شبکهی عصبی عمیق، آنچه اهمیت دارد احتمال آسیبزایی سیستم است.
چارچوب DREAD
«اثر» یک عامل اساسی برای ارزیابی در سایر حوزهها به شمار میرود. این عامل در چارچوب کلاسیک DREAD که در حوزهی امنیت سایبری نیز کاربرد دارد، در نظر گرفته شده است. چارچوب DREAD در اوایل 2000 توسط مایکروسافت عمومی شد و همچنان در شرکتها به کار برده میشود. A در DREAD به این معنی است که ارزیابان خطر باید تعداد کاربران تحت تأثیر را تعیین کنند. این امر با طرح این سؤال انجام میشود که «چند نفر از یک آسیب خاص متأثر خواهند شد؟» ارزیابی اثر در حوزههای حقوق انسانی و تحلیل پایداری نیز کاربرد دارد. علاوه بر این، مشاهده شده است که برخی از توسعهگران حوزهی ارزیابی اثر در هوش مصنوعی نیز به این موضوعات میپردازند. برای مثال، مرکز ارزیابی اثر الگوریتمی Algorithmic Impact Assessment کانادا بر اساس سؤالات کیفی (همچون «آیا کاربران این خط کار آسیبپذیرند؟») یک نمره از این عامل به دست میآورد.
ورود یک اصطلاح متدوال همچون «اثر» به هرگونه ارزیابی، دشواریهایی در پی دارد. چارچوب DREAD بعدها توسط چارچوب STRIDE تکمیل و جایگزین شد. این امر تا قسمتی به سختیهای ایجاد توافق و اشتراک بین باور افراد از نحوهی مدلسازی خطرات برمیگردد. مایکروسافت در سال 2008 استفاده از DREAD را متوقف کرد.
مفهوم اثر در حوزهی هوش مصنوعی، توسط کنفرانسها و ژورنالها معرفی شد. با این حال هنوز مسیر خیلی زیادی تا کامل شدن فاصله داریم. تکنیکهای ارزیابی اثری که تماماً فرمولی هستند به آسانی به بازی گرفته میشوند، از سوی دیگر تعاریف مبهم نیز میتوانند منجر به سردرگمی و ارزیابیهایی بسیار طولانی شوند.
در هر حال، همهی این اقدامات همچنان گامی رو به جلو حساب میشوند. نکتهی مهم این است که واژهی الگوریتم نباید به عنوان سپری در نظر گرفته شود که مسئولیت پیامدها را از دوش افرادی که سیستمها را طراحی و استفاده میکنند، بردارد. مردم به صورت فزاینده به دنبال مسئولیتپذیری الگوریتمی هستند. مفهوم اثر یک زمینهی مشترک برای گروههای مختلفی که باید به این خواسته پاسخ دهند ایجاد میکند.