ディープラーニングとは
ディープラーニング(Deep Learning、深層学習)とは、多層のニューラルネットワークを使って、データから高度な特徴を自動的に学習する機械学習の手法です。『Deep Learning』は、深層学習を機械学習の一分野として扱い、表現学習や多層ニューラルネットワークを体系的に説明しています。[1]
このページで学べること
- AI、機械学習、ディープラーニングの包含関係を説明できる
- 入力層、隠れ層、出力層が情報をどう受け渡すかを説明できる
- データ量、計算資源、説明可能性から、ディープラーニングを選ぶべきか判断できる
AI・機械学習・ディープラーニングの包含関係
graph TD
AI["AI(人工知能)\nArtificial Intelligence\n人間の知能を再現する技術全般"]
ML["機械学習 Machine Learning\nデータからパターンを自動学習"]
DL["ディープラーニング Deep Learning\n多層ニューラルネットワークで特徴を自動抽出"]
AI --> ML
ML --> DLディープラーニングは機械学習の中でも強力な手法ですが、すべての問題に最適というわけではありません。データ量が少ない場合や解釈可能性が重視される場合は、従来の機械学習手法が有効なこともあります。[1]
ニューラルネットワークの基本
ニューラルネットワーク(Neural Network)とは、人間の脳の神経細胞(ニューロン)の接続構造に着想を得た数学的モデルです。多数の「ノード(ユニット)」が層状に並び、隣接する層どうしが結合することで情報を処理します。[1]
基本的な構造
graph LR
subgraph IL["入力層 Input Layer"]
I1["x₁"]
I2["x₂"]
I3["x₃"]
end
subgraph HL["隠れ層 Hidden Layers(複数)"]
H1["h₁"]
H2["h₂"]
H3["h₃"]
end
subgraph OL["出力層 Output Layer"]
O1["y"]
end
I1 --> H1
I1 --> H2
I1 --> H3
I2 --> H1
I2 --> H2
I2 --> H3
I3 --> H1
I3 --> H2
I3 --> H3
H1 --> O1
H2 --> O1
H3 --> O1| 層の種類 | 役割 |
|---|---|
| 入力層(Input Layer) | データを受け取る層。ピクセル値や数値などの特徴量が入力される |
| 隠れ層(Hidden Layers) | 入力から特徴を段階的に抽出する層。ここが「深い」部分 |
| 出力層(Output Layer) | 最終的な予測や分類結果を出力する層 |
なぜ「ディープ(深い)」と呼ばれるのか
「ディープ」とは隠れ層が複数(多層)あることを指します。層が深くなるほど、より抽象的な特徴を学習できます。[1]
例えば画像認識では、浅い層はエッジや色のパターンを学習し、深い層になるにつれて「目」「鼻」「顔」といった高次の特徴を学習します。[2]
従来の機械学習とディープラーニングの違い
違いが表れやすいのは、予測に使う特徴を誰が設計するかです。従来の機械学習では人が特徴を選ぶ工程が大きく、ディープラーニングでは多層ネットワークが学習中に特徴表現も調整します。ただし、ディープラーニングでもデータの前処理や入力設計は必要です。
| 従来の機械学習 | ディープラーニング | |
|---|---|---|
| 特徴の作り方 | 人が意味のある項目を選ぶ比重が大きい | 学習によって特徴表現も調整する |
| データ量 | 少量でも候補になる手法がある | 多くの例が必要になることが多い |
| 計算資源 | 比較的小さく抑えやすい | 学習ではGPUなどを使うことが多い |
| 説明のしやすさ | 決定木など説明しやすい手法を選べる | 内部の判断をそのまま説明しにくい |
| よく使われるデータ | 表形式のデータ | 画像・音声・テキストなど高次元のデータ |
比喩で理解する
料理のレシピを考えてみましょう。
- 従来の機械学習: 料理研究家(人間)がレシピの重要な特徴(使用食材・調理時間・カロリーなど)を事前に選んでから学習する
- ディープラーニング: 多数の料理写真と目的に沿った正解を使い、判定に役立つ画像上の特徴も学習する
この例で、人が選ぶ食材や調理時間が従来手法の特徴量、画像から段階的に作られる表現がディープラーニングの特徴表現に当たります。ただし、学習目的や正解を用意せず写真を渡すだけで、モデルが「おいしさ」を正しく理解するわけではありません。
ディープラーニングが得意なタスク
画像認識(CNN:畳み込みニューラルネットワーク)
CNN(Convolutional Neural Network、畳み込みニューラルネットワーク)は、画像データを処理するために設計されたネットワーク構造です。画像内の空間的なパターンを効率よく学習します。[1]
- 物体検出・分類(ImageNet などの画像ベンチマークで発展してきた領域)
- 医療画像診断(X線・MRI画像からの疾患検出)
- 自動運転(道路・歩行者・標識の認識)
自然言語処理(Transformer・LLM)
Transformerとは、2017年に発表されたニューラルネットワークアーキテクチャで、「Attention(注意機構)」という仕組みによって系列データを処理します。[3] 現代の多くの大規模言語モデルはTransformer系の設計をベースにしています。
LLM(Large Language Model、大規模言語モデル) とは、大量のテキストデータで事前学習された言語モデルです。Google MLCC でも、LLM はトークン、Transformer、テキスト予測の観点から説明されています。[4]
- GPT シリーズ(OpenAI): テキスト生成・コード補完
- Claude(Anthropic): 対話・文書分析・コーディング支援
- Gemini(Google): マルチモーダル(テキスト・画像・動画の統合処理)
音声認識
音声認識では、音声波形をテキストに変換します。スマートフォンの音声アシスタントや自動字幕生成などで使われています。
LLMの仕組み(概要)
LLMは以下のプロセスで学習・推論します。
graph LR
PT["大量のテキストデータ\n(事前学習)"] --> LLM["LLM\n(Transformerベース)"]
LLM --> FT["特定タスク向け\nファインチューニング"]
FT --> APP["アプリケーション\n(対話・翻訳・要約など)"]- 事前学習(Pre-training): 大量のテキストを使って、「次のトークン(単語の断片)を予測する」タスクで学習
- ファインチューニング(Fine-tuning): 対話など特定の用途向けに追加学習
- 推論(Inference): ユーザーの入力に対してテキストを生成
ディープラーニングを選ぶときの注意点
Q: ディープラーニングは常に従来の機械学習より優れていますか?
A: そうではありません。ディープラーニングは多くの場合、大量のデータと高い計算リソースを必要とします。データが少ない場合や表形式(構造化)データの場合、従来の機械学習手法の方が扱いやすいことがあります。[1]
Q: GPUがないとディープラーニングはできませんか?
A: 学習には時間がかかりますが、CPUでも小規模な実験はできます。大きなモデルを学習・推論する場合は、GPUなどのアクセラレーターが必要になることがあります。
Q: LLMとチャットボットは同じものですか?
A: 異なります。LLMは言語を理解・生成するためのモデル(エンジン)です。チャットボットはLLMを使って対話インターフェースを提供するアプリケーションです。同じLLMを使って、チャットボット以外にも翻訳・要約・コード生成など多様なアプリケーションを構築できます。
参考文献
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, 2016
- Matthew D. Zeiler, Rob Fergus, Visualizing and Understanding Convolutional Networks, 2013年11月12日
- Ashish Vaswani et al., Attention Is All You Need, 2017年6月12日
- Google, Machine Learning Crash Course