ニコニコ大百科モバイル

7/2(月)よりスマホまたはPCでアクセスした場合、各デバイス向けのサイトへ自動で転送致します


ニューラルネットワーク


ヨミ: ニューラルネットワーク
掲示板をミル!
1カキコ!

セラフィー「人間は何故私達(人工知能)を人間に似せて造るの?」

アニメジーンダイバー』より

ニューラルネットワーク神経網、英: neural network, NN)とは、

  1. 神経細胞ニューロン)同士の結び付きで構成された神経回路のこと。(生物学的ニューラルネットワーク、英: biological neural networks, neural circuit
  2. 1の特性に類似した数理的モデルのこと。(人工ニューラルネットワーク、英: artificial neural networks, ANN本稿ではこちらを記述する。

概要


日本語の「ニューラルネットワーク」は、専ら「人工ニューラルネットワーク」(以下、ANN。)のことをす。今日では多層ANN機械学習のことを「ディープラーニング」(深層学習)と称する。

1943年、形式ニューロン英: formal neuron)Threshold Logic Unit」とも称する。1943年に神経生理学者・外科医であるウォーレンマカロックと論理学者・数学者であるウォルター・ピッツが発表した。と称する人工ニューロンの登場により、ANN歴史が幕を開ける。形式ニューロンは、以下の数式で表される。

        N
H ( wxi - h )
       n=1

w
重みづけ(実数
x
信号(0 または 1)
h
閾値=負のバイアス実数
H
ヘヴィサイドの階段関数∈活性化関数(出は 0 又は 1)

今日ANNでは、「閾値」は正負が逆転して「バイアス」と称し、「ヘヴィサイドの階段関数」は同名の関数に限定せず「活性化関数」と称する様になったものの、上記の形式ニューロン今日ANNニューロン部分の原であるといえる。

形式ニューロンプログラミング言語Python3で擬似的に実装したコードを以下に記す。

import numpy

def like_formal_neuron(in_vec: numpy.ndarray, weight_vec: numpy.ndarray, threshold: float, actfun: object=lambda a: 1.0 if a > 0 else 0.0) -> float:
"""形式ニューロン的なもの。

Extended description of function.

Parameters
----------
in_vec : numpy.ndarray
ベクトル定します。
weight_vec : numpy.ndarray
重みベクトル定します。
threshold : float
閾値(負のバイアス)を定します。
actfun : object
活性化関数定します。
(初期値: ヘヴィサイドの階段関数)
Returns
-------
float
計算結果を出します。
"""
affine = numpy.dot(in_vec, weight_vec) - threshold
return actfun(affine)

# 閾値(負のバイアス
h = -1.0

# 重みベクトル
w = numpy.array([0, 1])

#ベクトル
x = numpy.array([0, 0])

# 計算して出
print(like_formal_neuron(in_vec=x, weight_vec=w, threshold=h)) # --> 1.0

後に、正解の出を得る為に前述の「重み」(w)と「バイアス」(h)を調節して行くという形の学習を備えたパーセプトロン英: Perceptron)が登場し、ANN機械学習への応用が始まった。だがしかし1969年人工知能学者マービン・ミンスキーらに「線分離可なものしか学習できない」と摘されたことによってANN機械学習の研究は下火となってしまい、以後暫くの間、サポートベクターマシン英: support vector machine, SVM)等の非ANN系が機械学習研究のとなった。

その後、ボルツマンマシン英: Boltzmann machine)や誤差逆伝播法英: Backpropagation)という多層パーセプトロンでも「重み」と「バイアス」の調整を容易にする手段が登場したことにより、「線分離可なものしか学習できない」をすることができた。2006年ジェフリー・ヒントンによってスタックオートエンコーダなど多層にネットワークを積み重ねる手法が提唱され、更に2012年には物体の認識率を競うILSVRCにいてジェフリー・ヒントン率いるトロン大学チームが多層ANN機械学習「ディープラーニング」によって従来の手法(エラー率26%)と較してエラー17%と実に10%もの劇的な進歩を遂げた。そして2015年10月AlphaGoで世間の注を浴び、多層ANN機械学習は「ディープラーニング」の呼称の定着と共に機械学習研究のとなった。


関連動画


■series/39912


関連商品


■az4839962251


関連コミュニティ・チャンネル


■co9320


関連項目



最終更新日: 19/09/11 08:56
タグ検索 パソコン版を見る


[0]TOP
ニコニコ動画モバイル
運営元:ドワンゴ