原論文から解き明かす生成AI
原論文から解き明かす生成AI
- amazon: 原論文から解き明かす生成AI
- 原論文から解き明かす生成AIのサポートページ
- 一人読書会ライブ まずはこの本を題材にやってるのでリンク貼っておく。
菊田先生のありがたい本。
読み始め 2026-06-01 (月)
買ってはいたのだが機械学習系の仕事も離れていたし、という事で読んでいなかった。 無職になったのでなんか教科書っぽいものとか読みたいな、と思っていたので、この本を読んでみる。 あまりこの辺に関わる事は無さそうな気もするが、 直接役に立たない事を学ぶのが無職の本懐というものだろう、ということで。
まずは第一章の最初の方を読む程度。
1章のメモ 2026-06-09 (火)
自分の力で論文を読み解くための技術
- 議論が成立する条件を確認する
- 具体例を構成する
- 評価指標の具体例
- パープレキシティの例
- 演習問題1.1, accuracy, precision, recall
- 主張を確認するための具体例
- back propagationの計算量
- 生成AIを実際に触ってみて確認
- 仮定が成り立たない例を考える
- Markovじゃないとは
- 次トークン予測がうまくいきにくい例とは
- 評価指標の具体例
- 実装を読み解いて理解を深める
- 重要な参考文献は踏み込んで調べる
- ハブ
- データセット
- 教科書はどうか?
- アウトプットする事で理解を深める
- 他人に内容を説明
- github issueに読んだメモを書く
- ライブはどうか?
単語
- hypotenuse: 斜辺
- right triangle: 直角三角形
- inscribed circle: 内接円
自分以外の力
- 少人数で深く議論する
- 論文の著者に直接質問する
- ウェブ上で議論する
- 生成AIを使う
ノーテーション
Pは珍しい。logは自然対数。Cover and Thomasやサイコロ本は2を前提にした話が多いので注意が必要。
Universal Approximation Theorem
ApproximationBySuperpositionsOfASigmoidalFunction
Perplexity
サイコロ本とCoverAndThomasを復習する。
導出にAsymptotic Equipartition Propertyが使われてる…(Cover and Thomasの3章のテーマ)
実装を読む、の正規表現
使う方は以下で、
gpt-2/src/encoder.py at 9b63575ef42771a015060c964af2c3da4cf7c8ab · openai/gpt-2
該当箇所のコードを抜き出すと以下になっている(self.patが本文ででてきた正規表現)
for token in re.findall(self.pat, text):
token = ''.join(self.byte_encoder[b] for b in token.encode('utf-8'))
bpe_tokens.extend(self.encoder[bpe_token] for bpe_token in self.bpe(token).split(' '))
self.bpeを読まないと詳しい事は分からないが、tokenごとに別のbpeとなるようにしている、という理解でいいのかな。
1章感想ライブ 2026-06-12 (金) 20時
iLMiNAでライブしてみる試み。どう進めるかはあんまり考えてないが先頭からぱらぱら見つつ思った事とか計算したりとかそういうの。 なんか名前が欲しいな。一人読書会ライブ、とかか?
やってみた所、1.2.2.1までで結構な時間になったので次回は別の日に(Perplexityの手前まで)。
感想: 一人読書会ライブ - なーんだ、ただの水たまりじゃないか
1章感想ライブ続き 2026-06-14 (日)
一人読書会ライブ: 原論文から解き明かす生成AI、1.2.2.2から - YouTube
2章 2026-06-13 (土)
カラースペースの話
Colormetric color spaceの話とかガンマ補正とかを考えると、もうちょっと考えるべき事がある。
sRGBはCRTのガンマ値になっているので、そのままCRTに渡すと光のintensityがリニアになるようになっている(ガンマは2.2)。 ガンマ補正の所にあるようにこれのlineariseは場合分けした二つの関数の接続となっている。
CGから【書籍】PrinciplesOfDigitalImageProcessingのCore Algorithmの6章あたりの話で、CIE XYZとかCIE Labの話がある。 なお、MFGではCIE XYZへの変換をbuiltinでサポートしている。最近はOK Labを使うのが流行りのよう(あまり知らないが)。
RGBはCRTベースの話なので、より人間の知覚に沿った色空間が実験とかから定義されていて、それの基礎がCIE XYZ。 さらにそれをlinearになるように変換したものがCIE LuvやCIE Lab。
これらの処理を全部無視してフィーチャーとして使って、これらの変換を学習させる事は出来るだろうけれど、 それが何をしているかは理解していたいものだ。
分布仮説の論文読み
ContextualCorrelatesOfSynonymy
一人読書会ライブ、分布仮説
NMT subword
NeuralMachineTranslationOfRareWordsWithSubwordUnits
Amazonの低評価レビューの話
この本には「サブワードの出現確率は、サブワードの頻度に依存した確率のみで定まる」が意味分からん、という低評価レビューがついている。 この手のレビューに対しては著者が反論しても意味が無い類のものではあると思うが、この本を読み始める前にこのレビューを読んでいてどんなところなのかと興味があったので該当箇所を見てみる。
以下は自分が正解かどうかは不明だが自分はこう思う、という話。
該当箇所は2.4のサブワードユニグラム言語モデルのところで、原文は以下のようになっている。
「サブワードに対するユニグラム言語モデルは、サブワードの出現確率はそのサブワードの頻度に依存した確率のみで定まるという仮定の下、サブワード列t(以下数学表記で書くのが面倒なので割愛)の生成確率を次のように表現する」(以下数式なので同様に割愛)
レビューではサブワードの出現確率をこう定義すると言いたいのだろう、と言っているが、それは間違っているように思う。
この文章はサブワードへの「分割」をどう定式化するか、という方が本題であって、個々のサブワードの生成確率はおまけというかその前提になる。 だから文章としては、カッコ書き扱いとして以下のように解釈すべきに思う。
「サブワードに対するユニグラム言語モデルは、(サブワードの出現確率はそのサブワードの頻度に依存した確率のみで定まるという仮定の下)サブワード列tの生成確率を次のように表現する」
サブワードの出現確率がgivenのもとで分割の生成確率は以下のように書けますよ〜、と言いたい訳だ。
そしてこのカッコは何を言っているか、というと、ようするに「頻度から計算した値をベルヌーイ分布のミューとして使ったベルヌーイ試行として考える事にするので、条件付き確率を考える必要が無く独立した確率として扱う」というような事を言っているように見える。
特に後者の条件付き確率を考えない、というのがその次のtの式の理由になっているので、重要な所に思う。
なのでレビューの表現では条件を考えなくて良いという部分が抜け落ちているので、 本書の文章の方がより正確な表現だとは思う。 また、本書の文章の方がベルヌーイ試行との脳内でのマッピングが容易なので自分には分かりやすい。
けれど不完全な表現を書いているレビューが間違いか?と言われるとちょっと微妙な所もあり、 この本を読んだ結果そのくらいしか読み取れなかった、というのは、それ自体がレビューとして意義のあるものではあるように思う。 実際これは読解能力という話では無く、説明していない背景知識の話に思う。 それを説明していないのはそういう本だからなんだが、その結果文句を言われてもまぁ仕方ないよなぁ、とは思う。
こうした試行をモデル化する時にベルヌーイ試行が大前提にあるのは、この文章からは読み取れない。 知識が足りているかどうかを自分で判定するのが難しいので、知らない事を学ぶ本としてはいまいちという批判はあっても良い気はする。
ただsubword regularizationの論文を読むと多項分布がでてくるのでその復習のためにベルヌーイ試行を復習する必要はあって、 それを復習した後に本文を読むとこの辺の事はわかるようにも出来ている。 これを十分な説明と言うのは無理がある、というのに理解は示すが、この件に関しては表現が悪いというよりは前提知識が多いくせに明示されてない、という批判の方が正しいような気はする。
この本はようするに原論文のファンブックである(攻略本では無い)
自分が思うのは、この本は原論文のファンブックだ、というものだ。 本でなければさおりんと一緒とか初音のないしょとかああいうのだ。 雫や痕をプレイしないであの辺買っても意味が無いのと同じように、 原論文を読まずに本書だけ読んでも全く意味が無いと思う。 いや、俺は月姫は読本しか読んでないよ?という人もいるだろうけれど。
ファンブックというのは本編を一通り遊んだ人が設定資料とか原画とかを見て楽しむものであって、攻略にはあまり役に立たない。 ただ作品を好きな人がより多く愛を育むための本だ。
この本は原論文を読んで好きになった人が集まって、どこが良いかを話し合うような本である。 この論文いいよね、とか、論文のここの部分が自分は気になったんだよ、 とか、そういう話をして盛り上がる、という本だ。
それは原論文を読むモチベーションにもなるので読むのに役に立つ部分もある。 そして楽しみを増す事でより論文というものを好きになって読むのを促進するとは思う。 唯一無二の本ではあるので、こんな本もあってはいいんじゃないか。
でもたぶん世の中の人が期待してたのはファンブックではなく攻略本なのでは?と思うのだが。
著者の気になった事と自分の気になる事は違う
あと、本書は「自分はこういう所が気になってこの辺の論文のこの辺を読んだ」という話が多いのだが、 この気になる所は読者と同じとは限らない、というか普通は違う。 だからそのまま読んでもあんまり意味は無い。
こういう事が気になったらこういう所をこう読むのか、という例としては役に立つのだが、 人が気になった所というのはそれ自体は役には立たない。 自分が気になった所を解き明かす方が重要だ。
実際本書の抜粋されている所では自分が気になった所は全く分からないので意味が全く分からない。 著者は納得したんだろうが読者の自分は何も分からない。
だから、自分の気になった所は本書とは独立に解き明かす必要がある。
それを解き明かして理解した上で、はじめて本書の文章には意味がある。 なるほど、菊田さんはこういう所が気になってこう解釈したのか、と。 それは自分がある程度理解した後でないと理解出来ないし、意味も無い。
この自分の気になった所は先に自分で解き明かしておかないと本書の文章に意味が無い、というのは、読んでみるまではわからなかった事で割と思ってたのと違うな、と思った所だ。
ただ、自分が一通り理解したあとに読むと本書はなかなか面白い。 面白いので書籍としての価値はあるのではないか、という気はする。
あと著者がこういう所が気になってこういう風に読んだ、というのは、メタなレベルではそれなりに参考にもなる。 というかそういう事を参考にしたり自分との違いや同じ所を楽しんだりするのが正しい本書の楽しみ方に思う。
でもそれって論文読んで理解した後なので、相当暇人向けの本だよな〜という気はする。 なお、私は相当暇人である。
演習問題 2.10
貪欲法よりビームサーチした方がいい例。ようするに後とつながった方がいいのに最初に大きくしすぎるような例であれば良い。どんなのがあるかな?
「的あて」とかどうだろう?「遠距離的あて」とかを、遠距離的とgreedyに分割してしまうと最後のあての確率が低くなるようなケースだと、 ビームサーチ2でやれば「遠距離」と「的あて」に出来る気はする。
読書会ライブ2章-2
- 一人読書会ライブ: 原論文から解き明かす生成AI、2章の2、サブワード分割 - YouTube
- 一人読書会ライブ: 原論文から解き明かす生成AI、2章の2、サブワード分割、ユニグラム言語モデル〜 - YouTube
参考リンク
Sentence Pieceのコード理解
EnhancedSuffixArrayを先に勉強する。Heapも復習。ついでにSuffixArrayも復習。
バイトのBPE(GPT2の論文)
これか。
Language Models are Unsupervised Multitask Learners.pdf
トークナイズの所よりもそれ以外の所が興味深い論文ではあるが、GPT2はバイトのBPEか〜と眺めておく意義はあるな。