نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • اهن
  • یک نظریه جدید راز نحوه عملکرد شبکه های عصبی را فاش می کند. محدودیت های یادگیری عمیق و آینده

یک نظریه جدید راز نحوه عملکرد شبکه های عصبی را فاش می کند. محدودیت های یادگیری عمیق و آینده

چگونه یک سخنرانی کنفرانسی در دنیای هوش مصنوعی به یک احساس تبدیل شد؟ Natalie Wolchower در WIRED در مورد کشفی گزارش داد که می تواند به سرنخ هایی در مورد نحوه عملکرد شبکه های یادگیری عمیق منجر شود.

اگرچه الگوریتم‌هایی که به عنوان «شبکه‌های عصبی عمیق» شناخته می‌شوند، رانندگی ماشین‌ها، شکست دادن قهرمانان بازی‌های ویدیویی و Go، نقاشی کردن تصاویر و اکتشافات علمی را یاد گرفته‌اند، اما سازندگان خود را گیج کرده‌اند، زیرا هیچ‌کس انتظار نداشت الگوریتم‌های یادگیری عمیق به این خوبی کار کنند. از این گذشته، این سیستم ها بر اساس یک ایده بسیار مبهم از معماری مغز (که هیچ کس هم کار آن را نمی فهمد) بود.

مانند مغز، یک شبکه عصبی عمیق دارای لایه‌هایی از نورون‌ها است، فقط لایه‌های مصنوعی، یعنی قطعات حافظه کامپیوتر. هنگامی که یک نورون شلیک می شود، سیگنال هایی را به نورون های مرتبط با خود در لایه دیگری ارسال می کند. در طول یادگیری عمیق، اتصالات در شبکه تقویت یا ضعیف می‌شوند تا سیستم بهتر بتواند سیگنالی را از داده‌های خارجی (مثلاً عکس یک سگ) به لایه‌هایی از نورون‌های مرتبط با مفاهیم سطح بالا ارسال کند، برای مثال، "سگ". پس از اینکه یک شبکه عصبی عمیق از هزاران نمونه عکس از سگ ها یاد گرفت، می تواند سگ ها را در عکس ها درست مانند انسان تشخیص دهد. جهش جادویی از موارد خاص به مفاهیم کلی چیزی است که به شبکه‌های عصبی قدرت می‌دهد، زیرا زیربنای تفکر، خلاقیت و سایر توانایی‌های انسان است که در مجموع «هوش» نامیده می‌شوند. کارشناسان نمی دانستند چه چیزی به شبکه های یادگیری عمیق اجازه تعمیم می دهد و تا چه حد این درک از واقعیت شبیه مغز انسان است.

ژوئیه امسال، صدای ضبط شده ای از سخنرانی در کنفرانسی در برلین در یوتیوب ظاهر شد که پاسخ احتمالی را نشان می دهد. در گزارش خودنفتالی تیشبی ، دانشمند و عصب شناس دانشگاه عبری اورشلیم، شواهدی را در تأیید این موضوع ارائه کرد نظریه جدید، آموزش عمیق را توضیح می دهد. تیشبی معتقد است که شبکه های عصبی عمیق از طریق یک «گلوگاه اطلاعاتی» یاد می گیرند، روشی که او و همکارانش انجام می دهند.شرح داده شده در سال 1999. ایده این است که شبکه عصبی از داده‌ها و جزئیات ورودی غیرضروری خلاص می‌شود، اطلاعات را از طریق گلوگاه "هل" می‌کند و تنها مناسب‌ترین آنها را برای تعریف کلینشانه هاآزمایشات کامپیوتری Tishby و شاگردش Ravid Schwartz-Ziv نشان دادند که چگونه این روش در طول یادگیری عمیق رخ می دهد.

این یافته ها جامعه هوش مصنوعی را هیجان زده کرده است. "من معتقدم که ایده تنگنا می تواند در تحقیقات آینده بسیار مهم باشد شبکه های عصبیالکس عالمی از Google Research که قبلاً این کار را انجام داده است، گفتتوسعه یافته روش‌های تقریب جدید برای کاوش نظریه در شبکه‌های عصبی بزرگتر عالمی گفت که گلوگاه نه تنها می تواند به عنوان یک ابزار نظری برای درک نحوه عملکرد شبکه های عصبی، بلکه به عنوان ابزاری برای ایجاد اهداف و ساختارهای جدید برای شبکه های عصبی عمل کند.

برخی از محققان تردید دارند که این نظریه موفقیت یادگیری عمیق را به طور کامل توضیح دهد، اماکایل کرانمر از دانشگاه نیویورک، که از یادگیری ماشین برای مطالعه برخورد ذرات در برخورد دهنده بزرگ هادرون استفاده می کند، می گوید "به نظر می رسد این درست باشد."

جفری هینتون، پیشگام در یادگیری عمیق، پس از تماشای سخنرانی تیشبی، نامه ای به او نوشت. "خیلی جالب است. من باید ده هزار بار دیگر آن را گوش کنم تا واقعاً آن را بفهمم، اما این روزها به ندرت شنیده می شود که اجرای یک ایده واقعاً بدیع را بشنوم که ممکن است پاسخی به یک معمای بزرگ باشد."

به گفته تیشبی، که این اصل را برای همه یادگیری ها اساسی می داند، این پاسخ مورد انتظار به این معنی است که «بیشترین بخش اصلییادگیری فراموش کردن است.»

تنگنا

Tishby زمانی شروع به فکر کردن در مورد گلوگاه اطلاعاتی کرد که سایر محققان شروع به کار با شبکه های عصبی عمیق کردند، اگرچه هیچ یک از این مفاهیم هنوز نامی نداشتند. در دهه 1980 بود که تیشبی به این فکر می کرد که چگونه انسان ها گفتار یکدیگر را تشخیص می دهند، که در آن زمان یک مشکل در مطالعه هوش مصنوعی بود. Tishby متوجه شد که اصل مسئله یک مسئله مرتبط بودن است - مهم ترین ویژگی های یک کلمه گفتاری چیست و چگونه آنها را از متغیرهایی مانند لهجه، لغت و لحن جدا کنیم؟ چه سیگنال هایی را از دریای داده های واقعیت انتخاب می کنیم؟

Tishby در مصاحبه ای گفت: "این ایده مربوط به اطلاعات بارها ذکر شده است، اما هرگز به درستی بیان نشده است." سال‌ها مردم فکر می‌کردند که تئوری اطلاعات برای فکر کردن به ارتباط نامناسب است و این تصورات غلط به خود شانون برمی‌گردد.

کلود شانون، خالق نظریه اطلاعات، به نوعی مطالعه اطلاعات را در دهه 1940 با اجازه دادن به اطلاعات به عنوان یک مقوله انتزاعی، صفر و یک با معنای صرفاً ریاضی، آغاز کرد. همانطور که تیشبی می گوید، شانون این دیدگاه را پذیرفت که «اطلاعات هیچ ارتباطی با معناشناسی ندارد». اما تیشبی معتقد است که اینطور نیست. با استفاده از نظریه اطلاعات، "شما می توانید "ارتباط" را به روشی دقیق تعریف کنید."

تصور کنید که X مجموعه پیچیده ای از داده ها است، مانند پیکسل های موجود در عکس یک سگ، و Y یک متغیر ساده است که با آن داده نشان داده می شود، مانند کلمه "سگ". می‌توانید با فشرده‌سازی X تا جایی که می‌توانید بدون از دست دادن توانایی پیش‌بینی Y، تمام اطلاعات «مرتبط» در مورد X را در Y دریافت کنید. Tishby و همکارانش فرناندو پریرا (اکنون در Google) و ویلیام بیالک (در مقاله خود در سال 1999) اکنون در دانشگاه پرینستون) این فرض را به عنوان یک مسئله بهینه سازی ریاضی فرموله کرد. این یک ایده اساسی و بدون کاربرد عملی بود.

