در دنیای امروز که هوش مصنوعی بهطور مداوم در حال پیشرفت است، یکی از صنایعی که بهطور فزایندهای از این فناوری بهرهمند میشود، بخش کشف دارو است. با این حال، هنوز در این صنعت به عدم قطعیت نسبت به مدل ها زیاد هست و کارشناسان انسانی همچنان از سیستمهای هوش مصنوعی جلوتر هستند. بنابراین، نمیتوان بهطور کامل به مدلهای هوش مصنوعی اعتماد کرد.
یکی از سناریوهای کاربردی که در کارهای شرکتهای بزرگ مانند Sanofi و AstraZeneca در حال استفاده است، یادگیری فعال (active learning ) است. اما یادگیری فعال چیست؟ بیایید ابتدا نگاهی کلی به این موضوع بیندازیم.
یادگیری غیرفعال (Passive Learning)
در یادگیری غیرفعال، مدل بهطور خودکار بر روی یک مجموعه داده ثابت و معمولاً بزرگ آموزش داده میشود. در این روش، دادهها از پیش برچسبگذاری شده و به مدل ارائه میشوند و مدل هیچ کنترلی بر روی دادههایی که برای یادگیری استفاده میشوند، ندارد.
مثال: فرض کنید یک مدل تشخیص تصویر برای شناسایی گربهها و سگها ساخته شده است. در اینجا از یک مجموعه بزرگ از تصاویر که بهطور کامل برچسبگذاری شدهاند (تصاویر گربه و سگ) استفاده میشود. مدل بهطور مستقیم بر روی این دادهها آموزش میبیند و عملکرد آن بستگی به کیفیت و تنوع دادههای ورودی دارد.
تعریف یادگیری فعال
یادگیری فعال یک رویکرد در یادگیری ماشین است که این فرضیه را مبنا قرار میدهد: اگر یک الگوریتم یادگیری بتواند دادههایی را که میخواهد از آنها یاد بگیرد انتخاب کند، میتواند با استفاده از دادههای کمتری نسبت به روشهای سنتی، عملکرد بهتری داشته باشد.
روشهای سنتی
روشهای سنتی معمولاً شامل جمعآوری حجم بزرگی از دادهها بهصورت تصادفی از توزیع زمینهای و استفاده از این مجموعه داده وسیع برای آموزش مدل بهمنظور انجام پیشبینی هستند. این روش که به آن یادگیری غیرفعال (Passive Learning) گفته میشود، شامل یک چالش بزرگ است: جمعآوری دادههای برچسبگذاریشده، که معمولاً زمانبر و پرهزینه است.
مثال: تشخیص بیماریهای تنفسی
فرض کنید میخواهید پیشبینی کنید که آیا یک فرد ممکن است به بیماریهای تنفسی مبتلا شود یا خیر. در یک سناریو غیرفعال، شما ممکن است یک هزار بیمار را بهصورت تصادفی انتخاب کنید و آنها را آزمایش کنید تا دادههای مربوط به علائم و تاریخچه پزشکی آنها را جمعآوری کنید. این نوع جمعآوری دادهها میتواند بسیار زمانبر و پرهزینه باشد.
اما در روش یادگیری فعال، شما میتوانید بهجای انتخاب تصادفی افراد، کسانی را که سیگار میکشند و سابقه خانوادگی بیماریهای تنفسی دارند انتخاب کنید. این انتخاب میتواند بر اساس اطلاعاتی باشد که از بیماران قبلی بدست آوردهاید، بهطور مثال اگر متوجه شدید که نشانهها در افراد بالای ۶۵ سال بیشتر بروز میکند، میتوانید تمرکز خود را روی این گروه سنی بگذارید. به این ترتیب، فرآیند انتخاب بیماران بر اساس دادههای موجود شما را قادر به جمعآوری دادههای برچسبگذاریشده مفیدتری میکند.
مثال: شناسایی تصاویر
به علاوه، فرض کنید شما یک مدل یادگیری عمیق برای شناسایی اشیاء در تصاویر دارید. در یک فرآیند یادگیری غیرفعال، ممکن است شما هزاران تصویر را بهصورت تصادفی جمعآوری کنید و به آنها برچسب بزنید، که این کار نیاز به زمان و منابع بالایی دارد.
اما در یادگیری فعال، شما میتوانید از مدل خود استفاده کنید تا تصاویری که بیشتری ابهام را دارند شناسایی کنید. به عنوان مثال، اگر مدل شما در شناسایی حیوانات بزرگ مانند فیل و اسب دچار اشتباه میشود، میتوانید فقط به انتخاب تصاویری بپردازید که این حیوانات در آنها وجود دارند و برچسب کنید. این روش کمک میکند تا مدل شما فقط بر روی تصاویر چالشبرانگیز دادههای بیشتری جمعآوری کند و در نتیجه دقت آن در شناسایی اشیاء افزایش یابد.
در هر دو مثال، یادگیری فعال به شما این امکان را میدهد که با انتخاب هوشمندانه دادهها، از زمان و هزینههای جمعآوری داده بهرهوری بیشتری به دست آورید و در نهایت عملکرد مدل یادگیری ماشین خود را بهبود ببخشید.
یادگیری فعال (Active Learning)
یادگیری فعال به مدل این امکان را میدهد که بهطور هوشمند نمونههایی از دادههای بدون برچسب را انتخاب کند تا برچسبگذاری شوند. در این روش، مدل نهتنها با استفاده از دادههای از پیش برچسبگذاری شده آموزش میبیند، بلکه بر اساس نتایج خود، نمونههایی را انتخاب میکند که برچسبگذاری آنها بیشترین تأثیر را در بهبود عملکرد مدل خواهد داشت.
یادگیری فعال یک روش در یادگیری ماشین است که در آن مدل بهجای استفاده از تمام دادههای آموزشی، بهطور فعال از یک مجموعه داده بزرگ و برچسبگذارینشده، نمونههای مشخصی را انتخاب میکند تا با برچسبگذاری توسط کاربر یا یک منبع معتبر (اوراکل) بهبود یابد. هدف اصلی یادگیری فعال کاهش هزینههای برچسبگذاری و بهبود کارایی مدل با استفاده از دادههای کمتر و مؤثرتر است.
سه سناریو اصلی یادگیری فعال:
- Membership Query Synthesis
یک تکنیک در یادگیری فعال است که در آن یادگیرنده بهطور فعال نمونههایی را تولید میکند که از توزیع طبیعی دادهها نشأت میگیرند. بهعنوان مثال، اگر دادهها شامل تصاویری از اعداد باشند، یادگیرنده میتواند تصویری مشابه با یک عدد ایجاد کند، مثلاً با چرخش یا حذف بخشی از عدد، و سپس این تصویر ساختهشده را به یک منبع معتبر (oracle) ارسال کند تا برچسبگذاری شود. این روش به یادگیرنده اجازه میدهد تا بهطور هدفمند به جمعآوری دادههای مفید بپردازد و دقت پیشبینیهای خود را افزایش دهد.
- Stream-Based Selective Sampling
فرض بر این است که دریافت یک نمونه بدون برچسب آزاد است. در این حالت، یادگیرنده نمونههای بدون برچسب را یکی یکی انتخاب میکند و تصمیم میگیرد که آیا باید برچسب آن نمونه را استعلام کند یا آن را بر اساس میزان اطلاعاتی که ارائه میدهد رد کند. برای تعیین میزان اطلاعاتی که یک نمونه ارائه میدهد، از یک استراتژی پرسش استفاده میشود. بهعنوان مثال، یادگیرنده یک تصویر از مجموعه تصاویر بدون برچسب را انتخاب میکند و تصمیم میگیرد که آیا نیاز به برچسبگذاری دارد یا خیر و سپس این فرآیند را با تصویر بعدی تکرار میکند.
- Pool-Based Sampling
در این روش، که یک مجموعه بزرگ از دادههای بدون برچسب وجود دارد. نمونهها از این دادهها بر اساس یک معیار اطلاعاتی انتخاب میشوند. این معیار به تمامی نمونهها در مجموعه (یا بخشهایی از آن در صورت بزرگ بودن حجم دادهها) اعمال میشود و سپس نمونههایی با بالاترین درجه اطلاعات انتخاب میشوند. این سناریو یکی از متداولترین روشها در حوزه یادگیری فعال است. بهطور ادامه مثالهای قبلی، در اینجا تمامی تصاویر بدون برچسب بر اساس یک سیستم رتبهبندی بررسی میشوند و بهترین (مفیدترین) نمونهها برای دریافت برچسب انتخاب میشوند. این روش به یادگیرنده کمک میکند تا بر روی دادههای مهم و مرتبط تمرکز کند و در نتیجه دقت و کارایی مدل را بهبود بخشد.
استراتژیهای انتخاب نمونه:
استراتژیهای پرسش یکی از تفاوتهای اصلی بین یادگیرندههای فعال و غیرفعال، توانایی پرسش نمونهها بر اساس پرسشهای گذشته و پاسخهای (برچسبها) آنهاست. در تمام سناریوهای یادگیری فعال، وجود یک معیار اطلاعاتی برای نمونههای بدون برچسب ضروری است. در این بخش، سه رویکرد محبوب برای پرسش نمونهها تحت موضوع رایج به نام نمونهبرداری عدمقطعیت توضیح داده میشود، که به دلیل استفاده از احتمالات، این نام را دارد. برای آشنایی بیشتر با سایر استراتژیهای پرسش و یادگیری فعال، مطالعه مقالات مروری توصیه میشود.
- نمونهگیری با عدم قطعیت (Uncertainty Sampling):
- مدل نمونههایی را انتخاب میکند که در برچسبگذاری آنها بیشترین عدم اطمینان را دارد.
- معیارهای مختلفی وجود دارد:
- کمترین اطمینان (Least Confidence): انتخاب نمونههایی که مدل کمترین اطمینان را در پیشبینی برچسب آنها دارد.
- نمونهگیری حاشیهای (Margin Sampling): انتخاب نمونههایی که تفاوت بین دو برچسب برتر پیشبینی شده کمترین مقدار است.
- عدم قطعیت انتروپی (Entropy-Based): انتخاب نمونههایی با بالاترین انتروپی در توزیع احتمالاتی برچسبها.
- نمونهگیری مبتنی بر تنوع (Diversity Sampling):
- انتخاب نمونههایی که بیشترین تنوع را نسبت به مجموعه داده فعلی دارند.
- کاربرد: جلوگیری از انتخاب نمونههای مشابه و افزایش پوشش دادهها.
- نمونهگیری مبتنی بر بازنمایی (Representation-Based Sampling):
- مدل نمونههایی را انتخاب میکند که در فضای ویژگی بیشترین اطلاعات را دارند.
- کاربرد: برای انتخاب نمونههای موثر و نماینده کل مجموعه داده.
مراحل عملی در یادگیری فعال:
1) ایجاد مجموعه دانه (Seed Set)
در این مرحله، یک مجموعه کوچک از دادههای برچسبگذاریشده انتخاب میشود. این مجموعه باید به گونهای نماینده از کل مجموعه دادهها باشد تا مدل بتواند از آن بهعنوان پایهای برای یادگیری استفاده کند. بهعنوان مثال، اگر قصد داریم مدلی برای دستهبندی ایمیلهای اسپم بسازیم، ممکن است از ۲۰۰ ایمیل برچسبگذاریشده شامل ۱۰۰ اسپم و ۱۰۰ غیر اسپم استفاده کنیم.
2) آموزش مدل
مدل یادگیری ماشین بر روی مجموعه دانه آموزش داده میشود تا یک مدل اولیه ایجاد کند. بهعنوان مثال، ممکن است از یک الگوریتم دستهبندی مانند ماشینهای بردار پشتیبانی (SVM) یا درخت تصمیم استفاده شود. این مدل آموزشدیده، قادر به پیشبینی برچسبهای نمونههای جدید خواهد بود و معمولاً احتمال تعلق هر نمونه به کلاسهای مختلف را نیز برمیگرداند.
3) انتخاب نمونههای جدید
پس از آموزش مدل، از یک استراتژی انتخاب، برای انتخاب نمونههای جدید از مجموعه داده بدون برچسب استفاده میشود. یکی از استراتژیهای معمول، نمونهبرداری عدمقطعیت است، که در آن مدل نمونههایی را انتخاب میکند که بیشترین عدمقطعیت در پیشبینی را دارند (یعنی احتمال نزدیک به ۵۰ درصد برای دو کلاس). در اینجا، مدل ممکن است ۱۰ ایمیل بدون برچسب را برای برچسبگذاری انتخاب کند. این نمونهها سپس به یک اوراکل (مثلاً یک انسان) ارسال میشوند تا برچسبگذاری شوند و به مجموعه دادههای برچسبگذاریشده اضافه شوند.
4) تکرار فرآیند
مدل دوباره با استفاده از مجموعه جدید (شامل نمونههای جدید برچسبگذاریشده) آموزش داده میشود. این فرآیند بهطور مکرر تکرار میشود تا زمانی که کارایی مدل به سطح مورد انتظار برسد. در مثال بالا، پس از برچسبگذاری و افزودن ۱۰ ایمیل جدید به مجموعه دانه، مدل دوباره آموزش میبیند و میتواند نمونههای بیشتری را از مجموعه داده بدون برچسب انتخاب کند.
مثال کلی
فرض کنید ما در حال توسعه یک سیستم برای تشخیص بیماریهای پوستی هستیم:
- ایجاد مجموعه دانه: از ۲۰۰ تصویر پوستی برچسبگذاریشده (نرمال و بیمار) استفاده میکنیم.
- آموزش مدل: مدل CNN (شبکه عصبی کانولوشن) را بر روی این تصاویر آموزش میدهیم.
- انتخاب نمونههای جدید: از مجموعه بزرگتری شامل هزاران تصویر بدون برچسب، ۱۵ تصویر با بیشترین عدمقطعیت را انتخاب میکنیم و به یک متخصص پوست ارسال میکنیم تا برچسبگذاری شوند.
- تکرار فرآیند: تصاویر برچسبگذاریشده به مجموعه دانه اضافه میشوند و مجدداً مدل را آموزش میدهیم، تا زمانی که دقت مدل به حد مطلوب برسد.
منابع: