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

  • 拡散モデルで将棋の方策を学習する - TadaoYamaokaの開発日記

    拡散モデルで、将棋の方策を学習できないか試してみた。 拡散モデル 拡散モデルは、高品質で多様なサンプルを生成できる生成モデルである。 昨年8月にStable Diffusionが公開されたことで注目を集めている。 拡散モデルは、確率微分方程式によって表される確率分布を近似するモデルで、モード崩壊を起こさず多様な分布を学習できるという特徴がある。 また、プロンプトと呼ばれるテキストにより条件付けを行い、テキストに従った画像を生成できる。 将棋の方策 将棋の方策は、座標と移動方向の組み合わせで表現でき、dlshogiで採用している表現方法では2187次元になる。 つまり、指し手は、局面によって条件づけられた2187次元の確率分布からサンプリングを行っていることになる。 拡散モデルの可能性 条件付けを行い高次元の確率分布からサンプリングを行うという仕組みは、将棋の方策においても適用できると考える

    拡散モデルで将棋の方策を学習する - TadaoYamaokaの開発日記
    toshikish
    toshikish 2023/07/16
  • 第33回世界コンピュータ将棋選手権 結果報告 - TadaoYamaokaの開発日記

    5/3~5/5に開催された第33回世界コンピュータ将棋選手権に参加しました。 HEROZチームとして、「dlshogi with HEROZ」というプログラム名でエントリしました。 大会の概要 世界コンピュータ将棋選手権は、1990年より毎年開催されている歴史のあるコンピュータ将棋の大会です。 今回は33回目の開催で、46チームが参加しました。 第1予選、第2予選を通過した上位8チームで総当たりのリーグ戦で決勝戦が行われました。 大会の結果 決勝リーグでは最終戦で上位3チームが1敗で並び優勝を争う展開になりました。 dlshogiは最終戦で勝って、同じく最終戦で勝ったやねうら王とはSBの差で、優勝(二連覇)という結果になりました。 優勝につながったポイント 今大会では、二次予選の結果で、上位ほど強い相手に先手番であたることができるというルールでしたので、二次予選を1位で通過したことが有利に

    第33回世界コンピュータ将棋選手権 結果報告 - TadaoYamaokaの開発日記
    toshikish
    toshikish 2023/05/06
  • Whisperでリアルタイムに文字起こしするアプリ - TadaoYamaokaの開発日記

    前回の記事で、WhisperのモデルをONNXにして文字起こしができるようになったので、Windowsでスタンドアロンで実行できるアプリを作成した。 C#でWPFを使用して開発したので、実行できるのはWindowsのみである。 GitHubのReleaseからダウンロードできるようにした。 GitHub - TadaoYamaoka/RealtimeTranscribe: real-time transcription application 実行環境 .NET 6の.NET デスクトップ ランタイムが必要である。 実行方法 ReleaseからダウンロードしたRealtimeTranscribe.zipを解凍して、「RealtimeTranscribe.exe」をダブルクリックすると起動できる。 ラジオボタンで、「マイク」を選択すると音声をマイクから入力し、「ループバック」を選択するとPC

    Whisperでリアルタイムに文字起こしするアプリ - TadaoYamaokaの開発日記
    toshikish
    toshikish 2023/01/29
  • 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の開発日記
    toshikish
    toshikish 2022/10/17
  • 第32回世界コンピュータ将棋選手権 結果報告 - TadaoYamaokaの開発日記

    5/3~5/5に開催された第32回世界コンピュータ将棋選手権に参加しました。 HEROZチームとして、「dlshogi with HEROZ」というプログラム名でエントリしました。 大会の概要 世界コンピュータ将棋選手権は、1990年より毎年開催されている歴史のあるコンピュータ将棋の大会です。 今回は32回目の開催で、51チームが参加しました。 第1予選、第2予選を通過した上位8チームで総当たりのリーグ戦で決勝戦が行われました。 大会の結果 決勝では1回も負けることはなく、優勝という結果になりました。 第32回世界コンピュータ将棋選手権 決勝 ソフトの強さは毎年強くなっており、上位ソフトの強さは拮抗しており決勝に残るだけでも難しい状況でした。 優勝の可能性はあると考えていましたが、決勝に残るチームでの勝率の差は10%程度だと考えていたので、1回勝負では運で決まる要素も大きいと思っていました

    第32回世界コンピュータ将棋選手権 結果報告 - TadaoYamaokaの開発日記
    toshikish
    toshikish 2022/05/06
  • dlshogiを使って棋譜から棋力を推定する - TadaoYamaokaの開発日記

    たややんさんが実施していた棋譜から棋力を推定する方法をdlshogiを使って検証してみた。 棋譜から棋力を推定する手法を検証しており、水匠の評価値をシグモイド関数で疑似的な勝率に変換した上で平均損失を計測する+計測する局面の勝率の閾値を設定するという手法で、24レーティングとの高い相関(相関係数-0.9536)を得られるようになりました。(続く) pic.twitter.com/wTu8pH6Ak7— たややん@水匠(将棋AI) (@tayayan_ts) 2021年9月17日 使用する棋譜 将棋倶楽部24の名人戦対局の2452棋譜を使用した。 対局者間のレーティングの分布は以下の通り。 対局者のレーティングのヒストグラムは以下の通り。 dlshogiの設定 棋譜の各局面について、バッチサイズ1で512プレイアウトで探索を行い評価値と最善手を取得する。 勝率の平均損失 まずは、各棋譜ごとに

    dlshogiを使って棋譜から棋力を推定する - TadaoYamaokaの開発日記
    toshikish
    toshikish 2022/03/17
  • Unityで将棋アプリの開発 その9(定跡と戦型予想) - TadaoYamaokaの開発日記

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

    Unityで将棋アプリの開発 その9(定跡と戦型予想) - TadaoYamaokaの開発日記
    toshikish
    toshikish 2022/03/10
  • 1