4章ニューラルネットワークの学習
本章のテーマは、ニューラルネットワークの学習です。ここで言う「学習」とは、訓練データから最適な重みパラメータの値を自動で獲得することを指します。本章では、ニューラルネットワークが学習を行えるようにするために、損失関数という「指標」を導入します。この損失関数を基準として、その値が最も小さくなる重みパラメータを探し出すということが学習の目的です。本章では、できるだけ小さな損失関数の値を探し出すための手法として、勾配法と呼ばれる、関数の傾きを使った手法を説明します。
4.1 データから学習する
ニューラルネットワークの特徴は、データから学習できる点にあります。データから学習するとは、重みパラメータの値をデータから自動で決定できるということです。これはとても素晴らしいニュースです! なぜなら、もし仮にすべてのパラメータを手作業によって決めるとすれば、それは相当に大変な作業になるからです。たとえば、2章で見たパーセプトロンの例では、真理値表を見ながら手作業でパラメータの値を設定しましたが、その際のパラメータの個数は3個程度でした。しかし、実際のニューラルネットワークでは、パラメータの数が数千、数万にも及びます。さらに、層を深くしたディープラーニングにもなれば、パラメータの数は数億に及ぶこともあります。それらのパラメータを手作業で決めるというのは、もはや不可能でしょう。本章では、ニューラルネットワークの学習——データからパラメータの値を決める方法——について説明し、PythonによってMNISTデータセットの手書き数字を学習する実装を行います。
|
2章のパーセプトロンは、線形分離可能な問題であれば、データから自動で学習することは可能です。有限回の学習によって、線形分離可能な問題が解けることは「 ... |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access