TadaoYamaokaの開発日記

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

【dlshogi】ラージカーネルの効果 その3(位置情報)

前回、Ryfamateと同様の9x1と1x9カーネルを並列にしたブロックが、精度と推論速度の両方でメリットがあることを実験で確認した。【dlshogi】ラージカーネルの効果 - TadaoYamaokaの開発日記 【dlshogi】ラージカーネルの効果 その2(推論速度) - TadaoYama…

【dlshogi】ラージカーネルの効果 その2(推論速度)

前回、dlshogiにおけるラージカーネルの精度と訓練速度を測定した。推論については、測定していなかったので、追加で測定した。dlshogiで、Ryfamate Cross Network (RyfcNet)の実験をしていただいたようです。C-Layerは、paddingを行わず、通常のConvolution…

【dlshogi】ラージカーネルの効果

dlshogiは昨年はほぼ定跡の自動生成しか行っておらず、モデルの改善は後回しにしていた。 定跡の自動生成については、手法がほぼ確立できたので、最近はモデルの改善を行っている。学習データの質と量を増やして、モデルサイズを大きくすれば強くなっていく…

【読書ノート】The Singularity Is Nearer

レイ・カーツワイルの新刊「The Singularity Is Nearer」を読んだので内容をまとめる。著者のレイ・カーツワイルは、技術的特異点が近い将来に到来し、それが人類の進化や生活に革命的な変化をもたらすと主張している。この書籍は、技術の急速な進歩がどのよ…

【読書ノート】ブルー・オーシャン戦略

競争を避けながら持続的な成長を実現するビジネス戦略に関する名著「ブルー・オーシャン戦略」を読んだので内容をまとめる。以下の内容は、ほとんどClaude3.5 Sonnetを使用して作成している。目次 第1部 ブルー・オーシャン戦略とは 第1章 ブルー・オーシ…

【読書ノート】Designing Interfaces: Patterns for Effective Interaction Design

インターフェースデザインのベストプラクティスとパターンをまとめた「Designing Interfaces: Patterns for Effective Interaction Design」を読んだので内容をまとめる。Jenifer Tidwell著のこの書籍は、効果的なインタラクションデザインを実現するための…

【読書ノート】生成AI時代のプロダクトマネジメント

「生成AI時代のプロダクトマネジメント 勝てる事業の原則から戦略、デザイン、成功事例まで」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。目次 第Ⅰ部 生成AIの全体像を俯瞰する 第1章 AI革命の基礎知識 第2章 …

【読書ノート】The Design of Everyday Things

日常的な物のデザインに関する基本的な原則を説明した名著「The Design of Everyday Things」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。目次 1. The Psychopathology of Everyday Things 2. The Psychology …

【読書ノート】Don't Make Me Think

ユーザビリティの基本原則をシンプルに説明した名著「Don't Make Me Think」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。目次 Introduction: Read me first Guiding Principles Chapter 1. Don’t make me thin…

【dlshogi】40ブロック512フィルタモデルの学習

dlshogiは直近では1年近く定跡生成に取り組んでいたため、モデルの大きな改善はなかった。 定跡生成が一段落したので、最近はモデルの改善に取り組んでいる。 終盤の読み抜け対策 ディープラーニング系のモデルには、終盤で読み抜けが比較的起こりやすいとい…

大規模言語モデルで将棋AIを作る その6(相対位置エンコーダ)

前回までは、位置エンコーダに学習可能な絶対位置エンコーダを使用していた。 今回は、相対位置エンコーダを試す。 位置エンコーダ Transformerは、トークンが入力の何番目にあるかによらず等価に扱う。 そのため、入力の位置が意味を持つ場合は、位置を何ら…

大規模言語モデルで将棋AIを作る その5(Transformerのスクラッチ実装)

前回までは、TransformerをPyTorch標準のnn.TransformerEncoderを使用して実装していた。 位置エンコーダに「Relative Position Representations」などを使用しようとした場合、Muliti head self-attentionの計算を変更する必要がある。 そのため、Muliti he…

大規模言語モデルで将棋AIを作る その4(ResNetの特徴マップ)

前回までは、ネットワーク全体をTransformerで構成したところ、ResNetと比較して精度が上がらないという結果になった。今回は、ResNetとTransformerを組み合わせて、初めにResNetで特徴マップを作成した後、その特徴マップを座標ごとに分割しトークンとして…

大規模言語モデルで将棋AIを作る その3(出力層の構成)

前回、単純なTransformerで学習を試した。 出力層を全てのトークンの全結合としていたため、パラメータ数の半分近くを占めており効率が悪かった。 今回は、出力層の全結合の前に、カーネルサイズ1の畳み込み層を追加することで、チャンネル方向に圧縮を行い…

大規模言語モデルで将棋AIを作る その2(入力特徴量)