تیشبی می گوید: «من در سی سال گذشته در زمینه های مختلف به این موضوع فکر کرده ام. "من خوش شانس هستم که شبکه های عصبی عمیق بسیار مهم شده اند."

چشم به صورت مردم

اگرچه مفهوم شبکه‌های عصبی عمیق دهه‌ها است که وجود داشته است، عملکرد آن‌ها در وظایف تشخیص گفتار و تصویر در اوایل دهه ۲۰۱۰ به لطف طرح‌های آموزشی بهبودیافته و پردازنده‌های کامپیوتری قدرتمندتر افزایش یافت. تیشبی در سال 2014 پس از مطالعه از ارتباط بالقوه بین این پیشرفت و اصل تنگنای خود آگاه شد.مقالات فیزیکدانان دیوید شواب و پانکاج مهتا.

آنها دریافتند که الگوریتمی که هینتون اختراع کرده است به نام "شبکه باور عمیق" مانند عادی سازی مجدد عمل می کند، تکنیکی که در فیزیک برای به دست آوردن آن استفاده می شود. ایده کلی O سیستم فیزیکیبا توجه به جزئیات آن هنگامی که شواب و مهتا شبکه باور عمیق را به مدلی از آهنربا در "نقطه بحرانی" خود، که در آن سیستم در هر مقیاسی فراکتال است، اعمال کردند، دریافتند که شبکه به طور خودکار از یک تکنیک شبیه به عادی سازی مجدد برای محاسبه وضعیت مدل استفاده می کند. . این یک نشانه شگفت‌انگیز بود که به گفته این بیوفیزیکدان، «استخراج ویژگی‌های مرتبط در زمینه فیزیک آماری و استخراج ویژگی در زمینه یادگیری عمیق تنها یکسان نیستند، بلکه یک چیز هستند».ایلیا نمنمان.

تنها مشکل این است که دنیای واقعی فراکتال نیست. کرانمر می‌گوید: «دنیای طبیعی گوش بر گوش نیست، بلکه چشم‌های روی چهره مردم است. بنابراین من نمی گویم که [رویه عادی سازی مجدد] دلیلی است که شبکه های عصبی با تصاویر خوب کار می کنند. اما تیشبی که در آن زمان تحت شیمی درمانی برای سرطان لوزالمعده قرار می گرفت، متوجه شد که ایده گسترده تری پشت همه اینها وجود دارد. او گفت: «اندیشیدن به علم و نقش ایده‌های قدیمی‌ام بخش مهمی از شفای من بوده است.

در سال 2015، تیشبی و شاگردش نوگا زاسلاوسکیفرض یادگیری عمیق یک روش گلوگاه اطلاعاتی است که داده های غیرضروری را از بین می برد و در عین حال اطلاعات مربوط به موضوعی را که داده ها نشان می دهد حفظ می کند. آزمایش‌های جدید با شبکه‌های عصبی عمیق نشان می‌دهد که روش گلوگاه چگونه رخ می‌دهد. در یک مورد، محققان از شبکه‌های کوچکی استفاده کردند که می‌توان آنها را برای برچسب‌گذاری داده‌های دریافتی با یک یا صفر ("سگ" یا "نه سگ") آموزش داد و 282 اتصال عصبی ایجاد کرد. سیگنال های تصادفی. آنها سپس آنچه را که شبکه ها شروع به آموزش بر روی 3000 مجموعه داده بودند، ردیابی کردند.

الگوریتم اصلی مورد استفاده در اکثر روش‌های یادگیری عمیق برای تنظیم نحوه واکنش اتصالات عصبی به داده‌ها «نزول گرادیان تصادفی» نامیده می‌شود. هر بار که شبکه داده‌ها را دریافت می‌کند، سیگنال از لایه‌های نورون‌های مصنوعی عبور می‌کند. هنگامی که سیگنال به لایه بالایی می رسد، الگوی نهایی را می توان با برچسب صحیح برای تصویر مقایسه کرد - 1 یا 0، "سگ" یا "سگ نیست". هر گونه تفاوت بین این الگو و پاسخ صحیح، از طریق لایه‌ها «بازگشت» می‌شود، مانند معلمی که امتحان را تصحیح می‌کند، با الگوریتم تقویت یا تضعیف هر اتصال برای بهبود شبکه برای تولید سیگنال خروجی صحیح. با پیشرفت آموزش، الگوهای رایج در داده‌های آموزشی در قدرت اتصالات منعکس می‌شود و شبکه در برچسب‌گذاری صحیح داده‌ها، تشخیص یک سگ، یک کلمه یا یک واحد متخصص می‌شود.

Tishby و Schwartz-Ziv در آزمایش‌های خود ردیابی کردند که هر لایه از یک شبکه عصبی عمیق در مورد داده‌های ورودی چقدر اطلاعات ذخیره می‌کند و هر کدام چه اطلاعاتی در مورد برچسب خروجی ذخیره می‌کنند. دانشمندان دریافته اند که شبکه ها به تدریج روی یک گلوگاه اطلاعاتی نظری همگرا می شوند: حد نظری، در مقاله اصلی توسط Tishby، Pereira و Bialek به دست آمده است. حد بیانگر امر مطلق است بهترین نتیجه، که سیستم می تواند هنگام استخراج اطلاعات مربوطه به دست آورد. در این مرز، سیستم داده‌های ورودی را تا حد امکان فشرده می‌کند بدون اینکه توانایی پیش‌بینی دقیق دسته آن را از بین ببرد.

Tishby و Schwartz-Ziv کشف جالبی کردند که یادگیری عمیق در دو مرحله اتفاق می افتد: یک مرحله کوتاه "تنظیم" که در آن شبکه یاد می گیرد که داده های آموزشی را برچسب گذاری کند، و یک مرحله طولانی "فشرده سازی" که در آن شبکه در تعمیم بهتر می شود. که با عملکرد سنجیده می شود.شبکه ها در برچسب گذاری داده های تست جدید.

هنگامی که یک شبکه عصبی اتصالات خود را برای نزول گرادیان تصادفی تنظیم می‌کند، در ابتدا تعداد بیت‌هایی که در مورد ورودی ذخیره می‌کند تقریباً ثابت می‌ماند یا کمی افزایش می‌یابد زیرا اتصالات برای کدگذاری الگوها در ورودی تنظیم می‌شوند و شبکه نتایج خوبی در برچسب‌گذاری آن می‌گیرد. برخی از صاحب نظران این مرحله را با حفظ مقایسه کرده اند.

سپس یادگیری به مرحله فشرده سازی می رود. شبکه شروع به فشرده‌سازی اطلاعات مربوط به داده‌های ورودی می‌کند و تنها برجسته‌ترین ویژگی‌هایی را که با برچسب خروجی مرتبط هستند، ردیابی می‌کند. این به این دلیل اتفاق می‌افتد که در هر تکرار گرادیان نزول، همبستگی‌های تصادفی رخ می‌دهد که به شبکه می‌گوید کارهای مختلفی را انجام دهد و اتصالات را قوی‌تر یا ضعیف‌تر کند. این تصادفی سازی فشرده سازی نمایش سیستم از داده های ورودی است. به عنوان مثال، برخی از عکس ها ممکن است سگ ها را در خانه نشان دهند، در حالی که برخی دیگر ممکن است اینگونه نباشند. وقتی شبکه این عکس‌ها را تجزیه و تحلیل می‌کند، ممکن است ارتباط بین خانه‌ها و سگ‌ها را در برخی عکس‌ها «فراموش کند»، اگرچه عکس‌های دیگر در برابر این موضوع مقاومت می‌کنند. درک سیستم از مفاهیم کلی با فراموشی برخی ویژگی ها شکل می گیرد. در واقع، آزمایش‌ها نشان داده‌اند که توانایی تعمیم شبکه عصبی در مرحله فشرده‌سازی بهتر می‌شود. (یک شبکه عصبی عمیق آموزش داده شده بر روی عکس سگ ها را می توان روی عکس های دیگر، با یا بدون سگ آزمایش کرد.)

باید دید که آیا گلوگاه اطلاعات بر همه حالت های یادگیری عمیق حاکم است یا اینکه روش های تعمیم دیگری به جز فشرده سازی وجود دارد. برخی از کارشناسان هوش مصنوعی، ایده های Tishby را برخی از مهم ترین اکتشافات نظری اخیر در مورد یادگیری عمیق می دانند. اندرو ساکس، محقق هوش مصنوعی و عصب شناس در دانشگاه هاروارد، مشاهده کرده است که برخی از شبکه های عصبی بزرگ برای تعمیم خوب نیازی به فاز فشرده سازی طولانی ندارند. در عوض، محققان چیزی به نام توقف زودهنگام را برنامه‌ریزی می‌کنند که زمان آموزش را کوتاه می‌کند تا شبکه از رمزگذاری بیش از حد همبستگی‌ها جلوگیری کند.

Tishby می‌گوید مدل‌های شبکه تحلیل‌شده توسط ساکس و همکارانش با معماری شبکه عصبی استاندارد متفاوت است، اما نظریه گلوگاه اطلاعات عملکرد آنها را بهتر از روش‌های دیگر توضیح می‌دهد. سؤالات مربوط به وجود گلوگاه در شبکه های عصبی بزرگتر تا حدی در آزمایشات اخیر توسط Tishby و Schwartz-Ziv مطرح شده است، که در آن آنها شبکه های عصبی بسیار بزرگتر را با 330000 اتصال برای تشخیص ارقام دست نویس در پایگاه داده 60000 تصویری MNIST آموزش می دهند. معیار شناخته شده برای ارزیابی عملکرد الگوریتم های یادگیری عمیق. دانشمندان همین همگرایی شبکه ها را دیدند. آنها همچنین دو مرحله متمایز از یادگیری عمیق را مشاهده کردند که با یک انتقال حتی واضح تر از قبل از هم جدا شدند شبکه های کوچک. تیشبی گفت: «اکنون کاملاً متقاعد شده‌ام که این یک پدیده عمومی است.

مردم و ماشین آلات

معمای این که چگونه مغز سیگنال های حواس ما را غربال می کند و آنها را به سطح آگاهی آگاهانه ارتقا می دهد، علاقه زیادی را در میان محققان اولیه هوش مصنوعی ایجاد کرد که امیدوار بودند فرآیند یادگیری مغز را بازسازی کنند. در بیشتر موارد، آنها قبلاً این مسیر پیشرفت فناوری را رها کرده‌اند و به جای دنبال کردن منطقی بودن بیولوژیکی، شروع به افزایش بهره‌وری کرده‌اند. با این حال، از آنجایی که ماشین‌های متفکر به موفقیت‌های بزرگ‌تری دست می‌یابند، حتی این ترس را ایجاد می‌کنند که هوش مصنوعی روزی می‌تواند به یک تهدید وجودی تبدیل شود، بسیاری امیدوارند که این مطالعات ایده‌های کلی در مورد یادگیری و هوش را آشکار کند.

Brenden Lake که تفاوت ها و شباهت های بین یادگیری انسان و ماشین را مطالعه می کند، گفت که یافته های Tishby نشان دهنده " گام مهمبرای باز کردن جعبه سیاه شبکه های عصبی، اما او تاکید کرد که مغز جعبه سیاه بسیار پیچیده تری است. مغز بزرگسالان ما که چند صد تریلیون ارتباط بین 86 میلیارد نورون دارد، احتمالاً از تعدادی ترفند برای تقویت تعمیم فراتر از الگوی اولیه و روش‌های یادگیری تشخیص صدا که در دوران نوزادی رخ می‌دهد و ممکن است از بسیاری جهات شبیه یادگیری عمیق باشد، استفاده می‌کند.

به عنوان مثال، لیک گفت که دو مرحله یادگیری عمیق شبیه روشی نیست که کودکان حروف دست‌نویس را یاد می‌گیرند که او مطالعه می‌کند. کودکان نیازی به دیدن هزاران مثال و فشرده سازی درک خود از حروف در مدت زمان طولانی ندارند تا نمونه های دیگری از آن حروف را بیاموزند و خودشان بنویسند. آنها می توانند این را از یک مثال بیاموزند. مدل‌های لیک و همکارانش نشان می‌دهند که مغز می‌تواند ساختارشکنی کند نامه جدیدبه‌عنوان مجموعه‌ای از «ضربه‌ها» - ساختارهای ذهنی از قبل موجود - که اجازه می‌دهد مفهوم نوشتن با دانش قبلی مرتبط شود. لیک توضیح داد: «به‌جای اینکه به تصویر یک حرف به‌عنوان الگوی پیکسل‌ها فکر کنم و مفهوم را به‌عنوان نمایشی از آن ویژگی‌ها یاد بگیرم»، مانند الگوریتم‌های استاندارد یادگیری ماشین، «من سعی می‌کنم یک مدل علی ساده از حرف، یعنی یک میانبر برای تعمیم ایجاد کنید.

چنین ایده هایی در مورد مغز می تواند برای جامعه هوش مصنوعی مفید باشد و تبادل اطلاعات بین این مناطق را تسهیل کند. تیشبی معتقد است که نظریه او در هر دو رشته مفید خواهد بود، حتی اگر شکل کلی تری در یادگیری انسان پیدا کند. این تئوری قبلاً به ما اجازه می‌دهد بفهمیم که شبکه‌های عصبی واقعی و مصنوعی چه نوع مشکلاتی را می‌توانند حل کنند. "این می دهد توضیحات کامل Tishby می گوید: مشکلاتی که قابل مطالعه هستند. اینها «مشکلاتی هستند که در آنها می توانم نویز را از ورودی حذف کنم بدون اینکه به توانایی طبقه بندی من آسیبی وارد شود. اینها مشکلات بینایی طبیعی و تشخیص گفتار هستند. اینها دقیقاً همان مشکلاتی هستند که مغز ما می تواند از عهده آنها برآید."

با این حال، هر دو شبکه عصبی واقعی و مصنوعی نمی توانند با مشکلاتی که هر جزئیات در آن مهم است کنار بیایند و اختلاف در دقیقه می تواند کل نتیجه را خراب کند. به عنوان مثال، بسیاری از افراد نمی توانند به سرعت دو عدد بزرگ را در سر خود ضرب کنند. «ما محدوده وسیعی داریم مشکلات مشابه، مسائل منطقی که به تغییرات یک متغیر بسیار حساس هستند. طبقه بندی، مشکلات گسسته، مشکلات رمزنگاری. فکر نمی‌کنم یادگیری عمیق هرگز به من در شکستن کدهای رمزنگاری کمک کند."

تعمیم - یک گلوگاه اطلاعاتی - به معنای کنار گذاشتن برخی جزئیات است. برای محاسبات پیچیده ذهنی مناسب نیست، اما آنها وظیفه اصلی مغز نیستند. ما به دنبال چهره های آشنا در یک جمعیت، نظم در هرج و مرج، سیگنال های قابل توجه در یک دنیای پر سر و صدا می گردیم.

هوش مصنوعی، شبکه های عصبی، یادگیری ماشین - همه این مفاهیم رایج در حال حاضر در واقع به چه معنا هستند؟ برای اکثر افراد ناآشنا، که خود من هستم، همیشه چیزی خارق العاده به نظر می رسیدند، اما در واقع جوهر آنها در ظاهر نهفته است. من مدتهاست که فکر نوشتن داشتم به زبان سادهدر مورد شبکه های عصبی مصنوعی خودتان پیدا کنید و به دیگران بگویید این فناوری چیست، چگونه کار می کند، تاریخچه و چشم انداز آن را در نظر بگیرید. در این مقاله سعی کردم وارد علف های هرز نشوم، بلکه به سادگی و به طور عمومی در مورد این جهت امیدوارکننده در دنیای فناوری پیشرفته صحبت کنم.

هوش مصنوعی، شبکه های عصبی، یادگیری ماشین - همه این مفاهیم رایج در حال حاضر در واقع به چه معنا هستند؟ برای اکثر افراد ناآشنا، که خود من هستم، همیشه چیزی خارق العاده به نظر می رسیدند، اما در واقع جوهر آنها در ظاهر نهفته است. مدتهاست که ایده نوشتن به زبان ساده در مورد شبکه های عصبی مصنوعی را داشتم. خودتان پیدا کنید و به دیگران بگویید این فناوری چیست، چگونه کار می کند، تاریخچه و چشم انداز آن را در نظر بگیرید. در این مقاله سعی کردم وارد علف های هرز نشوم، بلکه به سادگی و به طور عمومی در مورد این جهت امیدوارکننده در دنیای فناوری پیشرفته صحبت کنم.

کمی تاریخچه

برای اولین بار، مفهوم شبکه های عصبی مصنوعی (ANN) در تلاش برای شبیه سازی فرآیندهای مغز پدید آمد. اولین پیشرفت بزرگ در این زمینه را می توان ایجاد مدل شبکه عصبی مک کالوخ پیتس در سال 1943 دانست. دانشمندان برای اولین بار مدلی از یک نورون مصنوعی ساخته اند. آنها همچنین طراحی شبکه ای از این عناصر را برای اجرا پیشنهاد کردند عملیات منطقی. اما مهمتر از همه، دانشمندان این را ثابت کرده اند شبکه مشابهقادر به یادگیری

بعد گام مهماولین الگوریتم برای محاسبه ANN در سال 1949 توسط دونالد هب ایجاد شد که برای چندین دهه بعد اساسی شد. در سال 1958، فرانک روزنبلات پارسپترون را توسعه داد، سیستمی که فرآیندهای مغز را تقلید می کند. زمانی، این فناوری مشابهی نداشت و هنوز در شبکه های عصبی اساسی است. در سال 1986، دانشمندان آمریکایی و شوروی تقریباً به طور همزمان، مستقل از یکدیگر، روش اساسی آموزش پرسپترون چند لایه را به طور قابل توجهی بهبود بخشیدند. در سال 2007، شبکه های عصبی تولدی دوباره را تجربه کردند. جفری هینتون، دانشمند کامپیوتر بریتانیایی، برای اولین بار یک الگوریتم یادگیری عمیق برای شبکه های عصبی چندلایه ایجاد کرد، که اکنون برای مثال برای کار با ماشین های خودران استفاده می شود.

به طور خلاصه در مورد اصل مطلب

در معنای عام کلمه، شبکه های عصبی هستند مدل های ریاضی، کار بر روی اصل شبکه های سلول های عصبی در بدن حیوانات. ANN ها را می توان در راه حل های قابل برنامه ریزی و سخت افزاری پیاده سازی کرد. برای آسان‌تر کردن درک، یک نورون را می‌توان سلولی در نظر گرفت که دارای سوراخ‌های ورودی و یک سوراخ خروجی است. نحوه تشکیل چندین سیگنال ورودی به سیگنال خروجی توسط الگوریتم محاسبه تعیین می شود. مقادیر مؤثر به هر ورودی نورون ارائه می شود، که سپس در امتداد اتصالات بین نورونی (خلاصه) توزیع می شود. سیناپس ها دارای یک پارامتر هستند - وزن، به همین دلیل اطلاعات ورودی هنگام حرکت از یک نورون به نورون دیگر تغییر می کند. ساده ترین راه برای تصور اصل عملکرد شبکه های عصبی، مخلوط کردن رنگ ها است. نورون آبی، سبز و قرمز دارند وزن های مختلف. اطلاعات نورونی که وزن آن بیشتر است در نورون بعدی غالب خواهد بود.

شبکه عصبی خود سیستمی از بسیاری از نورون ها (پردازنده ها) است. به طور جداگانه، این پردازنده ها بسیار ساده هستند (بسیار ساده تر از یک پردازنده کامپیوتر شخصی)، اما زمانی که در سیستم بزرگنورون ها قادر به انجام وظایف بسیار پیچیده هستند.

بسته به حوزه کاربرد، یک شبکه عصبی را می توان به روش های مختلفی تفسیر کرد، به عنوان مثال، از نقطه نظر یادگیری ماشین، ANN یک روش تشخیص الگو است. از نقطه نظر ریاضی، این یک مسئله چند پارامتری است. از نقطه نظر سایبرنتیک - مدلی از کنترل تطبیقی ​​رباتیک. برای هوش مصنوعی، ANN یک جزء اساسی برای مدل‌سازی هوش طبیعی با استفاده از الگوریتم‌های محاسباتی است.

مزیت اصلی شبکه های عصبی نسبت به الگوریتم های محاسباتی معمولی توانایی آنها در یادگیری است. در معنای کلی کلمه، یادگیری در مورد یافتن ضرایب جفت صحیح بین نورون ها و همچنین خلاصه کردن داده ها و شناسایی وابستگی های پیچیده بین سیگنال های ورودی و خروجی است. در واقع، آموزش موفقیت آمیز یک شبکه عصبی به این معنی است که سیستم قادر خواهد بود بر اساس داده هایی که در مجموعه آموزشی نیست، نتیجه صحیح را شناسایی کند.

وضعیت فعلی

و مهم نیست که چقدر این فناوری امیدوارکننده است، ANN ها هنوز از توانایی های مغز و تفکر انسان بسیار دور هستند. با این حال، شبکه های عصبی در حال حاضر در بسیاری از زمینه های فعالیت های انسانی استفاده می شود. تا کنون، آنها قادر به تصمیم گیری بسیار هوشمندانه نیستند، اما می توانند فردی را در جایی که قبلاً مورد نیاز بود، جایگزین کنند. در میان زمینه های متعدد کاربرد ANN می توان به ایجاد سیستم های خودآموز اشاره کرد فرآیندهای تولید، وسایل نقلیه بدون سرنشین، سیستم های تشخیص تصویر، سیستم های امنیتی هوشمند، روباتیک، سیستم های نظارت بر کیفیت، رابط های تعامل صوتی، سیستم های تجزیه و تحلیل و بسیاری موارد دیگر. این استفاده گسترده از شبکه های عصبی، از جمله، به دلیل ظهور روش های مختلف برای تسریع آموزش ANN است.

امروزه، بازار شبکه های عصبی بسیار بزرگ است - میلیاردها و میلیاردها دلار. همانطور که تمرین نشان می دهد، بیشتر فناوری های شبکه های عصبی در سراسر جهان تفاوت کمی با یکدیگر دارند. با این حال، استفاده از شبکه های عصبی یک فعالیت بسیار پرهزینه است که در بیشتر موارد فقط می توان از عهده آن برآمد شرکت های بزرگ. توسعه، آموزش و آزمایش شبکه های عصبی به قدرت محاسباتی زیادی نیاز دارد و بدیهی است که این امر به وفور در دسترس است. بازیگران اصلیدر بازار فناوری اطلاعات از جمله شرکت های اصلی که در این زمینه پیشرفت کرده اند می توان به بخش گوگل دیپ مایند، بخش تحقیقات مایکروسافت، آی بی ام، فیس بوک و بایدو اشاره کرد.

البته، همه اینها خوب است: شبکه های عصبی در حال توسعه هستند، بازار در حال رشد است، اما تاکنون وظیفه اصلیهنوز حل نشده است بشریت نتوانسته است فناوری ایجاد کند که حتی به توانایی های مغز انسان نزدیک شود. بیایید به تفاوت های اصلی بین مغز انسان و شبکه های عصبی مصنوعی نگاه کنیم.

چرا شبکه های عصبی هنوز از مغز انسان دور هستند؟

