ماشینهای خودران تسلا!
آقای Andrej Karpathy، مدیر ارشد هوش مصنوعی شرکت تسلا، در CVPR2021 ارائهای با موضوع Tesla Autonomous Driving ارائه کرده که نکات جالبش رو با هم مرور میکنیم.
قبلا برای ماشینهای خودران، چیزی به نام sensor fusoin بوده که سعی میکرد بین سیگنال از دوربین و رادار و … اجتماع بگیره اما حالا تسلا اومده کلا روی استفاده سنگین از vision!
برای اینکه بشه هر جای دنیا (و نه فقط در شهرهای خاصی که دیتا و نقشهاش کامله) استفاده کرد، باید به هوش خود ماشین تکیه کرد و نه فقط سنسورها! این موضوع نیاز به دیتای زیاد (میلیونها ویدیو)، تمیز (لیبل زده شده و دارای لیبل سرعت، شتاب، عمق و…) و متنوع (انواع وضعیتها در رانندگی) داره. پس اومدند هشت تا دوربین دور و بر ماشین نصب کردند که از اطراف فیلم میگیره. اینجوری کلی دیتای لازم واسه ماشین برای مسیریابی جمع شده.
بعد رفتند سراغ لیبل زدنش؛ چون حجم دیتا خیلی خیلی زیاده (هشت تا دوربین و کلی فریم) نمیشده همینجوری آدم بیاری لیبل بزنه، چون حتی واسه تسلا هم خیلی گرون بوده (حتی اگر چند بار دیگه هم جیب ملت رو با بازی با بیتکوین خالی میکرد)!
واسه همین اومدند با یه روش جالب به اسم Data Auto Labeling اینکارو کردند.
داستان اینه که بررسی یه اتفاق در لحظه رخداد خیلی سختتره تا بعدها؛ به این موضوع واپسنگری (hindsight) گفته میشه که شما گذشته و حال و آیندهی یک اتفاق رو میدونید. یعنی اینجا شما میتونی با بهترین دوربینها و سنسورها کلی دیتا رو ضبط کنی و بعدا بیاری توی آزمایشگاه با قویترین مدلها و پردازندهها بررسی کنی که مثلا چرا در فلان لحظه دید دوربین مسدود شده (مثلا بابت دود ماشین جلویی یا گرد و غبار) و با استفاده از فریمهای قبلی و بعدیش بفهمی که مثلا یه کامیون دودزا (از اینا که وقتی توی ماشین پشتشون میفتی آسم میگیری) بوده و لیبلش بزنی و بعدش هم انسان ویرایش یا چیزی لازم باشه انجام بده. اینجوری کلی دیتای لیبل زده جمع میشه.
بخاطر اینکه تنوع داده هم حفظ بشه، نشستند ۲۲۱ سناریوی (اسمشون رو گذاشتند triggers) درب و داغون (شیب یا پیچ زیاد جاده، موتور در اتوبان در زمان شب، شرایط برف سنگین و…) رو هم جمع کردند و براشون با دیتاهای مشتریها که سمت سرور ارسال میشده دیتا جمع کردند.
واسه آموزش و تخمین کارایی مدل هم یه شبکه عصبی اولیه روی دیتای اولیه ران کردند، اونو روی ماشین مشتریها به صورت shadow mode نصب کردند (یعنی مدل اون پشت پیشبینی میکرده ولی کاری نمیکرده). بعد با همین triggerها دیتاهای لازم جمعآوری شده و به سرور ارسال شده و از همین کلیپ سناریوها برای unit test کردن مدلهای بعدی استفاده شده که ببیند مدل خوب یاد گرفته یا نه. و باز از اول مدل روی ماشین نصب شده و….
این حلقهی shadow mode هفت بار ران شده تا به نتایج خیلی خوبی برسند، یک میلیون کلیپ ده ثانیهای ۳۶ فریم بر ثانیه درست کردند، ۶ میلیارد تا آبجکت لیبل خورده و ۱.۵ پتابایت در مجموع حجم دیتا شده.
مدلشون هم به این شکل شده اول یک سری مدل روی هر کدوم از فریمهای هر کدوم از این هشت تا دوربین زدند و بعد این اطلاعات رو با هم برای یک زمان تجمیع کردند و بعد دیتاهای این زمانهای مختلف هم با هم تجمیع کردند. خلاصه اون وسط تجمیع تو تجمیعی شده؛ واسه همین یه مدل سلسله مراتبی تعریف شده که برای هر کدوم از زیر تسکها (head) از مدلهای ترنسفورمری با پشتوانه مدلهای تصویری مثل resnet استفاده شده و درون هر head یک سری trunk و درون هر کدومش یک سری terminal (اسمهاییه که دادند) هست.
مثلا یک head مسئول pixel prediction taskها است و اون یکی مسئول classification taskها.
و مثلا داخل یک head، یک trunk هست که مسئول object classification است و یکی مسئول navigation classification. و اون terminalها مسئول انجام تسکهای خرد شده هستنند.
این روش دو مزیت بزرگ داره: اول. این تسکها از هم decouple میشه و هر کسی یه گوشهای رو میگیره و میبره جلو.
دوم. این روش واسه جاهایی که مدل باید کلی خروجی متفاوت رو با دقت خوب بده خیلی خوب کار میکنه.
بعدم راجع به اینکه چقدر منابع محاسباتی خفنی دارند میگه؛ دارندگی و برازندگی. کلی کلیپهای نمونهی جذاب در ارائهاش هست که باید ببینید.
پ.ن.۱. حجم مهندسی نرمافزار و مهندسی دیتای پروژه رو ببینید خداوکیلی.
پ.ن.۲. چهار تا عکس ضمیمه شده. ورق بزنید.
پ.ن.۳. لطفا کانال رو به بقیه معرفی کنید.
لینک ویدیوی ارائه در CVPR 2021:
https://www.youtube.com/watch?v=a510m7s_SVI
لینک ویدیوی توضیح ارائه توسط آقا یانیک:
https://www.youtube.com/watch?v=9MJTeOaSMTk&t=25s
#watch
@nlp_stuff
Post #198
2.57K
Telegram stuff
- 👍 1