ai_math_runningのブログ

最近はAI関係の記事が多い予定です。一応G検定持ってる程度の知識はあります。

DXには2つの方向性があり、それは基本的に異なる方向のものだが、しばしば混同される

DX、相変わらずブームですね。
japan.zdnet.com
こんな記事にもあるように、大企業のトップも様々なDXへの取り組みを語っていたりします。
ただ、DXが何を意味するかについては、あいまいだな、と思ってしまいます。

どうして、世の中で語られるDXというのが、こんな漠然としてしまっているか。
私が思うのは、タイトルにも書いた通り、
DXと言う名の元に、2つの全く異なる方向性のものが一緒くたにされていて、それが混同されているがために、ややこしい事になっているのではないだろうか。

という事で、今回はその辺りを整理する話を書こうと思います。

DXに含まれる2つの異なる方向のものとは

DXには2つの方向があると思います。それは、

  1. コンピュータを使って従来のタスクを自動化したり省力化したりする事
  2. 数学的な解析・計算を行い、それを意思決定に役立てる事

この2つは、基本的には異なる方向のもので、必要なものやスキルも全然違っているのですが、「コンピュータを使う」という事のみで強引に結び付けられてしまったのがDXなんだと思います。

まず、この2つの方向について簡単に説明します。

コンピュータを使って従来のタスクを自動化したり省力化したりする事

1つ目の方は、割とイメージしやすいのではないかと思いますが、ちょっとした例を挙げてみましょう。
個人事業主でBtoBで仕事をしている人にとって、請求書を書くというのは、絶対に必要ではありますが、それなりに面倒な業務ではあると思います。
人によっては、月末に丸一日かけて請求書作成の作業をまとめてやる人もいる事でしょう。
この請求書作成の作業を自動化したり省力化してくれるソフトがあったなら、その時間に別の仕事をする事もでき、より儲ける事ができるでしょう。
これが、1つ目の「コンピューターを使った従来タスクの自動化・省力化」です。

数学的な解析・計算を行い、それを意思決定に役立てる事

こちらの方も、簡単な例を挙げてみます。

車で移動する時、目的地によっては、高速道路を使った方がずっと速く付く事があると思います。
また、高速道路を使うと信号で止まる事がないため、ガソリンの使用量も減る事になります。
しかし、高速道路の使用には、当然の事ながら、高速料金がかかります。
なので、贅沢して高速道路を使うか、節約して使わないか、迷う事も多いかもしれません。

その時に、高速道路を使う事で、時間がどれだけ節約できるか、
また、使うガソリンの量もどの程度変わってくるか、を調べてあげると、
ガソリン代の違いや節約できた時間を高速料金を定量的に比較する事ができます。
例えば高速料金が1500円で、ガソリン代が700円くらい違ってきた場合、かかるお金が高速道路を使った方が800円多い事になります。
一方、高速料金を使うと1時間速く着くなら、高速を使って余分にかかる800円で、その1時間を買ったと考える事ができます。
それが高いと思うか、安いと思うかは、個人の価値判断によるでしょうが、漠然と迷っていた時よりは、明確な根拠の元に意思決定ができると思います。
これは、「数学的な計算を意思決定に役立てた」事になると思います。

両者が混同されたがための悲劇

ここまでの説明で、DXに含まれる2つの方向は、基本的に異なるものだと言うのが理解できると思います。
なので、2つの方向は、必要なスキルもツールも異なります。

「自動化・省力化」の方は、自動化や省力化のツールが必要であり、必要なスキルは、ツールについての知識やノウハウだったりプログラミングの能力だったりするでしょう。
ちょっと前に流行った「Power Automate Desktop」だったり、今注目されているChatGPTなどの生成AIも、こちらの方向で役立てる事を期待されているでしょう。

一方、「数学的解析」の方で必要なスキルは、プログラミングよりも、数学についての深い理解の方が重要だったりします*1。必要なツールも、ChatGPTは信頼性が低いので使用は推奨されず、データ分析専用のソフトなどを使う方が良いでしょう。Excelでもある程度の解析はできますが、専用のソフトの方が、より多くのことがやりやすいはずです。
(BIツールというのは、基本的にはデータ分析ツールだと思います。使った事はありませんが。)

しかし、両者が混同されていると、
自動化が期待されている場面で、人材に機械学習やデータ分析の研修を行なったり、
数学的な解析が必要なのに、自動化のツールを揃えたりしてしまったりします。
特に、人材スキルのミスマッチは、担当者にとって大きな悲劇となってしまいます。
また、片方が得意な人間に、両方をやる事を期待してしまう事も多そうです。

なので、DXというときには、この2つの方向がある事を理解し、両者をしっかりと区別する事が重要ではないかと思います。
個人的には、2つの方向それぞれに新しい言葉を割り当ててあげた方が、誤解が少ないのではないかと思っています。

*1:プログラミングもできるに越した事はないですが。特に機械学習ディープラーニングをやるにはpythonが必須だったりしますし。

「p値とは何か?」を説明できますか

この記事の概要

  1. p値を理解するには統計学の基礎知識が必要
  2. 統計学は「自然界の現象にはばらつきがあり」「測定値には誤差がある」から必要
  3. 知りたい事・言いたい事に対し「逆の事」を考える
  4. その「逆の事」が正しい確率がp値
  5. p値が十分に小さければ「逆の事」は滅多に起こらないので「言いたい事」が言える

