TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

2026-09-01から1ヶ月間の記事一覧

wslcでdlshogiを動かす

WSL コンテナーがリリースされたので、dlshogiをWSL コンテナーで動かして、ShogiGUIから使えるか試した。 WSL コンテナー WSLにdockerをインストールしなくても、Windowsから直接コンテナを起動できるコマンドである。 wslcコマンドは、dockerと同じ引数が…

CQT+GBDTで和音構成音を解析する その4

前回の記事「CQT+GBDTで和音構成音を解析する その3」では、ピアノ・弦楽器・ギターの合成和音を一つの分類器で解析するため、弦楽器の音域に沿うボイシングとギターのオクターブ重複を学習データに加えた。最終テスト840フレームで全体F1は0.796、上側オク…

CQT+GBDTで和音構成音を解析する その3

前回の記事「CQT+GBDTで和音構成音を解析する その2」では、ピアノ・弦楽器・ギターを一つのモデルで扱い、合成データで全体F1=0.810を得た。一方、実際の和音を模したミックスを時系列で解析すると、弦楽器の高音やギターの最上声を見逃した。今回は、CQT…

CQT+GBDTで和音構成音を解析する その2

前回、CQTを特徴量として、GBDTで和音の構成音を判定する処理を実装し、ピアノの単音色で倍音誤検知することなく構成音を判定できることを確かめた。 今回は、Kontakt5に含まれる、弦楽器(バイオリン、ビオラ、チェロ、コントラバス)とギター(エレキ、ジャズ…

【dlshogi】ASR: Attention-alike Structural Re-parameterizationを試す

前回、RepVGG型のStructural Re-parameterization(SRP)を試した。 精度がわずかに向上するが、学習時間が1.38倍になるという結果だった。今回は、SEブロックを、入力に依存しない学習可能パラメータにして、推論時に直前の畳み込み層に再パラメータ化する手…

Lean4で将棋の合法手を生成する

最近、AIを用いた数学研究とLeanによる形式検証のニュースが相次いでいる。 ナビエ–ストークスのミレニアム懸賞問題について | OpenAI Formalizing Fermat's Last Theorem \ Anthropic OpenAIは、未解決問題であったナビエ–ストークス方程式の存在と滑らかさ…

CQT+GBDTで和音構成音を解析する

以前に、FFTを使用した高速CQTと、NNLSを組み合わせて和音構成音の解析を行った。しかし、NNLSでは、基音が強調されるが倍音も残るため、構成音を識別するのが難しかった。今回は、CQTを特徴量として、機械学習モデルで構成音を判定できるか試した。 パイプ…

【cshogi】入玉宣言法の24点法に対応

cshogiを入玉宣言法の24点法に対応させた。 >>> from cshogi import * >>> board = Board("ln1+R5/1P1+L+PK+P+P+P/pp2+B+PG2/9/2p6/2s6/3s+r4/1+nk+l1+p3/3b3NL b 2G2S6Pgn2p 1") >>> board.nyugyoku_result() # デフォルト: LAW_24 2 >>> NYUGYOKU_DRAW 2 >…

【cshogi】王手生成機能を追加

cshogiに、王手生成を追加した。 from cshogi import * board = Board(sfen="9/4k4/9/4P4/9/9/9/9/4K4 b - 1") [move_to_usi(m) for m in board.check_moves] のようにして使用できる。 王手生成の高速化 やねうら王から移植した王手生成の高速化も行った。P…

【dlshogi】Structural Re-parameterizationを試す

RepVGG: Making VGG-style ConvNets Great Againで提案されているStructural Re-parameterization(SRP)をdlshogiでも試してみた。 Structural Re-parameterization(SRP) 3x3の畳み込みを、学習時のみ3x3, 1x1, identiryの3つのブランチにして学習し、推論時…

【cshogi】mateMoveの性能改善

cshogiの短手数の詰めルーチン(mateMove)の性能を改善した。 1手詰めルーチンの改善 やねうら王から移植した遠隔王手の1手詰めルーチンに非効率な処理があったので改善した。 捕縛が発生しない場合に不要なdiscoveredCheckBB()を削減 Aperyの1手詰めルーチン…

【dlshogi】Gatherを直列にしたらR+37.2になった件

前回、NNキャッシュにより強くなった理由として、即時バックアップされる効果があることを確かめた。これは、並列で探索する際には、探索の幅が広がると効率は悪くなることを示唆している。 TensorRT並列化の弊害 以前に、TensorRTのIExecutionContextを利用…

【dlshogi】NN Cacheを実装したらR+37になった件 その4

前々回の記事で、NNキャッシュで強くなるのは、NPS向上よりも、即時バックアップされる効果ではないかという仮設を立てた。 NNキャッシュで強くなるのは、探索速度よりも、即時バックアップされて、次のプレイアウトに反映されることによる効果が大きいのか…