UnityとゲームAIと将棋

Unity、Pythonを中心にゲーム開発やゲームAI開発の技術メモ等、たまに将棋も

機械学習

【AlphaZeroを理解する】多腕バンディット問題編

概要 囲碁、将棋、チェスなどのボードゲームにおいてルール以外のドメイン知識を利用せずに対戦用AIとしてのState-of-the-art(SOTA)を達成したAlphaZeroを細かく分解しながら理解していこうというシリーズです。今回はモンテカルロ法の基礎となる多腕バン…

【AlphaZeroを理解する】モンテカルロ法編

概要 囲碁、将棋、チェスなどのボードゲームにおいてルール以外のドメイン知識を利用せずに対戦用AIとしてのState-of-the-art(SOTA)を達成したAlphaZeroを細かく分解しながら理解していこうというシリーズです。今回はAlphaZeroの根底にあるモンテカルロ木…

【Unity】MLAgentsでターン制ゲームのAIを実装する時の行動決定方法

結論 RequestDecisionメソッドを使用する 詳細 Unity MLAgentsで自作ゲームのAIを実装する際に、サンプルの実装を参考にすると思いますが、サンプルゲームにはリアルタイム性の強いものが多く、ほとんどが下記の画像ようにDecisionRequesterのコンポーネント…

【LLM】大規模言語モデルを動かすのに必要なGPUメモリ

結論 【推論】 推論時の必要GPUメモリ[GB] = パラメータ数[b] × 2 【学習】 学習時の必要GPUメモリ[GB] = 推論時の必要GPUメモリ[GB] × 4 【n bit 量子化】 量子化時必要GPUメモリ[GB] = 通常時必要GPUメモリ[GB] × ( n / 通常時の bit 数) 【LoRA】 学習時…

ゲーム開発でのゲームAI・機械学習技術の活用

概要 ゲーム開発において、ゲームAI技術や機械学習技術を活用する流れが加速していると日々実感しています。実際の現場でも導入されることが増え、ゲーム開発の様々な部分で効率化が進んでいると思います。ただ、どのようなケースで、どのような技術を使用す…

確率統計関連の基本事項思い出し用シート

機械学習関連の本や論文などを読んでいると「記載されている数式の変形がどういった背景で行われているのか?」「そもそもこの式って何についての式なのか?」といったようなことをよく忘れてしまい、その都度調べるのも大変なので、基本的なものを一覧とし…

【機械学習】RNNの内部計算メモ

本記事の概要 前回のFNNの内部計算の記事 tsubasa-alife.hatenablog.com の続きで、本記事ではRNNの内部計算について備忘録的にメモしておきます。 RNNの計算グラフ RNNの計算グラフ ※各パラメタ・要素の説明 : 時刻tにおける入力 : 入力層と中間層の結合重…

【機械学習】FNNの内部計算メモ

本記事の概要 大学・大学院時代に研究を始める際、ニューラルネットの基礎を学ぶためC++でFNNとRNNのスクラッチ実装に取り組んだことがあったのですが、その際にニューラルネットの内部計算がどのようになっているのかを理解するため、計算グラフをもとに内…

PRML読む時に参考にしていた資料やリンクのメモ

PRMLこと「パターン認識と機械学習」を読む際に大学院時代に参考にしていた資料をメモしておきます。 tips-memo.com herumi.github.io PRMLはひとりで読み込むのはなかなか大変ですが、こういった資料を作成してくれている方々がいると勉強しやすくて本当に…