この記事のお題

今日のお題は、こちらの記事についてです。
diamond.jp
まず、その前に、この記事の前の記事が素晴らしかったんです。
【「0.05」の謎】統計学好きでも意外と知らない「統計的に有意」の本当の正体 | Science Fictions あなたが知らない科学の真実 | ダイヤモンド・オンライン
なので、その記事のブクマに次のようなコメントを書きました。

良記事。有意差の基準は便宜的なものというのは大抵の教科書には書かれていないし、ぼぉっと勉強してると疑問にも思わないだろう。実は計算手順よりこういう話の方が重要。計算はコンピュータがやってくれる訳だし。

その続編の記事だったので、期待していたのですが、ちょっと期待はずれだったかな。
というのは、p値の説明としては、これじゃぁ分かりにくいだろう、と思ったので。
なので、p値の説明を試みてみようと思います。

p値の説明に必要な事

まず、ブクマには書きましたが、お題となった元記事の説明は、間違ってはいません。
ただし、元記事の説明で理解できる人は、そもそも読む前からp値について理解していた人じゃないかと思うんです。

というのは、p値の理解のためには、特に2つの統計の基礎知識が必要だと思うのですが、
その説明が不十分なんです。
なので、この記事では、そこを補いたいなと思います。

統計学はなぜ必要なのか?

そもそも、統計学なんて、ややこしいものが、なぜ必要なのか、という話から始まります。
それは、2つの要因があって

  • 自然界の現象にはばらつきがある
  • 測定値には誤差がある

これによって、多くの物事では、実は正確な値というのは分からない訳です。
(逆に、ばらつきや誤差がなければ統計なんてものは不要で、ただ測定して比較すれば良いだけになります。)
そこで、複数回測定する事で、正確な値を推測しよう、というのが統計学の役割です。

元記事の例で言えば、スコットランド人の男性や女性の身長には個人差があります。
なので、1人だけ取り出して比較した場合に、たまたま女性の身長が男性より高いという事も起こる事があります。
ただ、その1サンプルを持って、「スコットランド人は男性より女性の方は身長が高い」なんて言えない訳ですよね。
というのも、個人差・ばらつきのある人の身長を1人ずつ比較しても、偶然背の高い人を調べていたり、逆に背の低い人を調べていたりしているかもしれないからです。
そこで、男女とも、ある程度の人数の人を選び出して、集団として比較する必要があります。
その時の「集団として比較する」方法が統計学になります。
なので、統計学は、「ばらつきがあるから必要」というのがポイントになります。

言いたい事を言うために逆の事*1を考える

元記事の例だと、
スコットランドの男性はスコットランドの女性より背が高い」
というのを言いたい訳ですね。
その時に、その逆のこととして
スコットランドの男性と女性の身長に差はない」*2
と言う事を考える訳です。

なんで、そんなややこしい事をしているのか、と思われるかもしれません。
これって、数学では実は常套手段なんです。
例えば「背理法」というテクニックがあって、
「ある事を正しい」と言うために、逆の事を考え、逆の事が間違っていると示す事で、元々言いたかった事が正しい事を証明します。
逆の事の方が考えやすい、というのは頻繁にあって、そういう時に、このテクニックを使うと簡単に問題が解けたりします。
統計学の場合も、似たようなテクニックを使っている訳です。


この2つの事(ばらつきがあるから統計が必要 / 言いたい事と逆の事を考える)を踏まえると、
p値がどういうものか、というのが、ぐっと見通しが良くなります。

「p値」とは「逆の事」が正しい確率

それで、p値の事に話は戻るんですが、大事な事は、もう8割方、説明は終わっています。
p値の定義、それは、見出しにも書いた通り、
「言いたい事と逆の事」が正しい確率
になります。

元記事の例で言うなら、
スコットランドの男性と女性の身長に差はない」というのが正しい確率が、p値になります。
そして、元記事では、それが3%だと言うんですね。
それは、どういう事かと言うと、

男性だろうが女性だろうが、身長にはばらつきがあるため、選び方によっては、背の高い人を多く選んでしまったり、逆に背の低い人を多く選んでしまう可能性がある。
なので、男女の身長に差がない場合も、選び方によって「男性の方が平均で10センチ高くなる」事も起こってしまうかもしれない。
ただし、その確率は、数学的に計算できて*3、その確率は3%になる

という事です。

この3%をどう評価するかは、微妙な所ではあるのですが、十分に小さいと見なしても良いのかな、と思います*4
つまり「差がない確率は小さい」、つまり「差がある(男性の方が有意に背が高い)」と考えて良いでしょう、という事です。

逆に言うと、この結果を持って
スコットランドの男性はスコットランドの女性より背が高い」
と言うのは、間違っている確率が3%ある、という事です*5
p値とは、そういう数字なんですね。
だから、元記事にも書いているように、「p値は低ければ低いほど好ましい」訳ですね*6


以上が、p値の説明になります。
あまり長くなると読むのが大変になるので、p値が何かをざっと掴むのに要らない知識は、かなり思い切って省いています。
この記事で、統計に興味を持った方は、是非とも統計をしっかり勉強して欲しいです。

