読んだ本 2024年6月号 6冊


★★★★★ / エレガントパズル

「パズル」という単語でイメージするものが読者によってずれるかもしれない。

経験を積むにつれて、マネジメント、特にエンジニアリングマネジメントへの理解が進み、この分野を「一連の優雅でやりがいのある、重要なパズル(解決すべき問題とその解法)」として捉えるようになった。そして、私が格闘し学んできたパズルをまとめたのが本書である。

1.1 導入:重要なパズルを解くために

従って、本書ではピースが組み合わさる体験が提供されるのではなく、個別の問題と解放の一例が提供される。

章ごとに組織・ツール・アプローチ・文化・キャリアとなっていて、それぞれでプラクティスが紹介されている。状況によっては共感できる指摘も多い。

エンジニアはみな誰かに役立ちたいという気持ちを持つため、「対応しない」ことへの抵抗は大きい。しかし、割り込みの回数が増えるにつれて、こうせざるを得なくなる。

2.4.3 エントロピーを管理する方法

組織的負債は技術的負債の組織版で、偏見を抱えた面接プロセスや不公平な報酬の仕組みなどを表す。これは組織が潜在能力を発揮するのを妨げる、システム的な問題である。

2.5 どこに組織的リスクを隠しておくか?

最悪の組織編成はひとつだけだ。それは、ピープルマネジメントの課題を避けるために行うものだ。

3.7.1 組織編成が適切な手段か?

多くの場合、問題は入出力の流れによって増減する一連のストックである、と表現できる。

5.6.3 長時間醸成された問題の修正には長時間かかる

というような指摘はありつつ、本書のエッセンスは最終部にある書籍と論文の紹介にあると感じる。

とくに論文の紹介では技術的なものが 33 紹介されていて、例を挙げると Amazon の Dynamo、 Google のファイルシステム、Kafka、Raft、Spanner などの論文がある。

少なくとも著者においては、これらの技術的な情報の吸収を日常的に行うことが前提であり、それに加えてマネジメントのプラクティスがあるのだという暗黙的な主張なのではないかと感じたし、そうありたいと思う。

★★★★☆ / 機械学習エンジニアのためのTransformers

本書によって、Hugging Face が提供する NLP や機械学習のためのエコシステムの概要を知ることができる。また、そのエコシステムを利用した様々なタスクの実行方法についても触れることができる。タスクは大まかには、トークン化、テキスト生成、文章の要約、質疑応答システムなどである。後半では、ラベル付けや学習方法の説明もある。

3章『Transformer の詳細』では、Transformer が含むエンコーダ、デコーダ部の構造を含むアーキテクチャが Python のコードによって解説される。数式による説明はないので、理論を学ぶというよりは処理の流れを知るという程度の理解に留まる。

Transformer が依存する数学的な仕組みを理解するのであれば、他の書籍をあたる必要があるだろうが、そのきっかけを作ったり、Hugging Face のエコシステムを利用して学習に役立てたりといった目的には有益だと感じた。

★★★★☆ / 推薦システム: 統計的機械学習の理論と実践

本書は以下の3部構成になっている。

第一部 導入
第二部 一般的な問題設定
第三部 高度な話題

推薦システムの幅広い領域をカバーし、第二部『一般的な問題設定』では、いくつかのケースに応じた問題設定の方法と適用する理論の説明、結果の評価が行われる。

内容が難しいのが欠点である。
例えば、序盤である第一部に含まれる第3章『推薦問題における探索と活用』では、多腕バンディット問題に対するいくつかのアプローチが数式の提示とともに説明される。

ギャンブラーの目的は,期待報酬の合計を最大にするために腕を引くことである

3.2 多腕バンディット問題

これはすでに理解している人にとっては理解の容易い文章だろうが、例えそうであっても続くいくつかの数学的なアプローチの優劣を評価することは難しい。

本書の目的は、研究に使用するのでなければ、現実の問題にどのような問題設定ができるのかとそれに対する解法の存在を知ることにおき、その知識を解決手段を提供するツールを探す前提知識として活用するのがいいのだろうと思う。

★★★★★ / 基礎から学ぶ推薦システム - 情報技術で嗜好を予測する -

推薦システムの分類と解説の順序が体系立ててまとめられていて、初学者でも無理なく読み進めることができる。
話の文脈にあった数式の説明に加え、実際の数値を当てはめた計算例が多く提示されているので、数式の展開についていけずに取り残されるといった心配も比較的少ない。

本書の前半では、アイテムの特徴ベクトルに注目した「内容ベース」の推薦システムと他者の嗜好を手がかりにした「協調ベース」の推薦システムのそれぞれについて、近傍による類似で問題を扱う方法とモデルを設定して問題を扱う方法を提示する。

後半では、潜在因子モデルや知識ベースモデルについて、複数の推薦システムを組み合わた方法やシステムの評価に触れる。

着実な理解を促しつつ、現実的な問題ヘの応用も考えてられていて、よく考えて書かれているし、タイトルの通り推薦システムに親しむための書籍として非常に有益だと感じた。

★★★☆☆ / 言語処理のための機械学習入門

数学的な議論を重視していて、本文中でも数式の証明を挟みつつ議論が展開される。

本書は、言語処理のための機械学習において使用されている数学的な知識をカタログ的に紹介しており、すでに機械学習に触れているような読者がこれを読んで数学的な理解を深めるといった点で役に立つのかもしれないが、本書によって言語処理のシステムが作れるようになることはないだろうと感じた。

上述の立場は最終章である6章『実験の仕方など』で分かりやすく、ここで初めてプログラムの実行とその評価方法などに触れている。関連する分野の研究室に所属する学生向けの書籍と捉えて差し支えないだろう。

★★★★☆ / わけがわかる機械学習

数式の説明や問題設定が非常に丁寧で、和の記号Σや積分記号にある程度親しみのある読者であれば、共感しながら読み進めることができる。

一方で、本書の範囲となっている領域は機械学習の中でも古典的な領域になっており、機械学習が一般的になった現代において、本書の知識のみで応用に繋げることは難しいだろうと感じる。

序盤では確率の考え方について多くの分量を割いており、その後ベイズ統計に繋がっていく。同時に、基底関数と線形回帰に触れ、ベイズ推定の考え方を学ぶ。本書のほとんどの部分では解析的に解ける問題を扱うが、終盤では確率的勾配法などに少し触れている。

本書のみでは、機械学習に使われている数式の「わけがわかる」状態にはならない。機械学習の基礎となる数式に親しみたい場合や、最尤法のような根幹のアイデアの理解を深めるのには役に立つ。

この記事が気に入ったらサポートをしてみませんか?