FC2ブログ

*All archives* |  *Admin*

<<07  2018/08  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31  09>>
麻雀AI開発その92・他家から切られる牌分布とニューラルネットその5
前回から新しい情報を入力値として入れたりとかしてみてます。

追加済み
・該当牌がドラかどうか
・(4人について)該当牌が鳴きで晒している牌かどうか
・(4人について)副露で確定している役牌数・ドラ数
・(4人について)染め手率
・(染め手率10%以上の人について)該当牌が染め色か字牌か非染め色か

染め手より先に他家から切られる牌分布のニューラルネット化をしようと思った狙いの一つは、
不確定の染め手者について従前の方法で場合分けをしてうんぬんかんぬんというのが大分工程が増えてプログラミング難易度的に難しそうなのに対し、
ニューラルネットならそういう場合分けとかを気にせず一元的に切られる率を算出できるのではないかなーと思ったことです。

染め手率については、以前にニューラルネット化ができています。
麻雀AI開発その70・染め手率と機械学習その4
今回は染め手率ニューラルネットで算出した染め手率を切られ率分布ニューラルネットの入力値として入れてみました。

計算時間の問題があるので、入力層ではなるべくDouble型乗算を使わず加算だけでやっていきたいところでしたが、染め手率の濃淡についてはどうしても加算だけでは難しいので、例外的に乗算を使うことにしました。計算時間の増加を抑えるため、染め手率が10%以上のケースのみを対象にすることにしました。大半を占める染め手率10%未満は場合分けではじいて、乗算の計算を回避すると。



入力情報が増えたためか、OutOfMemoryExceptionを噴いて止まったというハプニングもありつつ(csvから取り込む行数を抑えることで対処)、いろいろと試行錯誤してました。

前回出てきた通り、他の攻撃者がいないような多数側のデータに引っ張られて、リーチに無筋を切られる傾向にあるということがありました。
染め者がいる場合に関しても同様の傾向で、ドラポンだと全体から見るとレアケースなので、思ったように危険牌を止めてくれなかったです。

なので、挙動が大きく変わると思われる、自分リーチ者(アガリ牌以外ツモ切りのため)・他家リーチ者あり・他家ドラポン者あり・他家染め手模様者(染め手率10%以上を対象)あり・他家副露者あり・他家3人非リーチ門前について、学習データを完全に分類して(前者になるほど優先度高)別の重みパラメータで学習させるのが得策かなーと考えました。

それで今、データ数の少ないリーチや染め手やドラポン対策で10万試合まで積み増してcsvファイルの生成をやってるところです。

まだできてないのがリーチ者への当たり牌読み関連(カベ効果・序盤外側・序盤5切り)なので、csvファイルの生成が済むのと当たり牌読み要素のニューラルネットへの追加ができ次第、各攻撃度合カテゴリごとの学習を開始する、という予定で。
スポンサーサイト



プロフィール

nisi5028

Author:nisi5028
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
フリーエリア
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード