Үндсэн агуулга руу алгасах
OpenAI

2019 оны аравдугаар сарын 15

Амжилт

Робот гар ашиглан Рубикийн шоо эвлүүлэх нь

Нил ягаан үүлэрхэг дэвсгэрийн өмнө алгандаа Рубикийн шоо эвлүүлж буй алгаа дэлгэсэн робот гар

Гэрэл зураг: Eric Haines

Ачаалж байна…

Бид хүнтэй төстэй робот гараар Рубикийн шоо эвлүүлэх хоёр нейрон сүлжээг сургасан. Эдгээр нейрон сүлжээ нь OpenAI Five-тэй ижил бататгах сургалтын кодыг Automatic Domain Randomization (ADR) хэмээх шинэ аргатай хослуулан, бүхэлдээ симуляцид сургагдсан. Систем нь сургалтын үеэр огт хараагүй нөхцөлүүдийг, жишээлбэл чихмэл анаашаар хатгахыг хүртэл даван туулж чадна. Энэ нь бататгах сургалт нь зөвхөн виртуал даалгаврын хэрэгсэл биш, харин урьд өмнө байгаагүй уян нарийн хөдөлгөөн шаардсан бодит ертөнцийн асуудлуудыг шийдэж чаддгийг харуулж байна.

Хүний гар бидэнд маш олон төрлийн даалгаврыг гүйцэтгэх боломж олгодог. Сүүлийн 60 жилийн роботикийн хугацаанд хүмүүс өөрсдийн тогтмол хос гараараа хийж чаддаг хэцүү ажлуудыг роботод хийлгэхийн тулд тус бүрийн даалгаварт(шинэ цонхонд нээгдэнэ) зориулсан тусгай робот зохион бүтээх шаардлагатай байсан. Үүний оронд хүмүүс ерөнхий зориулалтын робот төхөөрөмж ашиглахыг олон арван жилийн турш оролдсон(шинэ цонхонд нээгдэнэ) боловч эрх чөлөөний зэрэг өндөр тул амжилт нь хязгаарлагдмал байв. Ялангуяа энд ашиглаж буй техник хангамж шинэ биш—бидний ашигладаг робот гар сүүлийн 15 жил орчим хэрэглэгдэж ирсэн—харин программ хангамжийн арга барил нь шинэ юм.

2017 оны 5-р сараас хойш бид хүнтэй төстэй робот гарыг Рубикийн шоо(шинэ цонхонд нээгдэнэ) эвлүүлэхээр сургахыг зорьж ирсэн. Ийм робот гарыг төвөгтэй манипуляцийн ажлууд хийхээр амжилттай сургах нь ерөнхий зориулалтын робот бүтээх суурийг тавина гэж бид үздэг тул энэ зорилгыг тавьсан. Бид 2017 оны 7-р сард симуляцид Рубикийн шоог эвлүүлсэн. Харин 2018 оны 7-р сарын байдлаар робот дээр зөвхөн блок хөдөлгөх л чадвартай байв. Одоо бид анхны зорилгодоо хүрлээ.

A full solve of the Rubik’s Cube. This video plays at real-time and was not edited in any way.

Рубикийн шоог нэг гараар эвлүүлэх нь хүмүүст ч бэрх даалгавар бөгөөд хүүхдүүд үүнийг гаршихад шаардлагатай уян нарийн хөдөлгөөнийг эзэмшихэд хэдэн жил зарцуулдаг. Манай робот арга техникээ одоогоор бүрэн төгөлдөржүүлээгүй байгаа, учир нь тэр Рубикийн шоог ердөө 60% тохиолдолд эвлүүлдэг (харин хамгийн хэцүү(шинэ цонхонд нээгдэнэ) холилтод бол зөвхөн 20% тохиолдолд).

Бидний арга барил

