تاکسی" درباره این است که چگونه داده ها آینده را پیش بینی می کنند و جهان را شکل می دهند. "یک دانشمند داده باحال مانند مدیر عامل یک شرکت متوسط ​​حقوق می گیرد." کارشناس یادگیری ماشینی Yandex.Taxi در مورد اینکه چگونه داده ها آینده را پیش بینی می کنند و جهان را شکل می دهند تجربه دیگر نقشی ندارد

- آیا می توانید از یک مثال کاملاً ابتدایی استفاده کنید تا به ما بگویید یادگیری ماشین چگونه کار می کند؟

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

-اول اینکه میشناسمش یا نه...

(ویکتور این را روی تخته می نویسد.)

...اگر نمی دانم، پس باید به این سوال پاسخ دهم که آیا او جذاب است یا نه.

و اگر می دانید، پس مهم نیست؟ فکر کنم متوجه شدم، این تاپیک منطقه دوست است! به طور کلی، من می نویسم، اگر نمی دانید و جذاب نیست، پاسخ این است "نه، احتمالا". اگر می دانید، پاسخ «بله» است.

- اگر بدانم، این هم مهم است!

نه، این شعبه منطقه دوست خواهد بود.

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

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

(ویکتور کشیدن درخت تعیین کننده را به پایان می رساند.)

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

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

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

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

- خب، قطعاً بهتر از هر هشت پا پیش بینی مسابقات فوتبال نیست...

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

- و وقتی کاربران را تجزیه و تحلیل می کنید، آیا هر فرد برای شما مجموعه ای از اعداد است؟

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

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

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

- حتی چنین ظرافت هایی؟

این یک موضوع ساده است. همه چیز با استفاده از پرس و جوهای جستجو محاسبه می شود.

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

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


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

همیشه یک حالت خصوصی وجود دارد.

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

همچنین می توانید تصمیم بگیرید که از کدام سرویس شرکت استفاده کنید، به عنوان مثال، Yandex یا Google.

- فرقی داره؟

موضوع پیچیده. من در مورد دیگران نمی دانم، اما Yandex در مورد حفاظت از داده های شخصی سختگیر است. کارمندان به ویژه تحت نظر هستند.

- یعنی اگر از پسری جدا شوم ، نمی توانم بفهمم که او به این ویلا رفته یا نه؟

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

اتفاقا مورد جالبی داشتیم با موضوع قطع رابطه با بچه ها. هنگامی که ما برای نقطه "B" - نقطه مقصد در تاکسی پیش بینی کردیم، نکاتی را معرفی کردیم. اینجا نگاه کن

(ویکتور وارد برنامه Yandex.Taxi می شود.)

مثلاً تاکسی فکر می کند من در خانه هستم. او به من پیشنهاد می کند که یا به سر کار بروم یا به دانشگاه RUDN (من در آنجا به عنوان بخشی از دوره یادگیری ماشینی داده کاوی در عمل سخنرانی می کنم). و در مرحله ای، هنگام توسعه این نکات، متوجه شدیم که باید از به خطر انداختن کاربر جلوگیری کنیم. هر کسی می تواند نقطه B را ببیند. به همین دلایل، از پیشنهاد مکان بر اساس شباهت خودداری کردیم. در غیر این صورت، در یک جای آبرومند با افراد آبرومند می نشینید، تاکسی سفارش می دهید و آنها برای شما می نویسند: "ببین، هنوز به این بار نرفته ای!"

- آن نقاط آبی که روی نقشه شما چشمک می زند چیست؟

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

- بله، هر زمان. من به نوعی با این دو بلوک پرواز کردم.

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

- و اگر برنامه را دوباره راه اندازی کنید و دوباره کلیک کنید، قیمت چندین روبل تغییر می کند. چرا؟

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

- آیا فکر نمی کنید که Yandex.Taxi به زودی کل بازار تاکسی را از بین می برد؟

فکر میکنم نه. ما طرفدار رقابت سالم هستیم و از آن نمی ترسیم.

مثلا من خودم از تاکسی سرویس های مختلف استفاده می کنم. زمان انتظار برای من مهم است، بنابراین به چندین برنامه نگاه می کنم تا ببینم کدام تاکسی سریعتر می رسد.


- شما با اوبر همکاری کردید. برای چی؟

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

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

