タグ

ブックマーク / tadaoyamaoka.hatenablog.com (5)

  • Pythonの麻雀ライブラリを作る - TadaoYamaokaの開発日記

    以前より不完全情報のボードゲームで強化学習のアルゴリズムを試したいと思ってる。 簡単すぎるゲームやマイナーなゲームでは、開発のモチベーションが続かない気がするので、日で人気のある麻雀AIを開発したいと考えている。 麻雀は、「Lucky J」や「Suphx 」で強化学習が試されており、人間の高段者くらいの強さになっている。 それらのAIで使われている手法を自分で実装してみて理解したいと思っている。 また、MuZeroのようなモデルベースの手法を麻雀AIで試してみたいと思っている。 Pythonライブラリ まず、Pythonで使える麻雀ライブラリを探したが、点数計算用のライブラリが見つかったが、1局通して対局できるライブラリが見つからなかったので、自分で作ることにした。 Python以外の言語向けのオープンソースのライブラリでは、対局までできるものが見つかったので、参考にして実装した。 以下

    Pythonの麻雀ライブラリを作る - TadaoYamaokaの開発日記
    honeybe
    honeybe 2023/10/03
  • PCで再生中の音声をWhisperでリアルタイムに文字起こしする - TadaoYamaokaの開発日記

    PCで再生中の音声をリアルタイムで文字起こしできると、字幕機能がない動画の再生や、外国とのオンライン会議で便利である。 先日、OpenAIが公開したWhisperは、音声ファイルから文字起こしするするツールが提供されているが、リアルタイムで処理するツールは提供されていない。 そこで、Pythonスクリプトで、リアルタイムで文字起こしするツールを作成した。 ループバック録音 SoundCardを使うと、PCで再生されている音声を録音することができる。 pip install SoundCardでインストールする。 import soundcard as sc with sc.get_microphone(id=str(sc.default_speaker().name), include_loopback=True).recorder(samplerate=SAMPLE_RATE, chan

    PCで再生中の音声をWhisperでリアルタイムに文字起こしする - TadaoYamaokaの開発日記
    honeybe
    honeybe 2022/10/17
  • Unityで将棋アプリの開発 その9(定跡と戦型予想) - TadaoYamaokaの開発日記

    作成している将棋アプリに定跡検索と戦型予想を実装した。 定跡ボタン(ノートのアイコン)を押すと、現在の局面の定跡の候補手と、各手を指した後にどの戦型になるかの確率を表示する。 候補手は、出現率と勝率も合わせて表示する。 定跡の元データ 定跡の元データには、floodateの2018年以降のR3500以上のソフト間の棋譜を使用した。 ある程度レーティングの高いソフトの指し手を登録した方がよいのでレーティングでフィルタを行ったが、R3300は技巧2の棋譜が多いためそれよりも少し大きいR3500とした。 なお、floodgateのレーティングの分布は以下のようになっている。 戦型予想 floodgateの棋譜から、定跡の各手を指した後に、どの戦型になったかの統計情報を取得して、それを確率として表示する。 戦型の分類には、Mizarさんが公開されているjsonの定義ファイルを使用させてもらった。

    Unityで将棋アプリの開発 その9(定跡と戦型予想) - TadaoYamaokaの開発日記
    honeybe
    honeybe 2022/03/10
  • cshogiにWebアプリを追加 - TadaoYamaokaの開発日記

    開発しているPythonの高速な将棋ライブラリcshogiに、ブラウザでUSIエンジン同士の対局が行える機能を追加した。 python -m cshogi.web.app --engine1 E:\game\shogi\gikou2_win\gikou.exe --engine2 E:\game\shogi\apery_wcsc28\bin\apery_wcsc28_bmi2.exe --byoyomi 1000 --port 8000のように実行して、ブラウザから「http://localhost:8000/」にアクセスして、USIエンジン同士の対局を観戦することができる。 これだけだと、将棋所のような便利なネイティブアプリがあるのでわざわざこの機能を使う必要はないが、Google Colab上で実行することができる。 Google Colabで実行 USIエンジン同士の対局 # csh

    cshogiにWebアプリを追加 - TadaoYamaokaの開発日記
    honeybe
    honeybe 2021/07/12
  • AlphaGo Zeroの論文を読む - TadaoYamaokaの開発日記

    今日のAlphaGo Zeroのニュースは衝撃でした。 将棋AIで方策勾配で強化学習を行ったときは、発散してうまくいかなかったので 教師データで最初に訓練が必要と思っていました。 それが、自己対局のみで強くできるとは驚きです。 論文が公開されたので、使われたテクニックを調べていきたいと思います。 Mastering the game of Go without human knowledge | Nature まだ全部読んでいませんが、ざっくり初めの方を読んで以下の特徴があるようです。 PolicyとValueを1つのネットワークで出力する Batch Normalisationと非線形の活性化関数を使用したResidual Network(ResNet) モンテカルロ木探索による自己対局で生成した各局面の打ち手と、勝敗結果を訓練データに使用する モンテカルロ木探索はノードを1回訪問したら

    AlphaGo Zeroの論文を読む - TadaoYamaokaの開発日記
    honeybe
    honeybe 2017/10/24
  • 1