Бид симуляц(шинэ цонхонд нээгдэнэ) ашиглан бататгах сургалт болон шийдлийн алхмуудыг сонгох Kociemba-ийн алгоритм(шинэ цонхонд нээгдэнэ)-ыг ашиглан Рубикийн шоо эвлүүлэхээр нейрон сүлжээг сургадаг.A Домэйн(шинэ цонхонд нээгдэнэ) санамсаргүйжуулалт(шинэ цонхонд нээгдэнэ) нь зөвхөн симуляцид сурсан сүлжээг бодит робот руу шилжүүлэх боломж олгодог.

A colorful collage of robotic arms

Бидэнд тулгарсан хамгийн том сорилт бол бодит ертөнцийн физикийг хангалттай тусгаж чадахуйц олон янзын орчнуудыг симуляцид бий болгох явдал байв. Үрэлт, уян харимхай чанар, динамик зэрэг хүчин зүйлсийг Рубикийн шоо эсвэл робот гар шиг төвөгтэй объектуудын хувьд хэмжих, загварчлах нь үнэхээр хэцүү бөгөөд зөвхөн домэйн санамсаргүйжуулалт дангаараа хангалтгүй гэдгийг бид олж мэдсэн.

Үүнийг даван туулахын тулд бид симуляцид аажмаар улам хэцүү орчнуудыг эцэс төгсгөлгүй үүсгэдэг Automatic Domain Randomization (ADR) хэмээх шинэ аргыг боловсруулсан.B Энэ нь бодит ертөнцийн нарийн загвартай байх шаардлагаас биднийг чөлөөлж, симуляцид сурсан нейрон сүлжээг бодит ертөнцөд хэрэглэх шилжүүлгийг боломжтой болгодог.

ADR нь санамсаргүйжүүлээгүй ганц орчноос эхэлдэг бөгөөд тэнд нейрон сүлжээ Рубикийн шоо эвлүүлж сурна. Нейрон сүлжээ даалгаварт илүү сайн болж, гүйцэтгэлийн босгонд хүрэхэд домэйн санамсаргүйжуулалтын хэмжээ автоматаар нэмэгддэг. Ингэснээр даалгавар илүү хэцүү болдог, учир нь нейрон сүлжээ одоо илүү санамсаргүйжүүлсэн орчнуудад ерөнхийлөн ажиллаж сурах ёстой болдог. Сүлжээ дахин гүйцэтгэлийн босгыг давтал илүү их санамсаргүйжуулалт нэмэгдэж, энэ үйл явц давтагдана.

Ачаалж байна...

Бидний санамсаргүйжуулдаг параметрүүдийн нэг нь Рубикийн шооны хэмжээ юм (дээр). ADR нь Рубикийн шооны тогтмол хэмжээнээс эхэлж, сургалт ахихын хэрээр санамсаргүйжуулалтын хүрээг аажмаар нэмэгдүүлдэг. Бид ижил аргыг шооны жин, робот хурууны үрэлт, гарын харагдах гадаргуугийн материал зэрэг бусад бүх параметрт мөн хэрэглэдэг. Иймээс нейрон сүлжээ улам бүр хэцүү болж буй эдгээр бүх нөхцөлд Рубикийн шоо эвлүүлж сурах шаардлагатай болдог.

Ачаалж байна...

Домэйн санамсаргүйжуулалт нь санамсаргүйжуулалтын хүрээг гараар тогтоохыг биднээс шаарддаг байсан. Энэ нь хэцүү, учир нь хэт их санамсаргүйжуулалт суралцахыг хүндрүүлдэг бол хэт бага нь бодит робот руу шилжүүлэхэд саад болдог. ADR нь үүнийг хүний оролцоогүйгээр санамсаргүйжуулалтын хүрээг цаг хугацааны явцад автоматаар тэлэх замаар шийддэг. ADR нь домэйны мэдлэгийн хэрэгцээг арилгаж, бидний аргуудыг шинэ даалгаварт хэрэглэхийг илүү хялбар болгодог. Гараар хийдэг домэйн санамсаргүйжуулалтаас ялгаатай нь ADR нь сургалтыг хэзээ ч бүрэн тогтворжуулахгүйгээр даалгаврыг үргэлж сорилттой байлгадаг.

