Neural Network (NN)
ニューラルネットワークの基礎を確認します。ニューラルネットワークがAIを支え、ディープラーニングと異なり、Ultralytics YOLO26のような最先端モデルを生み出す仕組みを学びます。
ニューラルネットワーク (NN) は、パターン認識、感覚データの解釈、情報のクラスタリングを目的として設計された、人工知能 (AI) の中核となる計算モデルです。人間の脳の生物学的構造に着想を得たこれらのネットワークは、「ニューロン」と呼ばれる相互接続されたノードで構成され、層状に配置されています。生物の脳がシナプス間の通信に化学信号を使用するのに対し、デジタルニューラルネットワークは数学的演算を使用して情報を伝達します。これらのシステムは、現代の 機械学習 (ML) を支える基盤技術であり、コンピューターが個々のルールを明示的にプログラムされていなくても、顔認識、言語翻訳、自動運転などの複雑な問題を解決できるようにします。
ニューラルネットワークとディープラーニングの違い#
これらの用語はしばしば同じ意味で使われますが、基本的なニューラルネットワークと ディープラーニング (DL) は区別することが重要です。主な違いは、深さと複雑さにあります。標準的な、または「浅い」ニューラルネットワークでは、入力と出力の間にある隠れ層が1つか2つだけの場合があります。一方、ディープラーニングでは、数十層、場合によっては数百層にも及ぶ「深い」ニューラルネットワークを使用します。この深さにより、特徴抽出 が自動的に行われ、モデルは階層的なパターンを理解できます。つまり、単純なエッジが形状になり、形状が認識可能な物体になります。より詳しい技術解説については、MIT Newsによるディープラーニングの解説 で、基本的なネットワークからの進化を確認できます。
ニューラルネットワークの学習方法#
ニューラルネットワークにおける「学習」のプロセスでは、誤差を最小化するために内部パラメーターを調整します。データは入力層から入り、計算が行われる1つ以上の隠れ層を通過し、予測として出力層から出力されます。
- 重みとバイアス: ニューロン間の各接続には、信号の強度を決定する「重み」があります。学習中、ネットワークは 学習データ に基づいてこれらの重みを調整します。
- 活性化関数: ニューロンを「発火」または活性化させるかどうかを判断するために、ネットワークはReLUやSigmoidなどの 活性化関数 を使用します。これにより非線形性が導入され、ネットワークは複雑な境界を学習できるようになります。
- 誤差逆伝播法: ネットワークが予測を行うと、その結果を実際の正解と比較します。誤差がある場合、誤差逆伝播法 と呼ばれるアルゴリズムがネットワーク内に信号を逆方向へ送り、重みを微調整して、時間の経過とともに精度を向上させます。
- 最適化: 確率的勾配降下法 (SGD) などのアルゴリズムは、損失関数を最小化する最適な重みの組み合わせを見つけるのに役立ちます。AWSの最適化アルゴリズムに関する解説 で詳しく確認できます。
実世界での利用例#
ニューラルネットワークは、現代を特徴づける多くの技術を支えるエンジンです。
-
コンピュータービジョン: コンピュータービジョン (CV) の分野では、畳み込みニューラルネットワーク (CNNs) と呼ばれる特殊なネットワークを使用して視覚データを分析します。Ultralytics YOLO26 のような高度なモデルは、ディープニューラルネットワークのアーキテクチャを利用して、リアルタイムの 物体検出 を実行します。これらのシステムは、作物の健全性を監視する 農業分野のAI や、異常検知を行うセキュリティシステムにおいて重要です。
-
自然言語処理: テキストを扱うタスクでは、リカレントニューラルネットワーク (RNNs) や Transformer などのアーキテクチャが、機械による人間の言語理解の方法を大きく変えました。これらのネットワークは、機械翻訳 ツールやバーチャルアシスタントを支えています。これらの技術がもたらす影響は、医療記録の文字起こしや患者記録の分析を支援する 医療分野のAI で確認できます。
-
予測分析: 企業はニューラルネットワークを時系列分析に利用し、株価や在庫需要を予測します。IBMは ビジネス分析におけるニューラルネットワーク について優れた解説を提供しています。
実装方法#
最新のソフトウェアライブラリにより、数学的演算をゼロから記述しなくても、ニューラルネットワークをデプロイできるようになっています。Ultralytics Platform などのツールを使用すると、カスタムデータセットでこれらのネットワークを簡単に学習できます。次のPythonコードは、事前学習済みのニューラルネットワーク(具体的には最先端のYOLO26モデル)を読み込み、ultralytics パッケージを使用して画像に対して推論を実行する方法を示しています。
from ultralytics import YOLO
# Load a pretrained YOLO26 neural network model
model = YOLO("yolo26n.pt")
# Run inference on an image to detect objects
# The model processes the image through its layers to predict bounding boxes
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()課題と考慮事項#
ニューラルネットワークは強力である一方、固有の課題もあります。通常、教師あり学習 には大量のラベル付きデータが必要です。データの多様性が不十分だと、ネットワークは 過学習 を起こしやすくなります。過学習では、ネットワークが一般化を学習するのではなく、学習例を記憶してしまいます。さらに、ディープニューラルネットワークは、特定の判断に至った経緯を正確に解釈することが難しいため、「ブラックボックス」と呼ばれることが多く、説明可能なAI (XAI) の研究を促しています。IEEE Standards Association などの組織は、これらの強力なネットワークが倫理的かつ安全に使用されるよう、標準規格の策定に積極的に取り組んでいます。









