DeepFoids: 深層強化学習による魚の生態を取り入れた群行動シミュレーション

DeepFoidsは、魚の生態を取り入れた群行動のシミュレーションです。深層強化学習(Deep Reinforcement Learning)によって、環境の変化や生簀内の魚の密度に対応した群行動が自律的に獲得できます。

背景

安定して安価で安全な魚の提供は、重要です。天然資源を守るためにも、養殖産業が注目を浴びてます。しかしながら、海上養殖場では、餌の無駄、糞などによる周りの環境汚染が問題となっています。餌の無駄や糞の問題を解決するためには、給餌の最適化を行うことが有効です。最適化をすることで、残っている餌や多すぎる糞が海底に沈んでヘドロになることを避けることができます。

しかし、環境改善のための実験を海上で試行錯誤を行うことは、時間とコストがかかるだけではなく、成功するまでは、環境汚染を継続してしまいます。

私たちのアプローチ

そこで我々は、コンピュータグラフィックスを用いた魚群のシミュレーションのecoシステムを構築しました。CGで種々のシミュレーションを行うことができれば、時間、コスト、環境汚染の問題を解決することが可能となります。

このためには、本当の魚と同じ振る舞いを再現する必要があります。個々の魚の生態だけはなく、魚群が自律的に生成されていく必要があります。我々は、個々の魚の生態を取り入れた上で、個体の学習によって様々な群行動 (swarm, milling) の再現に成功しました。

シミュレーションに用いた魚の生態

我々が導入した魚の生態は、

  1. 魚の好みの温度
  2. 魚の好みの照度
  3. 魚のパーソナルスペース
  4. 障害物や海面への衝突回避(報酬)
  5. 意思決定や時間間隔
  6. ソーシャルランキング
  7. 魚の大きさによる泳ぐスピードの違い
  8. 集合・整列・分離(報酬)

になります。

Deep Reinforcement Learning (DRL)

それぞれの魚が複雑な意思決定プロセスを持つエージェントとし、個の報酬と群としての報酬が競合するマルチエージェントシステムとして捉え、DRLを適用しました。
その理由は、本物の魚の学習には報酬としてドーパミンが使われていることがわかっています。ドーパミンが学習として使われている学習方法には、強化学習があり、状態行動対の複雑さからDRLを採用しました。

強化学習における状態(State)

魚が側線(Lateral line)で相対的な回転だけ観測することができるのと同じように、魚エージェントは正確なスピード等は観測せずに相対地のみを観測します。各魚エージェントは、魚種によって定められた視界のなかで、エージェントと前方にいる近接魚の差分と深度を観測し、3Dテンソルとして保持します。

強化学習における行動(Action)

各エージェントの行動は、どの方向に、自分の体をどのくらい傾けて、どのくらいのスピードで進むかを選択します。

報酬とペナルティの設定

報酬は7つの状態の合計値として与えられます。

rt = rtBC + rtNC + rtBD + rtND + rtE + rtM + rtC

  • rBC : 網や海面にぶつかったらペナルティ
  • rNC : 魚同士がぶつかったらペナルティ
  • rBD : 網や海面を避けたら報酬
  • rND : 近くに魚がいたら報酬
  • rE : 魚がエネルギーを使ったらペナルティ
  • rM : 最も遅いスピードより角度を変えずに速く泳ぐと報酬、急に深度を変えるとペナルティ
  • rC : 近くのターゲットに攻撃を仕掛けて衝突したら報酬、衝突されたらペナルティ

周りの状態を観測し、選択した行動に対して報酬/ペナルティを意思決定の時間ごとに行います。

学習プロセス

これらのデータをDRLネットワークの入力とし、群行動を学習します。
結果として、疎の状態と密の状態で異なる群行動を自律的に獲得することに成功しました。

シミュレーション結果

シミュレーション vs. 実動画

シミュレーション結果と実際の録画データを比較しました。生簀内の魚の数が少ない時(疎: sparse)の時は、swarmingと呼ばれる行動が得られました。実際の録画データと比較してもよく似ています。生簀内の魚の数が多い時(密: dense)の時は、millingと呼ばれる回遊行動が得られました。こちらも実際の録画データと比較してもよく似ています。

PPO vs. SAC

PPO (Proximal Policy Optimization) とSAC (Soft Actor Critics) を比較しました。千尾の銀シャケでシミュレーションしました。どちらもmillingパターンを得ることができました。

ソーシャルランキング

生簀の中でも、社会的上位者と下位者がいます。社会的上位者が近くのtargetを追いかけて、ぶつかる振る舞いの発言に成功しました。

アプリケーション

群行動の生成に成功したため、これらの結果を画像認識のトレーニングデータ生成に適用し、尾数カウントを行いました。
見た目をリアルにするために、実際の生簀で環境や魚の撮影をし、CGで作成しました。シンセティックデータセットをアノテーション付きで自動生成し、トレーニングデータとしました。
検証データは、実際に生簀の中にカメラを設置して撮影しました。

References of biology

[25] Charles M. Breder and Florence Halpern, Physiological Zoology, 19(2):154-190, 1946.
[26] William Wallace Reynolds and Martha Elizabeth Casterlin, American zoologist, 19(1):211–224, 1979
[27] Arne J Jensen, Bjørn O Johnsen, and Laila Saksgård, Canadian Journal of Fisheries and Aquatic Sciences, 46(5):786–789, 1989.
[28] I Huse and JC Holm, Journal of Fish Biology, 43:147–156, 1993.
[29] Anders Fernö, Ingvar Huse, Jon-Erik Juell, and Åsmund Bjordal, Aquaculture, 132(3-4):285–296, 1995
[30] Jon-Erik Juell, Reviews in fish biology and fisheries, 5(3):320–335, 1995.
[31] Martin Føre, Tim Dempster, Jo Arve Alfredsen, Vegar Johansen, and David Johansson, Aquaculture, 288(3-4):196–204, 2009.
[32] G. Macaulay, D. Wright, F. Oppedal, and T. Dempster, Aquaculture, 519:734925, 2020.
[33] Victoria A Davis, Robert I Holbrook, and Theresa Burt de Perera, Communications biology, 4(1):1–5, 2021
[34] Lucy Odling-Smee and Victoria A Braithwaite, Fish and Fisheries, 4(3):235–246, 2003.
[35] Alisha A Brown, Marcia L Spetch, and Peter L Hurd, Psychological Science, 18(7):569–573, 2007.
[36] Thomas H. Miller, Katie Clements, Sungwoo Ahn, Choongseok Park, Eoon Hye Ji, and Fadi A. Issa, Journal of Neuroscience, 37(8):2137–2148, 2017.
[37] Chiweyite Ejike and Carl B Schreck, Transactions of the American Fisheries Society, 109(4):423–426, 1980.
[38] Yoshitaka Sakakura and Katsumi Tsukamoto, Journal of Applied Ichthyology, 14(1-2):69–73, 1998.