私は楽しみのために遠隔操作の自動運転車を作っています。オンボードコンピューターとしてRaspberry Piを使用しています。また、車の周囲のフィードバックのために、Raspberry Piカメラや距離センサーなどのさまざまなプラグインを使用しています。OpenCVを使用してビデオフレームをテンソルに変換し、GoogleのTensorFlowを使用して複雑なニューラルネットワークを構築し、道路の境界と障害物を学習しています。私の主な質問は、教師付き学習を使用して車に運転を教えるべきですか、または目標と罰則を提供し、強化学習を行う必要がありますか?以下は、私が思いついた長所と短所のリストです。
教師付き学習プロ:
- 学習アルゴリズムへの入力は非常に簡単です。車は、ビデオフレームテンソルとセンサー距離の読み取り値を前方、後方、および角度のホイール変位に関連付けることを学習します
- 私は多かれ少なかれ自分の思い通りに運転するように車を教えることができます(もちろん、オーバーフィッティングなしで)
- 私はこれまでに多くの教師付き学習問題を行ってきましたが、このアプローチは既存のスキルセットに快適に適合するようです
教師付き学習の短所:
- 速度をどのように教えるかは明確ではありません。正しい速度は、車があまり速く進まないので、道を逸れる限り、かなりarbitrary意的です。トレーニング中は速く走れると思いますが、これは粗雑なアプローチのようです。トレーニング中にそのトレーニングセッションの速度に対応する定数変数を手動で追加し、学習アルゴリズムを展開するときに、必要な速度に応じてこの変数を設定できますか?
強化学習のプロ:
- 他の人の自動運転車をレースするという特定の目的で車を構築する場合、強化学習は私の車に「できるだけ早くそこに着く」ように言う自然な方法のようです
- 私はRLが自律型ドローンに時々使用されることを読んだことがあるので、理論的には車の方が簡単だと思います。
強化学習の短所:
強化学習には多くの追加センサーが必要だと感じており、率直に言って、足の長い車にはバッテリー、Raspberry Pi、ブレッドボードを取り付ける必要があることを考えると、それほどスペースがありません
車は最初は非常に不規則に振る舞うため、それ自体が破壊される可能性があります。また、学習に不当に長い時間がかかる場合があります(たとえば、数か月または数年)
- たとえば、おもちゃの赤信号に立ち寄るなど、明示的なルールを組み込むことはできません。教師あり学習により、多数のSLアルゴリズム(ストップライトを識別するHaar Cascade分類器など)を、各ビデオフレーム間で評価される構成可能なルールエンジンに組み込むことができました。したがって、ルールエンジンは、ストップライトがドライビングアルゴリズムのトレーニングの一部ではない場合でも、赤いストップライトが表示された場合、ドライビングSLアルゴリズムをオーバーライドできます。RLはこれを行うには連続しすぎているようです(つまり、最終状態でのみ停止します)
- 適用された強化学習の経験はあまりありませんが、関係なくそれを学びたいです
これは実際には答えではありません、私は実際に同じプロジェクト、Q-Learning(RL)を備えた自動運転車(まだ最初)を行っています。あなたのプロジェクトコードがオンラインで利用できるかどうかを尋ねたいのですが、私にとって非常に役立つでしょう。これは今私がフォローしているプロジェクトです。medium.com / @harvitronix / …彼はgoogleディープQ学習(Atari論文)のようにNNでRLを使用しますが、教師あり学習は使用しません。彼のコードはこちらから入手できます:github.com/harvitronix/reinfo
—
Mahmoud Hossam
@MahmoudHossamコードの代替場所はありますか?指定したリンクは無効です。
—
ホムンクルスレティキュリ
@MahmoudHossamリポジトリが次のように変更されたように見えます:github.com/harvitronix/rl-rc-car
—
ライアンゾッティ