مهمترین تفاوتی که اصل و کارایی سیستم را به طور اساسی تغییر می دهد، این است دنده های مختلفسیگنال ها در شبکه های عصبی مصنوعی و در یک شبکه بیولوژیکی از نورون ها. واقعیت این است که در یک ANN نورون ها مقادیری را منتقل می کنند که هستند ارزش های واقعییعنی اعداد. که در مغز انسانپالس هایی با دامنه ثابت منتقل می شوند و این پالس ها تقریباً آنی هستند. این منجر به تعدادی از مزایای شبکه عصبی انسان می شود.

اولاً، خطوط ارتباطی در مغز بسیار کارآمدتر و مقرون به صرفه تر از خطوط ارتباطی ANN هستند. ثانیاً، مدار پالس سهولت اجرای فناوری را تضمین می کند: استفاده از مدارهای آنالوگ به جای مکانیزم های محاسباتی پیچیده کافی است. در نهایت، شبکه های پالسی در برابر تداخل صوتی مصون هستند. اعداد واقعی در معرض نویز هستند که احتمال خطا را افزایش می دهد.

خط پایین

البته در دهه گذشته رونق واقعی در توسعه شبکه های عصبی وجود داشته است. این در درجه اول به دلیل این واقعیت است که روند آموزش ANN بسیار سریعتر و آسان تر شده است. شبکه های عصبی به اصطلاح "از پیش آموزش دیده" نیز شروع به توسعه فعال کرده اند که می تواند روند معرفی فناوری را به میزان قابل توجهی سرعت بخشد. و اگر هنوز خیلی زود است که بگوییم آیا روزی شبکه‌های عصبی قادر خواهند بود توانایی‌های مغز انسان را به طور کامل بازتولید کنند، این احتمال وجود دارد که در دهه آینده شبکه‌های عصبی مصنوعی بتوانند جایگزین انسان در یک چهارم مشاغل موجود شوند. .

برای کسانی که می خواهند بیشتر بدانند

  • جنگ بزرگ عصبی: گوگل واقعاً چه کاری انجام می دهد
  • چگونه کامپیوترهای شناختی می توانند آینده ما را تغییر دهند

امروزه نمودار یکی از قابل قبول ترین روش ها برای توصیف مدل های ایجاد شده در سیستم یادگیری ماشین است. این نمودارهای محاسباتی از رئوس نورونی تشکیل شده است که توسط لبه های سیناپس به هم متصل شده اند که ارتباط بین رئوس را توصیف می کنند.

برخلاف GPU مرکزی یا برداری اسکالر، یک IPU است نوع جدیدپردازنده های طراحی شده برای یادگیری ماشین به شما امکان می دهد چنین نمودارهایی را بسازید. کامپیوتری که برای مدیریت نمودارها طراحی شده است - ماشین کاملبرای مدل‌های نمودار محاسباتی تولید شده توسط یادگیری ماشین.

یکی از ساده‌ترین راه‌ها برای توصیف فرآیند هوش ماشینی، تجسم آن است. تیم توسعه Graphcore مجموعه ای از این گونه تصاویر را ایجاد کرده است که در IPU نمایش داده می شود. بر اساس آن بود نرم افزارصنوبر که کار هوش مصنوعی را تجسم می کند. محققان این شرکت همچنین دریافتند که چرا شبکه‌های عمیق به حافظه زیادی نیاز دارند و چه راه‌حل‌هایی برای حل این مشکل وجود دارد.

Poplar شامل یک کامپایلر گرافیکی است که از ابتدا برای ترجمه عملیات استاندارد یادگیری ماشین به کد برنامه IPU بسیار بهینه شده ساخته شده است. این به شما امکان می دهد این نمودارها را با هم با استفاده از همان اصل جمع آوری POPNN جمع آوری کنید. کتابخانه شامل یک مجموعه است انواع مختلفرئوس برای جملات اولیه تعمیم یافته

نمودارها پارادایم‌هایی هستند که همه نرم‌افزارها بر اساس آن هستند. در Poplar، نمودارها به شما امکان می دهند یک فرآیند محاسباتی را تعریف کنید، جایی که راس ها عملیات را انجام می دهند و یال ها رابطه بین آنها را توصیف می کنند. برای مثال، اگر می‌خواهید دو عدد را با هم جمع کنید، می‌توانید یک راس با دو ورودی (اعدادی که می‌خواهید اضافه کنید)، مقداری محاسبات (یک تابع برای جمع دو عدد) و یک خروجی (نتیجه) تعریف کنید.

به طور معمول، عملیات با رئوس بسیار پیچیده تر از مثال توضیح داده شده در بالا است. آنها اغلب مصمم هستند برنامه های کوچک، کدلت ها (نام های رمزی) نامیده می شوند. انتزاع گرافیکی جذاب است زیرا هیچ فرضی در مورد ساختار محاسبات ایجاد نمی کند و محاسبات را به اجزایی تقسیم می کند که IPU می تواند از آنها استفاده کند.

Poplar از این انتزاع ساده برای ساختن نمودارهای بسیار بزرگی که به صورت تصویر نمایش داده می شوند استفاده می کند. تولید نرم‌افزار نمودار به این معنی است که می‌توانیم آن را بر اساس محاسبات خاص مورد نیاز برای اطمینان بیشتر تنظیم کنیم استفاده موثرمنابع IPU

کامپایلر ترجمه می کند عملیات استاندارد، که در سیستم های یادگیری ماشینی استفاده می شود، در کد برنامه بسیار بهینه شده IPU. کامپایلر گراف یک تصویر میانی از نمودار محاسباتی ایجاد می کند که روی یک یا چند دستگاه IPU مستقر می شود. کامپایلر می‌تواند این نمودار محاسباتی را نمایش دهد، بنابراین برنامه‌ای که در سطح چارچوب شبکه عصبی نوشته شده است، تصویری از نمودار محاسباتی را که روی IPU اجرا می‌شود، نمایش می‌دهد.


نمودار چرخه کامل آموزش AlexNet در جهت جلو و عقب

کامپایلر گرافیکی Poplar توضیحات AlexNet را به یک نمودار محاسباتی از 18.7 میلیون رأس و 115.8 میلیون یال تبدیل کرد. خوشه بندی به وضوح قابل مشاهده، نتیجه ارتباط قوی بین فرآیندها در هر لایه از شبکه، با ارتباط آسان تر بین لایه ها است.

مثال دیگر یک شبکه کاملا متصل ساده است که در MNIST آموزش دیده است - شماره گیری سادهداده ها برای بینایی کامپیوتر، نوعی "سلام، جهان" در یادگیری ماشین. شبکه سادهبررسی این مجموعه داده به درک نمودارهایی که توسط برنامه های کاربردی Poplar هدایت می شوند کمک می کند. این شرکت با ادغام کتابخانه های گراف با چارچوب هایی مانند TensorFlow، یکی از آنها را ارائه می کند راه های سادهبرای استفاده از IPU در برنامه های یادگیری ماشین

پس از اینکه گراف با استفاده از کامپایلر ساخته شد، باید اجرا شود. این کار با استفاده از Graph Engine امکان پذیر است. مثال ResNet-50 عملکرد آن را نشان می دهد.


نمودار ResNet-50

معماری ResNet-50 امکان ایجاد شبکه های عمیق از پارتیشن های تکراری را فراهم می کند. پردازنده فقط باید یک بار این بخش ها را تعریف کند و دوباره آنها را فراخوانی کند. به عنوان مثال، کلاستر سطح conv4 شش بار اجرا می شود، اما فقط یک بار به نمودار نگاشت می شود. این تصویر همچنین تنوع شکل‌های لایه‌های کانولوشن را نشان می‌دهد، زیرا هر یک دارای نموداری است که بر اساس یک شکل طبیعی محاسبه ساخته شده است.

موتور با استفاده از یک نمودار تولید شده توسط کامپایلر، اجرای یک مدل یادگیری ماشین را ایجاد و مدیریت می کند. پس از استقرار، Graph Engine IPUها یا دستگاه‌هایی را که توسط برنامه‌ها استفاده می‌شوند نظارت می‌کند و به آنها پاسخ می‌دهد.

