機械学習の基礎
トレーニングデータ
- ラベル付きデータ :インスタンスや例に目的の出力または分類を表すラベル/ターゲット変数が付いている
- ラベルなしデータ :インスタンスや例に目的の出力または分類を表すラベル/ターゲット変数が付いていない
- 構造化データ: 整理、フォーマット化されたデータ。表形式データ(スプレットシート、データベース、CSVファイルなど、行はインスタンス、列は特徴量、属性を表したデータ) , 時系列データ ( 株価、気象データなど、連続したデータ
- 非構造化データ: テキスト、画像、音声、動画など、定義された構造や形式を持たないデータ
MLアルゴリズム
- 教師あり学習 : ラベル付きデータでトレーニング。目標は新しい入力データの出力を予測できるマッピング関数を学ぶこと
- 教師なし学習: ラベル付けされていないデータからトレーニング。目標は入力データ内の固有パターン、構造、関係を発見すること
- 強化学習(半教師あり学習) トレーニングデータの一部のみラベル付けされている:
モデル
- バッチ推論 : すべてをまとめて分析して一連の結果を出す
- リアルタイム推論 : 入ってくる新しい情報に応じて迅速に意思決定を行う
深層学習の基礎
深層学習の分野は、脳の構造と機能から着想を得てます。
ニューラルネットワーク
- ノード
- 入力層
- 隠れ層
- 出力層
深層学習を利用するAIの分野
- コンピュータービジョン: デジタル画像や動画を解釈して理解できるようにする人工知能の分野
- 自然言語処理(NLP) : コンピューターと人間の言語間の対話を扱う人工知能の一分野
生成AIの基礎
生成AI は、事前のトレーニングされたモデルを利用しており、これらのモデルは基盤モデル(FM)と呼ばれます。
FMのライフサイクル
- データ選択
- ラベルなしデータ(画像、テキストファイル、動画など) は取得が容易な為、大規模に使用できます。FMでは、さまざまなソースからの農大なデータセットに関するトレーニングが必要です
- 事前トレーニング
- FM は通常、自己教師あり学習によって事前にトレーニングされます。データ内の構造を使用して、ラベルを自動生成します。
- 最適化
- 事前トレーニングされた言語モデルは、プロンプトエンジニアリング、検索拡張生成 (RAG: Retrieval-augmented generation)、タスク固有データのファインチューニングなどの手法によって最適化できます。
- 評価
- モデルをファインチューニングする場合でも、事前にトレーニングされた既製のモデルを使用する場合でも、次の論理的なステップはモデルを評価することです。FMのパフォーマンスは、適切な指標とベンチマークを使用して測定できます。
- デプロイ
- FM が目的のパフォーマンス基準を満たすようになったら、ターゲットの運用環境にデプロイできます。
- フィードバックと継続的な改善
- デプロイ後、モデルのパフォーマンスは継続的に監視され、ユーザー、ドメインエキスパート、またはその他の利害関係者からフィードバックが収集されます。
生成 AI の機能を理解するために不可欠な FM
大規模言語モデル (LLM)
- トークン
- モデルが処理するテキストの基本単位
- 埋め込みベクトル
- 埋め込みはトークンを数値で表現したもの
拡散モデル
拡散とは、純粋なノイズまたはランダムデータから始まる深層学習のアーキテクチャシステムです。モデルはこのノイズに徐々に意味のある情報を追加していき、最終的に画像やテキストのように明確で一貫性のある出力を得ます。
- 順方向拡散 : 入力画像に少量のノイズを徐々に導入していき、最後にはノイズだけが残ります
- 逆拡散 : 逆拡散のステップでは、新しい画像が生成されるまで、ノイズ画像から徐々にノイズを除去します
マルチモーダルモデル
マルチモーダルモデルでは、テキストや画像などの単一タイプの入力または出力だけに頼るのではなく、複数のモードのデータを同時に処理して生成できます。たとえば、マルチモーダルモデルでは、画像と何らかのテキストを入力として取り込み、新しい画像とそれを説明するキャプションを出力として生成できます。
その他の生成モデル
- 敵対的生成ネットワーク (GAN) : GAN は、ゼロサムゲームフレームワーク内で 2 つのニューラルネットワークが互いに競争する生成モデルの一種です。2 つのネットワークとはジェネレーター (生成) とディスクリミネーター (識別) です。
- 変分オートエンコーダー(VAE) オートエンコーダー (ニューラルネットワークの一種) と変分推論 (ベイズ統計学の手法) のアイデアを組み合わせた生成モデルの一種です。VAE では、モデルは次の 2 つの部分で構成されます。
- エンコーダー: このニューラルネットワークは、入力データ (画像など) を受け取り、それを低次元の潜在空間にマッピングして、データの本質的な特徴量をキャプチャします。
- デコーダー: このニューラルネットワークはエンコーダーから潜在表現を取得し、元の入力データを再構成します。
モデル出力の最適化
プロンプトエンジニアリング : プロンプトエンジニアリングでは、ニーズに合わせて FM の出力を強化するためのプロンプトの開発、設計、最適化に重点を置きます。
- 指示
- コンテキスト
- 入力データ
- 出力イジケーター
ファインチューニング: 事前にトレーニングされたベースモデルを使用し、特定の小さなデータセットを追加する教師あり学習のプロセスです
- インストラクションファインチューニング
- 人間のフィードバックによる強化学習
検索拡張生成 (RAG: Retrieval-augmented generation)
検索拡張生成ではラベル付けされた小規模な例のセットを使って FM をファインチューニングするのではなく、関連するドキュメントの小規模なセットを取得し、ここからユーザーのプロンプトに答えるためのコンテキストを得ます。
参照
Fundamentals of Machine Learning and Artificial Intelligence