*1:統計の用語では「帰無仮説」と言います。

*2:逆というと「女性の方が高い」となりそうですが、統計学のテクニックとして「同じ場合」を考えます。

*3:これは「同じである」という仮説にしたからこそ計算できる訳です。詳細を知りたい人は統計学を勉強して下さい。

*4:一般的な統計解析では、有意水準は5%にする事が多いです。つまり5%より小さければ、十分に小さいと考えています。

*5:この「間違っている確率」を「第1種の過誤」と言います。

*6:元記事の1つ前の記事にある「有意水準は恣意的に決められただけだ」と言うのは、これを踏まえれば理解しやすいと思います。

生成AIによる名刺情報の自動整理

少し前のはてブ人気記事
qiita.com
これを読んだ時に、「こういうのって、今なら生成AIが全部やってくれるんじゃない?」と思ったんです。
なんで、やってみました。
それで、少し試行錯誤はしたんですが(後述)、できました。

  • 具体的な手順
  • 試行錯誤した部分
  • 重要な教訓

具体的な手順

具体的な手順は、次の通りです。

  1. iPhoneで名刺何枚かの写真を撮る
  2. iPhoneOCR機能で名刺のテキスト情報を抽出する
  3. 生成AIに抽出したテキスト情報を渡し、表形式にまとめる事を指示する

これだけです。
写真ですが、今回はテストとして、名刺3枚を縦に並べて1枚の写真に撮りました。
その写真をiPhoneの写真アプリで開くと、右下にあるテキストアイコンをタッチする事でOCR機能がオンになります。
そのテキスト部にアイコンを置いて「全て選択」にし、それをコピーしました。
(多分、ここが一番手間、というか、少々、習熟する必要がある部分でした。
 iPhone操作はあまり得意でないので、上手く選択とコピーができず、少しイライラしました。)
そのコピー内容を、適当な所(今回はメモアプリの新規メモ)にペーストしました。
メモアプリにペーストすると、それをPCで開く事ができて便利です。
PCでメモアプリを開き、ペーストしておいた「名刺写真のORCテキスト全情報」をいつでもコピペできる状態にした上で、生成AI(今回はChatGPT無料版とBERT改めGemini)に次のプロンプトを打ち込みます。

次の3枚の名刺をOCRでテキスト情報にしたものを表形式にまとめて下さい。
(名刺写真のORCテキスト全情報のコピペ)

これで、ChatGPTでもGeminiでも、名刺情報を表形式にまとめたものを出してくれました。
(これだけの事なんで、興味もった人は、是非ともやってみてください。)

試行錯誤した部分

