06 - AI・機械学習・LLM
AI と機械学習の基礎
Relevant DSS-P Skills
- 2. データ整備・活用 > 2.1 データ・AIの戦略的活用 > データ・AI理解・活用
- AI パラダイム
- Symbolic AI - 問題、ロジック、検索の高レベルシンボリック(人間が読み取れる)表現に基づいた人工知能研究におけるすべてのメソッドの集合です
- Neuro-symbolic AI - ニューラル方式とシンボリック方式を統合して両方の強みを組み合わせる人工知能のサブフィールドで、生データから学習可能でありながら説明可能性と明示的推論を保持する AI システムを実現します
- AlphaGeometry - ニューラル言語モデルとシンボリック演繹エンジンで構成されたニューロシンボリックシステムであり、複雑な幾何定理の証明を見つけるために協力して動作します
- Generative AI - 生成モデルを使用してテキスト、画像、ビデオ、またはその他の形式のデータを生成する人工知能のサブセットです
- Causal AI - 因果モデルを構築し、相関だけでなく因果関係を使用して推論できる人工知能の技法です
- Connectionism - コネクショニストネットワークまたは人工ニューラルネットワークとして知られた数学モデルを利用する人間の精神プロセスと認識の研究へのアプローチです
- Expert system - 人間の専門家の意思決定能力をエミュレートするコンピュータシステムです
- Artificial general intelligence - ほぼすべての認知タスクにおいて人間の能力に匹敵または超える人工知 能の仮説的なタイプです
- 基本概念
- Embedding - 複雑な高次元データを数値ベクトルの低次元ベクトル空間にマップする表現学習手法です
- Transfer learning - あるタスクから得た知識を異なるが関連するタスクのパフォーマンス向上に再適用する機械学習手法です
- Mathematical model - 数学的概念と言語を使用して具体的なシステムを抽象的に記述したものです
- Mathematical optimization - 利用可能な選択肢のセットから、いくつかの基準に関して最良の要素を選択することです
- Gradient descent - 微分可能な多変数関数を最小化するための1階反復アルゴリズムです
- Loss function - イベントまたは1つ以上の変数の値を実数にマップし、直感的にイベントに関連する何らかのコストを表す関数です
- Pattern recognition - データから抽出されたパターンに基づいて観測値にクラスを割り当てるタスクです
- Feature engineering - 教師あり機械学習と統計モデリングの前処理ステップで、生データをより効果的な入力セットに変換します
- Overfitting - 特定のデータセットに密接に対応する分析の生成であり、追加データへのフィットまたは将来の観測の予測が信頼できない可能性があります
- Bias–variance tradeoff - モデルの複雑さ、予測精度、以前に見たことのないデータに対する予測能力の関係です
- Inductive bias - 学習者が遭遇していない入力の出力を予測するために使用する仮定のセットです
- Curse of dimensionality - 低次元設定では発生しない高次元空間でのデータ分析と整理の際に生じる現象です
機械学習
Relevant DSS-P Skills
- 2. データ整備・活用 > 2.2 AI・データサイエンス > 機械学習・深層学習
学習パラダイム
- Supervised learning - ラベル付きデータからアルゴリズムが学習する機械学習のパラダイムです
- Classification - トレーニングデータセットに含まれる観測に基づいて、新しい観測がどの一連のカテゴリ(部分集団)に属するかを特定する問題です
- Logistic regression - イベント発生の確率をモデル化する統計モデルで、イベントの対数オッズが1つ以上の独立変数の線形結合です
- Support vector machine - データを分類および回帰分析するために分析する関連学習アルゴリズムを備えた教師あり学 習モデルのセットです
- Naive Bayes classifier - 機能間の強い(素朴な)独立性仮定でベイズの定理を適用した単純な確率分類器のファミリーです
- Decision tree learning - 項目に関する観測からその目標値に関する結論に移行するために予測モデルとして決定木を使用する方法です
- Ensemble learning - 複数の学習アルゴリズムを使用して、構成する学習アルゴリズムのいずれからも単独では得られるより良い予測パフォーマンスを取得する方法です
- Random forest - トレーニング時に多数の決定木を構築することによって機能する分類、回帰、およびその他のタスク用のアンサンブル学習方法です
- ROC curve - 判別閾値が変化すると二項分類器システムの診断能力を示すグラフィカルプロットです
- Regression - 従属変数と1つ以上の独立変数の関係を推定するための統計プロセスのセットです
- Ordinary least squares - 線形回帰 モデルで未知のパラメータを選択するための線形最小二乗法のタイプです
- Generalized linear model - 通常の最小二乗回帰の柔軟な一般化です
- ARIMA model - 自己回帰移動平均(ARMA)モデルの一般化で、時系列データに適合して、データをより良く理解したり、シリーズの将来のポイントを予測したりします
- Classification - トレーニングデータセットに含まれる観測に基づいて、新しい観測がどの一連のカテゴリ(部分集団)に属するかを特定する問題です
- Unsupervised learning - ラベルなしのデータセットを使用してモデルを学習し、以前のトレーニングなしでそのデータに対して機能させることが許可される機械学習のタイプです
- Principal component analysis - 探索的データ分析、視覚化、およびデータ前処理でアプリケーションを持つ線形次元削減手法です
- K-means clustering - n個の観測をk個のクラスタに分割することを目指すベクトル量子化の方法で、各観測は最も近い平均を持つクラスタに属します
- Reinforcement learning - インテリジェントエージェントが累積報酬の概念を最大化するために環境で行動を取る方法に関する機械学習の領域です
- Markov chain - 各イベントの確率が前のイベントで達成した状態に依存するイベントのシーケンスを説明する確率過程です
- Markov decision process - 結果が部分的にランダムで、部分的に意思決定者の管理下にある状況で意思決定をモデル化するための数学的フレームワークです
- Hidden Markov model - モデル化されているシステムが観測されない(隠された)状態を持つマルコフ過程と仮定される統計マルコフモデルです
- Multi-armed bandit - 固定限定リソースのセットを競合する(代替)選択肢間に割り当て、期待ゲインを最大化する必要がある問題です
- Value function - 数学的最適化と強化学習で使用される関数で、状態または行動に望ましさの尺度を割り当てます
- ML 概念と技法
- Hyperparameter - 学習プロセスを制御するために使用される値を持つパラメータです
- Hyperparameter optimization - 学習アルゴリズムの最適な ハイパーパラメータセットを選択する問題です
- Early stopping - 勾配降下法などの反復的な方法で学習者をトレーニングする場合にオーバーフィッティングを回避するための正則化の形式です
- Cross-validation - 統計分析の結果が独立したデータセットにどの程度一般化されるかを評価するためのさまざまな同様のモデル検証手法です
- Anomaly detection - データの大部分と大幅に異なることで疑いを生じさせる稀なアイテム、イベント、または観測の特定です
- One-class classification - そのクラスのオブジェクトのみを含むトレーニングセットから主に学習することによって、すべてのオブジェクトの中から特定のクラスのオブジェクトを識別しようとする手法です
- Recommender system - ユーザーがアイテムに与える「評価」または「好み」を予測しようとする情報フィルタリングシステムです
- ML フレームワーク & プラットフォーム
- scikit-learn - Python プログラミング言語用の無料のソフトウェア機械学習ライブラリ です
- libsvm - サポートベクターマシンのライブラリです
- ML.NET - .NET 開発者向けのオープンソースで、クロスプラットフォーム対応の機械学習フレームワークです
- Crab - 推奨システムを構築するための Python ライブラリです
- mlxtend - 日々のデータサイエンスタスクのための便利なツールの Python ライブラリです
- Prophet - 時系列データの予測手順で、高速で完全に自動化された予測を提供します
- Azure Machine Learning - モデルをより速く構築してデプロイするためのエンタープライズグレードの機械学習サービスです
- Amazon SageMaker - 完全に管理されたインフラストラクチャ、ツール、およびワークフローを備えた任意のユースケースに対して機械学習(ML)モデルを構築、トレーニング、およびデプロイするサービスです
- Gradio - フレンドリーなウェブインターフェイスを備えた機械学習モデルのデモを作成する最速の方法で、誰でもどこでも使用できます
- scikit-learn - Python プログラミング言語用の無料のソフトウェア機械学習ライブラリ です
ニューラルネットワークと深層学習
Relevant DSS-P Skills
- 2. データ整備・活用 > 2.2 AI・データサイエンス > 機械学習・深層学習
- ニューラルネットワークの基礎
- Neural network - データのパターンを見つけるための機械学習で使用される計算モデルです
- Tensor - 機械学習で使用される多次元配列として表現される数学的オブジェクトです
- 活性化関数
- Sigmoid function - 特性的な「S」字形またはシグモイド曲線を持つ数学関数です
- Softmax function - K個の実数のベクトルをK個の可能な結果の確率分布に変換する関数です
- Backpropagation - フィードフォワードニューラルネットワークのトレーニングに広く使用されているアルゴリズムです
- Autoencoder - ラベルなしデータの効率的なコーディングを学習するために使用される人工ニューラルネットワークのタイプ(教師なし学習)です
- Vanishing gradient problem - 勾配ベースの学習方法とバックプロパゲーションでニューラルネットワークをトレーニングするときに発生する困難で、勾配がバックプロパゲートされると縮小します
- 深層学習の概念とトレーニング
- Deep Learning - 表現学習に基づいた人工ニューラルネットワークを使用した、より幅広い機械学習方法のファミリーの一部です
- Stochastic gradient descent - 適切な平滑性プロパティを持つ目的関数を最適化するための反復的な方法です
- Dropout (neural networks) - 訓練データに対する複雑な共適応を防ぐことで、人工ニューラルネットワークの過学習を低減する正則化手法です
- Fine tuning - 転移学習へのアプローチで、事前学習されたモデルの重みが新しいデータで学習されます
- LoRA (machine learning) - 事前学習されたモデルを特定のタスクに適応させるためのパラメータ効率的なファインチューニング技法で、大幅に少ない計算リソースを使用します
アーキテクチャ
- Recurrent neural network - ノード間の接続がサイクルを作成できる人工ニューラルネットワークのクラスで、一部のノードからの出力が同じノードへの後続入力に影響を与えることができます
- LSTM - 人工知能と深層学習のフィールドで使用される人工ニューラルネ ットワークで、フィードバック接続によって区別されます
- Convolutional neural network (CNN) - 最も一般的に視覚画像を分析するために適用される人工ニューラルネットワークのクラスです
- Attention - ニューラルネットワークのコンテキストでの技法で、認知注意を模倣し、入力データの重要な部分を強化し、残りをフェードアウトします
- FlashAttention - 高速でメモリ効率的な正確な注意メカニズムです
- Transformer - マルチヘッド注意メカニズムに基づいた深層学習アーキテクチャです
- Mixture of experts - 複数のエキスパートネットワーク(学習者)を使用して、問題空間を均一な領域に分割する機械学習技法です
- 深層学習フレームワーク & 可視化
- TensorFlow - 機械学習のためのエンドツーエンドのオープンソースプラットフォームです
- PyTorch - 研究プロトタイピングから本番デプロイメントへのパスを加速するオープンソース機械学習フレームワークです
- ONNX Runtime - クロスプラットフォーム、高パフォーマンス機械学習モデル推論エンジンで、多様なハードウェアとプラットフォーム全体でトレーニングと推論の両方を加速します
- Windows ML - ONNX Runtime によって駆動され、NPU、GPU、CPU 全体でハードウェアアクセラレーションを使用したオンデバイスモデル実行を可能にする、Windows 用の統合された高パフォーマンスのローカル AI 推論フレームワークです
- WinML CLI - AI モデルを Windows ML 用に変換して最適化し、多様な Windows デバイス全体でハードウェア最適化デプロイメントを実現するコマンドラインツールです
- AttentionViz - Transformer 注意の全体ビューです
- BertViz - NLP モ デルの注意を視覚化するツールです
- 参考書
- Neural Networks and Deep Learning - ニューラルネットワークと深層学習の背後にある核となるアイデアを説明する無料のオンライン書籍です
- Deep Learning, MIT Press - 学生と開発者が機械学習の分野、特に深層学習に入るのを支援することを目的とした教科書です
自然言語処理 (NLP)
Relevant DSS-P Skills
- 2. データ整備・活用 > 2.2 AI・データサイエンス > 機械学習・深層学習
- 言語学の基礎
- Computational linguistics - 自然言語の計算モデリング、および言語的な質問への適切な計算的アプローチの研究に関する学際的な分野です
- Morphology - 言葉がどのように形成されるか、および同じ言語の他の言葉との関係の研究です
- Syntax - 言葉と形態素がどのようにして句や文などのより大きな単位を形成するかの研究である言語学的分野です
- Semantics - 言葉がどのように意味を獲得するか、および複雑な表現が構成要素から意味をどのように導出するかを調べる言語的意味の研究です
- Distributional semantics - 言語データの大規模サンプルの分布プロパティに基づいて言語アイテム間の意味的類似性を定量化および分類するための理論と方法を開発および研究する研究領域です
- Symbol grounding problem - 抽象シンボルを、それらが表現する実世界のオブジェクトまたは概念に接続するという課題です
概念とベクトル表現
-
Okapi BM25 - 検索エンジンが確率的検索フレームワークに基づいて特定の検索クエリへのドキュメントの関連性を推定するために使用されるランキング関数です
-
Levenshtein distance - 一つを他に変更するために必要な単一文字編集の最小数を数えることによって 2 つのシーケンス間の差を測定するための文字列メトリックです
-
n-gram - 特定の順序で n 個の隣接するシンボルのシーケンスで、自然言語処理および計算生物学などの分野で使用されます
-
tf-idf (term frequency-inverse document frequency) - 情報検索で使用される統計尺度で、一般的な頻度を考慮して、コレクションまたはコーパスに対する相対的なドキュメント内の単語の重要性を評価します
-
Word embedding - 自然言語処理における単語の表現で、通常は単語の意味をエンコードする実数値ベクトルで、ベクトル空間で近い単語は意味で類似していると予想されます
-
Sentence embedding - 有意な意味情報をエンコードする文の数値ベクトル表現です
-
NLP ライブラリ
- Natural Language Toolkit - 人間言語データを操作する Python プログラムを構築するための主要なプラットフォームです
- Gensim - ドキュメントを意味ベクトルとして表現するための無料のオープンソース Python ライブラリです
- Kuromoji - Java で記述されたオープンソース日本語形態素解析器です
- Kagome - 純粋な golang で記述されたオープンソース日本語形態素解析器です
- mecab-python3 - 日本語テキスト用の MeCab 形態素解析器の Python ラッパーです
- jieba - 中国語テキスト分割用の Python モジュールです
コンピュータビジョン
Relevant DSS-P Skills
- 2. データ整備・活用 > 2.2 AI・データサイエンス > 機械学習・深層学習
画像処理と基礎
- OpenCV - オープンソースのコンピュータビジョンおよび機械学習ソフトウェアライブラリです
- GoCV - OpenCV 4 のバインディングを備えた Go プログラミング言語用のパッケージです
- Pillow - 画像処理機能を追加する Python 画像処理ライブラリです
- scikit-image - Python での画像処理用のアルゴリズムのコレクションです
- ImageMagick - デジタル画像を作成、編集、構成、または変換するためのツールです
3D ビジョン & ジオメトリ
- Open3D - 3D データを扱うソフトウェアの迅速な開発をサポートするオープンソースライブラリです
- Point Cloud Library (PCL) - 2D/3D 画像とポイントクラウド処理用のスタンドアロンで大規模なオープンソースプロジェクトです
物体検出と認識
- YOLO (You Only Look Once) - リアルタイム検出用に設計されたエンドツーエンドのオブジェクト検出モデルです
- Detectron2 - Facebook の次世代ライブラリで、最先端の検出およびセグメンテーションアルゴリズムを提供します
- Mask R-CNN - Faster R-CNN の拡張で、バウンディングボックスと並行してオブジェクトマスク予測用のブランチを追加します
ポーズと身体推定
- MediaPipe - ポーズ推定、手の追跡、顔検出などの知覚タスク用のマルチモーダル ML パイプラインを構築するためのフレームワークです
- OpenPose - リアルタイムマルチユーザーキーポイント検出が可能なライブラリです
顔と生体認証認識
- face_recognition - Python またはコマンドラインから顔を認識および操作する Python ライブラリです
OCR とテキスト認識
- Tesseract OCR - オープンソーステキスト認識(OCR)エンジンです
- gosseract OCR - Tesseract C++ ライブラリを使用した OCR(光学文字認識)用の Go パッケージです
- EasyOCR - 80 以上のサポートされている言語とすべての一般的なスクリプトを備えた、すぐに使用できる OCR です
- OCRmyPDF - PDF ファイルに検索可能な OCR テキストレイヤーを追加するツールです
- オープンモデル
- LLaVA - ビジョンエンコーダと Vicuna を結合した、エンドツーエンドでトレーニングされた新しい大規模マルチモーダルモデルで、汎用的な視覚的および言語理解を実現し、マルチモーダル GPT-4 の精神を模倣した印象的なチャット機能を実現し、Science QA で最先端の精度を設定します