خودروی خودران (که گاهی به آن خودروی بدون راننده نیز گفته می شود) وسیله نقلیه ای است که از ترکیبی از حسگرها، دوربین ها، رادار و هوش مصنوعی (AI) برای سفر بین مقاصد بدون اپراتور انسانی استفاده می کند.
برای واجد شرایط بودن به عنوان کاملاً خودمختار، یک وسیله نقلیه باید بتواند بدون دخالت انسان به مقصدی از پیش تعیین شده بر روی جاده هایی که برای استفاده از آن مناسب سازی نشده اند حرکت کند.
شرکت هایی که در حال توسعه و/یا آزمایش خودروهای خودران هستند عبارتند از آئودی، بی ام و، فورد، گوگل، جنرال موتورز، تسلا، فولکس واگن و ولوو و غیره.
اداره ملی ایمنی ترافیک بزرگراه های ایالات متحده (NHTSA) شش سطح از اتوماسیون را ارائه می دهد که از سطح 0 شروع می شود، جایی که انسان رانندگی را انجام می دهد، از طریق فناوری های کمک راننده تا اتومبیل های کاملاً خودمختار.
در اینجا پنج سطحی هستند که از اتوماسیون سطح 0 پیروی می کنند:
ماشینهای خودران باید یاد بگیرند که اشیاء بیشماری را در مسیر خودرو شناسایی کنند، از شاخهها و زبالهها گرفته تا حیوانات و انسانها. چالشهای دیگر در جادهها تونلهایی هستند که با GPS تداخل دارند، پروژههای ساختمانی که باعث تغییر مسیر میشوند و یا تصمیمهای پیچیده مانند محل توقف برای عبور وسایل نقلیه اضطراری.
سیستم ها باید در مورد زمان کاهش سرعت، انحراف یا ادامه شتاب به طور معمول تصمیمات آنی بگیرند. این یک چالش ادامه دار برای توسعه دهندگان است و گزارش هایی از تردید و انحراف غیرضروری خودروهای خودران در هنگام شناسایی اشیاء در جاده ها یا نزدیک آن وجود دارد.
در زمان تصادفات، مسئله مسئولیت نیز مطرح می شود، و قانونگذاران هنوز تعریف نکرده اند که چه کسی در هنگام تصادف یک خودروی خودران مسئول است. همچنین نگرانیهای جدی در مورد هک شدن نرمافزار مورد استفاده برای کار با وسایل نقلیه خودران وجود دارد و شرکتهای خودروسازی در حال تلاش برای مقابله با خطرات امنیت سایبری هستند.
این مشکل در یک تصادف مرگبار در مارس 2018 مشهود بود که در آن یک خودروی خودمختار تحت مدیریت اوبر رخ داد. این شرکت گزارش داد که نرم افزار وسیله نقلیه یک عابر پیاده را شناسایی کرد، اما آن را مثبت کاذب دانست و نتوانست برای جلوگیری از برخورد با او منحرف شود. این تصادف باعث شد تویوتا به طور موقت آزمایش خودروهای خودران خود را در جاده های عمومی متوقف کند، اما آزمایش آن در جاهای دیگر ادامه خواهد داشت.
شایان ذکر است که بحث قابل توجهی در دنیای توسعه خودروهای خودران بین تسلا و سایر سازندگان خودروهای خودران وجود دارد. رهبران صنعت مانند Waymo و تقریباً همه افراد دیگر از حسگرهای LiDAR استفاده می کنند، به جز تسلا. آنها از سیستمی از دوربینها به نام Hydranet استفاده میکنند که شبکهای از هشت دوربین در سرتاسر خودرو است و سیستم هوش مصنوعی تمام تصاویر را به هم متصل میکند تا به وسیله نقلیه اجازه دهد جاده و اطراف آن را ببیند. یکی از دلایلی که تسلا از LiDAR اجتناب می کند، این است که یک شی بزرگ است که روی سقف خودرو قرار می گیرد و زیبایی خود خودرو را از بین میبرد. برای افزایش ایمنی و راحتی، خلبان خودکار و رانندگی خودکار کامل، با هم، بار کلی کار با یک وسیله نقلیه را کاهش می دهند. این فناوری از هشت دوربین خارجی، 12 حسگر اولتراسونیک و یک سیستم نرمافزار قدرتمند داخلی برای فعال کردن قابلیتهای نیمه مستقل در بزرگراهها، معابر و جادههای محلی استفاده میکند.
علاوه بر کروز کنترل آگاه از ترافیک Autopilot که سرعت خودرو را با ترافیک اطراف مطابقت میدهد و Autosteer که به هدایت در یک خط مشخص کمک میکند، خودرانی کامل این قابلیتها را فعال میکند:
علاوه بر قابلیتهای خلبان خودکار و خودرانی کامل، تسلا این ویژگیهای ایمنی فعال را به عنوان تجهیزات استاندارد در تمام خودروهای جدید تسلا اضافه میکند:
اما اکنون وقت آن رسیده است تا ببینیم، ماشینهای خوردران در عمل از چه تکنولوژیهایی استفاده و چگونه کار میکنند. با بخش دوم این مقاله برای درک دانش پشت خودروهای خودران همراه باشید.
ما انسانها برای انجام بسیاز از فعالیتها روند مشخصی را طی میکنیم. ابتدا به بررسی و جمعآوری اطلاعت پرداته و بعد با استفاده از آنها تصمیم مشخصی را برمیگزینیم. برای یک ماشین خودران که صفت هوشمند را نیز با خود به یدک میکشد نیز همین است. پس این ماشین ابتدا به ابزارهایی برای دیدن و بعد به روشهایی برای تصمیمگیری نیاز دارد تا در مرحله بعد آن را به انجام برساند. پس ابتدا باید بپرسیم، ماشین خودران چگونه جهان پیرامون خود را میبیند؟
سه حسگر اصلی که توسط خودروهای خودران استفاده میشوند، به عنوان چشم ماشین با هم کار میکنند. این حسگرها دوربین، رادار و لیدار هستند. آنها با هم دید واضحی از محیط اطراف به خودرو میدهند. و به ماشین کمک میکنند تا مکان، سرعت و اشکال سه بعدی اشیاء نزدیک به آن را شناسایی کند. علاوه بر این، خودروهای خودران اکنون با واحدهای اندازه گیری اینرسی ساخته میشوند که هم شتاب و هم موقعیت مکانی را کنترل و نظارت میکنند.
تا اینجا راجب برخی از راههایی صحبت کردیم که وسایل نقلیه مجهز به هوش مصنوعی جهان فیزیکی را میبینند، اما چگونه میتوانند چیزهایی مانند علائم خیابان، سایر خودروها، خطکشیهای جاده و بسیاری چیزهای دیگر را که در جادهها با آنها مواجه میشوند شناسایی کنند؟
اینجاست که تقسیر داده ها نقش مهمی ایفا میکند. این زمانی است که تمام دادههای آموزشی خام از طریق روشهای توصیف مختلف تهیه میشوند که به سیستم هوش مصنوعی اجازه میدهد آنچه را که باید یاد بگیرد، درک کند. اینجاست که برای توانمندسازی خودروهای خودران جهت تصمیمگیری بهتر ، الگوریتمهای یادگیری ماشینی بر اساس مجموعهای دادههای واقعی آموزش داده میشوند.
یادگیری ماشینی دو مدل یادگیری دارد:
آدابوست یک الگوریتم تطبیقی و یک الگوریتم یادگیری ماشین است که توسط یاو فروند و رابرت شاپیر ابداع شد. اگر در هوش مصنوعی با الگوریتمهای طبقه بندی آشنایی داشته باشید، این الگوریتم نیز داده ها را جمع آوری و طبقه بندی میکند تا فرآیند یادگیری و عملکرد وسایل نقلیه را تقویت کند. اما این کار را با دیگر الگوریتمهای طبقهبندیکنندههای مختلف با کارایی پایین تر انجام میدهد و آنها را گروهبندی میکند تا یک طبقهبندی با عملکرد بالا برای تصمیمگیری بهتر بهدست آورد.
در واقع آدابوست یک متا الگوریتم است که به منظور ارتقاء عملکرد همراه دیگر الگوریتمهای یادگیری استفاده میشود. در این الگوریتم، طبقهبند هر مرحله جدید به نفع نمونههای غلط طبقهبندی شده در مراحل قبل تنظیم میگردد. در هر فراخوانی بر اساس اهمیت نمونهها، وزنهای جدیدی بروز میشود که در هر دور وزن نمونههای غلط طبقهبندی شده در مرحله قبل افزایش و وزن نمونههای درست طبقهبندی شده کاهش داده میشود؛ بنابراین در طبقهبند جدید تمرکز بر نمونههایی که سختتر یادگرفته میشوند، بیشتر خواهد بود.
اگر به شبه کد این الگوریتم دقت کنید بهتر میتوانید شکل بالا و نحوه یکسان کردن نتیجه کلاسبندیها را درک کنید. ابندا وزنها بر اساس منطق نقسیماش بر یک برای هر داده آموزشی مقداردهی میشود. سپس هر classifier روی دادهها صدا زده میشود. سپس مقدار error و خطای هر مرحله با توجه وزنها و یکسان نبودن دادهها شناسایی و نرمالسازی میشود. سپس برای مینیمم کردن مقدار خطای classifier در این مرحله، ضریب a از این مقدار خطا محاسبه و مطابق با فرمول نمایی مرحله 2-d در وزنها ضرب شده و وزنهای جدید را میسازد و این روند با وزنهای متوثر از classifier فرضی m برای classifier فرضی m+1 نیز اعمال میشود تا در نهایت boosted classifier ایجاد گردد. لازم به ذکر است مقدار a از یک مسئله بهینه سازی برای مینیمم کردن مقدار خطا و با مشتق گیری به دست آمده است.
این الگوریتم اشیایی مانند انسان، درخت و وسایل نقلیه را شناسایی و گروه بندی می کند. ویژگی های خاصی را به هر کلاس شی که گروه بندی می کند اختصاص می دهد تا به خودرو کمک کند به راحتی آنها را شناسایی کن. این الگوریتم برای شناسایی و گروه بندی اشیا جزو بهترین هاست.
این الگوریتم از neural network به شکل مشخص با استفاده از عملگرهای convolution برای تصاویر مورد استفاده قرار میگیرد که به Convolutional Neural Network (ConvNet/CNN) نیز معروف است. یک شبکه عصبی کانولوشنال (ConvNet/CNN) یک الگوریتم یادگیری عمیق است که میتواند یک تصویر ورودی بگیرد، اهمیت (وزنها و سوگیریهای قابل یادگیری) را به جنبهها/اشیاء مختلف در تصویر اختصاص دهد و بتواند یکی را از دیگری متمایز کند.
اما چرا این الگوریتم بهینه است. اگر با مقهوم Perceptronها آشنا باشید، میدانیم که یک تصویر چیزی نیست جز ماتریسی از مقادیر پیکسل، درست است؟ پس چرا فقط تصویر را مسطح نکنیم (مثلاً ماتریس تصویر 3x3 را به یک بردار 9x1 تبدیل کنیم) و آن را به یک پرسپترون چند سطحی برای اهداف طبقه بندی ندهیم؟ این موضوع در سطوح بزرگی مثل عکس عملا غیر ممکن است!
نقش ConvNet این است که تصاویر را به شکلی تبدیل کند که پردازش آسانتر باشد، آن هم بدون از دست دادن ویژگیهایی که برای پیشبینی خوب حیاتی هستند. این موضوع ابتدا به چدا کردن کانالهای تصویر (مثل RGB) و در ادامه انجام عمل کانولوشن روی یک ماتریس بزرگتر و رسیدن به یک ماتریس کوچکتر مطایق با شکل زیر انجام میگیرد.
در مرحله بعد عملیات pooling انجام میپذیرد. مشابه لایه Convolutional، لایه Pooling مسئول کاهش اندازه فضایی ویژگی Convolved است. دو نوع Pooling وجود دارد: Max Pooling و Average Pooling. Max Pooling حداکثر مقدار را از قسمتی از تصویر که توسط Kernel پوشانده شده است برمی گرداند. از سوی دیگر، Average Pooling میانگین تمام مقادیر را از بخشی از تصویر تحت پوشش Kernel برمیگرداند. به شکل زیر از max pooling دقت کنید.
به عنوان مثال به مراحل تشخیص عدد از یک تضویر دقت کنید. در یک CNN به جای داده شدن یک ماتریس 28x28 به neural network یا انجام یک convolution به ماتریس 12X12 و بعد با max pooling به ماتریس 12x12 و سپس با یک convolution دیگر به ماتریس 8x8 و سپس با max pooling به ماتریسهای 4x4 در کانالهای مختلف میرسیم. سپس از neural network برای کلاسیندی کردن این اطلاعات استفاده میکنیم.
حال که با CNN آشنا شدیم میتوانیم بگویم که الگوریتم YOLO با استفاده از همین ویژگی با قرار داده بخشهای مختلف هر تصویر در باکسهای کوچکتر هر باکس را به CNN داده و تمام objectهای درون تصویر را پیدا و طبقه بندی میکند.
انتقال از خودروهای خودران با سطوح مختلف استقلال به خودروهای کاملاً خودمختار هنوز انجام نشده است. با این حال، فناوریهای مدرن هوش مصنوعی و توسعه یادگیری ماشینی جهشهای سریعی در این مسیر انجام میدهند و این همان چیزی است که صنعت را به جلو میبرد. برندهای برتر خودرو مانند جنرال موتورز، فورد و تسلا در مراحل پایانی آزمایش وسایل نقلیه بدون راننده خود هستند که به این معنی است که ما در آستانه مشاهده یک تغییر انقلابی در نحوه رفت و آمد هستیم.