از حریم هوایی اطلاعی ندارم ما اخباری مانند «اوبر تاکسی‌ها را روی قایق‌ها راه‌اندازی کرده است» را دنبال می‌کنیم، اما نمی‌توانم چیزی در مورد هوا بگویم.

- در مورد تاکسی های خودران چطور؟

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

- آیا ترس از هک شدن نرم افزار پهپاد برای کنترل خودرو از راه دور وجود دارد؟

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

- چه داده های کاربر را جمع آوری می کنید و چگونه از آنها محافظت می کنید؟

ما داده‌های استفاده ناشناس را جمع‌آوری می‌کنیم، مانند مکان، زمان و مکان سفر. همه چیز مهم هش شده است.

- فکر می کنید به خاطر هواپیماهای بدون سرنشین تعداد مشاغل کاهش می یابد؟

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

- در هر یک از سخنرانی های خود، گرف می گوید که یک فرد حداقل سه بار حرفه خود را به طور اساسی تغییر می دهد.

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

- تجربه دیگر نقشی ندارد؟

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

- و حرفه شما دانشمند داده است، آیا تقاضا دارد؟

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

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

مواقعی وجود دارد که یک بانک می خواهد یک سیستم توصیه برای خدمات به کاربران ایجاد کند. ما می پرسیم: "به نظر شما آیا این کار توجیه اقتصادی دارد؟" پاسخ می‌دهند: «به ما اهمیتی نمی‌دهد. انجام دهید. همه سیستم های توصیه دارند، ما در روند خواهیم بود.»

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


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

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

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

- دانشگاه ها و دانشکده هایی را که در حال حاضر یادگیری ماشینی در آنها تدریس می شود، توصیه کنید.

MIPT، دانشکده های FIVT و FUPM وجود دارد. HSE همچنین دارای یک بخش علوم کامپیوتر فوق العاده است و در دانشگاه دولتی مسکو یادگیری ماشینی در مجتمع علوم کامپیوتر وجود دارد. خوب، اکنون می توانید به دوره ما در دانشگاه RUDN گوش دهید.

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

- چقدر خوب؟

مبلغ را نام ببرید.

- 500 هزار در ماه.

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

تقریباً یک سال از لحظه ای می گذرد که یک موضوع غیرمعمول - یک کارگاه خلاقانه - در FIVT آغاز شد. ماهیت آن ایجاد استارتاپ های فناوری اطلاعات توسط تیم های دانشجویی تحت هدایت مربیان مجرب است. خوب معلوم شد: به لطف این دوره، شخصی بخشی از تابستان را در Cream Valley گذراند، کسی کمک هزینه ای به مبلغ 800000 روبل برای توسعه پروژه دریافت کرد و ABBYY آماده است تا پروژه را به طور کامل از شخصی خریداری کند. و این همه نتایج کارگاه نیست!

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

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

برای تسهیل کار دانش آموزان، متصدیان مختلف دعوت شدند تا ایده های خود را برای ایجاد مشاغل نوآورانه ارائه دهند. در میان آنها افراد کاملاً متفاوتی بودند: از دانشجویان کارشناسی و کارشناسی ارشد MIPT گرفته تا مشاور نوآوری Ernst&Young یوری پاولوویچ آموسوف (او رهبر کل دوره بود) و میخائیل باتین که با پزشکی احیا کننده و مسائل افزایش زندگی سر و کار دارد. در نتیجه، دانشجویان فیزیک و فناوری ایده‌هایی را که بیشتر برایشان جالب بود انتخاب کردند، متصدیان به تیم‌ها پیوستند و کار سخت اما هیجان‌انگیز آغاز شد.

تقریباً در یک سالی که از آن زمان می گذرد، بچه ها با مشکلات زیادی روبرو شده اند که برخی از آنها حل شده است. اکنون می توانیم نتایج آنها را ارزیابی کنیم - علیرغم مشکلات، بچه ها با آن کنار آمدند. دانشجویان MIPT (علاوه بر دانشکده فلسفه، تعدادی از دانشجویان دانشکده فیلولوژی و سایر دانشکده ها به این فرآیند ملحق شدند) موفق شدند چندین پروژه بسیار جالب و قابل اجرا را آماده کنند:

Askeroid (قبلا Ask Droid) – جستجوی گوشی های هوشمند ( آناستازیا اوریاشوا)

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

