書籍3 ステージ2の学習

ステージ2 自然なコードで表現する

ステップ11 可変長の引数(順伝播編)
ステップ12 可変長の引数(改善編)
ステップ13 可変長の引数(逆伝播編)
ステップ14 同じ変数を繰り返し使う
ステップ15 複雑な計算グラフ(理論編)
ステップ16 複雑な計算グラフ(実装編)
ステップ17 メモリ管理と循環参照
ステップ18 メモリ使用量を減らすモード
ステップ19 変数を使いやすく
ステップ20 演算子のオーバーロード(1)
ステップ21 演算子のオーバーロード(2)
ステップ22 演算子のオーバーロード(3)
ステップ23 パッケージとしてまとめる
ステップ24 複雑な関数の微分

 このステージでは、より複雑な計算ができるように、「変数(Variable クラス)」と「関数(Function クラス)」を拡張する内容でした。具体的には、

 ・複数の入力を受け取る関数
 ・複数の出力を返す関数
 ・同じ変換を繰り返し使う
 ・関数の実行の優先順位を考える
 ・メモリ管理
 ・循環参照
 ・メモリ使用量を減らす
 ・変数に名前を付ける
 ・ndarray のインスタンス変数のように使う
 ・加算、減算、負数、乗算、割算、累乗の実装
 ・他の型と一緒に演算を行う
 ・+や*などの演算子が使える
 ・パッケージ化
 ・複雑な関数の微分(Sphere、matyas、Goldstein−Price)

などです。

 コラムでは、Define−by−Run と、Define−and−Run について、それぞれのメリットやデメリットについて、分かりやすい解説があります。

更新日:

Copyright© 深層・機械学習/人工知能学習の記録 , 2024 All Rights Reserved Powered by STINGER.