2章フィードフォワードニューラルネットワークの訓練

2.1 ファストフード店での問題

ディープラーニングは興味深い課題の解決に利用できることがわかりましたが、大きな問題が残されています。それは、パラメーターベクトル(ニューラルネットワークでのすべての接続に対する重み)をどのように決めればよいかという点です。ここで行われるのが、一般的に訓練と呼ばれるプロセスです(図2-1)。訓練とは、ニューラルネットワークに多数の例となるデータを与え、誤りが最小化されるように重みを徐々に調整してゆくというものです。十分に例を与えれば、かなり効果的に問題を解決できるようになると見込まれます。

ファストフード店での問題を解決するために、このニューロンに対して訓練を行う

図2-1 ファストフード店での問題を解決するために、このニューロンに対して訓練を行う

1章で紹介した線形ニューロンの例をここでも使い、説明を続けることにします。我々はこのファストフード店で毎日、ハンバーガーとフライ、そしてソーダを購入しています。それぞれの個数は毎回異なります。商品には値札が付いておらず、店員さんは合計金額だけを教えてくれます。このような状況で、1つの線形ニューロンに対して訓練を行い、個々の商品の金額を予測するという問題を解決してみましょう。

1つの戦略として、訓練のためのデータを賢く選ぶというものがあります。1回目の食事ではハンバーガーを1つだけ購入し、2回目にはフライを1つだけ、そして3回目にはソーダを1つだけ購入するといった戦略が考えられます。一般的に、訓練データを慎重に選ぶのはとても良いことです。訓練データを適切に用意すれば、ニューラルネットワークの効率は大幅に高まるという研究が多数発表されています。しかし、実際にはこのようなケースはほとんどありません。例えば画像認識の際に、ファストフード店の例と同じくらい明確な戦略は思い当たりません。つまり、これは現実的なソリューションとは言えません。 ...

Get 実践 Deep Learning ―PythonとTensorFlowで学ぶ次世代の機械学習アルゴリズム now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.