※当サイトの記事には、広告・プロモーションが含まれます。

機械学習(ML:Machine Learning)の手法について整理してみたかったけど...

nazology.net

そんな中、カナダのトリニティ・ウェスタン大学(TWU)の数学史家により、これまでで最も古い小数点「. 」の表記例が発見されました。

これまで考えられていたより150年古い「小数点を使った最古の記録」が見つかる! - ナゾロジー

これまで見つかった記録では、ドイツの数学者クリストファー・クラヴィウスが1593年に使用したものが最古でたが、今回はそれより150年も古い、イタリアの数学者で天文学者のジョバンニ・ビアンチーニが1440年代に使ったものが見つかったのです。

これまで考えられていたより150年古い「小数点を使った最古の記録」が見つかる! - ナゾロジー

⇧ 「少数」の概念はかなり前から存在していたらしいのに、「小数点」が生まれるまでに時間がかかっていたというのは面白いですな。

こうした流れの中で、フランドル(現ベルギー)の数学者であるシモン・ステヴィン(1548〜1620)がヨーロッパで初めて小数表記の導入を提唱しました。

これまで考えられていたより150年古い「小数点を使った最古の記録」が見つかる! - ナゾロジー

ただ彼が考案した小数は「. 」のような小数点を使うものではなく、小数点以下の桁を⓪、①、②、③というような丸囲み数字で表現し間に挿入するものでした。

これまで考えられていたより150年古い「小数点を使った最古の記録」が見つかる! - ナゾロジー

⇧ 経緯を知ると、「小数点」は意外に画期的な発明だったんですな。

今現在、当たり前に目にする「小数点」に慣れきっている身からすると、シモンさんの考案された「小数点」の記法はなかなかにエグいっすな...

これは皆さんもおそらく実感したように、非常に読みづらくて分かりにくく、浸透しませんでした。

これまで考えられていたより150年古い「小数点を使った最古の記録」が見つかる! - ナゾロジー

⇧ 然もありなん、そのあたりの感覚は、時代を経ても変わっていなかったんですな。

その後、現代にも使われる小数点「. 」が最初に登場するのは、ドイツの数学者クリストファー・クラヴィウスによる1593年の使用例とされています。

これまで考えられていたより150年古い「小数点を使った最古の記録」が見つかる! - ナゾロジー

⇧ これまで数学者が生み出したとされていたものが、今回の発見で天文学者が生み出したことになったと。

どちらにしろ、常に「数値」に関わる職業の方が関係していたと。

意外に、量り売りとかしてる小売業者の方とかが一番初めに生み出していた可能性もありそうですな。

機械学習(ML:Machine Learning)とは

久々に、「機械学習(ML:Machine Learning)」系のセミナーを受講していて、ふと、「機械学習(ML:Machine Learning)」の手法と、それによって生成されるモデルの関係についての把握が、そう言えば、何か、曖昧だったなぁ、と思ったので、調べることにしてみました。

「ChatGPT」で「大規模言語モデル(LLM:Large Language Models)」という言葉が人口に膾炙した感はありますが、

大規模言語モデル(だいきぼげんごモデル、large language modelLLM)は、多数のパラメータ(数千万から数十億)を持つ人工ニューラルネットワークで構成されるコンピュータ言語モデルで、膨大なラベルなしテキストを使用して自己教師あり学習または半教師あり学習英語版によって訓練が行われる。

大規模言語モデル - Wikipedia

大規模言語モデルという用語の正式な定義はないが、大規模コーパスで事前訓練された、数百万から数十億以上のパラメータを持つディープラーニングモデルを指すことが多い

大規模言語モデル - Wikipedia

⇧とありますと。

ニューラルネットワーク」はと言うと、

人工知能の分野で)ニューラルネットワークneural network; NN、神経網)は、生物学習カニズムを模倣した機械学習手法として広く知られているものであり、「ニューロン」と呼ばれる計算ユニットをもち、生物の神経系のメカニズムを模倣しているものである。人間の脳の神経網を模した数理モデル。模倣対象となった生物のニューラルネットワーク(神経網)とはっきり区別する場合は、人工ニューラルネットワーク (artificial neural network) と呼ばれる

ニューラルネットワーク - Wikipedia

⇧ とあり、「深層学習(DL:Deep Learning)」はと言うと、