تصویر ResNet-50 کل مدل را نشان می دهد. در این سطح تشخیص ارتباطات بین رئوس منفرد دشوار است، بنابراین ارزش دیدن تصاویر بزرگ شده را دارد. در زیر چند نمونه از بخش های درون لایه های شبکه عصبی آورده شده است.

چرا شبکه های عمیق به حافظه زیادی نیاز دارند؟

ردپای حافظه بزرگ یکی از بزرگترین چالش های شبکه های عصبی عمیق است. محققان در تلاشند تا با پهنای باند محدود دستگاه های DRAM که باید مورد استفاده قرار گیرند، مبارزه کنند سیستم های مدرنبرای ذخیره تعداد زیادی وزن و فعال سازی در یک شبکه عصبی عمیق.

معماری ها با استفاده از تراشه های پردازنده طراحی شده برای پردازش متوالی و بهینه سازی DRAM برای حافظه با چگالی بالا طراحی شده اند. رابط بین این دو دستگاه یک گلوگاه است که محدودیت های پهنای باند را معرفی می کند و سربار قابل توجهی را در مصرف برق اضافه می کند.

اگرچه ما هنوز درک کاملی از مغز انسان و نحوه عملکرد آن نداریم، اما به طور کلی می‌دانیم که حافظه جداگانه‌ای وجود ندارد. اعتقاد بر این است که عملکرد حافظه بلند مدت و کوتاه مدت در مغز انسان در ساختار نورون ها + سیناپس ها تعبیه شده است. حتی موجودات ساده ای مانند کرم ها، با ساختار عصبی مغزی بیش از 300 نورون، عملکرد حافظه ای دارند.

ساخت حافظه در پردازنده های معمولی یکی از راه های حل مشکل است تنگناهاحافظه، پهنای باند بسیار زیادی را با مصرف انرژی بسیار کمتر باز می کند. با این حال، حافظه روی تراشه گران است و برای حجم واقعی حافظه‌ای که به CPUها و GPUهایی که در حال حاضر برای آموزش و استقرار شبکه‌های عصبی عمیق استفاده می‌شوند متصل شده‌اند، طراحی نشده است.

بنابراین مفید است که به نحوه استفاده از حافظه امروزه در CPU ها و سیستم های یادگیری عمیق مبتنی بر GPU نگاه کنید و از خود بپرسید که چرا آنها به چنین حافظه ای نیاز دارند. دستگاه های بزرگذخیره سازی حافظه زمانی که مغز انسان بدون آنها خوب کار می کند؟

شبکه‌های عصبی برای ذخیره داده‌های ورودی، وزن‌ها و توابع فعال‌سازی با انتشار ورودی در شبکه به حافظه نیاز دارند. در یادگیری، فعال سازی روی ورودی باید تا زمانی که بتوان از آن برای محاسبه خطاهای گرادیان های خروجی استفاده کرد، حفظ شود.

به عنوان مثال، یک شبکه ResNet 50 لایه ای حدود 26 میلیون پارامتر وزن دارد و 16 میلیون فعال سازی رو به جلو را محاسبه می کند. اگر از یک شناور 32 بیتی برای ذخیره هر وزن و فعال سازی استفاده کنید، به حدود 168 مگابایت فضا نیاز دارد. استفاده بیشتر کم ارزشدقت برای ذخیره این وزن ها و فعال سازی ها، می توانیم این نیاز ذخیره سازی را نصف یا حتی چهار برابر کنیم.

یک مشکل عمده حافظه از این واقعیت ناشی می شود که GPU ها به داده هایی که به عنوان بردارهای متراکم نشان داده می شوند متکی هستند. بنابراین، آنها می توانند از رشته دستورالعمل واحد (SIMD) برای دستیابی به چگالی محاسباتی بالا استفاده کنند. CPU از واحدهای برداری مشابه برای محاسبات با کارایی بالا استفاده می کند.

GPU ها دارای عرض سیناپس 1024 بیت هستند، بنابراین از داده های ممیز شناور 32 بیتی استفاده می کنند، بنابراین اغلب آنها را به دسته کوچک موازی از 32 نمونه تقسیم می کنند تا بردارهایی از داده های 1024 بیتی ایجاد کنند. این رویکرد به موازی سازی برداری، تعداد فعال سازی ها را 32 برابر و نیاز به ذخیره سازی محلی با ظرفیت بیش از 2 گیگابایت را افزایش می دهد.

پردازنده‌های گرافیکی و سایر ماشین‌های طراحی‌شده برای جبر ماتریسی نیز در معرض بار حافظه ناشی از وزن‌ها یا فعال‌سازی شبکه‌های عصبی هستند. پردازنده‌های گرافیکی نمی‌توانند پیچیدگی‌های کوچک مورد استفاده در شبکه‌های عصبی عمیق را به طور موثر انجام دهند. بنابراین، تبدیلی به نام "کاهش" برای تبدیل این کانولوشن ها به ضرب ماتریس-ماتریس (GEMM) استفاده می شود، که GPU ها می توانند به طور موثر از عهده آن برآیند.

حافظه اضافی نیز برای ذخیره داده های ورودی، مقادیر موقت و دستورالعمل های برنامه مورد نیاز است. اندازه گیری میزان مصرف حافظه هنگام آموزش ResNet-50 بر روی یک GPU سطح بالا نشان داد که به بیش از 7.5 گیگابایت DRAM محلی نیاز دارد.

برخی ممکن است فکر کنند که دقت محاسباتی کمتر ممکن است میزان حافظه مورد نیاز را کاهش دهد، اما اینطور نیست. با تغییر مقادیر داده ها به نیمی از دقت برای وزن ها و فعال سازی ها، فقط نیمی از عرض برداری SIMD را پر می کنید و نیمی از منابع محاسباتی موجود را هدر می دهید. برای جبران این، وقتی از دقت کامل به نیم دقت روی GPU می روید، باید اندازه مینی دسته را دو برابر کنید تا موازی سازی داده ها به اندازه کافی برای استفاده از تمام محاسبات موجود اعمال شود. بنابراین، حرکت به سمت وزن‌های دقیق‌تر و فعال‌سازی‌های GPU همچنان به بیش از 7.5 گیگابایت حافظه پویا با دسترسی آزاد نیاز دارد.

با وجود داده های بسیار زیادی برای ذخیره، به سادگی غیرممکن است که همه آنها را در یک GPU قرار دهید. هر لایه شبکه عصبی کانولوشنال باید وضعیت DRAM خارجی را ذخیره کند، لایه شبکه بعدی را بارگذاری کند و سپس داده ها را در سیستم بارگذاری کند. در نتیجه، رابط در حال حاضر توسط پهنای باند و تاخیر حافظه محدود شده است. حافظه خارجیاز بار اضافی رنج می برد راه اندازی مجدد مداوموزن ها و ذخیره و بازیابی توابع فعال سازی. این به طور قابل توجهی زمان تمرین را کاهش می دهد و مصرف انرژی را به میزان قابل توجهی افزایش می دهد.

راه های مختلفی برای حل این مشکل وجود دارد. اولاً، عملیاتی مانند توابع فعال‌سازی را می‌توان «درجا» انجام داد و به داده‌های ورودی اجازه می‌دهد مستقیماً در خروجی بازنویسی شوند. بدین ترتیب، حافظه موجودقابل استفاده مجدد دوم، فرصت برای استفاده مجددحافظه را می توان با تجزیه و تحلیل وابستگی داده بین عملیات در شبکه و تخصیص همان حافظه به عملیاتی که در آن لحظه از آن استفاده نمی کند به دست آورد.

