ディープラーニング(深層学習)は用語が多く、どこから学べばよいか迷いがちです。このページでは重要用語を「仕組み」→「学習テクニック」→「主要モデル」→「応用タスク」の順に整理しました。上から順に読むと全体像がつながり、G検定などの試験対策にも使えます。
ディープラーニングとは
ディープラーニングは、層を深く重ねたニューラルネットワークでデータから特徴を自動的に学習する手法です。2012年の画像認識コンテストでのAlexNetの圧勝をきっかけに第三次AIブームが起こりました。
ニューラルネットワークの仕組み
活性化関数
活性化関数は、各層の出力に非線形性を与える関数です。これがないと、層をいくら重ねても単純な線形変換にしかなりません。
| 関数 | 特徴 | 主な用途 |
|---|---|---|
| ステップ関数 | 0か1を出力。微分できない | 初期のパーセプトロン |
| シグモイド関数 | 0〜1の確率に変換。勾配が消えやすい | 二値分類の出力層 |
| tanh関数 | −1〜1に変換。シグモイドより学習が速い | RNNの内部 |
| ReLU | 負は0、正はそのまま。計算が速く勾配が消えにくい | 中間層の定番 |
| Swish | ReLUを滑らかにした関数 | EfficientNetなど |
| ソフトマックス関数 | 複数の出力を合計1の確率に変換 | 多クラス分類の出力層 |
学習のしくみ
- 誤差関数(損失関数):予測と正解のズレを数値化したもの。これを小さくするのが学習の目標です。
- 誤差逆伝播法:出力側の誤差を入力側へさかのぼって伝え、各重みの修正量(勾配)を効率よく計算する方法です。
- 勾配消失問題:層が深いと勾配が途中で極端に小さくなり、学習が進まなくなる問題です。ReLUやスキップコネクションが対策になります。
学習を安定・効率化するテクニック
| カテゴリ | 用語 | ひとことで |
|---|---|---|
| 最適化 | 勾配降下法・SGD | 勾配の逆方向に少しずつ重みを動かす基本手法 |
| Adam | 学習率を自動調整する定番オプティマイザ | |
| 学習率 | 1回の更新でどれだけ重みを動かすか | |
| 学習の単位 | エポック | 学習データ全体を1周すること |
| ミニバッチ学習 | データを小分けにして更新する方法 | |
| 安定化・汎化 | バッチ正規化 | 層ごとの入力分布をそろえて学習を安定させる |
| ドロップアウト | 学習中にニューロンをランダムに無効化して過学習を防ぐ | |
| スキップコネクション | 層を飛ばす経路で深いネットワークを学習可能にする | |
| 既存モデルの活用 | 転移学習 | 学習済みモデルの知識を別タスクに流用 |
| ファインチューニング | 学習済みモデルを追加データで微調整 | |
| LoRA | 少ないパラメータだけ学習する効率的な微調整 | |
| 軽量化 | 知識蒸留 | 大きなモデルの知識を小さなモデルに移す |
| 量子化 | 重みを低ビットで表してメモリと計算を削減 | |
| プルーニング | 重要度の低い結合を削除して軽くする |
主要なモデル(アーキテクチャ)
画像を扱うモデル:CNN系
CNN(畳み込みニューラルネットワーク)は、画像の局所的なパターンを畳み込みで捉えるモデルです。発展の流れは次のとおりです。
- AlexNet(2012)→ VGGNet(深く単純に)→ GoogLeNet(Inceptionモジュール)→ ResNet(残差学習で152層)
- 効率化の系譜:MobileNet(スマホ向け軽量化)、EfficientNet(深さ・幅・解像度をバランスよく拡大)
- Transformerの応用:Vision Transformer(ViT)
系列データを扱うモデル:RNN系とTransformer
- RNN:前の時刻の情報を引き継いで時系列を処理します。
- LSTM・GRU:ゲート構造で長期の依存関係を覚えられるよう改良したRNNです。
- Seq2Seq:エンコーダとデコーダで「系列→系列」の変換(翻訳など)を行います。
- Attention機構:入力のどこに注目すべきかを学習する仕組みです。
- Transformer:Attentionだけで構成され、並列計算に強いモデル。位置エンコーディングで語順を表します。現在のLLMの土台です。
データを生成するモデル
- オートエンコーダ・VAE:データを圧縮・復元する過程で特徴を学び、VAEは新しいデータも生成できます。
- GAN:生成器と識別器を競わせてリアルなデータを作ります(DCGAN、CycleGAN、Pix2Pixなど)。
- 拡散モデル:ノイズを少しずつ除去して画像を生成する、現在の画像生成AIの中核技術です。
画像認識の主なタスク
| タスク | 何をするか | 代表モデル |
|---|---|---|
| 画像分類 | 画像全体が何かを判定 | ResNet、EfficientNet、ViT |
| 物体検出 | 物体の位置(枠)と種類を特定 | YOLO、SSD、Faster R-CNN |
| セマンティックセグメンテーション | 画素ごとにクラスを判定 | FCN、U-Net、DeepLab |
| インスタンスセグメンテーション | 同じクラスでも個体ごとに領域を分ける | Mask R-CNN |
| 判断根拠の可視化 | モデルが画像のどこを見たかを示す | Grad-CAM |
実装に使うフレームワーク
研究・実務ともにPyTorchが主流で、TensorFlowも本番運用で広く使われています。
よくある質問
Q. 機械学習とディープラーニングの違いは何ですか?
ディープラーニングは機械学習の一種です。従来の機械学習では人が特徴量を設計することが多いのに対し、ディープラーニングは多層のネットワークが特徴そのものを自動で学習します。
Q. どの順番で学べばよいですか?
このページの順番どおり「活性化関数・誤差逆伝播法 → 最適化と正則化 → CNN・RNN → Transformer」と進むと、後の用語が前の用語の組み合わせとして理解できます。
あわせて学ぶ
