April 2020
Intermediate to advanced
552 pages
6h 13m
Japanese
前ステップでは、DeZeroを使ってニューラルネットワークを実装しました。それは単純なニューラルネットワークですが、正真正銘のニューラルネットワークです。これで、DeZeroを「ニューラルネットワークのフレームワーク」と言うこともできるでしょう。しかし、DeZeroの「使いやすさ」という点では、まだいくつか問題があります。これから私たちは、DeZeroにニューラルネットワークのための機能を追加していきます。それによって、ニューラルネットワークを――そして、ディープラーニングを――、よりシンプルに、より直感的に実装できるようになります。
本ステップで取り組む問題は、パラメータの取り扱いについてです。前ステップでは、パラメータの勾配をリセットするときに(また、パラメータを更新するときに)やや単調なコードを書く必要がありました。これから先、さらに複雑な構造のネットワークを実装していきます。そうなると、パラメータの扱いはさらに複雑になります。
![]() |
|
パラメータとは、勾配降下法などの最適化手法によって更新される変数です。前ステップの例では、線形変換に用いる「重み」と「バイアス」がパラメータに相当します。 |
本ステップでは、パラメータをまとめる仕組みを作ります。そのために、ParameterとLayerという2つのクラスを実装します。この2つのクラスを使うことで、パラメータの管理を自動化できます。
まずはParameter ...
Read now
Unlock full access