そんな中、カナダのトリニティ・ウェスタン大学(TWU)の数学史家により、これまでで最も古い小数点「. 」の表記例が発見されました。
これまで見つかった記録では、ドイツの数学者クリストファー・クラヴィウスが1593年に使用したものが最古でたが、今回はそれより150年も古い、イタリアの数学者で天文学者のジョバンニ・ビアンチーニが1440年代に使ったものが見つかったのです。
⇧ 「少数」の概念はかなり前から存在していたらしいのに、「小数点」が生まれるまでに時間がかかっていたというのは面白いですな。
こうした流れの中で、フランドル(現ベルギー)の数学者であるシモン・ステヴィン(1548〜1620)がヨーロッパで初めて小数表記の導入を提唱しました。
ただ彼が考案した小数は「. 」のような小数点を使うものではなく、小数点以下の桁を⓪、①、②、③というような丸囲み数字で表現し間に挿入するものでした。
例えば、1.234を表そうとすると「1⓪2①3②4③」となります。
⇧ 経緯を知ると、「小数点」は意外に画期的な発明だったんですな。
今現在、当たり前に目にする「小数点」に慣れきっている身からすると、シモンさんの考案された「小数点」の記法はなかなかにエグいっすな...
これは皆さんもおそらく実感したように、非常に読みづらくて分かりにくく、浸透しませんでした。
⇧ 然もありなん、そのあたりの感覚は、時代を経ても変わっていなかったんですな。
その後、現代にも使われる小数点「. 」が最初に登場するのは、ドイツの数学者クリストファー・クラヴィウスによる1593年の使用例とされています。
⇧ これまで数学者が生み出したとされていたものが、今回の発見で天文学者が生み出したことになったと。
どちらにしろ、常に「数値」に関わる職業の方が関係していたと。
意外に、量り売りとかしてる小売業者の方とかが一番初めに生み出していた可能性もありそうですな。
機械学習(ML:Machine Learning)とは
久々に、「機械学習(ML:Machine Learning)」系のセミナーを受講していて、ふと、「機械学習(ML:Machine Learning)」の手法と、それによって生成されるモデルの関係についての把握が、そう言えば、何か、曖昧だったなぁ、と思ったので、調べることにしてみました。
「ChatGPT」で「大規模言語モデル(LLM:Large Language Models)」という言葉が人口に膾炙した感はありますが、
大規模言語モデル(だいきぼげんごモデル、英: large language model、LLM)は、多数のパラメータ(数千万から数十億)を持つ人工ニューラルネットワークで構成されるコンピュータ言語モデルで、膨大なラベルなしテキストを使用して自己教師あり学習または半教師あり学習によって訓練が行われる。
⇧とありますと。
「ニューラルネットワーク」はと言うと、
(人工知能の分野で)ニューラルネットワーク(英: neural network; NN、神経網)は、生物の学習メカニズムを模倣した機械学習手法として広く知られているものであり、「ニューロン」と呼ばれる計算ユニットをもち、生物の神経系のメカニズムを模倣しているものである。人間の脳の神経網を模した数理モデル。模倣対象となった生物のニューラルネットワーク(神経網)とはっきり区別する場合は、人工ニューラルネットワーク (英: artificial neural network) と呼ばれる。
⇧ とあり、「深層学習(DL:Deep Learning)」はと言うと、
ディープラーニング(英: deep learning)または深層学習(しんそうがくしゅう)とは、対象の全体像から細部までの各々の粒度の概念を階層構造として関連させて学習する手法のことである。深層学習は複数の独立した機械学習手法の総称であり、その中でも最も普及した手法は、(狭義には4層以上の)多層の人工ニューラルネットワーク(ディープニューラルネットワーク、英: deep neural network; DNN)による機械学習手法である。
⇧ とあり、「ニューラルネットワーク」が多層になっているものですと。
前置きが長くなりましたが、総務省の公開している資料によりますと、
⇧ とあり、「深層学習(DL:Deep Learning)」は「機械学習(Machine Learning)」の特殊なパターンという位置付けになっていますと。
もう少し、解像度を上げると、
⇧ 上記サイト様のような感じになるらしい。
このあたり、いまいち、ハッキリしませんが...
で、「機械学習(Machine Learning)」はと言うと、
機械学習は以下の分野と密接に関係する:
機械学習という名前は1959年にアーサー・サミュエルによって造語された。
⇧ とありますと。
機械学習(ML:Machine Learning)の手法について整理してみたかったけど...
引き続き、Wikipediaの「機械学習(Machine Learning)」の情報を見ていて、絶望...
カテゴリー
機械学習は、以下の代表的な3種類のカテゴリーに分けられる。ただしこれらの3つで機械学習で扱う全てをカバーしているわけではないし、複数のカテゴリーに属するものや、どのカテゴリーに属するのか曖昧な技法もある。
- 教師あり学習
- 入力とそれに対応すべき出力 を写像する関数を生成する。例えば、分類問題では入力ベクトルと出力に対応する分類で示される例を与えられ、それらを写像する関数を近似的に求める。
- ラベルのインフォメーションが不足の場合は半教師あり学習である。
- 教師なし学習
- 入力のみ(ラベルなしの例)からモデルを構築する。データマイニングや自己符号化器なども参照。
- 強化学習
- 周囲の環境を観測することでどう行動すべきかを学習する。行動によって必ず環境に影響を及ぼし、環境から報酬という形でフィードバックを得ることで学習アルゴリズムのガイドとする。例えばQ学習がある
上記3大カテゴリーの他に以下のようなカテゴリーがある。
⇧ なるほど、「機械学習(Machine Learning)」の手法の正確な分類は不可能でしたか...
そもそも、「カテゴリー」って分け方もよく分からない...
「手法」と思っていたのは、『「カテゴリー」+「タスク」』ってことになるんですかね?
改めまして、現時点で、Wikipediaにある情報を切り貼りしてまとめますと、
No | カテゴリー | タスク |
---|---|---|
1 | 教師あり学習 (Supervised Learning) |
回帰(Regression) |
分類(Classification) | ||
2 | 教師なし学習 (Unsupervised Learning) |
クラスタリング(Clustering) |
主成分分析(PCA:Principal Component Analysis) | ||
ベクトル量子化(VQ:Vector Quantization) | ||
自己組織化マップ(SOM:Self-Organizing Maps) | ||
k平均法(k-means clustering) | ||
3 | 半教師あり学習 (Semi-Supervised Learning)※1 |
|
4 | 自己教師あり学習 (Self-Supervised Learning)※2 |
|
5 | トランスダクション (Transduction) |
|
6 | マルチタスク学習 (Multi-task Learning) |
|
7 | 能動学習 (Active Learning) |
|
8 | 強化学習 (Reinforcement Learning) |
- ※1 以下のどちらかとなるらしい。
- transductive learning
- inductive learning
- ※2 以下の2種類ある模様。
- 自己教師あり対照学習(contrastive self-supervised learning)
- 自己教師あり非対照学習(non-contrastive self-supervised learning、NCSSL)
という感じになるってことなんですかね?
ネット上の情報だと、
⇧ 「カテゴリー」としては、大きく分けて、
- 教師あり学習(Supervised Learning)
- 教師なし学習(Unsupervised Learning)
- 半教師あり学習(Semi-Supervised Learning)
- 強化学習(Reinforcement Learning)
の4つになっている模様...
ネットの情報が、なかなかに統一感が無くて辛くて泣けてくる...
これらの「カテゴリー」や「タスク」を組み合わせて、学習モデルが作成されるようで、例えば、「ChatGPT」のWikipediaの内容を見ると、
ChatGPT(チャットジーピーティー、英語: Chat Generative Pre-trained Transformer)は、OpenAIが2022年11月に公開した人工知能チャットボットであり、生成AIの一種。
GPTの原語のGenerative Pre-trained Transformerとは、「生成可能な事前学習済み変換器」という意味である。OpenAIのGPT-3ファミリーの大規模な言語モデルに基づいて構築されており、教師あり学習と強化学習の両方の手法を使って転移学習され、機械学習のサブセットである深層学習を使って開発されている。
⇧ とあるように、
- 教師あり学習(SL:Supervised Learning)
- 強化学習(RL:Reinforcement Learning)
- 転移学習(TL:Transfer Learning)
- 深層学習(DL:Deep Learning)
が利用されて、学習モデルが生成されているらしいですと。
ちなみに、「Transformer」は、
自然言語などの時系列データを扱って翻訳やテキスト要約などのタスクを行うべく設計されているのは回帰型ニューラルネットワーク (RNN)と同様だが、Transformer の場合、時系列データを逐次処理する必要がないという特徴がある。たとえば、入力データが自然言語の文である場合、文頭から文末までの順に処理する必要がない。このため、Transformer では 回帰型ニューラルネットワークよりもはるかに多くの並列化が可能になり、トレーニング時間が短縮される。
その導入以来、Transformer モデルは自然言語処理の多くの問題に取り組む上で広く選択されており、 Long Short-term Memory(LSTM)などの古い回帰型ニューラルネットワークモデルに取って代わった。
Transformer モデルはトレーニング中の並列化を容易にするため、より大きなデータセットでのトレーニングを可能にした。このことが、 BERT (Bidirectional Encoder Representations from Transformers)や GPT (Generative Pre-trained Transformers)などの事前トレーニング済みシステムの開発につながった。これらは、巨大な一般言語データセットでトレーニングされており、特定の言語タスクにファインチューニングできる。
⇧「ChatGPT」のモデルである「GPT(Generative Pre-trained Transformers)」の産みの親と言っても過言では無さそうでありますと。
Googleの「Transformer」の開発プロジェクトに携わっていた方が頑張ったんですな。
「Transformer」を含む分類ツリーが見当たらないのですが、
⇧ Wikipediaの「Transformer」のページの内容によると「回帰型ニューラルネットワーク(RNN:Recurrent Neural Network)」の上位互換的な感じっぽい説明をしていたように思えたので、上図の「Deep Learning」の「Supervised Learning」の配下のところに新たに追加される感じになるのかな?
話を元に戻しますと、
「ファインチューニング(fine-tuning)」はと言うと、
⇧ とあり、「転移学習(TL:Transfer Learning)」はと言うと、
歴史
1976年、Stevo BozinovskiとAnte Fulgosiは、ニューラルネットワークの学習における転移学習に明示的に取り組んだ論文を発表した。この論文では、転移学習の数学的および幾何学的モデルを示している。1981年には、コンピュータ端末の文字を表す画像のデータセットに対して、転移学習を適用してニューラルネットワークを学習させた研究が報告された。ポジティブとネガティブな両方の転移学習が実験的に実証された。
⇧ という説明となっており、ちょっと、「転移学習(TL:Transfer Learning)」の位置付けがよく分からない...
そして、Wikipediaの「転移学習(TL:Transfer Learning)」のページでは「ファインチューニング(fine-tuning)」について触れられていないので、これまたよく分からない...
また、「GPT(Generative Pre-trained Transformers)」では、
⇧ 上記サイト様によりますと、
- Zero-shot learning
- One-shot learning
- Few-shot learning
なども利用されているんだとか。
う~む、正直、「AI(Artificial Intelligence)」の「機械学習(ML:Machine Learning)」ないし「深層学習(DL:Deep Learning)」における「カテゴリー」と「タスク」の全量がよく分からない...
なかなかにカオスなことになってきている感がありますな...
ネット上の錯綜している情報を、有識者の方に整理してもらいたいところですな...
毎度モヤモヤ感が半端ない...
今回はこのへんで。