試行錯誤したのは、OCRの部分です。元のアプリを作ったという記事でも、OCRを別に用意していましたが、生成AIに名刺の画像を渡すだけでは上手くいかず、OCRでテキスト情報を何らかの形で抜き出してあげる必要がありました。
(この部分は生成AIが進化すると改善するのではないかな、と思います。*1
そこで、手軽に使えるOCR機能として、iPhoneOCR機能を使いました。ただ、スマホ操作でのコピペは面倒なので、PC上で一括でOCRできれば、もっと気楽にできそうに思います。
ただ、試行錯誤と言えばそれくらいで、あとは単にプロンプトに入力するだけで表にしてくれてしまいます。

*1:生成AIの今後について、マルチモーダルに対応するとありますので。OCR対応はマルチモーダル的な進化と言えるでしょう。

続きを読む

「きょうだいベイズ問題」を説明する

少し前にはてなブックマークの人気記事に次のような記事が挙がっていました。
chieosanai.hatenablog.com
この記事、私もブコメしたんですが、ブコメを見ると2/3派の人がかなり散見していました。
b.hatena.ne.jp
ただ、ブコメでも指摘しているように、2/3派の人は根本的な勘違いをしているようなので*1
それについて、ちょっと丁寧に説明してみます。

確率の定義

多くの人*2は、いわゆる「古典的確率」で確率の定義を理解していると思います。
つまり、

全ての場合の数に対する、対象事象の場合の数

これが多くの人の理解している確率の定義です。

少し例を挙げましょう。
サイコロは、6つの面があり、それぞれの面に1から6までの数字が割り振られています。
そして、サイコロを振った時に、その目が偶数になる確率を求めます。
その時は、

  • 全ての場合の数:6通り
  • 偶数になる場合の和:3通り(2, 4, 6)

なので、偶数になる確率は、3/6 = 1/2
として求められる訳ですね。
多少複雑になっても、この延長線上で確率は求められる訳です。

重要な前提

ただし、古典的確率についてのWikipediaの記述にもあるように、この求め方をするには、1つ重要な条件があります。それは、

起こりやすさに差異が認められない全ての場合の数

つまり、分母にする「全ての場合」は、同じ確率で起こるものでないといけない訳です。

同じ確率で起こらない事例

盛山サイコロ

朝の番組『ラヴィット!』において、「盛山サイコロ」なるものが偶に出て来ます。
『ラヴィット!』を知らない人向けに説明すると*3
ラヴィット!では美味しい食べ物の試食が度々行われますが、それを是非とも盛山さんにやってもらいたいと願った番組スタッフが技術の総力を結集して特殊なサイコロを作成します。
そのサイコロは、6面中5面が盛山さんになっていて、盛山さんが当たる確率は5/6になっています。
しかし、実際にそのサイコロを振ってみると、何度やっても盛山さん以外の面が出てしまいます*4

要するにイカサマなんですが、盛山サイコロほど極端ではなくても、中の重心を変えたりして出る目の確率に差がでるように細工したイカサマなサイコロというのは作る事ができて、そのサイコロを使うと、「古典的な確率」の求め方で求めたものとは異なってしまう訳です。当然、偶数が出る確率も変わってくるでしょう。

重要な教訓

この場合はイカサマですが、古典的確率の手法で確率を求める時は、分母にする全ての場合がちゃんと同じ確率になっているかをチェックする習慣を付けた方が良いと思います。

きょうだいベイズ問題:2/3派の主張

で、「きょうだいベイズ問題」に移りましょう。問題はこういうものだそうです。

2人きょうだいの子供のうち、1人が男の子の場合、もう1人が女の子である確率はいくらか?

これについての2/3の説明は以下のものだそうです。(ちょっと表を書き換えています。)

2人兄弟の場合は以下の表のように、4通りある。

j k l m
older
younger

問題の条件からどちらも女性のペアである m は除外できる。
全パターンは j と k と l の3パターン。
そのうち特定の事象のパターンは k と l の2パターン。
ゆえに 2/3 。

他にも色々な論法を振り回す人は現れますが、2/3と主張している人は、基本的にはこの考え方に依拠していると思われます。

きょうだいベイズ問題:2/3派の主張のおかしな点

さて、この論法に対して、私は正面から反論しようと思います*5

上記、2/3派の主張は、古典的確率の手法で確率を求めています。
しかし、その場合は、分母にした全ての場合、この場合は「 jkl の3パターン」が、本当に同じ確率と見做して良いか、を考える必要があります。

何もなければ、j, k, l は同じ確率でしょう。しかし、その場合はmだって同じ確率です。
しかし、問題の条件からmは除去される訳です。つまり、どちらも女性であるから。
では、kl は、全く除去しなくても良いのでしょうか。

「2人きょうだいの子供のうち、1人が男の子の場合」とやる場合、2人のきょうだいの子供のうちの1人を先に見て、男か女かをチェックしている訳ですね。そして、それが男だった場合のみを考えている訳です。なので、その「先に見た子供」がolderの方なのか、yangerの方なのかをちゃんと区別して考えてみましょう。

そうすると、 先に見る「きょうだい」がolderの場合、k は除去されませんが、l は除去されます。
逆に、先に見る「きょうだい」がyoungerの場合は、k は除去され、l は除去されません。
そして、当然のことながら、どちらも場合もj は除去されず、どちらの場合もm は除去されます。

こう考えるならば、先に見るのがどちらの場合でも除去されない j と、どちらかによって除去される事もある k l とを同じ確率と見做すのは無理があります。
(というか、普通に考えれば jk, l の倍の確率と考えられるでしょう。それなら1/2になるはずです。)

2/3派の主張は、同じ確率で扱うべきでないものを、無理やり同じ確率で扱うために起こった誤解であると考えられます。

追記:元ネタの英語版Wikipediaでは問題文が少し違う

ブコメにこの問題の元ネタだろう、Wikipediaの英語版のリンクが貼られていて、ちょっと読んでみた所、問題文が少し違っていました。

  • Mr. Smith has two children. At least one of them is a boy. What is the probability that both children are boys?

DeepL翻訳

スミス氏には2人の子供がいる。少なくとも1人は男の子である。子供が2人とも男の子である確率は?

で、英語版記事ではこの問題について詳細に論じられていますが、要するに「少なくとも1人は男の子」という条件の与え方に曖昧性があり、それによって答えが異なるはずだ、という事だそうです。

ただ、「2人兄弟の1人が男の子の場合、もう1人は?」というのと、上記設問の条件では、意味合いはかなり異なりますね*6
「少なくとも1人は男の子」という場合、「2人ともチェックして、男が0の場合を除く」という可能性も考えられ、その場合、 jk, l は同じ確率と考える事が可能になります。
一方、「1人が男の子の場合」という場合、先にどちらかを見ていて、その後、もう1人を見るという意味にとりやすくなるでしょう。
「少なくとも」という文言の有無は大きいですね。
もっとも、「少なくとも」とついていても、1人ずつ順にチェックすると捉える事も可能で、それが英語版Wikipediaの「曖昧性」の話になるのでしょう。

*1:なので上記記事の結論は正しいです。

*2:公理的確率なんて大学で数学をちゃんと学んだ人しか知らないですし、しかもそれをちゃんと理解できてる人はさらに減ります。

*3:盛山サイコロでググると違法な動画はいっぱい出て来ますが、リンク貼る訳にはいかないので興味ある人はググってみてください。

*4:実際私もラヴィットミュージアムで何度も振ってみましたが、全て見事なまでに「盛山以外」が出ました。

*5:冒頭のブログ記事は例を出す事で余計に混乱させてるように思えます。

*6:問うているのが男女で異なる事は棚上げしておきましょう。

確率の期待値はどういう意味があるか 〜宝くじの例で説明する

ブコメでも書いたのですが、「【フルカラー図解】 高校数学の基礎が150分でわかる本 | 米田 優峻 |本 | 通販 | Amazon*1の次の紹介記事に気になる記述がみられたんです。
e869120.hatenablog.com
以下、引用です。

ある宝くじを 1 枚買うのに 300 円かかります。当たりの賞金と確率が以下のとおりであるとき、宝くじを買うのは得ですか。損ですか。
1 等:賞金 1 万円/確率 1%
2 等:賞金 300 円/確率 20%
3 等:賞金 0 円 (ハズレ)/確率 79%
もし高校 1 年で習う「期待値」の計算方法を知っていれば、答えがわかります。

期待値を計算すると、平均して (10000×0.01) + (300×0.2) + (0×0.79) = 160 円の賞金しかもらえないとわかるので、この宝くじを買うのは損であると考えられます。

こういう例は、期待値の例として良く用いられているのですが、ちょっと期待値の例としてはあまり適当ではないというか、ちゃんと説明しないと不親切ではないかな、と思うので、それについて書いてみたいと思います。

宝くじを買う人にとっての損益

宝くじを買う人にとって、得とか損とかって、どうなっているでしょうか。
上で引用した例に則って検討しましょう。
それは、

  1. 1等が当たったなら1万円から300円を引いた9700円得である。
  2. 2等が当たったなら差し引きゼロで得でも損でもない
  3. 3等が当たったなら300円の損である。

当たり前ですが、これ以外にはなり得ないです。
当選金の期待値が160円だから、160円 ー 300円で140円のマイナス、というのは計算自体はできますが、実際に140円損する、という事は起こる事はない訳ですね。
実際にそんな事が起こらないのなら、この140円の損というのは、どのような意味があるのでしょうか。

期待値の説明をされる時、このような計算をして得だ損だ、という話はされるのですが、それがどのような意味を持っているのか、という事の説明がすっ飛ばされている事が多いように思います。
なので、上記の本の本文中で、そういった説明がなされているのでしたら、それは素晴らしい本だと思うのですが、少なくともこの記事を読むだけでは、このような計算ができて、だから損なんです、という説明でさらっと済まされているように思うんですよね。
で、説明された方も、なんとなくそういうものかな、で流してしまっていると思うのですが、それでちゃんと納得している訳ではないと思うのです。*2

では、そんな偉そうな事を言って、お前は説明できるのか、と思われるでしょうから、ここからその説明を試みたいと思います。

期待値の意味

まず、期待値とは何か、を簡単に説明します。
Wikipediaの記載では次の通りになっています。

期待値は確率変数を含む関数の実現値に確率の重みをつけた加重平均である

上記の宝くじの例で言うなら、「関数の実現値」というのは、宝くじに当たった時の各等での当選金額(1等では1万円、2等では300円、3等では0円)になります。
それに、それぞれの等の起こる確率(1等は1%、2等は20%、3等は79%)をかけて、それらを合計したものが「期待値」になります。

では、そのように計算したものは、どういう意味を持っているのでしょうか。

それは、
「その試行(上記の例では宝くじを買うという行為)を何度も繰り返した場合の実現値の総量を1回辺りの値に換算したもの」
になります。
数学的に厳密に言うなら「試行を無限回繰り返した場合」になるのですが、とにかくたくさん繰り返した場合、です*3
ここでのポイントは「多数回繰り返した場合」「総量」である、という事です。

ちょっとした思考実験

この事を納得して頂くために、ちょっと思考実験をしてみましょう。
もし、宝くじを全て買い占める事ができたなら、その中には必ず高額な1等のくじが含まれる事になります。
ただし、そのために必要なお金(宝くじを買い占めるお金)は膨大な金額が必要になるでしょう。
その時の全体の収支は、恐らくほぼ全ての宝くじではマイナスになるでしょう。
この時、総額でどれくらいの収支になるか、を1枚辺りで表したものが、期待値での収支になるのです。

宝くじを買い占めるというと荒唐無稽に感じるでしょう。しかし、世の中には宝くじの当選確率を上げるために、何百枚とか何千枚とか宝くじを買う人というのが存在しているそうです。それを宝くじがあるたびにやっている、という事のようです。
そういう人の話では、さすがに高額の当選というのはないけれど、低額の当選自体は度々あって、それなりにリターンはある、という事を言っています。しかし、それらのトータルでの収支はどうか、となると、それだけの回数を繰り返していれば、恐らくは期待値で計算できる値に近づいているのではないかと予想されます。*4

JRA貯金とは

よく競馬好きの人の間では、競馬に費やしてきたこれまでの金額の収支がマイナスである事を「JRA貯金」と言ったりしているそうです。
これは、これまでの収支がマイナスであるから、この後も続けていればその分を取り返す事ができる筈だ、という信念によるものだろうと思われるのですが、そのような「信念」の根拠となっている考え方は、「何度も繰り返し行う」場合の「総額で考える」という、期待値が当てはまるものとなっているんですよ。
そして、こういうギャンブルは普通は、期待値としてはマイナスになる(それは逆にJRA側からすればプラスで、その差額で馬を育てたり各種の運営が行われているので当然の事です)ので、「JRA貯金」というものはあり得ない、という事が言えるでしょう。*5
こういうケースで期待値を使うのは意味がある、と思います。

期待値の意味のまとめ

つまり、期待値というのは、「多数回繰り返す」場合の「総額」を考える時に有効になる概念な訳で、冒頭の宝くじを一枚だけ買う場合には、あまり意味のある数字ではないと思います。

宝くじというのは、たとえ紛失したとしてもショックが少ないくらいの金額くらいを買って、まあ大抵は外れてしまうのだけど、ひょっとして当たるかもしれない、そうすると大きいぞ、と考えてわくわくドキドキする、わくわくを味わう(それを少額の金額で)という庶民のささやかな娯楽なんだと思うんです。
それを「期待値ではマイナスだから損なんだ」と切り捨ててしまうって、じゃぁあなたは宝くじを滅ぼしたいのか、と思うんですよ。
ただし、先に挙げたような、生活を切り詰めてまで何百枚も何千枚も買っているような人に対しては、期待値という概念を理解してもらう意味はあるでしょう。*6

別の事例・保険について

期待値というのが「多くの回数の総額では意味があり、個々の回数では意味がない」という事を、ある意味、利用して成り立っていると言えるものがあります。
それが「保険」というものです。

例えば災害保険の場合、その災害に遭ってしまう確率というのは非常に低いため、保険金を受け取る期待値というのは、支払った保険料からすれば大きく下回るだろうと予想されます。
では、保険というのは意味がないのか、というと、そんな事はないです。
というのは、非常に確率が低かったとしても、その災害に遭ってしまうと損害が膨大すぎて人生が破綻してしまう、という事になりかねません。
その時に保険に入っていれば、その保険金によって、災害の損害をリカバリーできる事で助かる事になる訳です。
そのために、確率的には多くの場合は何もなくても、保険料という受け入れ可能な「損」を受け入れる事で、災害のリスクに備えている、というのが保険の意味になります。

保険会社の役割

それで、その「保険」という仕組みが成り立つためには、「その多数の試行の繰り返しの総額」を担ってくれる存在が必要です。それが保険会社です。
一人一人の人生は1回限りですが、その保険に加入している人が何百万人と居れば、保険会社にとっては「何百万回の試行」を行っている事になり、その総額としてプラスとなっていれば、保険金を支払う事ができる訳です。
つまり、保険というのは、個々人にとって、と、保険会社にとって、とで、期待値の意味が違っている、という事を利用した仕組みと言えるでしょう。
なので、保険会社が儲かっているというのを批判するのは間違っています。逆に保険会社にはちゃんと利益を出して存続してもらわないと、「多数回の試行の総額」を担う存在がいなくなってしまい、保険の仕組みが成り立たなくなるのですから。*7

ここまでの説明で、期待値というのが、どういう意味を持っているか、を理解して頂けましたでしょうか。

数学を理解する事

それで、ここからは個人的な意見になります。
数学を理解する上で重要なのは、例えば期待値の場合、期待値の計算方法を理解するよりも、ここまで説明してきたような、現実に当てはめる場合に、どういうケースでは意味があり、どういうケースでは意味がないのか、という事を理解する方が重要なのではないか、と思うのです。
今はコンピュータが進化したので、計算はコンピュータがやってくれます。それよりも、現実にあてはめるとどういう意味があるのか、という事を理解する方が、どのような計算をコンピュータにさせると意味あるか、といった事が判断できるようになると思うのです。

*1:こういう数学をわかりやすく説明して普及を目指す本を書かれる事は素晴らしいと思っています。

*2:数学が得意なつもりの人でも、この説明がちゃんとできる人がどれだけいるでしょうか。

*3:有限回である限りばらつきは出るのですが、そのばらつきも回数が増えれば増えるほど小さくなります。つまり回数が増えるほど総量を回数で割った値は期待値に近づいていきます。

*4:もっとも、宝くじというのは1等の賞金が非常に高額なので、それが当選すればかなりの枚数を購入していても収支は大きくプラスになると思われるので、ばらつきの非常に大きい例ではあるのですが。

*5:実はギャンブルの収支の期待値がゼロだった場合も、「これまでの収支がマイナスだから今後続ければその分を取り返せる筈」というのは確率論的には間違いだったりします。これは数学が得意な人でも勘違いが多い間違いです。もしリクエストがあるなら、それについての解説記事も書きますが。

*6:別に何千枚買っても生活に支障がない金持ちさんが買う分には、好きにしてもらえば良いと思います。

*7:ただし、保険会社で良く聞く、販売員に過剰なノルマを課して、販売員がその保険を必要としていない友人や親戚に保険を買ってもらわざるをえなくなり、人間関係に支障をきたしてしまう、というのがあるのなら問題だとは思います。

ChatGPTの大喜利がつまらない理由

お笑いネタなんでnoteの方に書いたのですが、ChatGPTに大喜利をさせてみたんですよ。
note.com
詳細は見ていただくとして、結論としては、超つまらなかった、という事です。
面白くない回答を網羅した、と言っても良いくらい。
こちらでは、その理由を考察したいと思います。

ChatGPTのメカニズム

ChatGPTの仕組みを考える上で、この記事が参考になると思います。
logmi.jp

手前の文章に確率的にありそうな文章をどんどん付け加えていくだけです。例えば手前の文章が医療の論文だとしたら、医療の論文としてありそうな単語をつなげていって論文が完成してしまったり。小説っぽい文章に対して、小説っぽく続けていくだけで、会話のシーンが作れてしまったりとか。

これをもうちょっと「学習の仕組み」を掘り下げて説明しましょう。
パラメータを変えると挙動が大きく変わる関数*1に対し、入力と対応する出力のセットを「教師データ」として与え、入力に対応するセットになるようにパラメータを調整するのが「機械学習」のやっている事です。
それで、GPTなどの言語モデルは、大量の文章に対し、次のような機械学習を行います。文章の中から1つの単語をランダムに選んでマスクし、周りの文章からマスクした単語を予想する関数を作ります。そうすると、マスクした単語の答えは分かっていますから、入力と対応する出力のセットができています。これをたくさんの文章に対し、しかもマスクする単語を色々と変えて行うと、ものすごく大量の「教師データ」が作成できます。それに対しパラメータを調整して予測できるようにしたものが「大規模言語モデル」です。
なので、周りの文章からありえそうな単語を予測する関数を元に、質問に対し続きになりそうな単語を順々に並べる事で応答を作り出しているのが、ChatGPTのやっている事なんですね。なので、大喜利のお題に対しても、それっぽい回答は返してくれてはいる訳です。

でも、大喜利で「面白い回答」を作るためには、どこかで常識の範囲から「飛び出た」発想が必要になります。でも、ChatGPTは、仕組み的にそのような事は起こり得ないので、どこまで行ってもつまらない回答しか返してくれない事になるんだと思います。

ChatGPTはアイデア出しに使えるのか?

という仕組みを踏まえると、ChatGPTに企画のアイデアを出してもらう、なんて使い方も提案されていましたが、その使い方ってどうなんだろう、と思います。
テーマに対して、それっぽい凡庸なアイデアはいくらでも出してくれると思います。でも、企画のアイデアって、そういうので良いのでしょうか。
仕事で必要なアイデアって、人と違う画期的なアイデアなのではないでしょうか。それは、「確率的にもっともありそうな」答えをいくら並べてみても、出てこないように思います。どこか常識から飛んだ発想がなければ、たたき台にもならないのではないか、と思います。

という事で、アイデア出しに使う場合は、凡庸なアイデアで構わない場合に限られるように思います。例えば安全標語とか。安全標語なんて、画期性なんて必要ないですもんね。当たり前のことを当たり前に言ってもらう事が重要ですから、ChatGPTが出してくるものでピッタリでしょう。

*1:ニューラルネットワークはその典型。万能近似定理なんてのもあるし。

シンギュラリティってそんなお手軽なものじゃない

ChatGPTやGPT-4が大きく話題となっていて、それについて様々な記事が、はてなブックマークでもホットエントリーになっていたりしています。
そんな中で、シンギュラリティだ、なんて事も言われ出しているようですね。
例えば。
qiita.com

しかし、GPT-4の登場で、これは単なる一過性のAIブームでは無く、シンギュラリティの始まりだと確信するようになりました。

いやいや、シンギュラリティって、そんなお手軽なものじゃないですよ。
ちょっと凄いAIが出てきたら、すぐにシンギュラリティとか言って騒ぎ出すの、この界隈の悪い癖ですよ。
落ち着いてください。

ホントは、シンギュラリティについては、ある程度いろいろな事を論じてから書こうと思っていたのですが、
シンギュラリティとか言って騒ぎ出す人がたくさん出ないように、シンギュラリティについて順を追って説明していきますね。

そもそのシンギュラリティとは何か?

シンギュラリティとは「特異点」を意味する英語で、AI界隈では「AIが自律的により知能の高いAIを生み出す状態」を指します。そうなると、AIが勝手にどんどん進歩をして人間には止められなくなる、とされていて、その時点を「特異点」と見做しているという事です。

ただ、少なくとも現時点で開発されたり検討されたりしているAIの延長線上にあるとは考えられていません。なので、現状でシンギュラリティを喧伝するのは荒唐無稽なものと言えますし、シンギュラリティの話題は穏当に言ってもSFレベルの絵空事、というのが正しい認識だと思います。

人間の知能を超えるって何?

で、「プレ・シンギュラリティ」とか言うんですか(苦笑)、そのシンギュラリティの前に「AIが1人の人間の知能を超える時代」が来るそうなんですが、ちょっと冷静になって考えてもらいたいんですよね。
そもそも「AIが人間の知能を超える」って、どういう意味なのか、という事です。

ChatGPTだGPT-4だ、ディープラーニングだ、とかが出てくる以前から、電卓より計算の得意な人はどれだけいたでしょうか。
計算力という点では、随分前にコンピュータは人間の能力をはるかに上回っていたと言えるでしょう。
(ちなみに、今のパソコンは1秒間に30億ステップの処理を行う事ができるそうです。それがどれだけとんでもない処理能力なのかは、想像できますでしょうか。というかスマホでも15億ステップとか20億ステップとか、だそうですよ。)
もっと言うと、紙に書くより記憶力が高い人だって、いない訳じゃないですか。記憶力という点では、人間は紙にだって劣っているんです。
でも、だからって、紙は人間より知能が高い、なんて言わないでしょう。
そして、コンピュータも、人間ではまずできない量の計算をしてくれるのですが、それをもって、人間より知能が高いとはならない訳です。というのは、紙もコンピュータもあくまで道具だから。
その道具の進化によって、人間が記憶しておけないほどの情報を手元に蓄えておけるようになりましたし、人手では絶対にできない程の膨大な計算を行う事で、様々な分野の技術が飛躍的に進歩しました。
基本的に、AIの進歩は、その道具の進化の延長線上にあるものです。例えば、将棋AIは、将棋でより勝ちやすい手を計算する方法が分かってきた、という事なんです。

大規模言語モデルは何が画期的なのか?

そして、今、話題になっている、GPT-4などの大規模言語モデルも、その延長線上にあるものです。
もちろん、大きなブレークスルーです。それは、これまでコンピュータが扱うのが難しかった自然言語(人間が普段使う言語)をかなり正確に扱えるようになった事です。
人間が行なっている仕事には、言葉を使って行うものがたくさんあるので、コンピュータで人間の言葉が正確に扱えると、言葉を使った仕事でコンピュータの膨大な計算処理能力を使う事ができるようになる事が期待されます。ひょっとすると、かなり沢山の仕事で、人間がやるよりも速く大量にやれるようになるかもしれません。
ただ、それはあくまで「道具としての進化」であって、それをもって、人間より賢くなった、というのは違うでしょう。

そもそもコンピュータは元々ものすごい勢いで進化し続けてきていた

ただ、それでもショックを受けている人が多いのは、そもそも今のコンピュータの凄さを知らなかった人が多いんじゃないかな、と思う訳です。
コンピュータは、ここ数十年間、ずっとものすごい勢いで進化し続けてきました。
その結果、普通の個人が持っているパソコンやスマホでも、1秒間に10億ステップ以上もの処理が行えるようになっています。また、そのコンピュータのものすごい計算処理能力を活用するための方法も進化してきていて、色んな事をさせる事ができるようになってきています。
今回のGPT-4などの言語モデルの進化も、コンピュータの進化の延長線上のものです。

日本が遅れていると言われているDXやIT化

今、仕事の生産性という事で良く言われている、日本が周回遅れだとも指摘されているDXなどの事は、この凄いコンピュータの計算処理能力を仕事にどんどん活用していきましょう、という事です。
ただ、それを行うためには、コンピュータに合わせて仕事のやり方を調整し変える必要があります。それが大変だという事で日本ではなかなかDXが進まないという事なんだと思います。(ただ、大変だとしても、やる価値があるほど、コンピュータの処理能力はとんでもないんですけどね。だって1秒間に10億回よ、人間が一生かかってもできない量の事を1秒でやってのけるのよ。)
ただ、言語モデルには、それを一変させる可能性を秘めていると思います。というのは、ユーザインターフェースとして自然言語は最強だからです。

大規模言語モデルは最強のユーザインタフェースになり得る

ユーザインターフェースとは、コンピュータと人間の間・界面(インターフェース)の事で、コンピュータに指令を出したり、コンピュータの処理結果を受け取ったりする、その操作性の事を言います。
マウスで画面をクリックしたり、コマンドをキーボードで入力したりして、人はコンピュータを操作していました。
それが、人と会話するかのように、コンピュータと言葉で会話する事で、コンピュータに色々な仕事をさせる事ができるのなら、多くの人にとってコンピュータに仕事をさせる敷居は非常に低くなる事でしょう。

なので、大規模言語モデルの普及は、遅れていた日本のDXを大幅に進める可能性はあると思っています。

人間の仕事が奪われる恐怖

と言っても、シンギュラリティうんぬんは大袈裟にしても、人間の仕事がコンピュータに奪われてなくなってしまうんじゃないか、と恐れる人はいるでしょう。
そんな人に、おすすめの本を紹介します。
https://www.amazon.co.jp/AI時代の勝者と敗者-トーマス・H・ダベンポート-ebook/dp/B01HCN7J6A/ref=sr_1_1?__mk_ja_JP=カタカナ&crid=2Y2KB39X9B8NX&keywords=AI時代の勝者と敗者-トーマス・H・ダベンポート&qid=1680187737&sprefix=ai時代の勝者と敗者-トーマス+h+ダベンポート%2Caps%2C135&sr=8-1www.amazon.co.jp
この本、この手の話題の時には必ず紹介しているんです。もう7年前の本ですが、基本的な考え方は今でも有効なはずです。AIに仕事を奪われるとかいう話をする際には、この本に書いている事は踏まえて論じた方が良いと思います。

詳細は本を読んで欲しいのですが、大雑把な概要を言うなら、AI時代には人は「AIを使った仕事」をするようになる、という事です。
これまで人間がやっていた事がAIがするようになり、人はそれを使って「より高度な事」をするようになる、という訳です。
でも、それはコンピュータの進歩の歴史の中でも見られた事で、昔は多くの人が算盤を使って膨大な計算を行っていたのが今ではコンピュータが一瞬で計算する、でも人のやる仕事がなくなった訳ではなく、コンピュータに計算させて人間はその計算結果を使って別の「より高度な仕事」をしています。その延長線上の事だ、という事です。