ابداع روش یادگیری عمیق برای حل مکعب روبیک
جیمیل با کمک یادگیری ماشین ویژگی فیلتر کردن اسپمها را به حد کمال رسانده است
هوش مصنوعی، یادگیری ماشین (ML) و یادگیری عمیق شاید مفاهیمی مبهم و فناوری نابالغ برای متوسط مصرفکنندگان دستگاههای موبایل باشد. اما بر اساس گفته گوگل، یک پیشرفت قابل لمس با استفاده از TensorFlow اتفاق افتاده است. با استفاده از یادگیری ماشین تعداد اسپمها نسبت به گذشته به شدت کاهش یافته است.
TensorFlow که ابتدا برای کارهای داخلی گوگل ساخته شده بود، یک فریمورک متنباز یادگیری ماشین تحت لیسانس Apache 2.0 است که بیش از سه سال پیش منتشر شد. بعد از انتشار آن، تیمها و محققان بسیاری ۷۱۰۰۰ کد عمومی و دیگر مشارکتهای متنباز تولید کردهاند. تاسیس جامعهای قوی که موجب اعمال سریع تحقیقها و ایدههای جدید میشود از ویژگیهای این قریمورک است.
یکی از ایدههای اصلی این فریمورک افزایش سرعت همگامسازی جیمیل با تکنیکهای جدید و پیشرفته برای بهبود امنیت اسپمهای آن بود. قبل از پیاده سازی این ویژگی که با استفاده از TensorFlow ساخته شده بود، تاثیر گوگل در مسدود کردن اسپم، فیشینگ و تلاشهای مخرب بسیار خوب بود. اما اکنون اساسا بیعیب و نقص است.
ما در مورد ۹۹ درصد موفقیت و مسدود کردن روزانه ۱۰۰ میلیون اسپم با کمک یادگیری ماشین بحث میکنیم. ظاهرا برنامههای یادگیری ماشین اخیر گوگل توانایی شناسایی الگوها را در مقیاس دادههای بزرگ که ممکن است توسط انسانها تشخیص داده نشود، دارند.
به جای تمرکز بر روی نوع مشخصی از پیامها که ممکن است در نگاه اول اسپم به نظر برسند یا به طور تصادفی در راهنمای از بین بردن اسپمها یا در پرچمهای قرمز قرار گیرند، یادگیری ماشین یک نمای کاملی از پیامهای مشکوک را با نگاه به تمام سیگنالهای موجود قبل تصمیم گیری نهایی فراهم میکند. به همین دلیل تشخیصهای نادرست بسیار کمتر شده است و شناسایی پیامهایی همچون پیامهایی با محتوای پنهان نسبت به گذشته بسیار آسانتر شده است.
به وضوح تمام عملیات خودکار و به سرعت انجام میگیرد. البته این عملیات برای افزایش سرعت و کارآمدی برای انجام ماموریت خیالی خود یعنی مسدود کردن اسپمها از تمام ایمیلهای یک و نیم میلیارد کاربر جیمیل تا ابدیت، به طور مداوم بررسی میشود.
نوشته جیمیل با کمک یادگیری ماشین ویژگی فیلتر کردن اسپمها را به حد کمال رسانده است اولین بار در وبسایت فناوری پدیدار شد.
استفاده ارتش آمریکا از “یادگیری ماشین” برای پیشبینی تعمیرات خودروهای نظامی
هر آنچه که باید در مورد هوش مصنوعی و شبکه عصبی بدانید
هوش مصنوعی یکی از پیچیدهترین و ناآشناترین سر فصل های مطرح این روزها است. افرادی مثل ایلان ماسک (Elon Musk) مدتهاست از خطر نابودی انسان توسط روباتها صحبت به میان آوردهاند، این در حالی است که تعداد زیادی از متخصصین بر این باور هستند که هوش مصنوعی در مراحل اولیه است و هیچوقت به خطری برای انسانها تبدیل نخواهد شد.
اینکه کدام عقیده در رابطه با هوش مصنوعی محتملتر باشد موضوعی است که نمیتوان جواب قاطعی حداقل در حال حاضر برای آن پیدا کرد. برای آشنایی با این موضوع بهترین مکان برای شروع یادگیری عمیق (Deep Learning) است.
هوش مصنوعی نقطه عطف جامعه تکنولوژی جهان امروز است و این محبوبیت تماما مدیون پیشرفت روزافزون یادگیری عمیق است. پیشرفت مباحثی از جمله بینایی کامپیوتر (Computer Vision) و پردازش زبان ها دو کاربرد مهم هوش مصنوعی هستند که میتوان هر دوی اینها را مدیون شبکه عصبی دانست.
لازم به ذکر است که تکنیکهای یادگیری عمیق بر اساس الگوبرداری از شبکه عصبی مغز انسان و حیوانات دیگر به دست آمدهاند.
شبکه عصبی چیست؟
دانشمندان هوش مصنوعی بر این عقیدهاند که مغز یک موجود زنده اطلاعات را توسط یک شبکه عصبی بیولوژیکی پردازش میکند. مغز انسان به اندازه ۱۰۰ بیلیون پیوندگاه نرونی (synapses) دارد که به هنگام فعالیت الگوهای خاصی را تشکیل میدهند. زمانی که یک شخص به یک پدیده خاص فکر میکند، چیزی را به خاطر میآورد یا با یکی از حسهای پنجگانهاش تجربهای به دست میآورد یک الگوی خاص عصبی در ذهنش شکل میگیرد.
دوران کودکی خود را در نظر بگیرید، زمانی که حروف را به شما یاد دادند بارها مجبور بودید برای خواندن یک کلمه آن را به صورت شمرده و با صدای بلند برای خود تکرار کنید تا مغز جوان شما بتواند آن کلمه را بشنود و در نهایت بعد از تکرار فراوان ثبت کند. اما زمانی که به عنوان مثال کلمه گربه را بارها شنیدید دیگر نیازی به تکرار شمرده و با صدای بلند نداشتید. در این مرحله به قسمتی از مغز خود دسترسی داشتید که بیشتر به حافظه مربوط بوده تا حل مسئله، به این ترتیب مجموعه دیگری از پیوندگاه نرونی موجود در مغز شما فعال شدند که کلمه گربه را میشناختند.
در حوزه هوش مصنوعی و به طور دقیقتر در بخش یادگیری عمیق ، یک شبکه عصبی متشکل از لایههای متعدد تعریف میشود که مانند پیوندگاه نرونی مغز عمل میکند. محققان برای اینکه عکس یک گربه را برای کامپیوتر تعریف کنند تعداد زیادی از عکسهای گوناگون گربهها را به کامپیوتر میخورانند، در نهایت شبکه عصبی تمامی بخشهای مشابه را در میان این تصاویر درون خود نگاه میدارد تا در صورت مشاهده یک تصویر جدید بتواند آن را بفهمد.
دانشمندان از شبکه عصبی برای یادگیری ماشین (machine learning) استفاده میکنند؛ به این ترتیب کامپیوترها میتوانند بصورت مستقل و بدون کمک انسان کارها را انجام دهند.
به چند مثال ساده در رابطه با شبکه های عصبی توجه کنید:
- شبکه عصبی میتواند تصاویر تیره را بگیرد و آنها را روشن میکند.
- شبکه عصبی میتواند با استفاده از MRI مغز شما بفهمد که به چه فکر میکنید.
- این یکی Super Mario بازی میکند.
- در نهایت با شبکه عصبی آشنا شوید که خود را تکرار میکند.
همانطور که میبینید شبکه عصبی میتواند مسائل گوناگونی را حل کند. برای اینکه با کارکرد بهتر این شبکه ها آشنا شوید و بدانید که یادگیری کامپیوتر چگونه محقق میشود میخواهیم نگاه دقیقتری به سه نوع ساده از شبکه های عصبی بیاندازیم.
در حوزه هوش مصنوعی میتوان نمونههای گوناگونی از یادگیری ماشین و شبکه های عصبی را معرفی کرد. در این مقاله تمرکز ما بر سه شاخه GANs، CNNs و RNNs خواهد بود:
Generative Adversarial networks (GANs)
در سال ۲۰۱۴ یکی از کارمندان بخش هوش مصنوعی گوگل GAN را اختراع میکند؛ GAN یک شبکه عصبی متشکل از دو بخش متضاد است، یک تولید کننده و یک مهاجم، این دو بخش با یکدیگر در جنگ هستند تا اینکه تولید کننده بتواند پیروز میدان گردد. اگر میخواهید یک هوش مصنوعی بسازید تا بتواند از آثار هنری مثل کارهای پیکاسو تقلید کند میتوانید تعدادی از آثار این هنرمند را به یک GAN تزریق کنید.
یک بخش شبکه نقاشیهای جدید میسازد و قصدش گول زدن بخش مهاجم است، تولید کننده یک نقاشی جدید پیشنهاد میکند و کار بخش مهاجم تشخیص واقعی بودن این نقاشی است، این فرآیند تا زمانی که مهاجم نقاشی تولید کننده را از نقاشی پیکاسو تشخیص ندهد ادامه پیدا میکند، در واقع این روند تا زمانی ادامه پیدا میکند که هوش مصنوعی بتواند خود را گول بزند.
Convolutional Neural Networks (CNNs)
تئوری شبکه های عصبی کانولوشنال به سال ۱۹۴۰ بر میگردد اما با توجه به پیشرفت روزافزون سخت افزار و بهینه شدن الگوریتمهای مورد استفاده، تا به امروز هوش مصنوعی بهرهای از این تکنولوژی نبرده بود. برخلاف GANs که در آن با یک مهاجم روبهرو بودیم در CNNs لایههای گوناگونی وجود دارند که اطلاعات را به صورت طبقهبندی شده درون خود ذخیره میکنند. این نمونه از شبکه های عصبی برای تشخیص تصویر و پردازش زبان مورد استفاده قرار میگیرد.
به عنوان مثال اگر یک بیلیون ساعت ویدئو در دست دارید میتوانید آن را به یک CNN وارد کنید تا این الگوریتم با استفاده از آنالیز فریمها دریابد که در این ویدئو چه خبر است. هوش مصنوعی میتواند ماشین، درخت، علامتهای راهنمایی و … را با توجه به اطلاعات از پیش تعریف شده، از درون ویدئو تشخیص دهد.
یکی از مهمترین کاربردهای CNN کمکرسانی به پزشکان در تشخیص بیماریها است.
Recurrent Neural Networks (RNNs)
در نهایت نگاهی به RNN میاندازیم. این الگوریتم برای یک هوش مصنوعی کاربرد دارد که با استفاده از بافت تعریف شده، ورودی را بشناسد.
برای فهم بهتر RNN بیایید یک هوش مصنوعی را تصور کنیم که بر اساس ورودی انسان بتواند یک قطعه موسیقی را بسازد. اگر نت اول را برای آن بنوازید این الگوریتم نت بعد را پیشبینی خواهد کرد، با زدن نت ورودی جدید توسط شما این الگوریتم بیشتر و بیشتر در عمق موسیقی پیش میرود و در نهایت با استفاده از مقادیر ورودی مشخص یک قطعه کامل موسیقی را به شما تحویل میدهد، در واقع RNN به طور پیوسته خود را بر اساس ورودیها بهروز میکند. کلمه لاتین Recurrent به معنی تکرار نیز بر همین اساس در آغاز این الگوریتم هوش مصنوعی قرار گرفته است.
نوشته هر آنچه که باید در مورد هوش مصنوعی و شبکه عصبی بدانید اولین بار در گويا آی تی پدیدار شد.