Ultralytics YOLO11 で機械学習における特徴抽出のパワーを発見。効率的な検出と分析のテクニックを学ぶ。
特徴抽出は、機械学習(ML)やコンピュータビジョン(CV)において重要なプロセスであり、生の、しばしば複雑なデータを、アルゴリズムが効果的に処理できる形式に変換するための重要なステップとして機能する。これは、画像、音声、テキストなどの非構造化または高次元データを、構造化された数値特徴セットに変換することを含み、通常は特徴ベクトルとして表現される。これらの特徴は、ノイズや冗長性を取り除きながら、元のデータの本質的な特徴を捉えることを目的としている。主な目的は、次元削減によるデータの複雑性の軽減、関連するパターンの強調、MLモデルにより適したデータの作成などである。これにより、モデルの精度が向上し、モデル学習が高速化し、未知のデータに対する汎化が向上する。
特徴抽出の具体的な手法は、処理するデータの種類に大きく依存する。
画像データ:伝統的なコンピュータ・ビジョンでは、エッジ、コーナー、テクスチャ(ガボール・フィルタのような技術を使用)、カラー・ヒストグラムのような特定の特徴を検出するアルゴリズムを手作業で設計していました。OpenCVのようなライブラリは、これらの古典的なテクニックの多くを実装するためのツールを提供している(OpenCV公式サイト)。しかし、最新のディープラーニング(DL)、特に以下のようなモデルで使用される畳み込みニューラルネットワーク(CNN)では、ディープラーニング(DL)を使用することはできません。 Ultralytics YOLO特徴抽出は、しばしば自動的に学習される。ネットワークの畳み込み層は入力画像にフィルタを適用し、初期の層では単純な線やテクスチャから、より深い層ではオブジェクトの部分やオブジェクト全体まで、次第に複雑なパターンを階層的に捉える特徴マップを生成する。これが適用されるさまざまなコンピュータ・ビジョン・タスクを調べることができます。
テキストデータ: 自然言語処理(NLP)のタスクでは、単語の重要性を表すためにTFTerm Frequency-Inverse Document Frequency)を計算したり、Word2VecやGloVeのようなモデルを使用して単語の埋め込みを生成したりするような方法で特徴抽出を行う。これらの埋め込みは、単語間の意味的関係を捕捉する密なベクトルである。BERTや Transformersのようなより高度なモデルは、テキストから直接文脈表現を学習する。
一般的な手法: 主成分分析(PCA)やt-distributed Stochastic Neighbor Embedding (t-SNE)のような手法は、様々なデータタイプに適用できる汎用的な次元削減手法です。これらは、重要な分散や近傍構造を保持することを目的としながら、高次元データを低次元空間に変換します。Scikit-learn はこれらのテクニックの実装を提供します。
特徴抽出はしばしば特徴工学と混同されるが、両者は異なる概念である。
ディープラーニングモデルは、画像認識や 物体検出のようなタスクの特徴抽出プロセスの多くを自動化するが、最適なパフォーマンスを達成するためには、適切なデータ増強や入力の正規化といった特徴工学の原則が依然として重要である。
特徴抽出は、数え切れないほどのAIやMLアプリケーションの基本である:
医療画像解析:X線、CT、MRIなどの医療スキャンを解析し、がんなどの病気を検出する際には、画像から特定の特徴を抽出する。これには、組織内のテクスチャパターン、潜在的な異常の形状やサイズ(Brain Tumorデータセットに見られる腫瘍など)、あるいは強度の変化などが含まれる。これらの抽出された特徴は、分類器(SVMやニューラルネットワークなど)に入力され、病気の有無や病期を予測する。これは放射線科医の診断に役立つ:のような出版物で論じられている。最新のシステムでは Ultralytics YOLO11を使用することができる。
センチメント分析:カスタマーレビューやソーシャルメディアへの投稿のようなテキストデータで表現されたセンチメント(肯定、否定、中立)を判断するには、生のテキストから特徴を抽出する必要があります。これは、肯定的な単語と否定的な単語の頻度をカウントしたり(Bag-of-Words)、TFスコアを使用したり、または、以下の方法で利用できるような事前に訓練された言語モデルを使用して、洗練されたセンテンスエンベッディングを生成したりします。 Hugging Face.これらの特徴は、テキストの感情的なトーンを定量化し、MLモデルが全体的なセンチメントを分類することを可能にします。
のような最先端の物体検出モデル Ultralytics YOLOv8やYOLO11 ような最先端の物体検出モデルは、ニューラルネットワーク(NN)アーキテクチャ内で暗黙的に特徴抽出を行っている。初期層(バックボーンの一部であることが多い)は、学習された強力な特徴抽出器として機能する。入力データがこれらの層を通過すると、階層的な特徴が自動的に識別され、特徴マップに表現される。このプロセスはほぼ自動化されているが、特徴抽出を理解することは、効果的なデータ前処理ステップの設計、ハイパーパラメータのチューニングの実行、モデルの動作の解釈に役立ち、Ultralytics ドキュメント内で利用可能なツールや、データセットと実験を管理するためのUltralytics HUBのようなプラットフォームを使用することもできる。テクニックは、フレーム間でオブジェクトの同一性を維持するために外観の特徴を抽出するような、オブジェクト追跡のような下流のタスクでも使用されます。フレームワーク PyTorchや TensorFlowのようなフレームワークは、これらのモデルを構築し、トレーニングするための基盤となるインフラストラクチャを提供します。