1minute.ru - یک دقیقه برای خوب (لو گرونین)

این پروژه به هر کسی این فرصت را می دهد که کارهای خیریه را به سادگی، سریع و کاملا رایگان انجام دهد. مدل ساده است: تبلیغ کنندگان مجموعه خاصی از فعالیت ها را در سایت ارائه می دهند، کاربران به طور داوطلبانه در آنها شرکت می کنند و تمام پول تبلیغات به یک بنیاد خیریه منتقل می شود. در عرض یک هفته پس از راه اندازی، این پروژه بیش از 6500 کاربر را جمع آوری کرد و قرار نیست در همین جا متوقف شود. در نتیجه، به لطف لو و تیمش، 600 کودک از یتیم خانه ها هدایای گرامی از بابا نوئل برای سال جدید دریافت خواهند کرد. آیا تا به حال یک دقیقه را صرف یک کار خیر کرده اید؟!

دسکتاپ جاسازی شده - یک رایانه در تلفن شما (الکسی ووکولوف)

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

برچسب هوشمند - جستجوی معنایی در اسناد (ویکتور کانتور)

اگر به یاد داشته باشید که در جایی در صندوق پستی خود نامه بسیار مهمی وجود داشت که در مورد آخرین قسمت تئوری بیگ بنگ صحبت می کرد، اما هیچ کلمه کلیدی از متن را به خاطر نمی آورید، چه کاری باید انجام دهید؟ Yandex و جستجوی گوگل ناتوان هستند. توسعه Smart Tagger به کمک خواهد آمد - یک برنامه "هوشمند" که از جستجوی معنایی استفاده می کند، تمام متونی را که معنای آنها با مجموعه تلویزیونی محبوب در هم آمیخته است، در اختیار شما قرار می دهد. این پروژه در مسابقه U.M.N.I.K جایزه دریافت کرد. در مجموع 400000 روبل!

MathOcr - تشخیص فرمول (Viktor Prun)

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

به عنوان بخشی از پروژه مشترک "ABC of AI" با MIPT، ما قبلاً در مورد مواردی نوشته ایم که به شما امکان می دهد برنامه ها را مطابق با اصول و قوانین تکامل داروینی "رشد" کنید. با این حال، در حال حاضر، این رویکرد به هوش مصنوعی مطمئناً "میهمان آینده" است. اما امروزه سیستم های هوش مصنوعی چگونه ایجاد می شوند؟ چگونه آموزش می بینند؟ ویکتور کانتور، مدرس ارشد دپارتمان الگوریتم‌ها و فناوری‌های برنامه‌نویسی در MIPT، و رئیس گروه تحلیل رفتار کاربر در Yandex Data Factory، به ما در کشف این موضوع کمک کرد.

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

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

ماشین ها چگونه یاد می گیرند

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

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

اولین چیزی که باید یک سیستم پیش بینی بسازیم جمع آوری به اصطلاح نمونه آموزشی است، یعنی داده هایی در مورد وزن افراد در جامعه. دوم تصمیم گیری در مورد مجموعه ای از علائم است که بر اساس آنها می توانیم در مورد وزن نتیجه گیری کنیم. واضح است که یکی از "قوی ترین" چنین علائمی قد فرد خواهد بود ، بنابراین به عنوان اولین تقریب کافی است فقط این را در نظر بگیرید. اگر وزن به صورت خطی به قد بستگی داشته باشد، پیش‌بینی ما بسیار ساده خواهد بود: وزن یک فرد برابر است با قد او ضرب در مقداری ضریب، به اضافه مقداری ثابت، که با ساده‌ترین فرمول y=kx+b نوشته می‌شود. تنها کاری که ما باید انجام دهیم تا یک ماشین را برای پیش بینی وزن یک فرد آموزش دهیم این است که به نوعی مقادیر صحیح k و b را پیدا کنیم.

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

