358 Views
May 24, 24
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
2024年度前期輪読会#4「ゼロから作るDeep Learning」 4章 ニューラルネットワークの学習 4.1~4.2 奈良女子大学 藤本 馨 0
概要 目次 1.データから学習する 2.損失関数 3.まとめ 1
1. データから学習する 2
データから学習する ニューラルネットワークの学習方法の概要 ● データから最適な重みパラメータの値を計算する 学習を行うために損失関数という指標を導入 損失関数が取る値が最も小さくなる重みパラメータを探し出す 前章まで重みパラメータを手動で決定していたが、データから自 動で決定できる 3
データから学習する ニューラルネットワークの学習の特徴:データ駆動学習 ● 従来の機械学習 データ 特徴量 学習 人が識別に必要であると考えた特徴 (例)輪郭線、文字線の方向、 輝度値の変化…など SVMやKNNなどを用いて特徴量 から機械が規則性を見つけ出す 長所:データ数が少数でも精度が出やすい 短所:適切な特徴量を考え出すことが困難 ● ニューラルネットワークの学習 データ 学習 データそのものから識別に必要 である特徴や規則性を機械が見 つけ出してくれる 長所:人が特徴量を考えなくても良い 短所:データ数が少数だと精度が出にくい 4
データから学習する 機械学習における注意点 ● 過学習を起こさないようにする必要がある • • あるデータセットにだけ過度に対応した状態 汎化能力が低く、未知のデータに対して識別精度を発揮できない ● データの使い方にも工夫が必要 • • 教師データ(訓練データ):学習に用いるデータ テストデータ:学習済み識別器の精度検証に用いるデータ • 検証のためのデータ分割法として交差検証(cross validation)などがある 用意したデータ 分割 教師データ 学習 テストデータ 識別器 (ニューラルネットワーク・ SVMなど) 精度検証 5
2.損失関数 6
損失関数 損失関数とは ● 適切なパラメータを探索するための指標 ● 教師データが表している正解を目標とし、学習中のニューラルネ ットワークの予測値との誤差を表す 損失関数の出力が大きいと目標から遠い 損失関数の出力を小さくすべく(目標に近づけるべく)学習を進行し、 適切なパラメータを探索する ● 本テキストでは2種類の損失関数を紹介している 2乗和誤差 交差エントロピー誤差 7
損失関数 2乗和誤差 𝑦𝑘 :予測値(ニューラルネットワークの出力) 𝑡𝑘 :教師データ 𝑘:データの次元数 教師データ 画像データ: 正解ラベル:2 𝐸 = 0.0975 ● 予測値はソフトマックス関数の出力で あり、確率として解釈できる ● 教師データは正解ラベルを1、それ以 ・ ・ ・ 外を0で表すone-hot表現で表し計算 入力層 28×28 中間層 任意の数 出力層 𝑦 :予測値 𝑡 :教師データ 𝑘 𝑘 𝑘 = 10 8
損失関数 交差エントロピー誤差 𝑦𝑘 :予測値(ニューラルネットワークの出力) 𝑡𝑘 :教師データ 𝑘:データの次元数 ● 教師データはone-hot表現で表し計算するので、 正解ラベルに対応する予測値の自然対数を計算 する 予測値𝑦𝑘 が0に近づくと、− log 𝑦𝑘 は大きくなる 予測値𝑦𝑘 が1の時、− log 𝑦𝑘 は0 9
損失関数 ミニバッチ学習 ● 教師データすべての損失関数の和を求める 交差エントロピー誤差の場合、以下の式 𝑦𝑘 :予測値(ニューラルネットワークの出力) 𝑡𝑘 :教師データ 𝑘:データの次元数 𝑁:データの個数 ● データ全体の損失関数の和を求めるのは現実的ではない MNISTのデータは60000個だが、ビッグデータを扱う場合、数百万・数 千万といったオーダーになる ● 教師データから一部を選び出し(ミニバッチ)、ミニバッチごと に学習を行うことで、データ全体の「近似」として利用する 10
4.1~4.2 まとめ 学習方法 損失関数 データから最適な重みパラメータを見つけることがニューラルネットワークの学習 ニューラルネットワークの学習では、データから特徴量を人手で抽出する必要がない 適切なパラメータを探索するための指標で、教師データとの誤差を表す 教師データすべてに対してではなく、ミニバッチごとに学習を行い損失関数を計算 11
12