Synergy S7上での強化学習

こんにちは、Sugachanceです。

e-AIとはちょっと離れてしまうのですが、AI関連という事で。

どうにかしてマイコン上でニューラルネットワークによる強化学習が
実行できないかと考えていたのですが、以前にVisualStudio(C#)で自作した三目並べ(○×ゲーム)の
プログラムをSK-S7G2上に簡易的にCで移植してみました。
ネットワークは隠れ2層(ReLU)と出力層(Softmax)です。

重み変数をfloat型(32bit)としても、変数関連だけでRAM約25kB、
残りをExperience Replay用としてどれだけ確保できるかが課題でしたが、
元プログラムの10分の1のサイズを確保してやってみました。

ERのデータの多様性がなくなっており、偏った学習にはなっていると思いますが、
図のように負けない打ち方を学習できているっぽいです。因みに時間はPCの10倍以上はかかってます。

詳細の検証は必要ですが、2回やって2回とも割合(200エピソードごとに算出)が増加しているので、
方向性としてはできているかなと思います。

仕事の延長なのでソースは上げられませんが、
マイコン上でも強化学習はできる(はず)という話のネタとして…

因みに再生だけならRL78でもできました。

Renesasさんの方でも、今後のe-AIの枠組みの中で、
推論(再生)だけでなくマイコン(エッジ側)での学習に関して
なにかリリースしていただけるとうれしいなと思います。

  • Sugachanceさん、こんにちは。スタッフのdartsmanです。
    興味深いレポートありがとうございます。

    ディープラーニングではなくて強化学習が題材ということですね。
    強化学習を組み込みへ応用することで、ディープラーニングよりも
    コンパクトに学習や推論ができる可能性がありそうだ、ということですね。
    なるほど。

    現状、e-AIがターゲットにしているのはディープラーニングですが
    強化学習に関しては、まだまだ不勉強なところがありますので
    まずは勉強してみます。