輪読会「深層学習による画像認識の基礎」第1回

はじめに

こんにちは。てくますプロジェクトのYukkinです! 本記事は、てくますプロジェクトが実施している輪読会『深層学習による画像認識の基礎』の第1回活動記録です。

てくますプロジェクトは、「考える楽しさを探そう!」が合言葉の、数学と情報科学の学習コミュニティです。

輪読会に参加したい方は、Connpass よりお申し込みください。

ゼミの様子

現在は「深層学習による画像認識の基礎」という本を読み進めています。

第1回の今回は、<1章 画像認識の概要>の最初から、<2章 深層学習の基礎>のp.36まで読み進めました!

本記事では、今回の勉強会で学んだことをざっくりと紹介していきます。

学習内容

画像認識の概要

画像認識の種類や歴史について学びました。

  • 画像認識の種類
    • 画像分類(image classification)
      • 画像単位で認識
    • 物体検出(object detection)
      • 矩形単位で認識
    • 意味的領域分割(semantic segmentation)
      • 画素単位で認識
    • その他にも様々な種類がある

深層学習の基礎

深層学習の基礎について復習しました。

ニューラルネットワーク

  • ニューロンと重みで構成されるモデルのこと
  • 全結合層を積み重ねてできる最も基本的なニューラルネットワークがパーセプトロン

活性化関数

  • 非線形性を導入して、ニューラルネットワークの表現力を高める
  • ReLU関数
    • 最もよく使用する活性化関数
    • \(ReLU(x) = max(0,x)\)
  • シグモイド関数
    • 出力値を[0,1]の範囲に収めたい時などに使用する
    • \(sigmoid(x) = \dfrac{1}{1+exp(-x)}\)
  • ソフトマックス関数
    • 出力層で出力値を確率表現にするのに使用する
    • \(\dfrac{exp(z_i)}{\sum_{j=1}^{K}exp(z_j)}\)

損失関数

  • データ全体の損失関数の平均値(目的関数と呼ぶ)を最小化するように重みを学習する
  • 回帰タスクでは損失関数として、二乗誤差や絶対誤差を使用する
    • 二乗誤差
      • \(L(\hat{y}, y) = \dfrac{1}{2}(\hat{y}-y)^2\)
    • 絶対誤差
      • \(L(\hat{y}, y) = |\hat{y}-y|\)
  • 分類タスクでは損失関数として、クロスエントロピー損失を使用する
    • クロスエントロピー損失
      • \(
        \begin{eqnarray}
        L(\hat{y}, y) &=& -\displaystyle\sum_{i=1}^{K} y_ilog\hat{y}_i \\
        &=& -log\hat{y}_c
        \end{eqnarray}
        \)
        (cは正解クラス)

勾配降下法

  • 目的関数の最小値を求めるために勾配降下法を用いる
  • 勾配の負の方向に重みを更新していく
    • \(w^{(t+1)} = w^{(t)}-\alpha\dfrac{\partial L}{\partial w^{(t)}}\)
  • 確率的勾配降下法
    • 重み更新の度にすべてのデータを使うのではなく、分割したグループ(ミニバッチ)のデータを使う方法

誤差逆伝播法

  • 素直な勾配計算は計算コストが高いため、連鎖律を用いて、上層の結果を下層で活かすように計算する

『ゼロから作るDeep Learning』などの、大体のディープラーニングの本に載っている内容ですね!

最後に

画像認識の1回目のゼミでした。

まだニューラルネットワークの復習で、面白くなるのはこれからといった感じです。

では、またね!

本シリーズの記事はこちら

各ゼミの第1回記事はこちら