رویکرد دوم به ویژه زمانی مؤثر است که کل شبکه عصبی را بتوان در زمان کامپایل برای ایجاد یک حافظه تخصیص یافته ثابت تجزیه و تحلیل کرد، زیرا هزینه مدیریت حافظه تقریباً به صفر کاهش می یابد. مشخص شد که ترکیب این روش ها می تواند استفاده از حافظه شبکه عصبی را دو تا سه برابر کاهش دهد.
سومین رویکرد مهم اخیراً توسط تیم گفتار عمیق بایدو کشف شد. درخواست دادند روش های مختلفصرفه جویی در حافظه برای کاهش 16 برابری در مصرف حافظه عملکردهای فعال سازی، که به آنها اجازه می دهد شبکه هایی را با 100 لایه آموزش دهند. قبلاً با همین مقدار حافظه می توانستند شبکه هایی را با 9 لایه آموزش دهند.

ترکیب حافظه و منابع پردازش در یک دستگاه واحد پتانسیل قابل توجهی برای بهبود عملکرد و کارایی شبکه‌های عصبی کانولوشنال و همچنین سایر اشکال یادگیری ماشین دارد. برای دستیابی به تعادلی از ویژگی ها و عملکرد در سیستم، می توان بین حافظه و منابع محاسباتی مبادله کرد.

شبکه های عصبی و مدل های دانش در سایر روش های یادگیری ماشینی را می توان به عنوان نمودارهای ریاضی در نظر گرفت. مقدار زیادی موازی سازی در این نمودارها متمرکز شده است. یک پردازنده موازی که برای بهره برداری از موازی سازی در نمودارها طراحی شده است، به mini-batch متکی نیست و می تواند به میزان قابل توجهی میزان ذخیره سازی محلی مورد نیاز را کاهش دهد.

نتایج تحقیقات کنونی نشان داده است که تمامی این روش ها می توانند عملکرد شبکه های عصبی را به میزان قابل توجهی بهبود بخشند. پردازنده‌های گرافیکی و پردازنده‌های مرکزی مدرن حافظه داخلی بسیار محدودی دارند، در مجموع تنها چند مگابایت. معماری‌های پردازنده جدید که به‌طور خاص برای یادگیری ماشین طراحی شده‌اند، حافظه و محاسبات روی تراشه را متعادل می‌کنند و عملکرد و کارایی قابل توجهی را نسبت به فناوری‌های فعلی بهبود می‌بخشند. پردازنده های مرکزیو شتاب دهنده های گرافیکی

از مقاله یاد خواهید گرفت که یادگیری عمیق چیست. این مقاله همچنین حاوی منابع زیادی است که می توانید از آنها برای تسلط بر این حوزه استفاده کنید.

که در دنیای مدرناز مراقبت های بهداشتی گرفته تا تولید، یادگیری عمیق در همه جا مورد استفاده قرار می گیرد. شرکت ها برای حل مشکلات پیچیده ای مانند تشخیص گفتار و اشیا، ترجمه ماشینی و غیره به این فناوری روی می آورند.

یکی از چشمگیرترین دستاوردهای امسال، شکست AlphaGo بر بهترین بازیکن Go جهان بود. علاوه بر Go، ماشین‌ها در بازی‌های دیگری نیز مردم را شکست داده‌اند: چکرز، شطرنج، برعکس و جئوپاردی.

برنده شدن در یک بازی رومیزی ممکن است برای حل مشکلات زندگی واقعی کاربردی به نظر نرسد، اما این به هیچ وجه درست نیست. Go طوری طراحی شده است که توسط هوش مصنوعی بی نظیر باشد. برای انجام این کار، او باید یک چیز مهم را برای این بازی یاد بگیرد - شهود انسانی. اکنون با کمک این توسعه، می توان بسیاری از مشکلاتی را که قبلاً برای رایانه غیرقابل دسترس بودند، حل کرد.

بدیهی است که یادگیری عمیق هنوز تا کامل شدن فاصله دارد، اما در حال حاضر به مفید بودن تجاری نزدیک است. مثلا این ماشین های خودران. شرکت های معروفی مانند گوگل، تسلا و اوبر در حال حاضر در تلاش هستند تا خودروهای خودران را در خیابان های شهر معرفی کنند.

فورد افزایش قابل توجهی در سهم خودران پیش بینی می کند وسیله نقلیهتا سال 2021 دولت ایالات متحده همچنین موفق شد مجموعه ای از قوانین ایمنی را برای آنها ایجاد کند.

یادگیری عمیق چیست؟

برای پاسخ به این سوال، باید بدانید که چگونه با یادگیری ماشین، شبکه های عصبی و هوش مصنوعی تعامل دارد. برای این کار از روش تجسم با استفاده از دایره های متحدالمرکز استفاده می کنیم:

دایره بیرونی به طور کلی هوش مصنوعی است (به عنوان مثال کامپیوتر). کمی جلوتر یادگیری ماشین است و درست در مرکز یادگیری عمیق و شبکه های عصبی مصنوعی.

به طور کلی، یادگیری عمیق نام راحت تری برای شبکه های عصبی مصنوعی است. "عمیق" در این عبارت به درجه پیچیدگی (عمق) شبکه عصبی اشاره دارد که اغلب می تواند کاملاً سطحی باشد.

سازندگان اولین شبکه عصبی از ساختار قشر مغز الهام گرفتند. یک سطح پایه ازشبکه، یک پرسپترون، اساساً یک آنالوگ ریاضی از یک نورون بیولوژیکی است. و مانند مغز، پرسپترون‌های متقاطع با یکدیگر می‌توانند در یک شبکه عصبی ظاهر شوند.

اولین لایه شبکه عصبی را لایه ورودی می نامند. هر گره در این لایه مقداری اطلاعات را به عنوان ورودی دریافت می کند و آن را به گره های بعدی در لایه های دیگر ارسال می کند. اغلب، هیچ ارتباطی بین گره های یک لایه وجود ندارد و آخرین گره زنجیره، نتیجه شبکه عصبی را خروجی می دهد.

گره های وسط را گره های مخفی می نامند زیرا مانند گره های خروجی و ورودی به دنیای بیرون ارتباط ندارند. آنها فقط زمانی فراخوانی می شوند که لایه های قبلی فعال شوند.

یادگیری عمیق اساسا یک تکنیک آموزش شبکه عصبی است که از لایه های زیادی برای حل مسائل پیچیده (مانند تشخیص گفتار) با استفاده از الگوها استفاده می کند. در دهه هشتاد اکثر شبکه های عصبی به دلیل تک لایه بودن هزینه بالاو محدودیت های داده

اگر یادگیری ماشین را شاخه یا گونه ای از هوش مصنوعی در نظر بگیریم، یادگیری عمیق یک نوع تخصصی از این شاخه است.

یادگیری ماشینی از هوش کامپیوتری استفاده می کند که فوراً جواب نمی دهد. در عوض، کد روی داده‌های آزمایشی اجرا می‌شود و بر اساس صحت نتایج آن، پیشرفت آن را تنظیم می‌کند. برای موفقیت این فرآیند معمولاً از انواع تکنیک‌ها، نرم‌افزارهای خاص و علوم رایانه، توصیف روش‌های ایستا و جبر خطی استفاده می‌شود.

روش های یادگیری عمیق

روش های یادگیری عمیق به دو نوع اصلی تقسیم می شوند:

  • آموزش تدریس خصوصی
  • یادگیری بدون نظارت

روش اول برای دستیابی به نتیجه مطلوب از داده های انتخاب شده ویژه استفاده می کند. این نیاز به مداخله انسانی زیادی دارد، زیرا داده ها باید به صورت دستی انتخاب شوند. با این حال، برای طبقه بندی و رگرسیون مفید است.

تصور کنید که مالک یک شرکت هستید و می خواهید تأثیر پاداش ها را بر طول مدت قراردادهای زیردستان خود تعیین کنید. با داده های از پیش جمع آوری شده، یک روش یادگیری نظارت شده ضروری و بسیار مؤثر خواهد بود.

روش دوم به معنای پاسخ های از پیش آماده شده و الگوریتم های کاری نیست. هدف آن شناسایی الگوهای پنهان در داده ها است. معمولاً برای کارهای خوشه‌بندی و تداعی، مانند گروه‌بندی مشتریان بر اساس رفتار، استفاده می‌شود. «آنها نیز با این انتخاب می‌کنند» در آمازون، نوعی از وظیفه انجمن است.

