ATOMIC⚡️T E S L A Profile picture
#𝗧𝗲𝘀𝗹𝗮, 𝗕𝗮𝗻𝗸𝗲𝗿, 𝗗𝗲𝘃𝗲𝗽𝗹𝗼𝗿, 𝗗𝗲𝘀𝗶𝗴𝗻𝗲𝗿, 𝗛𝘂𝘀𝗯𝗮𝗻𝗱, 𝗙𝗮𝘁𝗵𝗲𝗿, @atomicBTC

Jul 5, 2022, 20 tweets

[AI DAY]

(2021년 8월20일 #Tesla AI DAY - 2부)

🧠 DAY형식의 3번째 이벤트로 중간에 BATTERY DAY가 있었지만 AI 관련이라서 2019년 4월에 있었던 AUTONOMY DAY의 이어지는 이벤트에 가까움.
1️⃣ 2부 : Planning and Control / Labeling

[Planner]

📝 Planner의 역할은 차량이 Safety(안전), Comfort(편안), Efficiency(효율)하게 이동시키는것.
🗓 2019년(Autonomy Day)때에도 차선 유지/변경, IC 진출은 능숙하게 하였지만 시내주행은 타 차량과의 양보, 협력 그리고 보행자를 살펴야 해서 어려운 문제.

🛣 주행공간에는 2가지 문제가 있음.

1. Non-Convex : 해결책들을 다 모아보면 최적의 답이 아닌것으로 Discrete Search의 방법론이 해결책.
2. High-Dimensional : 위의 방법론이 반대로 문제를 일으키는데 미래의 나(차량)의 움직임을 모두 계획을 세우기 어렵기 때문.

📝 테슬라는 Coarse Search 방법론(무작위 탐색을 하면서 유리한 것부터 정렬) 사용.
🚥 교차로 좌회전 차선으로 이동 하기위해 바로옆에 지나가는 차량을 보내줄지 끼어들지 1초에 666번 후보군을 탐색.
✅ 이중 안전, 편안, 효율 기준으로 하나를 선택함.

🚙 또한 다른 차들의 교통상황을 고려한 Plan이 필요함.
🧠 좁은 골목길에서 테슬라는 속도를 늦추다가 맞은편 자동차가 속도를 늦추면 양보한다는것으로 판단하여 빠르게 이동.
🛞 맞은편 자동차의 속도와 휠 각도(안쪽으로 꺾음)를 보고 양보하는것으로 판단하는 Plan.

[Parking Problem]

🅿️ 주차된 차와 장애물(주황색)을 피해서 주차구간으로 도달하기 위해 398,320의 노드(재시작 지점)를 사용함.
📍 네비게이션 경로를 임의로 추가하면 사용노드가 줄긴하지만 장애물을 알지못함.
🧠 뉴럴네트워크를 학습시켜 288개의 노드만으로 도달.

[Planner 최종]

🧠 뉴럴네트워크는 Feature(학습한 결과)를 갖고 실제 플래너에게 전달함.
📌 또한 차량 Vision으로 input된 데이터를 벡터 공간으로 옮겨 Explicit Planer(실제 플래너)가 그것을 조종(Control)하여 테슬라 차량을 움직임.

[Labeling]

@karpathy 가 테슬라에 들어왔을때 데이터 라벨링을 3rd party(협력업체)에 의뢰하여 받았는데 결과물이 좋지 않았음.
🍼 라벨링 작업속도도 느리고 퀄리티도 협력업체마다 다름.
📈 하지만 이를 인하우스(내재화)하였고 전문라벨링 인원이 천명이 넘어섰음.

🖼 3년전 초창기 라벨링은 2D 이미지에 주석을 달았고 시간이 많이 걸렸고 이를 벡터공간으로 옮기려니 더많은 라벨링 작업때문에 좋은 방법이 아니라고 판단.
📦 차량이 주행하는 벡터공간에 시간대별로 라벨링하여 카메라 vision에 실시간 반영.

🖥 컴퓨터는 Tracking(추적)에 강점이 있고 사람은 라벨링의 의미부여에 강점이 있어 이것을 협업할 툴을 만듬.
🛣 첫 테스트로 도로(면)을 레이블링, XY포인트(가로/세로)를 가지고 Z(높이)를 예측하라고 네트워크에 요청하면 3D포인트가 되고 카메라에 맞게 조정됨.

📹 이것을 이용하면 주행중에 보이는 다른 patch(경로)를 제거할 수 있음. (올바른 주행경로가 예측됨)
🚘 또한 동일장소에 대해 다른 차량이 모은 영상클립을 결합하면 도로경계/차선 등의 특징이 모여서 자동으로 라벨링되며 테슬라는 따로 관리하지 않아도 됨.

👁 이렇게 자동으로 관리되는 장점은 사람이나 차량에 의해 뒤 물체가 가려졌을때 과거자료를 찾아 추측하지 않아도 됨.
📈 속도/가속도 등 kinetic(운동)자료로 사람이나 차량이 어느방향으로 얼만큼 갈지 예상할수도 있기 때문에 모든 객체를 추적하고 관리까지 가능함.

⚠️ 데이터 제거를 시도하는 첫 프로젝트.
🌨 눈비가 쏟아지는 도로상황에서는 Vision이 구분하지 못하여 초기에는 구분하지 못함.
🚘 Fleet(차량들)에게 수많은 비슷한 상황을 요청했고 오토라벨링 툴에 보내서 자동으로 라벨링하였고 물체가 가려져도 있다는 사실을 기억함.

[Simulation]

📡 레이더를 제거하기 위해서 CYBERTRUCK을 가져왔는데 이는 실물 영상이 아니라 시뮬레이션. (카메라 Vision으로만 학습해야하니까 영상데이터가 필요하므로)

📜 이는 벡터공간에서 시작하였고 모두 라벨링 된 상태로 kinematic, depth, segmentaion 등으로 동시에 구분.
🤷‍♂️ 시뮬레이션을 하는 이유는 고속도로에서 사람이 뛰는 드문 상황, 데이터를 얻는데 시간이 많이 걸리는 보행자가 많은 상황 등의 데이터를 얻기 위함.

[시뮬레이션이 필요한 경우]

1. Accurate Sensor Simulation : 카메라 Vision의 센서가 어느정도의 밝기(노출도)를 허용할수 있는지를 알아야 하는 경우.

2. Photorealistic Rendering : 실제와 같은 수준의 렌더링으로 공간을 구현 (픽셀을 anti-aliasing: 끝의 윤곽을 중간값으로 흐릿하게 하여 자연스럽게 구현)하여 학습을 효과적으로 하기 위함.

3. Divers Actors & Location : 도로위의 사슴등 다양한 등장 사물을 나오게 하고 2천마일의 도로를 만들어서 새로운 환경에서 학습.

4. Scalable Scenario Generation : 뉴럴 네트워크가 익숙한 생성방법이 아닌 실패하는 데이터만을 이용하여 학습.

5. Scenario Reconstruction : AI가 실패하는 모든 장소를 시뮬레이션으로 만들어 무한 반복하게 함.
📹 해당 영상은 오토라벨링 툴을 거처 3D영상으로 변환된것. (영상 오른쪽)
🔄 이렇게 실패한 모든 영상을 모아 학습시키고 또 새로운 벡터공간을 만드는 자동화.

📹 이미 시뮬레이션 데이터로 뉴럴네트워크를 훈련시키고 있으며 3.7억개의 시뮬레이션된 이미지와 4.8억개의 라벨링을 가지고 지속적으로 테스트할 예정.

3️⃣ AI DAY 3부 : Dojo & Bot에 이어짐.

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling