나는 재미를 위해 원격 제어식자가 운전 차량을 만들고 있습니다. 온보드 컴퓨터로 Raspberry Pi를 사용하고 있습니다. 저는 자동차 주변 환경에 대한 피드백을 위해 Raspberry Pi 카메라 및 거리 센서와 같은 다양한 플러그인을 사용하고 있습니다. 비디오 프레임을 텐서로 전환하기 위해 OpenCV를 사용하고 있으며 Google의 TensorFlow를 사용하여 도로 경계와 장애물을 배우기 위해 복잡한 신경망을 구축하고 있습니다. 나의 주요 질문은, 자동차를 운전하도록 가르치기 위해지도 학습을 사용해야합니까, 또는 목표와 처벌을 제공하고 강화 학습을해야합니까 (즉, 아무 것도 치지 않고 도로 경계 내에 머무르면서 가능한 빨리 B를 가리켜 야합니까)? 아래는 내가 생각해 낸 장단점 목록입니다.
지도 학습 전문가 :
- 학습 알고리즘에 대한 입력은 매우 간단합니다. 자동차는 비디오 프레임 텐서 및 센서 거리 측정 값을 전진, 후진 및 각도 휠 변위와 연관시키는 방법을 배웁니다.
- 나는 차를 내가 원하는대로 정확히 운전하도록 가르 칠 수있다.
- 이전에 수많은지도 학습 문제를 겪어 왔으며,이 접근법은 기존 기술 세트에 편안하게 맞는 것 같습니다.
지도 학습 단점 :
- 속도를 가르치는 방법은 명확하지 않으며, 차가 너무 빨리 이동하지 않아 도로에서 벗어나지 않는 한 정확한 속도는 임의적입니다. 나는 훈련하는 동안 빨리 운전할 수 있다고 생각하지만 이것은 거친 접근법처럼 보입니다. 어쩌면 훈련 기간 동안 해당 훈련 세션의 속도에 해당하는 상수 변수를 수동으로 추가 한 다음 학습 알고리즘이 배포 될 때 원하는 속도에 따라이 변수를 설정할 수 있습니까?
강화 학습 전문가 :
- 다른 사람의 자율 주행 자동차를 경주하는 특정 목적으로 내 차를 만들면 강화 학습은 내 차에 "가능한 한 빨리 도착하도록"말하는 자연적인 방법 인 것 같습니다.
- RL이 때때로 자율 드론에 사용되는 것을 읽었으므로 이론적으로는 위아래로 걱정할 필요가 없기 때문에 자동차에서 더 쉬워야합니다.
강화 학습 단점 :
강화 학습에는 많은 추가 센서가 필요하다고 생각합니다. 솔직히 내 긴 자동차에는 배터리, 라즈베리 파이 및 브레드 보드를 장착해야한다는 점을 고려할 때 충분한 공간이 없습니다.
자동차는 처음에는 매우 불규칙하게 작동하여 너무 많이 파괴 될 수 있습니다. 학습하는 데 시간이 오래 걸리는 경우도 있습니다 (예 : 몇 개월 또는 몇 년)
- 나중에 장난감 등불에 멈춰서 명시 적 규칙을 수용 할 수 없습니다. 지도 학습을 통해 수많은 SL 알고리즘 (예 : 신호등을 식별하기위한 Haar Cascade 분류기)을 각 비디오 프레임 사이에서 평가되는 구성 가능한 규칙 엔진에 통합 할 수 있습니다. 따라서 정지 엔진이 주행 알고리즘 훈련의 일부가 아니 었더라도 규칙 엔진은 주행 SL 알고리즘이 적색 신호등을 본다면 주행 SL 알고리즘을 무시할 수 있습니다. RL이이를 수행하기에는 너무 연속적인 것으로 보입니다 (즉, 터미널 상태에서만 중지)
- 적용된 강화 학습에 대한 경험이 많지 않지만 확실히 학습하고 싶습니다.
이것은 실제로 답이 아닙니다. 실제로 동일한 프로젝트를 수행하고 있습니다 .Q-learning (RL)이있는 자체 운전 차량 (여전히 시작됩니다). 귀하의 프로젝트 코드가 온라인 어딘가에서 구할 수 있는지 묻고 싶습니다. 나에게 매우 도움이 될 것입니다. 이것은 내가 지금 따르는 프로젝트입니다. medium.com/@harvitronix/… Google 딥 Q 학습 (아타리 페이퍼)과 같이 NN과 함께 RL을 사용하지만지도 학습은 사용하지 않습니다. 그의 코드는 여기에 있습니다 : github.com/harvitronix/reinfo
—
Mahmoud Hossam
@MahmoudHossam 코드의 대체 위치가 있습니까? 당신이 준 링크가 죽었습니다.
—
Homunculus Reticulli
@MahmoudHossam repo가 다음과 같이 변경된 것 같습니다 : github.com/harvitronix/rl-rc-car
—
Ryan Zotti