目次
はじめに
こんにちは。てくますプロジェクトのYukkinです! 本記事は、てくますプロジェクトが実施している輪読会『深層学習による画像認識の基礎』の第1回活動記録です。
てくますプロジェクトは、「考える楽しさを探そう!」が合言葉の、数学と情報科学の学習コミュニティです。
輪読会に参加したい方は、Connpass よりお申し込みください。
現在は「深層学習による画像認識の基礎」という本を読み進めています。
リンク
第1回の今回は、<1章 画像認識の概要>の最初から、<2章 深層学習の基礎>のp.36まで読み進めました!
本記事では、今回の勉強会で学んだことをざっくりと紹介していきます。
学習内容
画像認識の概要
画像認識の種類や歴史について学びました。
- 画像認識の種類
- 画像分類(image classification)
- 画像単位で認識
- 物体検出(object detection)
- 矩形単位で認識
- 意味的領域分割(semantic segmentation)
- 画素単位で認識
- その他にも様々な種類がある
- 画像分類(image classification)
深層学習の基礎
深層学習の基礎について復習しました。
ニューラルネットワーク
- ニューロンと重みで構成されるモデルのこと
- 全結合層を積み重ねてできる最も基本的なニューラルネットワークがパーセプトロン
活性化関数
- 非線形性を導入して、ニューラルネットワークの表現力を高める
- 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回目のゼミでした。
まだニューラルネットワークの復習で、面白くなるのはこれからといった感じです。
では、またね!
コメントを書く