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が得意そうなこと・ビジネス開発

比較・検討 レコメンデーション(推薦)と呼ばれる分野。 この人は⚫⚫を買いそうだ というものの提案。 定型業務 法律 軽微な交通事故のようなものは、訴訟パターンが決まっている。過去の事例を解析して、勝 …

no image

ニューラルネットワーク

パーセプトロンのyに対して、活性化関数を掛けたもの。 活性化関数 シグモイド関数 ステップ関数 ReLU(Rectified Jiner Unit) 両者は非線形関数である。ニューラルネットワークでは …

no image

パーセプトロン

パーセプトロンとは? パーセプトロン(perceptron)はアルゴリズムの1つである。 ローゼンブラットというアメリカの心理学者・計算機科学者が1957年に考案した。 ニューラルネットワークの起源と …

no image

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

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

no image

AIビジネス脳を考える・鍛える

AIで何ができるか?を理解し、事例を蓄えている。 すべてのものがデータとして認識でき、AIによりどんなROIを出せるかが数字で浮かんでくる。 あらゆるものがAIを入れた時にどうなるか映像で見え、宝の山 …