Бид ADR-ийг блок эргүүлэх даалгаварт гараар хийдэг домэйн санамсаргүйжуулалттай харьцуулсан бөгөөд энэ даалгаварт бидэнд аль хэдийн хүчтэй суурь үзүүлэлт байсан. Эхэндээ бодит робот дээрх амжилтын тоогоор ADR муу үзүүлэлттэй байдаг. Гэхдээ ADR нь орчны төвөгшлийн хэмжүүр болох энтропийг нэмэгдүүлэхийн хэрээр шилжүүлгийн гүйцэтгэл эцэстээ суурь үзүүлэлтээс хоёр дахин давдаг—хүний гараар тааруулалтгүйгээр.

Шинжилгээ

Бат бөх байдлын туршилт

ADR ашигласнаар бид бодит робот гар дээр Рубикийн шоо эвлүүлж чаддаг нейрон сүлжээнүүдийг симуляцид сургаж чаддаг. Учир нь ADR нь сүлжээг эцэс төгсгөлгүй олон янзын санамсаргүйжүүлсэн симуляцид өртүүлдэг. Сургалтын үеийн энэ төвөгшилтэй нүүр тулах туршлага нь сүлжээг симуляциас бодит ертөнцөд шилжихэд бэлддэг. Учир нь түүнийг ямар ч физик орчинтой тулгарсан бай, түүнийг хурдан таньж, тохируулж сурах шаардлагатай болдог.

Ачаалж байна...

Аргынхаа хязгаарыг шалгахын тулд бид гар Рубикийн шоо эвлүүлж байх үед олон төрлийн гажуудалтай туршилт хийдэг. Энэ нь зөвхөн манай удирдлагын сүлжээний бат бөх байдлыг шалгаад зогсохгүй энд шооны байрлал ба чиглэлийг тооцоолоход ашиглаж буй харааны сүлжээг мөн шалгадаг.

ADR-ээр сурсан манай систем эдгээр гажуудлуудаар хэзээ ч сургагдаагүй байсан ч тэдэнд гайхалтай тэсвэртэй болохыг бид олж харсан: робот туршсан бүх гажуудлын үед ихэнх эргүүлэлт болон нүүр эргүүлэлтийг амжилттай хийж чаддаг, гэхдээ дээд гүйцэтгэлээр биш.

Шинээр үүсэх мета-суралцах

Мета-суралцах(шинэ цонхонд нээгдэнэ), өөрөөр хэлбэл суралцаж сурах нь ерөнхий зориулалтын систем бүтээхэд чухал урьдчилсан нөхцөл гэж бид үздэг. Учир нь энэ нь тэдэнд орчны өөрчлөгдөж буй нөхцөлд хурдан дасан зохицох боломж олгодог. ADR-ийн цаадах таамаглал нь ой санамжаар баяжуулсан сүлжээнүүдийг хангалттай санамсаргүйжүүлсэн орчинтой хослуулахад шинээр үүсэх мета-суралцах бий болдог; өөрөөр хэлбэл сүлжээ нь байршуулсан орчиндоо зан төлөвөө хурдан дасан зохицуулах боломж олгох суралцах алгоритмыг өөрөө хэрэгжүүлдэг.C

Үүнийг системтэй шалгахын тулд бид нейрон сүлжээнийхээ хувьд шоо эргүүлэх бүрийн амжилтад хүрэх хугацааг (өөр өнгө дээш харахаар шоо эргүүлэх) санах ойг дахин тохируулах, динамикийг дахин тохируулах, эсвэл үе холбоос эвдэх зэрэг өөр өөр гажуудлын нөхцөлд хэмждэг. Эдгээр туршилтыг бид симуляцид хийдэг бөгөөд ингэснээр хяналттай орчинд 10,000 туршилтын дундаж гүйцэтгэлийг гаргах боломжтой.

Ачаалж байна...

