![見出し画像](https://assets.st-note.com/production/uploads/images/129966994/rectangle_large_type_2_92a6185e90c9c4888e770ba993300f47.jpeg?width=1200)
「建設・不動産のデジタル化 〜FMBIMの活⽤〜」:その17 【コラム2】 ニューラルネットワークの原理
①情報ネットワークモデル
情報ネットワークは文字通り入力された情報を出力へ流す仕組みのことをいう。図―1はx1,x2に情報が入力され→をたどってyへ出力される流れを示した図である。途中のwは重み値といい、sは流れてきた情報の仕分けをする部分だ。情報を流す仕方は次の式を通して下流へ送る。
![](https://assets.st-note.com/img/1707175482480-o3ojej46lL.png?width=1200)
![](https://assets.st-note.com/img/1707175513914-iOakDZvytT.png)
![](https://assets.st-note.com/img/1707175525614-tjs1z2vGLp.png)
x1、x2から入ってきた値は重み値を掛け合わされyの値になる。この値がプラスの場合y=1、マイナスの場合y=0になる。この変換をするのがh(x)という関数である。この関数を活性化関数という。式で書くと(3)式になる。
![](https://assets.st-note.com/img/1707175561386-WHQ9N0XXtb.png)
![](https://assets.st-note.com/img/1707175628605-Ylzort7hge.png)
h(x)が(2)か(3)かの違いでパーセプトロンかニューラルネットワークかの違いになる。
つまり、yの値が0,1で出力されるか、0~1の間の実数で出力されるかの違いである。
式(2)はステップ関数、一方(4)はシグモイド関数と呼ぶ。
ここで、bの役目は関数全体の位置を決める値である。入力値に重みを掛けそれらをプラスしバイアスをプラスして式全体の値が決まる。これが情報ネットワークの基本原理である。
![](https://assets.st-note.com/img/1707175649199-c3xYsQdo3k.png)
②ニューラルネットワークの仕組み
![](https://assets.st-note.com/img/1707176580248-7o27Q85wFr.png?width=1200)
![](https://assets.st-note.com/img/1707176624012-Qr5SvLylfd.png?width=1200)
情報ネットワークの原理が分かったところで、実際に入力情報がどのように判断されどのように答えにたどり着くか述べてみる。
図は4層構造の情報ネットワークの図である。列には1層、2層という名称がついている。図では3層が出力層と呼ばれる層で、入力された情報の特性に応じた値が出てくる。
![](https://assets.st-note.com/img/1707176643407-kBubPqlEHj.png)
図を式で記述すると式(5‘)となる。これをベクトル形式で書き表すと、式(5)になる。ニューラルネットワークは行列の計算として表すことができる。この式を詳しく図示すると図-5になる。
![](https://assets.st-note.com/img/1707176671822-Uda3HWIWZO.png)
ニューラルネットワークを構成している〇はニューロンと呼ばれ、ニューロンを構成している〇をノードという。
図では黒い矢印で表した流れが計算の流れであるが、ニュウラルネットワークではすべての入力値に対して同じ流れで計算される。
• 入力値は重みを掛け合わされ、次の層のニューロンへ伝えられる。
• 入力値は全てのニューロンへ伝えられる。
• 各層のニューロンでは前層の値はSigmoid関数に入力され次のニューロンへ流される。Sigmoid関数の特徴を生かして必要情報とそうでない情報をふるいにかける。入力情報がマイナスの大きな値ではSigmoid関数の出力は0に近いので、層を伝わる間に消えてしまう。
![](https://assets.st-note.com/img/1707176697702-XWbz4eek9g.png)
③ 出力関数について
入力値が層を伝わりながら、出力層に到達する。ニューラルネットワークの出力にはソフトマックス関数を使う。
ソフトマックス関数は分類に使われる出力関数である。
役割は流れてきた情報を目的に合致した値として誘導する役割がある。ソフトマックス関数は各最終層から流れてきた値に対して全体の割合で表示する関数である。
ソフトマックス関数は 指数関数を使い(eはネイピア数)、その値はニューロンの数がn個であり、そのk番目が (6)式で表される。
図は最終層から出力層へ情報が伝わり、出力層の値がy1、y2で算出される。
出力層のニューロンの数は解く問題に応じて適宜決められる。本文の工事名称の分類が4種類なら出力層のニューロンの数は4つになる。
![](https://assets.st-note.com/img/1707176751505-aD1UArSmCo.png)
![](https://assets.st-note.com/img/1707176776356-Pi2ipLK5Ed.png)
![](https://assets.st-note.com/img/1707176808015-lnZJegbsca.png)
④ 損失関数
損失関数はニューラルネットワークの精度を判定する機能を持つ。
一般的に使われる損失関数は2乗和誤差と交差エントロピー誤差である。
分類問題で使われるのは交差エントロピー誤差、式(7)で表される。
図のグラフは交差エントロピー誤差を示し、横軸がykを縦軸がEを表す。
交差エントロピー誤差はykが1に近くなればEは0に近づく。入力の値が特定の出力に確定する割合を数字で表す。
![](https://assets.st-note.com/img/1707176851673-J4Ke2SxdEE.png)
![](https://assets.st-note.com/img/1707176862073-nI2tDMFnRr.png)
入力された値はたくさんの重みで変換されながら出力層にたどり着く。たどり着いた値は交差エントロピー誤差により、ニューラルネットワークの性能を評価されることになる。途中の重み値を少し変化させると、出力値も変化する。
その変化が1から離れるなら、反対へ変化させればよい。各重みを少しずつ変化し、出力の交差エントロピー誤差をできるだけ0に近づけるように重みを調整する。
つまり、交差エントロピー誤差を最小にするようにたくさんの重みを調整して重み値を決めることが、入力値が特定の出力値に至る経路を決めることになる。
図のグラフの赤破線は左図の出力層の第3項目を交差エントロピーで表示した。
ニューラルネットワークではラベルt3=1、y3=0.6 ゆえにE=0.51である。
図ではy3=0.1の場合はE=2.3で右のグラフの黒破線になる。ニュウラルネットワークの精度が良ければ、出力値は“0”に近づくことになる。
ニューラルネットワークの原理はそれほど難しくはないが、ニューロンの数が数百万という数に上るので、計算が遅くなる。この演算のスピードを速めるために、ソフト的にもハード的にも様なざま工夫がされている。
![](https://assets.st-note.com/img/1707176886251-pkClCm1qny.png?width=1200)
ここから先は
![](https://assets.st-note.com/production/uploads/images/127117929/profile_cd5a7e0bd8e604bc76b1635d1ce32bb5.jpg?fit=bounds&format=jpeg&quality=85&width=330)
本書のタイトルを、あえて「建設・不動産のデジタル化〜FMBIMの活⽤〜」としたのは、建設・不動産の発注、所有、管理、経営の第⼀線にたつ多く…
この記事が気に入ったらチップで応援してみませんか?