検索

Pythonコードで理解するニューラルネットワーク入門

Pythonコードで理解するニューラルネットワーク入門

ニューラルネットワークの仕組みや挙動を、数学理論からではなく、Pythonコードから理解しよう。フルスクラッチでニューラルネットワーク(DNN:Deep Neural Network)を実装していく。

■ 基礎編 ■

第1回 Pythonでニューラルネットワークを書いてみよう(2022/02/09)

  • 本連載(基礎編)の目的
    ・本連載(基礎編)の特徴
  • ニューラルネットワークの図
  • 訓練(学習)処理全体の実装
  • モデルの定義と、仮の訓練データ
  • ステップ1. 順伝播の実装
    ・1つのノードにおける順伝播の処理
    ・重み付き線形和
    ・活性化関数:シグモイド関数
    ・活性化関数:恒等関数
    ・順伝播の処理全体の実装
    ・順伝播による予測の実行例
    ・今後のステップの準備:関数への仮引数の追加

第2回 図とコードで必ず分かるニューラルネットワークの逆伝播(2022/02/16)

  • ステップ2. 逆伝播の実装
    ・逆伝播の目的と全体像
    ・損失関数:二乗和誤差
    ・1つのノードにおける逆伝播の処理
    ・(1)逆伝播していく誤差情報
    ・(2)活性化関数を偏微分
    ・(3)線形和を重み/バイアス/入力で偏微分
    ・(4)各重み/バイアス/各入力の勾配を計算
    ・逆伝播の処理全体の実装
    ・逆伝播の実行例

第3回 Pythonで実装するニューラルネットワークを完成させよう(2022/02/28)

  • ステップ3. パラメーター(重みとバイアス)更新の実装
    ・1つのパラメーターの更新
    ・パラメーター更新の処理全体の実装
    ・パラメーター更新の実行例
  • 3つのステップを呼び出す最適化処理の実装
    ・最適化処理:学習方法と勾配降下法
    ・最適化の処理全体の実装
  • 回帰問題を解くデモ

■ 応用編 ■

第4回 NumPyでニューラルネットワークをフルスクラッチ実装してみよう(2022/06/22)

  • 本連載(応用編)の目的
  • 本連載(応用編)のポイント
  • NumPyのインポート
  • 訓練(学習)処理全体の実装
  • モデルの定義と、仮の訓練データ
  • ステップ1. 順伝播の実装
    ・1つの層における順伝播の処理
    ・重み付き線形和
    ・活性化関数:シグモイド関数
    ・活性化関数:恒等関数
    ・順伝播の処理全体の実装
    ・順伝播による予測の実行例
    ・今後のステップの準備:関数への仮引数の追加
  • ステップ2. 逆伝播の実装
    ・損失関数:二乗和誤差
    ・1つのノードにおける逆伝播の処理
    ・(1)逆伝播していく誤差情報
    ・(2)活性化関数を偏微分
    ・(3)線形和を重み/バイアス/入力で偏微分
    ・(4)各重み/バイアス/各入力の勾配を計算
    ・逆伝播の処理全体の実装
    ・逆伝播の実行例
  • ステップ3. パラメーター(重みとバイアス)更新の実装
    ・1つのパラメーターの更新
    ・1つの層内にある全パラメーターの更新
    ・パラメーター更新の処理全体の実装
    ・パラメーター更新の実行例
  • 3つのステップを呼び出す最適化処理の実装
    ・最適化の処理全体の実装
  • 回帰問題を解くデモ

■ 発展編 ■

ページトップに戻る