AI・機械学習・ディープラーニング

損失関数、ニューロンの数、層の深さは何か?

投稿日:

損失関数

 

ニューロンの数

ニューロンの役割

ここでいうニューロンは単純パーセプトロンのこと。つまり、x1w1+x2w2>bで表されるもの。

この式より、bより大きいものと小さいものの2つに分類する。これが役割。

x1、x2の数の意味

xnのnは入力データの次元を表している。

x1w1+x2w2>b なら2次元の入力データである。
x1w1>b なら1次元の入力データである。
x1w1+x2w2+x3w3>bなら3次元の入力データである。

x1w1+x2w2+x3w3>b この例で言うと、3次元の入力データをbより大きいか小さいかの2つに分類している。大きいか小さいかが何を意味するかは、「何を意味したいか」を自分で定義することである。

入力層の数

このため、入力層の数は、入力データによって決まる。入力データをどのように処理したいかで決まる。

MNISTの手書きデータであれば、28*28ピクセルのモノクロである。28*28=784なので、各ピクセルを白か黒か、0か1かで入力するため、入力層は784個になる。これが意味することは、「784次元空間上のひとつの点(データのプロット)」である。

出力層の数

出力層は分類したいクラスの数で決まる。MNISTの手書きデータを0~9の10種類に分ける場合は、出力層は10個になる。

MNISTの例だが、入力層、出力層の数が決まった。後は隠れ層の深さと各隠れ層のニューロンの数が問題となる。

 

ニューラルネットの層の深さ

単層パーセプトロン、単層ニューラルネットでは、n次元の線形な分類しかできない。

層を深くすることで、複雑な分類ができるようになる。層の深さは、クラス分けの複雑さに応じて深くする必要がある。

損失関数の値が満足するほど小さくなるまで、隠れ層を深くする OR 隠れ層のニューロンの数を増やしていくのである。

層とニューロンの数は多ければ多い程、単純に賢いです。速く学習できるし、正確に学習できます。しかし、多ければ多ほど、計算パワーが必要になり、学習コストが上昇するのです。

層とニューロンの数

  • 損失関数を下げれるかどうか?←下げれなければ増やす必要がある。
  • 計算資源(コスト)?←計算資源が少ないと、増やしたくても増やせない
  • 多いにこしたことはないが、コストを考えると少ない方が良いと言える。

-AI・機械学習・ディープラーニング

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

【AI(人口知能)まるわかり】(日経ビジネス)を読んで

 機械学習・ディープラーニングによりAI開発が加速している 機械学習に必要なもの。 大量の学習データ 膨大な計算リソース これらを可能にしたのがgoogleである。計算リソースはGoogle …

no image

AIで起業

AIで起業したい人。どんなアイデアが良いでしょうか? ソフトバンクグループ(SBG)がサウジアラビアなどと立ち上げたファンドの投資先が約20社となり、投資額が2兆円を超えたことがわかった。フィンテック …

no image

AIの俯瞰2

人工知能研究にあった大きな壁 機械学習に使う情報量の不足 コンピューター性能の不足 機械学習に使う情報量の不足 インターネットの登場→ビッグデータ 検索技術=マイニングにより、ビッグデータからひつよ …

no image

ディープラーニングのフレームワーク

名前 ユースケース メリット TensorFlow google MNIST(手書き数字を判別)、CNN(画像認識)、Word2Vec(各単語の関係を学習)、RNN(文章から次の単語予測)、Seq2S …

no image

人工知能解体新書 ゼロからわかる人工知能のしくみと活用

この本は良かった。実用例が豊富だから。IBM Watsonの解説が多いんだけど、それだけWatsonはAI産業で重要なポジションを占めているってことがわかった。G検定の推薦図書では具体例が少なくて、「 …