前回の続き。今回は、入力特徴量の作成処理を実装し、ベースラインとして単純なTransformerモデルを学習させた。 入力特徴量 盤上の駒と駒の種類ごとの効き、効き数、持ち駒、王手をトークンに埋め込んで表現する。 盤 盤上の駒は、各マスを1トークンに対応…

【読書ノート】カスタマーサクセス――サブスクリプション時代に求められる「顧客の成功」10の原則

書籍「カスタマーサクセス――サブスクリプション時代に求められる「顧客の成功」10の原則」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 序文 序文の要約: カスタマーサクセスとは、顧客の成功を最優先し、そ…

dlshogiのPyTorch Lightning対応 その5(DDPの課題)

PyTorch Lightningに対応させたdlshogiで、並列(DDP)で学習するといくつか問題が発生したため、対処した。 保存したモデルが壊れる on_train_endで、モデルを保存していたが、マルチGPUで実行している場合、並列処理用の各プロセスでon_train_endが実行され…

第34回世界コンピュータ将棋選手権 結果報告

5/3~5/5に開催された第34回世界コンピュータ将棋選手権にHEROZチームとして、「dlshogi with HEROZ」というプログラム名で参加しました。 大会の概要 世界コンピュータ将棋選手権は、1990年より毎年開催されている歴史のあるコンピュータ将棋の大会です。 …

【読書ノート】効果検証入門〜正しい比較のための因果推論/計量経済学の基礎

書籍「効果検証入門〜正しい比較のための因果推論/計量経済学の基礎」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 嘘っぱちの効果とそれを見抜けないデータ分析 要約 効果検証は、ビジネスにおいて重要な意…

【読書ノート】ALL for SaaS SaaS立ち上げのすべて

書籍「ALL for SaaS SaaS立ち上げのすべて」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 Part 1 SaaSを取り巻く環境 Chapter 1 SaaSの概要 要約 SaaSは「Software as a Service」の略で、ソフトウェアをクラ…

【読書ノート】Lean Software Development: An Agile Toolkit

書籍「Lean Software Development: An Agile Toolkit: An Agile Toolkit」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 Introduction 「リーンソフトウェア開発」は、ソフトウェア開発のリーダーのための思考…

大規模言語モデルで将棋AIを作る

先日、dlshogiをPyTorch Lightningに対応させてマルチGPUで学習できるようにした。 これは、より大規模なモデルで将棋を学習するための布石でもある。Transformerを使ったLLMで使われている技術を将棋に応用することを計画している。 「Deep Learning Shogi…

【読書ノート】Kaggleに挑む深層学習プログラミングの極意

書籍「Kaggleに挑む深層学習プログラミングの極意」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 はじめに 本書は、画像やテキストを用いるKaggleコンテストでの著者らの知見を体系的にまとめたものである。第…

【読書ノート】GitLabに学ぶ 世界最先端のリモート組織のつくりかた

書籍「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 はじめに 本書は、リモート組織を実現するためのノウハウをGitLabのHandbookを基に解説し、誰もが再…

【読書ノート】機械学習エンジニアのためのTransformers

書籍「機械学習エンジニアのためのTransformers」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 第1章 入門Transformers いる。さらに、Transformer系モデルのGPTとBERTが紹介され、自然言語処理の分類、固有表…

【読書ノート】スーパーインテリジェンス 超絶AIと人類の命運

書籍「スーパーインテリジェンス 超絶AIと人類の命運」(ニック・ボストロム )を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 第1章 人工知能の発展、現在の能力 人類の脳の進化により、言語、技術、複雑な社…

【読書ノート】System Design Interview : Mastering Basic Introduction to System Analysis and Design

書籍「System Design Interview : Mastering Basic Introduction to System Analysis and Design」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 CHAPTERごとの要約 CHAPTER 1: SCALE FROM ZERO TO MILLIONS OF…

【読書ノート】プロダクトマネジメントのすべて 事業戦略・IT開発・UXデザイン・マーケティングからチーム・組織運営まで

書籍「プロダクトマネジメントのすべて 事業戦略・IT開発・UXデザイン・マーケティングからチーム・組織運営まで」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 PART Ⅰ プロダクトの成功 Chapter 1 プロダクト…

【読書ノート】私たちはどう学んでいるのか――創発から見る認知の変化

書籍「私たちはどう学んでいるのか――創発から見る認知の変化」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 要約 はじめに 人は日々の生活の中でさまざまな経験を重ね、認知的変化を遂げる。本書ではこうした…

【読書ノート】SCRUMMASTER THE BOOK 優れたスクラムマスターになるための極意――メタスキル、学習、心理、リーダーシップ

書籍「SCRUMMASTER THE BOOK 優れたスクラムマスターになるための極意――メタスキル、学習、心理、リーダーシップ」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 要約 CHAPTER1 スクラムマスターの役割と責務 …