Эхэндээ нейрон сүлжээ улам олон эргүүлэлтийг амжилттай гүйцэтгэх тусам амжилтад хүрэх дараагийн хугацаа нь багасдаг, учир нь сүлжээ дасан зохицож сурч байна. Гажуудлуудыг хэрэглэхэд (дээрх график дахь босоо саарал шугамууд) амжилтад хүрэх хугацаа огцом өсөж байгааг бид хардаг. Учир нь сүлжээний хэрэглэж буй стратеги өөрчлөгдсөн орчинд ажиллахгүй болдог. Дараа нь сүлжээ шинэ орчныг дахин сурч, амжилтад хүрэх хугацаа өмнөх суурь түвшин рүүгээ дахин буурч байгааг бид хардаг.

Мөн бид алдааны магадлалыг хэмжиж, нүүр эргүүлэлтийн (дээд талыг цагийн зүүний дагуу эсвэл эсрэг 90 градус эргүүлэх) ижил туршилтуудыг хийсэн бөгөөд дасан зохицлын ижил хэв маягийг олсон.D

Манай нейрон сүлжээг ойлгох нь

Сүлжээнүүдээ дүрслэн харах нь тэд ой санамждаа юу хадгалж байгааг ойлгох боломж олгодог. Сүлжээ улам нарийн төвөгтэй болох тусам энэ нь улам чухал болдог.

Ачаалж байна...

Манай нейрон сүлжээний ой санамжийг дээр дүрслэн үзүүлсэн. Бид тайлбарлах хэрэгслийн сангийн барилгын блок(шинэ цонхонд нээгдэнэ), тухайлбал сөрөг бус матрицын факторчлолыг ашиглан энэ өндөр хэмжээсийн векторыг 6 бүлэгт шахаж, тус бүрт нь өвөрмөц өнгө оноодог. Дараа нь бид хугацааны алхам бүрт тухайн мөчид давамгайлж буй бүлгийн өнгийг харуулдаг.

Ой санамжийн бүлэг бүртэй утга зүйн хувьд ач холбогдолтой зан төлөв холбогддог болохыг бид олсон. Жишээлбэл, сүлжээний ой санамжийн зөвхөн давамгайлж буй бүлгийг хараад л шоо эргүүлэх үү эсвэл дээд талыг цагийн зүүний дагуу эргүүлэх үү гэдгийг болохоос нь өмнө мэдэж чадна.

Сорилтууд

Робот гараар Рубикийн шоо эвлүүлэх нь одоо ч амаргүй хэвээр байна. Манай арга одоогоор 26 нүүр эргүүлэлт шаарддаг хамгийн хэцүү холилтыг(шинэ цонхонд нээгдэнэ) хэрэглэх үед Рубикийн шоог 20% тохиолдолд эвлүүлдэг. 15 эргүүлэлтээр буцааж болдог илүү энгийн холилтуудын хувьд амжилтын хувь 60% байна. Рубикийн шоо унах эсвэл хугацааны хязгаар дуусахад бид оролдлогыг амжилтгүйд тооцдог. Гэсэн ч манай сүлжээ Рубикийн шоог ямар ч эхний нөхцлөөс эвлүүлэх чадвартай. Тиймээс шоо унавал буцаан гарт нь тавьж, үргэлжлүүлэн эвлүүлэх боломжтой.

Ерөнхийдөө манай нейрон сүлжээ эхний хэдэн нүүр эргүүлэлт болон шоо эргүүлэлтийн үеэр бүтэлгүйтэх магадлал илүү өндөр байдгийг бид олж мэдсэн. Учир нь тэдгээр эхний эргэлтүүдийн үед нейрон сүлжээ Рубикийн шоог эвлүүлэхийн зэрэгцээ физик ертөнцөд дасан зохицох тэнцвэрийг хадгалах шаардлагатай болдог.

Ар талд нь: Рубикийн шооны прототипүүд

Ахиц дэвшлээ жишиж хэмжих, мөн асуудлыг хэрэгжүүлэх боломжтой болгохын тулд бид энгийн Рубикийн шоог эцэст нь эвлүүлэхэд хүрэх завсрын алхам болгон шоонуудын тусгай хувилбаруудыг бүтээж, зохион бүтээсэн.E

Openai Robotics Rubiks Prototypes

Rubik’s Cube prototypes, from left to right: Locked cube, Face cube, Full cube, Giiker(шинэ цонхонд нээгдэнэ) cube, regular Rubik’s Cube.

Прототип

Байрлал + чиглэл

Дотоод эрх чөлөөний зэрэг (мэдрэгч)

Түгжээтэй шоо

Хараа

0 (Мэдрэгчгүй)

Нүүрэн шоо

PhaseSpace

2 (PhaseSpace)

Бүрэн шоо

PhaseSpace

6 (PhaseSpace)

Giiker шоо

Хараа

6 (Суурилуулсан мэдрэгчүүд)

Энгийн Рубикийн шоо

Хараа

6 (Хараа)

Дараагийн алхмууд

Хүний түвшний уян нарийн хөдөлгөөн нь ерөнхий зориулалтын робот бүтээх зам дахь нэг шат гэж бид үздэг бөгөөд энэ чиглэлд урагшлахдаа баяртай байна.

Хэрэв та улам бүр ерөнхий болж буй, робот эсвэл виртуал аль ч төрлийн AI системийг бүтээхэд туслахыг хүсэж байвал, бид ажилд авч байна!

Тэмдэглэлүүд

  1. A

    Бид одоогоор машинуудад эзэмшихэд хэцүү байгаа асуудлууд дээр төвлөрдөг: хүртэхүй ба уян нарийн манипуляци. Тиймээс бид нейрон сүлжээнүүдээ Kociemba-ийн алгоритмаас үүсгэсэн шаардлагатай нүүр эргүүлэлт болон шоо эргүүлэлтийг гүйцэтгэхээр сургадаг.

  2. B

    Манай ажил 2D орчнуудыг автоматаар үүсгэдэг POET(шинэ цонхонд нээгдэнэ)-тэй нягт холбоотой. Гэхдээ манай ажил бүх орчинд хамрах нэгдсэн бодлогыг сургадаг бөгөөд энэ нь шинээр үүсгэсэн ямар ч орчинд шилжин ажилладаг.

  3. C

    Илүү тодруулбал, хязгаартай багтаамжтай нейрон сүлжээг хязгааргүй төвөгшилтэй орчинд сургах нь тусгай зориулалтын суралцах алгоритм сурахад хүргэнэ гэж бид таамагладаг. Учир нь энэ нь орчин бүрийн шийдлийг цээжлэх боломжгүй бөгөөд бүх санамсаргүйжуулалтын нөхцөлд ажиллах ганц бат бөх бодлого гэж үгүй.

  4. D

    Бүрэн үр дүнг манай өгүүлэл(шинэ цонхонд нээгдэнэ)-ээс үзнэ үү.

  5. E

    Бид хийсэн цорын ганц өөрчлөлт бол төвийн жижиг шоо бүрийн өнгөт наалтын өчүүхэн хэсгийг тайрч авсан явдал юм. Энэ нь эргэх симметрийг(шинэ цонхонд нээгдэнэ) эвдэхэд шаардлагатай байсан.

Зохиогчид

OpenAI, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, Mateusz Litwin, Bob McGrew, Arthur Petron, Alex Paino, Matthias Plappert, Glenn Powell, Raphael Ribas, Jonas Schneider, Nikolas Tezak, Jerry Tworek, Peter Welinder, Lilian Weng, Qiming Yuan, Wojciech Zaremba, Lei Zhang

Талархал

Энэхүү нийтлэл болон өгүүллийн ноорогт санал хүсэлт өгсөн дараах хүмүүст баярлалаа: Josh Achiam, Greg Brockman, Nick Cammarata, Jack Clark, Jeff Clune, Ruben D’Sa, Harri Edwards, David Farhi, Ken Goldberg, Leslie P. Kaelbling, Hyeonwoo Noh, Lerrel Pinto, John Schulman, Ilya Sutskever & Tao Xu.

Видео: Peter Jordan (Найруулагч), Yvette Solis (Продюсер), Brooke Chan (Продюсер)

Редактор: Ashley Pilipiszyn

Дизайн: Justin Jay Wang & Ben Barry

Гэрэл зураг: Eric Haines