RPAとはなにか

RPAは、「Robotic Process Automation」を表します。

従来は人間のみが行うことができると考えられていた事務作業を代行する高度化したソフトウェア群(ソフトウェアロボット)及びそれらの行為を利用した業務改革手法です。
パソコンを操作してアプリケーションを扱う各種業務を代行し、デスクワークを効率化・自動化します。

Unity ML-Agentsの学習シナリオ(2)

Unity ML-Agentsでは「Agemt」「Brain」「Reward」の組み合わせによっていろいろな学習シナリオを実現することができます。

  • Cooperative(協同) Multi-Agent
    「共有報酬」を受け取る複数のAgentに、1つまたは複数のBrainがリンクされている学習シナリオです。
    複数のAgentが協力して1つのタスクを解決します。
    (例)部分的な情報にしかアクセスできないAgentが共同でパズルを解く。
  • Competitive(競争) Multi-Agent
    「逆報酬」を受け取る複数チームの敵対した複数のAgentが1つまたは複数のBrainにリンクされている学習シナリオです。
    Agentが競争に勝つか、または限られた数のリソースを獲得するために互いに競争します。
    (例)サッカーのストライカーとゴールキーパー
  • Ecosystem(生態系)
    「独立報酬」を受け取る複数のAgentが1つまたは複数のBrainにリンクされている学習シナリオです。
    さまざまな目標を持つAgentが相互に作用する小さな世界を創造します。
    (例)サバンナの中の動物たちの自立シミュレーション

Unity ML-Agentsの学習シナリオ(1)

Unity ML-Agentsでは「Agemt」「Brain」「Reward」の組み合わせによっていろいろな学習シナリオを実現することができます。

  • Single-Agent
    1つのAgentに1つのBrainがリンクされている学習シナリオです。
    一番シンプルなシナリオで、シングルプレイヤーゲームがこれにあたります。
  • Simultaneous(同時) Sigle-Agent
    「独立報酬」をもらう複数のAgentが1つのBrainにリンクされている学習シナリオです。
    Single-Agentの並列化バージョンで、スピードアップと安定化ができるようになります。
    ナルトが多重影分身で修行しているような感じです。
  • Adversarial(敵対) Self-Play
    「逆報酬」をもらう敵対した2つのAgentが1つのBrainにリンクされている学習シナリオです。
    2人プレイのゲームでAgent同士を対戦させることで学習を行うようなケースがこれに適応します。
    (例)テニスのプレイヤー

ドロップアウト

ドロップアウトは層の中のニューロンのうちいくつかをランダムに無効にして学習を行い、パラメータが多く表現の高いネットワークの自由度を抑えることで、モデルの頑健性を高めます。

最適化

機械学習や深層学習において、「学習」とは予測の誤差を最小化・最適化することを意味します。
最適化とは、与えられた関数を最小または最大にするようなパラメータを見つけることです。

機械学習とは、予測の誤差を最小にするパラメータを見つけることと言い換えることもできます。
TensorFlowでは勾配法という手法を使って関数を最小化します。

深層強化学習

深層強化学習とは深層学習と強化学習の2つを組み合わせた方法です。

  • 深層学習
    答えのある問題を学習して分類する問題(画像認識や自動作文)などに用いられます。
  • 強化学習
    よい状態と悪い状態だけを決めておいてその過程を自動的に学習してよりよい動作を獲得する問題(ロボットのコントロールやゲームの操作)などに用いられます。

超解像度

超解像度(Super Resolution)とは、解像度の低い画像や動画を受け取り、解像度の高い画像や動画を生成する技術のことです。

TensorBoard(3)

TesnorBoardはTesorFlowのデータを可視化するツールです。
学習状況をより詳細に観察することができるようになります。

7.Value Estimates

予測する将来の報酬です。
学習成功時には増加し、継続して増加することが期待されます。

Value Estimates

8.Value Loss

予測する将来の報酬と実際の報酬がどれだけ離れているかを示す値です。
報酬が安定したら、減少することが期待されます。

Value Loss

TensorBoard(2)

TesnorBoardはTesorFlowのデータを可視化するツールです。
学習状況をより詳細に観察することができるようになります。

4.Episode Length

エピソードの平均の長さです。評価する環境によって望まれる結果は異なります。
ボールを落ちないようにする環境では、増加することが期待されます。
迷路を解くようなゲームでは、減少することが期待されます。

Episode Length

5.Learning Rate

学習率です。今回の行動評価を過去の行動評価と比べてどの程度信じるかという割合になります。
時間とともに継続して減少します。

Learning Rate

6.Policy Loss

Brainが行動を決定する「方策がどれだけ変化しているか」を示す値となります。
学習成功時には減少し、継続的に減少することが期待されます。

Policy Loss

TensorBoard(1)

TesnorBoardはTesorFlowのデータを可視化するツールです。
学習状況をより詳細に観察することができるようになります。

1.Lesson

カリキュラム学習のレッスンの進捗です。カリキュラム学習でない場合は、Lesson 0のままとなります。

Lesson

2.Cumulative Reward

エージェントの平均累積報酬です。継続して増加し、上下の振れ幅が小さいことが期待されます。
タスクの複雑さによってはなかなか増加しないこともあります。

Cumulative Reward

3.Entropy

Brainが決定する「Actionがどれだけランダムであるか」を示す値です。
継続的に減少することが期待されます。

Actionのデータ型が離散(Discrete)の場合、次のような対応が有効となります。

  • エントロピーの減少が早すぎる。
    → ハイバーパラメータのbetaを増やす。
  • エントロピーの減少が遅すぎる。
    → ハイバーパラメータのbetaを減らす。

Entropy