ディープラーニングdeep learning)または深層学習(しんそうがくしゅう)とは、対象の全体像から細部までの各々の粒度の概念を階層構造として関連させて学習する手法のことである。深層学習は複数の独立した機械学習手法の総称であり、その中でも最も普及した手法は、(狭義には4層以上の)多層の人工ニューラルネットワーク(ディープニューラルネットワークdeep neural network; DNN)による機械学習手法である

ディープラーニング - Wikipedia

⇧ とあり、「ニューラルネットワーク」が多層になっているものですと。

前置きが長くなりましたが、総務省の公開している資料によりますと、

www.soumu.go.jp

⇧ とあり、「深層学習(DL:Deep Learning)」は「機械学習(Machine Learning)」の特殊なパターンという位置付けになっていますと。

もう少し、解像度を上げると、

ainow.ai

aismiley.co.jp

⇧ 上記サイト様のような感じになるらしい。

このあたり、いまいち、ハッキリしませんが...

で、「機械学習(Machine Learning)」はと言うと、

機械学習(きかいがくしゅう、machine learning)とは、経験からの学習により自動で改善するコンピューターアルゴリズムもしくはその研究領域で 人工知能の一種であるとみなされている。

機械学習 - Wikipedia

機械学習は以下の分野と密接に関係する:

機械学習という名前は1959年にアーサー・サミュエルによって造語された

機械学習 - Wikipedia

⇧ とありますと。

機械学習(ML:Machine Learning)の手法について整理してみたかったけど...

引き続き、Wikipediaの「機械学習(Machine Learning)」の情報を見ていて、絶望...

カテゴリー 

機械学習は、以下の代表的な3種類のカテゴリーに分けられる。ただしこれらの3つで機械学習で扱う全てをカバーしているわけではないし、複数のカテゴリーに属するものや、どのカテゴリーに属するのか曖昧な技法もある。

教師あり学習
入力とそれに対応すべき出力  を写像する関数を生成する。例えば、分類問題では入力ベクトルと出力に対応する分類で示される例を与えられ、それらを写像する関数を近似的に求める。
ラベルのインフォメーションが不足の場合は半教師あり学習である。
教師なし学習
入力のみ(ラベルなしの例)からモデルを構築する。データマイニング自己符号化器なども参照。
強化学習
周囲の環境を観測することでどう行動すべきかを学習する。行動によって必ず環境に影響を及ぼし、環境から報酬という形でフィードバックを得ることで学習アルゴリズムのガイドとする。例えばQ学習がある


上記3大カテゴリーの他に以下のようなカテゴリーがある。

半教師あり学習英語版
ラベルありの例とラベルなしの例をどちらも扱えるようにしたもので、それによって近似関数または分類器を生成する。
トランスダクション英語版(トランスダクティブ推論)
観測された具体的な(訓練)例から具体的かつ固定の(テスト)例の新たな出力を予測しようとする。
マルチタスク学習英語版
関連する複数の問題について同時に学習させ、主要な問題の予測精度を向上させる。
能動学習
学習アルゴリズムがそのユーザや他の情報源に対話的に問い合わせることで、学習に有用なデータを優先して選択・生成し、ラベル付けを行うものである。能動学習の詳細な問題設定は多岐に渡り、プールベース能動学習などがある。

機械学習 - Wikipedia

⇧ なるほど、「機械学習(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)

という感じになるってことなんですかね?

ネット上の情報だと、

⇧ 「カテゴリー」としては、大きく分けて、

の4つになっている模様...

ネットの情報が、なかなかに統一感が無くて辛くて泣けてくる...

これらの「カテゴリー」や「タスク」を組み合わせて、学習モデルが作成されるようで、例えば、「ChatGPT」のWikipediaの内容を見ると、

ChatGPT(チャットジーピーティー英語: Chat Generative Pre-trained Transformer)は、OpenAI2022年11月に公開した人工知能チャットボットであり、生成AIの一種。

ChatGPT - Wikipedia

GPTの原語のGenerative Pre-trained Transformerとは、「生成可能な事前学習済み変換器」という意味である。OpenAIのGPT-3ファミリーの大規模な言語モデルに基づいて構築されており、教師あり学習強化学習の両方の手法を使って転移学習され、機械学習のサブセットである深層学習を使って開発されている

ChatGPT - Wikipedia

⇧ とあるように、

が利用されて、学習モデルが生成されているらしいですと。

ちなみに、「Transformer」は、

Transformerトランスフォーマー)は、2017年6月12日にGoogleの研究者等が発表した深層学習モデルであり、主に自然言語処理 (NLP)の分野で使用される

Transformer (機械学習モデル) - Wikipedia

自然言語などの時系列データを扱って翻訳やテキスト要約などのタスクを行うべく設計されているのは回帰型ニューラルネットワーク (RNN)と同様だが、Transformer の場合、時系列データを逐次処理する必要がないという特徴がある。たとえば、入力データが自然言語の文である場合、文頭から文末までの順に処理する必要がない。このため、Transformer では 回帰型ニューラルネットワークよりもはるかに多くの並列化が可能になり、トレーニング時間が短縮される

Transformer (機械学習モデル) - Wikipedia

その導入以来、Transformer モデルは自然言語処理の多くの問題に取り組む上で広く選択されており、 Long Short-term Memory(LSTM)などの古い回帰型ニューラルネットワークモデルに取って代わった。

Transformer (機械学習モデル) - Wikipedia

Transformer モデルはトレーニング中の並列化を容易にするため、より大きなデータセットでのトレーニングを可能にした。このことが、 BERT (Bidirectional Encoder Representations from Transformers)や GPT (Generative Pre-trained Transformers)などの事前トレーニング済みシステムの開発につながった。これらは、巨大な一般言語データセットでトレーニングされており、特定の言語タスクにファインチューニングできる

Transformer (機械学習モデル) - Wikipedia

⇧「ChatGPT」のモデルである「GPT(Generative Pre-trained Transformers)」の産みの親と言っても過言では無さそうでありますと。

Googleの「Transformer」の開発プロジェクトに携わっていた方が頑張ったんですな。

「Transformer」を含む分類ツリーが見当たらないのですが、

Wikipediaの「Transformer」のページの内容によると「回帰型ニューラルネットワーク(RNN:Recurrent Neural Network)」の上位互換的な感じっぽい説明をしていたように思えたので、上図の「Deep Learning」の「Supervised Learning」の配下のところに新たに追加される感じになるのかな?

話を元に戻しますと、

「ファインチューニング(fine-tuning)」はと言うと、

機械学習の文脈において、ファインチューニングfine-tuning、微調整)は、事前学習したモデルの重みを新しいデータで訓練する転移学習の一つの手法である

ファインチューニング (機械学習) - Wikipedia

⇧ とあり、「転移学習(TL:Transfer Learning)」はと言うと、

転移学習(てんいがくしゅう、transfer learning)は、ある問題を解決する際に得た知識を蓄積し、関連する別の問題にそれを適用することに焦点を当てた機械学習の研究領域である

転移学習 - Wikipedia

歴史

1976年、Stevo BozinovskiとAnte Fulgosiは、ニューラルネットワークの学習における転移学習に明示的に取り組んだ論文を発表した。この論文では、転移学習の数学的および幾何学的モデルを示している。1981年には、コンピュータ端末の文字を表す画像のデータセットに対して、転移学習を適用してニューラルネットワークを学習させた研究が報告された。ポジティブとネガティブな両方の転移学習が実験的に実証された

転移学習 - Wikipedia

アンドリュー・ンは、NIPS 2016のチュートリアル、転移学習は教師あり学習の次に機械学習の商業的成功の原動力になると述べ、その重要性を強調した

転移学習 - Wikipedia

⇧ という説明となっており、ちょっと、「転移学習(TL:Transfer Learning)」の位置付けがよく分からない...

そして、Wikipediaの「転移学習(TL:Transfer Learning)」のページでは「ファインチューニング(fine-tuning)」について触れられていないので、これまたよく分からない...

また、「GPT(Generative Pre-trained Transformers)」では、

toukei-lab.com

⇧ 上記サイト様によりますと、

  • Zero-shot learning
  • One-shot learning
  • Few-shot learning

なども利用されているんだとか。

う~む、正直、「AI(Artificial Intelligence)」の「機械学習(ML:Machine Learning)」ないし「深層学習(DL:Deep Learning)」における「カテゴリー」と「タスク」の全量がよく分からない...

なかなかにカオスなことになってきている感がありますな...

ネット上の錯綜している情報を、有識者の方に整理してもらいたいところですな...

毎度モヤモヤ感が半端ない...

今回はこのへんで。