بیایید بگوییم که وزن یک فرد تحت تأثیر قد او نه به صورت خطی، بلکه تا درجه سوم (که معمولاً مورد انتظار است، زیرا وزن به حجم بدن بستگی دارد) تأثیر می گذارد. برای در نظر گرفتن این وابستگی، ما به سادگی عبارت دیگری را وارد معادله خود می کنیم، یعنی قدرت سوم رشد با ضریب خاص خود، و بدین ترتیب y=k 1 x+k 2 x 3 +b به دست می آید. اکنون برای آموزش ماشین، نه دو، بلکه سه کمیت (k 1، k 2 و b) را پیدا می کنیم. بیایید بگوییم که در پیش‌بینی‌مان می‌خواهیم اندازه کفش‌های یک فرد، سن او، زمانی که برای تماشای تلویزیون صرف کرده و فاصله آپارتمانش تا نزدیک‌ترین فست‌فود را در نظر بگیریم. مشکلی نیست: ما به سادگی این ویژگی ها را به عنوان عبارت های جداگانه به همان معادله اضافه می کنیم.

مهمترین چیز ایجاد یک راه جهانی برای یافتن ضرایب مورد نیاز است (k 1، k 2، ... k n). اگر وجود داشته باشد، تقریباً نسبت به ما بی تفاوت خواهد بود که از چه ویژگی هایی برای پیش بینی استفاده کنیم، زیرا خود ماشین یاد می گیرد که وزن زیادی را به موارد مهم و وزن کوچک را به ویژگی های بی اهمیت بدهد. خوشبختانه، چنین روشی قبلاً ابداع شده است و تقریباً تمام یادگیری ماشینی با موفقیت روی آن کار می‌کند: از ساده‌ترین مدل‌های خطی گرفته تا سیستم‌های تشخیص چهره و تحلیلگرهای گفتار. به این روش گرادیان نزول می گویند. اما قبل از توضیح نحوه عملکرد آن، باید یک انحراف کوچک انجام دهیم و در مورد شبکه های عصبی صحبت کنیم.

شبکه های عصبی

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

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

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

با یک مثال توضیح می دهیم. ما روی پیش‌بینی قرار گرفتیم که در آن وزن یک فرد به قد و قد او بستگی دارد که با فرمول y=k 1 x+k 2 x 3 +b بیان می‌شود. با کمی کشش، اما در واقع حتی چنین فرمولی را می توان شبکه عصبی نامید. در آن، مانند یک شبکه عصبی معمولی، اولین لایه از "نورون ها" وجود دارد، که آن هم لایه ای از ویژگی ها است: اینها x و x 3 هستند (خوب، "نرون واحد" که ما در نظر داریم و برای آن ضریب b مسئول است). لایه بالایی، یا در نتیجه، با یک "نرون" y نشان داده می شود، یعنی وزن پیش بینی شده فرد. و بین اولین و آخرین لایه "نرون ها" اتصالاتی وجود دارد که قدرت یا وزن آنها با ضرایب k 1 ، k 2 و b تعیین می شود. آموزش این "شبکه عصبی" به سادگی به معنای یافتن همین ضرایب است.

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

گرادیان نزول

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

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

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

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

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

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

تابع خطا را می توان به عنوان مجموع مجذورات همه انحرافات تعریف کرد که فرمول فعلی برای افرادی که وزن آنها را قبلاً دقیقاً می دانیم اجازه می دهد. بیایید چند متغیر تصادفی k و b را برای مثال 0 و 50 در نظر بگیریم. سپس سیستم برای ما پیش‌بینی می‌کند که وزن هر فرد در نمونه همیشه برابر با 50 کیلوگرم است y=0×x+50 در نمودار، مانند وابستگی مانند یک خط مستقیم موازی با افقی به نظر می رسد. واضح است که این پیش بینی خیلی خوبی نیست. حالا بیایید انحراف وزن را از این مقدار پیش بینی شده بگیریم، آن را مربع کنیم (به طوری که مقادیر منفی نیز در نظر گرفته شوند) و آن را جمع کنیم - این خطا در این مرحله خواهد بود. اگر با شروع تجزیه و تحلیل آشنا هستید، حتی می توانید روشن کنید که جهت بزرگترین افت توسط مشتق جزئی تابع خطا نسبت به k و b داده می شود و گام مقداری است که برای انتخاب شده است. دلایل عملی: محاسبه قدم های کوچک زمان زیادی می برد و اقدامات بزرگ می تواند منجر به این واقعیت شود که از حداقل ها عبور خواهیم کرد.

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

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

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

دشواری های نزول گرادیان

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

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

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

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

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

تهیه شده توسط الکساندر ارشوف