در حالی که یادگیری تحت نظارت اغلب بسیار راحت است، اما بیشتر است گزینه دشوارهنوز بهتر است. یادگیری عمیق ثابت کرده است که یک شبکه عصبی است که نیازی به نظارت انسانی ندارد.

اهمیت یادگیری عمیق

رایانه ها مدت هاست که از فناوری برای تشخیص ویژگی های خاص در یک تصویر استفاده می کنند. با این حال، نتایج دور از موفقیت بود. بینایی کامپیوتر تاثیر باورنکردنی بر یادگیری عمیق داشته است. این دو تکنیک هستند که این لحظهحل تمام مشکلات شناخت

به ویژه، فیس بوک با استفاده از یادگیری عمیق موفق به تشخیص چهره در عکس ها شده است. این یک پیشرفت ساده در فناوری نیست، بلکه نقطه عطفی است که تمام باورهای قبلی را تغییر می‌دهد: «یک فرد می‌تواند با احتمال 97.53 درصد تعیین کند که آیا همان شخص در دو عکس متفاوت نشان داده شده است یا خیر. برنامه توسعه یافته توسط تیم فیس بوک می تواند این کار را با احتمال 97.25 درصد، صرف نظر از نور یا اینکه آیا شخص مستقیماً به دوربین نگاه می کند یا به سمت آن چرخیده است، انجام دهد.

تشخیص گفتار نیز دستخوش تغییرات قابل توجهی شده است. تیم بایدو، یکی از موتورهای جستجوی پیشرو در چین، یک سیستم تشخیص گفتار ایجاد کرده است که توانسته است در سرعت و دقت نوشتن متن به زبان انگلیسی از انسان پیشی بگیرد. دستگاه های تلفن همراه. به زبان انگلیسی و ماندارین.

نکته جالب این است که نوشتن یک شبکه عصبی مشترک برای دو زبان کاملاً متفاوت نیازی به کار زیادی ندارد: «از لحاظ تاریخی، مردم چینی و انگلیسی را به‌طور کامل دو زبان می‌دانستند. زبانهای مختلفاندرو نگ، رئیس مرکز تحقیقات بایدو می‌گوید، بنابراین هر یک از آنها به رویکرد متفاوتی نیاز داشتند. «الگوریتم های یادگیری اکنون آنقدر تعمیم یافته اند که می توانید فقطفرا گرفتن."

گوگل از یادگیری عمیق برای مدیریت انرژی در مراکز داده این شرکت استفاده می کند. آنها توانستند هزینه های منابع خنک کننده را تا 40 درصد کاهش دهند. این حدود 15 درصد بهبود در بهره وری انرژی و میلیون ها دلار صرفه جویی است.

میکروسرویس های یادگیری عمیق

اینجا بررسی کوتاهخدمات مرتبط با یادگیری عمیق

تگر تصویر. این سرویس که توسط Illustration2Vec بهبود یافته است، به شما امکان می‌دهد تصاویر را با رتبه‌بندی «محافظت‌شده»، «مشکوک»، «خطرناک»، «حق نسخه‌برداری» یا «عمومی» علامت‌گذاری کنید تا محتوای تصویر را از قبل درک کنید.

  • افزونه Theano گوگل
  • قابل ویرایش در پایتون و Numpy
  • اغلب برای حل طیف خاصی از مشکلات استفاده می شود
  • نه همه منظوره. روی بینایی ماشین تمرکز کنید
  • ویرایش شده در C++
  • یک رابط در پایتون وجود دارد

دوره های آنلاین یادگیری عمیق

گوگل و Udacity برای ایجاد یک دوره رایگان در مورد یادگیری عمیق، که بخشی از دوره یادگیری ماشینی Udacity است، با یکدیگر همکاری کردند. این برنامه توسط توسعه دهندگان با تجربه ای هدایت می شود که می خواهند زمینه یادگیری ماشینی و به ویژه یادگیری عمیق را توسعه دهند.

یکی دیگر از گزینه های محبوب دوره یادگیری ماشینی از Andrew Ng است که توسط Coursera و Stanford پشتیبانی می شود.

  1. یادگیری ماشین - استنفورد توسط اندرو نگ در Coursera (2010-2014)
  2. یادگیری ماشین - Caltech توسط یاسر ابومصطفی (2012-2014)
  3. یادگیری ماشین - کارنگی ملون اثر تام میچل (بهار 2011)
  4. شبکه های عصبی برای یادگیری ماشین - جفری هینتون در کورسرا (2012)
  5. کلاس شبکه های عصبی– هوگو لاروشل از دانشگاه شربروک (2013)

کتاب های یادگیری عمیق

در حالی که منابع در بخش قبل از یک پایگاه دانش نسبتاً گسترده استفاده می کنند، برعکس، یادگیری عمیق Grokking برای مبتدیان هدف قرار می گیرد. همانطور که نویسندگان می گویند: "اگر کلاس یازدهم را به پایان رسانده اید و درک دقیقی از نحوه نوشتن پایتون دارید، ما به شما یادگیری عمیق را آموزش خواهیم داد."

یک جایگزین محبوب برای این کتاب، کتابی با عنوان خود توضیحی Deep Learning Book است. این به ویژه خوب است زیرا تمام ریاضیاتی را که برای ورود به این حوزه نیاز دارید را پوشش می دهد.

  1. «یادگیری عمیق» نوشته یوشوا بنجیو، یان گودفلو و آرون کورویل (2015)
  2. "شبکه های عصبی و یادگیری عمیق" نوشته مایکل نیلسن (2014)
  3. "یادگیری عمیق" از تحقیقات مایکروسافت (2013)
  4. "آموزش های یادگیری عمیق" از آزمایشگاه LISA، دانشگاه مونترال (2015)
  5. «نورالتالک» اثر آندری کارپاتی
  6. "مقدمه ای بر الگوریتم های ژنتیک"
  7. "رویکرد مدرن به هوش مصنوعی"
  8. مروری بر یادگیری عمیق و شبکه های عصبی

فیلم ها و سخنرانی ها

Deep Learning Simplified یک کانال فوق العاده در یوتیوب است. این اولین ویدیوی آنهاست:

و در بخش‌هایی، این راهنما برای هر کسی که به یادگیری ماشین علاقه دارد اما نمی‌داند از کجا شروع کند در نظر گرفته شده است. محتوای مقالات برای مخاطبان گسترده در نظر گرفته شده است و کاملا سطحی خواهد بود. اما آیا واقعاً کسی اهمیت می دهد؟ هرچه افراد بیشتری به یادگیری ماشین علاقه مند شوند، بهتر است.

تشخیص اشیاء با استفاده از یادگیری عمیق

شاید قبلاً این کمیک معروف xkcd را دیده باشید. شوخی این است که هر کودک 3 ساله می تواند یک عکس از یک پرنده را تشخیص دهد، اما گرفتن کامپیوتر برای انجام این کار برای بهترین دانشمندان کامپیوتر بیش از 50 سال طول کشید. در چند سال گذشته، ما بالاخره یک رویکرد خوب برای اشیا پیدا کردیم. تشخیص با استفاده از شبکه های عصبی کانولوشنال عمیق. این به نظر می رسد یک دسته از کلمات ساخته شده از یک رمان علمی تخیلی ویلیام گیبسون، اما زمانی که آنها را یکی یکی برداریم منطقی خواهد بود. پس بیایید این کار را انجام دهیم - برنامه ای بنویسید که پرندگان را تشخیص دهد!

بیایید ساده شروع کنیم

قبل از اینکه یاد بگیریم چگونه تصاویر پرندگان را تشخیص دهیم، بیایید یاد بگیریم که چگونه چیز بسیار ساده تری را تشخیص دهیم - عدد دست نویس "8".

بهترین مقالات در این زمینه